quotearg: do not read beyond end of buffer
[gnulib.git] / ChangeLog
1 2013-05-11  Jim Meyering  <meyering@fb.com>
2
3         quotearg: do not read beyond end of buffer
4         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
5         end of an ARG for which no length was specified.  With an N-byte
6         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
7         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
8         via coreutils' misc/sort-debug-keys.sh test and detected by running
9         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
10         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
11         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
12         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
13         characters correctly."
14
15 2013-05-11  Daiki Ueno  <ueno@gnu.org>
16
17         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
18         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
19         compilation target is Mac OS X 10.6.
20         Problem reported by parafin and Andoni Morales in
21         <http://savannah.gnu.org/bugs/?37844> and
22         <http://lists.gnu.org/archive/html/bug-gettext/2013-05/msg00007.html>.
23
24 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
25
26         mkdir-p: remove assumptions about umask and mode
27         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
28         umask is 0, or that MODE is a subset of MODE_BITS.
29
30 2013-05-10  Eric Blake  <eblake@redhat.com>
31
32         maint.mk: catch more abuse of HAVE_DECL in syntax-check
33         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
34
35 2012-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
36
37         deps: require Automake >= 1.9.6 in generated Makefile fragments
38
39         That is the same minimal version required in the DEPENDENCIES file.
40         Moreover, the old code generated a requirement of Automake >= 1.5,
41         and that is an insanely outdated version.
42
43         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
44         * tests/havelib/rpathlx/Makefile.am: Likewise.
45         * tests/havelib/rpathly/Makefile.am: Likewise.
46         * tests/havelib/rpathlyx/Makefile.am: Likewise.
47         * tests/havelib/rpathlz/Makefile.am: Likewise.
48         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
49         * tests/havelib/rpathx/Makefile.am: Likewise.
50         * tests/havelib/rpathy/Makefile.am: Likewise.
51         * tests/havelib/rpathz/Makefile.am: Likewise.
52
53 2013-05-08  Eric Blake  <eblake@redhat.com>
54
55         bootstrap: AC_INIT may have more than four parameters
56         * build-aux/bootstrap (extract_package_name): Correctly extract
57         non-empty tarname field.  Avoid range in regex.
58         Based on a report by Sami Kerola <kerolasa@iki.fi>.
59
60 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
61
62         qacl: port to MS-Windows port of GNU Emacs
63         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
64         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
65         port of GNU Emacs.  Problem reported by Eli Zaretskii in
66         <http://bugs.gnu.org/14295#14>.
67
68 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
69
70         acl: include quote.h
71         * lib/copy-acl.c: Include quote.h.
72         * lib/set-acl.c: Likewise.
73
74 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
75
76         fchownat, renameat, unlinkat: update statat dependencies
77         These modules use statat and lstatat, not fstatat; so depend on
78         the statat module, which was split out recently from fstatat.
79         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
80         * modules/renameat: Likewise.  Also delete fstat.
81         URL: http://bugs.gentoo.org/468790
82
83 2012-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
84
85         Assume gnulib is checked out from Git, not CVS
86
87         In fact, access to the gnulib repository through CVS has been
88         disabled, or more precisely, got broken and was never restored; see:
89         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00008.html>
90
91         Note that support for CVS is not removed completely and unthinkingly
92         by this change: only support for CVS checkouts of gnulib itself is
93         removed.  For example, the 'bootstrap' script still cater to .cvsingore
94         files and CVS directories, for the benefit of those poor gnulib clients
95         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
96
97         * gnulib-tool: Simplify accordingly.
98         * posix-modules: Likewise.
99         * MODULES.html.sh: Likewise.
100         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
101         repository.
102         * doc/gnulib-intro.texi: Likewise.
103         * doc/gnulib-readme.texi: Likewise.
104         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
105         sample '.gitignore' file rather than a sample '.cvsignore'.
106         * NEWS: Update.
107         * m4/extensions.m4: While at it, remove a comment mistakenly referring
108         to "CVS Autoconf" rather than "git Autoconf".
109
110 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
111
112         utimensat-tests, etc.: try to fix some races
113         Problem reported by Bernhard Voelker in
114         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html>.
115         I don't know whether this patch fixes that race condition, but it
116         fixes *some* race conditions, so it should be a win.
117         * modules/chown-tests (Depends-on):
118         * modules/fchownat-tests (Depends-on):
119         * modules/fdutimensat-tests (Depends-on):
120         * modules/futimens-tests (Depends-on):
121         * modules/lchown-tests (Depends-on):
122         * modules/stat-time-tests (Depends-on):
123         * modules/utimens-tests (Depends-on):
124         * modules/utimensat-tests (Depends-on):
125         Depend on nanosleep, not usleep.
126         * modules/chown-tests (test_chown_LDADD):
127         * modules/lchown-tests (test_lchown_LDADD):
128         * modules/stat-time-tests (test_stat_time_LDADD):
129         New macro.
130         * modules/fchownat-tests (test_fchownat_LDADD):
131         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
132         * modules/futimens-tests (test_futimens_LDADD):
133         * modules/utimens-tests (test_utimens_LDADD):
134         * modules/utimensat-tests (test_utimensat_LDADD):
135         Add $(LIB_NANOSLEEP).
136         * modules/stat-time-tests (Files): Add tests/nap.h.
137         * tests/nap.h: Include <limits.h>, for INT_MAX.
138         (lt_mtime): Remove.
139         (diff_timespec): New function.
140         (get_stat): Rename from get_mtime.  All callers changed.
141         (nap_works): Determine the needed delay by inspecting the
142         file system's timestamp jumps; this should be more reliable.
143         Look at both mtime and ctime, and take the maximum of the two jumps.
144         (nap_works, guess_delay):
145         Return a nanosecond cound, not a microsecond count.
146         All callers changed.
147         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
148         failure.
149         (nap): Multiply the guess by 1.125, to accommodate the case where
150         the file system's clock is a bit slower than nanosleep's clock.
151         * tests/test-stat-time.c (BASE): New macro.
152         Include nap.h.
153         (nap): Remove; nap.h now defines this.  This removes a duplicate
154         implementation of 'nap'.
155
156         utimens, utimensat: work around Solaris UTIME_OMIT bug
157         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
158         Linux kernel 2.6.32 does.  Work around it in the same way.
159         * doc/posix-functions/futimens.texi (futimens):
160         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
161         * lib/utimens.c (fdutimens, lutimens):
162         * lib/utimensat.c (rpl_utimensat): Work around the bug.
163
164         gettext: now it's your responsibility to add -I$(top_builddir)/intl
165         Formerly, it was your responsibility to do this for all Makefile.ams
166         other than Gnulib's.  Now it's your responsibility to do it for
167         Gnulib's Makefile.am, too.
168         * NEWS: Document this.
169         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
170
171         acl: include errno.h to get errno
172         Reported by Daiki Ueno in
173         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00073.html>.
174         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
175
176 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
177
178         tests: don't assume getdtablesize () <= 10000000
179         * modules/cloexec-tests:
180         * modules/dup2-tests:
181         * modules/dup3-tests:
182         * modules/nonblocking-tests:
183         * modules/posix_spawn_file_actions_addclose-tests:
184         * modules/posix_spawn_file_actions_adddup2-tests:
185         * modules/posix_spawn_file_actions_addopen-tests:
186         * modules/unistd-safer-tests:
187         Depend on the getdtablesize module.
188         * tests/test-cloexec.c:
189         * tests/test-dup-safer.c:
190         * tests/test-dup2.c:
191         * tests/test-dup3.c:
192         * tests/test-fcntl.c:
193         * tests/test-nonblocking.c:
194         * tests/test-posix_spawn_file_actions_addclose.c:
195         * tests/test-posix_spawn_file_actions_adddup2.c:
196         * tests/test-posix_spawn_file_actions_addopen.c:
197         Don't assume getdtablesize () <= 10000000.
198
199 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
200
201         extern-inline: work around bug in Sun c99
202         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
203         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
204
205 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
206
207         qacl: new module, broken out from the acl module
208         This is for GNU Emacs, which wants the acl functions but does
209         not want 'error' invoked when they fail.
210         * lib/acl-internal.h: Do not include error.h, quote.h.
211         (ENOSYS, ENOTSUP): Remove; no longer needed.
212         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
213         * lib/acl.h: Include <stdbool.h>.
214         (acl_errno_valid): New function.
215         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
216         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
217         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
218         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
219         (ACL_INTERNAL_INLINE): Remove; no longer needed.
220         * lib/file-has-acl.c (file_has_acl):
221         * lib/qcopy-acl.c (qcopy_acl):
222         * lib/qset-acl.c (qset_acl):
223         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
224         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
225         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
226         lib/file-has-acl.c, m4/acl.m4 to qacl module.
227         Add lib/set-acl.c.
228         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
229         Add qacl.
230         (configure.ac): Move gl_FUNC_ACL to qacl module.
231         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
232         Rename set-mode-acl.c to set-acl.c.
233         * lib/acl-errno-valid.c: New file.
234         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
235         copy_acl function remains in copy-acl.c.
236         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
237         (_): Remove; not needed.
238         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
239         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
240         * modules/qacl: New file, moved from the old modules/acl.
241         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
242         Remove set-mode-acl.c, copy-acl.c.
243         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
244
245         alignof, intprops, malloca: port better to IBM's C compiler
246         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
247         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
248         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
249
250 2013-04-25  Daiki Ueno  <ueno@gnu.org>
251
252         wctype-h: fix gettext link error on mingw
253         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
254         <https://lists.gnu.org/archive/html/bug-gettext/2013-03/msg00086.html>.
255         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
256         rpl_towupper and rpl_towupper.
257
258 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
259
260         regex-tests, regex: allow glibc re_search behavior
261         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
262         re_search input data to make the multi-character collating element
263         in it clearly visible, and treat re_search return code 0 as valid.
264         * m4/regex.m4 (gl_REGEX): Likewise.
265
266 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
267
268         stdalign: doc fix
269         * doc/posix-headers/stdalign.texi (stdalign.h):
270         Gnulib doesn't support '_Alignof expr'.
271
272 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
273
274         stdalign: port to stricter ISO C11
275         ISO C11 says that _Alignof's operand must be a parenthesized type.
276         Problem reported by Eli Zaretskii in
277         <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00960.html>.
278         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
279         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
280
281 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
282
283         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
284         Problem reported by Marco Atzeri in
285         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00000.html>.
286         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
287         Simply delegate to the system <sys/select.h> in this case too.
288         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
289         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
290         be needed on Solaris either.
291         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
292         Simply delgate to the system <sys/time.h> in this case.
293
294 2013-03-19  Karl Berry  <karl@gnu.org>
295
296         * build-aux/gnupload: check for erroneous (with gnupload) use of
297         ftp-upload.gnu.org, tweak help.
298
299 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
300
301         copy-file, rpmatch: fix problems found by cppcheck
302         Reported by Arno Onken in
303         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00069.html>.
304         * lib/rpmatch.c (try): Fix memory leak.
305         * lib/copy-file.c: Include "ignore-value.h".
306         (qcopy_file_preserving): Ignore chown value.
307         * modules/copy-file (Depends-on): Add ignore-value.
308
309 2013-01-27  Jim Meyering  <jim@meyering.net>
310
311         prefix-gnulib-mk: give better diagnostics
312         * build-aux/prefix-gnulib-mk: Don't just "die".
313         Give better diagnostics upon failure.
314
315 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
316
317         putenv: port to Solaris 10
318         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
319         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
320         is not what is wanted here.
321         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
322         declaration, not for its existence.
323
324 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
325
326         mktime: fix configure typo
327         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
328
329 2013-03-12  Eric Blake  <eblake@redhat.com>
330
331         regex-tests: skip UTF-8 test on mingw
332         * modules/regex-tests (Depends-on): Add localcharset.
333         * tests/test-regex.c (main): Use it to skip test on mingw.
334
335 2013-03-11  Eric Blake  <eblake@redhat.com>
336
337         tests: make it easier to bypass alarm time in debugger
338         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
339         * tests/test-memmem.c (main): Likewise.
340         * tests/test-passfd.c (main): Likewise.
341         * tests/test-ptsname.c (main): Likewise.
342         * tests/test-ptsname_r.c (main): Likewise.
343         * tests/test-strcasestr.c (main): Likewise.
344         * tests/test-strstr.c (main): Likewise.
345
346         regex: port to mingw's recent addition of undeclared alarm
347         * doc/posix-functions/alarm.texi (alarm): Document that alarm
348         exists but still doesn't work in newer mingw.
349         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
350         not existence.  Ensure SIGALRM is not trapped.
351         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
352         * m4/regex.m4 (gl_REGEX): Likewise.
353         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
354         * tests/test-regex.c (main): Use correct probe for alarm.
355
356         putenv: avoid compilation warning on mingw
357         * lib/putenv.c (_unsetenv): Protect variable declaration.
358         (putenv): Fix indentation.
359
360 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
361
362         unistd: don't prevent Tru64 Unix from using gnulib strtod.
363         * lib/unistd.in.h: be careful not to include un-needed system
364         stdlib.h from here, because that prevents gnulib stdlib.h from
365         defining rpl_strtod correctly.
366
367 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
368
369         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
370         changesets, but for the 'precision 0' test.
371         * tests/test-vasprintf-posix.c (test_function): Don't insist on
372         round-to-even, since POSIX says rounding is implementation-defined
373         and OS X 10.8.2 rounds 1.51 to 1 here.
374
375         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
376         changeset.
377         * tests/test-vasprintf-posix.c (test_function): Don't insist on
378         round-to-even, since POSIX says rounding is implementation-defined
379         and OS X 10.8.2 rounds 1.5 to 1 here.
380
381 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
382
383         vasnprintf-posix-tests: allow rounding 1.5 to 1
384         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
385         round-to-even, since POSIX says rounding is implementation-defined
386         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
387         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00019.html>.
388
389         bootstrap: port to FreeBSD
390         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
391         that treat '--' differently.  Reported by Mats Erik Andersson in
392         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00012.html>.
393
394 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
395
396         regex: rename remaining __attribute calls to __attribute__.
397         2012-02-25 changed definition of __attribute, but left some uses
398         unchanged, preventing compilation of regex module on most non-gcc
399         environments.
400         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
401         (lookup_collation_sequence_value, build_range_exp)
402         (build_collating_symbol): Set attributes with newly renamed
403         __attribute__ decorator.
404         * lib/regex_internal.c (re_string_peek_byte_case)
405         (re_node_set_compare, re_node_set_contains): Likewise.
406         * lib/regexec.c (acquire_init_state_context): Likewise.
407
408 2013-03-06  Bruno Haible  <bruno@clisp.org>
409
410         execute: Revert last change, but use a different condition.
411         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
412         on Windows.
413
414 2013-03-05  Eric Blake  <eblake@redhat.com>
415
416         execute: drop dead code
417         * lib/execute.c (nonintr_close, nonintr_open): Delete.
418
419 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
420
421         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
422         * m4/non-recursive-gnulib-prefix-hack.m4
423         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
424         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
425         <http://bugs.gnu.org/10305#237>.
426
427 2013-03-04  Eric Blake  <eblake@redhat.com>
428
429         test-getsockopt: avoid compiler warning
430         * tests/test-getsockopt.c (includes): Ensure close is declared.
431
432 2013-03-02  Bruno Haible  <bruno@clisp.org>
433
434         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
435         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
436
437 2013-03-02  Bruno Haible  <bruno@clisp.org>
438
439         gettext: Update to version 0.18.2.
440         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
441         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
442                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
443
444 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
445
446         regex: merge patches from libc
447
448         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
449         * lib/regex_internal.h (__attribute__): Rename from __attribute.
450         All uses changed.
451         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
452         (re_string_wchar_at, re_string_elem_size_at):
453         Mark function as possibly unused.
454
455         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
456         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
457         elements compare against the byte sequence of it, not its name.
458
459 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
460
461         putenv: port better to native Windows
462         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
463         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
464         (_unsetenv): Use _putenv if available.
465         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
466         a bit less likely to cause damage.
467         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
468         Fix the wrong value with SetEnvironmentVariable.
469         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
470         code better.
471
472 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
473
474         regex: ignore old-style-definition warnings
475         * lib/regex.c: Add pragma to ignore these warnings.
476         Problem reported for GNU tar by Pavel Raiskup.
477
478 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
479
480         getcwd: support coreutils better
481         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
482         but this might not be correct in coreutils, which disables
483         the raw decl checks.  Problem reported by Nagendra in
484         <http://bugs.gnu.org/10305#192>.
485         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
486         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
487         Test the getcwd function, not any macro, since getcwd.c wants the
488         function.
489         * m4/getcwd.m4 (gl_FUNC_GETCWD):
490         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
491         compile, as might happen if there's a macro but no function.
492
493         strtod: support coreutils better
494         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
495         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
496         disables the raw decl checks.  This assumes there is an underlying
497         strtod, but that's a safe assumption these days.
498         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
499
500         mountlist: port to HP NonStop
501         Reported by Joachim Schmitz in
502         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00084.html>.
503         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
504         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
505
506 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
507
508         extern-inline: avoid compilation error with HP-UX cc
509         Reported by Richard Lloyd in
510         <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
511         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
512         Suppress extern inline with HP-UX cc.  This should be safe,
513         though it may hurt performance.  Perhaps someone with some HP-UX
514         experience can come up with a higher-performance fix.
515
516 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
517
518         putenv: fix heap corruption with mixed putenv/_putenv
519         Problem reported by Michael Goffioul in
520         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00061.html>.
521         * lib/putenv.c (putenv) [HAVE__PUTENV]:
522         Rely on _putenv to allocate the new environment.
523         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
524         * modules/putenv (configure.ac): Use it.
525
526 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
527
528         unsetenv etc.: port to Solaris 11 + GNU Emacs
529         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
530         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
531         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
532         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
533         idea but is too painful to fix right now), and without this gnulib
534         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
535         compiling unsetenv.c on Solaris 11.  Fix the problem for
536         unsetenv.c, and fix other similar occurrences.
537
538 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
539
540         secure_getenv: fix C++ declaration typo
541         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
542         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
543         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00057.html>.
544
545 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
546
547         careadlinkat: stop exporting careadlinkatcwd
548         Only Emacs used it directly, and Emacs no longer needs it.
549         * NEWS: Document this simplification.
550         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
551         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
552         for readlink.
553         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
554         Don't include stdlib.h; no longer needed.
555         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
556         * lib/relocwrapper.c: Adjust comment to match new dependencies.
557         * modules/areadlink (Depends-on): Add readlink.
558         (Maintainer): Add self.
559         * modules/careadlinkat (Depends-on): Remove readlink.
560
561         extensions: port better to HP-UX
562         This is merged from git Autoconf.
563         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
564         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
565         so that it's compatible with the value used when compiling.
566
567         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
568         Problem reported by Mats Erik Andersson in
569         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00051.html>.
570         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
571         openpty function exists, not merely when we intend to replace it.
572         This corrects the 2013-01-31 patch, which mistakenly defined
573         HAVE_OPENPTY even on hosts that lacked it.
574
575 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
576
577         secure_getenv: fix include typo
578         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
579
580         secure_getenv: port better to FreeBSD and Solaris
581         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
582         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
583         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
584         This works better on BSDish platforms.
585         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
586         Test for issetugid if __secure_getenv is missing.
587
588 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
589
590         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
591         Some of these changes are merged in from git Autoconf.
592         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
593         When deciding whether to define _XOPEN_SOURCE, inspect the
594         preprocessor macro __hpux instead of the more-heavyweight
595         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
596         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
597         as the key for __EXTENSIONS__.
598
599         unistd: avoid namespace pollution on non-glibc systems
600         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
601         This avoids namespace pollution on non-glibc systems, by causing
602         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
603         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
604         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00027.html>.
605
606 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
607
608         tmpdir: use secure_getenv
609         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
610         Define to secure_getenv, not getenv.
611         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
612         as that's now secure_getenv's job.
613         * modules/tmpdir (Depends-on): Add secure_getenv.
614
615         tempname: use secure_getenv
616         * lib/tempname.c (__secure_getenv) [!_LIBC]:
617         Define to secure_getenv, not getenv.
618         * modules/tempname (Depends-on):
619         Add secure_getenv.
620
621         secure_getenv: new module
622         * MODULES.html.sh (Extra functions based on ANSI C 89):
623         Add secure_getenv.
624         * doc/glibc-functions/secure_getenv.texi: New file.
625         * doc/gnulib.texi: Include it.
626         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
627         New files.
628         * lib/stdlib.in.h (secure_getenv): New decl.
629         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
630         * modules/stdlib (stdlib.h):
631         Add secure_getenv checks.
632
633 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
634
635         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
636         Reported for OS X 10.8.2 by Assaf Gordon in
637         <http://bugs.gnu.org/13516>.
638         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
639         !HAVE_OPENAT && !HAVE_FDOPENDIR.
640         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
641         so that they can be kept in sync more easily.  Avoid PATH_MAX
642         test on the Hurd.  Sync from test-getcwd.c for errno tests after
643         mkdir or chdir failure.
644         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
645         lib/getcwd.c.
646         (test_abort_bug): Do not test for the deep directory bug unless we
647         have openat support.  Avoid PATH_MAX test on the Hurd.
648
649         regex-tests, regex: fix bug: memset undeclared
650         * tests/test-regex.c: Don't include regex.h twice.  Include
651         string.h, to declare memset.  Christensen's report also mentioned
652         this issue.
653         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
654         test-regex.c, to avoid future problems like this.  Remove
655         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
656         twice.
657
658         regex-tests: fix link errors on older Solaris
659         These need to link with @LIBINTL@ to get libintl_gettext.
660         Problem reported by Tom G. Christensen in
661         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
662         * modules/regex-tests (test_regex_LDADD): New macro.
663
664 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
665
666         regex-tests: new module
667         * modules/regex-tests, tests/test-regex.c: New files.
668
669         regex: fix off-by-one error in configure test
670         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
671
672 2013-01-31  Eric Blake  <eblake@redhat.com>
673
674         regex: avoid infinite configure test
675         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
676
677 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
678
679         openpty: fix bug where HAVE_OPENPTY wasn't defined
680         See the thread starting at:
681         http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
682         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
683         openpty function exists, not merely when we intend to replace it.
684
685 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
686
687         sys_time: port to Solaris 2.6
688         There is a circularity problem on Solaris 2.6, where <time.h> includes
689         <sys/time.h> for struct timespec.  The include nesting is gnulib
690         <time.h>, system <time.h>, gnulib <sys/time.h>, system
691         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
692         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
693         <sys/siginfo.h>; the last, innermost file needs struct
694         timestruc_t, which is defined in <sys/time.h>, which has not been
695         fully parsed.  Problem reported by Tom G. Christensen in
696         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
697         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
698         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
699         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
700         uses split double-inclusion guards.
701
702 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
703
704         regex: test for buffer overrun
705         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
706         for the just-fixed regex bug.
707
708 2013-01-29  Andreas Schwab  <schwab@suse.de>
709
710         regex: fix buffer overrun in regexp matcher [BZ #15078]
711         * lib/regexec.c (extend_buffers): Add parameter min_len.
712         (check_matching): Pass minimum needed length.
713         (clean_state_log_if_needed): Likewise.
714         (get_subexp): Likewise.
715
716 2013-01-28  Pádraig Brady  <P@draigBrady.com>
717
718         mountlist: don't consider "devtmpfs" as dummy
719         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
720         as there is storage associcated with it.
721
722 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
723
724         futimens-tests, utimens-tests: Depend on gettext.
725         This works around a problem introduced in my 2013-01-12 patch,
726         which added @LIBINTL@ to these modules.
727         * modules/futimens-tests (Depends-on):
728         * modules/utimens-tests (Depends-on): Add gettext.
729
730 2013-01-26  Eric Blake  <eblake@redhat.com>
731
732         test-getpeername: fix typo
733         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
734
735 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
736
737         bootstrap: remove the need for a sorted .gitignore file
738         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
739         rename to insert_if_absent(), so that we don't need or generate
740         a sorted .gitignore file.  We do require a .gitignore with no
741         existing duplicate entries and enforce that.
742         (sort_patterns): Remove this function as we now use the simpler
743         technigue of inserting blacklist entries at the top of the file,
744         assuming gnulib won't be inserting !whitelist entries.
745
746 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
747
748         readlinkat: don't depend on gl_FUNC_OPENAT
749         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
750         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
751         renameat.m4, symlinkat.m4; but one thing at a time.
752
753         statat: new module, split out from fstatat
754         GNU Emacs needs the POSIX-specified fstatat, but not the
755         gnulib-specified statat and lstat.  Split the latter two into a
756         new module 'statat'.
757         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
758         * lib/openat.h, lib/statat.c (STATAT_INLINE):
759         Rename from FSTATAT_INLINE. All uses changed.
760         * modules/fstatat (Files): Remove lib/statat.c.
761         (gl_MODULE_INDICATOR([fstatat])): Remove.
762         (lib_SOURCES): Remove.
763         (Maintainer): Add self.
764         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
765         * tests/test-fstatat.c (BASE): Don't define if already defined.
766         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
767
768 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
769
770         tests: don't assume fd 99 is closed
771         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
772         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
773         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
774         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
775         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
776         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
777         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
778         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
779         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
780         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
781         * tests/test-fwrite.c, tests/test-getpeername.c:
782         * tests/test-getsockname.c, tests/test-getsockopt.c:
783         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
784         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
785         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
786         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
787         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
788         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
789         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
790         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
791         * tests/test-unlinkat.c, tests/test-unlockpt.c:
792         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
793         Close file descriptor 99, instead of assuming it's already closed.
794
795 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
796
797         stpncpy: port to OS X 10.8
798         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
799         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
800
801 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
802
803         unistd: port to recent mingw
804         * lib/unistd.in.h: Remove special invocation convention for mingw,
805         which breaks for the latest mingw version.  See John W. Eaton in
806         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
807
808         largefile: port better to Mac OS X 10.5
809         This patch is backported from Autoconf git.
810         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
811         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
812         with ino_t size being different for configuration time versus
813         build/run time.  Problem reported by PHO in
814         <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
815
816 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
817
818         doc: clarify -Werror
819         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
820         clarify that it's intended for developers, not for ordinary builds,
821         and mention --enable-gcc-warnings as one possible use.
822
823 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
824
825         stdint: fix build with Android's Bionic fox x86
826         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
827         was already included as _SSIZE_T_DEFINED_ might also be defined
828         in include/machine/_types.h, which is included by stdio.h
829
830 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
831
832         net_if-tests: port to Solaris 7 + GCC 3.4.6
833         Problem reported by Tom G. Christensen in
834         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
835         * tests/test-net_if.c (ni): Move to next the code that uses it,
836         so that it's declared only if needed.
837
838 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
839
840         net_if-tests: port to older Solaris
841         Problem reported by Tom G. Christensen in
842         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
843         * modules/net_if-tests (NET_IF_LIB): New substitution.
844         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
845         (HAVE_IF_NAMEINDEX): New C macro.
846         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
847
848         system-quote-tests: port to older Solaris
849         Problem reported by Tom G. Christensen in
850         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
851         * tests/test-system-quote-child.c (fopen, fread): Undef.
852
853         c-xvasprintf etc.: fix link errors on older Solaris
854         These need to link with @LIBINTL@ to get libintl_gettext.
855         Problem reported by Tom G. Christensen in
856         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
857         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
858         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
859         * modules/futimens-tests (test_futimens_LDADD):
860         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
861
862 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
863
864         locale: port to Solaris 2.6 and 7 + GNU gettext
865         * lib/locale.in.h: Just include_next <locale.h> when
866         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
867         when combining the localename module with GNU gettext 0.18.2.
868         Problem reported by Tom G. Christensen in
869         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
870
871 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
872
873         stdlib: port to Solaris 2.6
874         Also, the code worked on Solaris 7 through 9 only by accident.
875         Problem reported by Tom G. Christensen in
876         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
877         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
878         simply include the system stdlib.h.
879         * lib/getopt.in.h (__need_system_stdlib_h):
880         * lib/pthread.in.h (__need_system_stdlib_h):
881         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
882         Define when including <stdlib.h>, to avoid problems at least for
883         the pthread case on Solaris 2.6 and 7.  These .h files can get by
884         with the system stdlib.h.
885
886 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
887
888         doc: update main copyright year
889         * doc/gnulib.texi: Update copyright date.
890
891         doc: improve ISO 8601 discussion
892         * doc/parse-datetime.texi (Combined date and time of day items):
893         Specify more carefully what formats are supported and what is
894         done with excess precision.
895
896 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
897
898         doc: avoid small caps
899         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
900         they're more trouble than they're worth.  Suggested by Karl Berry
901         in <http://bugs.gnu.org/13360>.
902
903         regex: conform to strict C
904         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
905         From Aharon Robbins.
906
907         gnulib-tool: fix incompatibility with autopoint 0.18.2
908         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
909         Problem reported by Tom G. Christensen in
910         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.
911
912 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
913
914         fprintftime: bring back and reword fwrite comment
915         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
916
917         stdio: remove now-unnecessary stdio.c
918         Since stdio.in.h no longer uses inline functions, we no longer
919         need to compile the extern versions.
920         * lib/stdio.c: Remove.
921         * modules/stdio (Files): Remove lib/stdio.c.
922         (lib_SOURCES): Remove.
923
924         unicodeio: depend on stdio, not ignore-value
925         * lib/unicodeio.c: Do not include ignore-value.h.
926         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
927         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
928
929         fprintftime: depend on stdio, not ignore-value
930         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
931         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
932         since the stdio module arranges to silence that warning now.
933         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
934
935 2012-10-04  Simon Josefsson  <simon@josefsson.org>
936
937         stdint-tests: Fix expanded-before-required-warning.
938         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
939
940 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
941
942         fwrite: silence __wur only for older glibc versions
943         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
944         This will help us remove this workaround some time in the far future.
945
946 2013-01-03  Eric Blake  <eblake@redhat.com>
947
948         fwrite: silence __wur without using inline
949         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
950         just gcc, and in a way that avoids inline issues.
951         * modules/stdio (Depends-on): Drop extern-inline.
952
953 2013-01-03  Jim Meyering  <jim@meyering.net>
954
955         update-copyright: avoid copyright notice date corruption
956         Given a sequence of copyright year numbers in which the final
957         one was a two-digit number that happened to be a substring of
958         a preceding four-digit year number, we would mistakenly update
959         the substring (from two- to four-digit) rather than the two-digit
960         number at the end, which, combined with the addition of the current
961         4-digit year number would yield two 5-digit year numbers, e.g.,
962         here, it would convert the first "99" to "1999, 2013" rather than
963         the final one:
964           1991, 99
965           11999, 20131, 1999
966         * build-aux/update-copyright: Tighten a regexp.
967         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
968         Reported by Joseph Myers in
969         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
970
971 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
972
973         regex: omit needless signed-pointer casts
974         * lib/regcomp.c (build_charclass, build_charclass_op):
975         Use char *, not unsigned char *, for class name and extra.
976         The char values are always nonnegative so there's no need to
977         insist on unsigned char * here, and using char * removes the need
978         for casts.  Reported by Aharon Robbins in
979         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
980
981         regex: support Gawk, which never uses alloca
982         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
983         Do not include in this case.  Gawk doesn't supply a substitute
984         alloca.h and doesn't need one.
985
986         regex: port __libc_lock_define usage to C89
987         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
988         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
989         does not conform to C89, as it has an empty macro argument.
990         Reported by Aharon Robbins in
991         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
992
993 2013-01-01  Eric Blake  <eblake@redhat.com>
994
995         maint: update all copyright year number ranges
996         Run "make update-copyright".
997
998         version-etc: bump copyright year reported in --version
999         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
1000
1001 2012-12-31  Eric Blake  <eblake@redhat.com>
1002
1003         sigprocmask-tests: skip test if pid is unexpectedly large
1004         * tests/test-sigprocmask.c (main): Add range check.
1005
1006         git-version-gen: avoid test -z portability glitch
1007         * build-aux/git-version-gen: Prefer portable test spelling, since
1008         git-version-gen is run on more than just developer machines.
1009
1010 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
1011
1012         git-version-gen: add --fallback option to use if git is not present
1013         * build-aux/git-version-gen: Add support for the new option --fallback,
1014         which comes into play when there is no $tarball_version_file and
1015         git is not working.
1016         (scriptversion): Update.
1017
1018         maint.mk: handle missing git with more grace
1019         * top/maint.mk (no-submodule-changes, public-submodule-commit):
1020         Quietly proceed if git is not present.
1021
1022 2012-12-31  Eric Blake  <eblake@redhat.com>
1023
1024         dup2: work around cygwin bug
1025         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
1026         * lib/dup2.c (rpl_dup2): Work around it.
1027         * doc/posix-functions/dup2.texi (dup2): Document it.
1028
1029 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
1030
1031         regex: remove unnecessary dependency on localcharset.h
1032         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
1033         hasn't been needed for years.
1034         * modules/regex (Depends-on): Remove localcharset.
1035
1036         regex: revert single-byte change
1037         * lib/regexec.c (check_node_accept_bytes): Revert previous change
1038         to this function.  This was alredy fixed in a different way, at
1039         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
1040         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
1041         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
1042
1043         regex: simplify based on Gawk version
1044         * lib/regex_internal.c (re_dfa_add_node): Simplify.
1045         Reported by Aharon Robbins in
1046         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1047
1048 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
1049
1050         regex: check that pattern char is single-byte
1051         Reported by Aharon Robbins in
1052         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1053         * lib/regexec.c (check_node_accept_bytes):
1054         Return 0 if the pattern string has a multibyte character here.
1055
1056         regex: implement rational ranges
1057         Reported by Aharon Robbins in
1058         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1059         * lib/regcomp.c (build_range_exp) [!_LIBC]:
1060         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
1061         Implement rational ranges.
1062
1063         regex: avoid redefining __wctype
1064         Reported by Aharon Robbins in
1065         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1066         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
1067         #undef before defining.
1068
1069         regex: port to hosts where malloc (0) == NULL
1070         Reported by Aharon Robbins in
1071         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1072         * lib/regex_internal.c (re_node_set_alloc):
1073         Don't assume that malloc (0) yields nonnull.
1074         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
1075         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
1076         * modules/regex (Files): Add m4/eealloc.m4.
1077
1078         regex: port to C89
1079         Reported by Aharon Robbins in
1080         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1081         * lib/regcomp.c (init_word_char): Declaration before statement.
1082
1083         regex: merge glibc changes
1084         Also, copy the license wording from glibc.  This simplifies
1085         merging changes.  gnulib-tool will change the wording to GPL as
1086         appropriate, when importing it to other packages.  The only
1087         glibc change made since the last merge, which needs merging, is:
1088         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
1089         * lib/regex_internal.h (gettext): Remove use of INTUSE.
1090
1091         * users.txt: Add Emacs.
1092
1093         doc: omit mention of version when not needed
1094         * doc/gnulib-intro.texi (Portability and Application Code):
1095         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
1096         Don't mention particular dates or versions when not necessary, so
1097         that the documentation won't go out of date so quickly.
1098
1099         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
1100
1101 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
1102
1103         bootstrap: pass --force to autoreconf.
1104         * build-aux/bootstrap (AUTORECONFFLAGS): New.
1105         Add "--force" so that Automake's ylwrap and other such tools
1106         be updated at each bootstrap invocation.
1107         Use it.
1108
1109 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
1110
1111         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
1112         The earlier patch forgot to update one of the #if conditions, causing
1113         a problem on Debian testing i386 reported by Mats Erik Andersson
1114         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
1115         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
1116         (__argp_fmtstream_puts, argp_fmtstream_puts)
1117         (__argp_fmtstream_write, argp_fmtstream_write)
1118         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
1119
1120         * doc/gnulib-readme.texi: Minor fixups.
1121         (Portability guidelines): Modernize URLs.  Remove some repetition.
1122         (Indent with spaces not TABs): Reword to avoid too-long lines.
1123         Remove some '@ifset standalone' stuff that isn't used.
1124
1125         * doc/gnulib-readme.texi (Portability guidelines):
1126         ctype.h, not ctime.h.
1127
1128         Correct name of POSIX.1-2001.
1129         * doc/posix-functions/fgetc.texi (fgetc):
1130         * doc/posix-functions/fgets.texi (fgets):
1131         * doc/posix-functions/fread.texi (fread):
1132         * doc/posix-functions/fscanf.texi (fscanf):
1133         * doc/posix-functions/getc.texi (getc):
1134         * doc/posix-functions/getchar.texi (getchar):
1135         * doc/posix-functions/scanf.texi (scanf):
1136         POSIX.1-2001, not POSIX-2001.
1137
1138         doc: move README into manual
1139         * README: Move contents to new file doc/gnulib-readme.texi.
1140         Replace with a one-line summary.
1141         * doc/gnulib.texi (Brief Overview): New section,
1142         with old intro preface.  Include gnulib-readme.texi for contents.
1143         (Philosophy): Rename from "Introduction", since this
1144         section no longer introduces the rest.  Write a new preface.
1145         * doc/gnulib-readme.texi: New file, with the old contents of
1146         README texinfo-ized.  This way, the README info appears
1147         in the online and printed manual.
1148
1149 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
1150
1151         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
1152         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
1153         c_vasprintf() prototype.
1154
1155 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
1156
1157         c-vasprintf: Fix "empty declaration" warning reported by GCC.
1158         * lib/c-vasprintf.h: Remove stray semicolon.
1159
1160 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
1161
1162         gettext: avoid obsolete macro AM_PROG_MKDIR_P
1163         It is obsolete and is planned to be removed from Automake 1.14; see
1164         <http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
1165         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
1166         (installdirs-data, installdirs-data-yes):
1167         Use $(MKDIR_P), not $(mkdir_p).
1168         * m4/intl.m4 (AM_INTL_SUBDIR):
1169         * m4/po.m4 (AM_PO_SUBDIRS):
1170         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
1171
1172 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
1173
1174         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
1175         On this platform, we are not optimizing but we are using
1176         the substitute for extern inlines, so compile as if
1177         C99-style extern inline, or a substitute, is available.
1178         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
1179         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
1180         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
1181         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
1182         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
1183         Declare as ARGP_FS_EI, not as extern.
1184         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
1185         (__option_is_short, _option_is_end, __option_is_end)
1186         [!_LIBC && __USE_EXTERN_INLINES]:
1187         Declare as ARGP_EI, not as extern.
1188
1189 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
1190
1191         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
1192         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
1193         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
1194         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
1195         ...), as the latter is fatal with older Autoconfs.
1196         Problem reported and fix suggested by Eric Blake in thread starting at
1197         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
1198
1199 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1200
1201         AC_PROG_MKDIR_P: don't workaround if not buggy
1202         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
1203         Define only for Autoconf versions before 2.62.
1204         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
1205         undocumented m4_PACKAGE_VERSION, for consistency with the
1206         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
1207         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
1208         was introduced in 2.62.
1209
1210 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
1211
1212         New 'c-*printf' modules for formatted output in C locale.
1213
1214         New module 'c-vasnprintf'.
1215         * modules/c-vasnprintf: New file.
1216         * lib/c-vasnprintf.c: New file.
1217         * lib/c-vasnprintf.h: New file.
1218
1219         New module 'c-snprintf'.
1220         * modules/c-snprintf: New file.
1221         * modules/c-snprintf-tests: New file.
1222         * lib/c-snprintf.c: New file.
1223         * lib/c-snprintf.h: New file.
1224         * tests/test-c-snprintf.c: New file.
1225         * tests/test-c-snprintf.sh: New file.
1226
1227         New module 'c-vsnprintf'.
1228         * modules/c-vsnprintf: New file.
1229         * modules/c-vsnprintf-tests: New file.
1230         * lib/c-vsnprintf.c: New file.
1231         * lib/c-vsnprintf.h: New file.
1232         * tests/test-c-vsnprintf.c: New file.
1233         * tests/test-c-vsnprintf.sh: New file.
1234
1235         New module 'c-vasprintf'.
1236         * modules/c-vasprintf: New file.
1237         * modules/c-vasprintf-tests: New file.
1238         * lib/c-asprintf.c: New file.
1239         * lib/c-vasprintf.c: New file.
1240         * lib/c-vasprintf.h: New file.
1241         * tests/test-c-vasprintf.c  +: New file.
1242         * tests/test-c-vasprintf.sh: New file.
1243
1244         New module 'c-xvasprintf'.
1245         * modules/c-xvasprintf: New file.
1246         * modules/c-xvasprintf-tests: New file.
1247         * lib/c-xasprintf.c: New file.
1248         * lib/c-xvasprintf.c: New file.
1249         * lib/c-xvasprintf.h: New file.
1250         * tests/test-c-xvasprintf.c: New file.
1251         * tests/test-c-xvasprintf.sh: New file.
1252
1253 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1254
1255         argp: better 'inline'
1256         Use extern-inline module to declare extern inline functions.
1257         This avoids some bogus warning diagnostics.  Problem discovered
1258         when modifying GNU tar to use the manywarnings module.
1259         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
1260         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
1261         Define based on extern-inline.
1262         * modules/argp (Depends-on): Add extern-inline.
1263
1264 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1265
1266         filemode, sys_stat: Handle MPX files a la AIX.
1267         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
1268         * lib/sys_stat.in.h (S_ISMPX): New macro.
1269         * tests/test-sys_stat.c: Add tests for MPX files.
1270
1271 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
1272
1273         x-to-1: honor $PERL
1274         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
1275         a chance to use his preferred version of Perl.  This is typically
1276         required by Darwin users whose default /usr/bin/perl does not have all
1277         the libraries required by help2man, and who need to use their MacPorts
1278         installation of Perl instead.
1279
1280 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1281
1282         gnu-web-doc-update: add all the new files, even in new directories
1283         See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
1284         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
1285         Use it.
1286         (main): Don't use cvsutils to get the list of unknown files,
1287         just add all the existing files and directories.
1288
1289 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1290
1291         gnu-web-doc-update: improve --help
1292         * build-aux/gnu-web-doc-update: Move comments into --help.
1293
1294 2012-12-07  Eric Wong  <normalperson@yhbt.net>
1295
1296         mountlist: recognize more "dummy" file systems
1297         * lib/mountlist.c (ME_DUMMY_0):
1298         Add these dummy FS names to the list:
1299         - "debugfs" virtual filesystem for kernel debugging
1300         - "devpts" PTY slave filesystem
1301         - "devtmpfs" device filesystem on top of tmpfs/ramfs
1302         - "fusectl" control filesystem for FUSE
1303         - "mqueue" enumerates POSIX message queues
1304         - "rpc_pipefs" kernel <-> userspace bridge for NFS
1305         - "sysfs" is for exporting kernel objects
1306         - "devfs" device filesystem for Linux 2.4 and FreeBSD
1307
1308 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
1309
1310         extern-inline: avoid incompatibility with Darwin Libc
1311         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
1312         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
1313         Problem reported by Akim Demaille in
1314         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
1315
1316 2012-12-11  Simon Josefsson  <simon@josefsson.org>
1317
1318         gnupload: Work with GnuPG using gpg-agent (for smartcards).
1319         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
1320         let it handle password prompting.
1321
1322 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
1323
1324         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
1325         * lib/canonicalize.c (canonicalize_filename_mode):
1326         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
1327         fetching the current directory.  Don't overrun the beginning of
1328         rpath if there's no slashes after the MS-Windows drive letter.
1329
1330 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1331
1332         maint.mk: avoid extra forks
1333         * top/maint.mk (_cfg_mk): The GNU make manual documents that
1334         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
1335         So use that instead of "$(shell test -f FILE && echo FILE)".
1336
1337 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
1338
1339         vasnprintf: fix ASCII_ONLY typo
1340         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1341         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1342         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1343         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
1344         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
1345
1346 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
1347
1348         list, oset, xlist, xoset: fix extern inline issue with C99
1349         This was introduced by my recent changes for 'inline'.
1350         Problem reported for gettext by Daiki Ueno in
1351         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
1352         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
1353         (gl_list_nx_create, gl_list_size, gl_list_node_value)
1354         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
1355         (gl_list_previous_node, gl_list_get_at)
1356         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
1357         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
1358         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
1359         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
1360         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
1361         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
1362         (gl_list_iterator_free, gl_sortedlist_search)
1363         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
1364         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
1365         (gl_sortedlist_remove):
1366         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
1367         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
1368         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
1369         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
1370         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
1371         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
1372         (gl_list_add_at, gl_sortedlist_add):
1373         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
1374         Wrap these extern decls inside "#if 0", because they are implemented
1375         as inline functions, and extern inline is not what's wanted here.
1376         It would simplify these .h files to remove the extern decls entirely,
1377         although a downside would be less-clear separation between
1378         specification and implementation.
1379
1380 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
1381
1382         sys_stat: no 'static inline'
1383         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
1384         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
1385
1386         extern-inline: no 'static inline'
1387         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
1388         Do not require AC_C_INLINE.
1389         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
1390         'static inline', for older compilers.
1391
1392         snippet/warn-on-use: no 'static inline'
1393         * build-aux/snippet/warn-on-use.h:
1394         Remove unnecessary 'inline' in comment.
1395
1396         rbtree-list, rbtreehash-list: no 'static inline'
1397         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
1398         * lib/gl_anytree_list2.h (node_at):
1399         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
1400         (gl_oset_first, add_nodes_to_buckets):
1401         Now static, not static inline.
1402
1403         regex: no 'static inline'
1404         * lib/regex_internal.c (calc_state_hash):
1405         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
1406         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
1407         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
1408         Now static, not static inline.
1409         (inline) [__GNUC__ < 3 && _LIBC]:
1410         Remove macro; no longer needed.
1411
1412         xvasprintf: no 'static inline'
1413         * lib/xvasprintf.c (xstrcat):
1414         Now static, not static inline.
1415         * m4/xvasprintf.m4 (gl_XVASPRINTF):
1416         Do not require AC_C_INLINE.
1417
1418         parse-datetime, parse-duration: no 'static inline'
1419         * lib/parse-datetime.y (to_uchar):
1420         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
1421         (scale_n_add):
1422         Now static, not static inline.
1423         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
1424         * modules/parse-duration (configure.ac):
1425         Do not require AC_C_INLINE.
1426
1427         getaddrinfo: no 'static inline'
1428         * lib/getaddrinfo.c (validate_family):
1429         Now static, not static inline.
1430         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
1431         Do not require AC_C_INLINE.
1432
1433         ftruncate, fts, lstat, openat, raise: no 'static inline'
1434         * lib/ftruncate.c (chsize_nothrow):
1435         * lib/fts.c (opendirat, diropen):
1436         * lib/lstat.c (orig_lstat):
1437         * lib/openat.c (orig_openat):
1438         * lib/raise.c (raise_nothrow):
1439         Now static, not static inline.
1440         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
1441         * m4/fts.m4 (gl_FUNC_FTS_CORE):
1442         * m4/lstat.m4 (gl_PREREQ_LSTAT):
1443         * m4/openat.m4 (gl_PREREQ_OPENAT):
1444         * m4/raise.m4 (gl_PREREQ_RAISE):
1445         Do not require AC_C_INLINE.
1446
1447         fflush, stat: no 'static inline'
1448         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
1449         (clear_ungetc_buffer, disable_seek_optimization)
1450         (restore_seek_optimization, update_fpos_cache):
1451         * lib/stat.c (orig_stat):
1452         Now static, not static inline.
1453         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
1454         (update_fpos_cache):
1455         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
1456         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
1457         * m4/stat.m4 (gl_PREREQ_STAT):
1458         Do not require AC_C_INLINE.
1459
1460         error, filevercmp: no 'static inline'
1461         * lib/error.c (is_open, flush_stdout):
1462         * lib/filevercmp.c (order):
1463         Now static, not static inline.
1464         * m4/error.m4 (gl_PREREQ_ERROR):
1465         * modules/filevercmp (configure.ac):
1466         Do not require AC_C_INLINE.
1467
1468         dup, execute, fatal-signal, etc.: no 'static inline'
1469         * lib/dup.c (dup_nothrow):
1470         * lib/execute.c (nonintr_close, nonintr_open):
1471         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
1472         * lib/fopen.c (orig_fopen):
1473         * lib/freadseek.c (freadptrinc):
1474         * lib/freopen.c (orig_freopen):
1475         * lib/fstat.c (orig_fstat, fstat_nothrow):
1476         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
1477         (get_rusage_as_via_iterator):
1478         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
1479         * lib/getdtablesize.c (_setmaxstdio_nothrow):
1480         * lib/isatty.c (_isatty_nothrow):
1481         * lib/open.c (orig_open):
1482         * lib/read.c (read_nothrow):
1483         * lib/sigprocmask.c (signal_nothrow):
1484         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
1485         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
1486         * lib/wait-process.c (unregister_slave_subprocess):
1487         * lib/write.c (write_nothrow):
1488         Now static, not static inline.
1489         * lib/spawn-pipe.c (nonintr_open): Define only if
1490         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
1491         * m4/dup.m4 (gl_PREREQ_DUP):
1492         * m4/execute.m4 (gl_EXECUTE):
1493         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
1494         * m4/fopen.m4 (gl_PREREQ_FOPEN):
1495         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
1496         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
1497         * m4/fstat.m4 (gl_PREREQ_FSTAT):
1498         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
1499         * m4/isatty.m4 (gl_PREREQ_ISATTY):
1500         * m4/open.m4 (gl_PREREQ_OPEN):
1501         * m4/read.m4 (gl_PREREQ_READ):
1502         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
1503         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
1504         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
1505         * m4/wait-process.m4 (gl_WAIT_PROCESS):
1506         * m4/write.m4 (gl_PREREQ_WRITE):
1507         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
1508         Do not require AC_C_INLINE.
1509
1510         c-strtod, memcoll, readutmp: no 'static inline'
1511         * lib/c-strtod.c (c_locale):
1512         * lib/memcoll.c (strcoll_loop):
1513         * lib/readutmp.c (desirable_utmp_entry):
1514         Now static, not static inline.
1515         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
1516         * m4/memcoll.m4 (gl_MEMCOLL):
1517         * m4/readutmp.m4 (gl_READUTMP):
1518         Do not require AC_C_INLINE.
1519
1520         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
1521         * lib/arctwo.c (to_uchar):
1522         * lib/md4.c (set_uint32):
1523         * lib/md5.c (set_uint32):
1524         * lib/sha1.c (set_uint32):
1525         * lib/sha256.c (set_uint32):
1526         * lib/sha512.c (set_uint64):
1527         Now static, not static inline.  This is a bit simpler, and doesn't
1528         affect performance with GCC and default optimization.
1529         * m4/arctwo.m4 (gl_ARCTWO):
1530         * m4/md4.m4 (gl_MD4):
1531         * m4/md5.m4 (gl_MD5):
1532         * m4/sha1.m4 (gl_SHA1):
1533         * m4/sha256.m4 (gl_SHA256):
1534         * m4/sha512.m4 (gl_SHA512):
1535         Do not require AC_C_INLINE.
1536
1537         cond, lock, thread: better 'inline'
1538         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
1539         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
1540         New macros.  Use them instead of static inline, for header functions.
1541         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
1542         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1543         * lib/glthread/lock.c (gl_waitqueue_init)
1544         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1545         * lib/glthread/thread.c (get_current_thread_handle):
1546         Change 'static inline' to 'inline'.
1547         * lib/glthread/cond.h, lib/glthread/thread.h:
1548         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1549         * m4/cond.m4 (gl_COND):
1550         * m4/lock.m4 (gl_PREREQ_LOCK):
1551         * m4/thread.m4 (gl_THREAD):
1552         Do not require AC_C_INLINE.
1553         * modules/cond, modules/thread (Depends-on): Add extern-inline.
1554
1555         chdir-long, cycle-check, savewd: better 'inline'
1556         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
1557         (find_non_slash):
1558         * lib/cycle-check.c (is_zero_or_power_of_two):
1559         * lib/savewd.c (savewd_delegating):
1560         Change 'static inline' to 'inline'.
1561         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
1562         Replace all remaining uses of 'static inline' with it.
1563         * lib/savewd.h:
1564         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1565         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
1566         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
1567         * m4/savewd.m4 (gl_SAVEWD):
1568         Do not require AC_C_INLINE.
1569         * modules/savewd (Depends-on): Add extern-inline.
1570
1571         base32, base64: no need for 'inline'
1572         * lib/base32.c (to_uchar, get_8, decode_8):
1573         * lib/base64.c (to_uchar, get_4, decode_4):
1574         Change 'static inline' to 'inline'.
1575         * m4/base32.m4 (gl_PREREQ_BASE32):
1576         * m4/base64.m4 (gl_PREREQ_BASE64):
1577         Do not require AC_C_INLINE.
1578
1579         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
1580         * lib/gl_array_oset.c (gl_array_nx_add_at):
1581         (gl_array_remove_at):
1582         * lib/gl_linkedhash_list.c (hash_resize_after_add)
1583         (add_to_bucket, remove_from_bucket):
1584         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
1585         Change 'static inline' to 'static', as it's simpler to omit
1586         'inline' unless there's a significant performance advantage.
1587
1588         list, oset, xlist, xoset, xsublist: simplify via extern inline
1589         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
1590         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
1591         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
1592         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
1593         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
1594         New macro.  Replace all uses of 'static inline' with it.
1595         [HAVE_INLINE]: Implement functions as *_INLINE functions,
1596         instead of as macros FOO that are defined to static inline
1597         functions FOO_inline.
1598         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
1599         * lib/gl_xsublist.c:
1600         Reimplement from scratch, by defining the corresponding *_INLINE
1601         macro and including the corresponding .h file.  This is simpler.
1602         * modules/list, modules/oset, modules/xlist, modules/xoset:
1603         (Files): Remove m4/gl_list.m4.
1604         (configure.ac): Remove gl_LIST.
1605         * m4/gl_list.m4: Remove.
1606         * modules/list, modules/oset, modules/xlist, modules/xoset:
1607         * modules/xsublist:
1608         (Depends-on): Depend on extern-inline, not inline.
1609
1610         xalloc: better 'inline'
1611         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
1612         New macro.  Replace all uses of 'static inline' with it.
1613         (static_inline): Remove.
1614         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
1615         Let 'extern inline' do the work automatically, instead of doing
1616         it by hand.
1617         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
1618         Remove.  All uses removed.
1619         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
1620
1621         gethrxtime: better 'inline'
1622         * lib/xtime.c: New file.
1623         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
1624         * lib/xtime.h (XTIME_INCLUDE):
1625         New macros.  Replace all uses of 'static inline' with them.
1626         * lib/gethrxtime.c (gethrxtime): Define only if
1627         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
1628         this source file is now always compiled, because of the extern inline.
1629         * lib/gethrxtime.h, lib/xtime.h:
1630         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1631         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
1632         if gethrtime works, as they're not needed in that case.
1633         (gl_XTIME): Do not require AC_C_INLINE.
1634         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
1635         compiled now.  Move the check into gl_GETHRXTIME.
1636         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
1637         (Depends-on): Add extern-inline.
1638         (configure.ac): gethrxtime is always compiled now.
1639         (lib_SOURCES): Add gethrxtime.c.
1640
1641         wctype-h: better 'inline'
1642         * lib/wctype-h.c: New file.
1643         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
1644         New macro.  Replace all uses of 'static inline' with it.
1645         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1646         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
1647         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
1648         (Depends-on): Add extern-inline.
1649
1650         unistd: better 'inline'
1651         * lib/unistd.c: New file.
1652         * lib/unistd.in.h (_GL_UNISTD_INLINE):
1653         New macro.  Replace all uses of 'static inline' with it.
1654         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1655         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
1656         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
1657         (Depends-on): Add extern-inline.
1658
1659         sys_socket: better 'inline'
1660         * lib/sys_socket.c: New file.
1661         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
1662         New macro.  Replace all uses of 'static inline' with it.
1663         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1664         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
1665         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
1666         (Depends-on): Add extern-inline.
1667
1668         stdio: better 'inline'
1669         * lib/stdio.c: New file.
1670         * lib/stdio.in.h (_GL_STDIO_INLINE):
1671         New macro.  Replace all uses of 'static inline' with it.
1672         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1673         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
1674         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
1675         (Depends-on): Add extern-inline.
1676
1677         sigaction: better 'inline'
1678         * lib/sig-handler.c: New file.
1679         * lib/sig-handler.h (SIG_HANDLER_INLINE):
1680         New macro.  Replace all uses of 'static inline' with it.
1681         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1682         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
1683         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
1684         (Depends-on): Add extern-inline.
1685
1686         selinux-h: better 'inline'
1687         * lib/se-context.c, lib/se-selinux.c: New files.
1688         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
1689         * lib/se-context.in.h (SE_CONTEXT_INLINE):
1690         New macro.  Replace all uses of 'static inline' with it.
1691         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1692         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
1693         New macro.  Replace all uses of 'static inline' with it.
1694         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1695         * modules/selinux-h (Files, lib_SOURCES):
1696         Add lib/se-context.c, lib/se-selinux.c.
1697         (Depends-on): Add extern-inline.
1698         (configure.ac): Do not require AC_C_INLINE.
1699
1700         pthread: better 'inline'
1701         * lib/pthread.c: New file.
1702         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
1703         New macro.  Replace all uses of 'static inline' with it.
1704         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1705         * m4/pthread.m4 (gl_PTHREAD_CHECK):
1706         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
1707         * modules/pthread (Files): Add lib/pthread.c.
1708         (Depends-on): Add extern-inline.
1709
1710         math: better 'inline'
1711         * lib/math.c: New file.
1712         * lib/math.in.h (_GL_MATH_INLINE):
1713         New macro.  Replace all uses of 'static inline' with it.
1714         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1715         * m4/math_h.m4 (gl_MATH_H):
1716         Do not require AC_C_INLINE.
1717         * modules/math (Files, lib_SOURCES):
1718         Add lib/math.c.
1719         (Depends-on): Add extern-inline.
1720
1721         count-one-bits: better 'inline'
1722         * lib/count-one-bits.c: New file.
1723         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
1724         New macro.  Replace all uses of 'static inline' with it.
1725         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1726         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
1727         Do not require AC_C_INLINE.
1728         * modules/count-one-bits (Files, lib_SOURCES):
1729         Add lib/count-one-bits.c.
1730         (Depends-on): Add extern-inline.
1731
1732         count-leading-zeros: better 'inline'
1733         * lib/count-leading-zeros.c: New file.
1734         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
1735         New macro.  Replace all uses of 'static inline' with it.
1736         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1737         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
1738         Do not require AC_C_INLINE.
1739         * modules/count-leading-zeros (Files, lib_SOURCES):
1740         Add lib/count-leading-zeros.c.
1741         (Depends-on): Add extern-inline.
1742
1743         bitrotate: better 'inline'
1744         * lib/bitrotate.c: New file.
1745         * lib/bitrotate.h (BITROTATE_INLINE):
1746         New macros.
1747         Replace all uses of 'static inline' with them.
1748         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1749         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
1750         (Depends-on): Add extern-inline.
1751         (configure.ac): Do not require AC_C_INLINE.
1752
1753 2012-11-20  Theophile Ranquet <ranquet@lrde.epita.fr>
1754
1755         maint.mk: avoid gratuitous failure
1756         Reported by Stefano Lattarini in
1757         <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
1758         * top/maint.mk (public-submodule-commit): Quote more safely.
1759
1760 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
1761
1762         canonicalize, canonicalize-lgpl: support MS-Windows file names
1763         See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
1764         for test cases, which it'd be nice to add at some point.
1765         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
1766         * lib/canonicalize.c (canonicalize_filename_mode):
1767         * lib/canonicalize-lgpl.c (__realpath):
1768         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
1769         slash is at the beginning of the file name.  Use ISSLASH, instead
1770         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
1771         the first character with '/'.  Test for
1772         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
1773         with a drive letter.
1774         * lib/canonicalize.c (SLASHES): New macro.
1775         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
1776
1777 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
1778
1779         fts: introduce FTS_VERBATIM
1780         * lib/fts_.h (FTS_VERBATIM): New bit flag.
1781         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
1782         * lib/fts.c (fts_open): Honor it.
1783
1784 2012-11-09  Pádraig Brady  <P@draigBrady.com>
1785
1786         getlogin-tests: allow errno == ENXIO
1787         * tests/test-getlogin.c (main): Skip tests if getlogin fails
1788         with errno == ENXIO (No controlling tty).
1789         getlogin_r-tests: Likewise. Also allow errno == ENOENT
1790         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
1791         with errno == ENOENT.  This was reported to happen in various
1792         situations on GNU/Linux.
1793
1794 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
1795
1796         getlogin-tests: allow errno == ENOENT
1797         * tests/test-getlogin.c (main): Skip tests if getlogin fails
1798         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
1799         when running a test in an Emacs shell buffer.
1800
1801 2012-11-08  Jim Meyering  <jim@meyering.net>
1802
1803         tests/nap.h: avoid warning about unused variable
1804         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
1805
1806         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
1807         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
1808         white space before each of the special-cased file names, to avoid
1809         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
1810         in http://bugs.gnu.org/12830.
1811
1812 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
1813
1814         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
1815         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
1816         fails with errno == EBADF when fd is opened with O_PATH.
1817         Reported by Jim Meyering in
1818         <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
1819         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
1820         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
1821
1822 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
1823
1824         test-utimens: speed up by taking shorter naps
1825         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
1826         New functions.
1827         (nap): Use them, to do a better job of guessing the delay.
1828         On Fedora 17 with ext4 atop md atop hard disks, this made
1829         test-utimens run 10x faster, because the test napped for
1830         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
1831         <http://bugs.gnu.org/12820#11>.
1832
1833 2012-11-07  Jim Meyering  <jim@meyering.net>
1834
1835         mountlist.c: fix a compilation failure
1836         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
1837         I introduced while transforming commit v0.0-7683-g613bcb6
1838
1839 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
1840
1841         errno: port to LynxOS 178 2.2.2
1842         Problem reported by Joel Brobecker in
1843         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
1844         * doc/posix-headers/errno.texi (errno.h): Document this.
1845         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
1846         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
1847         Supply a string for EILSEQ.
1848         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
1849
1850 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
1851
1852         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
1853         Linux kernel 2.6.39 introduced O_PATH (see
1854         <http://lwn.net/Articles/433854/>) and this is a better fallback
1855         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
1856         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
1857         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
1858         * lib/fcntl.in.h (O_ACCMODE):
1859         * tests/test-fcntl-h.c (main):
1860         Do not reject O_ACCMODE merely because it has more than the
1861         minimal number of bits, as POSIX allows extensions here.
1862
1863 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
1864
1865         mountlist: do not classify a bind-mounted dir entry as "dummy"
1866         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
1867         the "none"-testing clause.
1868         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
1869         exception for bind-mounted directories.
1870
1871 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
1872
1873         quote: provide a means to escape strings with nul characters
1874         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
1875         (quote, quote_n): Rename formal arguments for consistency with
1876         quotearg.
1877
1878 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
1879
1880         test-raise: don't assume 199 is an invalid signal
1881         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
1882
1883         sh-quote-tests: port to Solaris 9
1884         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
1885         Problem reported by Dagobert Michelsen in
1886         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
1887
1888 2012-10-28  Jim Meyering  <jim@meyering.net>
1889
1890         maint.mk: rename a new configurable variable
1891         * top/maint.mk (_gl_translatable_string_re): Rename from
1892         translation-markers: _gl_ prefix to insulate from user Makefile code,
1893         and the _re suffix to inform that it's a regular expression.
1894
1895 2012-10-26  Eric Blake  <eblake@redhat.com>
1896
1897         maint.mk: let packages tweak sc_po_check pattern
1898         * top/maint.mk (sc_po_check): Add translation-markers, to allow
1899         finding files with other translation markers.
1900
1901 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
1902
1903         euidaccess: speed up 'configure' on GNU hosts
1904         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
1905         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
1906         it's needed only in this case.  Use AC_CHECK_DECLS, not
1907         AC_CHECK_DECLS_ONCE.
1908         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
1909         or AC_REQUIRE for AC_FUNC_GETGROUPS.
1910
1911         * lib/regexec.c (re_search_internal): Fix grammar in comment.
1912
1913 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
1914
1915         fchmodat, fchownat, fstatat: port to non-inlining compilers
1916         Problem reported for FreeBSD 9 by Jim Meyering in
1917         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
1918         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
1919         New files, which define FCHMODAT_INLINE etc.
1920         * lib/fchmodat.c (FCHMODAT_INLINE):
1921         * lib/fchownat.c (FCHOWNAT_INLINE):
1922         * lib/fstatat.c (FSTATAT_INLINE):
1923         Remove, as chmodat.c etc. now do this.
1924         * modules/fchmodat (Files): Add lib/chmodat.c.
1925         * modules/fchownat (Files): Add lib/chownat.c.
1926         * modules/fstatat (Files): Add lib/statat.c.
1927
1928 2012-10-15  Jim Meyering  <jim@meyering.net>
1929
1930         fchmodat.c, fchownat.c: compile-impeding typos
1931         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
1932         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
1933         Introduced in commit v0.0-7636-gd202279.
1934
1935 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
1936
1937         fcntl-h: support GNU flags like O_IGNORE_CTTY
1938         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
1939         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
1940         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
1941         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
1942         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
1943         Define to 0 if not already defined.
1944         * tests/test-fcntl-h.c: Test these new flags.
1945
1946 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
1947
1948         faccessat, etc.: support AT_FDCWD-only use
1949         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
1950         this function only if its first argument is AT_FDCWD.
1951         Emacs wants faccessat for AT_EACCESS but not for any first-arg
1952         values other than AT_FDCWD, so it doesn't want all the openat
1953         machinery with fchdir etc.
1954         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
1955         * modules/fstatat, modules/mkdirat, modules/openat (Files):
1956         * modules/unlinkat (Files):
1957         Remove lib/openat-priv.h, as at-internal supplies this file.
1958         Removing this file here allows us to support programs like Emacs
1959         that avoid at-internal.
1960
1961         faccessat: speed up 'configure' on mainstream hosts
1962         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
1963         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
1964         since it's only on unusual platforms that we need to check for
1965         'access', and it's better not to slow 'configure' down on all
1966         platforms.
1967
1968         faccessat: port to Solaris 10
1969         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
1970         Needed on Solaris 10, which doesn't have AT_EACCESS,
1971         so we need the Gnulib fcntl.h, which defines it.
1972
1973 2012-10-14  Pádraig Brady  <P@draigBrady.com>
1974         canonicalize: fix C89 compilation
1975         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
1976         declarations so C89 is supported.  Also remove the comment
1977         referencing memorty allocation as the suggested feature could
1978         not be implemented as suggested.
1979         Reported by Michael Goffioul.
1980
1981 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
1982
1983         group-member: omit unnecessary dependencies
1984         This is for Emacs, which has its own allocator and where we
1985         don't want to use xalloc.
1986         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
1987         since we no longer use xmalloc.  Do not include stdbool.h, since
1988         the changes below happen to remove the only use of bool.
1989         (GROUPBUF_SIZE): New constant.
1990         (struct group_info): Remove n_groups member.  Add groupbuf member.
1991         This lets us get the groups without using malloc, usually.
1992         (free_group_info, get_group_info): Adjust to this.
1993         (get_group_info): Return the number of groups found, or -1 on error.
1994         Use plain malloc not xmalloc, and treat its failure as if there
1995         are no groups, as the user already loses in case of error.
1996         (group_member): Simplify, based on changes to get_group_info.
1997         * modules/group-member (Depends-on): Remove dependencies on
1998         xalloc and stdbool.  Add dependency on xalloc-oversized.
1999
2000 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
2001
2002         gethrxtime: port to C++
2003         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
2004
2005 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
2006
2007         ptsname: fix macro-name typo
2008         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
2009
2010 2012-10-03  Simon Josefsson  <simon@josefsson.org>
2011
2012         inttostr: Relax license.
2013         * modules/inttostr (License): Change from LGPL to LGPLv2+.
2014
2015 2012-10-03  Eric Blake  <eblake@redhat.com>
2016
2017         ptsname_r: support ptys returned by FreeBSD posix_openpt
2018         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
2019         lives in /dev/pts/.
2020
2021 2012-10-02  Eric Blake  <eblake@redhat.com>
2022
2023         pselect: reject invalid file descriptors
2024         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
2025         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
2026         * modules/pselect (Depends-on): Add dup2.
2027         * doc/posix-functions/pselect.texi (pselect): Document this.
2028
2029         select: reject invalid file descriptors
2030         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
2031         * lib/select.c (rpl_select) [!win32]: Work around it.
2032         * modules/select (Depends-on): Add dup2.
2033         * doc/posix-functions/select.texi (select): Document this.
2034
2035         select: enhance test
2036         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
2037         New functions.
2038         (test_function): Enhance test.
2039         (do_select_bad_fd): Avoid any stale errno values.
2040
2041         ptsname: reject invalid file descriptors
2042         http://www.austingroupbugs.net/view.php?id=503
2043         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
2044         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
2045         * modules/stdlib (Makefile.am): Replace witness.
2046         * lib/stdlib.in.h (ptsname): Allow for replacement.
2047         * modules/ptsname (configure.ac): Trigger replacement.
2048         * doc/posix-functions/ptsname.texi (ptsname): Document this.
2049
2050 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
2051
2052         hash-pjw-bare: new module
2053         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
2054         * lib/hash-pjw-bare.h: Likewise.
2055         * modules/hash-pjw-bare: New file.
2056         * MODULES.html.sh (Misc): Add it.
2057
2058 2012-10-02  Eric Blake  <eblake@redhat.com>
2059
2060         manywarnings: cater to more gcc infelicities
2061         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
2062         -Wuninitialized without -O.
2063
2064 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
2065
2066         select, poll tests: Make setsockopt invocation effective.
2067         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
2068         the bind() call.
2069         * tests/test-select.h (open_server_socket): Likewise.
2070
2071 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
2072
2073         sockets, sys_stat: restore AC_C_INLINE
2074         This undoes the 2012-09-22 patch.
2075         * m4/sockets.m4 (gl_SOCKETS):
2076         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2077         Restore AC_C_INLINE, since MSVC requires __inline or _inline
2078         and does not support plain 'inline'.  Reported by Bruno Haible in
2079         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
2080
2081 2012-09-30  Bruno Haible  <bruno@clisp.org>
2082
2083         localeconv tests: Avoid test failure on OpenIndiana.
2084         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
2085         skip the 'grouping' and 'mon_grouping' tests.
2086         Reported by Jim Meyering.
2087
2088 2012-09-30  Bruno Haible  <bruno@clisp.org>
2089
2090         havelib: Follow libtool developments.
2091         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
2092         Suggested by Simon Josefsson.
2093
2094 2012-09-29  Jim Meyering  <meyering@redhat.com>
2095
2096         fstatat.c: fix a compile-impeding typo
2097         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
2098         Introduced in commit v0.0-7636-gd202279.
2099         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
2100
2101 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
2102
2103         extern-inline: provide a -Wundef safe config.h
2104         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
2105         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
2106         to produce a -Wundef warning free config.h.
2107
2108 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2109
2110         hash-pjw: relax license to LGPLv2+
2111         * modules/hash-pjw (License): Relax, with consent of author.
2112
2113 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2114
2115         maint.mk: fix strict vs. lazy variable issues with RELEASE
2116         * top/maint.mk (_equal): New function.
2117         (member_check): Strip the result to avoid spurious spaces.
2118         (url_dir_list): Do not use ifeq, which is strict, as it will
2119         require RELEASE_TYPE to be defined.
2120         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
2121         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
2122         (announcement_Cc_alpha,announcement_mail_headers_alpha)
2123         (announcement_Cc_beta,announcement_mail_headers_beta)
2124         (announcement_Cc_stable,announcement_mail_headers_stable): these.
2125         (release): Do not depend on $(release-type), as it forces its
2126         evaluation.  Bounce to it.
2127
2128 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2129
2130         maint.mk: formatting changes
2131         * top/maint.mk: Indent bodies of if's.
2132
2133 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
2134
2135         maint.mk: factor the validation of RELEASE_TYPE
2136         With help from Jim Meyering.
2137         http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
2138         * top/maint.mk (_empty, _sp): Move their definition earlier.
2139         (member-check, release-type): New.
2140         Use the latter instead of $(RELEASE_TYPE).
2141         Remove now useless local checks.
2142
2143 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2144
2145         maint.mk: provide "make upload" to ease uploading
2146         See
2147         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
2148         Do not depend simply on the current $(VERSION), as there may have been
2149         new commits since the tarball generation.  Rather, rely on $(RELEASE),
2150         as "make release-commit" already does.
2151
2152         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
2153         "make TYPE".
2154
2155         * top/maint.mk (upload_command, upload, release): New.
2156         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
2157         (VERSION): first word of $(RELEASE) is always right.
2158         (emit_upload_commands): Adjust.
2159         * top/README-release: Update.
2160
2161 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2162
2163         maint.mk: silent rules
2164         With help from Stefano Lattarini.
2165         * top/maint.mk (writable-files): Use $(AM_V_GEN).
2166         (announcement): Use $(AM_V_at).
2167
2168 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
2169
2170         localename: port gl_locale_name_thread_unsafe to FreeBSD
2171         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
2172         and use the simpler FreeBSD implementation on Mac OS X as well.
2173         Original idea suggested by Ed Maste in
2174         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
2175
2176 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
2177
2178         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
2179         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
2180         * lib/mbuiter.c, lib/xsize.c: New files.
2181         * lib/binary-io.h (BINARY_IO_INLINE):
2182         * lib/eealloc.h (EEALLOC_INLINE):
2183         * lib/mbfile.h (MBFILE_INLINE):
2184         * lib/mbiter.h (MBITER_INLINE):
2185         * lib/mbuiter.h (MBUITER_INLINE):
2186         * lib/xsize.h (XSIZE_INLINE):
2187         New macros.
2188         Replace all uses of 'static inline' with them.
2189         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2190         * m4/eealloc.m4 (gl_EEALLOC):
2191         * m4/mbfile.m4 (gl_MBFILE):
2192         * m4/mbiter.m4 (gl_MBITER):
2193         * m4/xsize.m4 (gl_XSIZE):
2194         Do not require AC_C_INLINE.
2195         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
2196         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
2197         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
2198         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
2199         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
2200         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
2201         * modules/binary-io, modules/eealloc, modules/mbfile:
2202         * modules/mbiter, modules/mbuiter:
2203         (Depends-on): Add extern-inline.
2204
2205         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
2206         * lib/pipe-filter-aux.c: New file.
2207         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
2208         Replace all uses of 'static inline' with it.
2209         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2210         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
2211         (filter_retcode): No real need for inline here.
2212         * modules/pipe-filter-gi, modules/pipe-filter-ii:
2213         (Files): Add lib/pipe-filter-aux.c.
2214         (Depends-on): Add extern-inline.
2215         (configure.ac): Do not require AC_C_INLINE.
2216         (lib_SOURCES): Add pipe-filter-aux.c.
2217
2218         fdutimensat: omit unnecessary AC_C_INLINE
2219         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
2220
2221         fchmodat, fchownat, fstatat: use extern-inline
2222         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
2223         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
2224         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
2225         New macros.
2226         * lib/openat.h:
2227         Replace all uses of 'static inline' with them.
2228         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2229         * modules/fchmodat, modules/fchownat, modules/fstatat:
2230         * modules/openat-h:
2231         (Depends-on):
2232         Add extern-inline.
2233         (configure.ac): Remove AC_C_INLINE.
2234
2235         acl, mbchar, priv-set: use extern-inline
2236         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
2237         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
2238         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
2239         New macros.
2240         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
2241         Replace all uses of 'static inline' with it.
2242         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2243         * m4/acl.m4 (gl_FUNC_ACL):
2244         * m4/mbchar.m4 (gl_MBCHAR):
2245         * m4/priv-set.m4 (gl_PRIV_SET):
2246         Remove AC_C_INLINE, since 'inline' is no longer used directly.
2247         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
2248         Add extern-inline.
2249
2250         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
2251         * m4/sockets.m4 (gl_SOCKETS):
2252         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2253         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
2254         environments where it's already guaranteed to work, so we needn't
2255         check for it at 'configure'-time.
2256
2257         tls-tests: omit unnecessary 'inline'
2258         * tests/test-tls.c (perhaps_yield): No longer inline.
2259         Simplicity and portability trump efficiency in test cases.
2260
2261         utimens-tests: avoid unnecessary 'inline'
2262         * modules/fdutimensat-tests (configure.ac):
2263         * modules/futimens-tests (configure.ac):
2264         * modules/utimens-tests (configure.ac):
2265         * modules/utimensat-tests (configure.ac):
2266         Remove AC_C_INLINE.
2267         * tests/test-utimens-common.h (ctime_compare):
2268         No longer inline.  Simplicity and portability trump efficiency here.
2269
2270         misc: don't limit commentary to inline functions
2271         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
2272         * lib/xalloc-oversized.h, lib/xsize.h:
2273         Contrast macros to functions in general, not just to inline functions,
2274         when the commentary does not apply only to inline functions.
2275
2276 2012-09-20  Jim Meyering  <meyering@redhat.com>
2277
2278         non-recursive-gnulib-prefix-hack: new module
2279         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
2280         the file that originated in Bison.
2281         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
2282         largely copied from a snippet that resided in bison's configure.ac.
2283         * modules/non-recursive-gnulib-prefix-hack: New file.
2284         * MODULES.html.sh (Support for maintaining and releasing projects):
2285         Add it.
2286
2287 2012-09-18  Jim Meyering  <meyering@redhat.com>
2288
2289         maint.mk: generalize _gl_tight_scope for non-recursive make
2290         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
2291         that *.h would describe additional .h files in the directory
2292         specified by $(_gl_TS_dir).  I.e., add this...
2293         (_gl_TS_other_headers): New variable.
2294
2295         maint.mk: exempt trailing blanks found in "binary" files
2296         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
2297         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
2298         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2299
2300 2012-09-17  Jim Meyering  <meyering@redhat.com>
2301
2302         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
2303         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
2304         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
2305         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2306
2307 2012-09-17  Jim Meyering  <meyering@redhat.com>
2308
2309         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
2310         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
2311         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
2312         It is not in the same category as "exit (0)" or "exit (1)", and
2313         besides, I know of no symbolic name for that 77.  Reported by
2314         Richard W.M. Jones in
2315         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2316
2317 2012-09-17  Jim Meyering  <meyering@redhat.com>
2318
2319         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
2320         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
2321         all uses of #define, not just those that start in column 1.
2322         Richard W.M. Jones reported a false positive in
2323         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2324
2325 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
2326
2327         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
2328         * lib/localcharset.c (locale_charset) [DARWIN7]:
2329         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
2330         as these two values are incompatible.  Problem reported by Max Horn.
2331         For more discussion, please see
2332         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
2333
2334         doc: document sticky-EOF issue
2335         * doc/posix-functions/fgetc.texi (fgetc):
2336         * doc/posix-functions/fgets.texi (fgets):
2337         * doc/posix-functions/fread.texi (fread):
2338         * doc/posix-functions/fscanf.texi (fscanf):
2339         * doc/posix-functions/getc.texi (getc):
2340         * doc/posix-functions/getchar.texi (getchar):
2341         * doc/posix-functions/scanf.texi (scanf):
2342         Mention that glibc and default Solaris do not conform to
2343         C99 and POSIX-2001 or later, with respect to how getchar
2344         etc. behave when feof reports nonzero.
2345
2346 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2347
2348         poll: fix poll(0, NULL, msec)
2349         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
2350         but nfd is 0.  In that case poll should behave like select.
2351
2352 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2353             Paolo Bonzini <bonzini@gnu.org>
2354
2355         poll: fix for systems that can't recv() on a non-socket
2356         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
2357         is readable.  In this case POLLHUP will not be supported.
2358         * doc/posix-functions/poll.texi: Document this.
2359
2360 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
2361
2362         poll/select: document portability problems not fixed by Gnulib.
2363         * doc/posix-functions/poll.texi: poll does not work well on
2364         pipes under Windows.  It has the same limitations as select on
2365         BeOS.
2366         * doc/posix-functions/select.texi: select does not work well
2367         on pipes under Windows.
2368
2369 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
2370
2371         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
2372         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
2373         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
2374         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
2375
2376 2012-09-06  Eric Blake  <eblake@redhat.com>
2377
2378         net_if: give more details about the bug being fixed
2379         * doc/posix-headers/net_if.texi: Add clarification.
2380
2381 2012-09-05  Eric Blake  <eblake@redhat.com>
2382
2383         net_if: new module
2384         * modules/net_if: New module, borrowing ideas from netinet_in.
2385         * m4/net_if_h.m4: New file.
2386         * lib/net_if.in.h: Likewise.
2387         * doc/posix-headers/net_if.texi (net/if.h): Document it.
2388         * MODULES.html.sh (lacking POSIX:2008): Likewise.
2389         * tests/test-net_if.c: Make function checks conditional.
2390         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
2391
2392 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
2393
2394         readutmp: fix non-portable UT_PID use
2395         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
2396         Use `UT_PID (u) > 0' as absolute condition.
2397
2398 2012-09-04  Jim Meyering  <meyering@redhat.com>
2399
2400         fts: reduce two or more trailing spaces to just one, usually
2401         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
2402         or more slashes, trim all but the final one.  But if a name consists
2403         solely of two slashes, don't modify it.  If it consists solely of
2404         three or more slashes, strip all but one.
2405
2406         This is part of the solution to a minor problem with rm:
2407         it would print a bogus ELOOP diagnostic when failing to remove
2408         the slash-decorated name of a symlink-to-directory:
2409
2410             $ mkdir d && ln -s d s && env rm -r s/
2411             rm: cannot remove 's': Too many levels of symbolic links
2412
2413         With the change below and a trivial don't-trim-trailing-slashes
2414         adjustment to remove.c, it does this:
2415
2416             $ env rm -r s/
2417             rm: cannot remove 's/': Not a directory
2418
2419         Improved by: Eric Blake
2420
2421         fts: when there is no risk of overlap, use memcpy, not memmove
2422         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
2423
2424 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2425
2426         stdbool: be more compatible with mixed C/C++ compiles
2427         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
2428         Define to bool, true, false, respectively, as GCC's builtin
2429         stdbool.h does.  Problem reported by Michael Goffioul in
2430         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
2431
2432 2012-08-28  Jim Meyering  <meyering@redhat.com>
2433
2434         revert last change: it was not needed
2435         * tests/test-vc-list-files-git.sh: There's already a test for
2436         a working git, just below.
2437
2438 2012-08-28  Jim Meyering  <meyering@redhat.com>
2439
2440         tests: test-vc-list-files-git.sh: skip if git is not available
2441         * tests/test-vc-list-files-git.sh: Skip this test when git is
2442         not available.
2443
2444 2012-08-26  Bruno Haible  <bruno@clisp.org>
2445
2446         gnulib-tool: Remove no-op option --no-changelog.
2447         * gnulib-tool (func_usage): Don't mention --no-changelog.
2448         (do_changelog): Remove variable.
2449         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2450
2451 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2452
2453         doc: remove fdl-1.2.texi
2454         It is no longer used or maintained, and its use of @acronym
2455         is problematic.  See the thread containing
2456         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
2457         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
2458         * doc/old-licenses/fdl-1.2.texi: Remove.
2459
2460         execinfo: port to FreeBSD
2461         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
2462         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
2463         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
2464         * modules/execinfo (Link): Add $(LIB_EXECINFO).
2465
2466 2012-08-23  Jim Meyering  <meyering@redhat.com>
2467
2468         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
2469         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
2470         to placate gcc's -Wold-style-declaration.
2471
2472 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2473
2474         doc: do not use @acronym
2475         * doc/inet_ntoa.texi (inet_ntoa):
2476         * doc/parse-datetime.texi (Seconds since the Epoch)
2477         (Specifying time zone rules):
2478         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
2479         Don't use @acronym.  Problem reported by John Darlington in
2480         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
2481
2482 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
2483
2484         stdnoreturn: port to newer GCCs
2485         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
2486         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
2487         Problem reported by Jim Meyering in
2488         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
2489         Also, rename the 'test' function to a void a clash with the
2490         already-supplied 'main' function; this fixes a bug that incorrectly
2491         rejected GCC 4.7.1's <stdnoreturn.h>.
2492         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
2493         Document GCC problem.
2494
2495 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
2496
2497         pipe-filter: fix comment typo
2498         * lib/pipe-filter.h: Mention correct function.
2499
2500 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
2501
2502         execinfo: new module
2503         This is for Emacs.  Currently, it provides a no-effect stub
2504         on all platforms where it does not already work.
2505         It already works on glibc-based systems, and on Solaris 11.
2506         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
2507         New files.
2508         * doc/glibc-headers/execinfo.texi (execinfo.h):
2509         * MODULES.html.sh (Misc): Document it.
2510
2511 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
2512
2513         extern-inline: support old GCC 'inline'
2514         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
2515         if available.  This applies to GCC versions 2.7 through 4.2, or
2516         when newer GCC is using -fgnu89-inline.  The goal is to address
2517         some of the performance issues mentioned by Bruno Haible in
2518         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
2519
2520 2012-08-20  Eric Blake  <eblake@redhat.com>
2521
2522         maint.mk: avoid redundant file name in message
2523         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
2524         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
2525         (sc_makefile_path_separator_check): Remove bogus $(ME).
2526
2527 2012-08-20  Mike Frysinger <vapier@gentoo.org>
2528
2529         timer-time: fix link order when static linking on glibc
2530         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
2531         _after_ -lrt so that it's significant.
2532
2533 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
2534
2535         timespec: omit unnecessary AC_C_INLINE
2536         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
2537
2538         stat-time: omit unnecessary AC_C_INLINE
2539         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
2540         Do not require AC_C_INLINE.
2541
2542         ignore-value: omit unnecessary AC_C_INLINE
2543         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
2544
2545         sys_select: avoid 'static inline'
2546         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
2547
2548         mktime: avoid 'static inline'
2549         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
2550         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
2551
2552 2012-08-19  Bruno Haible  <bruno@clisp.org>
2553
2554         gnulib-tool: Improve coding style.
2555         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
2556         func_emit_lib_Makefile_am.
2557         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2558
2559 2012-08-19  Bruno Haible  <bruno@clisp.org>
2560
2561         gnulib-tool: Fix indentation.
2562         * gnulib-tool (func_import): Fix indentation.
2563
2564 2012-08-19  Bruno Haible  <bruno@clisp.org>
2565
2566         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
2567         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
2568         on the list of removed files.
2569
2570 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
2571
2572         test-parse-datetime: avoid glibc leap-second glitch
2573         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
2574         with the 2012 rules.  Problem reported by Bruce Dubbs in
2575         <http://bugs.gnu.org/12206>.
2576
2577 2012-08-14  Bruno Haible  <bruno@clisp.org>
2578
2579         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
2580         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
2581         from argument.
2582         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2583
2584 2012-08-14  Eric Blake  <eblake@redhat.com>
2585
2586         ldexp: relax license
2587         * modules/ldexp (License): Trivial relax, since the module only
2588         provides a permissively licensed m4 file.
2589
2590 2012-08-13  Bruno Haible  <bruno@clisp.org>
2591
2592         gnulib-tool: Fix persistence of --witness-c-macro option.
2593         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
2594         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2595
2596 2012-08-11  Eric Blake  <eblake@redhat.com>
2597
2598         count-leading-zeros: use a lookup table on non-gcc compilers
2599         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
2600         alternate implementation, suggested by Jim Meyering.
2601
2602 2012-08-10  Eric Blake  <eblake@redhat.com>
2603
2604         count-leading-zeros: new module
2605         * modules/count-leading-zeros: New module.
2606         * m4/count-leading-zeros.m4: New file.
2607         * lib/count-leading-zeros.h: Likewise.
2608         * modules/count-leading-zeros-tests: New test.
2609         * tests/test-count-leading-zeros.c: New file.
2610         * MODULES.html.sh (Integer arithmetic functions): Document it.
2611
2612 2012-08-07  Simon Josefsson  <simon@josefsson.org>
2613             Jim Meyering  <meyering@redhat.com>
2614
2615         maintainer-makefile: Fix syntax error with dash.
2616         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
2617         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
2618
2619 2012-08-05  Jim Meyering  <meyering@redhat.com>
2620
2621         extern-inline: also ignore -Wmissing-declarations
2622         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
2623         required with gcc-4.8.0-to-be.
2624
2625         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
2626         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
2627         for /error ?([^,]*)/.  This avoids false-positives for strings like
2628         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
2629
2630 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2631
2632         gnumakefile: better interaction with Automake-NG
2633         * modules/gnumakefile [Makefile.am]: The makefiles generated by
2634         Automake-NG always contain a definition of VPATH, even in non-VPATH
2635         builds (its value being simply '.' in that case).  So, in the
2636         'clean-GNUmakefile' rule, to determine whether running under a
2637         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
2638         '$(VPATH)' expands to the empty string.
2639
2640 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
2641
2642         base64: Use extern C scope in header file, for C++.
2643         * lib/base64.h: Add C++ namespace protection.
2644
2645 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
2646
2647         stat-time, timespec, u64: support naive out-of-dir builds
2648         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
2649         Use '#include "foo.h"', not '#include <foo.h>', when including
2650         one's own interface.  This works better when configuring with
2651         out-of-directory builds, since packages need not add an
2652         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
2653
2654 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
2655
2656         utimens: use extern-inline
2657         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
2658         * lib/utimens.h: Add copyright notice, since this is now large enough
2659         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2660         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
2661         * modules/utimens (Depends-on): Add extern-inline.
2662
2663         u64: use extern-inline
2664         * lib/u64.c: New file.
2665         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2666         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
2667         * modules/u64 (Files): Add lib/u64.c.
2668         (Depends-on): Add extern-inline.
2669         (configure.ac): No need to require AC_C_INLINE, since extern-inline
2670         does that now.
2671         (lib_SOURCES): Add u64.c.
2672
2673         timespec: use extern-inline
2674         * lib/timespec.c: New file.
2675         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2676         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
2677         * modules/timespec (Files): Add lib/timespec.c.
2678         (Depends-on): Add extern-inline.
2679         (lib_SOURCES): Add timespec.c.
2680
2681         stat-time: use extern-inline
2682         * lib/stat-time.c: New file.
2683         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2684         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
2685         * modules/stat-time (Files): Add lib/stat-time.c.
2686         (Depends-on): Add extern-inline.
2687         (lib_SOURCES): Add stat-time.c.
2688
2689         extern-inline: new module
2690         * modules/extern-inline, m4/extern-inline.m4: New files.
2691         This is for better support of 'extern inline' a la ISO C99,
2692         with a portable alternative on compilers that do not support
2693         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
2694         of the Emacs executable, when compiled with debugging disabled,
2695         which is a typical way that Emacs is built while developing.
2696
2697 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
2698
2699         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
2700         * build-aux/do-release-commit-and-tag: Move variable definitions
2701         together.
2702         ($branch): Instead of defaulting to "master", default to the current
2703         branch (as gnu-web-doc-update does).
2704         (help): Display the current values of the option arguments.
2705         * top/maint.mk (release-commit): New.
2706         * top/README-release: Simplify the corresponding step.
2707
2708 2012-07-30  Eric Blake  <eblake@redhat.com>
2709
2710         passfd: fix comment on recvfd
2711         * lib/passfd.c (recvfd): Fix comment.
2712         Reported by Jann Horn <jannhorn@googlemail.com>.
2713
2714 2012-07-30  Jim Meyering  <meyering@redhat.com>
2715
2716         maint.mk: avoid a sub-shell
2717         * top/maint.mk (release-prep): Remove unneeded sub-shell.
2718
2719 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2720
2721         maint.mk: use silent-rules support from Automake
2722         * top/maint.mk (news-check, vc-diff-check, announcement)
2723         (no-submodule-changes, alpha beta stable, release-prep)
2724         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
2725
2726 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2727
2728         maint.mk: provide a web-manual-update target
2729         * top/maint.mk: here.
2730         * top/README-release: Use it to simplify the web manual update step.
2731
2732 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2733
2734         README-release: shorten the circuit to post a news
2735         * top/README-release: Point directly to the news submission form.
2736
2737 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2738
2739         gnu-web-doc-update: fix --help
2740         * build-aux/gnu-web-doc-update: The information "top level" was written
2741         twice.
2742
2743 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2744
2745         maint.mk: absolute VPATH issue
2746         * top/maint.mk (release-prep): Help Git find .git/.
2747         From Jim Meyering.
2748
2749 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2750
2751         gitlog-to-changelog: fix previous change
2752         * build-aux/gitlog-to-changelog: Fix condition.
2753         Add missing ";".
2754
2755 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2756
2757         gitlog-to-changelog: don't expect .git to be in $srcdir
2758         Reported by Bruno Haible.
2759         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
2760         * build-aux/gitlog-to-changelog (&git_dir_option): New.
2761         Use it.
2762
2763 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2764
2765         maint.mk: absolute VPATH build fix
2766         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
2767         $(srcdir) is not a parent of $(builddir).
2768
2769 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
2770
2771         clean-temp: Fix memory leak.
2772         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
2773         'files' members of tmpdir.
2774
2775 2012-07-27  Jim Meyering  <meyering@redhat.com>
2776
2777         maint.mk: new rule: refresh-gnulib-patches
2778         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
2779         Use this rule to refresh them.
2780         * top/maint.mk (refresh-gnulib-patches): New rule.
2781
2782 2012-07-24  Bruno Haible  <bruno@clisp.org>
2783
2784         gnulib-tool: Fix handling of inctests variable.
2785         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
2786         Reported by Nick Bowler <nbowler@elliptictech.com>.
2787
2788 2012-07-22  Bruno Haible  <bruno@clisp.org>
2789
2790         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
2791         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
2792         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
2793         Remove exemption for getpass.h.
2794         Suggested by Eric Blake.
2795
2796 2012-07-20  Eric Blake  <eblake@redhat.com>
2797
2798         verify: document conflict with -Wnested-externs
2799         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
2800
2801         maint.mk: forbid exit(-1)
2802         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
2803
2804 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
2805
2806         fsusage: port back to Solaris
2807         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
2808         error (fsd not declared) on Solaris 10.  Reported privately by
2809         Andrew Borodin.
2810
2811 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
2812
2813         gnu-web-doc-update: fix error messages
2814         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
2815
2816         gnu-web-doc-update: check the requirements.
2817         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
2818         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
2819         * build-aux/bootstrap (find_tool): Comment change.
2820
2821 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
2822
2823         maint.mk: minor simplication.
2824         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
2825         for default values.
2826
2827 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
2828
2829         gitlog-to-changelog: VPATH build issues
2830         If builddir is not a subdirectory of srcdir, running git from it will
2831         fail.
2832         * build-aux/gitlog-to-changelog (--srcdir): New option.
2833
2834 2012-07-15  Bruno Haible  <bruno@clisp.org>
2835
2836         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
2837         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
2838         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
2839         Remove exemption for fpending.h.
2840         Suggested by Eric Blake.
2841
2842 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
2843
2844         pthread_sigmask: fix bug on FreeBSD 9
2845         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
2846         Include string.h.
2847         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
2848         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
2849         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
2850         but pthread_sigmask (1729, NULL, NULL) returns zero.
2851         See <http://bugs.gnu.org/11884>.
2852         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
2853         by inspecting whether the main call changed the old mask.
2854
2855 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
2856
2857         README-release: make it more legible
2858         * top/README-release: Improve typography slightly.
2859
2860 2012-07-15  Jim Meyering  <meyering@redhat.com>
2861
2862         maint: require that each sc_... command start with "@"
2863         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
2864         "make sc_maint" helps us avoid this nit.
2865
2866 2012-07-15  Jim Meyering  <meyering@redhat.com>
2867
2868         maint.mk: add leading "@" to quiet new "make syntax-check" rule
2869         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
2870
2871 2012-07-13  Eric Blake  <eblake@redhat.com>
2872
2873         maint.mk: new syntax check for HAVE_DECL checks
2874         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
2875         * cfg.mk
2876         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
2877         Exempt some false positives.
2878         Based on a report by Karel Zak.
2879
2880         argp: make HAVE_DECL usage consistent
2881         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
2882         macros, not whether they are defined.
2883         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
2884         convention with other declaration checks.
2885         Reported by Karel Zak, with suggestions from Paul Eggert.
2886
2887         stat-time: relax license to LGPLv2+
2888         * modules/stat-time (License): Relax, with consent of all authors.
2889
2890         strndup: fix m4 usage error
2891         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
2892         defined, to either 0 or 1.
2893         Reported by Karel Zak.
2894
2895 2012-07-11  Jim Meyering  <meyering@redhat.com>
2896
2897         maint: enable the sc_avoid_if_before_free syntax-check rule
2898         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
2899         (if_before_free_offenders_): Define.
2900         (if_before_free_basename_re_): Define.
2901         Exempt current files with useless if-before-free.
2902
2903 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
2904
2905         gettext: do not assume '#define ... defined ...' behavior
2906         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
2907         Do not use '#define FOO ... defined BAR ...', as the C standard says
2908         it's not portable to expect that this works after macro expansion.
2909         Problem reported for gzip by Steven M. Schweda in
2910         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
2911
2912 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
2913
2914         getloadavg: clean out old Emacs and Autoconf cruft
2915         See Glenn Morris in <http://bugs.gnu.org/11905>.
2916         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
2917         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
2918         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
2919         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
2920
2921 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
2922
2923         bootstrap: let warn be like tests/init.sh's warn_
2924         Reported by Jim Meyering.
2925         * build-aux/bootstrap (warn): Remove, replaced by...
2926         (warnf_, warn_): these.
2927         Adjust callers.
2928         Shorten messages that no longer fit in 80 columns.
2929
2930 2012-07-09  Bruno Haible  <bruno@clisp.org>
2931
2932         getopt: Simplify after Emacs changed.
2933         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
2934         (gl_GETOPT_IFELSE): Remove macro.
2935
2936 2012-07-09  Jim Meyering  <meyering@redhat.com>
2937
2938         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
2939         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
2940
2941         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
2942         Bugs in both of those conspired to make the
2943         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
2944         _sc_search_regexp's handling of non-empty $in_files would filter
2945         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
2946         choice of in_files value meant there would be no match in most
2947         projects, due to the presence of two or more Makefile.in files.
2948         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
2949         Fix a bug in how a non-empty $$in_files was processed:
2950         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
2951         in spite of the name, it's a regexp, not a list of file names.
2952
2953 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
2954
2955         getloadavg, getopt: fix commentary re configure.in
2956         Autoconf is deprecating the name 'configure.in', so change it to
2957         to the new name 'configure.ac' in a couple of places.
2958         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
2959         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
2960         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
2961         Emacs has renamed it to configure.ac, and it no longer refers
2962         to these macros anyway.
2963
2964         timespec: mark functions with const attributes
2965         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
2966         Mark with _GL_ATTRIBUTE_CONST.
2967
2968 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
2969
2970         canonicalize[-lgpl]: handle "guessing" values when cross-building
2971         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
2972         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
2973         matches "*yes" instead of just "yes".  Regression introduced in commit
2974         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
2975
2976 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
2977             Bruno Haible  <bruno@clisp.org>
2978
2979         canonicalize: make the right guess when cross-compiling to GNU
2980         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
2981         determine whether cross-compiling to glibc systems, so as to
2982         include GNU/Hurd.
2983
2984 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
2985
2986         timespec-sub: avoid duplicate include
2987         * lib/timespec-sub.c: Do not include <config.h> twice.
2988         Reported by Juanma Barranquero.
2989
2990 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
2991
2992         bootstrap: use a more consistent error reporting scheme
2993         * build-aux/bootstrap (warn, die): New.
2994         Use them.
2995
2996 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
2997
2998         sys_time: allow too-wide tv_sec
2999         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
3000         timeval even if tv_sec is wider than time_t.  This allows
3001         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
3002         as without this patch gnulib replaces struct timeval
3003         and OpenBSD futimes therefore has a type mismatch.
3004         * doc/posix-headers/sys_time.texi: Mention this.
3005
3006         pthread: check for both pthread_create and pthread_join
3007         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
3008         alter the check so that it tests for both pthread_create and
3009         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
3010         Suggested by Bruno Haible and Richard Yao in
3011         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
3012
3013         parse-datetime: doc tuneup
3014         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
3015         spacing issues.
3016
3017 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
3018
3019         do-release-commit-and-tag: fix the previous commit
3020         * build-aux/do-release-commit-and-tag: Actually the test was right,
3021         but the comment and the error message were misleading.
3022         Fix comment, and improve error message.
3023         Perform check first, so that NEWS is not modified uselessly.
3024
3025         do-release-commit-and-tag: fix typo
3026         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
3027         _not_ start with a stub.
3028
3029 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
3030
3031         pthread: check for pthread_create, not pthread_join
3032         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
3033         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
3034         pthread_join in libc.  I hope this removes the need for all the
3035         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
3036         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
3037
3038 2012-07-04  Jim Meyering  <meyering@redhat.com>
3039
3040         parse-datetime: fix failure to diagnose invalid input
3041         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
3042         rather than diagnosing the invalid input.  Now it reports this:
3043         date: invalid date '\260'
3044         * lib/parse-datetime.y (to_uchar): Define.
3045         (yylex): Don't sign-extend "other" bytes.
3046         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
3047         Thanks to Bruno Haible for the patch to this file.
3048         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
3049         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
3050
3051 2012-07-03  Jim Meyering  <meyering@redhat.com>
3052
3053         bootstrap: do not require now-removed build-aux/missing
3054         Now that build-aux/missing is, er, missing, bootstrap would
3055         silently fail.
3056         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
3057         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
3058         no longer part of gnulib.
3059         Diagnose the failure.
3060
3061 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
3062
3063         alloca: add support for HP NonStop TNS/E native
3064         * lib/alloca.in.h (alloca): Support the new host.
3065         From a suggestion by Joachim Schmitz in
3066         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
3067
3068 2012-07-02  Pádraig Brady  <P@draigBrady.com>
3069
3070         fsusage: remove code not needed on non GNU/Linux systems.
3071
3072         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3073         Don't include headers no longer needed in this case.
3074         * lib/fsusage.c [STAT_STATVFS &&
3075         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
3076         STAT_STATFS2_FRSIZE to exclude code not used in this case.
3077
3078 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
3079
3080         fsusage: include files needed for glibc 2.6 fallback
3081         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3082         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
3083         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
3084         Problem reported by Ludovic Courtès in
3085         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
3086
3087         fsusage: avoid needless check on GNU/Linux
3088         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
3089         on GNU/Linux systems, since it can't possibly work.
3090
3091 2012-07-01  Bruno Haible  <bruno@clisp.org>
3092
3093         log: Fix an autoconf >= 2.64 warning.
3094         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
3095         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3096
3097 2012-06-28  Bruno Haible  <bruno@clisp.org>
3098
3099         log10f: Fix possible configuration problem.
3100         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
3101         $LOGF_LIBM.
3102         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3103
3104 2012-06-28  Bruno Haible  <bruno@clisp.org>
3105
3106         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
3107         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
3108         not gl_cv_func_unlink_works.
3109         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3110
3111 2012-06-27  Eric Blake  <eblake@redhat.com>
3112
3113         config: drop scripts that automake says are not independent
3114         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
3115         * build-aux/elisp-comp: Delete.
3116         * build-aux/missing: Likewise.
3117         * build-aux/ylwrap: Likewise.
3118         * modules/elisp-comp: Likewise.
3119         * MODULES.html.sh: Drop mention of elisp-comp.
3120         * NEWS: Mention this.
3121
3122 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
3123
3124         root-uid: new module
3125         This is for portability to Tandem's NonStop Kernel.
3126         * lib/root-uid.h, modules/root-uid: New files.
3127         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
3128         * lib/write-any-file.c, tests/test-sethostname2.c:
3129         Include "root-uid.h".
3130         * lib/euidaccess.c (euidaccess):
3131         * lib/pt_chown.c (main):
3132         * lib/unlinkdir.c (cannot_unlink_dir):
3133         * lib/write-any-file.c (can_write_any_file):
3134         * m4/mknod.m4 (gl_FUNC_MKNOD):
3135         * tests/test-sethostname2.c (geteuid, main):
3136         Don't assume ROOT_UID == 0.
3137         * modules/euidaccess (Depends-on):
3138         * modules/pt_chown (Depends-on):
3139         * modules/sethostname-tests (Depends-on):
3140         * modules/unlinkdir (Depends-on):
3141         * modules/write-any-file (Depends-on):
3142         Add root-uid.
3143
3144         regex: use locale-independent comparison for codeset name
3145         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
3146         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
3147         for codeset name.
3148         * lib/regex_internal.h: Do not include <strings.h>, since we
3149         no longer use strcasecmp.
3150         * modules/regex (Depends-on): Remove strcase.
3151
3152 2012-06-23  Bruno Haible  <bruno@clisp.org>
3153
3154         getopt-posix: No longer guarantee that option processing is resettable.
3155         * doc/posix-functions/getopt.texi: Drop description of problem with
3156         internal state. Fix info about mingw and msvc9.
3157         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
3158         option processing by getopt(). Run three test programs instead of one.
3159         Simplify cross-compilation guess.
3160         * NEWS: Mention the change.
3161         Reported by Rich Felker <dalias@aerifal.cx>.
3162
3163 2012-06-26  Bruno Haible  <bruno@clisp.org>
3164
3165         argp, regex: Ensure strcasecmp gets declared.
3166         * lib/argp-help.c: Include <strings.h>.
3167         * lib/regex_internal.h: Likewise.
3168         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
3169
3170 2012-06-24  Bruno Haible  <bruno@clisp.org>
3171
3172         ptsname_r: Make it consistent with ptsname on AIX.
3173         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
3174         implementation as for OSF/1.
3175         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
3176         a pty master.
3177
3178         ptsname_r: Make it consistent with ptsname on OSF/1.
3179         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3180         OSF/1.
3181
3182 2012-06-24  Bruno Haible  <bruno@clisp.org>
3183
3184         ttyname_r: Fix result on OSF/1, Solaris.
3185         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
3186
3187 2012-06-24  Bruno Haible  <bruno@clisp.org>
3188
3189         ptsname_r: Add support for Solaris.
3190         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3191         Solaris.
3192
3193         ptsname_r: Fix test failure on native Windows.
3194         * modules/ptsname_r (Depends-on): Add isatty.
3195
3196         ptsname_r: Fix test failures on IRIX, Solaris.
3197         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
3198         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
3199         accordingly.
3200         * lib/ptsname_r.c: Include <fcntl.h>.
3201         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
3202         set errno if fd is invalid.
3203         * tests/test-isatty.c (main): Update comments.
3204
3205 2012-06-24  Bruno Haible  <bruno@clisp.org>
3206
3207         ptsname test: Extend test.
3208         * tests/test-ptsname.c: Include <errno.h>.
3209         (main): Test behaviour with invalid file descriptor.
3210
3211 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
3212
3213         time: fix obsolete comment
3214         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
3215         reference to HAVE_STRUCT_TIMESPEC in comment.
3216
3217 2012-06-23  Bruno Haible  <bruno@clisp.org>
3218
3219         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
3220         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
3221         does not handle abbreviated long options with equivalent
3222         disambiguations, set gl_replace_getopt to yes.
3223         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
3224
3225 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
3226
3227         time_r: fix typo that always overrode localtime_r decl
3228         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
3229         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
3230         not in a standard include.
3231
3232 2012-06-22  Bruno Haible  <bruno@clisp.org>
3233
3234         Write "Mac OS X" instead of "MacOS X".
3235         * README: Write "Mac OS X" instead of "MacOS X".
3236         * build-aux/bootstrap: Likewise.
3237         * build-aux/install-reloc: Likewise.
3238         * lib/acl-internal.h: Likewise.
3239         * lib/acl_entries.c: Likewise.
3240         * lib/argp-ba.c: Likewise.
3241         * lib/argp-pv.c: Likewise.
3242         * lib/config.charset: Likewise.
3243         * lib/copy-acl.c: Likewise.
3244         * lib/csharpexec.c: Likewise.
3245         * lib/euidaccess.c: Likewise.
3246         * lib/fbufmode.c: Likewise.
3247         * lib/fflush.c: Likewise.
3248         * lib/file-has-acl.c: Likewise.
3249         * lib/filemode.h: Likewise.
3250         * lib/fpurge.c: Likewise.
3251         * lib/freadable.c: Likewise.
3252         * lib/freadahead.c: Likewise.
3253         * lib/freading.c: Likewise.
3254         * lib/freadptr.c: Likewise.
3255         * lib/freadseek.c: Likewise.
3256         * lib/fseeko.c: Likewise.
3257         * lib/fseterr.c: Likewise.
3258         * lib/fsusage.c: Likewise.
3259         * lib/fwritable.c: Likewise.
3260         * lib/fwriting.c: Likewise.
3261         * lib/get-rusage-as.c: Likewise.
3262         * lib/get-rusage-data.c: Likewise.
3263         * lib/getdomainname.c: Likewise.
3264         * lib/idpriv-drop.c: Likewise.
3265         * lib/idpriv-droptemp.c: Likewise.
3266         * lib/localcharset.c: Likewise.
3267         * lib/locale.in.h: Likewise.
3268         * lib/localename.c: Likewise.
3269         * lib/mbsrtowcs-state.c: Likewise.
3270         * lib/nproc.c: Likewise.
3271         * lib/passfd.c: Likewise.
3272         * lib/posix_openpt.c: Likewise.
3273         * lib/printf-parse.c: Likewise.
3274         * lib/progreloc.c: Likewise.
3275         * lib/safe-read.h: Likewise.
3276         * lib/safe-write.h: Likewise.
3277         * lib/sched.in.h: Likewise.
3278         * lib/set-mode-acl.c: Likewise.
3279         * lib/signal.in.h: Likewise.
3280         * lib/stdint.in.h: Likewise.
3281         * lib/stdio-impl.h: Likewise.
3282         * lib/stdlib.in.h: Likewise.
3283         * lib/strtod.c: Likewise.
3284         * lib/sys_select.in.h: Likewise.
3285         * lib/tcgetsid.c: Likewise.
3286         * lib/unistd.in.h: Likewise.
3287         * lib/unlockpt.c: Likewise.
3288         * lib/vasnprintf.c: Likewise.
3289         * lib/vma-iter.c: Likewise.
3290         * lib/wcsrtombs-state.c: Likewise.
3291         * m4/acl.m4: Likewise.
3292         * m4/acosl.m4: Likewise.
3293         * m4/asinl.m4: Likewise.
3294         * m4/atanl.m4: Likewise.
3295         * m4/c-stack.m4: Likewise.
3296         * m4/cosl.m4: Likewise.
3297         * m4/expl.m4: Likewise.
3298         * m4/extensions.m4: Likewise.
3299         * m4/fdatasync.m4: Likewise.
3300         * m4/fmal.m4: Likewise.
3301         * m4/frexp.m4: Likewise.
3302         * m4/frexpf.m4: Likewise.
3303         * m4/frexpl.m4: Likewise.
3304         * m4/fsusage.m4: Likewise.
3305         * m4/getdomainname.m4: Likewise.
3306         * m4/getloadavg.m4: Likewise.
3307         * m4/getopt.m4: Likewise.
3308         * m4/gettext.m4: Likewise.
3309         * m4/gnulib-common.m4: Likewise.
3310         * m4/intdiv0.m4: Likewise.
3311         * m4/intlmacosx.m4: Likewise.
3312         * m4/largefile.m4: Likewise.
3313         * m4/ldexpl.m4: Likewise.
3314         * m4/link-follow.m4: Likewise.
3315         * m4/locale-ar.m4: Likewise.
3316         * m4/locale-fr.m4: Likewise.
3317         * m4/locale-ja.m4: Likewise.
3318         * m4/locale-tr.m4: Likewise.
3319         * m4/locale-zh.m4: Likewise.
3320         * m4/locale_h.m4: Likewise.
3321         * m4/lock.m4: Likewise.
3322         * m4/logl.m4: Likewise.
3323         * m4/mathfunc.m4: Likewise.
3324         * m4/minus-zero.m4: Likewise.
3325         * m4/mktime.m4: Likewise.
3326         * m4/mmap-anon.m4: Likewise.
3327         * m4/multiarch.m4: Likewise.
3328         * m4/nanosleep.m4: Likewise.
3329         * m4/nocrash.m4: Likewise.
3330         * m4/poll.m4: Likewise.
3331         * m4/printf-frexpl.m4: Likewise.
3332         * m4/printf.m4: Likewise.
3333         * m4/signbit.m4: Likewise.
3334         * m4/sinl.m4: Likewise.
3335         * m4/sqrtl.m4: Likewise.
3336         * m4/strerror_r.m4: Likewise.
3337         * m4/tanl.m4: Likewise.
3338         * m4/threadlib.m4: Likewise.
3339         * m4/ttyname_r.m4: Likewise.
3340         * m4/unlink.m4: Likewise.
3341         * m4/visibility.m4: Likewise.
3342         * m4/wcwidth.m4: Likewise.
3343         * tests/minus-zero.h: Likewise.
3344         * tests/test-alloca-opt.c: Likewise.
3345         * tests/test-copy-acl.sh: Likewise.
3346         * tests/test-copy-file.sh: Likewise.
3347         * tests/test-fdatasync.c: Likewise.
3348         * tests/test-file-has-acl.sh: Likewise.
3349         * tests/test-flock.c: Likewise.
3350         * tests/test-fsync.c: Likewise.
3351         * tests/test-localename.c: Likewise.
3352         * tests/test-malloca.c: Likewise.
3353         * tests/test-nonblocking-pipe.h: Likewise.
3354         * tests/test-nonblocking-socket.h: Likewise.
3355         * tests/test-openpty.c: Likewise.
3356         * tests/test-posix_openpt.c: Likewise.
3357         * tests/test-ptsname.c: Likewise.
3358         * tests/test-ptsname_r.c: Likewise.
3359         * tests/test-sameacls.c: Likewise.
3360         * tests/test-select.h: Likewise.
3361         * tests/test-set-mode-acl.sh: Likewise.
3362         * tests/test-snprintf-posix.h: Likewise.
3363         * tests/test-sprintf-posix.h: Likewise.
3364         * tests/test-strtod.c: Likewise.
3365         * tests/test-time.c: Likewise.
3366         * tests/test-vasnprintf-posix.c: Likewise.
3367         * tests/test-vasprintf-posix.c: Likewise.
3368         * doc/acl-resources.txt: Likewise.
3369         * doc/**/*.texi: Likewise.
3370         Reported by Max Horn <max@quendi.de>.
3371
3372 2012-06-22  Bruno Haible  <bruno@clisp.org>
3373
3374         grantpt: Relax requirement regarding invalid file descriptors.
3375         * lib/grantpt.c: Don't include <fcntl.h>.
3376         (grantpt): Don't verify the validity of the file descriptor.
3377         * modules/grantpt (Depends-on): Remove fcntl-h.
3378         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
3379         file descriptors.
3380         * doc/posix-functions/grantpt.texi: Document more platforms on which
3381         grantpt succeeds for invalid file descriptors.
3382         Reported by Rich Felker <dalias@aerifal.cx>.
3383
3384 2012-06-22  Bruno Haible  <bruno@clisp.org>
3385
3386         fbufmode test: Don't test unportable behaviour.
3387         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
3388         (main): Invoke it three times.
3389         Reported by Szabolcs Nagy <nsz@port70.net>
3390         and Rich Felker <dalias@aerifal.cx>.
3391
3392 2012-06-21  Bruno Haible  <bruno@clisp.org>
3393
3394         gnulib-tool: Refactor inctests variable.
3395         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
3396         (func_modules_transitive_closure,
3397         func_modules_transitive_closure_separately,
3398         func_import, func_create_testdir): Update.
3399
3400         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
3401         * gnulib-tool: Accept option --without-tests.
3402         (func_usage): Document --without-tests option. Rearrange.
3403         (inctests): Normalize according to the mode.
3404         * NEWS: Mention the change.
3405         Suggested by Simon Josefsson.
3406
3407 2012-06-21  Bruce Korb  <bkorb@gnu.org>
3408
3409         parse-duration test: Avoid spurious output.
3410         * tests/test-parse-duration.sh: Reindent with leading tabs.
3411
3412 2012-06-21  Jim Meyering  <meyering@redhat.com>
3413
3414         maint: disable the strncpy prohibition
3415         * cfg.mk: Do not prohibit strncpy here.
3416
3417 2012-06-21  Bruno Haible  <bruno@clisp.org>
3418
3419         nonblocking: Avoid compilation error on mingw64.
3420         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
3421         fscanf.
3422         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
3423         * modules/vfscanf (configure.ac): Likewise.
3424         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
3425         definition only if stdio.h has prepared it.
3426         Reported by Daniel P. Berrange <berrange@redhat.com>.
3427
3428 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
3429
3430         gnulib-tool: Use readlink if it is available.
3431         * gnulib-tool (func_readlink): Choose function more appropriately.
3432
3433 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
3434
3435         posixtm-tests: port to buggy compiler
3436         Problem reported by Simon Josefsson in
3437         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
3438         * modules/posixtm-tests (Depends-on): Add stdint.
3439         * tests/test-posixtm.c (struct posixtm_test.t_expected):
3440         Now of type int_least64_t, not int64_t, both because that's
3441         what INT64_C returns and because int_least64_t works even
3442         on 72-bit hosts.
3443         (T): Use INT64_C on constants outside the traditional int range,
3444         to work around compiler bug noted by Simon.
3445
3446         mktime: fix integer overflow in 'configure'-time test
3447         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
3448         after integer overflow.  Problem reported by Rich Felker in
3449         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
3450         Also, don't look for further instances of a bug if we've already
3451         found one instance; this helps 'configure' run faster.
3452
3453 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
3454
3455         tmpfile, clean-temp: Fix invocation of GetVersionEx.
3456         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
3457         GetVersionEx correctly.
3458         * lib/clean-temp.c (supports_delete_on_close): Likewise.
3459
3460 2012-06-20  Bruno Haible  <bruno@clisp.org>
3461
3462         fdopen: Allow implementations that don't reject invalid fd arguments.
3463         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
3464         succeeds.
3465         Reported by Rich Felker <dalias@aerifal.cx>.
3466
3467 2012-06-20  Simon Josefsson  <simon@josefsson.org>
3468
3469         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
3470         bring in LIBINTL.
3471
3472 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
3473
3474         init.sh: do not rely on autoupated PWD
3475         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
3476         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
3477         Although Nelson's bug was not necessarily fixed by this patch,
3478         it seems wise to make the change for safety.
3479         * tests/init.sh (path_prepend_): Do not rely on PWD updating
3480         automagically after 'cd'; this is not reliable on older shells.
3481         (setup_): Fail if we cannot cd to temporary directory.
3482
3483 2012-06-19  Bruno Haible  <bruno@clisp.org>
3484
3485         stat, fstat: Avoid warnings on mingw64.
3486         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
3487         redefining.
3488         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
3489         Reported by Daniel P. Berrange <berrange@redhat.com>.
3490
3491 2012-06-19  Bruno Haible  <bruno@clisp.org>
3492
3493         stdioext: Add support for musl libc.
3494
3495         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
3496         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
3497
3498         * m4/fseterr.m4: New file.
3499         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
3500         function exists.
3501         * modules/fseterr (Files): Add m4/fseterr.m4.
3502         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
3503         __fseterr does not exist.
3504         (Makefile.am): Remove fseterr.c from lib_SOURCES.
3505
3506         * lib/freadable.h: Update comment.
3507
3508         * lib/fwritable.h: Update comment.
3509
3510         * lib/freading.h: Update comment.
3511
3512         * lib/fwriting.h: Update comment.
3513
3514         * m4/freadahead.m4: New file.
3515         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
3516         that function exists.
3517         * modules/freadahead (Files): Add m4/freadahead.m4.
3518         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
3519         __freadahead does not exist.
3520         (Makefile.am): Remove freadahead.c from lib_SOURCES.
3521
3522         * m4/freadptr.m4: New file.
3523         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
3524         function exists.
3525         * modules/freadptr (Files): Add m4/freadptr.m4.
3526         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
3527         __freadptr does not exist.
3528         (Makefile.am): Remove freadptr.c from lib_SOURCES.
3529
3530         * m4/freadseek.m4: New file.
3531         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
3532         exists.
3533         * modules/freadseek (Files): Add m4/freadseek.m4.
3534         (configure.ac): Invoke gl_FUNC_FREADSEEK.
3535
3536         * lib/fpurge.c (fpurge): Update comment.
3537
3538         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
3539
3540 2012-06-19  Bruno Haible  <bruno@clisp.org>
3541
3542         *printf-posix: Put more info into config.log.
3543         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
3544         exit code into config.log.
3545
3546 2012-06-19  Bruno Haible  <bruno@clisp.org>
3547
3548         getopt-gnu: Fix exit code overflow in autoconf test.
3549         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
3550         to keep them below < 128.
3551
3552 2012-06-17  Jim Meyering  <meyering@redhat.com>
3553
3554         maint.mk: fix typo in code to derive GPG key at release time
3555         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
3556
3557 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
3558
3559         regex: avoid warning when pointers are not long
3560         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
3561         and uintptr_t, not long, for portability to hosts where pointers and
3562         long have different sizes.  Issue noted by Daniel P. Berrange in
3563         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
3564         and fix suggested by Bruno Haible in
3565         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
3566
3567 2012-06-17  Bruno Haible  <bruno@clisp.org>
3568
3569         dummy: Relicense into the public domain.
3570         * modules/dummy (License): Set to "public domain".
3571         Suggested by Reuben Thomas.
3572
3573 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3574
3575         announce-gen: VPATH issues
3576         * build-aux/announce-gen (--srcdir): New option, used to trim the
3577         $srcdir part of the path from $builddir to NEWS.
3578         * top/maint.mk (announcement): Adjust.
3579
3580 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3581
3582         gnu-web-doc-update: VPATH builds
3583         * build-aux/gnu-web-doc-update (--builddir): New option.
3584         Revamp the handling of options.
3585         Prefer $(...) to `...`.
3586         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
3587         the template, and it is GNU mktemp specific.
3588         Prefer set -e to long series of &&.
3589         Restore the initial git branch, not "master".
3590         Properly initialize submodules (don't rely only on bootstrap).
3591         Do not reconfigure blindly, use config.status.
3592         * top/README-release: Update instructions for gnu-web-doc-update.
3593
3594 2012-06-11  Jim Meyering  <meyering@redhat.com>
3595
3596         maint.mk: revert most of the previous change re "all these"
3597         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
3598         For rationale, see the discussion at
3599         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
3600
3601 2012-06-10  Karl Berry  <karl@gnu.org>
3602
3603         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
3604
3605         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
3606
3607 2012-06-10  Bruce Korb  <bkorb@gnu.org>
3608
3609         parse-duration: Relicense under LGPLv2+.
3610         * modules/parse-duration (License): Change to LGPLv2+.
3611
3612 2012-06-10  Jim Meyering  <meyering@redhat.com>
3613
3614         maint.mk: prohibit common grammar error: "all these"
3615         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
3616         the list of prohibited word sequences.  It should be "all of these".
3617         * lib/tempname.c (__gen_tempname): Fix one of them.
3618
3619 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3620
3621         do-release-commit-and-tag: support VPATH builds
3622         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
3623         (noteworthy): Defined earlier to factor its value.
3624         (noteworthy_stub): New.
3625         Use it to factor.
3626         (help_version): Split into...
3627         (help, version): these.
3628         Adjust the option processing part.
3629         Support "--option=value" in addition to "--option value".
3630         (builddir): New.
3631         (--builddir): New option.
3632         * top/README-release: Document this.
3633         Reword slightly so that the reader cannot understand that he
3634         has to do these steps before calling do-release-commit-and-tag.
3635
3636 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3637
3638         readme-release: also require announce-gen and maintainer-makefile
3639         * modules/readme-release (Depends-on): here.
3640         * modules/announce-gen, modules/do-release-commit-and-tag,
3641         modules/gnu-web-doc-update, modules/maintainer-makefile
3642         (Description): Point to readme-release.
3643
3644 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3645
3646         maint.mk: fix VPATH issues.
3647         * top/maint.mk (news-check): GNU Make understand $< very well.
3648         (release-prep): NEWS is in $(srcdir).
3649
3650 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
3651
3652         readme-release: require the promoted modules.
3653         * modules/readme-release (Depends-on): Add
3654         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
3655         in this text.
3656
3657 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3658             Bruno Haible  <bruno@clisp.org>
3659
3660         error, strerror-override: Support mingw64 from Fedora 17.
3661         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
3662         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
3663         EINPROGRESS.
3664         * lib/strerror-override.h (strerror_override): Test it.
3665         * lib/strerror-override.c (strerror_override): Likewise.
3666         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
3667
3668 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3669             Bruno Haible  <bruno@clisp.org>
3670
3671         error, strerror-override: Support mingw64 from Fedora 17.
3672         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
3673         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
3674         * lib/strerror-override.h (strerror_override): Test it.
3675         * lib/strerror-override.c (strerror_override): Likewise.
3676
3677 2012-06-03  Bruno Haible  <bruno@clisp.org>
3678
3679         error, strerror-override: Support new errno values from POSIX:2008.
3680         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
3681         ENOTRECOVERABLE.
3682         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
3683         platforms.
3684         * lib/strerror-override.c (strerror_override): Conditionalize the
3685         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
3686         * lib/strerror-override.h (strerror_override): Declare also if
3687         GNULIB_defined_EOWNERDEAD is defined.
3688         * tests/test-errno.c (e130, e131): New variables.
3689         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
3690         ENOTRECOVERABLE.
3691         Reported by Paolo Bonzini.
3692
3693 2012-05-31  Jim Meyering  <meyering@redhat.com>
3694
3695         savewd: add missing dependency on sys_wait module
3696         * modules/savewd (Depends-on): Add sys_wait, needed at least
3697         for MSVC.  Report and suggested change by Michael Goffioul.
3698
3699 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
3700
3701         system-quote-tests: port to CentOS 5
3702         Problem reported by Tom G. Christensen in
3703         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
3704         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
3705
3706 2012-05-29  Jim Meyering  <meyering@redhat.com>
3707
3708         maint: fix typos in comments and ChangeLog
3709         Culprits identified and fixed mostly automatically using these commands:
3710         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
3711         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
3712         using http://github.com/lyda/misspell-check
3713         * ChangeLog: Fix typos.
3714         * doc/solaris-versions: Likewise.
3715         * lib/regexec.c (re_search_stub): Likewise.
3716         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
3717
3718 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
3719
3720         manywarnings: remove duplicate -Wmultichar entry
3721         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
3722         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
3723         so keep the entry marked as documented.
3724
3725 2012-05-27  Karl Berry  <karl@gnu.org>
3726
3727         * config/srclist.txt (mktime.c): remove last libc sync,
3728         perhaps just temporarily.
3729
3730 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
3731
3732         regex: don't assume uint64_t or uint32_t
3733         * lib/regcomp.c (init_word_char): Don't assume that the types
3734         uint64_t and uint32_t exist.  The C standard doesn't guarantee
3735         them, and on some 32-bit compilers there is no uint64_t.
3736         Problem reported by Gianluigi Tiesi in
3737         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
3738
3739 2012-05-25  Jim Meyering  <meyering@redhat.com>
3740
3741         maint.mk: add strncpy-prohibiting syntax-check rule
3742         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
3743
3744 2012-05-24  Jim Meyering  <meyering@redhat.com>
3745
3746         maint.mk: compute $(gpg_key_ID) more portably
3747         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
3748         That use of sed is not portable to some fringe systems.
3749         Reported by Paul Eggert in
3750         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
3751
3752 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
3753
3754         mktime: sync from glibc
3755         * config/srclist.txt: Uncomment mktime.c.
3756         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
3757         First, indent with tabs, since glibc uses tabs and doesn't want to
3758         change and we'd rather be identical to glibc.  Also, two small
3759         coding changes:
3760         (isdst_differ): Use &&, not &, as && is the usual style.
3761         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
3762         for clarity.
3763
3764 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3765
3766         announce-gen: du -h is more portable than du --human
3767         * build-aux/announce-gen (sizes): Invoke du with -h instead
3768         of --human.  Accept leading white space in its output.
3769
3770 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3771
3772         announce-gen: Improve diagnostics.
3773         * build-aux/announce-gen: When parsing command line options,
3774         prefer "announce-gen: option --release-type requires an argument"
3775         to "Option release-type requires an argument".
3776
3777 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3778
3779         maint.mk: gpg_key_ID: use sed more portably
3780         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
3781         the closing brace.
3782         (refresh-po): Fuse two sed invocations into one.
3783
3784 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
3785
3786         gitlog-to-changelog: support the log message format used in Bison.
3787         * build-aux/gitlog-to-changelog: Support --strip-tab and
3788         --strip-cherry-picked.
3789
3790 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3791
3792         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
3793         the rest of the current time slice to another thread in the current
3794         process. So if the thread that feeds the file decscriptor we're
3795         polling is not in the current process, we get busy-waiting.
3796         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
3797         Patch from Theodore Leblond.
3798         * lib/select.c: Split polling out of the loop that sets the output
3799         fd_sets.  Check for zero result and loop if the wait timeout is
3800         infinite.
3801
3802 2012-05-21  Simon Josefsson  <simon@josefsson.org>
3803
3804         select: Fix build error on IRIX 6.5.
3805         * lib/select.c: Include stddef.h for NULL.
3806
3807 2012-05-21  Simon Josefsson  <simon@josefsson.org>
3808
3809         gc: fix libgcrypt detection on older machines.
3810         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
3811         copyright years because the file has been distributed every year
3812         since it was created.
3813
3814 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
3815
3816         crypto: fix bug in large buffer handling
3817         Problem reported by Serge Belyshev for glibc in
3818         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
3819         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
3820         * lib/md4.c (md4_process_block):
3821         * lib/md5.c (md5_process_block):
3822         * lib/sha1.c (sha1_process_block):
3823         * lib/sha256.c (sha256_process_block):
3824         Don't assume the buffer length is less than 2**32.
3825         * lib/sha512.c (sha512_process_block): Likewise.
3826         Here, the bug is present only in the rare case where the host does
3827         not support uint64_t or where size_t is wider than 64 bits.
3828         Use u64size to work around the problems.
3829         * lib/u64.h (u64size): New macro.
3830
3831 2012-05-15  Pádraig Brady  <P@draigBrady.com>
3832
3833         fsusage: fix block size returned on older Linux 2.6
3834
3835         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
3836         which is available since Linux 2.6.
3837         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
3838         when the member is available so it can be used as a fallback.
3839         * doc/posix-functions/statvfs.texi: Mention the hang issue
3840         on Linux < 2.6.36.
3841
3842 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
3843
3844         bootstrap: suppress stderr chatter
3845         * build-aux/bootstrap (insert_sorted_if_absent, main program):
3846         Omit unnecessary chatter to stderr.  The main program chatter
3847         was there only inadvertantly.
3848
3849         bootstrap: .gitignore files created by autopoint, libtool
3850         I ran into this problem when bootstrapping the latest diffutils.
3851         After './bootstrap', 'git status' reported lots of untracked files
3852         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
3853         autopoint and do not need to be version-controlled.
3854         * build-aux/bootstrap: Put into .gitignore the files that
3855         autopoint and libtool create, by keeping track of files that exist
3856         after but not before these programs are run.
3857         (version_controlled_file): Move up.  2nd arg is now full file
3858         name, not base name; this is more convenient.  Put CVS at the end,
3859         as it's now somewhat deprecated.
3860
3861 2012-05-14  Jim Meyering  <meyering@redhat.com>
3862
3863         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
3864         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
3865         definition.  Reported by Bruno Haible.
3866
3867 2012-05-13  Bruno Haible  <bruno@clisp.org>
3868             Paul Eggert  <eggert@cs.ucla.edu>
3869
3870         binary-io: Define set_binary_mode function.
3871         * lib/binary-io.h (set_binary_mode): New function.
3872         (SET_BINARY): Define in terms of set_binary_mode.
3873         * modules/binary-io (configure.ac): Require AC_C_INLINE.
3874         * tests/test-binary-io.c (main): Accept an argument, and test either
3875         set_binary_mode or SET_BINARY depending on the argument.
3876         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
3877         argument. Clean up also t-bin-out0.tmp.
3878
3879 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
3880
3881         bootstrap: take advantage of POSIX shell features
3882
3883         The 'bootstrap' script offered by Gnulib script already uses POSIX
3884         shell features (like $((...)) arithmetic expansions) that are not
3885         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
3886         means that bootstrap must already be run using a proper POSIX shell,
3887         which will thus provide more features, like ${var#pattern} parameter
3888         expansion or inversion of a command exit status with '!'.  We can
3889         thus use these features to improve the clarity and the performances
3890         of the bootstrap script.
3891
3892         Suggested by Eric Blake.
3893
3894         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
3895         of sed/expr plus command substitutions, to save some forks.  While
3896         we are at it, prefer the POSIX $(...) form of command substitution,
3897         rather than the legacy form `...` (since the former is visually
3898         clearer and interacts better with quoting), and prefer the idiom:
3899           "if ! CMD; then ACTION ..."
3900         over the idiom:
3901           "if CMD; then :; else ACTION ..."
3902         which was required by legacy Bourne shells not supporting '!'.
3903
3904 2012-05-12  Bruno Haible  <bruno@clisp.org>
3905
3906         system-quote: Add more comments.
3907         * lib/system-quote.h: Add more comments about wilcards and limitations.
3908         Suggested by Eli Zaretskii <eliz@gnu.org>.
3909
3910         sh-quote, system-quote: Add comments about wildcards.
3911         * lib/sh-quote.h: Clarify what happens with wildcard characters.
3912         * lib/system-quote.h: Likewise.
3913         Reported by Eli Zaretskii <eliz@gnu.org>.
3914
3915 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
3916
3917         fsusage: check for GNU/Linux statvfs problem dynamically
3918         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
3919         Define STAT_STATFS2_BSIZE too, since in this case the code now
3920         checks dynamically whether statvfs is reliable, falling back on
3921         Linux-style statfs otherwise.
3922         (statvfs_works): New function, for dynamically testing statvfs.
3923         (get_fs_usage) [STAT_STATVFS]: Use it.
3924         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
3925         statvfs on GNU/Linux hosts, since it's now done dynamically.
3926
3927 2012-05-10  Bruno Haible  <bruno@clisp.org>
3928
3929         system-quote, execute, spawn-pipe: Escape '?' on Windows.
3930         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
3931         '?' character.
3932         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
3933         * tests/test-system-quote-main.c (check_all): Check also strings like
3934         "??????????".
3935         Reported by Eli Zaretskii <eliz@gnu.org>.
3936
3937 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
3938
3939         _Noreturn: port config.h to gcc -Wundef
3940         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
3941         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
3942         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
3943
3944 2012-05-10  Bruno Haible  <bruno@clisp.org>
3945
3946         system-quote: Refactor.
3947         * lib/system-quote.h (system_quote_copy): Fix comment.
3948         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
3949         New functions, extracted from system_quote_copy.
3950         (system_quote_length, system_quote_copy): Use these functions.
3951         Reported by Paul Eggert.
3952
3953 2012-05-08  Bruno Haible  <bruno@clisp.org>
3954
3955         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
3956         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
3957
3958 2012-05-08  Bruno Haible  <bruno@clisp.org>
3959
3960         Tests for module 'system-quote'.
3961         * modules/system-quote-tests: New file.
3962         * tests/test-system-quote.sh: New file.
3963         * tests/test-system-quote-main.c: New file.
3964         * tests/test-system-quote-child.c: New file.
3965
3966         New module 'system-quote'.
3967         * lib/system-quote.h: New file.
3968         * lib/system-quote.c: New file.
3969         * modules/system-quote: New file.
3970
3971 2012-05-08  Bruno Haible  <bruno@clisp.org>
3972
3973         sh-quote: Make C++ safe and allow multiple inclusion.
3974         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
3975         declarations in extern "C".
3976
3977 2012-05-08  Bruno Haible  <bruno@clisp.org>
3978
3979         sh-quote tests: Make tests stricter.
3980         * tests/test-sh-quote.c (check_one): Check the return value of
3981         shell_quote_copy.
3982         (main): Check a string with a CR character. Check a string that
3983         contains UCHAR_MAX.
3984
3985 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
3986
3987         warnings.m4: provide a means to specify the program to compile.
3988         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
3989         (gl_WARN_ADD): here.
3990         Use gl_AS_VAR_APPEND.
3991         Support an argument to specify the program to compile.
3992         (gl_WARN_ADD): Accept an argument to specify the program to compile.
3993         AC_SUBST the WARN_CFLAGS when they are used.
3994         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
3995         leave this to gl_WARN_ADD.
3996
3997 2012-05-08  Eric Blake  <eblake@redhat.com>
3998
3999         doc: recommendations on gettext version
4000         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
4001         choice between versions.
4002         * DEPENDENCIES (gettext): Cover both approaches.
4003
4004 2012-05-08  Jim Meyering  <meyering@redhat.com>
4005
4006         init.sh: explain why EXEEXT support uses aliases rather than functions
4007         * tests/init.sh: Add a comment.
4008
4009         init.sh: don't let bash aliases interfere with tests
4010         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
4011         is bash.  This avoids problems for those who alias standard commands to
4012         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
4013         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
4014
4015 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
4016
4017         stdint: be more consistent with glibc, SunOS libc
4018         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
4019         (gl_int_fast16_t, gl_uint_fast16_t)
4020         (gl_int_fast32_t, gl_uint_fast32_t)
4021         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
4022         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
4023         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
4024         Be consistent with glibc by default, and with SunOS 5.10 and later
4025         if __sun is defined.  This lessens the likelihood of clashes if
4026         code compiled for older hosts is combined with code compiled for
4027         newer ones.  Problem reported by Niels Möller in
4028         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
4029
4030 2012-05-07  Eric Blake  <eblake@redhat.com>
4031
4032         isatty: relax license to LGPLv2+
4033         * modules/isatty (License): Relax license.
4034
4035 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4036
4037         stat-size: comment fix
4038         * lib/stat-size.h: Remove obsolete comment about indenting.
4039
4040 2012-05-06  Bruno Haible  <bruno@clisp.org>
4041
4042         Tests for module 'sh-quote'.
4043         * modules/sh-quote-tests: New file.
4044         * tests/test-sh-quote.c: New file.
4045
4046 2012-05-06  Bruno Haible  <bruno@clisp.org>
4047
4048         sh-quote: Improve shell_quote_argv's signature.
4049         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
4050         * lib/sh-quote.c (shell_quote_argv): Likewise.
4051
4052 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4053
4054         stdint: document issues with int_fast8_t etc.
4055         * doc/posix-headers/stdint.texi (stdint.h): Say that other
4056         stdint.h substitutes may define these types differently.  See
4057         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
4058
4059 2012-05-05  Bruno Haible  <bruno@clisp.org>
4060
4061         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
4062         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
4063         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
4064         or 'guessing no (mishandles large arguments)'.
4065
4066 2012-05-05  Bruno Haible  <bruno@clisp.org>
4067
4068         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
4069         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
4070         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4071         set gl_cv_func_link_follows_symlink to "guessing no".
4072
4073 2012-05-05  Bruno Haible  <bruno@clisp.org>
4074
4075         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
4076         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
4077         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
4078         "guessing no".
4079         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
4080
4081 2012-05-05  Bruno Haible  <bruno@clisp.org>
4082
4083         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
4084         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
4085         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4086         set gl_cv_struct_dirent_d_ino to "guessing yes".
4087
4088 2012-05-05  Bruno Haible  <bruno@clisp.org>
4089
4090         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
4091         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
4092         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
4093         "guessing yes".
4094
4095 2012-05-05  Bruno Haible  <bruno@clisp.org>
4096
4097         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
4098         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
4099         compiling to a glibc system, set gl_cv_func_signbit and
4100         gl_cv_func_signbit_gcc to "guessing yes".
4101
4102 2012-05-05  Bruno Haible  <bruno@clisp.org>
4103
4104         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
4105         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
4106         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
4107         to "guessing yes".
4108         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
4109         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
4110
4111 2012-05-05  Bruno Haible  <bruno@clisp.org>
4112
4113         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
4114         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
4115         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
4116         gl_cv_func_realpath_works to "guessing yes".
4117
4118 2012-05-05  Bruno Haible  <bruno@clisp.org>
4119
4120         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
4121         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
4122         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
4123
4124 2012-05-04  Bruno Haible  <bruno@clisp.org>
4125
4126         Tweak last commit.
4127         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
4128         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4129
4130 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
4131
4132         unistd_h: make it easier to avoid sys_types_h
4133         This is useful for Emacs, which has its own method of porting to
4134         Windows, and which therefore does not need the sys_types_h module.
4135         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
4136         code moved here from gl_SYS_TYPES_H.
4137         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
4138         using the code directly.
4139         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
4140         gl_SYS_TYPES_H.
4141         * modules/sys_types (Files):
4142         * modules/unistd (Files): Add m4/off_t.m4.
4143
4144 2012-05-03  Bruno Haible  <bruno@clisp.org>
4145
4146         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
4147         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
4148         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
4149         "guessing yes" or "guessing no".
4150         (gl_FUNC_LSTAT): Update.
4151         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
4152         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
4153         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
4154
4155 2012-05-03  Bruno Haible  <bruno@clisp.org>
4156
4157         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
4158         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
4159         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
4160         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
4161         cross-compiling, choose the first alternative on glibc systems.
4162         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
4163
4164 2012-05-03  Bruno Haible  <bruno@clisp.org>
4165
4166         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
4167         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
4168         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
4169
4170 2012-05-03  Bruno Haible  <bruno@clisp.org>
4171
4172         chown: Avoid "guessing no" when cross-compiling to glibc systems.
4173         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
4174
4175 2012-05-03  Bruno Haible  <bruno@clisp.org>
4176
4177         Avoid "guessing no" guesses when cross-compiling to glibc systems.
4178         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
4179         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
4180         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
4181         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
4182         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
4183         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
4184         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
4185         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
4186         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
4187         compiling to glibc systems, set gl_cv_func_chown_slash_works,
4188         gl_cv_func_chown_ctime_works to "guessing yes".
4189         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
4190         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
4191         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
4192         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
4193         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
4194         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
4195         compiling to glibc systems, set gl_cv_func_open_directory_works to
4196         "guessing yes".
4197         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
4198         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
4199         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
4200         "guessing yes".
4201         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
4202         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
4203         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
4204         compiling to glibc systems, set gl_cv_func_floorf_ieee to
4205         "guessing yes".
4206         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
4207         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
4208         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
4209         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
4210         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
4211         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
4212         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
4213         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
4214         "guessing yes".
4215         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
4216         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
4217         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
4218         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
4219         "guessing yes".
4220         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
4221         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
4222         "guessing yes".
4223         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
4224         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
4225         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
4226         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
4227         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
4228         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
4229         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
4230         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
4231         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
4232         compiling to glibc systems, set gl_cv_func_log10f_ieee to
4233         "guessing yes".
4234         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
4235         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
4236         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
4237         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
4238         "guessing yes".
4239         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
4240         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
4241         "guessing yes".
4242         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
4243         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
4244         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
4245         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
4246         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
4247         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
4248         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
4249         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
4250         compiling to glibc systems, set gl_cv_func_mkfifo_works to
4251         "guessing yes".
4252         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
4253         compiling to glibc systems, set gl_cv_func_mknod_works to
4254         "guessing yes".
4255         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
4256         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
4257         "guessing yes".
4258         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
4259         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
4260         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
4261         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
4262         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
4263         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
4264         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
4265         compiling to glibc systems, set gl_cv_func_svid_putenv to
4266         "guessing yes".
4267         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
4268         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
4269         "guessing yes".
4270         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
4271         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
4272         "guessing yes".
4273         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
4274         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
4275         to "guessing yes".
4276         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
4277         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
4278         to "guessing yes".
4279         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
4280         compiling to glibc systems, set gl_cv_func_rmdir_works to
4281         "guessing yes".
4282         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
4283         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
4284         gl_cv_func_unlink_parent_fails to "guessing yes".
4285         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
4286         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
4287         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
4288         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
4289         gl_cv_func_rename_dest_works to "guessing yes".
4290         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
4291         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
4292         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
4293         compiling to glibc systems, set gl_cv_func_roundf_ieee to
4294         "guessing yes".
4295         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
4296         compiling to glibc systems, set gl_cv_func_roundl_ieee to
4297         "guessing yes".
4298         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
4299         compiling to glibc systems, set gl_cv_func_setenv_works to
4300         "guessing yes".
4301         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
4302         compiling to glibc systems, set gl_cv_func_unsetenv_works to
4303         "guessing yes".
4304         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
4305         compiling to glibc systems, set gl_cv_func_sleep_works to
4306         "guessing yes".
4307         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
4308         compiling to glibc systems, set gl_cv_func_stat_file_slash to
4309         "guessing yes".
4310         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
4311         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
4312         "guessing yes".
4313         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
4314         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
4315         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
4316         compiling to glibc systems, set gl_cv_func_truncf_ieee to
4317         "guessing yes".
4318         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
4319         compiling to glibc systems, set gl_cv_func_truncl_ieee to
4320         "guessing yes".
4321         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
4322         compiling to glibc systems, set gl_cv_func_usleep_works to
4323         "guessing yes".
4324         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
4325         compiling to glibc systems, set gl_cv_func_futimesat_works to
4326         "guessing yes".
4327
4328 2012-05-03  Bruno Haible  <bruno@clisp.org>
4329
4330         Say "guessing yes" or "guessing no" when cross-compiling.
4331         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
4332         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
4333         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
4334         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
4335         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
4336         am_cv_func_working_getline to "guessing yes" or "guessing no".
4337         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
4338         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
4339         (gl_FUNC_MEMMEM): When cross-compiling, set
4340         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
4341         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
4342         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
4343         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
4344         set gl_cv_func_strcasestr_works_always to "guessing yes" or
4345         "guessing no".
4346         (gl_FUNC_STRCASESTR): When cross-compiling, set
4347         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
4348         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
4349         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
4350         (gl_FUNC_STRSTR): When cross-compiling, set
4351         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
4352         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
4353         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
4354         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
4355         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
4356
4357 2012-05-01  Bruno Haible  <bruno@clisp.org>
4358
4359         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
4360         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
4361         * build-aux/reloc-ldflags: Likewise.
4362         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
4363
4364 2012-05-01  Bruno Haible  <bruno@clisp.org>
4365
4366         gnulib-tool: Remove transitional code.
4367         * gnulib-tool: Don't warn about --import with 0 arguments any more.
4368         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
4369
4370 2012-05-01  Bruno Haible  <bruno@clisp.org>
4371
4372         getcwd: Fix misindentation.
4373         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
4374
4375 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
4376
4377         exclude: process exclude and include directives in order
4378         This restores the pre-2009 behavior, and is part of a fix of a
4379         grep bug reported by Quentin Arce in
4380         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
4381         * lib/exclude.c (struct exclude): Remove 'tail' member.
4382         (new_exclude_segment): Prepend the new segment instead of appending.
4383         Return void, since that's now more convenient.
4384         (file_pattern_matches): Renamed from excluded_file_pattern_p.
4385         (file_name_matches): Renamed from excluded_file_name_p.
4386         (file_pattern_matches, file_name_matches):
4387         Return true if the pattern matches, not if it excludes.
4388         All callers changed.
4389         (excluded_file_name): Process the list in reverse order;
4390         since the list is now reversed this restores the pre-2009 behavior.
4391         (add_exclude): Adjust to new reversed-order list.  Use local var
4392         rather than macro, for clarity.
4393         * tests/test-exclude7.sh: Adjust to corrected behavior.
4394
4395         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
4396         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
4397         it's not possible here.  Handle the case of \ at end of pattern
4398         without dumping core.
4399         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
4400
4401         _Noreturn: future-proof non-GNU and non-MSVC compilers
4402         * build-aux/snippet/_Noreturn.h (_Noreturn):
4403         * m4/gnulib-common.m4 (gl_COMMON_BODY):
4404         Do not define _Noreturn if __STDC_VERSION__ indicates this is
4405         C11 or later.  This is more likely to work with random future C
4406         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
4407         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
4408
4409         exclude: handle wildcards with FNM_EXTMATCH
4410         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
4411         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
4412         comment that "has wildcards" really means "has or may have
4413         wildcards".  Simplify by avoiding the need to call strcspn.
4414
4415 2012-04-29  Bruno Haible  <bruno@clisp.org>
4416
4417         gnulib-tool: Fix list of authors.
4418         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
4419
4420 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
4421
4422         bootstrap: support Automake-NG in $buildreq
4423         * bootstrap (check_versions): Handle automake and aclocal from
4424         Automake-NG specially.  They can be specified as respectively
4425         the "automake-ng" and "aclocal-ng" requirements.
4426
4427 2012-04-25  Eric Blake  <eblake@redhat.com>
4428
4429         bootstrap: only force latest Makefile.in.in for gettext module
4430         * build-aux/bootstrap (with_gettext): Only install latest
4431         Makefile.in.in for projects requesting bleeding edge gettext.
4432
4433 2012-04-22  Bruno Haible  <bruno@clisp.org>
4434
4435         doc: Mention reason for replacement on glibc/Linux systems.
4436         * doc/posix-functions/dprintf.texi: Mention the problem with special
4437         'long double' values.
4438         * doc/posix-functions/fprintf.texi: Likewise.
4439         * doc/posix-functions/printf.texi: Likewise.
4440         * doc/posix-functions/snprintf.texi: Likewise.
4441         * doc/posix-functions/sprintf.texi: Likewise.
4442         * doc/posix-functions/vdprintf.texi: Likewise.
4443         * doc/posix-functions/vfprintf.texi: Likewise.
4444         * doc/posix-functions/vprintf.texi: Likewise.
4445         * doc/posix-functions/vsnprintf.texi: Likewise.
4446         * doc/posix-functions/vsprintf.texi: Likewise.
4447         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
4448         platforms with F_DUPFD_CLOEXEC problems.
4449         * doc/posix-functions/glob.texi: Mention which platforms are affected
4450         by the problem with symbolic links.
4451         * doc/posix-functions/linkat.texi: Mention the problem with
4452         AT_SYMLINK_FOLLOW on Linux.
4453
4454 2012-04-22  Bruno Haible  <bruno@clisp.org>
4455
4456         pwrite: Don't replace on all platforms.
4457         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
4458
4459 2012-04-22  Bruno Haible  <bruno@clisp.org>
4460
4461         rint* tests: Avoid gcc warnings.
4462         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
4463         * tests/test-rintf.c (INFINITY, NAN): Likewise.
4464         * tests/test-rintl.c (INFINITY, NAN): Likewise.
4465
4466 2012-04-21  Bruno Haible  <bruno@clisp.org>
4467
4468         users.txt: Update.
4469         * users.txt: Add freedink, wdiff. Update URLs for projects that have
4470         switched from CVS to git, bzr, or svn.
4471
4472 2012-04-21  Bruno Haible  <bruno@clisp.org>
4473
4474         Large File Support for native Windows platforms.
4475
4476         * m4/largefile.m4 (gl_LARGEFILE): New macro.
4477         * modules/largefile (configure.ac): Require gl_LARGEFILE.
4478
4479         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
4480         type.
4481         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
4482         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
4483         * doc/posix-headers/sys_types.texi: Mention the effect of the
4484         'largefile' module.
4485
4486         * lib/fcntl.in.h: Add comments about off_t.
4487         * modules/fcntl-h (Depends-on): Add sys_types.
4488
4489         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
4490         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
4491         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
4492         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
4493         * modules/unistd (Depends-on): Add sys_types.
4494         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
4495
4496         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
4497         instead of lseek.
4498         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
4499         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
4500         * modules/lseek (Depends-on): Add sys_types.
4501
4502         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
4503         msvc-nothrow.h.
4504         (SetFileSize): New function.
4505         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
4506         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
4507         if Large File Support is requested.
4508         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
4509         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
4510
4511         * lib/stdio.in.h: Add comments about off_t.
4512         * modules/stdio (Depends-on): Add sys_types.
4513
4514         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
4515         instead of ftello.
4516         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
4517         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
4518         (gl_PREREQ_FTELLO): New macro.
4519         * modules/ftello (Depends-on): Add sys_types.
4520         (configure.ac): Incoke gl_PREREQ_FTELLO.
4521
4522         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
4523         instead of fseeko.
4524         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
4525         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
4526         (gl_PREREQ_FSEEKO): New macro.
4527         * modules/fseeko (Depends-on): Add sys_types.
4528         (configure.ac): Invoke gl_PREREQ_FSEEKO.
4529
4530         * lib/sys_stat.in.h: Add comments about off_t.
4531         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
4532         64-bit integer for st_size in 'struct stat'.
4533         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
4534         Define _GL_WINDOWS_64_BIT_ST_SIZE.
4535         * modules/sys_stat (Depends-on): Add sys_types.
4536         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
4537
4538         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
4539         instead of stat or _stat.
4540
4541         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
4542         'struct _stati64' instead of fstat and 'struct stat'.
4543         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
4544         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
4545
4546         Reported by Ray Satiro <raysatiro@yahoo.com>.
4547
4548 2012-04-19  Eric Blake  <eblake@redhat.com>
4549
4550         bootstrap: accommodate older libtool
4551         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
4552         Reported by Daniel P. Berrange.
4553
4554 2012-04-19  Jim Meyering  <meyering@redhat.com>
4555
4556         announce-gen: avoid failure due to lack of Digest::SHA1
4557         Even with the preferred Digest::SHA available, this script
4558         would fail when the backup module, Digest::SHA1, was not installed.
4559         * build-aux/announce-gen: Quote the conditional use of "use".
4560         Reported by Reuben Thomas in:
4561         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
4562
4563         bootstrap: don't let a user's CDPATH setting affect this script
4564         When CDPATH is set, cd will sometimes generate output.
4565         When "cd" is run in a subshell whose output matters, that
4566         surprising-to-some output can cause malfunction.
4567         Unsetting CDPATH turns off this shell "feature."
4568         * build-aux/bootstrap (CDPATH): Unset.
4569         Reported by Reuben Thomas in:
4570         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
4571         and inspired by his patch here:
4572         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
4573
4574 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
4575         and Jim Meyering  <meyering@redhat.com>
4576
4577         maint.mk: catch "see @xref{}" and similar
4578         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
4579         prohibit "See also @xref{", "Also see @pxref{", and similar.
4580
4581 2012-04-16  Jim Meyering  <meyering@redhat.com>
4582
4583         bootstrap: really use gnulib's po/Makefile.in.in
4584         * build-aux/bootstrap: Correct the source file name in previous change.
4585         Reported by Akim Demaille.
4586
4587         configmake: correct minor inconsistency in Makefile rule
4588         * modules/configmake (Makefile.am): All other rules like this one
4589         run the final "mv -f ..." in the same backslash-continued command
4590         as the one that does everything else.  This one put the mv -f ...
4591         command on a separate, non-backslash-continued line.
4592         Make it like the others.
4593
4594         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
4595         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
4596         the one from gettext.  Reported by Akim Demaille.
4597
4598 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
4599
4600         Fix recursion of install-* into po directories.
4601         Bison's install-pdf bug reported by Hans Aberg at
4602         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
4603         * build-aux/po/Makefile.in.in (install-dvi, install-html)
4604         (install-info, install-pdf, install-ps): New targets.
4605
4606 2012-04-16  Jim Meyering  <meyering@redhat.com>
4607
4608         maint: avoid spurious "make sc_maint" failure
4609         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
4610         exempt all *.class file names, for lib/javaversion.class.
4611
4612 2012-04-15  Bruno Haible  <bruno@clisp.org>
4613
4614         lseek: Make configure test independent of environment.
4615         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
4616         Windows, we know that lseek() on pipes is broken; skip the runtime
4617         test.
4618
4619 2012-04-14  Bruno Haible  <bruno@clisp.org>
4620
4621         stat: Bypass buggy override in mingw64.
4622         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
4623         * lib/stat.c (stat) [mingw64]: Define to _stat.
4624         * doc/posix-functions/stat.texi: Mention mingw64 bug.
4625
4626 2012-04-14  Bruno Haible  <bruno@clisp.org>
4627
4628         pathmax: Fix compilation error on MSVC 9.
4629         * modules/pathmax (Depends-on): Add unistd.
4630
4631 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
4632
4633         README: document pointer comparison assumption
4634         * README (Portability guidelines): Document assumption about
4635         pointer comparisons, in response to a recent bug-gnulib comment by
4636         Jeffrey Kegler.
4637
4638 2012-04-12  Bruno Haible  <bruno@clisp.org>
4639
4640         Tests for module 'getrusage'.
4641         * modules/getrusage-tests: New file.
4642         * tests/test-getrusage.c: New file.
4643
4644         New module 'getrusage'.
4645         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
4646         warn-on-use.h.
4647         (getrusage): New declaration.
4648         * lib/getrusage.c: New file.
4649         * m4/getrusage.m4: New file.
4650         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
4651         is declared.
4652         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
4653         HAVE_GETRUSAGE.
4654         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
4655         snippet/c++defs, snippet/warn-on-use.
4656         (Makefile.am): Update generation of sys/resource.h. Substitute
4657         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
4658         * modules/getrusage: New file.
4659         * doc/posix-functions/getrusage.texi: Mention the new module.
4660
4661 2012-04-12  Bruno Haible  <bruno@clisp.org>
4662
4663         Tests for module 'sys_resource'.
4664         * modules/sys_resource-tests: New file.
4665         * tests/test-sys_resource.c: New file.
4666
4667         New module 'sys_resource'.
4668         * lib/sys_resource.in.h: New file.
4669         * m4/sys_resource_h.m4: New file.
4670         * modules/sys_resource: New file.
4671         * doc/posix-headers/sys_resource.texi: Mention the new module.
4672
4673 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
4674
4675         ioctl: Fix compilation error on mingw.
4676         * lib/ioctl.c: Include <windows.h>.
4677         Also reported by Ray Satiro <raysatiro@yahoo.com>.
4678
4679 2012-04-04  Jim Meyering  <meyering@redhat.com>
4680
4681         regex: correct #pragma guard expression
4682         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
4683         not 4.3.  Correct its cpp guard expression.
4684
4685 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
4686
4687         regex: remove unnecessary type punning
4688         Problem reported by Vladimir Serbinenko in
4689         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
4690         * lib/regex.h (struct re_pattern_buffer): Change the type of
4691         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
4692         Fix comment to match code.
4693         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
4694         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
4695         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
4696         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
4697         (set_regs):
4698         Omit no-longer-necessary casts.
4699
4700 2012-04-03  Bruno Haible  <bruno@clisp.org>
4701
4702         Tests for module 'ilogbl'.
4703         * modules/ilogbl-tests: New file.
4704         * tests/test-ilogbl.c: New file.
4705
4706         New module 'ilogbl'.
4707         * lib/math.in.h (ilogbl): New declaration.
4708         * lib/ilogbl.c: New file.
4709         * m4/ilogbl.m4: New file.
4710         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
4711         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
4712         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
4713         Split sed invocation, to avoid the limit of 100 substitutions of
4714         HP-UX 'sed'.
4715         * modules/ilogbl: New file.
4716         * tests/test-math-c++.cc: Check the declaration of ilogbl.
4717         * doc/posix-functions/ilogbl.texi: Mention the new module.
4718
4719 2012-04-03  Bruno Haible  <bruno@clisp.org>
4720
4721         Tests for module 'ilogbf'.
4722         * modules/ilogbf-tests: New file.
4723         * tests/test-ilogbf.c: New file.
4724
4725         New module 'ilogbf'.
4726         * lib/math.in.h (ilogbf): New declaration.
4727         * lib/ilogbf.c: New file.
4728         * m4/ilogbf.m4: New file.
4729         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
4730         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
4731         REPLACE_ILOGBF.
4732         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
4733         REPLACE_ILOGBF.
4734         * modules/ilogbf: New file.
4735         * tests/test-math-c++.cc: Check the declaration of ilogbf.
4736         * doc/posix-functions/ilogbf.texi: Mention the new module.
4737
4738 2012-04-03  Bruno Haible  <bruno@clisp.org>
4739
4740         Tests for module 'ilogb'.
4741         * modules/ilogb-tests: New file.
4742         * tests/test-ilogb.c: New file.
4743         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
4744         tests/test-logb-ieee.h.
4745
4746         New module 'ilogb'.
4747         * lib/math.in.h (ilogb): New declaration.
4748         * lib/ilogb.c: New file.
4749         * m4/ilogb.m4: New file.
4750         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
4751         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
4752         REPLACE_ILOGB.
4753         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
4754         REPLACE_ILOGB.
4755         * modules/ilogb: New file.
4756         * tests/test-math-c++.cc: Check the declaration of ilogb.
4757         * doc/posix-functions/ilogb.texi: Mention the new module.
4758
4759 2012-04-03  Bruno Haible  <bruno@clisp.org>
4760
4761         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
4762         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
4763         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
4764         (main): Check their values.
4765         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
4766         problem.
4767
4768 2012-04-03  Bruno Haible  <bruno@clisp.org>
4769
4770         Tests for module 'logbl-ieee'.
4771         * modules/logbl-ieee-tests: New file.
4772         * tests/test-logbl-ieee.c: New file.
4773
4774         New module 'logbl-ieee'.
4775         * modules/logbl-ieee: New file.
4776
4777         Tests for module 'logb-ieee'.
4778         * modules/logb-ieee-tests: New file.
4779         * tests/test-logb-ieee.c: New file.
4780
4781         New module 'logb-ieee'.
4782         * modules/logb-ieee: New file.
4783
4784         Tests for module 'logbf-ieee'.
4785         * modules/logbf-ieee-tests: New file.
4786         * tests/test-logbf-ieee.c: New file.
4787         * tests/test-logb-ieee.h: New file.
4788
4789         New module 'logbf-ieee'.
4790         * modules/logbf-ieee: New file.
4791
4792 2012-04-03  Bruno Haible  <bruno@clisp.org>
4793
4794         Tests for module 'logbl'.
4795         * modules/logbl-tests: New file.
4796         * tests/test-logbl.c: New file.
4797
4798         New module 'logbl'.
4799         * lib/math.in.h (logbl): New declaration.
4800         * lib/logbl.c: New file.
4801         * m4/logbl.m4: New file.
4802         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
4803         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
4804         REPLACE_LOGBL.
4805         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
4806         REPLACE_LOGBL.
4807         * modules/logbl: New file.
4808         * tests/test-math-c++.cc: Check the declaration of logbl.
4809         * doc/posix-functions/logbl.texi: Mention the new module.
4810
4811 2012-04-02  Bruno Haible  <bruno@clisp.org>
4812
4813         Tests for module 'logbf'.
4814         * modules/logbf-tests: New file.
4815         * tests/test-logbf.c: New file.
4816
4817         New module 'logbf'.
4818         * lib/math.in.h (logbf): New declaration.
4819         * lib/logbf.c: New file.
4820         * m4/logbf.m4: New file.
4821         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
4822         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
4823         REPLACE_LOGBF.
4824         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
4825         REPLACE_LOGBF.
4826         * modules/logbf: New file.
4827         * tests/test-math-c++.cc: Check the declaration of logbf.
4828         * doc/posix-functions/logbf.texi: Mention the new module.
4829
4830 2012-04-02  Bruno Haible  <bruno@clisp.org>
4831
4832         logb tests: More tests.
4833         * tests/test-logb.h: New file, based on tests/test-logb.c and
4834         tests/test-frexp.h.
4835         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
4836         (main): Just invoke test_function.
4837         * modules/logb-tests (Files): Add tests/test-logb.h,
4838         tests/minus-zero.h, tests/randomd.c.
4839         (Makefile.am): Add randomd.c to test_logb_SOURCES.
4840
4841         logb: Provide replacement and workarounds.
4842         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
4843         is 1.
4844         * lib/logb.c: New file.
4845         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
4846         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
4847         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
4848         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
4849         * modules/logb (Files): Add lib/logb.c.
4850         (Depends-on): Add isfinite, frexp, isnand.
4851         (configure.ac): Compile the replacement code logb.c if needed.
4852         * tests/test-math-c++.cc: Check the declaration of logb.
4853         * doc/posix-functions/logb.texi: Mention the replacement and the bug
4854         with subnormal numbers.
4855
4856 2012-04-02  Bruno Haible  <bruno@clisp.org>
4857
4858         log10* tests: Speed up.
4859         * tests/test-log10.h (test_function): Reduce amount of random numbers
4860         to test.
4861
4862 2012-04-01  Bruno Haible  <bruno@clisp.org>
4863
4864         logf-ieee: Fix test whether logf works.
4865         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
4866
4867 2012-04-01  Bruno Haible  <bruno@clisp.org>
4868
4869         log10l: Work around log10l-ieee test failure on IRIX 6.5.
4870         * lib/log10l.c: Include <float.h>
4871         (log10l): On IRIX, normalize the +Infinity value.
4872         * modules/log10l (Depends-on): Add 'float'.
4873         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
4874         +Infinity.
4875
4876         log10f-ieee: Work around test failure on NetBSD 5.1.
4877         * m4/log10f-ieee.m4: New file.
4878         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
4879         test whether log10f works with a negative argument. Replace it if not.
4880         * lib/log10f.c (log10f): For negative arguments, return NaN.
4881         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
4882         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
4883         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
4884
4885         log10f-ieee: Work around test failure on Solaris 9.
4886         * modules/log10f-ieee (Depends-on): Add log10-ieee.
4887         (configure.ac): Require gl_FUNC_LOG10F.
4888
4889         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
4890         * m4/log10-ieee.m4: New file.
4891         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
4892         whether log10 works with a negative argument. Replace it if not.
4893         * lib/log10.c (log10): For negative arguments, return NaN.
4894         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
4895         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
4896         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
4897
4898         Tests for module 'log10l-ieee'.
4899         * modules/log10l-ieee-tests: New file.
4900         * tests/test-log10l-ieee.c: New file.
4901
4902         New module 'log10l-ieee'.
4903         * modules/log10l-ieee: New file.
4904
4905         Tests for module 'log10-ieee'.
4906         * modules/log10-ieee-tests: New file.
4907         * tests/test-log10-ieee.c: New file.
4908
4909         New module 'log10-ieee'.
4910         * modules/log10-ieee: New file.
4911
4912         Tests for module 'log10f-ieee'.
4913         * modules/log10f-ieee-tests: New file.
4914         * tests/test-log10f-ieee.c: New file.
4915         * tests/test-log10-ieee.h: New file.
4916
4917         New module 'log10f-ieee'.
4918         * modules/log10f-ieee: New file.
4919
4920 2012-04-01  Bruno Haible  <bruno@clisp.org>
4921
4922         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
4923         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
4924         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
4925         workaround.
4926         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
4927         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
4928         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
4929         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
4930         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
4931         (Depends-on): Update conditions.
4932         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
4933         IRIX 6.5, OSF/1 5.1 problems.
4934
4935 2012-04-01  Bruno Haible  <bruno@clisp.org>
4936
4937         log10f: Work around OSF/1 5.1 bug.
4938         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
4939         * lib/log10f.c (log10f): If logf exists, use it and provide just the
4940         workaround.
4941         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
4942         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
4943         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
4944         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
4945         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
4946         (Depends-on): Update conditions.
4947         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
4948
4949 2012-04-01  Bruno Haible  <bruno@clisp.org>
4950
4951         log10: Work around OSF/1 5.1 bug.
4952         * lib/math.in.h (log10): New declaration.
4953         * lib/log10.c: New file.
4954         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
4955         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
4956         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
4957         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
4958         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
4959         * modules/log10 (Files): Add lib/log10.c.
4960         (Depends-on): Add math.
4961         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
4962         * tests/test-math-c++.cc: Check the declaration of log10.
4963         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
4964
4965 2012-03-31  Bruno Haible  <bruno@clisp.org>
4966
4967         log10l tests: More tests.
4968         * modules/log10l-tests (Files): Add tests/test-log10l.h,
4969         tests/minus-zero.h, tests/randoml.c.
4970         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
4971         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
4972         (main): Invoke test_function.
4973
4974         log10f tests: More tests.
4975         * modules/log10f-tests (Files): Add tests/test-log10.h,
4976         tests/minus-zero.h, tests/randomf.c.
4977         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
4978         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
4979         (main): Invoke test_function.
4980
4981         log10 tests: More tests.
4982         * tests/test-log10.h: New file.
4983         * modules/log10-tests (Files): Add tests/test-log10.h,
4984         tests/minus-zero.h, tests/randomd.c.
4985         (Makefile.am): Add randomd.c to test_log10_SOURCES.
4986         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
4987         (main): Invoke test_function.
4988
4989 2012-03-31  Simon Josefsson  <simon@josefsson.org>
4990
4991         fflush: Fix syntax error.
4992         * lib/fflush.c: Include unused-parameter.h, needed for
4993         _GL_UNUSED_PARAMETER.
4994         * modules/fflush (Depends-on): Add snippet/unused-parameter.
4995
4996 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
4997
4998         regex: pacify GCC when compiling GRUB
4999         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
5000         a diagnostic.  Reported by Vladimir Serbinenko in
5001         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
5002
5003 2012-03-29  Eric Blake  <eblake@redhat.com>
5004
5005         stdio: don't assume gets any more
5006         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
5007         support.
5008         * modules/stdio (Makefile.am): Likewise.
5009         * lib/stdio-read.c (gets): Likewise.
5010         * tests/test-stdio-c++.cc: Likewise.
5011         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
5012         * lib/stdio.in.h (gets): Make warning occur in more places.
5013         * doc/posix-functions/gets.texi (gets): Update documentation.
5014         Reported by Christer Solskogen.
5015
5016         maint.mk: fix syntax checks without exclusions
5017         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
5018         Reported by Daniel P. Berrange.
5019
5020         strerror_r: avoid compiler warning
5021         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
5022         level.
5023
5024         fflush: avoid compiler warning
5025         * lib/fflush.c (update_fpos_cache): Mark variables that are
5026         potentially unused.
5027
5028 2012-03-25  Bruno Haible  <bruno@clisp.org>
5029
5030         Tests for module 'localeconv'.
5031         * modules/localeconv-tests: New file.
5032         * tests/test-localeconv.c: New file.
5033
5034         New module 'localeconv'.
5035         * lib/locale.in.h (localeconv): New declaration.
5036         * lib/localeconv.c: New file.
5037         * m4/localeconv.m4: New file.
5038         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
5039         REPLACE_LOCALECONV.
5040         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
5041         REPLACE_LOCALECONV.
5042         * modules/localeconv: New file.
5043         * modules/nl_langinfo (Depends-on): Add localeconv.
5044         * modules/human (Depends-on): Likewise.
5045         * doc/posix-functions/localeconv.texi: Mention the new module.
5046
5047 2012-03-25  Bruno Haible  <bruno@clisp.org>
5048
5049         locale: Provide a complete 'struct lconv'.
5050         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5051         'struct lconv' does not contain int_p_cs_precedes.
5052         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5053         * doc/posix-headers/locale.texi: Update.
5054
5055         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
5056         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
5057         * doc/posix-headers/locale.texi: Update.
5058
5059         locale: Provide a working 'struct lconv'.
5060         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
5061         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5062         'struct lconv' does not even contain decimal_point.
5063         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
5064         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
5065         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5066         * doc/posix-headers/locale.texi: Mention the problems with
5067         'struct lconv'.
5068         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
5069
5070 2012-03-24  Bruno Haible  <bruno@clisp.org>
5071
5072         Enable common subexpression optimization in GCC.
5073         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
5074         macros.
5075         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
5076         GCC attribute 'const'.
5077         (uc_locale_language): Declare with GCC attribute 'pure'.
5078         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
5079         with GCC attribute 'const'.
5080         * lib/unictype.in.h (uc_is_general_category_withtable,
5081         uc_combining_class, uc_combining_class_name,
5082         uc_combining_class_long_name, uc_bidi_class_name,
5083         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
5084         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
5085         uc_decimal_value, uc_digit_value, uc_numeric_value,
5086         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
5087         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
5088         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
5089         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
5090         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
5091         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
5092         Declare with GCC attribute 'const'.
5093         (uc_general_category_name, uc_general_category_long_name,
5094         uc_general_category_byname, uc_general_category,
5095         uc_is_general_category, uc_combining_class_byname,
5096         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
5097         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
5098         Declare with GCC attribute 'pure'.
5099         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
5100         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
5101         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
5102         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
5103         with GCC attribute 'pure'.
5104         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
5105         'const'.
5106         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
5107         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
5108         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
5109         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
5110         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
5111         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
5112         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
5113         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
5114         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
5115         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
5116         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
5117         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
5118         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
5119         GCC attribute 'pure'.
5120         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
5121         'const'.
5122         * lib/uniwidth.in.h (uc_width): Simplify declaration.
5123         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
5124         u32_strwidth): Declare with GCC attribute 'pure'.
5125
5126         Enable common subexpression optimization in GCC.
5127         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5128         (alphasort): Declare with GCC attribute 'pure'.
5129         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5130         (atoll): Declare with GCC attribute 'pure'.
5131         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
5132         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
5133         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
5134         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5135         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
5136         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
5137         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
5138
5139 2012-03-24  Bruno Haible  <bruno@clisp.org>
5140
5141         gnulib-tool: Avoid unintended error output from 'cmp'.
5142         * gnulib-tool (func_add_file, func_update_file, func_import): Use
5143         "cmp -s", not "cmp > /dev/null".
5144
5145 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5146
5147         gnulib-tool: fix imprecise comments w.r.t. an automake bug
5148
5149         It's not just Automake versions < 1.9b that creates an empty
5150         pkgdatadir at installation time if pkgdata_DATA is specified
5151         to empty; modern automake versions do this as well, at least
5152         until automake 1.11.4 (not yet released at the moment of writing,
5153         but soon to appear).  That behaviour was generally considered a
5154         feature rather than a bug, at least until this discussion:
5155         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
5156
5157         See also automake bugs #10997 and #11030.
5158
5159         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
5160         reference to relevant automake bug numbers.
5161         (func_emit_tests_Makefile_am): Likewise.
5162
5163 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5164
5165         announce-gen: use Digest::SHA when possible
5166         * build-aux/announce-gen: Use Digest::SHA when possible, falling
5167         back to Digest::SHA1 if necessary.
5168
5169 2012-03-20  Jim Meyering  <meyering@redhat.com>
5170
5171         tests: avoid gcc warnings about argv vs. const initializers
5172         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
5173         warnings about discarding 'const' qualifier from pointer target type.
5174         * tests/test-posix_spawn2.c (main): Likewise.
5175
5176 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5177
5178         README-release: simplify slightly
5179         * top/README-release: Run "git checkout master" only once.
5180
5181 2012-03-15  Mark Wielaard  <mark@klomp.org>
5182
5183         git-merge-changelog: add specific example on how to use with hg.
5184         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
5185
5186 2012-03-18  Mark Wielaard  <mark@klomp.org>
5187
5188         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
5189
5190 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
5191
5192         git-version-gen: don't let "prefix" envvar cause trouble
5193         * build-aux/git-version-gen (prefix): Initialize properly,
5194         so as not to use a value specified via the environment.
5195         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
5196
5197 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5198
5199         regex: diagnose too-large repeat counts in EREs
5200         Previously, the code did not diagnose the too-large repeat count
5201         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
5202         as if it were 'b\{1000000000}', which is unexpected.
5203         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
5204         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
5205         is a reasonable one for this problem.  Another option would be to
5206         create a new REG_OVERFLOW error for repeat counts that are too large.
5207         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
5208         count is too large, so that the caller can distinguish the two cases.
5209         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
5210         "Too large" return code, and that repeat counts are one example of this.
5211
5212 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5213
5214         doc: some glibc x32 integer width issues
5215         * doc/posix-headers/sys_types.texi (sys/types.h):
5216         * doc/posix-headers/time.texi (time.h):
5217         Mention that glibc x32 does not conform to POSIX in a couple of
5218         areas related to integer widths.
5219
5220 2012-03-15  Bruno Haible  <bruno@clisp.org>
5221
5222         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
5223         * lib/fma.c (VOLATILE): New macro.
5224         (FUNC): Use it to work around a GCC compiler bug.
5225
5226 2012-03-13  Bruno Haible  <bruno@clisp.org>
5227
5228         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5229         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
5230         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
5231         REPLACE_HYPOTL to 1.
5232         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
5233
5234 2012-03-13  Bruno Haible  <bruno@clisp.org>
5235
5236         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5237         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
5238         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
5239         REPLACE_REMAINDERL to 1.
5240         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
5241         bug.
5242
5243 2012-03-13  Bruno Haible  <bruno@clisp.org>
5244
5245         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5246         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
5247         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
5248         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
5249         too big rounding errors.
5250         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
5251         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
5252         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
5253         (Depends-on): Update conditions.
5254         * tests/test-sqrtl.c (my_ldexpl): New function.
5255         (main): Add test of a particular value.
5256         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5257
5258 2012-03-13  Pádraig Brady  <P@draigBrady.com>
5259
5260         doc: Update timer_* platform portability notes.
5261         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
5262         that always return ENOSYS.
5263         * doc/posix-functions/timer_delete.texi: Likewise.
5264         * doc/posix-functions/timer_gettime.texi: Likewise.
5265         * doc/posix-functions/timer_settime.texi: Likewise.
5266
5267 2012-03-13  Bruno Haible  <bruno@clisp.org>
5268
5269         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5270         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
5271         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
5272         REPLACE_CBRTL to 1.
5273         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5274
5275 2012-03-13  Bruno Haible  <bruno@clisp.org>
5276
5277         remainderl: Avoid compilation error on AIX >= 5.2.
5278         * lib/math.in.h (remainderl): Undefine macro from the system header.
5279
5280 2012-03-13  Bruno Haible  <bruno@clisp.org>
5281
5282         Avoid compilation errors with MSVC option -fp:strict.
5283         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
5284         * lib/cbrtf.c: Likewise.
5285         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5286
5287 2012-03-12  Bruno Haible  <bruno@clisp.org>
5288
5289         uninorm: Don't crash in out-of-memory conditions.
5290         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
5291         gracefully.
5292         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
5293         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
5294
5295 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
5296
5297         quote: fix syntax-check
5298         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
5299         also exports quote_quoting_options.
5300
5301 2012-03-12  Simon Josefsson  <simon@josefsson.org>
5302
5303         Collapse list of copyright years to ranges.  See
5304         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
5305         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
5306         build-aux/csharpexec.sh.in, build-aux/gnupload,
5307         build-aux/install-reloc, build-aux/javacomp.sh.in,
5308         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
5309         build-aux/move-if-change, build-aux/reloc-ldflags,
5310         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
5311
5312 2012-03-11  Bruno Haible  <bruno@clisp.org>
5313
5314         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5315         * m4/log2f-ieee.m4: New file.
5316         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
5317         whether log2f works with a minus zero argument. Replace it if not.
5318         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
5319         (Depends-on): Add log2-ieee.
5320         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
5321         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
5322
5323         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5324         * m4/log2-ieee.m4: New file.
5325         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
5326         whether log2 works with a minus zero argument. Replace it if not.
5327         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
5328         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
5329         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
5330
5331         Tests for module 'log2l-ieee'.
5332         * modules/log2l-ieee-tests: New file.
5333         * tests/test-log2l-ieee.c: New file.
5334
5335         New module 'log2l-ieee'.
5336         * modules/log2l-ieee: New file.
5337
5338         Tests for module 'log2-ieee'.
5339         * modules/log2-ieee-tests: New file.
5340         * tests/test-log2-ieee.c: New file.
5341
5342         New module 'log2-ieee'.
5343         * modules/log2-ieee: New file.
5344
5345         Tests for module 'log2f-ieee'.
5346         * modules/log2f-ieee-tests: New file.
5347         * tests/test-log2f-ieee.c: New file.
5348         * tests/test-log2-ieee.h: New file.
5349
5350         New module 'log2f-ieee'.
5351         * modules/log2f-ieee: New file.
5352
5353 2012-03-11  Bruno Haible  <bruno@clisp.org>
5354
5355         Tests for module 'log2l'.
5356         * modules/log2l-tests: New file.
5357         * tests/test-log2l.c: New file.
5358
5359         New module 'log2l'.
5360         * lib/math.in.h (log2l): New declaration.
5361         * lib/log2l.c: New file.
5362         * m4/log2l.m4: New file.
5363         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
5364         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
5365         REPLACE_LOG2L.
5366         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
5367         REPLACE_LOG2L.
5368         * modules/log2l: New file.
5369         * tests/test-math-c++.cc: Check the declaration of log2l.
5370         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
5371         and OSF/1 problems.
5372
5373 2012-03-11  Bruno Haible  <bruno@clisp.org>
5374
5375         Tests for module 'log2f'.
5376         * modules/log2f-tests: New file.
5377         * tests/test-log2f.c: New file.
5378
5379         New module 'log2f'.
5380         * lib/math.in.h (log2f): New declaration.
5381         * lib/log2f.c: New file.
5382         * m4/log2f.m4: New file.
5383         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
5384         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
5385         REPLACE_LOG2F.
5386         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
5387         REPLACE_LOG2F.
5388         * modules/log2f: New file.
5389         * tests/test-math-c++.cc: Check the declaration of log2f.
5390         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
5391         and OSF/1 and Cygwin problems.
5392
5393 2012-03-11  Bruno Haible  <bruno@clisp.org>
5394
5395         Tests for module 'log2'.
5396         * modules/log2-tests: New file.
5397         * tests/test-log2.c: New file.
5398         * tests/test-log2.h: New file.
5399
5400         New module 'log2'.
5401         * lib/math.in.h (log2): New declaration.
5402         * lib/log2.c: New file.
5403         * m4/log2.m4: New file.
5404         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
5405         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
5406         REPLACE_LOG2.
5407         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
5408         REPLACE_LOG2.
5409         * modules/log2: New file.
5410         * tests/test-math-c++.cc: Check the declaration of log2.
5411         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
5412         and OSF/1 and Cygwin problems.
5413
5414 2012-03-11  Bruno Haible  <bruno@clisp.org>
5415
5416         exp2* tests: More tests.
5417         * tests/test-exp2.h (test_function): Test all integral arguments that
5418         don't need to overflow or denormalized numbers.
5419         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
5420         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
5421         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
5422
5423 2012-03-10  Bruno Haible  <bruno@clisp.org>
5424
5425         log1pl-ieee: Work around test failure on AIX 7.1.
5426         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
5427
5428         log1pl-ieee: Work around test failure on IRIX 6.5.
5429         * m4/log1pl-ieee.m4: New file.
5430         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
5431         test whether log1pl works with a minus zero argument. Replace it if
5432         not.
5433         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
5434         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
5435         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
5436         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
5437         (Depends-on): Update conditions.
5438         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5439         m4/signbit.m4.
5440         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
5441         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
5442
5443         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
5444         * m4/log1pf-ieee.m4: New file.
5445         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
5446         test whether log1pf works with a minus zero argument. Replace it if
5447         not.
5448         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
5449         m4/signbit.m4.
5450         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
5451         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
5452
5453         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
5454         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
5455         (configure.ac): Require gl_FUNC_LOG1PF.
5456
5457         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
5458         * m4/log1p-ieee.m4: New file.
5459         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
5460         whether log1p works with a minus zero argument. Replace it if not.
5461         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
5462         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
5463         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
5464         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
5465         (Depends-on): Update conditions.
5466         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5467         m4/signbit.m4.
5468         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
5469         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
5470
5471         Tests for module 'log1pl-ieee'.
5472         * modules/log1pl-ieee-tests: New file.
5473         * tests/test-log1pl-ieee.c: New file.
5474
5475         New module 'log1pl-ieee'.
5476         * modules/log1pl-ieee: New file.
5477
5478         Tests for module 'log1p-ieee'.
5479         * modules/log1p-ieee-tests: New file.
5480         * tests/test-log1p-ieee.c: New file.
5481
5482         New module 'log1p-ieee'.
5483         * modules/log1p-ieee: New file.
5484
5485         Tests for module 'log1pf-ieee'.
5486         * modules/log1pf-ieee-tests: New file.
5487         * tests/test-log1pf-ieee.c: New file.
5488         * tests/test-log1p-ieee.h: New file.
5489
5490         New module 'log1pf-ieee'.
5491         * modules/log1pf-ieee: New file.
5492
5493 2012-03-10  Bruno Haible  <bruno@clisp.org>
5494
5495         Tests for module 'log1pl'.
5496         * modules/log1pl-tests: New file.
5497         * tests/test-log1pl.c: New file.
5498
5499         New module 'log1pl'.
5500         * lib/math.in.h (log1pl): New declaration.
5501         * lib/log1pl.c: New file.
5502         * m4/log1pl.m4: New file.
5503         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
5504         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
5505         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
5506         * modules/log1pl: New file.
5507         * tests/test-math-c++.cc: Check the declaration of log1pl.
5508         * doc/posix-functions/log1pl.texi: Mention the new module.
5509
5510 2012-03-10  Bruno Haible  <bruno@clisp.org>
5511
5512         Tests for module 'log1pf'.
5513         * modules/log1pf-tests: New file.
5514         * tests/test-log1pf.c: New file.
5515
5516         New module 'log1pf'.
5517         * lib/math.in.h (log1pf): New declaration.
5518         * lib/log1pf.c: New file.
5519         * m4/log1pf.m4: New file.
5520         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
5521         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
5522         REPLACE_LOG1PF.
5523         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
5524         REPLACE_LOG1PF.
5525         * modules/log1pf: New file.
5526         * tests/test-math-c++.cc: Check the declaration of log1pf.
5527         * doc/posix-functions/log1pf.texi: Mention the new module.
5528
5529 2012-03-10  Bruno Haible  <bruno@clisp.org>
5530
5531         log1p tests: More tests.
5532         * tests/test-log1p.h: New file.
5533         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
5534         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
5535         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
5536         (main): Invoke test_function.
5537
5538         log1p: Provide replacement for Minix and MSVC.
5539         * lib/math.in.h (log1p): New declaration.
5540         * lib/log1p.c: New file.
5541         * m4/log1p.m4: New file.
5542         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
5543         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
5544         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
5545         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
5546         (Depends-on): Add math, isnand, log, round.
5547         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
5548         HAVE_LOG1P is 0.
5549         * tests/test-math-c++.cc: Check the declaration of log1p.
5550         * doc/posix-functions/log1p.texi: Mention the replacement.
5551
5552 2012-03-10  Bruno Haible  <bruno@clisp.org>
5553
5554         math tests: Small simplification.
5555         * tests/test-exp.h (test_function): Use the same err_bound for
5556         'double' on platforms with sizeof (long double) == sizeof (double)
5557         than on platforms with sizeof (long double) > sizeof (double).
5558         * tests/test-exp2.h (test_function): Likewise.
5559         * tests/test-expm1.h (test_function): Likewise.
5560         * tests/test-log.h (test_function): Likewise.
5561
5562 2012-03-10  Bruno Haible  <bruno@clisp.org>
5563
5564         Fix some comments.
5565         * lib/expl.c: Fix an ambiguous comment.
5566         * lib/expm1.c: Likewise.
5567         * lib/expm1l.c: Likewise.
5568         * lib/exp2.c: Likewise.
5569         * lib/exp2l.c: Likewise.
5570
5571 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
5572
5573         regex: allow inclusion of <regex.h> before <limits.h>
5574         Without this patch, portable programs had to include <limits.h> before
5575         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
5576         I ran into this problem with a test version of GNU grep on Solaris 8.
5577         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
5578         This is done conditionally so that this change can be merged
5579         back to glibc.
5580         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
5581         using the included regex.
5582
5583         fts: depend on fdopendir
5584         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
5585         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
5586         problem was introduced when fdopendir was split out.
5587
5588 2012-03-10  Bruno Haible  <bruno@clisp.org>
5589
5590         Remove unused variables.
5591         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
5592         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
5593
5594 2012-03-10  Bruno Haible  <bruno@clisp.org>
5595
5596         isnanf-nolibm: Fix last commit.
5597         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
5598
5599         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
5600         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
5601
5602 2012-03-10  Bruno Haible  <bruno@clisp.org>
5603
5604         logf-ieee: Work around test failure on NetBSD 5.1.
5605         * m4/logf-ieee.m4: New file.
5606         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
5607         whether logf works with a negative argument. Replace it if not.
5608         * lib/logf.c (logf): For negative arguments, return NaN.
5609         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
5610         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
5611         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
5612
5613         logf-ieee: Work around test failure on Solaris 9.
5614         * modules/logf-ieee (Depends-on): Add log-ieee.
5615         (configure.ac): Require gl_FUNC_LOGF.
5616
5617         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
5618         * m4/log-ieee.m4: New file.
5619         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
5620         log works with a negative argument. Replace it if not.
5621         * lib/log.c (log): For negative arguments, return NaN.
5622         * modules/log-ieee (Files): Add m4/log-ieee.m4.
5623         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
5624         * doc/posix-functions/log.texi: Mention the log-ieee module.
5625
5626         Tests for module 'logl-ieee'.
5627         * modules/logl-ieee-tests: New file.
5628         * tests/test-logl-ieee.c: New file.
5629
5630         New module 'logl-ieee'.
5631         * modules/logl-ieee: New file.
5632
5633         Tests for module 'log-ieee'.
5634         * modules/log-ieee-tests: New file.
5635         * tests/test-log-ieee.c: New file.
5636
5637         New module 'log-ieee'.
5638         * modules/log-ieee: New file.
5639
5640         Tests for module 'logf-ieee'.
5641         * modules/logf-ieee-tests: New file.
5642         * tests/test-logf-ieee.c: New file.
5643         * tests/test-log-ieee.h: New file.
5644
5645         New module 'logf-ieee'.
5646         * modules/logf-ieee: New file.
5647
5648 2012-03-10  Bruno Haible  <bruno@clisp.org>
5649
5650         log: Fix bug introduced on 2012-03-09.
5651         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
5652
5653 2012-03-10  Pádraig Brady  <P@draigBrady.com>
5654
5655         timer-time: link explicitly with pthreads on glibc
5656         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
5657         to support static linking, when newer glibc is
5658         detected, as that contains pthread emulation of
5659         POSIX timer functions where required.
5660         * modules/timer-time: Depend on threadlib to
5661         pull in the appropriate library to link.
5662
5663 2012-03-10  Bruno Haible  <bruno@clisp.org>
5664
5665         log* tests: More tests.
5666         * tests/test-log.h: New file.
5667         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
5668         (main): Invoke test_function.
5669         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
5670         (main): Invoke test_function.
5671         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
5672         (main): Invoke test_function.
5673         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5674         tests/randomd.c.
5675         (Makefile.am): Add randomd.c to test_log_SOURCES.
5676         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5677         tests/randomf.c.
5678         (Makefile.am): Add randomf.c to test_logf_SOURCES.
5679         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5680         tests/randoml.c.
5681         (Depends-on): Add 'float'.
5682         (Makefile.am): Add randoml.c to test_logl_SOURCES.
5683
5684 2012-03-09  Bruno Haible  <bruno@clisp.org>
5685
5686         logl: Work around OSF/1 5.1 bug.
5687         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
5688         * lib/logl.c (logl): If logl exists, use it and provide just the
5689         workaround.
5690         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
5691         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
5692         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
5693         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
5694         * modules/logl (configure.ac): Consider REPLACE_LOGL.
5695         (Depends-on): Update conditions.
5696         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
5697
5698 2012-03-09  Bruno Haible  <bruno@clisp.org>
5699
5700         logf: Work around OSF/1 5.1 bug.
5701         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
5702         * lib/logf.c (logf): If logf exists, use it and provide just the
5703         workaround.
5704         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
5705         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
5706         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
5707         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
5708         * modules/logf (configure.ac): Consider REPLACE_LOGF.
5709         (Depends-on): Update conditions.
5710         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
5711
5712 2012-03-09  Bruno Haible  <bruno@clisp.org>
5713
5714         log: Work around OSF/1 5.1 bug.
5715         * lib/math.in.h (log): New declaration.
5716         * lib/log.c: New file.
5717         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
5718         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
5719         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
5720         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
5721         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
5722         * modules/log (Files): Add lib/log.c.
5723         (Depends-on): Add math.
5724         (configure.ac): If REPLACE_LOG is 1, compile an override.
5725         * tests/test-math-c++.cc: Check the declaration of log.
5726         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
5727
5728 2012-03-09  Jim Meyering  <meyering@redhat.com>
5729
5730         readtokens.c: adjust wording in a comment
5731         * lib/readtokens.c: Insert omitted "that" in a comment.
5732
5733 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
5734
5735         modechange: add notations +40, 00440, etc.
5736         * lib/modechange.c (mode_compile): Support new notations
5737         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
5738
5739 2012-03-08  Bruno Haible  <bruno@clisp.org>
5740
5741         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
5742         * m4/exp2l-ieee.m4: New file.
5743         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
5744         test whether exp2l works with a NaN argument and with a negative
5745         infinity argument. Replace it if not.
5746         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
5747         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
5748         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
5749         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
5750         (Depends-on): Update conditions.
5751         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
5752         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
5753         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
5754
5755         Tests for module 'exp2l-ieee'.
5756         * modules/exp2l-ieee-tests: New file.
5757         * tests/test-exp2l-ieee.c: New file.
5758
5759         New module 'exp2l-ieee'.
5760         * modules/exp2l-ieee: New file.
5761
5762         Tests for module 'exp2-ieee'.
5763         * modules/exp2-ieee-tests: New file.
5764         * tests/test-exp2-ieee.c: New file.
5765
5766         New module 'exp2-ieee'.
5767         * modules/exp2-ieee: New file.
5768
5769         Tests for module 'exp2f-ieee'.
5770         * modules/exp2f-ieee-tests: New file.
5771         * tests/test-exp2f-ieee.c: New file.
5772         * tests/test-exp2-ieee.h: New file.
5773
5774         New module 'exp2f-ieee'.
5775         * modules/exp2f-ieee: New file.
5776
5777 2012-03-08  Bruno Haible  <bruno@clisp.org>
5778
5779         Tests for module 'exp2l'.
5780         * modules/exp2l-tests: New file.
5781         * tests/test-exp2l.c: New file.
5782
5783         New module 'exp2l'.
5784         * lib/math.in.h (exp2l): New declaration.
5785         * lib/exp2l.c: New file.
5786         * lib/expl-table.c: New file, extracted from lib/expl.c.
5787         * lib/expl.c (gl_expl_table): New declaration.
5788         (expl): Remove expl_table. Update reference.
5789         * m4/exp2l.m4: New file.
5790         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
5791         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
5792         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
5793         * modules/exp2l: New file.
5794         * modules/expl (Files): Add lib/expl-table.c.
5795         (configure.ac): Compile also expl-table.c.
5796         * tests/test-math-c++.cc: Check the declaration of exp2l.
5797         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
5798         problem.
5799
5800 2012-03-08  Bruno Haible  <bruno@clisp.org>
5801
5802         Tests for module 'exp2f'.
5803         * modules/exp2f-tests: New file.
5804         * tests/test-exp2f.c: New file.
5805
5806         New module 'exp2f'.
5807         * lib/math.in.h (exp2f): New declaration.
5808         * lib/exp2f.c: New file.
5809         * m4/exp2f.m4: New file.
5810         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
5811         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
5812         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
5813         * modules/exp2f: New file.
5814         * tests/test-math-c++.cc: Check the declaration of exp2f.
5815         * doc/posix-functions/exp2f.texi: Mention the new module and the
5816         IRIX problem.
5817
5818 2012-03-08  Bruno Haible  <bruno@clisp.org>
5819
5820         Tests for module 'exp2'.
5821         * modules/exp2-tests: New file.
5822         * tests/test-exp2.c: New file.
5823         * tests/test-exp2.h: New file.
5824
5825         New module 'exp2'.
5826         * lib/math.in.h (exp2): New declaration.
5827         * lib/exp2.c: New file.
5828         * m4/exp2.m4: New file.
5829         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
5830         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
5831         REPLACE_EXP2.
5832         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
5833         REPLACE_EXP2.
5834         * modules/exp2: New file.
5835         * tests/test-math-c++.cc: Check the declaration of exp2.
5836         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
5837         and OpenBSD problems.
5838
5839 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
5840
5841         savedir: fix comment typo
5842         * lib/savedir.c (savedirstream): Fix typo in comment.
5843
5844 2012-03-08  Bruno Haible  <bruno@clisp.org>
5845
5846         test-readtokens.c: use const; remove unwarranted cast
5847         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
5848
5849 2012-03-08  Bruno Haible  <bruno@clisp.org>
5850
5851         fmal: Avoid compilation error on AIX.
5852         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
5853         AIX 5.2..7.1.
5854
5855 2012-03-08  Bruno Haible  <bruno@clisp.org>
5856
5857         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
5858         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
5859         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
5860         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
5861         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
5862         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
5863         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
5864
5865 2012-03-08  Bruno Haible  <bruno@clisp.org>
5866
5867         remainderf: Override buggy system function on IRIX 6.5.
5868         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
5869         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
5870         when it exists.
5871         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
5872
5873 2012-03-08  Jim Meyering  <meyering@redhat.com>
5874
5875         test-readtokens.c: avoid const-related compilation warnings
5876         * tests/test-readtokens.c: Avoid const-related compilation warnings.
5877
5878 2012-03-07  Jim Meyering  <meyering@redhat.com>
5879             Bruno Haible  <bruno@clisp.org>
5880
5881         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
5882         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
5883         tests/randomd.c.
5884         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
5885         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
5886         tests/randoml.c.
5887         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
5888
5889 2012-03-07  Bruno Haible  <bruno@clisp.org>
5890
5891         expm1l: Avoid compilation error on AIX.
5892         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
5893         AIX 5.2..7.1.
5894
5895 2012-03-07  Bruno Haible  <bruno@clisp.org>
5896
5897         expm1l: Don't override undeclared system function on IRIX 6.5.
5898         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
5899         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
5900         it exists. Set HAVE_DECL_EXPM1L.
5901         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
5902         HAVE_EXPM1L.
5903         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
5904         HAVE_EXPM1L.
5905         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
5906
5907 2012-03-07  Bruno Haible  <bruno@clisp.org>
5908
5909         remainderl: Don't override undeclared system function on IRIX 6.5.
5910         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
5911         HAVE_REMAINDERL.
5912         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
5913         declared when it exists. Set HAVE_DECL_REMAINDERL.
5914         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
5915         not HAVE_REMAINDERL.
5916         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
5917         HAVE_REMAINDERL.
5918         * doc/posix-functions/remainderl.texi: Mention missing declaration
5919         problem.
5920
5921 2012-03-07  Bruno Haible  <bruno@clisp.org>
5922
5923         rintf: Don't override undeclared system function on IRIX 6.5.
5924         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
5925         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
5926         exists. Set HAVE_DECL_RINTF.
5927         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
5928         HAVE_RINTF.
5929         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
5930         HAVE_RINTF.
5931         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
5932
5933 2012-03-07  Bruno Haible  <bruno@clisp.org>
5934
5935         roundl: Avoid compilation error on AIX.
5936         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
5937         AIX 5.2..7.1.
5938
5939 2012-03-07  Bruno Haible  <bruno@clisp.org>
5940
5941         roundl: Don't override undeclared system function on IRIX 6.5.
5942         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
5943         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
5944         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
5945         * modules/roundl (configure.ac): For replacement code, test
5946         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
5947         (Depends-on): Update conditions.
5948         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
5949
5950 2012-03-07  Bruno Haible  <bruno@clisp.org>
5951
5952         roundf: Don't override undeclared system function on IRIX 6.5.
5953         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
5954         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
5955         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
5956         * modules/roundf (configure.ac): For replacement code, test
5957         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
5958         (Depends-on): Update conditions.
5959         * modules/roundf-ieee (Depends-on): Update conditions.
5960         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
5961
5962 2012-03-07  Bruno Haible  <bruno@clisp.org>
5963
5964         round: Don't override undeclared system function on IRIX 6.5.
5965         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
5966         argument.
5967         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
5968         also when it is not declared. Set HAVE_ROUND. For replacement code,
5969         test HAVE_ROUND, not HAVE_DECL_ROUND.
5970         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
5971         not HAVE_DECL_ROUND.
5972         (Depends-on): Update conditions.
5973         * modules/round-ieee (Depends-on): Update conditions.
5974         * doc/posix-functions/round.texi: Mention the IRIX problem.
5975
5976 2012-03-07  Bruno Haible  <bruno@clisp.org>
5977
5978         copysignf: Don't override undeclared system function on IRIX 6.5.
5979         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
5980         HAVE_COPYSIGNF.
5981         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
5982         declared when it exists. Set HAVE_DECL_COPYSIGNF.
5983         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
5984         not HAVE_COPYSIGNF.
5985         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
5986         HAVE_COPYSIGNF.
5987         * doc/posix-functions/copysignf.texi: Mention missing declaration
5988         problem.
5989
5990 2012-03-07  Jim Meyering  <meyering@redhat.com>
5991
5992         readtokens: add tests
5993         * modules/readtokens-tests: New file.
5994         * tests/test-readtokens.c: New file.
5995
5996 2012-03-07  Jim Meyering  <meyering@redhat.com>
5997
5998         quotearg: the module must now include quote.h
5999         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
6000         So must the module.
6001         * modules/quotearg (Files): Add quote.h.
6002
6003 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
6004
6005         readtokens: avoid core dumps with unusual calling patterns
6006         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
6007         * lib/readtokens.c: Include limits.h.
6008         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
6009         (readtoken): Don't cache the delimiters; the cache code was buggy
6010         if !delim && saved_delim, or if the new n_delim differs from the old.
6011         Also, it wasn't thread-safe.
6012
6013 2012-03-07  Bruno Haible  <bruno@clisp.org>
6014
6015         quote: Adhere to common module description layout.
6016         * modules/quote (Makefile.am): Add back empty section.
6017
6018 2012-03-06  Akim Demaille  <demaille@gostai.com>
6019
6020         quote: fuse into quotearg
6021         This patch is made for the benefit of Bison.
6022         quote does not leave the choice of the quoting style to the user.
6023         quoting_style provides poor customizability, yet quoting_options,
6024         which is very rich, is hidden inside quotearg.c.  So in order to
6025         allow quote customization, move its implementation to quotearg.c.
6026         * lib/quote.c: Remove.
6027         * modules/quote: Adjust.
6028         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
6029         warning: provide all the members of literal structs.
6030         (quote_quoting_options): New.
6031         (quote, quote_n): Import implementation from quote.c.
6032         * lib/quote.h: Import the comments from quote.c.
6033         (quote_quoting_options): New.
6034
6035 2012-03-06  Bruno Haible  <bruno@clisp.org>
6036
6037         Tests for module 'expm1l-ieee'.
6038         * modules/expm1l-ieee-tests: New file.
6039         * tests/test-expm1l-ieee.c: New file.
6040
6041         New module 'expm1l-ieee'.
6042         * modules/expm1l-ieee: New file.
6043
6044         Tests for module 'expm1f-ieee'.
6045         * modules/expm1f-ieee-tests: New file.
6046         * tests/test-expm1f-ieee.c: New file.
6047
6048         New module 'expm1f-ieee'.
6049         * modules/expm1f-ieee: New file.
6050
6051         Tests for module 'expm1-ieee'.
6052         * modules/expm1-ieee-tests: New file.
6053         * tests/test-expm1-ieee.c: New file.
6054         * tests/test-expm1-ieee.h: New file.
6055
6056         New module 'expm1-ieee'.
6057         * modules/expm1-ieee: New file.
6058         * m4/expm1-ieee.m4: New file.
6059         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
6060         whether expm1 works with a minus zero argument. Replace it if not.
6061         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
6062         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
6063         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
6064         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
6065         (Depends-on): Update conditions.
6066         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
6067         AIX problem.
6068
6069 2012-03-06  Bruno Haible  <bruno@clisp.org>
6070
6071         Work around expm1f bug on IRIX 6.5.
6072         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
6073         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
6074         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
6075         not work.
6076         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
6077         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
6078         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
6079         (Depends-on): Update conditions.
6080         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
6081
6082 2012-03-06  Bruno Haible  <bruno@clisp.org>
6083
6084         Tests for module 'expm1l'.
6085         * modules/expm1l-tests: New file.
6086         * tests/test-expm1l.c: New file.
6087
6088         New module 'expm1l'.
6089         * lib/math.in.h (expm1l): New declaration.
6090         * lib/expm1l.c: New file.
6091         * m4/expm1l.m4: New file.
6092         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
6093         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
6094         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
6095         * modules/expm1l: New file.
6096         * tests/test-math-c++.cc: Check the declaration of expm1l.
6097         * doc/posix-functions/expm1l.texi: Mention the new module.
6098
6099 2012-03-06  Bruno Haible  <bruno@clisp.org>
6100
6101         Tests for module 'expm1f'.
6102         * modules/expm1f-tests: New file.
6103         * tests/test-expm1f.c: New file.
6104
6105         New module 'expm1f'.
6106         * lib/math.in.h (expm1f): New declaration.
6107         * lib/expm1f.c: New file.
6108         * m4/expm1f.m4: New file.
6109         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
6110         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
6111         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
6112         * modules/expm1f: New file.
6113         * tests/test-math-c++.cc: Check the declaration of expm1f.
6114         * doc/posix-functions/expm1f.texi: Mention the new module.
6115
6116 2012-03-06  Bruno Haible  <bruno@clisp.org>
6117
6118         Tests for module 'expm1'.
6119         * modules/expm1-tests: New file.
6120         * tests/test-expm1.c: New file.
6121         * tests/test-expm1.h: New file.
6122
6123         New module 'expm1'.
6124         * lib/math.in.h (expm1): New declaration.
6125         * lib/expm1.c: New file.
6126         * m4/expm1.m4: New file.
6127         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
6128         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
6129         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
6130         * modules/expm1: New file.
6131         * tests/test-math-c++.cc: Check the declaration of expm1.
6132         * doc/posix-functions/expm1.texi: Mention the new module.
6133
6134 2012-03-06  Bruno Haible  <bruno@clisp.org>
6135
6136         math: Ensure declarations of math functions.
6137         * modules/acosf (Depends-on): Add 'extensions'.
6138         * modules/asinf (Depends-on): Likewise.
6139         * modules/atan2f (Depends-on): Likewise.
6140         * modules/atanf (Depends-on): Likewise.
6141         * modules/cbrt (Depends-on): Likewise.
6142         * modules/cbrtf (Depends-on): Likewise.
6143         * modules/cbrtl (Depends-on): Likewise.
6144         * modules/copysignf (Depends-on): Likewise.
6145         * modules/copysignl (Depends-on): Likewise.
6146         * modules/cosf (Depends-on): Likewise.
6147         * modules/coshf (Depends-on): Likewise.
6148         * modules/expf (Depends-on): Likewise.
6149         * modules/fabsf (Depends-on): Likewise.
6150         * modules/fabsl (Depends-on): Likewise.
6151         * modules/fmaf (Depends-on): Likewise.
6152         * modules/fmal (Depends-on): Likewise.
6153         * modules/fmodf (Depends-on): Likewise.
6154         * modules/fmodl (Depends-on): Likewise.
6155         * modules/frexpf (Depends-on): Likewise.
6156         * modules/frexpl (Depends-on): Likewise.
6157         * modules/hypot (Depends-on): Likewise.
6158         * modules/hypotf (Depends-on): Likewise.
6159         * modules/hypotl (Depends-on): Likewise.
6160         * modules/ldexpf (Depends-on): Likewise.
6161         * modules/ldexpl (Depends-on): Likewise.
6162         * modules/log10f (Depends-on): Likewise.
6163         * modules/log10l (Depends-on): Likewise.
6164         * modules/log1p (Depends-on): Likewise.
6165         * modules/logb (Depends-on): Likewise.
6166         * modules/logf (Depends-on): Likewise.
6167         * modules/modff (Depends-on): Likewise.
6168         * modules/modfl (Depends-on): Likewise.
6169         * modules/powf (Depends-on): Likewise.
6170         * modules/remainderf (Depends-on): Likewise.
6171         * modules/remainderl (Depends-on): Likewise.
6172         * modules/rintf (Depends-on): Likewise.
6173         * modules/rintl (Depends-on): Likewise.
6174         * modules/sinf (Depends-on): Likewise.
6175         * modules/sinhf (Depends-on): Likewise.
6176         * modules/sqrtf (Depends-on): Likewise.
6177         * modules/tanf (Depends-on): Likewise.
6178         * modules/tanhf (Depends-on): Likewise.
6179         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
6180         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
6181         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
6182         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
6183         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
6184         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
6185         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
6186         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
6187         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
6188         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
6189         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
6190         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
6191         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
6192         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
6193         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
6194         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
6195         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
6196         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6197         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
6198         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
6199         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
6200         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
6201         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
6202         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
6203         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
6204         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
6205         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
6206         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
6207         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
6208         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
6209         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
6210         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
6211         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
6212         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6213         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
6214         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
6215         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
6216         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
6217         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
6218         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
6219         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
6220
6221 2012-03-06  Bruno Haible  <bruno@clisp.org>
6222
6223         math: Update module names in warnings.
6224         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
6225         tanl): Use specific module name in warn-on-use warning.
6226
6227 2012-03-06  Bruno Haible  <bruno@clisp.org>
6228
6229         expl: Simplify computation.
6230         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
6231
6232 2012-03-05  Bruno Haible  <bruno@clisp.org>
6233
6234         exp* tests: More tests.
6235         * tests/test-exp.h: New file.
6236         * tests/test-exp.c: Include <float.h> and test-exp.h.
6237         (main): Invoke test_function.
6238         * tests/test-expf.c: Include <float.h> and test-exp.h.
6239         (main): Invoke test_function.
6240         * tests/test-expl.c: Include <float.h> and test-exp.h.
6241         (main): Invoke test_function.
6242         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
6243         (Makefile.am): Add randomd.c to test_exp_SOURCES.
6244         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
6245         (Makefile.am): Add randomf.c to test_expf_SOURCES.
6246         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
6247         (Depends-on): Add 'float'.
6248         (Makefile.am): Add randoml.c to test_expl_SOURCES.
6249
6250         expl: Fix precision of computed result.
6251         * lib/expl.c: Completely rewritten.
6252         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
6253         (Maintainer): Add me.
6254         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
6255
6256 2012-03-05  Bruno Haible  <bruno@clisp.org>
6257
6258         cbrt* tests: More tests.
6259         * tests/test-cbrt.h: New file.
6260         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
6261         (main): Invoke test_function.
6262         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
6263         (main): Invoke test_function.
6264         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
6265         (main): Invoke test_function.
6266         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
6267         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
6268         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
6269         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
6270         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
6271         (Depends-on): Add 'float'.
6272         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
6273
6274 2012-03-05  Bruno Haible  <bruno@clisp.org>
6275
6276         hypot* tests: More tests.
6277         * tests/test-hypot.h: New file, partially extracted from
6278         tests/test-hypotl.c.
6279         * tests/test-hypot.c: Include test-hypot.h.
6280         (main): Invoke test_function.
6281         * tests/test-hypotf.c: Include test-hypot.h.
6282         (main): Invoke test_function.
6283         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
6284         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
6285         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
6286         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
6287         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
6288         tests/randomf.c.
6289         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
6290         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
6291         tests/randoml.c.
6292         (Depends-on): Add 'fpucw', 'float'.
6293         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
6294
6295 2012-03-05  Bruno Haible  <bruno@clisp.org>
6296
6297         fpucw: Doc about FreeBSD.
6298         * lib/fpucw.h: Mention FreeBSD in comments.
6299
6300 2012-03-04  Bruno Haible  <bruno@clisp.org>
6301
6302         sqrt* tests: More tests.
6303         * tests/test-sqrt.h: New file.
6304         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
6305         (main): Invoke test_function.
6306         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
6307         (main): Invoke test_function.
6308         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
6309         (main): Invoke test_function.
6310         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
6311         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
6312         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
6313         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
6314         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
6315         (Depends-on): Add 'float'.
6316         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
6317
6318 2012-03-04  Bruno Haible  <bruno@clisp.org>
6319
6320         remainder* tests: More tests.
6321         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
6322         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
6323         (main): Invoke test_function.
6324         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
6325         (main): Invoke test_function.
6326         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
6327         (main): Invoke test_function.
6328         * modules/remainder-tests (Files): Add tests/test-remainder.h,
6329         tests/randomd.c.
6330         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
6331         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
6332         tests/randomf.c.
6333         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
6334         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
6335         tests/randoml.c.
6336         (Depends-on): Add 'float'.
6337         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
6338
6339 2012-03-04  Bruno Haible  <bruno@clisp.org>
6340
6341         remainder, remainderf, remainderl: Fix computation for large quotients.
6342         * lib/remainder.c: Completely rewritten.
6343         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
6344         USE_FLOAT.
6345         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
6346         USE_LONG_DOUBLE.
6347         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
6348         isnand, isinf. Remove round, fma.
6349         * modules/remainderf (Files): Add lib/remainder.c.
6350         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
6351         Remove roundf, fmaf.
6352         * modules/remainderl (Files): Add lib/remainder.c.
6353         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
6354         isinf. Remove roundl, fmal.
6355         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
6356         REMAINDER_LIBM.
6357         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
6358         REMAINDERF_LIBM.
6359         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
6360         REMAINDERL_LIBM.
6361
6362 2012-03-04  Bruno Haible  <bruno@clisp.org>
6363
6364         fmod* tests: More tests.
6365         * tests/test-fmod.h (my_ldexp): New function.
6366         (test_function): Reduce amount of random numbers to test. Add tests
6367         of very large quotients x / y.
6368         * tests/test-fmod.c (MAX_EXP): New macro.
6369         * tests/test-fmodf.c (MAX_EXP): Likewise.
6370         * tests/test-fmodl.c (MAX_EXP): Likewise.
6371
6372 2012-03-04  Bruno Haible  <bruno@clisp.org>
6373
6374         fmod, fmodl: Fix computation for large quotients x / y.
6375         * lib/fmod.c: Completely rewritten.
6376         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
6377         USE_LONG_DOUBLE.
6378         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
6379         isnand. Remove fma.
6380         * modules/fmodl (Files): Add lib/fmod.c.
6381         (Depends-on): Add float, isfinite, signbit, fabsl,
6382         frexpl, ldexpl, isnanl. Remove fma.
6383         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
6384         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
6385
6386 2012-03-03  Bruno Haible  <bruno@clisp.org>
6387
6388         fmod* tests: More tests.
6389         * tests/test-fmod.h: New file.
6390         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
6391         (main): Invoke test_function.
6392         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
6393         (main): Invoke test_function.
6394         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
6395         (main): Invoke test_function.
6396         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
6397         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
6398         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
6399         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
6400         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
6401         (Depends-on): Add 'float'.
6402         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
6403
6404 2012-03-03  Bruno Haible  <bruno@clisp.org>
6405
6406         rint* tests: More tests.
6407         * tests/test-rint.h: New file, partially extracted from
6408         tests/test-rintl.c.
6409         * tests/test-rint.c: Include test-rint.h.
6410         (main): Invoke test_function.
6411         * tests/test-rintf.c: Include test-rint.h.
6412         (main): Invoke test_function.
6413         * tests/test-rintl.c: Include test-rint.h.
6414         (main): Invoke test_function.
6415         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
6416         (Makefile.am): Add randomd.c to test_rint_SOURCES.
6417         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
6418         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
6419         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
6420         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
6421
6422 2012-03-03  Bruno Haible  <bruno@clisp.org>
6423
6424         modf* tests: More tests.
6425         * tests/test-modf.h: New file.
6426         * tests/test-modf.c: Include <float.h> and test-modf.h.
6427         (main): Invoke test_function.
6428         * tests/test-modff.c: Include <float.h> and test-modf.h.
6429         (main): Invoke test_function.
6430         * tests/test-modfl.c: Include <float.h> and test-modf.h.
6431         (main): Invoke test_function.
6432         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
6433         (Makefile.am): Add randomd.c to test_modf_SOURCES.
6434         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
6435         (Makefile.am): Add randomf.c to test_modff_SOURCES.
6436         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
6437         (Depends-on): Add 'float'.
6438         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
6439
6440 2012-03-03  Bruno Haible  <bruno@clisp.org>
6441
6442         fabs* tests: More tests.
6443         * tests/test-fabs.h: New file, partially extracted from
6444         tests/test-fabsl.c.
6445         * tests/test-fabs.c (RANDOM): New macro.
6446         * tests/test-fabsf.c (RANDOM): New macro.
6447         * tests/test-fabsl.c (RANDOM): New macro.
6448         * modules/fabs-tests (Files): Add tests/randomd.c.
6449         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
6450         * modules/fabsf-tests (Files): Add tests/randomf.c.
6451         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
6452         * modules/fabsl-tests (Files): Add tests/randoml.c.
6453         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
6454
6455 2012-03-03  Bruno Haible  <bruno@clisp.org>
6456
6457         ldexp* tests: More tests.
6458         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
6459         * tests/test-ldexp.c (RANDOM): New macro.
6460         * tests/test-ldexpf.c (RANDOM): New macro.
6461         * tests/test-ldexpl.c (RANDOM): New macro.
6462         * modules/ldexp-tests (Files): Add tests/randomd.c.
6463         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
6464         * modules/ldexpf-tests (Files): Add tests/randomf.c.
6465         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
6466         * modules/ldexpl-tests (Files): Add tests/randoml.c.
6467         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
6468
6469 2012-03-03  Bruno Haible  <bruno@clisp.org>
6470
6471         frexp* tests: More tests.
6472         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
6473         * tests/test-frexp.c (RANDOM): New macro.
6474         * tests/test-frexpf.c (RANDOM): New macro.
6475         * tests/test-frexpl.c (RANDOM): New macro.
6476         * modules/frexp-tests (Files): Add tests/randomd.c.
6477         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
6478         * modules/frexpf-tests (Files): Add tests/randomf.c.
6479         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
6480         * modules/frexpl-tests (Files): Add tests/randoml.c.
6481         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
6482
6483 2012-03-03  Bruno Haible  <bruno@clisp.org>
6484
6485         Support for pseudo-random numbers in tests.
6486         * tests/randomf.c: New file.
6487         * tests/randomd.c: New file.
6488         * tests/randoml.c: New file.
6489         * tests/macros.h (randomf, randomd, randoml): New declarations.
6490
6491 2012-03-03  Bruno Haible  <bruno@clisp.org>
6492
6493         frexp* tests: Refactor.
6494         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
6495         * tests/test-frexp.c: Include and use it.
6496         * tests/test-frexpf.c: Likewise.
6497         * tests/test-frexpl.c: Likewise.
6498         * modules/frexp-tests (Files): Add tests/test-frexp.h.
6499         * modules/frexpf-tests (Files): Likewise.
6500         * modules/frexpl-tests (Files): Likewise.
6501
6502 2012-03-02  Jim Meyering  <meyering@redhat.com>
6503
6504         maint: don't specify XZ_OPT=-9ev in dist-related rule
6505         Using xz's -9 option is warranted only if you have a very large
6506         tarball (see xz's documentation for the sizes vs. presets), and
6507         requires 64MiB of memory at decompression time.
6508         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
6509         Automake's default of just "-e" is fine.  Override on a
6510         per-package basis by setting XZ_OPT e.g., in cfg.mk.
6511
6512 2012-03-01  Eric Blake  <eblake@redhat.com>
6513
6514         maint.mk: allow announcement for non-gnulib project
6515         * maint.mk (announcement): Skip gnulib version if not used.
6516
6517 2012-03-01  Jim Meyering  <meyering@redhat.com>
6518
6519         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
6520         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
6521         envvar settings cannot interfere.  Otherwise, setting envvars like
6522         prohibit=foo require=bar, etc. would cause spurious test failures.
6523
6524 2012-03-01  Eric Blake  <eblake@redhat.com>
6525
6526         maint.mk: add per-line exclusions to prohibitions
6527         * maint.mk (_sc_search_regexp): Add $exclude parameter.
6528         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
6529         (sc_const_long_option): Use it.
6530
6531 2012-03-01  Bruno Haible  <bruno@clisp.org>
6532
6533         Tests for module 'expl-ieee'.
6534         * modules/expl-ieee-tests: New file.
6535         * tests/test-expl-ieee.c: New file.
6536
6537         New module 'expl-ieee'.
6538         * modules/expl-ieee: New file.
6539
6540         Tests for module 'exp-ieee'.
6541         * modules/exp-ieee-tests: New file.
6542         * tests/test-exp-ieee.c: New file.
6543
6544         New module 'exp-ieee'.
6545         * modules/exp-ieee: New file.
6546
6547         Tests for module 'expf-ieee'.
6548         * modules/expf-ieee-tests: New file.
6549         * tests/test-expf-ieee.c: New file.
6550         * tests/test-exp-ieee.h: New file.
6551
6552         New module 'expf-ieee'.
6553         * modules/expf-ieee: New file.
6554
6555 2012-02-29  Bruno Haible  <bruno@clisp.org>
6556
6557         cbrtl-ieee: Work around test failure on IRIX 6.5.
6558         * m4/cbrtl-ieee.m4: New file.
6559         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
6560         test whether cbrtl works with a minus zero argument. Replace it if not.
6561         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
6562         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
6563         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
6564         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
6565         (Depends-on): Update conditions.
6566         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
6567         m4/signbit.m4.
6568         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
6569         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
6570         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
6571
6572         Tests for module 'cbrtl-ieee'.
6573         * modules/cbrtl-ieee-tests: New file.
6574         * tests/test-cbrtl-ieee.c: New file.
6575
6576         New module 'cbrtl-ieee'.
6577         * modules/cbrtl-ieee: New file.
6578
6579         Tests for module 'cbrt-ieee'.
6580         * modules/cbrt-ieee-tests: New file.
6581         * tests/test-cbrt-ieee.c: New file.
6582
6583         New module 'cbrt-ieee'.
6584         * modules/cbrt-ieee: New file.
6585
6586         Tests for module 'cbrtf-ieee'.
6587         * modules/cbrtf-ieee-tests: New file.
6588         * tests/test-cbrtf-ieee.c: New file.
6589         * tests/test-cbrt-ieee.h: New file.
6590
6591         New module 'cbrtf-ieee'.
6592         * modules/cbrtf-ieee: New file.
6593
6594 2012-02-29  Bruno Haible  <bruno@clisp.org>
6595
6596         cbrtf: Work around bug in IRIX 6.5 system function.
6597         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
6598         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
6599         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
6600         work.
6601         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
6602         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
6603         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
6604         (Depends-on): Update conditions.
6605         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
6606
6607 2012-02-29  Bruno Haible  <bruno@clisp.org>
6608
6609         Tests for module 'cbrtl'.
6610         * modules/cbrtl-tests: New file.
6611         * tests/test-cbrtl.c: New file.
6612
6613         New module 'cbrtl'.
6614         * lib/math.in.h (cbrtl): New declaration.
6615         * lib/cbrtl.c: New file.
6616         * m4/cbrtl.m4: New file.
6617         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
6618         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
6619         HAVE_DECL_CBRTL.
6620         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
6621         HAVE_DECL_CBRTL.
6622         * modules/cbrtl: New file.
6623         * tests/test-math-c++.cc: Check the declaration of cbrtl.
6624         * doc/posix-functions/cbrtl.texi: Mention the new module.
6625
6626 2012-02-29  Bruno Haible  <bruno@clisp.org>
6627
6628         Tests for module 'cbrtf'.
6629         * modules/cbrtf-tests: New file.
6630         * tests/test-cbrtf.c: New file.
6631
6632         New module 'cbrtf'.
6633         * lib/math.in.h (cbrtf): New declaration.
6634         * lib/cbrtf.c: New file.
6635         * m4/cbrtf.m4: New file.
6636         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
6637         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
6638         HAVE_DECL_CBRTF.
6639         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
6640         HAVE_DECL_CBRTF.
6641         * modules/cbrtf: New file.
6642         * tests/test-math-c++.cc: Check the declaration of cbrtf.
6643         * doc/posix-functions/cbrtf.texi: Mention the new module.
6644
6645 2012-02-29  Bruno Haible  <bruno@clisp.org>
6646
6647         cbrt: Provide replacement on MSVC and Minix.
6648         * lib/math.in.h (cbrt): New declaration.
6649         * lib/cbrt.c: New file.
6650         * m4/cbrt.m4: New file.
6651         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
6652         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
6653         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
6654         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
6655         (Depends-on): Add dependencies.
6656         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
6657         * tests/test-math-c++.cc: Check the declaration of cbrt.
6658         * doc/posix-functions/cbrt.texi: Mention that the module provides a
6659         replacement.
6660
6661 2012-02-29  Bruno Haible  <bruno@clisp.org>
6662
6663         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
6664         * m4/hypotl-ieee.m4: New file.
6665         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
6666         test whether hypotl works with mixed NaN and Infinity arguments.
6667         Replace it if not.
6668         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
6669         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
6670         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
6671         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
6672         (Depends-on): Update conditions.
6673         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
6674         (Depends-on): Add hypot-ieee.
6675         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
6676         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
6677
6678         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
6679         * m4/hypotf-ieee.m4: New file.
6680         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
6681         test whether hypotf works with mixed NaN and Infinity arguments.
6682         Replace it if not.
6683         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
6684         (Depends-on): Add hypot-ieee.
6685         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
6686         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
6687
6688         hypot-ieee: Work around test failure on OSF/1 and native Windows.
6689         * lib/math.in.h (hypot): New declaration.
6690         * lib/hypot.c: New file.
6691         * m4/hypot-ieee.m4: New file.
6692         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
6693         whether hypot works with mixed NaN and Infinity arguments. Replace it
6694         if not.
6695         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
6696         REPLACE_HYPOT.
6697         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
6698         * modules/hypot (Files): Add lib/hypot.c.
6699         (Depends-on): Add dependencies.
6700         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
6701         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
6702         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
6703         * tests/test-math-c++.cc: Check the declaration of hypot.
6704         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
6705
6706         Tests for module 'hypotl-ieee'.
6707         * modules/hypotl-ieee-tests: New file.
6708         * tests/test-hypotl-ieee.c: New file.
6709
6710         New module 'hypotl-ieee'.
6711         * modules/hypotl-ieee: New file.
6712
6713         Tests for module 'hypot-ieee'.
6714         * modules/hypot-ieee-tests: New file.
6715         * tests/test-hypot-ieee.c: New file.
6716
6717         New module 'hypot-ieee'.
6718         * modules/hypot-ieee: New file.
6719
6720         Tests for module 'hypotf-ieee'.
6721         * modules/hypotf-ieee-tests: New file.
6722         * tests/test-hypotf-ieee.c: New file.
6723         * tests/test-hypot-ieee.h: New file.
6724
6725         New module 'hypotf-ieee'.
6726         * modules/hypotf-ieee: New file.
6727
6728 2012-02-29  Bruno Haible  <bruno@clisp.org>
6729
6730         Remove unused variables.
6731         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
6732         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6733         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
6734         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6735
6736 2012-02-29  Eric Blake  <eblake@redhat.com>
6737
6738         termios: fix pid_t always, not just for tcgetsid
6739         * doc/posix-headers/termios.texi (termios.h): Mention problem.
6740         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
6741         just when building tcgetsid.
6742
6743 2012-02-29  Bruno Haible  <bruno@clisp.org>
6744
6745         Tests for module 'hypotl'.
6746         * modules/hypotl-tests: New file.
6747         * tests/test-hypotl.c: New file.
6748
6749         New module 'hypotl'.
6750         * lib/math.in.h (hypotl): New declaration.
6751         * lib/hypotl.c: New file.
6752         * m4/hypotl.m4: New file.
6753         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
6754         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
6755         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
6756         * modules/hypotl: New file.
6757         * tests/test-math-c++.cc: Check the hypotl declaration.
6758         * doc/posix-functions/hypotl.texi: Mention the new module.
6759
6760 2012-02-29  Eric Blake  <eblake@redhat.com>
6761
6762         tcgetsid: fix cygwin header bug
6763         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
6764
6765         docs: update cygwin progress
6766         * doc/posix-functions/llround.texi (llround): Added in cygwin
6767         1.7.8.
6768         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
6769         * doc/glibc-functions/program_invocation_name.texi
6770         (program_invocation_name): Likewise.
6771         * doc/glibc-functions/program_invocation_short_name.texi
6772         (program_invocation_short_name): Likewise.
6773         * doc/glibc-functions/madvise.texi (madvise): Likewise.
6774         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
6775         Likewise.
6776         * doc/posix-functions/pthread_spin_destroy.texi
6777         (pthread_spin_destroy): Added in cygwin 1.7.10.
6778         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
6779         Likewise.
6780         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
6781         Likewise.
6782         * doc/posix-functions/pthread_spin_trylock.texi
6783         (pthread_spin_trylock): Likewise.
6784         * doc/posix-functions/pthread_spin_unlock.texi
6785         (pthread_spin_unlock): Likewise.
6786         * doc/posix-functions/pthread_setschedprio.texi
6787         (pthread_setschedprio): Likewise.
6788         * doc/posix-functions/pthread_attr_getstack.texi
6789         (pthread_attr_getstack): Likewise.
6790         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
6791         (pthread_attr_getstackaddr): Likewise.
6792         * doc/glibc-functions/pthread_getattr_np.texi
6793         (pthread_getattr_np): Likewise.
6794         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
6795         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
6796         * doc/posix-functions/clock_settime.texi (clock_settime):
6797         Likewise.
6798         * doc/posix-functions/pthread_attr_getguardsize.texi
6799         (pthread_attr_getguardsize): Likewise.
6800         * doc/posix-functions/pthread_attr_setguardsize.texi
6801         (pthread_attr_setguardsize): Likewise.
6802         * doc/posix-functions/pthread_attr_setstack.texi
6803         (pthread_attr_setstack): Likewise.
6804         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
6805         (pthread_attr_setstackaddr): Likewise.
6806         * doc/posix-functions/clock_getcpuclockid.texi
6807         (clock_getcpuclockid): Likewise.
6808         * doc/posix-functions/pthread_getcpuclockid.texi
6809         (pthread_getcpuclockid): Likewise.
6810         * doc/glibc-functions/error.texi (error): Likewise.
6811         * doc/glibc-functions/error_at_line.texi (error_at_line):
6812         Likewise.
6813         * doc/glibc-functions/error_message_count.texi
6814         (error_message_count): Likewise.
6815         * doc/glibc-functions/error_one_per_line.texi
6816         (error_one_per_line): Likewise.
6817         * doc/glibc-functions/error_print_progname.texi
6818         (error_print_progname): Likewise.
6819         * doc/posix-functions/pthread_condattr_getclock.texi
6820         (pthread_condattr_getclock): Likewise.
6821         * doc/posix-functions/pthread_condattr_setclock.texi
6822         (pthread_condattr_setclock): Likewise.
6823         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
6824         Likewise.
6825         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
6826         * doc/glibc-functions/getpt.texi (getpt): Likewise.
6827         * doc/glibc-functions/get_current_dir_name.texi
6828         (get_current_dir_name): Likewise.
6829         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
6830         Likewise.
6831         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
6832         wrong return type.
6833         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
6834         1.7.11.
6835
6836 2012-02-29  Bruno Haible  <bruno@clisp.org>
6837
6838         Tests for module 'hypotf'.
6839         * modules/hypotf-tests: New file.
6840         * tests/test-hypotf.c: New file.
6841
6842         New module 'hypotf'.
6843         * lib/math.in.h (hypotf): New declaration.
6844         * lib/hypotf.c: New file.
6845         * m4/hypotf.m4: New file.
6846         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
6847         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
6848         REPLACE_HYPOTF.
6849         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
6850         REPLACE_HYPOTF.
6851         * modules/hypotf: New file.
6852         * tests/test-math-c++.cc: Check the hypotf declaration.
6853         * doc/posix-functions/hypotf.texi: Mention the new module.
6854
6855         hypot: Prepare for hypotf module.
6856         * m4/hypot.m4: New file.
6857         * modules/hypot (Files): Add m4/hypot.m4.
6858         (configure.ac): Invoke gl_FUNC_HYPOT.
6859
6860 2012-02-29  Bruno Haible  <bruno@clisp.org>
6861
6862         hypot tests: More tests.
6863         * tests/test-hypot.c: Include <float.h>.
6864         (main): Add tests about overflow and underflow.
6865
6866 2012-02-29  Bruno Haible  <bruno@clisp.org>
6867
6868         math code: Add comments.
6869         * lib/acosl.c: Add comment about related glibc source files.
6870         * lib/asinl.c: Likewise.
6871         * lib/atanl.c: Likewise.
6872         * lib/expl.c: Likewise.
6873         * lib/logl.c: Likewise.
6874         * lib/sincosl.c: Likewise.
6875         * lib/sinl.c: Likewise.
6876         * lib/tanl.c: Likewise.
6877         * lib/trigl.c: Likewise.
6878         * lib/cosl.c: Likewise. Fix comments.
6879
6880 2012-02-28  Bruno Haible  <bruno@clisp.org>
6881
6882         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
6883         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
6884         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
6885         HUGE_VALL are defined.
6886         (numeric_equald): Renamed from numeric_equal.
6887         (numeric_equalf, numeric_equall): New functions.
6888         (main): Check also HUGE_VALF, HUGE_VALL.
6889         * modules/math-tests (Files): Add tests/macros.h.
6890         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
6891         HUGE_VALL.
6892
6893 2012-02-28  Bruno Haible  <bruno@clisp.org>
6894
6895         doc: Move ISO C11 feature notes into POSIX chapters.
6896         * doc/posix-functions/aligned_alloc.texi: Renamed from
6897         doc/glibc-functions/aligned_alloc.texi.
6898         * doc/posix-functions/quick_exit.texi: Renamed from
6899         doc/glibc-functions/quick_exit.texi.
6900         * doc/posix-headers/uchar.texi: Renamed from
6901         doc/glibc-headers/uchar.texi.
6902         * doc/posix-functions/c16rtomb.texi: Renamed from
6903         doc/glibc-functions/c16rtomb.texi.
6904         * doc/posix-functions/c32rtomb.texi: Renamed from
6905         doc/glibc-functions/c32rtomb.texi.
6906         * doc/posix-functions/mbrtoc16.texi: Renamed from
6907         doc/glibc-functions/mbrtoc16.texi.
6908         * doc/posix-functions/mbrtoc32.texi: Renamed from
6909         doc/glibc-functions/mbrtoc32.texi.
6910         * doc/gnulib.texi: Update.
6911         (Glibc uchar.h): Remove section.
6912         Suggested by Eric Blake.
6913
6914 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
6915
6916         stdnoreturn: port to MSVC better
6917         MSVC standard headers use __declspec(noreturn), so #define noreturn
6918         to empty on that platform.  Reported by Bruno Haible in
6919         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
6920         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
6921         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
6922
6923 2012-02-28  Bruno Haible  <bruno@clisp.org>
6924
6925         doc: Mention new glibc headers and functions.
6926         * doc/glibc-headers/uchar.texi: New file.
6927         * doc/glibc-functions/aligned_alloc.texi: New file.
6928         * doc/glibc-functions/c16rtomb.texi: New file.
6929         * doc/glibc-functions/c32rtomb.texi: New file.
6930         * doc/glibc-functions/clock_adjtime.texi: New file.
6931         * doc/glibc-functions/fanotify_init.texi: New file.
6932         * doc/glibc-functions/fanotify_mark.texi: New file.
6933         * doc/glibc-functions/inet6_opt_append.texi: New file.
6934         * doc/glibc-functions/inet6_opt_find.texi: New file.
6935         * doc/glibc-functions/inet6_opt_finish.texi: New file.
6936         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
6937         * doc/glibc-functions/inet6_opt_init.texi: New file.
6938         * doc/glibc-functions/inet6_opt_next.texi: New file.
6939         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
6940         * doc/glibc-functions/inet6_rth_add.texi: New file.
6941         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
6942         * doc/glibc-functions/inet6_rth_init.texi: New file.
6943         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
6944         * doc/glibc-functions/inet6_rth_segments.texi: New file.
6945         * doc/glibc-functions/inet6_rth_space.texi: New file.
6946         * doc/glibc-functions/login.texi: New file.
6947         * doc/glibc-functions/mbrtoc16.texi: New file.
6948         * doc/glibc-functions/mbrtoc32.texi: New file.
6949         * doc/glibc-functions/name_to_handle_at.texi: New file.
6950         * doc/glibc-functions/ntp_gettimex.texi: New file.
6951         * doc/glibc-functions/open_by_handle_at.texi: New file.
6952         * doc/glibc-functions/prlimit.texi: New file.
6953         * doc/glibc-functions/process_vm_readv.texi: New file.
6954         * doc/glibc-functions/process_vm_writev.texi: New file.
6955         * doc/glibc-functions/recvmmsg.texi: New file.
6956         * doc/glibc-functions/scandirat.texi: New file.
6957         * doc/glibc-functions/sendmmsg.texi: New file.
6958         * doc/glibc-functions/setns.texi: New file.
6959         * doc/glibc-functions/timespec_get.texi: New file.
6960         * doc/gnulib.texi: Include them.
6961         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
6962         sections.
6963         Reported by Eric Blake.
6964
6965 2012-02-28  Bruno Haible  <bruno@clisp.org>
6966
6967         Avoid compilation errors with MSVC option -fp:strict.
6968         * lib/floor.c: Use MSVC specific pragma fenv_access.
6969         * lib/ceil.c: Likewise.
6970         * lib/trunc.c: Likewise.
6971         * lib/round.c: Likewise.
6972         * lib/rint.c: Likewise.
6973         * lib/fma.c: Likewise.
6974         * lib/integer_length.c: Likewise.
6975         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6976         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6977         * tests/test-floor2.c: Likewise.
6978         * tests/test-floorf2.c: Likewise.
6979         * tests/test-ceil2.c: Likewise.
6980         * tests/test-ceilf2.c: Likewise.
6981         * tests/test-trunc2.c: Likewise.
6982         * tests/test-truncf2.c: Likewise.
6983         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
6984
6985 2012-02-27  Bruno Haible  <bruno@clisp.org>
6986
6987         Tests for module 'sqrtl-ieee'.
6988         * modules/sqrtl-ieee-tests: New file.
6989         * tests/test-sqrtl-ieee.c: New file.
6990
6991         New module 'sqrtl-ieee'.
6992         * modules/sqrtl-ieee: New file.
6993
6994         Tests for module 'sqrt-ieee'.
6995         * modules/sqrt-ieee-tests: New file.
6996         * tests/test-sqrt-ieee.c: New file.
6997
6998         New module 'sqrt-ieee'.
6999         * modules/sqrt-ieee: New file.
7000
7001         Tests for module 'sqrtf-ieee'.
7002         * modules/sqrtf-ieee-tests: New file.
7003         * tests/test-sqrtf-ieee.c: New file.
7004         * tests/test-sqrt-ieee.h: New file.
7005
7006         New module 'sqrtf-ieee'.
7007         * modules/sqrtf-ieee: New file.
7008
7009 2012-02-27  Bruno Haible  <bruno@clisp.org>
7010
7011         remainderl-ieee: Work around test failure on OSF/1.
7012         * m4/remainderl-ieee.m4: New file.
7013         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
7014         present, test whether remainderl works with a zero second argument.
7015         Replace it if not.
7016         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
7017         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
7018         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
7019         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
7020         (Depends-on): Update conditions.
7021         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
7022         (Depends-on): Add remainder-ieee.
7023         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
7024         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
7025         module.
7026
7027         remainderf-ieee: Work around test failure on OSF/1.
7028         * m4/remainderf-ieee.m4: New file.
7029         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
7030         present, test whether remainderf works with a zero second argument.
7031         Replace it if not.
7032         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
7033         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
7034         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
7035         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
7036         (Depends-on): Update conditions.
7037         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
7038         (Depends-on): Add remainder-ieee.
7039         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
7040         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
7041         module.
7042
7043         remainder-ieee: Work around test failure on OSF/1.
7044         * m4/remainder-ieee.m4: New file.
7045         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
7046         present, test whether remainder works with a zero second argument.
7047         Replace it if not.
7048         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
7049         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
7050         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
7051         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
7052         (Depends-on): Update dependencies.
7053         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
7054         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
7055         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
7056
7057         Tests for module 'remainderl-ieee'.
7058         * modules/remainderl-ieee-tests: New file.
7059         * tests/test-remainderl-ieee.c: New file.
7060
7061         New module 'remainderl-ieee'.
7062         * modules/remainderl-ieee: New file.
7063
7064         Tests for module 'remainder-ieee'.
7065         * modules/remainder-ieee-tests: New file.
7066         * tests/test-remainder-ieee.c: New file.
7067
7068         New module 'remainder-ieee'.
7069         * modules/remainder-ieee: New file.
7070
7071         Tests for module 'remainderf-ieee'.
7072         * modules/remainderf-ieee-tests: New file.
7073         * tests/test-remainderf-ieee.c: New file.
7074         * tests/test-remainder-ieee.h: New file.
7075
7076         New module 'remainderf-ieee'.
7077         * modules/remainderf-ieee: New file.
7078
7079 2012-02-27  Bruno Haible  <bruno@clisp.org>
7080
7081         modff, modfl: Fix configure syntax error.
7082         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
7083         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
7084
7085 2012-02-27  Bruno Haible  <bruno@clisp.org>
7086
7087         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
7088         * m4/fmodl-ieee.m4: New file.
7089         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
7090         whether fmodl works with zero arguments. Replace it if not.
7091         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
7092         (Depends-on): Add fmod-ieee.
7093         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
7094         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
7095
7096         fmodf-ieee: Work around test failure on OSF/1.
7097         * m4/fmodf-ieee.m4: New file.
7098         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
7099         whether fmodf works with zero arguments. Replace it if not.
7100         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
7101         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
7102         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
7103         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
7104         (Depends-on): Update dependencies.
7105         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
7106         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
7107         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
7108
7109         fmodf-ieee: Work around test failure on MSVC 9.
7110         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
7111         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
7112
7113         fmod-ieee: Work around test failures on OSF/1, mingw.
7114         * m4/fmod-ieee.m4: New file.
7115         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
7116         whether fmod works with zero arguments. Replace it if not.
7117         * lib/math.in.h (fmod): New declaration.
7118         * lib/fmod.c: New file.
7119         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
7120         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
7121         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
7122         * modules/fmod (Files): Add lib/fmod.c.
7123         (Depends-on): Add math, isinf, trunc, fma.
7124         (configure.ac): Arrange to compile lib/fmod.c if needed.
7125         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
7126         m4/signbit.m4.
7127         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
7128         * tests/test-math-c++.cc: Check the declaration of fmod.
7129         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
7130
7131         fmodl-ieee: Fix test failures.
7132         * lib/fmodl.c (fmodl): Treat Inf specially.
7133         * modules/fmodl (Depends-on): Add isinf.
7134
7135         Tests for module 'fmodl-ieee'.
7136         * modules/fmodl-ieee-tests: New file.
7137         * tests/test-fmodl-ieee.c: New file.
7138
7139         New module 'fmodl-ieee'.
7140         * modules/fmodl-ieee: New file.
7141
7142         Tests for module 'fmod-ieee'.
7143         * modules/fmod-ieee-tests: New file.
7144         * tests/test-fmod-ieee.c: New file.
7145
7146         New module 'fmod-ieee'.
7147         * modules/fmod-ieee: New file.
7148
7149         Tests for module 'fmodf-ieee'.
7150         * modules/fmodf-ieee-tests: New file.
7151         * tests/test-fmodf-ieee.c: New file.
7152         * tests/test-fmod-ieee.h: New file.
7153
7154         New module 'fmodf-ieee'.
7155         * modules/fmodf-ieee: New file.
7156
7157 2012-02-27  Bruno Haible  <bruno@clisp.org>
7158
7159         Tests for module 'rintl-ieee'.
7160         * modules/rintl-ieee-tests: New file.
7161         * tests/test-rintl-ieee.c: New file.
7162
7163         New module 'rintl-ieee'.
7164         * modules/rintl-ieee: New file.
7165
7166         Tests for module 'rint-ieee'.
7167         * modules/rint-ieee-tests: New file.
7168         * tests/test-rint-ieee.c: New file.
7169
7170         New module 'rint-ieee'.
7171         * modules/rint-ieee: New file.
7172
7173         Tests for module 'rintf-ieee'.
7174         * modules/rintf-ieee-tests: New file.
7175         * tests/test-rintf-ieee.c: New file.
7176         * tests/test-rint-ieee.h: New file.
7177
7178         New module 'rintf-ieee'.
7179         * modules/rintf-ieee: New file.
7180
7181 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
7182
7183         regex: re_search etc. should return -2 when memory exhausted
7184         This bug was uncovered when testing 'grep'.  Without the fix,
7185         re_search and friends return -1 when memory is exhausted, but -1
7186         means no match, and this causes grep to falsely report no-match
7187         instead of memory-exhaustion.  See
7188         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
7189         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
7190         trouble; this can occur if re_search_internal ran out of memory.
7191
7192 2012-02-26  Bruno Haible  <bruno@clisp.org>
7193
7194         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
7195         * m4/modfl-ieee.m4: New file.
7196         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
7197         whether modfl works with Inf. Replace it if not.
7198         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
7199         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
7200         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
7201         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
7202         (Depends-on): Update dependencies.
7203         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
7204         m4/signbit.m4.
7205         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
7206         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
7207
7208         modfl-ieee: Fix dependencies.
7209         * modules/modfl-ieee (Depends-on): Add modf-ieee.
7210
7211         modfl-ieee: Fix test failures.
7212         * lib/modfl.c (modfl): Treat NaN and Inf specially.
7213         * modules/modfl (Depends-on): Add isfinite, isinf.
7214
7215         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
7216         * m4/modff-ieee.m4: New file.
7217         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
7218         whether modff works with NaN and Inf. Replace it if not.
7219         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
7220         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
7221         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
7222         * modules/modff (configure.ac): Consider REPLACE_MODFF.
7223         (Depends-on): Update dependencies.
7224         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
7225         m4/signbit.m4.
7226         (Depends-on): Add modf-ieee.
7227         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
7228         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
7229
7230         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
7231         * m4/modf-ieee.m4: New file.
7232         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
7233         whether modf works with NaN and Inf. Replace it if not.
7234         * lib/math.in.h (modf): New declaration.
7235         * lib/modf.c: New file.
7236         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
7237         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
7238         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
7239         * modules/modf (Files): Add lib/modf.c.
7240         (Depends-on): Add math, isfinite, trunc, isinf.
7241         (configure.ac): Addrange to compile lib/modf.c if needed.
7242         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
7243         m4/signbit.m4.
7244         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
7245         * tests/test-math-c++.cc: Check the declaration of modf.
7246         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
7247
7248         Tests for module 'modfl-ieee'.
7249         * modules/modfl-ieee-tests: New file.
7250         * tests/test-modfl-ieee.c: New file.
7251
7252         New module 'modfl-ieee'.
7253         * modules/modfl-ieee: New file.
7254
7255         Tests for module 'modf-ieee'.
7256         * modules/modf-ieee-tests: New file.
7257         * tests/test-modf-ieee.c: New file.
7258
7259         New module 'modf-ieee'.
7260         * modules/modf-ieee: New file.
7261
7262         Tests for module 'modff-ieee'.
7263         * modules/modff-ieee-tests: New file.
7264         * tests/test-modff-ieee.c: New file.
7265         * tests/test-modf-ieee.h: New file.
7266
7267         New module 'modff-ieee'.
7268         * modules/modff-ieee: New file.
7269
7270 2012-02-26  Bruno Haible  <bruno@clisp.org>
7271
7272         Tests for module 'fabsl-ieee'.
7273         * modules/fabsl-ieee-tests: New file.
7274         * tests/test-fabsl-ieee.c: New file.
7275
7276         New module 'fabsl-ieee'.
7277         * modules/fabsl-ieee: New file.
7278
7279         Tests for module 'fabs-ieee'.
7280         * modules/fabs-ieee-tests: New file.
7281         * tests/test-fabs-ieee.c: New file.
7282
7283         New module 'fabs-ieee'.
7284         * modules/fabs-ieee: New file.
7285
7286         Tests for module 'fabsf-ieee'.
7287         * modules/fabsf-ieee-tests: New file.
7288         * tests/test-fabsf-ieee.c: New file.
7289         * tests/test-fabs-ieee.h: New file.
7290
7291         New module 'fabsf-ieee'.
7292         * modules/fabsf-ieee: New file.
7293
7294 2012-02-26  Bruno Haible  <bruno@clisp.org>
7295
7296         Tests for module 'fmal-ieee'.
7297         * modules/fmal-ieee-tests: New file.
7298         * tests/test-fmal-ieee.c: New file.
7299
7300         New module 'fmal-ieee'.
7301         * modules/fmal-ieee: New file.
7302
7303         Tests for module 'fma-ieee'.
7304         * modules/fma-ieee-tests: New file.
7305         * tests/test-fma-ieee.c: New file.
7306
7307         New module 'fma-ieee'.
7308         * modules/fma-ieee: New file.
7309
7310         Tests for module 'fmaf-ieee'.
7311         * modules/fmaf-ieee-tests: New file.
7312         * tests/test-fmaf-ieee.c: New file.
7313         * tests/test-fma-ieee.h: New file.
7314
7315         New module 'fmaf-ieee'.
7316         * modules/fmaf-ieee: New file.
7317
7318 2012-02-26  Bruno Haible  <bruno@clisp.org>
7319
7320         Tests for module 'ldexpl-ieee'.
7321         * modules/ldexpl-ieee-tests: New file.
7322         * tests/test-ldexpl-ieee.c: New file.
7323
7324         New module 'ldexpl-ieee'.
7325         * modules/ldexpl-ieee: New file.
7326
7327         Tests for module 'ldexp-ieee'.
7328         * modules/ldexp-ieee-tests: New file.
7329         * tests/test-ldexp-ieee.c: New file.
7330
7331         New module 'ldexp-ieee'.
7332         * modules/ldexp-ieee: New file.
7333
7334         Tests for module 'ldexpf-ieee'.
7335         * modules/ldexpf-ieee-tests: New file.
7336         * tests/test-ldexpf-ieee.c: New file.
7337         * tests/test-ldexp-ieee.h: New file.
7338
7339         New module 'ldexpf-ieee'.
7340         * modules/ldexpf-ieee: New file.
7341
7342 2012-02-26  Bruno Haible  <bruno@clisp.org>
7343
7344         Refactor frexp*-ieee tests.
7345         * tests/test-frexp-ieee.h: New file.
7346         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
7347         (main): Just call test_function.
7348         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
7349         (main): Just call test_function.
7350         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
7351         (main): Just call test_function.
7352         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
7353         * modules/frexp-ieee-tests (Files): Likewise.
7354         * modules/frexpl-ieee-tests (Files): Likewise.
7355
7356         Tests for module 'frexpl-ieee'.
7357         * modules/frexpl-ieee-tests: New file.
7358         * tests/test-frexpl-ieee.c: New file.
7359
7360         New module 'frexpl-ieee'.
7361         * modules/frexpl-ieee: New file.
7362
7363         Tests for module 'frexp-ieee'.
7364         * modules/frexp-ieee-tests: New file.
7365         * tests/test-frexp-ieee.c: New file.
7366
7367         New module 'frexp-ieee'.
7368         * modules/frexp-ieee: New file.
7369
7370         Tests for module 'frexpf-ieee'.
7371         * modules/frexpf-ieee-tests: New file.
7372         * tests/test-frexpf-ieee.c: New file.
7373
7374         New module 'frexpf-ieee'.
7375         * modules/frexpf-ieee: New file.
7376
7377 2012-02-26  Bruno Haible  <bruno@clisp.org>
7378
7379         roundl-ieee tests: More tests.
7380         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7381         (main): Add tests for [MX] shaded specification in POSIX.
7382         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7383         (Depends-on): Add isnanl-nolibm.
7384
7385         round-ieee tests: More tests.
7386         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7387         (main): Add tests for [MX] shaded specification in POSIX.
7388         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7389         (Depends-on): Add isnand-nolibm.
7390
7391         roundf-ieee tests: More tests.
7392         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7393         (main): Add tests for [MX] shaded specification in POSIX.
7394         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7395         (Depends-on): Add isnanf-nolibm.
7396
7397         truncl-ieee tests: More tests.
7398         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7399         (main): Add tests for [MX] shaded specification in POSIX.
7400         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7401         (Depends-on): Add isnanl-nolibm.
7402
7403         trunc-ieee tests: More tests.
7404         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7405         (main): Add tests for [MX] shaded specification in POSIX.
7406         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7407         (Depends-on): Add isnand-nolibm.
7408
7409         truncf-ieee tests: More tests.
7410         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7411         (main): Add tests for [MX] shaded specification in POSIX.
7412         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7413         (Depends-on): Add isnanf-nolibm.
7414
7415         ceill-ieee tests: More tests.
7416         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7417         (main): Add tests for [MX] shaded specification in POSIX.
7418         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7419         (Depends-on): Add isnanl-nolibm.
7420
7421         ceil-ieee tests: More tests.
7422         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7423         (main): Add tests for [MX] shaded specification in POSIX.
7424         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7425         (Depends-on): Add isnand-nolibm.
7426
7427         ceilf-ieee tests: More tests.
7428         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7429         (main): Add tests for [MX] shaded specification in POSIX.
7430         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7431         (Depends-on): Add isnanf-nolibm.
7432
7433         floorl-ieee tests: More tests.
7434         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7435         (main): Add tests for [MX] shaded specification in POSIX.
7436         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7437         (Depends-on): Add isnanl-nolibm.
7438
7439         floor-ieee tests: More tests.
7440         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7441         (main): Add tests for [MX] shaded specification in POSIX.
7442         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7443         (Depends-on): Add isnand-nolibm.
7444
7445         floorf-ieee tests: More tests.
7446         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7447         (main): Add tests for [MX] shaded specification in POSIX.
7448         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7449         (Depends-on): Add isnanf-nolibm.
7450
7451 2012-02-26  Bruno Haible  <bruno@clisp.org>
7452
7453         fpieee: More comments.
7454         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
7455
7456 2012-02-25  Bruno Haible  <bruno@clisp.org>
7457
7458         Tests for module 'log10l'.
7459         * modules/log10l-tests: New file.
7460         * tests/test-log10l.c: New file.
7461         * tests/test-math-c++.cc: Check the declaration of log10l.
7462
7463         New module 'log10l'.
7464         * lib/math.in.h (log10l): New declaration.
7465         * lib/log10l.c: New file.
7466         * m4/log10l.m4: New file.
7467         * modules/log10l: New file.
7468         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
7469         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
7470         HAVE_DECL_LOG10L.
7471         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
7472         HAVE_DECL_LOG10L.
7473         * doc/posix-functions/log10l.texi: Mention the new module.
7474
7475 2012-02-25  Bruno Haible  <bruno@clisp.org>
7476
7477         fmodl, remainder*: Avoid wrong results due to rounding errors.
7478         * lib/fmodl.c (fmodl): Correct the result if it is not within the
7479         expected bounds.
7480         * lib/remainderf.c (remainderf): Likewise.
7481         * lib/remainder.c (remainder): Likewise.
7482         * lib/remainderl.c (remainderl): Likewise.
7483
7484 2012-02-25  Bruno Haible  <bruno@clisp.org>
7485
7486         Tests for module 'remainderl'.
7487         * modules/remainderl-tests: New file.
7488         * tests/test-remainderl.c: New file.
7489         * tests/test-math-c++.cc: Check the declaration of remainderl.
7490
7491         New module 'remainderl'.
7492         * lib/math.in.h (remainderl): New declaration.
7493         * lib/remainderl.c: New file.
7494         * m4/remainderl.m4: New file.
7495         * modules/remainderl: New file.
7496         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
7497         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
7498         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
7499         HAVE_REMAINDERL.
7500         * doc/posix-functions/remainderl.texi: Mention the new module.
7501
7502 2012-02-25  Bruno Haible  <bruno@clisp.org>
7503
7504         Tests for module 'remainderf'.
7505         * modules/remainderf-tests: New file.
7506         * tests/test-remainderf.c: New file.
7507         * tests/test-math-c++.cc: Check the declaration of remainderf.
7508
7509         New module 'remainderf'.
7510         * lib/math.in.h (remainderf): New declaration.
7511         * lib/remainderf.c: New file.
7512         * m4/remainderf.m4: New file.
7513         * modules/remainderf: New file.
7514         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
7515         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
7516         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
7517         HAVE_REMAINDERF.
7518         * doc/posix-functions/remainderf.texi: Mention the new module.
7519
7520 2012-02-25  Bruno Haible  <bruno@clisp.org>
7521
7522         remainder: Support for MSVC.
7523         * lib/math.in.h (remainder): New declaration.
7524         * lib/remainder.c: New file.
7525         * m4/remainder.m4: New file.
7526         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
7527         (Depends-on): Add math, round, fma.
7528         (configure.ac): Use results of gl_FUNC_REMAINDER.
7529         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
7530         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
7531         HAVE_DECL_REMAINDER.
7532         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
7533         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
7534         * tests/test-math-c++.cc: Check the declaration of remainder.
7535         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
7536         problems are fixed.
7537
7538 2012-02-25  Bruno Haible  <bruno@clisp.org>
7539
7540         Tests for module 'fmodl'.
7541         * modules/fmodl-tests: New file.
7542         * tests/test-fmodl.c: New file.
7543         * tests/test-math-c++.cc: Check the declaration of fmodl.
7544
7545         New module 'fmodl'.
7546         * lib/math.in.h (fmodl): New declaration.
7547         * lib/fmodl.c: New file.
7548         * m4/fmodl.m4: New file.
7549         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
7550         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
7551         REPLACE_FMODL.
7552         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
7553         REPLACE_FMODL.
7554         * modules/fmodl: New file.
7555         * doc/posix-functions/fmodl.texi: Mention the new module.
7556
7557 2012-02-25  Bruno Haible  <bruno@clisp.org>
7558
7559         Tests for module 'modfl'.
7560         * modules/modfl-tests: New file.
7561         * tests/test-modfl.c: New file.
7562         * tests/test-math-c++.cc: Check the declaration of modfl.
7563
7564         New module 'modfl'.
7565         * lib/math.in.h (modfl): New declaration.
7566         * lib/modfl.c: New file.
7567         * m4/modfl.m4: New file.
7568         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
7569         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
7570         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
7571         * modules/modfl: New file.
7572         * doc/posix-functions/modfl.texi: Mention the new module.
7573
7574 2012-02-25  Bruno Haible  <bruno@clisp.org>
7575
7576         Tests for module 'fabsl'.
7577         * modules/fabsl-tests: New file.
7578         * tests/test-fabsl.c: New file.
7579         * tests/test-math-c++.cc: Check the declaration of fabsl.
7580
7581         New module 'fabsl'.
7582         * lib/math.in.h (fabsl): New declaration.
7583         * lib/fabsl.c: New file.
7584         * m4/fabsl.m4: New file.
7585         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
7586         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
7587         REPLACE_FABSL.
7588         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
7589         REPLACE_FABSL.
7590         * modules/fabsl: New file.
7591         * doc/posix-functions/fabsl.texi: Mention the new module.
7592
7593 2012-02-25  Bruno Haible  <bruno@clisp.org>
7594
7595         fabs tests: More tests.
7596         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
7597         (zero): New variable.
7598         (main): Add tests for signed zero.
7599         * modules/fabs-tests (Files): Add tests/minus-zero.h.
7600
7601         fabsf tests: More tests.
7602         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
7603         (zero): New variable.
7604         (main): Add tests for signed zero.
7605         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
7606
7607 2012-02-24  Bruno Haible  <bruno@clisp.org>
7608
7609         atanl: Provide function definition on MSVC.
7610         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
7611         function pointer.
7612         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
7613
7614 2012-02-24  Bruno Haible  <bruno@clisp.org>
7615
7616         acosl: Provide function definition on MSVC.
7617         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
7618         function pointer.
7619         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
7620
7621 2012-02-24  Bruno Haible  <bruno@clisp.org>
7622
7623         asinl: Provide function definition on MSVC.
7624         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
7625         function pointer.
7626         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
7627
7628 2012-02-24  Bruno Haible  <bruno@clisp.org>
7629
7630         tanl: Provide function definition on MSVC.
7631         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
7632         function pointer.
7633         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
7634
7635 2012-02-24  Bruno Haible  <bruno@clisp.org>
7636
7637         cosl: Provide function definition on MSVC.
7638         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
7639         function pointer.
7640         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
7641
7642 2012-02-24  Bruno Haible  <bruno@clisp.org>
7643
7644         sinl: Provide function definition on MSVC.
7645         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
7646         function pointer.
7647         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
7648
7649 2012-02-24  Bruno Haible  <bruno@clisp.org>
7650
7651         logl: Provide function definition on MSVC.
7652         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
7653         function pointer.
7654         * lib/math.in.h (logl): Undefine if it does not exist as a function.
7655
7656 2012-02-24  Bruno Haible  <bruno@clisp.org>
7657
7658         expl: Provide function definition on MSVC.
7659         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
7660         function pointer.
7661         * lib/math.in.h (expl): Undefine if it does not exist as a function.
7662
7663 2012-02-24  Bruno Haible  <bruno@clisp.org>
7664
7665         sqrtl: Provide function definition on MSVC.
7666         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
7667         a function pointer.
7668         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
7669
7670 2012-02-24  Bruno Haible  <bruno@clisp.org>
7671
7672         ceill: Provide function definition on MSVC.
7673         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
7674         used as a function pointer.
7675         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
7676
7677 2012-02-24  Bruno Haible  <bruno@clisp.org>
7678
7679         floorl: Provide function definition on MSVC.
7680         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
7681         used as a function pointer.
7682         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
7683
7684 2012-02-24  Bruno Haible  <bruno@clisp.org>
7685
7686         ceilf: Provide function definition on MSVC.
7687         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
7688         used as a function pointer.
7689         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
7690
7691 2012-02-24  Bruno Haible  <bruno@clisp.org>
7692
7693         floorf: Provide function definition on MSVC.
7694         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
7695         used as a function pointer.
7696         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
7697
7698 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
7699
7700         stdnoreturn: new module
7701         This implements a replacement for C11's <stdnoreturn.h>.
7702         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
7703         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
7704         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
7705         * tests/test-stdnoreturn.c: New files.
7706
7707 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
7708
7709         regex: fix false multibyte matches in some regular expressions
7710         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
7711         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
7712         * lib/regex_internal.c (re_string_skip_chars):
7713         Fix miscomputation of remain_len that may cause incomplete
7714         multi-byte character and false match.
7715
7716 2012-02-24  Jim Meyering  <meyering@redhat.com>
7717
7718         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
7719         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
7720         uses with "==" *before* the call, e.g., 0 == strcmp (...)
7721         Remove now-unnecessary str''cmp obfuscation.
7722         Suggested by Akim Demaille.
7723
7724 2012-02-24  Bruno Haible  <bruno@clisp.org>
7725
7726         streq: Rename macro.
7727         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
7728         * NEWS: Mention the change.
7729         * lib/mbrtowc.c (mbrtowc): Update.
7730         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
7731         * lib/wcwidth.c (wcwidth): Update.
7732         Suggested by Akim Demaille and Jim Meyering.
7733
7734 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
7735
7736         regex: fix typo in definition of MIN
7737         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
7738         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
7739
7740 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
7741             Bruno Haible  <bruno@clisp.org>
7742
7743         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
7744         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
7745         entries into a stack-allocated buffer directly.
7746         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
7747
7748 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
7749             Bruno Haible  <bruno@clisp.org>
7750
7751         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
7752
7753          - There were several instances of this pattern:
7754
7755              for (;;) {
7756                n = acl (f, GETACLCNT, 0, NULL);
7757                [ allocate an array A of size N ]
7758                if (acl (f, GETACL, n, a) == n)
7759                  break;
7760              }
7761
7762            This loop might never terminate if some other process is constantly
7763            manipulating the file's ACL.  The loop should be rewritten to
7764            terminate.
7765
7766          - The acl (... GETACLNT ...) call is merely an optimization; its value
7767            is merely a hint as to how big to make the array.  A better
7768            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
7769            and just guess a reasonably-big size, growing the size and trying
7770            again if it's not large enough.  This guarantees termination, and
7771            saves a system call.
7772
7773         * lib/acl-internal.h: Include <limits.h>.
7774         (MIN, SIZE_MAX): New macros.
7775         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
7776         a stack-allocated buffer, and use malloc if it does not fit. Don't
7777         use GETACLCNT.
7778         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
7779
7780 2012-02-19  Bruno Haible  <bruno@clisp.org>
7781
7782         acl: Fix endless loop on Solaris with vxfs.
7783         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
7784         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
7785         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
7786         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
7787         * tests/test-sameacls.c (main)[Solaris]: Likewise.
7788         Reported by Bill Jones in
7789         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
7790
7791 2012-02-19  Bruno Haible  <bruno@clisp.org>
7792
7793         acl: Fix copy-acl test failure on Solaris 11 2011-11.
7794         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
7795         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
7796         that this function returns 0 in some more cases.
7797
7798 2012-02-19  Bruno Haible  <bruno@clisp.org>
7799
7800         acl: Update doc references.
7801         * doc/acl-resources.txt: Update links to Solaris documentation.
7802
7803 2012-02-19  Bruno Haible  <bruno@clisp.org>
7804
7805         Fix test failure in many locales on Solaris 11.
7806         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
7807         'tr' arguments.
7808         * tests/test-pipe-filter-ii1.c (main): Likewise.
7809         * build-aux/bootstrap (check_versions): Run 'tr' command with range
7810         expressions in the C locale.
7811         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7812         * m4/host-os.m4 (gl_HOST_OS): Likewise.
7813
7814 2012-02-19  Bruno Haible  <bruno@clisp.org>
7815
7816         gnulib-tool: Improve usage message.
7817         * gnulib-tool (func_usage): Move doc of --help and --version to the
7818         section "Operation modes".
7819
7820 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
7821
7822         README-release: make it easier to execute commands
7823         * top/README-release: break commands out on to separate lines.
7824
7825 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
7826
7827         GNUmakefile: simplify detection of unconfigured trees
7828         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
7829         whether the tree make is being run from is already configured or
7830         not.  Related simplifications.
7831
7832 2012-02-13  Simon Josefsson  <simon@josefsson.org>
7833
7834         * gnulib-tool (func_usage): Document --help and --version.
7835
7836 2012-02-11  Jim Meyering  <meyering@redhat.com>
7837
7838         bootstrap: don't exit 0 upon gnulib-tool failure
7839         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
7840         its exit status, not 0.
7841
7842 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
7843
7844         README-release: various improvements
7845         * top/README-release: Give a command to push changes for the
7846         release.  Add "distcheck" to list of other pre-release checks.
7847         Fix instance of "make stable" which should be "make TYPE".
7848
7849 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
7850
7851         maint: replace FSF snail-mail addresses with URLs
7852         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
7853         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
7854         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
7855         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
7856         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
7857         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
7858         * lib/check-version.c, lib/check-version.h, lib/config.charset:
7859         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
7860         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
7861         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
7862         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
7863         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
7864         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
7865         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
7866         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
7867         * lib/glthread/thread.c, lib/glthread/thread.h:
7868         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
7869         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
7870         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
7871         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
7872         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
7873         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
7874         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
7875         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
7876         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
7877         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
7878         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
7879         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
7880         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
7881         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
7882         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
7883         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
7884         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
7885         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
7886         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
7887         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
7888         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
7889         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
7890         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
7891         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
7892         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
7893         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
7894         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
7895         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
7896         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
7897         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
7898         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
7899         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
7900         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
7901         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
7902         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
7903         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
7904         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
7905         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
7906         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
7907         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
7908         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
7909         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
7910         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
7911         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
7912         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
7913         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
7914         * tests/test-poll.c, tests/test-quotearg-simple.c:
7915         * tests/test-quotearg.c, tests/test-quotearg.h:
7916         * tests/test-round-ieee.c, tests/test-round1.c:
7917         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
7918         * tests/test-roundl-ieee.c, tests/test-roundl.c:
7919         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
7920         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
7921         * tests/test-strerror.c, tests/test-strerror_r.c:
7922         * tests/test-strsignal.c, tests/test-strverscmp.c:
7923         * tests/test-xmemdup0.c:
7924         Replace FSF snail mail addresses with URLs, as per GNU coding
7925         standards.  See glibc bug
7926         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
7927
7928 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
7929
7930         README-release: capitalize a word and split a line
7931         * top/README-release: Fix punctuation and spacing.
7932
7933 2012-02-08  Akim Demaille  <demaille@gostai.com>
7934
7935         fatal-signal: use C prototypes (with explicit void).
7936         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
7937         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
7938
7939 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7940
7941         regex: spelling fix
7942         * lib/regexec.c: spelling fix
7943
7944         regex: rely on stdint.h for SIZE_MAX
7945         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
7946
7947 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7948
7949         regex: merge glibc changes
7950
7951         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
7952         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
7953         (init_word_char): Work even if bitset words are not exactly 32 or
7954         64 bits wide.  Don't assume there are no padding bits.
7955         * lib/regex.c [_LIBC]: Do not include <config.h>.
7956         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
7957         and -Wtype-limits.
7958         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
7959         needless disagreement with glibc.  All uses changed.  Define it to
7960         1 only if _GNU_SOURCE, to match glibc.
7961         (_REG_RM_NAME): Remove; no longer needed, since the names in
7962         question are now all protected by __USE_GNU.
7963         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
7964         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
7965         * lib/regex_internal.h (MIN): New macro.
7966
7967         2012-01-03 Ulrich Drepper <drepper@gmail.com>
7968         * lib/regcomp.c (init_word_char): Optimize regex a bit.
7969
7970         2011-12-30 Jakub Jelinek <jakub@redhat.com>
7971         * lib/regex_internal.c (re_string_fetch_byte_case):
7972         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
7973         is miscompiled, and it turns out it is because of an incorrect
7974         attribute on re_string_fetch_byte_case.  Unlike
7975         re_string_peek_byte_case, this one is really not pure, it modifies
7976         memory (increments pstr->cur_idx), and with the pure attribute GCC
7977         assumed it doesn't and it cached the presumed value of
7978         regexp->cur_idx in a variable across the
7979          for (;; ++i)
7980            {
7981              if (i >= BRACKET_NAME_BUF_SIZE)
7982                return REG_EBRACK;
7983              if (token->type == OP_OPEN_CHAR_CLASS)
7984                ch = re_string_fetch_byte_case (regexp);
7985              else
7986                ch = re_string_fetch_byte (regexp);
7987              if (re_string_eoi(regexp))
7988                return REG_EBRACK;
7989              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
7990                break;
7991              elem->opr.name[i] = ch;
7992            }
7993
7994         2011-11-29 Andreas Schwab <schwab@redhat.com>
7995         * lib/regcomp.c (build_equiv_class):
7996         Fix access after end of search string in regex matcher.
7997
7998         2011-11-12 Ulrich Drepper <drepper@redhat.com>
7999         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
8000
8001         2011-10-12 Ulrich Drepper <drepper@redhat.com>
8002         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
8003
8004         2011-10-11 Ulrich Drepper <drepper@redhat.com>
8005         * lib/regcomp.c (parse_branch, parse_sub_exp):
8006         More regex memory leak fixes and tests.
8007         (parse_sub_exp, parse_bracket_exp):
8008         Fix memory leak for some invalid regular expressions.
8009
8010         2011-05-28 Ulrich Drepper <drepper@gmail.com>
8011         * lib/regex_internal.c, lib/regexec.c:
8012         Fix unnecessary overallocation due to incomplete character.  When
8013         incomplete characters are found at the end of a string the code
8014         ran amok and allocated lots of memory.  Stricter limits are now in
8015         place.
8016
8017         2011-05-20 Reuben Thomas <rrt@sc3d.org>
8018         * lib/regex.h: Update documentation.
8019
8020         2011-05-16 Aharon Robbins <arnold@skeeve.com>
8021         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
8022
8023         2010-05-05 Andreas Schwab <schwab@redhat.com>
8024         * lib/regexec.c (find_collation_sequence_value):
8025         Fix lookup of collation sequence value during regexp matching.
8026
8027         2010-01-22 Ulrich Drepper <drepper@redhat.com>
8028         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
8029
8030         2008-01-16 Ulrich Drepper <drepper@redhat.com>
8031         * lib/regex.h: Cleanup namespace.
8032
8033         2007-11-26 Ulrich Drepper <drepper@redhat.com>
8034         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
8035
8036         2007-08-26 Ulrich Drepper <drepper@redhat.com>
8037         * lib/regex_internal.h: Prevent some declarations and definitions
8038         to be seen when used in tests.
8039
8040         2005-05-06 Ulrich Drepper <drepper@redhat.com>
8041         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
8042         __libc_lock_* macros if not _LIBC.
8043         (struct re_dfa_t): Add lock.
8044
8045 2012-02-07  Eric Blake  <eblake@redhat.com>
8046
8047         maint.mk: also prohibit lower-case @var@
8048         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
8049         lower case, like @top_srcdir@.
8050
8051 2012-02-04  Eric Blake  <eblake@redhat.com>
8052
8053         canonicalize: avoid uninitialized memory use
8054         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
8055         random '/' left in dest.
8056         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
8057
8058 2012-02-04  Bruno Haible  <bruno@clisp.org>
8059
8060         isatty: Fix test failure of ptsname_r on native Windows.
8061         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
8062         and don't set errno.
8063         (isatty): Test first whether fd is valid. Set errno when returning 0.
8064
8065 2012-02-04  Bruno Haible  <bruno@clisp.org>
8066
8067         spawn-pipe tests: Fix a NULL program name in a diagnostic.
8068         * tests/test-spawn-pipe-main.c: Include progname.h.
8069         (main): Invoke set_program_name.
8070         * modules/spawn-pipe-tests (Depends-on): Add progname.
8071
8072         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
8073         * tests/test-nonblocking-socket-main.c: Include progname.h.
8074         (main): Invoke set_program_name.
8075         * modules/nonblocking-socket-tests (Depends-on): Add progname.
8076
8077         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
8078         * tests/test-nonblocking-pipe-main.c: Include progname.h.
8079         (main): Invoke set_program_name.
8080         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
8081
8082 2012-02-04  Eric Blake  <eblake@redhat.com>
8083
8084         canonicalize-lgpl: fix // handling
8085         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
8086
8087         canonicalize: fix // handling
8088         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
8089         /// to //, since only // is special.
8090
8091 2012-02-04  Bruno Haible  <bruno@clisp.org>
8092
8093         ioctl: Fix test failure on native Windows.
8094         * lib/ioctl.c: Include msvc-nothrow.h.
8095         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
8096
8097 2012-02-04  Bruno Haible  <bruno@clisp.org>
8098
8099         fsync: Avoid test failure on native Windows.
8100         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
8101         read-only.
8102
8103 2012-02-04  Bruno Haible  <bruno@clisp.org>
8104
8105         sys_select: Avoid syntax error on OpenBSD 5.0.
8106         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
8107         currently being included, just include the system's <sys/select.h>.
8108
8109 2012-02-04  Bruno Haible  <bruno@clisp.org>
8110
8111         sys_select: Avoid syntax error on OpenBSD 5.0.
8112         * lib/sys_select.in.h: Include <signal.h> only after the include_next
8113         <sys/select.h>, not before.
8114         Reported by Jiri B <jirib@devio.us>.
8115
8116 2012-02-04  Bruno Haible  <bruno@clisp.org>
8117
8118         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
8119         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
8120         global variables.
8121         * tests/test-get-rusage-data.c (main): Likewise.
8122         Reported by Jim Meyering.
8123
8124 2012-02-04  Bruno Haible  <bruno@clisp.org>
8125
8126         stdioext: Fix last commit.
8127         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
8128
8129 2012-02-03  Bruno Haible  <bruno@clisp.org>
8130
8131         stdioext: Add tentative support for Plan9.
8132         * lib/stdio-impl.h: Include <errno.h>.
8133         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
8134         * lib/freadable.c (freadable): Likewise.
8135         * lib/fwritable.c (fwritable): Likewise.
8136         * lib/fbufmode.c (fbufmode): Likewise.
8137         * lib/freading.c (freading): Likewise.
8138         * lib/fwriting.c (fwriting): Likewise.
8139         * lib/freadptr.c (freadptr): Likewise.
8140         * lib/freadseek.c (freadptrinc): Likewise.
8141         * lib/freadahead.c (freadahead): Likewise.
8142         * lib/fpurge.c (fpurge): Likewise.
8143         * lib/fseeko.c (rpl_fseeko): Likewise.
8144         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
8145         Reported by Jens Staal <staal1978@gmail.com>.
8146
8147 2012-02-02  Jim Meyering  <meyering@redhat.com>
8148
8149         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
8150         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
8151         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
8152         not even to try to add the attribute.  Instead, add a pragma to suppress
8153         the suggestion/warning.
8154
8155 2012-01-31  Karl Berry  <karl@gnu.org>
8156
8157         setstate doc: typo.
8158         * doc/posix-functions/setstate.texi (setstate): { not (.
8159
8160 2012-01-31  Bruno Haible  <bruno@clisp.org>
8161
8162         popen: Make more robust on Windows.
8163         * lib/popen.c: On native Windows, use the _popen based code even if
8164         HAVE_POPEN is set.
8165         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
8166         environment variable on native Windows.
8167
8168 2012-01-30  Bruno Haible  <bruno@clisp.org>
8169
8170         pclose: Fix typo.
8171         * lib/stdio.in.h (pclose): Fix typo in warning message.
8172
8173 2012-01-30  Bruno Haible  <bruno@clisp.org>
8174
8175         doc about getlogin_r, setstate.
8176         * doc/posix-functions/getlogin_r.texi: List the incompatible
8177         declaration problem under "not fixed by gnulib".
8178         * doc/posix-functions/setstate.texi: Mention incompatible declaration
8179         problem on Solaris 11 and other platforms.
8180
8181 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
8182             Bruno Haible  <bruno@clisp.org>
8183
8184         poll tests: Make test more robust.
8185         * tests/test-poll.c: Include macros.h.
8186         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
8187         return value of various I/O operations.
8188         * modules/poll-tests (Files): Add tests/macros.h.
8189
8190 2012-01-30  Bruno Haible  <bruno@clisp.org>
8191
8192         sys_stat: Fix support for mingw64 and MSVC.
8193         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
8194         header files already do it.
8195         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
8196         stat itself.
8197         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8198
8199 2012-01-30  Bruno Haible  <bruno@clisp.org>
8200
8201         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
8202         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
8203         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
8204
8205 2012-01-29  Bruno Haible  <bruno@clisp.org>
8206
8207         quotearg: Fix test failure on MacOS X 10.5.
8208         * tests/test-quotearg-simple.c: Include localcharset.h.
8209         (main): If the locale encoding is not ASCII, bypass the tests of
8210         locale_quoting_style and clocale_quoting_style.
8211         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
8212
8213 2012-01-29  Jim Meyering  <meyering@redhat.com>
8214
8215         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
8216         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
8217         detect uses of canonicalize_file_name.
8218
8219 2012-01-28  Bruno Haible  <bruno@clisp.org>
8220
8221         test-framework-sh: Fix test failure with AIX 7.1 diff.
8222         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
8223         in column 1, like 'diff -c' does.
8224         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
8225         whether 'diff -u' is used. Instead, test whether the output contains
8226         some '@' character.
8227
8228 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
8229
8230         strtoimax: eliminate need for stdint.h, inttypes.h checks
8231         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
8232         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
8233         the prerequisites for a recently-introduced strtoimax test.
8234         I guess this might cause strtoimax to be replaced when not
8235         strictly necessary on older hosts, but this shouldn't introduce
8236         any bugs and it should make Emacs 'configure' faster on typical
8237         modern hosts.  Problem discovered when importing the latest gnulib
8238         to an Emacs test version.
8239         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
8240
8241 2012-01-28  Bruno Haible  <bruno@clisp.org>
8242
8243         sys_time: Override 'struct timeval' on some native Windows platforms.
8244         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
8245         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
8246         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
8247         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
8248         needs to be overridden.
8249         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
8250         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
8251         * tests/test-sys_select.c: Check that the tv_sec member has the same
8252         size as a 'time_t'.
8253         * tests/test-sys_time.c: Likewise.
8254         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
8255         is set, set also REPLACE_GETTIMEOFDAY.
8256         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
8257         convert the resulting 'struct timeval' before returning.
8258         * lib/select.c: Include <sys/time.h>.
8259         (select, timeval): Undefine at the right place.
8260         * modules/select (Depends-on): Add sys_time.
8261         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
8262         some Windows platforms.
8263         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8264
8265 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8266
8267         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
8268         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
8269         an integer.
8270         * lib/fcntl.c (dupfd): Likewise.
8271         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
8272
8273 2012-01-28  Bruno Haible  <bruno@clisp.org>
8274
8275         fcntl: Avoid compilation error on native Windows.
8276         * modules/fcntl (Depends-on): Add 'close'.
8277
8278 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8279
8280         select, poll, isatty: Avoid warnings on x86_64 mingw64.
8281         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
8282         pointer to an integer.
8283         * lib/poll.c (IsConsoleHandle): Likewise.
8284         * lib/isatty.c (IsConsoleHandle): Likewise.
8285
8286 2012-01-28  Jim Meyering  <meyering@redhat.com>
8287
8288         doc: clarify README-release
8289         * top/README-release: Clarify: you should make a point to have
8290         the latest stable versions of build tools in your PATH, and the
8291         reference to buildreq is solely for its list of tool names, not
8292         for its minimal-functional version numbers.
8293         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
8294
8295         maint.mk: use more readable (yet functionally equivalent) quoting
8296         It is common to quote a single quote in a single quoted string like
8297         this:  '...'\''...'.  Unless you know the idiom, that looks like
8298         gibberish, so prefer to double-quote the string when possible.
8299         Then you can use a more readable, lone single quote: "...'..."
8300         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
8301         "don't" is more readable than the equivalent 'don'\''t'.
8302         (sc_cast_of_x_alloc_return_value): Likewise.
8303         (sc_cast_of_alloca_return_value): Likewise.
8304         (sc_makefile_path_separator_check): Similar: use ":" in '...',
8305         rather than '\'':'\''.
8306
8307 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8308
8309         stdalign: relax _Alignof and tighten _Alignas test
8310         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
8311         as it was too strict: alignof must divide offsetof, but it need
8312         not equal offsetof.  Inspired by Joseph S. Myers's comment
8313         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
8314         Conversely, tighten the _Alignas test a bit, as the resulting
8315         alignment must be exactly 8.
8316
8317 2012-01-27  Bruno Haible  <bruno@clisp.org>
8318
8319         stdalign: Document the last change.
8320         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
8321
8322 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8323
8324         stdalign: check that alignof and offsetof are consistent
8325         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
8326         Problem reported for gnulib by Richard W.M. Jones in
8327         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
8328
8329 2012-01-27  Jim Meyering  <meyering@redhat.com>
8330
8331         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
8332         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
8333         convert a sequence with gaps to the minimal containing range.
8334         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
8335         * tests/test-update-copyright.sh: Test for this.
8336         The FSF confirmed it is ok to do this, assuming there is at
8337         least one significant change per year in the affected range:
8338         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
8339
8340 2012-01-26  Bruno Haible  <bruno@clisp.org>
8341
8342         pipe2: refine doc about thread-safety
8343         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
8344         multithread-safety problem.
8345         * doc/glibc-functions/accept4.texi: Likewise.
8346
8347 2012-01-26  Bruno Haible  <bruno@clisp.org>
8348
8349         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
8350         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
8351         In the test program, include <fcntl.h>, for O_RDONLY.
8352
8353 2012-01-26  Eric Blake  <eblake@redhat.com>
8354
8355         pipe2: document lack of thread-safety in replacement
8356         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
8357         issue in replacement.
8358         * doc/glibc-functions/accept4.texi (accept4): Likewise.
8359         Based on a report by Eric Wong.
8360
8361 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8362             Bruno Haible  <bruno@clisp.org>
8363
8364         malloca: Avoid warnings on x86_64 mingw64.
8365         * lib/malloca.c: Include <stdint.h>.
8366         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
8367         * modules/malloca (Depends-on): Add stdint.
8368         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
8369
8370 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
8371
8372         obstack: remove __STDC__ conditionals
8373         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
8374         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
8375         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
8376         m4/include_next.m4 as the only gnulib-maintained places that still
8377         refer to __STDC__.
8378
8379 2012-01-24  Bruno Haible  <bruno@clisp.org>
8380
8381         havelib: Modern quoting.
8382         * build-aux/config.rpath: Quote 'like this', not `like this', as per
8383         the recent change to the GNU coding standards.
8384
8385 2012-01-24  Bruno Haible  <bruno@clisp.org>
8386
8387         stdint: Improve support for Android.
8388         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
8389         Reported by Simon Josefsson <simon@josefsson.org>.
8390
8391 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8392
8393         doc: omit trailing empty lines from INSTALL etc.
8394         * doc/Makefile (INSTALL): Omit trailing empty lines.
8395         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
8396         omit trailing empty lines.  This simplifies the build procedure.
8397
8398 2012-01-23  Jim Meyering  <meyering@redhat.com>
8399
8400         tests: avoid spurious warnings about gl_sockets_startup
8401         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
8402         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
8403         reporting a "statement with no effect".
8404         * tests/test-accept.c (main): Mark as "(void)".
8405         * tests/test-accept4.c (main): Likewise.
8406         * tests/test-bind.c (main): Likewise.
8407         * tests/test-connect.c (main): Likewise.
8408         * tests/test-getpeername.c (main): Likewise.
8409         * tests/test-getsockname.c (main): Likewise.
8410         * tests/test-getsockopt.c (main): Likewise.
8411         * tests/test-listen.c (main): Likewise.
8412         * tests/test-recv.c (main): Likewise.
8413         * tests/test-recvfrom.c (main): Likewise.
8414         * tests/test-send.c (main): Likewise.
8415         * tests/test-sendto.c (main): Likewise.
8416         * tests/test-setsockopt.c (main): Likewise.
8417         * tests/test-shutdown.c (main): Likewise.
8418
8419 2012-01-21  Bruno Haible  <bruno@clisp.org>
8420
8421         locale-fr.m4: Fix for Android.
8422         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
8423         failure of the test program on Bionic libc.
8424
8425 2012-01-21  Jim Meyering  <meyering@redhat.com>
8426
8427         bootstrap: fail when bootstrap_post_import_hook fails
8428         Otherwise, it's far too easy to miss diagnostics emitted
8429         between gnulib-tool's output and that of running configure.
8430         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
8431
8432 2012-01-17  Jim Meyering  <meyering@redhat.com>
8433
8434         maint: enable sc_trailing_blank
8435         * build-aux/pmccabe.css: Remove trailing blanks.
8436         * doc/acl-cygwin.txt: Likewise.
8437         * doc/gnu-oids.texi: Likewise
8438         * cfg.mk: Enable sc_trailing_blank.
8439         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
8440
8441 2012-01-17  Jim Meyering  <meyering@redhat.com>
8442
8443         maint: enable sc_prohibit_openat_without_use
8444         * cfg.mk: Enable sc_prohibit_openat_without_use.
8445         Exempt lib/selinux-at.c.
8446
8447 2012-01-17  Jim Meyering  <meyering@redhat.com>
8448
8449         maint: enable sc_prohibit_cloexec_without_use
8450         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
8451         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
8452
8453 2012-01-17  Jim Meyering  <meyering@redhat.com>
8454
8455         maint: enable sc_prohibit_intprops_without_use
8456         * cfg.mk: Enable sc_prohibit_intprops_without_use
8457         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
8458
8459 2012-01-17  Jim Meyering  <meyering@redhat.com>
8460
8461         maint: enable sc_prohibit_hash_pjw_without_use
8462         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
8463         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
8464         to match any use of \<hash_pjw\>, i.e., not necessarily with a
8465         following " (".
8466
8467 2012-01-17  Jim Meyering  <meyering@redhat.com>
8468
8469         maint: enable double-word-prohibiting rule
8470         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
8471         Exempt three files.
8472
8473 2012-01-17  Jim Meyering  <meyering@redhat.com>
8474
8475         maint: remove empty lines at EOF, but excluding modules/*
8476         Apply syntax rules at home as well as abroad.  Most changes
8477         were induced by running this:
8478           make srcdir=. _build-aux=build-aux -f top/maint.mk \
8479             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
8480             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
8481         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
8482         Exempt modules/* and two binary files.
8483         Also exempt doc/INSTALL*, per request from Bruno Haible.
8484         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
8485         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
8486         * doc/Copyright/request-assign.future: Likewise.
8487         * doc/Copyright/request-disclaim.changes: Likewise.
8488         * doc/INSTALL: Likewise.
8489         * doc/INSTALL.ISO: Likewise.
8490         * doc/INSTALL.UTF-8: Likewise.
8491         * doc/acl-cygwin.txt: Likewise.
8492         * doc/acl-resources.txt: Likewise.
8493         * doc/fdl-1.2.texi: Likewise.
8494         * doc/fdl-1.3.texi: Likewise.
8495         * doc/fdl.texi: Likewise.
8496         * lib/argp-pin.c: Likewise.
8497         * lib/round.c: Likewise.
8498         * lib/unicase/u16-totitle.c: Likewise.
8499         * lib/unictype/block_test.c: Likewise.
8500         * lib/uninorm/canonical-decomposition.c: Likewise.
8501         * m4/README: Likewise.
8502         * m4/relocatable-lib.m4: Likewise.
8503         * tests/test-isnand-nolibm.c: Likewise.
8504         * tests/test-isnand.c: Likewise.
8505         * tests/uninorm/NormalizationTest.txt: Likewise.
8506
8507 2012-01-17  Jim Meyering  <meyering@redhat.com>
8508
8509         maint: add framework to run syntax-check rules against gnulib sources
8510         * cfg.mk: New file, to disable all currently-failing tests.
8511         We'll enable them one by one, as they are made to pass.
8512         * Makefile (sc_maint): New rule.
8513
8514 2012-01-21  Bruno Haible  <bruno@clisp.org>
8515
8516         stdint: Add support for Android.
8517         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
8518         include the system's <stdint.h>.
8519         Reported by Simon Josefsson <simon@josefsson.org>.
8520
8521 2012-01-19  Jim Meyering  <meyering@redhat.com>
8522
8523         bootstrap: add bootstrap_post_import_hook
8524         Bison does still need something like the gnulib_mk_hook whose
8525         invocation I had to remove along with slurp in commit 767ccd40.
8526         Technically, we could get along without it, but doing so would
8527         have required living with a warning and a mandatory post-bootstrap
8528         automake rerun.
8529         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
8530         (bootstrap_post_import_hook): New function.
8531         Invoke it after gnulib-tool --import and before autoreconf.
8532
8533 2012-01-18  Jim Meyering  <meyering@redhat.com>
8534
8535         gitlog-to-changelog: don't use "no_"-prefixed variable name
8536         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
8537         to enable both --cluster and --no-cluster.  Change variable name,
8538         s/\$no_cluster/$cluster/, and reverse usage to match.
8539
8540         gitlog-to-changelog: use "||", not "or" in expressions
8541         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
8542         expressions.
8543
8544 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
8545
8546         gitlog-to-changelog: new option --no-cluster
8547         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
8548         clustering of adjacent commit messages.
8549
8550 2012-01-17  Jim Meyering  <meyering@redhat.com>
8551
8552         maint: spell file systems with two words, not one
8553         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
8554         two words, not one.
8555
8556 2012-01-16  Jim Meyering  <meyering@redhat.com>
8557
8558         bootstrap: add a FIXME comment to ensure we eventually remove the hack
8559         * build-aux/bootstrap (gnulib_tool_options): Add comment.
8560
8561 2012-01-16  Eric Blake  <eblake@redhat.com>
8562
8563         bootstrap: cater to autoconf 2.59
8564         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
8565         is not available.
8566
8567         bootstrap: properly check for libtool
8568         * build-aux/bootstrap (libtoolize): Also run libtool when older
8569         usage is detected.
8570
8571 2012-01-15  Bruno Haible  <bruno@clisp.org>
8572
8573         Improve support for MSVC 9.
8574         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
8575         clashes on MSVC.
8576         * lib/fcntl.in.h: Likewise.
8577         * lib/stdlib.in.h: Likewise.
8578         * lib/sys_stat.in.h: Likewise.
8579
8580 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
8581
8582         gnupload: we hold the master copy of this script now
8583         For motivation and more information, see:
8584         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
8585         * build-aux/gnupload: Make it clear in the heading comments that the
8586         master copy of this file is maintained by gnulib.  Since we are at
8587         it, bump its copyright year and ...
8588         ($scriptversion): ... the date in its version.
8589         ($usage): Patches and bug reports should be sent to the gnulib list,
8590         not the automake one.
8591         * config/srclist.txt: Don't try to sync 'gnupload' from automake
8592         anymore.
8593
8594 2012-01-15  Bruno Haible  <bruno@clisp.org>
8595
8596         Fix module 'random'.
8597         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
8598         initstate, setstate are declared.
8599
8600 2012-01-14  Bruno Haible  <bruno@clisp.org>
8601
8602         Tests for module 'random'.
8603         * modules/random-tests: New file.
8604         * tests/test-random.c: New file, based on tests/test-random_r.c.
8605
8606         New module 'random'.
8607         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
8608         declarations.
8609         * lib/random.c: New file, based on glibc/stdlib/random.c.
8610         * m4/random.m4: New file.
8611         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
8612         HAVE_RANDOM.
8613         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
8614         * modules/random: New file.
8615         * config/srclist.txt: Add an entry for random.c.
8616         * doc/posix-functions/random.texi: Mention the 'random' module.
8617         * doc/posix-functions/initstate.texi: Likewise.
8618         * doc/posix-functions/setstate.texi: Likewise.
8619         * doc/posix-functions/srandom.texi: Likewise.
8620
8621 2012-01-12  Bruno Haible  <bruno@clisp.org>
8622
8623         random_r: Use common idioms.
8624         * lib/random_r.c: Include <stdlib.h> first.
8625
8626         random_r: Override incompatible API on AIX, OSF/1.
8627         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
8628         Override the system function if REPLACE_RANDOM_R is 1.
8629         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
8630         and OSF/1, set REPLACE_RANDOM_R.
8631         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
8632         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
8633         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
8634         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
8635         * doc/glibc-functions/random_r.texi: Likewise.
8636         * doc/glibc-functions/setstate_r.texi: Likewise.
8637
8638         random_r: Support for MSVC 9.
8639         * lib/random_r.c: Include stdint.h, not inttypes.h.
8640
8641 2012-01-12  Eric Blake  <eblake@redhat.com>
8642
8643         inet_ntop: guard extra work by IF_LINT
8644         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
8645         better code generation when not checking for warnings.
8646         Suggested by Paul Eggert and Jim Meyering.
8647
8648         strptime: fix regression on mingw
8649         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
8650         Fix regression.  Reported by Bruno Haible.
8651
8652 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
8653             Bruno Haible  <bruno@clisp.org>
8654
8655         copy-file: add error-code-returning variant.
8656         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
8657         (qcopy_file_preserving): New declaration.
8658         * lib/copy-file.c (qcopy_file_preserving): Renamed from
8659         copy_file_preserving. Change return type to 'int'. Don't emit an error
8660         message here.
8661         (copy_file_preserving): New function.
8662         * tests/test-copy-file.c: Include <stdlib.h>.
8663         (main): Test qcopy_file_preserving if the environment variable
8664         NO_STDERR_OUTPUT is set.
8665         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
8666         with NO_STDERR_OUTPUT
8667         * tests/test-copy-file-2.sh: Likewise.
8668
8669 2012-01-10  Bruno Haible  <bruno@clisp.org>
8670
8671         copy-file: Use 'quote' module consistently.
8672         * lib/copy-file.c (copy_file_preserving): Use quote().
8673
8674         copy-file: Refactor.
8675         * lib/copy-file.c: Include quote.h.
8676         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
8677         message here.
8678         * modules/copy-file (Depends-on): Add quote.
8679
8680         acl: Export qcopy_acl.
8681         * lib/acl.h (qcopy_acl): New declaration.
8682         * lib/copy-acl.c (qcopy_acl): Make non-static.
8683
8684         acl: Rename a local variable.
8685         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
8686
8687         acl: Align return values of copy_acl and qcopy_acl.
8688         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
8689         maybe < -1.
8690
8691 2012-01-11  Eric Blake  <eblake@redhat.com>
8692
8693         strptime: silence gcc warnings
8694         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
8695         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
8696         Reported by Daniel P. Berrange.
8697
8698         inet_ntop: silence gcc warning
8699         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
8700         Reported by Daniel P. Berrange.
8701
8702 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
8703
8704         getloadavg test: skip the test on GNU/Linux without /proc mounted
8705         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
8706         file.  When /proc is not mounted, it always fails with ENOENT.
8707         * tests/test-getloadavg.c (main): Treat ENOENT return code from
8708         getloadavg(3) the same way as ENOSYS and ENOTSUP.
8709
8710 2012-01-10  Bruno Haible  <bruno@clisp.org>
8711
8712         regex: Avoid link error on MSVC 9.
8713         * modules/regex (Depends-on): Add wctype.
8714
8715 2012-01-10  Bruno Haible  <bruno@clisp.org>
8716
8717         doc: Mention --with-tests option.
8718         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
8719         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
8720         --with-tests.
8721         Reported by Reuben Thomas.
8722
8723 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
8724
8725         users.txt: order package names lexicographically.
8726         * users.txt: Order package names lexicographically.
8727
8728 2012-01-10  Jim Meyering  <meyering@redhat.com>
8729
8730         maint.mk: fix description in comment
8731         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
8732
8733         ignore-value: remove deprecated ignore_ptr function
8734         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
8735         * NEWS: Note this.
8736
8737 2012-01-09  Jim Meyering  <meyering@redhat.com>
8738
8739         test-init.sh: avoid a subshell
8740         * tests/test-init.sh: Remove protective subshell.
8741         Suggested by Bernhard Voelker.  While a subshell is normally
8742         required to protect against older shells (Solaris, FreeBSD) that
8743         warn about a missing program before performing redirection, the
8744         shell-selection tests performed by init.sh probably exclude any
8745         offending shell.
8746
8747 2012-01-08  Bruno Haible  <bruno@clisp.org>
8748
8749         setlocale tests: Avoid test failure on Solaris 11 2011-11.
8750         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
8751         variable.
8752
8753 2012-01-08  Bruno Haible  <bruno@clisp.org>
8754
8755         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
8756         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8757         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
8758         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
8759         macro.
8760         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
8761         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
8762         * lib/spawn_faction_addopen.c: Add workaround implementation if
8763         HAVE_WORKING_POSIX_SPAWN.
8764         * modules/spawn (Makefile): Substitute
8765         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
8766         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
8767         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
8768         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
8769         (Depends-on): Update conditions.
8770         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
8771         the Solaris 11 bug.
8772
8773 2012-01-08  Bruno Haible  <bruno@clisp.org>
8774
8775         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
8776         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8777         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
8778         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
8779         macro.
8780         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
8781         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
8782         * lib/spawn_faction_adddup2.c: Add workaround implementation if
8783         HAVE_WORKING_POSIX_SPAWN.
8784         * modules/spawn (Makefile): Substitute
8785         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
8786         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
8787         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
8788         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
8789         (Depends-on): Update conditions.
8790         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
8791         the Solaris 11 bug.
8792
8793 2012-01-08  Bruno Haible  <bruno@clisp.org>
8794
8795         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
8796         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8797         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
8798         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
8799         HAVE_WORKING_POSIX_SPAWN.
8800         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
8801         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
8802         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
8803         * lib/spawn_faction_addclose.c: Add workaround implementation if
8804         HAVE_WORKING_POSIX_SPAWN.
8805         * modules/spawn (Makefile): Substitute
8806         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
8807         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
8808         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
8809         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
8810         (Depends-on): Update conditions.
8811         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
8812         the Solaris 11 bug.
8813
8814 2012-01-08  Bruno Haible  <bruno@clisp.org>
8815
8816         doc: Update for Solaris 11 2011-11.
8817         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
8818         * m4/printf.m4: Update comments.
8819
8820 2012-01-08  Bruno Haible  <bruno@clisp.org>
8821
8822         mktime: Avoid compilation error on Solaris 11.
8823         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
8824
8825 2012-01-08  Bruno Haible  <bruno@clisp.org>
8826
8827         doc: Small fix.
8828         * doc/posix-headers/nl_types.texi: Correct platforms list.
8829
8830 2012-01-08  Simon Josefsson  <simon@josefsson.org>
8831
8832         Add lgpl-3.0 module.
8833         * MODULES.html.sh (Support for building documentation): Add
8834         lgpl-3.0.
8835         * modules/lgpl-3.0: New file.
8836
8837 2012-01-08  Jim Meyering  <meyering@redhat.com>
8838
8839         select.c: indent with spaces, not TABs
8840         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
8841
8842 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8843
8844         quotearg: do not use grave accent for left quote
8845         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
8846         locale_quoting_style.
8847         (quotearg_buffer_restyled): Fix example.
8848         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
8849
8850 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8851
8852         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
8853         Most programs do not have translation catalogs for English and much
8854         less separate catalogs for British and American English.  Drop the
8855         suggestion to translators about these two, and provide it
8856         automatically for Unicode locales.  Like most programs, even those
8857         using American English, we use single quotation marks.  This conflicts
8858         with the American typographic convention, but works better when you
8859         cite the entire error message within double quotes.  It also tries not
8860         to clash with established practice and with what non-gnulib programs
8861         will usually do.
8862         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
8863         using an UTF-8 or GB-18030 locale.  The list of other locales with
8864         quotes was provided by Bruno Haible.
8865         (quotearg_buffer_restyled): Adjust instructions to translators.
8866         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
8867         text, since this would be wrong when using Unicode.
8868         * modules/quotearg: Depend on c-strcaseeq.
8869
8870 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8871
8872         quotearg: fix Wikipedia link
8873         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
8874
8875 2012-01-07  Simon Josefsson  <simon@josefsson.org>
8876
8877         Fix for mingw with MSVC9.
8878         * m4/ld-version-script.m4: Check that compiler rejects version
8879         scripts with syntax errors.  Reported by Bruno Haible
8880         <bruno@clisp.org>.
8881
8882 2012-01-06  Bruno Haible  <bruno@clisp.org>
8883
8884         Talk about "native Windows API", not "Woe32".
8885         * lib/accept4.c: Update comments to mention native Windows.
8886         * lib/execute.c: Likewise.
8887         * lib/fatal-signal.c: Likewise.
8888         * lib/localcharset.c: Likewise.
8889         * lib/nanosleep.c: Likewise.
8890         * lib/nl_langinfo.c: Likewise.
8891         * lib/pclose.c: Likewise.
8892         * lib/pipe-filter-gi.c: Likewise.
8893         * lib/pipe-filter-ii.c: Likewise.
8894         * lib/pipe.c: Likewise.
8895         * lib/pipe2.c: Likewise.
8896         * lib/popen.c: Likewise.
8897         * lib/progreloc.c: Likewise.
8898         * lib/relocatable.c: Likewise.
8899         * lib/sigaction.c: Likewise.
8900         * lib/sigprocmask.c: Likewise.
8901         * lib/spawn-pipe.h: Likewise.
8902         * lib/spawn-pipe.c: Likewise.
8903         * lib/spawni.c: Likewise.
8904         * lib/stat-time.h: Likewise.
8905         * lib/w32spawn.h: Likewise.
8906         * tests/test-isatty.c: Likewise.
8907         * lib/config.charset: More comments.
8908         * doc/gnulib-intro.texi: Mention native Windows.
8909         * doc/posix-functions/_Exit_C99.texi: Likewise.
8910         * doc/posix-headers/fcntl.texi: Likewise.
8911
8912 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
8913
8914         argp: Avoid crash if translator uses % characters in a translation.
8915         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
8916         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
8917
8918 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
8919
8920         doc: C11 and C++11 are now official
8921         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
8922         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
8923         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
8924         * modules/stdalign:
8925         Replace references to draft C1X to C11, and to draft C++0X to C++11.
8926
8927 2012-01-06  Bruno Haible  <bruno@clisp.org>
8928
8929         uc-is-grapheme-break tests: Tweak.
8930         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
8931         message.
8932
8933 2012-01-06  Bruno Haible  <bruno@clisp.org>
8934
8935         test-init.sh: correct the test for diff -u
8936         * tests/test-init.sh: Also redirect stdout to /dev/null.
8937
8938 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
8939
8940         Use ', not `, for quoting output.
8941         * build-aux/announce-gen (usage, sizes, print_news_deltas)
8942         (print_changelog_deltas, get_tool_versions, main program):
8943         * build-aux/git-version-gen:
8944         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
8945         * build-aux/move-if-change (help):
8946         * build-aux/useless-if-before-free (usage, main program):
8947         * check-module (parse_module_file, usage)
8948         (find_included_lib_files, check_module):
8949         * lib/argmatch.c (main) [TEST]:
8950         * lib/argp-help.c (_help):
8951         * lib/getopt1.c (main) [TEST]:
8952         * lib/git-merge-changelog.c (usage):
8953         * lib/xstrtol-error.c (xstrtol_error):
8954         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
8955         * m4/argz.m4 (gl_FUNC_ARGZ):
8956         * m4/bison.m4 (gl_BISON):
8957         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
8958         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
8959         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
8960         * m4/fpending.m4 (gl_PREREQ_FPENDING):
8961         * m4/gc-random.m4 (gl_GC_RANDOM):
8962         * m4/intl.m4 (gt_CHECK_DECL):
8963         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
8964         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
8965         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
8966         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
8967         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
8968         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
8969         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
8970         * tests/test-dirname.c (main):
8971         * tests/test-getpass.c (main):
8972         * tests/test-iconvme.c (main):
8973         * tests/test-parse-datetime.c (LOG):
8974         * tests/test-xstrtoimax.sh:
8975         * tests/test-xstrtol.sh:
8976         * tests/test-xstrtoll.sh:
8977         * tests/test-xstrtoumax.sh:
8978         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
8979         * top/GNUmakefile (abort-due-to-no-makefile):
8980         Quote 'like this', not `like this', as per the recent change to
8981         the GNU coding standards.
8982
8983 2012-01-05  Bruno Haible  <bruno@clisp.org>
8984
8985         strtoimax: Don't force a replacement on systems where intmax_t is int.
8986         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
8987         'intmax_t' is not larger than 'int'.
8988         Reported by Pádraig Brady <P@draigBrady.com>.
8989
8990 2012-01-05  Bruno Haible  <bruno@clisp.org>
8991
8992         doc: Mention NetBSD bugs.
8993         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
8994         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
8995
8996 2012-01-05  Bruno Haible  <bruno@clisp.org>
8997
8998         strtoumax tests: Enhance tests.
8999         * tests/test-strtoumax.c (main): Add tests for large values.
9000
9001 2012-01-05  Bruno Haible  <bruno@clisp.org>
9002
9003         strtoimax: Work around AIX 5.1 bug.
9004         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
9005         definition.
9006         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
9007         Set HAVE_STRTOIMAX.
9008         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
9009         REPLACE_STRTOIMAX.
9010         * modules/inttypes-incomplete (Makefile.am): Substitute
9011         REPLACE_STRTOIMAX.
9012         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
9013         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
9014         (Depends-on): Update conditions.
9015         * tests/test-strtoimax.c (main): Add tests for large values.
9016         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
9017
9018 2012-01-05  Bruno Haible  <bruno@clisp.org>
9019
9020         inttypes: Modernize.
9021         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
9022         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
9023         (Makefile.am): Update inttypes.h rule.
9024
9025 2012-01-05  Jim Meyering  <meyering@redhat.com>
9026
9027         init.sh: don't waste a subshell just to redirect stderr
9028         * tests/init.sh: In testing for diff -u and diff -c, use a
9029         stderr-redirecting exec inside `...` rather than a subshell.
9030
9031         test-init.sh: avoid failure on HP-UX 11.00
9032         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
9033         resolves to diff -c or cmp.  Reported by Bruno Haible.
9034
9035 2012-01-05  Bruno Haible  <bruno@clisp.org>
9036
9037         Tests for module 'strtoull'.
9038         * modules/strtoull-tests: New file.
9039         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
9040
9041 2012-01-05  Bruno Haible  <bruno@clisp.org>
9042
9043         Tests for module 'strtoll'.
9044         * modules/strtoll-tests: New file.
9045         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
9046
9047 2012-01-05  Bruno Haible  <bruno@clisp.org>
9048
9049         Tests for module 'strtoul'.
9050         * modules/strtoul-tests: New file.
9051         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
9052
9053 2012-01-05  Bruno Haible  <bruno@clisp.org>
9054
9055         Tests for module 'strtol'.
9056         * modules/strtol-tests: New file.
9057         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
9058
9059 2012-01-04  Jim Meyering  <meyering@redhat.com>
9060
9061         test-init.sh: accommodate Solaris 5.10's different diff -u output
9062         * tests/test-init.sh: Also exempt @@ lines from the comparison
9063         of diff output, since Solaris 5.10 and GNU diff formats differ.
9064         Reported by Stefano Lattarini.
9065
9066 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
9067
9068         test-posixtm: don't assume signed integer wraparound
9069         * tests/test-posixtm.c (main): Don't assume wraparound semantics
9070         after signed integer overflow.  Inspired by (though it may not
9071         fix) Bruno Haible's bug report in
9072         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
9073
9074         Spell out "Windows 9x" and "Windows XP".
9075         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
9076         "Windows 9x" and "WinXP" with "Windows XP".
9077
9078 2012-01-04  Jim Meyering  <meyering@redhat.com>
9079
9080         test-vc-list-files-cvs.sh: remove obsolete comment
9081         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
9082         double exit.  Now that's all encapsulated via skip_ and Exit.
9083
9084 2012-01-04  Bruno Haible  <bruno@clisp.org>
9085
9086         Talk about "native Windows API", not "Win32".
9087         * lib/classpath.c: Update comments to mention native Windows.
9088         * lib/csharpexec.c: Likewise.
9089         * lib/dup2.c: Likewise.
9090         * lib/error.c: Likewise.
9091         * lib/fcntl.c: Likewise.
9092         * lib/filename.h: Likewise.
9093         * lib/findprog.c: Likewise.
9094         * lib/get-rusage-as.c: Likewise.
9095         * lib/get-rusage-data.c: Likewise.
9096         * lib/getpagesize.c: Likewise.
9097         * lib/javaexec.c: Likewise.
9098         * lib/msvc-inval.c: Likewise.
9099         * lib/msvc-nothrow.c: Likewise.
9100         * lib/nanosleep.c: Likewise.
9101         * lib/nonblocking.c: Likewise.
9102         * lib/printf-parse.c: Likewise.
9103         * lib/setlocale.c: Likewise.
9104         * lib/sigaction.c: Likewise.
9105         * lib/strerror_r.c: Likewise.
9106         * lib/tmpdir.c: Likewise.
9107         * lib/vasnprintf.c: Likewise.
9108         * lib/w32spawn.h: Likewise.
9109         * lib/waitpid.c: Likewise.
9110         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
9111         * m4/locale-ar.m4: Likewise.
9112         * m4/locale-fr.m4: Likewise.
9113         * m4/locale-ja.m4: Likewise.
9114         * m4/locale-tr.m4: Likewise.
9115         * m4/locale-zh.m4: Likewise.
9116         * m4/printf.m4: Likewise.
9117         * tests/test-cloexec.c: Likewise.
9118         * tests/test-copy-acl.sh: Likewise.
9119         * tests/test-copy-file.sh: Likewise.
9120         * tests/test-file-has-acl.sh: Likewise.
9121         * tests/test-set-mode-acl.sh: Likewise.
9122         * tests/test-dup-safer.c: Likewise.
9123         * tests/test-dup2.c: Likewise.
9124         * tests/test-dup3.c: Likewise.
9125         * tests/test-fcntl.c: Likewise.
9126         * tests/test-nonblocking-pipe.h: Likewise.
9127         * tests/test-nonblocking-socket.h: Likewise.
9128         * tests/test-pipe.c: Likewise.
9129         * tests/test-pipe2.c: Likewise.
9130         * tests/test-spawn-pipe-child.c: Likewise.
9131         * doc/acl-resources.txt: Likewise.
9132         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9133         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
9134         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
9135         * lib/localcharset.c: Update comments to mention native Windows.
9136         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9137         * lib/localename.c: Likewise.
9138         * lib/progreloc.c: Likewise.
9139         * lib/relocatable.c: Likewise.
9140         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9141         (windows_compute_revents): Renamed from win32_compute_revents.
9142         (windows_compute_revents_socket): Renamed from
9143         win32_compute_revents_socket.
9144         * lib/select.c: Update comments to mention native Windows.
9145         (windows_poll_handle): Renamed from win32_poll_handle.
9146         * m4/threadlib.m4: Update comments to mention native Windows.
9147         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
9148         --enable-threads=windows instead of --enable-threads=win32. Set
9149         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
9150         * lib/glthread/lock.h: Update comments to mention native Windows.
9151         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
9152         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
9153         USE_WIN32_THREADS.
9154         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
9155         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
9156         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
9157         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
9158         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
9159         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
9160         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
9161         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
9162         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
9163         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
9164         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
9165         * tests/test-tls.c: Likewise.
9166         Rationale:
9167         Microsoft renamed the "Win32 API" to "Windows API", as it is available
9168         on both 32-bit and 64-bit Windows systems.
9169         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
9170         line of distinction is between "native Windows" on one side and Unix/
9171         POSIX systems on the other side. More details in
9172         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
9173         Suggested by Paul Eggert.
9174
9175 2012-01-03  Bruno Haible  <bruno@clisp.org>
9176
9177         isatty: Support for MSVC 9.
9178         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
9179         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
9180         (_isatty_nothrow): New function.
9181         (isatty): Use it instead of _isatty.
9182         (IsConsoleHandle): Add comment, from Paolo Bonzini.
9183         * lib/poll.c (IsConsoleHandle): Likewise.
9184         * lib/select.c (IsConsoleHandle): Likewise.
9185         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
9186         (gl_PREREQ_ISATTY): New macro.
9187         * modules/isatty (Depends-on): Add msvc-inval.
9188         (configure.ac): Invoke gl_PREREQ_ISATTY.
9189
9190 2012-01-03  Jim Meyering  <meyering@redhat.com>
9191
9192         maint.mk: remove temporary transition aid from over 1.5 years ago
9193         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
9194         purpose was to aid in the transition (avoiding silent malfunction)
9195         from that old name to the new _sc_search_regexp.  This shim was
9196         added by commit 219c504b.
9197
9198         init.sh: do not try to accommodate compare arguments starting with "-"
9199         * tests/init.sh (compare_dev_null_): Do not try to accommodate
9200         compare arguments that start with "-".  Besides, we do not worry
9201         about this when invoking diff or cmp; why start now with sed?
9202         Using "--" to separate options from argument would trigger sed
9203         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
9204         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
9205
9206 2012-01-02  Bruno Haible  <bruno@clisp.org>
9207
9208         Enhance tests for module 'isatty'.
9209         * modules/isatty-tests (Depends-on): Add pipe-posix.
9210         * tests/test-isatty.c: Include <fcntl.h>.
9211         (DEV_NULL): New macro.
9212         (main): Test the resut of isatty() also on regular files, pipes, and
9213         /dev/null.
9214
9215         New module 'isatty'.
9216         * lib/unistd.in.h (isatty): New declaration.
9217         * lib/isatty.c: New file, based on an idea of
9218         Bastien Roucariès <roucaries.bastien@gmail.com>.
9219         * m4/isatty.m4: New file.
9220         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
9221         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
9222         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
9223         REPLACE_ISATTY.
9224         * modules/isatty: New file.
9225         * doc/posix-functions/isatty.texi: Mention the new module.
9226         Suggested by Paolo Bonzini.
9227
9228 2012-01-02  Bruno Haible  <bruno@clisp.org>
9229
9230         canonicalize: Tweak 2011-12-29 commit.
9231         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
9232         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
9233
9234 2012-01-02  Jim Meyering  <meyering@redhat.com>
9235
9236         gitlog-to-changelog: describe input syntax in --help output
9237         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
9238
9239         gitlog-to-changelog: fix typo in --help: show backslash before email @
9240         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
9241         in sources, but not in actual output.
9242
9243 2011-12-30  Jim Meyering  <meyering@redhat.com>
9244
9245         gitlog-to-changelog: don't malfunction when name contains %-directive
9246         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
9247         in a name string cause trouble.  E.g., with a user name of "%s",
9248         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
9249
9250 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
9251
9252         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
9253         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
9254         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
9255         the "  (tiny change)" notation that is appended to the standard
9256         ChangeLog "date  name  email" header line.
9257
9258 2012-01-01  Jim Meyering  <meyering@redhat.com>
9259
9260         test-framework-sh: init.sh: fix "make dist" failure
9261         When using gnulib-tool's --with-tests option and any module that
9262         depends on test-framework-sh, "make dist" would fail due to the
9263         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
9264         in the gltests directory, and not in the gllib/ directory.
9265         One way to work around that is to move the EXTRA_DIST += init.sh
9266         from the primary module to the -tests one:
9267         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
9268         * modules/test-framework-sh (Makefile.am): ...not here.
9269         Reported by Tom G. Christensen in
9270         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
9271
9272         version-etc: update copyright year reported by --version
9273         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
9274
9275 2011-12-31  Pádraig Brady  <P@draigBrady.com>
9276
9277         canonicalize: only stat() if required
9278         * lib/canonicalize.c (canonicalize_filename_mode):
9279         Avoid calling l?stat() when both CAN_MISSING,
9280         and CAN_NOLINKS are set, as we neither need
9281         to resolve symlinks or test component existence.
9282
9283 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
9284
9285         doc: cover st_ino issues once; add OpenVMS etc.
9286         * doc/posix-functions/stat.texi (stat):
9287         * doc/posix-functions/lstat.texi (lstat):
9288         * doc/posix-functions/fstatat.texi (fstatat):
9289         * doc/posix-functions/fstat.texi (fstat):
9290         Move general 'struct stat' stuff to sys_stat.texi,
9291         leaving behind a pointer.
9292         * doc/posix-headers/sys_stat.texi (sys/stat.h):
9293         Merge duplicate info about 'struct stat' problems into here.
9294         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
9295         and suggest partial workarounds.
9296
9297         same-inode: port to OpenVMS
9298         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
9299         three st_ino values.
9300
9301 2011-12-30  Pádraig Brady  <P@draigBrady.com>
9302
9303         canonicalize: fix references to stat() and lstat()
9304         * lib/canonicalize.c (canonicalize_filename_mode):
9305         Ensure references always resolve to a replacement
9306         function if required (even via a macro).
9307
9308 2011-12-30  Jim Meyering  <meyering@redhat.com>
9309
9310         gitlog-to-changelog: remove a little duplication
9311         * build-aux/gitlog-to-changelog (main): Grep @lines once,
9312         rather than twice.
9313
9314 2011-12-29  Pádraig Brady  <P@draigBrady.com>
9315
9316         canonicalize: add support for not resolving symlinks
9317         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
9318         indicate we don't want to follow symlinks.  Also
9319         provide CAN_MODE_MASK to aid setting these existing
9320         mutually exclusive values.
9321         * lib/canonicalize.c (canonicalize_filename_mode):
9322         Extract the flags from can_mode parameter, which
9323         are currently just used to select between stat()
9324         and lstat().  Also ensure that mutually exclusive
9325         values are flagged immediately as invalid.
9326         * tests/test-canonicalize.c: Verify symlinks are
9327         not followed, and that invalid flag combinations
9328         are diagnosed.
9329
9330 2011-12-25  Jim Meyering  <meyering@redhat.com>
9331
9332         gitlog-to-changelog: do not clump multi-paragraph entries
9333         Identical header lines (date,name,email+coauthors) are suppressed,
9334         thus putting all entries with those same characteristics under
9335         a single header.  However, when a log entry consists of two or
9336         more paragraphs, it may not be clear where it starts and ends.
9337         This change makes it so that such an entry is always separated
9338         from others by a header line, even when that header would
9339         otherwise be suppressed.
9340         * build-aux/gitlog-to-changelog: Implement the above.
9341         Inspired by a related request from Stefano Lattarini in
9342         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
9343
9344 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
9345
9346         announce-gen: fix `cmd' typo in diagnostic
9347         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
9348         diagnostic: a missing '$' meant that the command was not output.
9349
9350 2011-12-23  Jim Meyering  <meyering@redhat.com>
9351
9352         test-framework-sh: distribute init.sh
9353         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
9354         Otherwise, "make -C gnulib-tests check" (at least in grep) would
9355         fail due to the lack of init.sh.
9356
9357         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
9358         * modules/atexit-tests: Rather than listing tests/init.sh,
9359         now that there's a module for it, simply depend on that new module.
9360         * modules/closein-tests: Likewise.
9361         * modules/exclude-tests: Likewise.
9362         * modules/getcwd-tests: Likewise.
9363         * modules/perror-tests: Likewise.
9364         * modules/pread-tests: Likewise.
9365         * modules/pwrite-tests: Likewise.
9366         * modules/vc-list-files-tests: Likewise.
9367         * modules/verify-tests: Likewise.
9368         * modules/xalloc-die-tests: Likewise.
9369         * modules/xstrtoimax-tests: Likewise.
9370         * modules/xstrtol-tests: Likewise.
9371         * modules/xstrtoll-tests: Likewise.
9372         * modules/xstrtoumax-tests: Likewise.
9373         * modules/yesno-tests: Likewise.
9374
9375 2011-12-22  Jim Meyering  <meyering@redhat.com>
9376
9377         test-framework-sh: add minimal tests of init.sh's compare function
9378         * modules/test-framework-sh-tests: New file.
9379         * tests/test-init.sh: New file.
9380
9381         test-framework-sh: new module
9382         * modules/test-framework-sh: New file.
9383         * MODULES.html.sh (Support for maintaining and releasing projects):
9384         List it.
9385
9386         init.sh: do not emit simulated diff output to stderr
9387         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
9388
9389 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
9390
9391         .gitignore: ignore gnulib.dvi and regex.info
9392         * doc/.gitignore:add gnulib.dvi and regex.info
9393
9394 2011-12-22  Jim Meyering  <meyering@redhat.com>
9395
9396         init.sh: correct previous change
9397         * tests/init.sh (compare): My previous change was wrong.
9398         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
9399
9400         init.sh: avoid unwarranted test failure when using "set -e"
9401         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
9402         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
9403         a use like "compare exp out" would get evoke an unconditional failure.
9404
9405 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
9406
9407         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
9408         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
9409         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
9410         autoreconf that did not.
9411         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
9412         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
9413
9414 2011-12-17  Jim Meyering  <meyering@redhat.com>
9415
9416         bootstrap: remove some now-unneeded code
9417         This script arose back when gnulib-tool was young.
9418         Since then, it has seen improvements that render much of this
9419         script unnecessary.  In particular, it can now make symlinks
9420         to the files it uses.  Also, I no longer see as much value in
9421         marking files as read-only via comments.
9422         If you relied on the symlink-creation feature of the preceding
9423         version of this script, you can get most of that functionality
9424         by adding the --symlink option to the definition of
9425         gnulib_tool_option_extras in your bootstrap.conf file.
9426         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
9427         Run autopoint and libtoolize *before* gnulib-tool.
9428         After it, run an abbreviated autoreconf, rather than a loop around
9429         all tools.
9430         (slirp, bt_mark_as_generated): Remove functions.
9431
9432 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9433
9434         ftoastr: fix typo
9435         * lib/ftoastr.h: Fix misspelling in comment.
9436
9437 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
9438
9439         * top/README-release: fix punctuation.
9440
9441 2011-12-17  Jim Meyering  <meyering@redhat.com>
9442
9443         bootstrap: correct the recent buildreq change
9444         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
9445         had no effect.
9446         * build-aux/bootstrap (buildreq): Bracket each search term with
9447         "*...*", so that the shell "case" statement works as intended.
9448         Add comments.
9449
9450 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
9451
9452         build: let bootstrap resort to wget when downloading .po files
9453         * build-aux/bootstrap (download_po_files): Fallback to wget when
9454         downloading the .po files via rsync fails.  This is necessary to
9455         bootstrap from behind a strict firewall.
9456
9457 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9458
9459         stdint: don't assume C++11 when compiling with g++
9460         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
9461         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
9462         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
9463         work also in C++ before C++11, as that improperly inhibits
9464         generating a substitute stdint.h for that case.
9465
9466 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9467
9468         alloca: protect comment from gnulib-tool
9469         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
9470         that gnulib-tool doesn't think it's a license, and munge it to
9471         say "GCC version 3".
9472
9473 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
9474
9475         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
9476         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
9477         $(abs_top_builddir) instead of $(top_builddir).
9478
9479 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
9480
9481         strftime-tests: also test nanoseconds
9482         * tests/test-strftime.c (T): Add a test of %N.
9483
9484 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
9485
9486         inttypes, stdint: add C++11 support
9487         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
9488         when including inttypes.h and stdint.h.  Support this change to
9489         the standard.
9490         * doc/posix-headers/inttypes.texi (inttypes.h):
9491         * doc/posix-headers/stdint.texi (stdint.h): Document this.
9492         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
9493         Define if not defined already, for the benefit of pre-C++11 hosts.
9494         Define the standard format macros (e.g., PRId8) always.
9495         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
9496         Likewise, if __cpluspus.  Define the standard constant and limit
9497         macros (e.g., INT8_C, INT8_MAX) always.
9498         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
9499         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
9500         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
9501         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
9502         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
9503         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
9504         Likewise.
9505
9506 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
9507
9508         nonblocking tests: Fix test failure on Linux/PPC.
9509         Suggested by Prerna Saxena in
9510         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
9511         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
9512         Set to 1100000.
9513
9514 2011-12-12  Jim Meyering  <meyering@redhat.com>
9515
9516         argmatch: don't hard-code `' when listing valid option arguments
9517         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
9518         use the quote function to add quotes.  Use fputs rather than
9519         fprintf for the format string with no format directive.
9520
9521 2011-12-07  Eric Blake  <eblake@redhat.com>
9522
9523         bootstrap: detect tools required by gnulib-tool
9524         * build-aux/bootstrap (buildreq): Provide minimum implicit
9525         dependencies.
9526         * DEPENDENCIES: Mention patch as a prereq.
9527
9528 2011-12-04  Bruno Haible  <bruno@clisp.org>
9529
9530         sethostname: Port to Windows platforms.
9531         * lib/sethostname.c: Provide an alternate implementation for Windows
9532         platforms.
9533         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
9534         (main): Skip the test if sethostname() fails with EPERM. On Windows
9535         platforms, don't check the result of gethostname().
9536
9537 2011-12-04  Bruno Haible  <bruno@clisp.org>
9538             Jim Meyering  <meyering@redhat.com>
9539
9540         tests: Avoid spurious error message on platforms without mktemp program.
9541         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
9542
9543 2011-12-04  Bruno Haible  <bruno@clisp.org>
9544
9545         sethostname: Fix documentation.
9546         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
9547         "not fixed" section.
9548
9549 2011-12-03  Bruno Haible  <bruno@clisp.org>
9550
9551         gnulib-tool: Verify that the License field is present and non-empty.
9552         * gnulib-tool (func_get_license_raw): New function, extracted from
9553         func_get_license.
9554         (func_get_license): Use it. Warn if the module is not a test module and
9555         has no license.
9556         Suggested by Jim Meyering.
9557
9558 2011-12-03  Bruno Haible  <bruno@clisp.org>
9559
9560         sethostname tests: Fix link error on mingw.
9561         * tests/test-sethostname1.c: New file, extracted from
9562         tests/test-sethostname.c.
9563         * tests/test-sethostname2.c: New file, extracted from
9564         tests/test-sethostname.c.
9565         * tests/test-sethostname.c: Remove file.
9566         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
9567         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
9568         (Depends-on): Add gethostname.
9569         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
9570         Link the latter with $(GETHOSTNAME_LIB).
9571
9572         sethostname tests: Fix compilation error on mingw.
9573         * tests/test-sethostname.c: Don't include <sys/types.h>.
9574         (geteuid): Use a dummy value without uid_t.
9575         * modules/sethostname-tests (Depends-on): Remove sys_types.
9576
9577         sethostname tests: Avoid a gcc warning.
9578         * tests/test-sethostname.c (main): Remove an unused variable.
9579
9580         Tweak last commit.
9581         * modules/sethostname-tests (Files): Sort by decreasing importance.
9582         (configure.ac): Check for geteuid.
9583         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
9584         the test when there's nothing to test. Drop an unnecessary cast.
9585         Improve an error message. Verify that the final sethostname() call
9586         succeeds.
9587
9588 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9589
9590         Add a test suite for the sethostname module.
9591         * modules/sethostname-tests: New file.  A test program
9592         for the sethostname module.
9593         * tests/test-sethostname.c: Likewise.
9594
9595 2011-12-03  Bruno Haible  <bruno@clisp.org>
9596
9597         Tweak last commit.
9598         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
9599         Fix preprocessor directives indentation. Fix typos.
9600         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
9601         * modules/unistd (Makefile): Likewise.
9602
9603 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9604
9605         Integrate the sethostname module into unistd.
9606         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
9607         into the unistd.h header.
9608         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
9609         preprocessor directives.
9610         * modules/unistd: Setup the Makefile substitutions of the
9611         SETHOSTNAME preprocessor directives.
9612
9613 2011-12-03  Bruno Haible  <bruno@clisp.org>
9614
9615         Tweak last commit.
9616         * lib/sethostname.c: Don't include <string.h>.
9617         (sethostname): No need to copy the argument string to the stack. Don't
9618         call clearerr. Preserve errno when fprintf failed.
9619         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
9620         Don't invoke AC_REPLACE_FUNCS.
9621         * modules/sethostname (Link): Remove empty section.
9622         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
9623         failure problem.
9624
9625 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9626
9627         New module 'sethostname'.
9628         * lib/sethostname.c (sethostname): New file.  Provide sethostname
9629         for systems that lack it.
9630         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
9631         sethostname declaration and function.
9632         * modules/sethostname: New file.  Define the sethostname module.
9633
9634 2011-12-03  Bruno Haible  <bruno@clisp.org>
9635
9636         Tweak last commit.
9637         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
9638
9639 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9640
9641         Split the HOST_NAME_MAX detection into a separate m4 macro.
9642         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
9643         macro so it can be used by the pending sethostname module.
9644
9645 2011-12-03  Bruno Haible  <bruno@clisp.org>
9646
9647         Fix module descriptions syntax.
9648         * modules/argv-iter (License): Fix syntax.
9649         * modules/di-set (License): Likewise.
9650         * modules/ino-map (License): Likewise.
9651         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
9652
9653 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
9654
9655         stdalign: port to Clang 3.0
9656         Problem reported by Simon Josefsson in
9657         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
9658         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
9659         which has <stdalign.h> but which does not define alignof.
9660         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
9661
9662 2011-12-01  Eric Blake  <eblake@redhat.com>
9663
9664         mktempd: silence dd usage
9665         * build-aux/mktempd (rand_bytes): Silence dd.
9666
9667 2011-11-30  Simon Josefsson  <simon@josefsson.org>
9668
9669         manywarnings: Don't mention gcc version in docstring.
9670         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
9671         Jim Meyering <meyering@redhat.com>.
9672
9673 2011-11-30  Jim Meyering  <meyering@redhat.com>
9674
9675         hash: mark a few floating point constants with "f" suffix
9676         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
9677         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
9678         floating point constants with "f", since they're destined to be
9679         saved/used as "float"s.
9680
9681 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
9682
9683         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
9684         * tests/test-float.c (test_long_double): Correct and re-enable the
9685         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
9686
9687 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
9688
9689         Avoid subtracting two pointers that don't point into the same block.
9690         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
9691         only pointers into the same memory block are subtracted. We cannot
9692         assume that sizeof (ptrdiff_t) == sizeof (void *).
9693
9694 2011-11-29  Eric Blake  <eblake@redhat.com>
9695
9696         maint.mk: add syntax check for use of compare from init.sh
9697         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
9698         moved here from coreutils.
9699
9700         manywarnings: drop -Wunsuffixed-float-constants
9701         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
9702         '1.0D', which is the only way to silence this warning for 'double'.
9703
9704 2011-11-29  Jim Meyering  <meyering@redhat.com>
9705
9706         hash: mark compute_bucket_size with the pure attribute
9707         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
9708
9709         quotearg, propername: correct pragma guard expression
9710         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
9711         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
9712
9713 2011-11-28  Jim Meyering  <meyering@redhat.com>
9714
9715         propername: do not mark proper_name with the const attribute
9716         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
9717         since it examines data pointed to by its parameter.
9718         * lib/propername.c (proper_name): Instead, add a pragma to suppress
9719         the suggestion from -Wsuggest-attribute=const.
9720
9721         propername: mark one more function as const
9722         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
9723
9724 2011-11-27  Jim Meyering  <meyering@redhat.com>
9725
9726         mark functions with const and pure attributes
9727
9728         Mark functions per suggestions from gcc-4.6 when using these options:
9729         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
9730         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
9731         Follow these guidelines: when possible, apply the attribute to
9732         an extern declaration, not to its definition.  Apply it to the
9733         definition only when the definition is static.
9734         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
9735         * lib/argv-iter.h (argv_iter_n_args): Likewise.
9736         * lib/base64.h (isbase64): Likewise.
9737         * lib/basename-lgpl.c (last_component, base_len): Likewise.
9738         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
9739         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
9740         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
9741         (c_tolower, c_toupper): Likewise.
9742         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
9743         * lib/chdir-long.c (find_non_slash): Likewise.
9744         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
9745         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
9746         * lib/file-type.h (file_type): Likewise.
9747         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
9748         * lib/filevercmp.c (verrevcmp): Likewise.
9749         * lib/freadahead.h (freadahead): Likewise.
9750         * lib/fts.c (fts_maxarglen): Likewise.
9751         * lib/hash-pjw.h (hash_pjw): Likewise.
9752         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
9753         * lib/hash.c (is_prime, next_prime): Likewise.
9754         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
9755         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
9756         (hash_table_ok, hash_get_first, hash_string): Likewise.
9757         (compute_bucket_size): Likewise.
9758         * lib/i-ring.h (i_ring_empty): Likewise.
9759         * lib/isnan.c (isnanl): Likewise.
9760         * lib/math.h (isnanl, rpl_isnanl): Likewise.
9761         * lib/memcasecmp.h (memcasecmp): Likewise.
9762         * lib/memchr2.h (memchr2): Likewise.
9763         * lib/memcmp2.h (memcmp2): Likewise.
9764         * lib/parse-datetime.y (lookup_zone): Likewise.
9765         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
9766         [!WINDOWS_SOCKETS]: Likewise.
9767         * lib/strnlen1.h (strnlen1): Likewise.
9768         * lib/uniwidth.in.h (uc_width): Likewise.
9769         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
9770         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
9771         (quoting_options_from_style): Add a comment.
9772         * lib/propername.h (proper_name): Add a comment.
9773
9774 2011-11-27  Bruno Haible  <bruno@clisp.org>
9775
9776         Remove unused macros from !_LIBC code in glibc-borrowed files.
9777         * lib/fnmatch.c (STRCOLL): Remove macro.
9778         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
9779         * lib/glob.c (__stat, __readdir64): Remove macros.
9780         * lib/tempname.c (__open64, __xstat64): Remove macros.
9781         Suggested by Paul Eggert.
9782
9783 2011-11-27  Bruno Haible  <bruno@clisp.org>
9784
9785         getcwd: Fix link error on MSVC 9.
9786         * modules/getcwd (Depends-on): Add readdir, rewinddir.
9787
9788 2011-11-27  Bruno Haible  <bruno@clisp.org>
9789
9790         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
9791         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
9792         HAVE_OPENDIR is 0.
9793         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
9794         HAVE_CLOSEDIR is 0.
9795         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
9796         is 0.
9797         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
9798
9799 2011-11-27  Bruno Haible  <bruno@clisp.org>
9800
9801         getcwd: Fix bug from 2011-08-17.
9802         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
9803         platforms that need it.
9804         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
9805         code of 4 to be a failure, not a success. This ensures that
9806         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
9807
9808 2011-11-27  Bruno Haible  <bruno@clisp.org>
9809
9810         binary-io tests: Avoid test failure on mingw when libtool is used.
9811         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
9812         Don't verify the size of t-bin-out1.tmp here.
9813         * tests/test-binary-io.sh: Verify it here.
9814         Reported by Simon Josefsson.
9815
9816 2011-11-26  Bruno Haible  <bruno@clisp.org>
9817
9818         Fix conflict between two instantiations of module 'unistd'.
9819         * gnulib-tool (func_emit_autoconf_snippet): Substitute
9820         ${include_guard_prefix} also in the autoconf snippet.
9821         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
9822         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
9823         GNULIB_UNISTD_H_GETOPT.
9824         * modules/getopt-posix (configure.ac): Set the
9825         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
9826         * modules/getopt-gnu (configure.ac): Likewise.
9827         * modules/unistd (Makefile.am): Change the substitution value of
9828         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
9829         Reported by Simon Josefsson.
9830
9831 2011-11-25  Bruno Haible  <bruno@clisp.org>
9832
9833         pagealign_alloc: Doc and comments.
9834         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
9835         module.
9836         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
9837
9838 2011-11-25  Jim Meyering  <meyering@redhat.com>
9839
9840         test-update-copyright.sh: avoid false-positive failure
9841         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
9842         around false positive failure on Cygwin/Windows.  The latter was
9843         matching erroneously-created files with names like
9844         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
9845
9846 2011-11-25  Simon Josefsson  <simon@josefsson.org>
9847
9848         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
9849         * m4/valgrind-tests.m4: Check that the parameters that will be
9850         used works, not just a subset of them.  Reported by Bruno Haible
9851         <bruno@clisp.org>.
9852
9853 2011-11-24  Jim Meyering  <meyering@redhat.com>
9854
9855         test-stdalign.c: comment out long double tests
9856         * tests/test-stdalign.c: Don't try to reduce alignment of long double
9857         variables.  That provokes errors like this from gcc-4.7.0 20111124:
9858         error: '_Alignas' specifiers cannot reduce alignment of \
9859         'static_longdouble_alignas'.
9860
9861 2011-11-22  Jim Meyering  <meyering@redhat.com>
9862
9863         init.sh: make "compare /dev/null FILE" output more readable
9864         * tests/init.sh (compare_): Document the preferred order of arguments.
9865         (emit_diff_u_header_): New function.
9866         (compare_dev_null_): Emit a simulated diff, rather than just the
9867         contents of the unexpected file.  Suggestion from Bruno Haible.
9868
9869 2011-11-21  Jim Meyering  <meyering@redhat.com>
9870             Eric Blake  <eblake@redhat.com>
9871
9872         init.sh: work around OSF/1 5.1's mishandling of /dev/null
9873         * tests/init.sh: Make our compare function slightly more portable.
9874         Reported by Bruno Haible in
9875         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
9876
9877 2011-11-21  Simon Josefsson  <simon@josefsson.org>
9878
9879         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
9880         before using it, in code that ends up in config.h.
9881
9882 2011-11-20  Bruno Haible  <bruno@clisp.org>
9883
9884         getcwd: Work around getcwd bug on AIX 5..7.
9885         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
9886         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
9887         Use a different value for gl_cv_func_getcwd_path_max. Move the
9888         definition of HAVE_PARTLY_WORKING_GETCWD from here...
9889         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
9890         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
9891         Define HAVE_MINIMALLY_WORKING_GETCWD.
9892         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
9893         where it is not even minimally working, that is, on AIX.
9894         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
9895         m4/getcwd-path-max.m4.
9896         (main): Update exit code computation.
9897         * doc/posix-functions/getcwd.texi: Mention list of platforms where
9898         getcwd does not handle long file names.
9899
9900 2011-11-20  Bruno Haible  <bruno@clisp.org>
9901
9902         getcwd: Fix bug from 2009-09-10.
9903         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
9904         like "no".
9905
9906 2011-11-20  Simon Josefsson  <simon@josefsson.org>
9907
9908         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
9909
9910 2011-11-20  Bruno Haible  <bruno@clisp.org>
9911
9912         fma tests: Avoid shadowing local variables.
9913         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
9914         expected.
9915
9916 2011-11-20  Bruno Haible  <bruno@clisp.org>
9917
9918         copysignf tests: Fix.
9919         * tests/test-copysignf.c: Fix signature check.
9920
9921 2011-11-20  Bruno Haible  <bruno@clisp.org>
9922
9923         fma: Remove unused code.
9924         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
9925         unused macros.
9926
9927 2011-11-20  Bruno Haible  <bruno@clisp.org>
9928
9929         sethostname: Fix doc about AIX.
9930         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
9931         sethostname; it has it.
9932
9933         sethostname: Mention more portability problems.
9934         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
9935         problem.
9936         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
9937
9938 2011-11-19  Bruno Haible  <bruno@clisp.org>
9939
9940         Depend on module fcntl-h when AT_FDCWD is used.
9941         * modules/utimens (Depends-on): Add fcntl-h.
9942         * modules/areadlinkat (Depends-on): Likewise.
9943         * modules/areadlinkat-with-size (Depends-on): Likewise.
9944         * modules/faccessat (Depends-on): Likewise.
9945         * modules/fchmodat (Depends-on): Likewise.
9946         * modules/fchownat (Depends-on): Likewise.
9947         * modules/getcwd (Depends-on): Likewise.
9948         * modules/mkdirat (Depends-on): Likewise.
9949         * modules/mkfifoat (Depends-on): Likewise.
9950         * modules/readlinkat (Depends-on): Likewise.
9951         * modules/symlinkat (Depends-on): Likewise.
9952         * modules/dup2-tests (Depends-on): Likewise.
9953         * modules/fdutimensat-tests (Depends-on): Likewise.
9954         * modules/futimens-tests (Depends-on): Likewise.
9955
9956 2011-11-19  Bruno Haible  <bruno@clisp.org>
9957
9958         euidaccess: Update a comment.
9959         * lib/euidaccess.c: Update comment about platforms with faccessat.
9960
9961 2011-11-19  Bruno Haible  <bruno@clisp.org>
9962
9963         openat: Fix file list.
9964         * modules/openat (Files): Remove lib/at-func.c.
9965
9966 2011-11-19  Bruno Haible  <bruno@clisp.org>
9967
9968         fstatat: Simplify.
9969         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
9970         gnulib should define rpl_fstatat, there is a
9971         "#define fstatat rpl_fstatat" in <sys/stat.h>.
9972
9973 2011-11-19  Bruno Haible  <bruno@clisp.org>
9974
9975         Ensure 'inline' can be used in tests/test-utimens-common.h.
9976         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
9977         * modules/futimens-tests (configure.ac): Likewise.
9978         * modules/utimens-tests (configure.ac): Likewise.
9979         * modules/utimensat-tests (configure.ac): Likewise.
9980
9981 2011-11-19  Simon Josefsson  <simon@josefsson.org>
9982
9983         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
9984         not hash_insert0.
9985         (hash_insert_if_absent): Doc fix.
9986
9987 2011-11-19  Simon Josefsson  <simon@josefsson.org>
9988
9989         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
9990
9991 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
9992
9993         test-getcwd: disambiguate exit status
9994         * tests/test-getcwd.c (test_long_name): Return 0..7.
9995         (main): Exit with an unambiguous exit status.  The old
9996         code yielded a mysterious mixture of two failure codes.
9997
9998         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
9999         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
10000         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
10001         rpl_fstatat or fstatat.  This should fix the other problem
10002         reported by Kai Habel in
10003         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
10004         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
10005         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
10006         and I reproduced it on a Solaris 8 host we still have in production.
10007
10008 2011-11-18  Jim Meyering  <meyering@redhat.com>
10009
10010         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
10011         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
10012         Add a sentence to the comment.
10013         (hash_insert0): New function that simply calls hash_insert_if_absent.
10014         * lib/hash.h (hash_insert_if_absent): Declare it.
10015         (hash_insert0): Add deprecation attribute.
10016         (_GL_ATTRIBUTE_DEPRECATED): Define.
10017         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
10018         not hash_insert0.
10019         * NEWS: Mention it, even though it's not really an incompatible change.
10020
10021 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
10022
10023         openat: avoid compilation failure due to lack of <errno.h> inclusion
10024         * lib/openat.c: Include <errno.h>.
10025
10026 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
10027
10028         * modules/getcwd (Depends-on): Add fdopendir.
10029         This fixes one of the two problems reported by Kai Habel in
10030         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
10031
10032         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
10033         stdalign problem reported by Ian Beckwith in
10034         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
10035         * modules/crypto/gc-arcfour (Depends-on):
10036         Depend conditionally on crypto/arcfour.
10037         * modules/crypto/gc-arctwo (Depends-on):
10038         Depend conditionally on crypto/arctwo.
10039         * modules/crypto/gc-des (Depends-on):
10040         Depend conditionally on crypto/des.
10041         * modules/crypto/gc-hmac-md5 (Depends-on):
10042         Depend conditionally on crypto/hmac-md5.
10043         * modules/crypto/gc-hmac-sha1 (Depends-on):
10044         Depend conditionally on crypto/hmac-sha1.
10045         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
10046         * modules/crypto/gc-md4 (Depends-on):
10047         Depend conditionally on crypto/md4.
10048         * modules/crypto/gc-md5 (Depends-on):
10049         Depend conditionally on crypto/md5.
10050         * modules/crypto/gc-rijndael (Depends-on):
10051         Depend conditionally on crypto/rijndael.
10052         * modules/crypto/gc-sha1 (Depends-on):
10053         Depend conditionally on crypto/sha1.
10054         * modules/crypto/gc-arcfour:
10055         * modules/crypto/gc-arctwo:
10056         * modules/crypto/gc-des:
10057         * modules/crypto/gc-hmac-md5:
10058         * modules/crypto/gc-hmac-sha1:
10059         * modules/crypto/gc-md2:
10060         * modules/crypto/gc-md4:
10061         * modules/crypto/gc-md5:
10062         * modules/crypto/gc-rijndael:
10063         * modules/crypto/gc-sha1:
10064         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
10065         now that the conditional dependencies do the work for us.
10066
10067 2011-11-17  Jim Meyering  <meyering@redhat.com>
10068
10069         tests: factor st_ctime-comparison out of two headers
10070         * tests/test-utimens-common.h (ctime_compare): Define.
10071         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
10072         * tests/test-lutimens.h (test_lutimens): Likewise.
10073         * tests/test-utimens.h (test_utimens): Likewise.
10074
10075         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
10076         Invoke the test program via an init.sh-using wrapper.
10077         * tests/test-getcwd.sh: New file.
10078         * modules/getcwd-tests (Files): Add it.
10079         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
10080
10081 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
10082
10083         gitlog-to-changelog: support multi-author commits.
10084         The FSF cares about keeping track of all authors of patches to its
10085         projects, but Git doesn't provide obvious support for multi-author
10086         changesets. Consensus seems to be forming around the use of extra
10087         Signed-off-by inspired lines in the log message formatted as
10088         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
10089         multi-author commits between version control systems.
10090         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
10091         log message and output in standard ChangeLog multi-author format.
10092         Reported by Peter Rosin <peda@lysator.liu.se>
10093
10094 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
10095             Bruno Haible  <bruno@clisp.org>
10096
10097         Fix some modules' file list.
10098         * modules/fstatat (Files): Add m4/lstat.m4.
10099         * modules/openat (Files): Likewise.
10100         * modules/unlinkat (Files): Likewise.
10101
10102 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
10103
10104         maint.mk: fix tight-scope.mk generation in VPATH builds.
10105         * top/maint.mk (tight-scope.mk): Make sure to prefix file
10106         reference with $(srcdir) so that the file is found correctly even
10107         when running `make syntax-check' in a VPATH build.
10108
10109 2011-11-13  Bruno Haible  <bruno@clisp.org>
10110             Jim Meyering  <meyering@redhat.com>
10111
10112         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
10113         * tests/init.sh (compare): Remove "No differences encountered" or
10114         synonymous output from the 'diff' program.
10115
10116 2011-11-13  Bruno Haible  <bruno@clisp.org>
10117
10118         Makefile: Tweak indentation.
10119         * Makefile: Use tab as first character in every line that contains rule
10120         commands.
10121
10122 2011-11-13  Bruno Haible  <bruno@clisp.org>
10123
10124         Syntax check for copyright statements.
10125         * check-copyright: New file.
10126         * Makefile (sc_check_copyright): New rule.
10127
10128 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10129
10130         * build-aux/git-version-gen: Add --prefix to configure the tag
10131         match string.
10132
10133 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10134
10135         * build-aux/git-version-gen: Add --help and --version.
10136
10137 2011-11-12  Jim Meyering  <meyering@redhat.com>
10138
10139         revamp the other test-exclude?.sh scripts to use init.sh, too
10140         * tests/test-exclude1.sh: Use init.sh.
10141         * tests/test-exclude2.sh: Likewise.
10142         * tests/test-exclude3.sh: Likewise.
10143         * tests/test-exclude4.sh: Likewise.
10144         * tests/test-exclude5.sh: Likewise.
10145         * tests/test-exclude6.sh: Likewise.
10146         * tests/test-exclude7.sh: Likewise.
10147         * tests/test-exclude8.sh: Likewise.
10148         * modules/exclude-tests (Files): List init.sh.
10149
10150         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
10151         These shell scripts ignored failure of the binary test-exclude,
10152         so making the latter return 77 didn't cause them to be skipped.
10153         * tests/test-exclude5.sh: Exit with test-exclude's error status
10154         when that program fails.  Revamp to use init.sh.
10155         * tests/test-exclude2.sh: Likewise.
10156
10157         test-exclude: fix a typo
10158         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
10159
10160 2011-11-11  Bruno Haible  <bruno@clisp.org>
10161
10162         obstack: Fix compilation error on MSVC 9.
10163         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
10164
10165 2011-11-11  Jim Meyering  <meyering@redhat.com>
10166
10167         test-exclude: skip tests rather than failing on deficient systems
10168         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
10169         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
10170         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
10171         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
10172
10173 2011-11-10  Bruno Haible  <bruno@clisp.org>
10174
10175         ptsname_r test: Avoid gcc warning on glibc systems.
10176         * tests/test-ptsname_r.c (null_ptr): New function.
10177         (test_errors): Use it.
10178
10179 2011-11-10  Bruno Haible  <bruno@clisp.org>
10180
10181         ptsname_r: Avoid compilation error on OSF/1 5.1.
10182         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
10183         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
10184         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
10185         function is not declared or incompatibly declared.
10186         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
10187         * modules/ptsname_r (Depends-on, configure.ac): Update.
10188         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
10189
10190 2011-11-10  Bruno Haible  <bruno@clisp.org>
10191
10192         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
10193         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
10194         When cross-compiling, guess yes on all platforms except AIX.
10195         Reported by Ludovic Courtès <ludo@gnu.org>.
10196
10197 2011-11-09  Bruno Haible  <bruno@clisp.org>
10198
10199         ptsname_r tests: Fix bugs.
10200         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
10201         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
10202
10203 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
10204
10205         fstatat: work with cross-compilation
10206         Problem reported by Ludovic Courtès in
10207         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
10208         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
10209         "cross-compiling" and assume the bug is present.  Replace
10210         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
10211         an inverted sense, to be more conservative about our assumptions.
10212         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
10213
10214 2011-11-09  Bruno Haible  <bruno@clisp.org>
10215
10216         Improve MODULES.html output.
10217         * modules/mkfifoat (Description): Use the word "function".
10218         * modules/readlinkat (Description): Likewise.
10219         * modules/symlinkat (Description): Likewise.
10220
10221 2011-11-09  Eric Blake  <eblake@redhat.com>
10222
10223         ptsname_r-tests: new test module
10224         * modules/ptsname_r-tests: New module.
10225         * tests/test-ptsname_r.c: New file.
10226
10227         ptsname_r: new module
10228         * modules/ptsname_r: New module.
10229         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
10230         * lib/ptsname.c (__ptsname_r): Split...
10231         * lib/ptsname_r.c: ...into new file.
10232         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
10233         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
10234         * modules/stdlib (Makefile.am): Substitute witnesses.
10235         * lib/stdlib.in.h (ptsname_r): Declare it.
10236         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
10237         * MODULES.html.sh (Misc): Likewise.
10238         * modules/ptsname (Depends-on): Alter dependency.
10239         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
10240
10241 2011-11-09  Jim Meyering  <meyering@redhat.com>
10242
10243         announce-gen: be more concise when there's only one URL+tarball
10244         * build-aux/announce-gen (get_tool_versions): When you distribute
10245         only one type of tarball, combine the first two "Here are..."
10246         sections and make the key-checking grammar independent of
10247         how many tarballs there are.
10248
10249 2011-11-09  Eric Blake  <eblake@redhat.com>
10250
10251         openpty: provide a stub on mingw
10252         * lib/pty.in.h (includes): Provide forward declarations.
10253         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
10254
10255         raise: fix mingw handling of SIGPIPE
10256         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
10257
10258 2011-11-08  Bruno Haible  <bruno@clisp.org>
10259
10260         More conditional dependencies.
10261         * modules/faccessat (Depends-on): Add conditions.
10262         * modules/fchmodat (Depends-on): Likewise.
10263         * modules/fchownat (Depends-on): Likewise.
10264         * modules/fstatat (Depends-on): Likewise.
10265         * modules/mkfifoat (Depends-on): Likewise.
10266         * modules/readlinkat (Depends-on): Likewise.
10267         * modules/symlinkat (Depends-on): Likewise.
10268         * modules/unlinkat (Depends-on): Likewise.
10269         * modules/utimensat (Depends-on): Likewise.
10270         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
10271         * modules/linkat (Depends-on): Refine the conditions.
10272         * modules/renameat (Depends-on): Likewise.
10273
10274 2011-11-08  Bruno Haible  <bruno@clisp.org>
10275
10276         faccessat: Move AC_LIBOBJ invocation to module description.
10277         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
10278         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
10279         invocation from here...
10280         * modules/faccessat (configure.ac): ... to here. Invoke
10281         gl_PREREQ_FACCESSAT.
10282
10283 2011-11-08  Bruno Haible  <bruno@clisp.org>
10284
10285         faccessat: Simplify autoconf macro.
10286         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
10287         gl_FUNC_EUIDACCESS.
10288
10289 2011-11-08  Bruno Haible  <bruno@clisp.org>
10290
10291         renameat: Fix dependencies.
10292         * modules/renameat (Depends-on): Add stdbool.
10293
10294 2011-11-08  Bruno Haible  <bruno@clisp.org>
10295
10296         mkfifoat: Fix module description.
10297         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
10298         not gl_UNISTD_MODULE_INDICATOR.
10299
10300 2011-11-08  Bruno Haible  <bruno@clisp.org>
10301
10302         fstatat: Remove unused dependency.
10303         * modules/fstatat (Depends-on): Remove fstat.
10304
10305 2011-11-08  Simon Josefsson  <simon@josefsson.org>
10306
10307         GNUmakefile: behave when Makefile is missing.
10308         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
10309
10310 2011-11-08  Bruno Haible  <bruno@clisp.org>
10311
10312         openat: Conditionalize dependencies.
10313         * lib/openat.c: Reduce the scope of some #includes.
10314         * modules/openat (Depends-on): Add conditions.
10315
10316 2011-11-07  Jim Meyering  <meyering@redhat.com>
10317
10318         maint.mk: extract GPG key ID without using a temporary file
10319         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
10320         without using a temporary file.  Based on a suggestion from Werner Koch
10321         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
10322
10323 2011-11-07  Eric Blake  <eblake@redhat.com>
10324
10325         grantpt: fix typo
10326         * lib/stdlib.in.h (grantpt): Check correct function.
10327
10328         maint.mk: silence new syntax check
10329         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
10330
10331 2011-11-06  Bruno Haible  <bruno@clisp.org>
10332
10333         Doc about floating-point and math API.
10334         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
10335         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
10336
10337 2011-11-06  Bruno Haible  <bruno@clisp.org>
10338
10339         stdalign tests: Skip the test when compiled by Sun C.
10340         * tests/test-stdalign.c (main): Skip the test on Sun C.
10341
10342 2011-11-06  Bruno Haible  <bruno@clisp.org>
10343
10344         ansi-c++-opt: Complete the 2011-06-05 change.
10345         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
10346         does not support namespaces, set the variable to "no", not to ":".
10347
10348 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
10349
10350         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
10351
10352 2011-11-06  Bruno Haible  <bruno@clisp.org>
10353
10354         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
10355         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
10356         (minus_zerol) [HP-UX]: New macro.
10357         (unary_minus) [HP-UX]: New function.
10358         (copysignl) [HP-UX]: Use unary_minus function.
10359
10360 2011-11-06  Bruno Haible  <bruno@clisp.org>
10361
10362         ldexp, ldexpf, ldexpl: Enhance tests.
10363         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
10364         and tests/test-ldexpl.c.
10365         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
10366         LDEXP, MIN_EXP, MAX_EXP): New macros.
10367         Include test-ldexp.h.
10368         (main): Just call test_function.
10369         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
10370         infinity.h, nan.h.
10371         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10372         MAX_EXP): New macros.
10373         Include test-ldexp.h.
10374         (x, y): Remove variables.
10375         (main): Just call test_function.
10376         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
10377         infinity.h, nan.h.
10378         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10379         MAX_EXP): New macros.
10380         Include test-ldexp.h.
10381         (x, y): Remove variables.
10382         (main): Just call test_function.
10383         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
10384         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
10385         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10386         (Depends-on): Add isnand-nolibm, signbit, float.
10387         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
10388         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10389         (Depends-on): Add isnanf-nolibm, signbit, float.
10390
10391 2011-11-06  Bruno Haible  <bruno@clisp.org>
10392
10393         math tests: Cosmetics.
10394         * tests/test-math-c++.cc: Reorder declarations.
10395
10396 2011-11-05  Bruno Haible  <bruno@clisp.org>
10397
10398         fma*: Simplify test.
10399         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
10400         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
10401
10402         Tests for module 'fmal'.
10403         * modules/fmal-tests: New file.
10404         * tests/test-fmal1.c: New file.
10405         * tests/test-fmal2.c: New file.
10406
10407         New module 'fmal'.
10408         * lib/math.in.h (fmal): New declaration.
10409         * lib/fmal.c: New file.
10410         * m4/fmal.m4: New file.
10411         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
10412         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
10413         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
10414         REPLACE_FMAL.
10415         * modules/fmal: New file.
10416         * doc/posix-functions/fmal.texi: Mention the new module and the various
10417         bugs.
10418
10419         Tests for module 'fmaf'.
10420         * modules/fmaf-tests: New file.
10421         * tests/test-fmaf1.c: New file.
10422         * tests/test-fmaf2.c: New file.
10423
10424         New module 'fmaf'.
10425         * lib/math.in.h (fmaf): New declaration.
10426         * lib/fmaf.c: New file.
10427         * m4/fmaf.m4: New file.
10428         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
10429         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
10430         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
10431         REPLACE_FMAF.
10432         * modules/fmaf: New file.
10433         * doc/posix-functions/fmaf.texi: Mention the new module and the various
10434         bugs.
10435
10436         Tests for module 'fma'.
10437         * modules/fma-tests: New file.
10438         * tests/test-fma1.c: New file.
10439         * tests/test-fma1.h: New file.
10440         * tests/test-fma2.c: New file.
10441         * tests/test-fma2.h: New file.
10442
10443         New module 'fma'.
10444         * lib/math.in.h (fma): New declaration.
10445         * lib/fma.c: New file.
10446         * m4/fma.m4: New file.
10447         * m4/fegetround.m4: New file.
10448         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
10449         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
10450         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
10451         REPLACE_FMA.
10452         * modules/fma: New file.
10453         * doc/posix-functions/fma.texi: Mention the new module and the various
10454         bugs.
10455
10456         Extend gl_MATHFUNC.
10457         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
10458         Support 'void' as argument type.
10459         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
10460
10461 2011-11-05  Jim Meyering  <meyering@redhat.com>
10462
10463         maint.mk: also prohibit inclusion of dirent.h without use
10464         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
10465
10466 2011-11-05  Bruno Haible  <bruno@clisp.org>
10467
10468         ldexpl tests: Avoid test failure on MSVC 9.
10469         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
10470         value. Needed in order to enforce the conversion from a value greater
10471         than LDBL_MAX to Infinity.
10472
10473 2011-11-05  Bruno Haible  <bruno@clisp.org>
10474
10475         New modules 'at-internal', 'openat-h', split off from module 'openat'.
10476         * modules/at-internal: New file, extracted from modules/openat.
10477         * modules/openat-h: New file.
10478         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
10479         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
10480         * modules/openat (Description): Add reference to POSIX function.
10481         (Files): Remove lib/openat.h, lib/openat-proc.c.
10482         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
10483         intprops, unistd.
10484         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
10485         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
10486         gl_FCNTL_MODULE_INDICATOR.
10487         (Include): Remove unistd.h, openat.h.
10488         * modules/areadlinkat (Files): Add lib/at-func.c.
10489         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10490         openat-die, openat-h, save-cwd.
10491         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
10492         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10493         openat-die, openat-h, save-cwd, unistd.
10494         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
10495         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10496         openat-h, save-cwd. Remove fcntl-h, openat.
10497         * modules/fchmodat (Files): Remove lib/openat.h.
10498         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10499         openat, stdbool, unistd.
10500         * modules/fchownat (Files): Remove lib/openat.h.
10501         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10502         openat, stdbool, sys_stat.
10503         * modules/fdopendir (Files): Remove lib/openat-priv.h,
10504         lib/openat-proc.c.
10505         (Depends-on): Add at-internal.
10506         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
10507         * modules/fstatat (Files): Remove lib/openat.h.
10508         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10509         stdbool, unistd.
10510         * modules/fts (Depends-on): Add openat-h.
10511         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
10512         openat.
10513         * modules/mkdirat (Files): Remove lib/openat.h.
10514         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10515         openat, stdbool, sys_stat.
10516         * modules/mkfifoat (Files): Add lib/at-func.c.
10517         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10518         openat-h, save-cwd. Remove fcntl-h, openat.
10519         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
10520         * modules/readlinkat (Files): Add lib/at-func.c.
10521         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10522         openat-h, save-cwd. Remove fcntl-h, openat.
10523         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
10524         openat.
10525         * modules/selinux-at (Files): Add lib/at-func.c.
10526         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10527         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
10528         * modules/symlinkat (Files): Add lib/at-func.c.
10529         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10530         openat-h, save-cwd. Remove fcntl-h, openat.
10531         * modules/unlinkat (Files): Remove lib/openat.h.
10532         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10533         stdbool.
10534         * modules/utimensat (Files): Add lib/at-func.c.
10535         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
10536         openat-die, openat-h, save-cwd.
10537         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
10538         * modules/fdutimensat-tests (Depends-on): Add openat.
10539         * modules/fstatat-tests (Depends-on): Add openat-h.
10540         * modules/readlinkat-tests (Depends-on): Add openat.
10541         * modules/symlinkat-tests (Depends-on): Add openat.
10542
10543 2011-11-05  Bruno Haible  <bruno@clisp.org>
10544
10545         openat: Include <stdbool.h>.
10546         * lib/openat.c: Include <stdbool.h>.
10547
10548 2011-11-04  Bruno Haible  <bruno@clisp.org>
10549
10550         fchownat, renameat, unlinkat: Fix dependencies.
10551         * modules/fchownat (Depends-on): Add fstatat.
10552         * modules/renameat (Depends-on): Likewise.
10553         * modules/unlinkat (Depends-on): Likewise.
10554
10555 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
10556
10557         openat: remove direct dependency on dirent
10558         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
10559         and hasn't been needed ever since fdopendir was split into its own
10560         module on 2009-08-31.
10561         * modules/openat (Depends-on): Remove dirent.
10562
10563 2011-11-04  Bruno Haible  <bruno@clisp.org>
10564
10565         renameat: Optimize code size.
10566         * modules/renameat (configure.ac): Don't compile at-func2.c if
10567         REPLACE_RENAMEAT is 1.
10568
10569 2011-11-04  Bruno Haible  <bruno@clisp.org>
10570
10571         openat tests: Fix file list.
10572         * modules/openat-tests (Files): Add tests/test-open.h.
10573
10574 2011-11-04  Bruno Haible  <bruno@clisp.org>
10575
10576         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
10577         * modules/fchmodat (Depends-on): Add openat-die.
10578         * modules/fchownat (Depends-on): Likewise.
10579         * modules/linkat (Depends-on): Likewise.
10580         * modules/renameat (Depends-on): Likewise.
10581         * modules/openat (Depends-on): Add dirent.
10582
10583 2011-11-04  Jim Meyering  <meyering@redhat.com>
10584
10585         at-func*.c: fix comments
10586         * lib/at-func2.c: Correct/improve first-line comment.
10587         * lib/at-func.c: Correct grammar in first-line comment.
10588
10589 2011-11-04  Bruno Haible  <bruno@clisp.org>
10590
10591         New module 'mkdirat', split off from module 'openat'.
10592         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
10593         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
10594         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
10595         * modules/mkdirat: New file, extracted from modules/openat.
10596         * modules/openat (Files): Remove lib/mkdirat.c.
10597         (Depends-on): Remove mkdir.
10598         (configure.ac): Remove AC_LIBOBJ of mkdirat.
10599         (Include): Remove <sys/stat.h>.
10600         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
10601         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
10602         tests/test-mkdir.h.
10603         (Depends-on): Remove ignore-value.
10604         (Makefile.am): Remove rules for test-mkdirat.
10605         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
10606         of module 'openat'.
10607         * NEWS: Mention the change.
10608
10609 2011-11-04  Bruno Haible  <bruno@clisp.org>
10610
10611         closedir: Avoid warning on mingw.
10612         * lib/closedir.c: Include <unistd.h>.
10613
10614 2011-11-04  Bruno Haible  <bruno@clisp.org>
10615
10616         New module 'fstatat', split off from module 'openat'.
10617         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
10618         defined.
10619         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
10620         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
10621         gl_FUNC_FSTATAT.
10622         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
10623         * modules/fstatat: New file, extracted from modules/openat.
10624         * modules/openat (Files): Remove lib/fstatat.c.
10625         (Depends-on): Remove lstat.
10626         (configure.ac): Remove AC_LIBOBJ of fstatat.
10627         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
10628         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
10629         tests/test-lstat.h, tests/test-stat.h.
10630         (Depends-on): Remove getcwd-lgpl.
10631         (Makefile.am): Remove rules for test-fstatat.
10632         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
10633         of module 'openat'.
10634         * NEWS: Mention the change.
10635         * modules/getcwd (Depends-on): Add fstatat.
10636         * modules/linkat (Depends-on): Likewise.
10637         * modules/mkfifoat-tests (Depends-on): Likewise.
10638         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
10639
10640 2011-11-03  Bruno Haible  <bruno@clisp.org>
10641
10642         New module 'unlinkat', split off from module 'openat'.
10643         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
10644         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
10645         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
10646         * modules/unlinkat: New file, extracted from modules/openat. Correct
10647         the dependency conditions.
10648         * modules/openat (Files): Remove lib/unlinkat.c.
10649         (Depends-on): Remove rmdir, unlink.
10650         (configure.ac): Remove AC_LIBOBJ of unlinkat.
10651         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
10652         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
10653         tests/test-rmdir.h, tests/test-unlink.h.
10654         (Depends-on): Remove unlinkdir.
10655         (Makefile.am): Remove rules for test-unlinkat.
10656         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
10657         of module 'openat'.
10658         * NEWS: Mention the change.
10659         * modules/linkat-tests (Depends-on): Add unlinkat.
10660         * modules/mkfifoat-tests (Depends-on): Likewise.
10661         * modules/readlinkat-tests (Depends-on): Likewise.
10662
10663 2011-11-02  Bruno Haible  <bruno@clisp.org>
10664
10665         New module 'fchmodat', split off from module 'openat'.
10666         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
10667         defined.
10668         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
10669         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
10670         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
10671         * modules/fchmodat: New file, extracted from modules/openat.
10672         * modules/openat (Files): Remove lib/fchmodat.c.
10673         (configure.ac): Remove AC_LIBOBJ of fchmodat.
10674         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
10675         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
10676         (Makefile.am): Remove rules for test-fchmodat.
10677         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
10678         of module 'openat'.
10679         * NEWS: Mention the change.
10680
10681 2011-11-02  Jim Meyering  <meyering@redhat.com>
10682
10683         putenv: indent #definition of "environ" to placate cppi
10684         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
10685
10686         gitlog-to-changelog: provide a ChangeLog-repair mechanism
10687         Git logs are often treated as immutable, because editing them
10688         changes the SHA1 checksums of all descendants.  Thus, errors in
10689         git logs tend to stay there forever.  However, when we generate
10690         a ChangeLog file -- typically for distribution -- from that git log,
10691         we can actually make corrections in the generated file.  The key
10692         lies in recording in machine-readable/applicable form the desired
10693         corrections.  See --help for description and an example.
10694         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
10695         (usage): Describe it; alphabetize option descriptions.
10696         (main): Honor the new option, carefully.
10697
10698 2011-11-01  Jim Meyering  <meyering@redhat.com>
10699
10700         gitlog-to-changelog: avoid an infloop
10701         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
10702         that ends up being empty.
10703
10704 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10705
10706         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
10707         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
10708         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
10709         contains (possibly-quoted) backslashes.  This should avoid
10710         all-too-common shell bugs if COMPLICATED contains backslashes in
10711         the "wrong" places.  Reported by David Evans in
10712         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
10713         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
10714         because we want ASCII ranges.  Is there some reason we don't use
10715         the C locale everywhere in this script?
10716         (func_module, top level): Avoid unwanted pathname expansion when
10717         $repo_url_prefix or $repo_url_suffix_repl contain shell
10718         metacharacters like '?' and '*'.
10719
10720 2011-11-01  Bruno Haible  <bruno@clisp.org>
10721
10722         fchownat: Improve description.
10723         * modules/fchownat (Description): Add link to function.
10724
10725 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10726
10727         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
10728         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
10729         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
10730         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
10731
10732 2011-11-01  Bruno Haible  <bruno@clisp.org>
10733
10734         alignof: Avoid collision with stdalign module.
10735         * lib/alignof.h (alignof): Remove macro.
10736         * NEWS: Mention the change.
10737         Reported by Paul Eggert.
10738
10739 2011-11-01  Bruno Haible  <bruno@clisp.org>
10740
10741         New module 'fchownat', split off from module 'openat'.
10742         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
10743         defined.
10744         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
10745         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
10746         invoke gl_FUNC_FCHOWNAT.
10747         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
10748         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
10749         * modules/fchownat: New file, extracted from modules/openat.
10750         * modules/openat (Files): Remove lib/fchownat.c.
10751         (Depends-on): Remove lchown.
10752         (configure.ac): Remove AC_LIBOBJ of fchownat.
10753         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
10754         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
10755         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
10756         (Depends-on): Remove mgetgroups, usleep, stat-time.
10757         (configure.ac): Remove test for getegid.
10758         (Makefile.am): Remove rules for test-fchownat.
10759         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
10760         of module 'openat'.
10761         * NEWS: Mention the change.
10762
10763 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
10764
10765         stdalign: port better to MSVC and to Sun C 5.11
10766         This fixes some of the problems reported by Bruno Haible in
10767         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
10768         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
10769         shortcomings of MSVC and of Sun C 5.11.
10770         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
10771         around __declspec arg.
10772         * modules/stdalign-tests (Files): Add tests/macros.h.
10773         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
10774         Include macros.h, for ASSERT.
10775         (DECLARE_ALIGNED): Remove.
10776         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
10777         to catch bug), and to 1 if not (simplifies the rest of the code).
10778         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
10779         (CHECK_AUTO): Remove.
10780         (CHECK_ALIGNED): Check only the alignment of the static vars,
10781         since auto var alignment isn't supported by Sun C 5.11.
10782         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
10783         ASSERT failures are easier to diagnose.
10784
10785 2011-10-31  Bruno Haible  <bruno@clisp.org>
10786
10787         doc about some IRIX 5.3 problems.
10788         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
10789         on IRIX 5.3.
10790         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
10791         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
10792         5.3.
10793         * doc/posix-functions/grantpt.texi: Likewise.
10794         * doc/posix-functions/unlockpt.texi: Likewise.
10795         * doc/posix-functions/lgamma.texi: Likewise.
10796         * doc/posix-functions/nextafter.texi: Likewise.
10797         * doc/posix-functions/remainder.texi: Likewise.
10798         * doc/posix-functions/select.texi: Mention misplaced declaration on
10799         IRIX 5.3.
10800         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10801
10802 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
10803
10804         gitlog-to-changelog: fix git-log invocation.
10805         git-log mishandles date strings before 1970-01-01 UTC, and there is
10806         no use to specify --since=1970-01-01 by default anyway.
10807         * build-aux/gitlog-to-changelog: By default, when no --since option
10808         was given, do not specify explicit --since option to git-log.
10809
10810 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
10811
10812         gitlog-to-changelog: new option --append-dot.
10813         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
10814         first non-blank line of each commit message terminated with a dot.
10815
10816 2011-10-30  Bruno Haible  <bruno@clisp.org>
10817
10818         ffsl, ffsll: Avoid compilation error due to 'restrict'.
10819         * lib/ffsl.h: Include <config.h>.
10820         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
10821
10822 2011-10-30  Jim Meyering  <meyering@redhat.com>
10823
10824         GNUmakefile: reenable "make syntax-check" for most projects
10825         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
10826         build-aux variable", "syntax-check" would do nothing but succeed with
10827         the "No version control files detected..." diagnostic (unless you
10828         happened to override _build-aux via cfg.mk).
10829         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
10830         to precede inclusion of maint.mk.  Otherwise, these variables would
10831         be used undefined in any project that does not override the default.
10832
10833 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
10834
10835         gitlog-to-changelog: treat a message with only blank lines as empty.
10836         * build-aux/gitlog-to-changelog: Move the code that removes leading and
10837         trailing blank lines before the code that issues a warning about an
10838         empty commit message.
10839
10840 2011-10-30  Jim Meyering  <meyering@redhat.com>
10841
10842         test-parse-datetime.c: avoid new DST-related false positive test failure
10843         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
10844         based on the time/date we'll convert, not the current time.
10845         Otherwise, the moment we cross a DST boundary like today's in
10846         Europe, (CEST to CET), that offset ends up being one hour off.
10847
10848 2011-10-27  Bruno Haible  <bruno@clisp.org>
10849
10850         fstat: Tweak documentation.
10851         * modules/fstat (Description): More precise description.
10852
10853 2011-10-27  Bruno Haible  <bruno@clisp.org>
10854
10855         Update documentation regarding 'largefile' module.
10856         * doc/posix-functions/fstat.texi: Tweak wording.
10857         * doc/posix-functions/opendir.texi: Mention that the module fixes the
10858         problems with huge directories and/or small ino_t types.
10859         * doc/posix-functions/readdir.texi: Likewise.
10860         * doc/posix-functions/rewinddir.texi: Likewise.
10861
10862 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
10863
10864         maint.mk: don't maintain a second build-aux variable.
10865         * maint.mk (build_aux): Removed.  The maintainer-makefile module
10866         depends on GNUmakefile, which already maintains a cfg.mk
10867         overridable $(_build-aux) for projects with a non-standard
10868         build-aux directory location, although without the $(srcdir)
10869         prefix.  Use that variable consistently instead of introducing a
10870         second one.  Adjust all call sites.
10871
10872 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
10873
10874         Add stdalign module and use it in other modules.
10875         This is based on a previous proposal by Bruno Haible
10876         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
10877
10878         stdalign: new module
10879         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
10880         * modules/stdalign: New files.
10881         * MODULES.html.sh (c1x_core_properties): Add stdalign.
10882         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
10883
10884         stdalign-tests: new module
10885         * modules/stdalign-tests, tests/test-stdalign.c: New files.
10886
10887         argp: use stdalign
10888         * lib/argp-parse.c: Include <stdalign.h>.
10889         (alignof): Remove.
10890         * modules/argp (Depends-on): Add stdalign.
10891
10892         crypto libraries: use stdalign
10893         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
10894         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
10895         Do not include <stdlib.h> twice, in md4.c.
10896         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
10897         because we are accessing a pointer's bit-pattern, not a size.
10898         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
10899         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
10900         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
10901         * modules/crypto/sha512: Likewise.
10902
10903         sys_socket: use stdalign, not alignof
10904         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
10905         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
10906
10907 2011-10-27  Bruno Haible  <bruno@clisp.org>
10908
10909         raise test: Avoid a test failure on Linux/MIPS.
10910         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
10911         because 99 is a valid signal on Linux/MIPS.
10912
10913 2011-10-27  Bruno Haible  <bruno@clisp.org>
10914
10915         nonblocking tests: Fix test failure on Linux/MIPS.
10916         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
10917         Set to 270000.
10918
10919 2011-10-27  Bruno Haible  <bruno@clisp.org>
10920
10921         utimensat: Work around problem on Linux/hppa.
10922         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
10923         values.
10924         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
10925
10926 2011-10-25  Jim Meyering  <meyering@redhat.com>
10927
10928         maint.mk: fix a bug in sc_prohibit_stddef_without_use
10929         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
10930         after symbols like NULL, size_t, etc.
10931         Reported by Alfred M. Szmidt.
10932
10933         maint.mk: exempt ENODATA from a syntax-check rule
10934         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
10935         from the sc_prohibit_always-defined_macros syntax-check rule.
10936         Add a comment.  See this for more details:
10937         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
10938
10939 2011-10-23  Jim Meyering  <meyering@redhat.com>
10940
10941         fts: close parent dir FD before returning from post-traversal fts_read
10942         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
10943         unlink A, even though an FD open on A remained.  This is suboptimal
10944         (holding a file descriptor open longer than needed), but otherwise not
10945         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
10946         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
10947         that represents a real problem: it causes the removal of A to fail
10948         with e.g., "rm: cannot remove `A': Device or resource busy"
10949
10950         fts visits each directory twice and keeps a cache (fts_fd_ring) of
10951         directory file descriptors.  After completing the final, FTS_DP,
10952         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
10953         cache, but then proceeded to add a new FD to it via the subsequent
10954         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
10955         final file descriptor would be closed only via fts_close's call to
10956         fd_ring_clear.  Now, it is usually closed earlier, via the final
10957         FTS_DP-returning fts_read call.
10958         * lib/fts.c (restore_initial_cwd): New function, converted from
10959         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
10960         Update callers.
10961         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
10962         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
10963
10964 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
10965             Bruno Haible  <bruno@clisp.org>
10966             Jim Meyering  <jim@meyering.net>
10967
10968         readme-release: improve safety of release prep instructions.
10969         * README-release: Don't git pull all branches when only master
10970         is needed for the release process.
10971         Run make maintainer-clean before changing trees and merging.
10972         Don't try to run ./configure right after git pull in case files
10973         that influence the bootstrap process have changed, move the
10974         ./configure step to after running ./bootstrap.
10975         Don't bootstrap "one last time"... it's the first time!
10976
10977 2011-10-22  Bruno Haible  <bruno@clisp.org>
10978
10979         errno, strerror-override: Support for MSVC 10.
10980         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
10981         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
10982         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
10983         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
10984         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
10985         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
10986         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
10987         Assign values compatible with MSVC 10.
10988         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
10989         New macros.
10990         (GNULIB_defined_EWINSOCK): New macro.
10991         * lib/strerror-override.c (strerror_override): Update accordingly.
10992         * lib/strerror-override.h: Likewise.
10993         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
10994         longer equal to the corresponding errno value.
10995         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
10996
10997 2011-10-22  Bruno Haible  <bruno@clisp.org>
10998
10999         perror: Recognize when test program crashes.
11000         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
11001         strerror, set gl_cv_func_perror_works to no.
11002         Reported by Daniel Richard G. <skunk@iskunk.org>.
11003
11004         perror: Fix indentation.
11005         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
11006
11007 2011-10-22  Bruno Haible  <bruno@clisp.org>
11008
11009         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
11010         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
11011         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
11012         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
11013         functions, not as a macro.
11014         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
11015         macros.
11016         (isfinite, isinf, isnan, signbit): Check overloaded functions and
11017         absence of macro.
11018         Suggested by Eric Blake.
11019         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11020
11021 2011-10-21  Bruno Haible  <bruno@clisp.org>
11022
11023         relocatable-prog-wrapper: Don't leave object files behind.
11024         * build-aux/install-reloc: Re-synchronize list of .o files to be
11025         removed with list of compilation units.
11026
11027 2011-10-20  Bruno Haible  <bruno@clisp.org>
11028
11029         openpty, posix_openpt: Remove code duplication.
11030         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
11031         * lib/openpty.c: Include <stdlib.h>.
11032         (openpty): Use posix_openpt on all platforms except IRIX.
11033         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
11034
11035 2011-10-20  Bruno Haible  <bruno@clisp.org>
11036
11037         unlockpt: Detect invalid argument.
11038         * lib/unlockpt.c: Include <fcntl.h>.
11039         (unlockpt): Check whether fd is valid, using fcntl().
11040         * modules/unlockpt (Depends-on): Add fcntl-h.
11041
11042 2011-10-20  Bruno Haible  <bruno@clisp.org>
11043
11044         openpty: Avoid compilation error on AIX 6.1.
11045         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
11046
11047 2011-10-20  Bruno Haible  <bruno@clisp.org>
11048
11049         posix_openpt: Support for OpenBSD.
11050         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
11051         (posix_openpt) [OpenBSD]: New code.
11052         * lib/grantpt.c: Include <fcntl.h>.
11053         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
11054         * modules/grantpt (Depends-on): Add fcntl-h.
11055
11056 2011-10-20  Bruno Haible  <bruno@clisp.org>
11057
11058         posix_openpt test: Coding style.
11059         * tests/test-posix_openpt.c: Use GNU coding style.
11060
11061 2011-10-20  Bruno Haible  <bruno@clisp.org>
11062
11063         grantpt: Support --avoid=pt_chown.
11064         * modules/grantpt (Files): Add lib/pty-private.h.
11065
11066 2011-10-20  Bruno Haible  <bruno@clisp.org>
11067
11068         posix_openpt: Fix autoconf macro.
11069         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
11070         unneeded check for _getpty.
11071
11072 2011-10-20  Bruno Haible  <bruno@clisp.org>
11073
11074         openpty: Update comments.
11075         * lib/openpty.c: Add comments about Minix.
11076
11077 2011-10-19  Eric Blake  <eblake@redhat.com>
11078
11079         openpty: relax license
11080         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
11081
11082         pt_chown: use configmake to simplify build
11083         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
11084
11085         ptsname and others: relax license
11086         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
11087         * modules/unlockpt (License): Likewise.
11088         * modules/pt_chown (License): Likewise.
11089         * modules/ptsname (License): Likewise.
11090         * modules/ttyname_r (License): Likewise.
11091
11092 2011-10-19  Jim Meyering  <meyering@redhat.com>
11093
11094         posix_openpt: remove spurious #endif
11095         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
11096
11097 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
11098
11099         maint.mk: Respect $(build_aux) in web-manual rule.
11100         * top/maint.mk (web-manual): Find gen-announce script in user's
11101         $(build_aux) directory instead of hard-coding 'build-aux'.
11102
11103 2011-10-19  Bruno Haible  <bruno@clisp.org>
11104
11105         posix_openpt: Fix compilation error.
11106         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
11107         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
11108         Mention the openpty module as an alternative.
11109
11110 2011-10-19  Bruno Haible  <bruno@clisp.org>
11111
11112         Support for old NeXTstep 3.3 frexp().
11113         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
11114         execution time of the test to 5 seconds.
11115         Reported by Daniel Richard G. <skunk@iskunk.org>.
11116
11117 2011-10-19  Bruno Haible  <bruno@clisp.org>
11118
11119         Support for old NeXTstep 3.3 sed.
11120         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
11121         part, use /.../, not \|...|. Escape periods in the header file name.
11122         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
11123         Reported by Daniel Richard G. <skunk@iskunk.org>.
11124
11125 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11126
11127         Support for old NeXTstep 3.3 gcc.
11128         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
11129         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
11130         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
11131         * lib/spawn.in.h (_Restrict_arr_): Likewise.
11132         * lib/regex.h (_Restrict_arr_): Likewise.
11133         * lib/regex_internal.h (re_token_t): Likewise.
11134         * lib/regexec.c (check_node_accept_bytes): Likewise.
11135         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
11136
11137 2011-10-18  Eric Blake  <eblake@redhat.com>
11138
11139         posix_openpt: new module
11140         * modules/posix_openpt: New module.
11141         * m4/posix_openpt.m4: New file.
11142         * lib/posix_openpt.c: Likewise.
11143         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
11144         (gl_STDLIB_H_DEFAULTS): Set defaults.
11145         * modules/stdlib (Makefile.am): Substitute macros.
11146         * lib/stdlib.in.h (posix_openpt): Declare.
11147         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
11148         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
11149         * modules/posix_openpt-tests: New test module.
11150         * tests/test-posix_openpt.c: New test.
11151
11152 2011-10-15  Bruno Haible  <bruno@clisp.org>
11153
11154         xstrtoll: Fix compilation failure.
11155         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
11156         from lib/strtol.c.
11157         * doc/posix-headers/limits.texi: Mention missing numerical limits on
11158         some platforms.
11159         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11160
11161 2011-10-15  Bruno Haible  <bruno@clisp.org>
11162
11163         vasnprintf: Optimize bit search operation.
11164         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
11165         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
11166         gl_DOUBLE_EXPONENT_LOCATION.
11167         * modules/vasnprintf (Files): Add m4/exponentd.m4.
11168         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11169         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11170         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11171         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11172         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11173         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11174         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11175         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
11176
11177 2011-10-15  Bruno Haible  <bruno@clisp.org>
11178
11179         vasnprintf: Fix comments.
11180         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
11181
11182 2011-10-14  Bruno Haible  <bruno@clisp.org>
11183
11184         Tests for module 'integer_length_ll'.
11185         * modules/integer_length_ll-tests: New file.
11186         * tests/test-integer_length_ll.c: New file.
11187
11188         New module 'integer_length_ll'.
11189         * lib/integer_length_ll.c: New file.
11190         * modules/integer_length_ll: New file.
11191
11192 2011-10-14  Bruno Haible  <bruno@clisp.org>
11193
11194         Tests for module 'integer_length_l'.
11195         * modules/integer_length_l-tests: New file.
11196         * tests/test-integer_length_l.c: New file.
11197
11198         New module 'integer_length_l'.
11199         * lib/integer_length_l.c: New file.
11200         * modules/integer_length_l: New file.
11201
11202 2011-10-14  Bruno Haible  <bruno@clisp.org>
11203
11204         Tests for module 'integer_length'.
11205         * modules/integer_length-tests: New file.
11206         * tests/test-integer_length.c: New file.
11207
11208         New module 'integer_length'.
11209         * lib/integer_length.h: New file.
11210         * lib/integer_length.c: New file.
11211         * modules/integer_length: New file.
11212
11213 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11214
11215         popen: Fix dependency conditions.
11216         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
11217
11218 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11219
11220         perror: Fix autoconf test.
11221         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
11222         <stdlib.h> and <string.h>.
11223
11224 2011-10-14  Bruno Haible  <bruno@clisp.org>
11225
11226         ffsl: Optimize on 64-bit platforms.
11227         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
11228         unrolling.
11229
11230 2011-10-13  Bruno Haible  <bruno@clisp.org>
11231
11232         ffsl: Optimize on 32-bit platforms.
11233         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
11234         use ffs() without a loop.
11235
11236         ffsl, ffsll: Optimize for GCC.
11237         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
11238         * lib/ffsl.c (GCC_BUILTIN): New macro.
11239         * lib/ffsll.c (GCC_BUILTIN): Likewise.
11240
11241 2011-10-13  Bruno Haible  <bruno@clisp.org>
11242
11243         ffs, bcopy, memset: Support symbol renaming via config.h.
11244         * lib/ffs.c: Include <config.h>.
11245         * lib/bcopy.c: Likewise.
11246         * lib/memset.c: Likewise.
11247
11248 2011-10-10  Bruno Haible  <bruno@clisp.org>
11249
11250         atanl: Simplify for platforms where 'long double' == 'double'.
11251         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11252         alternative implementation.
11253         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11254         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11255         * modules/atanl (Depends-on): Add atan. Update conditions.
11256
11257 2011-10-10  Bruno Haible  <bruno@clisp.org>
11258
11259         acosl: Simplify for platforms where 'long double' == 'double'.
11260         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11261         alternative implementation.
11262         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11263         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11264         * modules/acosl (Depends-on): Add acos. Update conditions.
11265
11266 2011-10-10  Bruno Haible  <bruno@clisp.org>
11267
11268         asinl: Simplify for platforms where 'long double' == 'double'.
11269         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11270         alternative implementation.
11271         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11272         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11273         * modules/asinl (Depends-on): Add asin. Update conditions.
11274
11275 2011-10-10  Bruno Haible  <bruno@clisp.org>
11276
11277         tanl: Simplify for platforms where 'long double' == 'double'.
11278         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11279         implementation.
11280         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11281         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11282         * modules/tanl (Depends-on): Add tan. Update conditions.
11283         (configure.ac): Don't compile trigl.c if
11284         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11285
11286 2011-10-10  Bruno Haible  <bruno@clisp.org>
11287
11288         cosl: Simplify for platforms where 'long double' == 'double'.
11289         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11290         implementation.
11291         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11292         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11293         * modules/cosl (Depends-on): Add cos. Update conditions.
11294         (configure.ac): Don't compile sincosl.c and trigl.c if
11295         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11296
11297 2011-10-10  Bruno Haible  <bruno@clisp.org>
11298
11299         sinl: Simplify for platforms where 'long double' == 'double'.
11300         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11301         implementation.
11302         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11303         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11304         * modules/sinl (Depends-on): Add sin. Update conditions.
11305         (configure.ac): Don't compile sincosl.c and trigl.c if
11306         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11307
11308 2011-10-10  Bruno Haible  <bruno@clisp.org>
11309
11310         logl: Simplify for platforms where 'long double' == 'double'.
11311         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11312         implementation.
11313         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11314         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11315         * modules/logl (Depends-on): Add log. Update conditions.
11316
11317 2011-10-10  Bruno Haible  <bruno@clisp.org>
11318
11319         expl: Simplify for platforms where 'long double' == 'double'.
11320         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11321         implementation.
11322         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11323         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11324         * modules/expl (Depends-on): Add exp. Update conditions.
11325
11326 2011-10-10  Bruno Haible  <bruno@clisp.org>
11327
11328         sqrtl: Simplify for platforms where 'long double' == 'double'.
11329         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11330         alternative implementation.
11331         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11332         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11333         * modules/sqrtl (Depends-on): Update conditions.
11334
11335 2011-10-10  Bruno Haible  <bruno@clisp.org>
11336
11337         ldexpl: Simplify for platforms where 'long double' == 'double'.
11338         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11339         alternative implementation.
11340         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11341         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11342         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
11343
11344 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
11345
11346         ffsll: set correct witness
11347         * modules/ffsll (configure.ac): Fix typo.
11348
11349 2011-10-10  Bruno Haible  <bruno@clisp.org>
11350
11351         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
11352         * lib/printf-frexpl.c: Include <config.h>.
11353         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11354         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
11355         second time.
11356         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
11357         gl_LONG_DOUBLE_VS_DOUBLE.
11358         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
11359         conditions.
11360
11361 2011-10-10  Bruno Haible  <bruno@clisp.org>
11362
11363         frexpl: Simplify for platforms where 'long double' == 'double'.
11364         * lib/frexpl.c: Include <config.h>.
11365         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11366         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11367         time.
11368         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11369         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11370         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
11371         * modules/frexpl (Depends-on): Add frexp. Update conditions.
11372         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
11373         conditions.
11374
11375 2011-10-10  Jim Meyering  <meyering@redhat.com>
11376
11377         test-renameat: don't leave behind a temporary file
11378         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
11379           ERROR: files left in build directory after distclean:
11380           ./gltests/test-renameat.too
11381           make[1]: *** [distcleancheck] Error 1
11382         Reported by Tom G. Christensen.
11383
11384 2011-10-09  Bruno Haible  <bruno@clisp.org>
11385
11386         rint: Determine RINT_LIBM correctly on AIX 7.
11387         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
11388         directly, not only through a function pointer. Also accept an optional
11389         4th argument with extra code.
11390         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
11391         rintf() call by gcc when optimizing.
11392
11393         mathfunc.m4: Refactor.
11394         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
11395         m4 variable.
11396
11397 2011-10-09  Bruno Haible  <bruno@clisp.org>
11398
11399         rintl: Simplify for platforms where 'long double' == 'double'.
11400         * lib/rintl.c: Include <config.h>.
11401         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11402         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11403         time.
11404         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11405         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11406         * modules/rintl (Depends-on): Add rint. Update conditions.
11407
11408 2011-10-09  Bruno Haible  <bruno@clisp.org>
11409
11410         roundl: Simplify for platforms where 'long double' == 'double'.
11411         * lib/roundl.c: Include <config.h>.
11412         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11413         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11414         time.
11415         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11416         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11417         * modules/roundl (Depends-on): Add round. Update conditions.
11418
11419 2011-10-09  Bruno Haible  <bruno@clisp.org>
11420
11421         truncl: Simplify for platforms where 'long double' == 'double'.
11422         * lib/truncl.c: Include <config.h>.
11423         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11424         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11425         time.
11426         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11427         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11428         * modules/truncl (Depends-on): Add trunc. Update conditions.
11429
11430 2011-10-09  Bruno Haible  <bruno@clisp.org>
11431
11432         ceill: Simplify for platforms where 'long double' == 'double'.
11433         * lib/ceill.c: Include <config.h>.
11434         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11435         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11436         time.
11437         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11438         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11439         * modules/ceill (Depends-on): Add ceil. Update conditions.
11440
11441 2011-10-09  Bruno Haible  <bruno@clisp.org>
11442
11443         floorl: Simplify for platforms where 'long double' == 'double'.
11444         * lib/floorl.c: Include <config.h>.
11445         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11446         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11447         time.
11448         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11449         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11450         * modules/floorl (Depends-on): Add floor. Update conditions.
11451
11452 2011-10-09  Bruno Haible  <bruno@clisp.org>
11453
11454         rint: Fix ordering constraints.
11455         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
11456         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
11457         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
11458
11459 2011-10-09  Bruno Haible  <bruno@clisp.org>
11460
11461         copysignl: Simplify for platforms where 'long double' == 'double'.
11462         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11463         alternative.
11464         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11465         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11466         * modules/copysignl (Depends-on): Add copysign. Update conditions.
11467
11468 2011-10-09  Bruno Haible  <bruno@clisp.org>
11469
11470         Tests for module 'rintl'.
11471         * modules/rintl-tests: New file.
11472         * tests/test-rintl.c: New file.
11473
11474         New module 'rintl'.
11475         * lib/math.in.h (rintl): New declaration.
11476         * lib/rintl.c: New file.
11477         * m4/rintl.m4: New file.
11478         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
11479         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
11480         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
11481         * modules/rintl: New file.
11482         * tests/test-math-c++.cc: Check the declaration of rintl.
11483         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11484         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
11485         * doc/posix-functions/rintl.texi: Mention the new module.
11486
11487 2011-10-09  Bruno Haible  <bruno@clisp.org>
11488
11489         Tests for module 'rintf'.
11490         * modules/rintf-tests: New file.
11491         * tests/test-rintf.c: New file.
11492
11493         New module 'rintf'.
11494         * lib/math.in.h (rintf): New declaration.
11495         * lib/rintf.c: New file.
11496         * m4/rintf.m4: New file.
11497         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
11498         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
11499         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
11500         * modules/rintf: New file.
11501         * tests/test-math-c++.cc: Check the declaration of rintf.
11502         * doc/posix-functions/rintf.texi: Mention the new module.
11503
11504 2011-10-09  Bruno Haible  <bruno@clisp.org>
11505
11506         rint: Support for MSVC.
11507         * lib/math.in.h (rint): New declaration.
11508         * lib/rint.c: New file.
11509         * m4/rint.m4: New file.
11510         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
11511         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
11512         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
11513         * modules/rint (Description): Fix.
11514         (Files): Add lib/rint.c, m4/rint.m4.
11515         (Depends-on): Add math.
11516         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
11517         gl_MATH_MODULE_INDICATOR.
11518         * tests/test-math-c++.cc: Check the declaration of rint.
11519         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11520         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
11521         * doc/posix-functions/rint.texi: Mention the replacement provided by
11522         the module.
11523
11524         rint tests: More tests.
11525         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
11526         minus-zero.h, infinity.h, nan.h.
11527         (main): Skip the test if the current rounding mode is not standard. Add
11528         tests for negative numbers, minus zero, infinity, NaN.
11529         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
11530         tests/nan.h.
11531         (Depends-on): Add isnand-nolibm.
11532
11533 2011-10-09  Bruno Haible  <bruno@clisp.org>
11534
11535         Tests for module 'copysignl'.
11536         * modules/copysignl-tests: New file.
11537         * tests/test-copysignl.c: New file.
11538
11539         New module 'copysignl'.
11540         * lib/math.in.h (copysignl): New declaration.
11541         * lib/copysignl.c: New file.
11542         * m4/copysignl.m4: New file.
11543         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
11544         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
11545         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
11546         HAVE_COPYSIGNL.
11547         * modules/copysignl: New file.
11548         * tests/test-math-c++.cc: Check the declaration of copysignl.
11549         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11550         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
11551         * doc/posix-functions/copysignl.texi: Mention the new module.
11552
11553 2011-10-09  Bruno Haible  <bruno@clisp.org>
11554
11555         Tests for module 'copysignf'.
11556         * modules/copysignf-tests: New file.
11557         * tests/test-copysignf.c: New file.
11558
11559         New module 'copysignf'.
11560         * lib/math.in.h (copysignf): New declaration.
11561         * lib/copysignf.c: New file.
11562         * m4/copysignf.m4: New file.
11563         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
11564         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
11565         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
11566         HAVE_COPYSIGNF.
11567         * modules/copysignf: New file.
11568         * tests/test-math-c++.cc: Check the declaration of copysignf.
11569         * doc/posix-functions/copysignf.texi: Mention the new module.
11570
11571 2011-10-09  Bruno Haible  <bruno@clisp.org>
11572
11573         Ensure that HAVE_* variables are set to 1 before they are set to 0.
11574         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
11575         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
11576         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11577         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
11578         gl_SIGNAL_H_DEFAULTS.
11579
11580 2011-10-09  Bruno Haible  <bruno@clisp.org>
11581
11582         poll: Make macro safer.
11583         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
11584         ac_cv_header_poll_h is not set.
11585
11586 2011-10-09  Bruno Haible  <bruno@clisp.org>
11587
11588         copysign: Provide replacement.
11589         * lib/math.in.h (copysign): New declaration.
11590         * lib/copysign.c: New file.
11591         * m4/copysign.m4: New file.
11592         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
11593         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
11594         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
11595         HAVE_COPYSIGN.
11596         * modules/copysign (Description): Clarify.
11597         (Files): Add lib/copysign.c, m4/copysign.m4.
11598         (Depends-on): Add math, signbit.
11599         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
11600         gl_MATH_MODULE_INDICATOR.
11601         * tests/test-math-c++.cc: Check the declaration of copysign.
11602         * doc/posix-functions/copysign.texi: Mention the effects of the module
11603         on Minix and MSVC.
11604
11605 2011-10-09  Bruno Haible  <bruno@clisp.org>
11606
11607         isinf: Ensure macro on AIX 5.1.
11608         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
11609         macro.
11610         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
11611
11612 2011-10-09  Bruno Haible  <bruno@clisp.org>
11613
11614         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
11615         * modules/snprintf-posix-tests (configure.ac): Require
11616         gl_LONG_DOUBLE_VS_DOUBLE.
11617         * modules/sprintf-posix-tests (configure.ac): Likewise.
11618         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
11619         * modules/vasprintf-posix-tests (configure.ac): Likewise.
11620         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
11621         * modules/vsprintf-posix-tests (configure.ac): Likewise.
11622         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
11623         tests on platforms where 'long double' is the same as 'double'.
11624         * tests/test-sprintf-posix.h (test_function): Likewise.
11625         * tests/test-vasnprintf-posix.c (test_function): Likewise.
11626         * tests/test-vasprintf-posix.c (test_function): Likewise.
11627
11628         *printf: Fix for platforms where 'long double' == 'double'.
11629         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
11630         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
11631         * modules/dprintf-posix (Files): Add m4/math_h.m4.
11632         * modules/fprintf-posix (Files): Likewise.
11633         * modules/obstack-printf-posix (Files): Likewise.
11634         * modules/snprintf-posix (Files): Likewise.
11635         * modules/sprintf-posix (Files): Likewise.
11636         * modules/vasnprintf (Files): Likewise.
11637         * modules/vasnprintf-posix (Files): Likewise.
11638         * modules/vasprintf-posix (Files): Likewise.
11639         * modules/vdprintf-posix (Files): Likewise.
11640         * modules/vfprintf-posix (Files): Likewise.
11641         * modules/vsnprintf-posix (Files): Likewise.
11642         * modules/vsprintf-posix (Files): Likewise.
11643         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11644         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11645         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11646         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11647         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11648         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11649         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11650
11651         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
11652         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
11653         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11654         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
11655         'long double'.
11656         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
11657
11658         isinf: Fix for platforms where 'long double' == 'double'.
11659         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11660         Don't blindly assume 80-bit 'long double'.
11661
11662         isfinite: Fix for platforms where 'long double' == 'double'.
11663         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11664         Don't blindly assume 80-bit 'long double'.
11665
11666         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
11667         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
11668         * modules/isfinite-tests (configure.ac): Require
11669         gl_LONG_DOUBLE_VS_DOUBLE.
11670         * modules/isinf-tests (configure.ac): Likewise.
11671         * modules/isnan-tests (configure.ac): Likewise.
11672         * modules/isnanl-tests (configure.ac): Likewise.
11673         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
11674         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
11675         tests on platforms where 'long double' is the same as 'double'.
11676         * tests/test-isinf.c (test_isinfl): Likewise.
11677         * tests/test-isnan.c (test_long_double): Likewise.
11678         * tests/test-isnanl.h (main): Likewise.
11679
11680 2011-10-08  Bruno Haible  <bruno@clisp.org>
11681
11682         Tests for module 'tanhf'.
11683         * modules/tanhf-tests: New file.
11684         * tests/test-tanhf.c: New file.
11685
11686         New module 'tanhf'.
11687         * lib/math.in.h (tanhf): New declaration.
11688         * lib/tanhf.c: New file.
11689         * m4/tanhf.m4: New file.
11690         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
11691         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
11692         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
11693         * modules/tanhf: New file.
11694         * tests/test-math-c++.cc: Check the declaration of tanhf.
11695         * doc/posix-functions/tanhf.texi: Mention the new module.
11696
11697         tanh: Use a .m4 file.
11698         * m4/tanh.m4: New file.
11699         * modules/tanh (Files): Add it.
11700         (configure.ac): Just invoke gl_FUNC_TANH.
11701
11702 2011-10-08  Bruno Haible  <bruno@clisp.org>
11703
11704         Tests for module 'coshf'.
11705         * modules/coshf-tests: New file.
11706         * tests/test-coshf.c: New file.
11707
11708         New module 'coshf'.
11709         * lib/math.in.h (coshf): New declaration.
11710         * lib/coshf.c: New file.
11711         * m4/coshf.m4: New file.
11712         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
11713         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
11714         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
11715         * modules/coshf: New file.
11716         * tests/test-math-c++.cc: Check the declaration of coshf.
11717         * doc/posix-functions/coshf.texi: Mention the new module.
11718
11719         cosh: Use a .m4 file.
11720         * m4/cosh.m4: New file.
11721         * modules/cosh (Files): Add it.
11722         (configure.ac): Just invoke gl_FUNC_COSH.
11723
11724 2011-10-08  Bruno Haible  <bruno@clisp.org>
11725
11726         Tests for module 'sinhf'.
11727         * modules/sinhf-tests: New file.
11728         * tests/test-sinhf.c: New file.
11729
11730         New module 'sinhf'.
11731         * lib/math.in.h (sinhf): New declaration.
11732         * lib/sinhf.c: New file.
11733         * m4/sinhf.m4: New file.
11734         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
11735         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
11736         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
11737         * modules/sinhf: New file.
11738         * tests/test-math-c++.cc: Check the declaration of sinhf.
11739         * doc/posix-functions/sinhf.texi: Mention the new module.
11740
11741         sinh: Use a .m4 file.
11742         * m4/sinh.m4: New file.
11743         * modules/sinh (Files): Add it.
11744         (configure.ac): Just invoke gl_FUNC_SINH.
11745
11746 2011-10-08  Bruno Haible  <bruno@clisp.org>
11747
11748         Tests for module 'atan2f'.
11749         * modules/atan2f-tests: New file.
11750         * tests/test-atan2f.c: New file.
11751
11752         New module 'atan2f'.
11753         * lib/math.in.h (atan2f): New declaration.
11754         * lib/atan2f.c: New file.
11755         * m4/atan2f.m4: New file.
11756         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
11757         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
11758         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
11759         * modules/atan2f: New file.
11760         * tests/test-math-c++.cc: Check the declaration of atan2f.
11761         * doc/posix-functions/atan2f.texi: Mention the new module.
11762
11763         atan2: Use a .m4 file.
11764         * m4/atan2.m4: New file.
11765         * modules/atan2 (Files): Add it.
11766         (configure.ac): Just invoke gl_FUNC_ATAN2.
11767
11768 2011-10-08  Bruno Haible  <bruno@clisp.org>
11769
11770         Tests for module 'atanf'.
11771         * modules/atanf-tests: New file.
11772         * tests/test-atanf.c: New file.
11773
11774         New module 'atanf'.
11775         * lib/math.in.h (atanf): New declaration.
11776         * lib/atanf.c: New file.
11777         * m4/atanf.m4: New file.
11778         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
11779         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
11780         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
11781         * modules/atanf: New file.
11782         * tests/test-math-c++.cc: Check the declaration of atanf.
11783         * doc/posix-functions/atanf.texi: Mention the new module.
11784
11785         atan: Use a .m4 file.
11786         * m4/atan.m4: New file.
11787         * modules/atan (Files): Add it.
11788         (configure.ac): Just invoke gl_FUNC_ATAN.
11789
11790 2011-10-08  Bruno Haible  <bruno@clisp.org>
11791
11792         Tests for module 'acosf'.
11793         * modules/acosf-tests: New file.
11794         * tests/test-acosf.c: New file.
11795
11796         New module 'acosf'.
11797         * lib/math.in.h (acosf): New declaration.
11798         * lib/acosf.c: New file.
11799         * m4/acosf.m4: New file.
11800         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
11801         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
11802         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
11803         * modules/acosf: New file.
11804         * tests/test-math-c++.cc: Check the declaration of acosf.
11805         * doc/posix-functions/acosf.texi: Mention the new module.
11806
11807         acos: Use a .m4 file.
11808         * m4/acos.m4: New file.
11809         * modules/acos (Files): Add it.
11810         (configure.ac): Just invoke gl_FUNC_ACOS.
11811
11812 2011-10-08  Bruno Haible  <bruno@clisp.org>
11813
11814         Tests for module 'asinf'.
11815         * modules/asinf-tests: New file.
11816         * tests/test-asinf.c: New file.
11817
11818         New module 'asinf'.
11819         * lib/math.in.h (asinf): New declaration.
11820         * lib/asinf.c: New file.
11821         * m4/asinf.m4: New file.
11822         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
11823         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
11824         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
11825         * modules/asinf: New file.
11826         * tests/test-math-c++.cc: Check the declaration of asinf.
11827         * doc/posix-functions/asinf.texi: Mention the new module.
11828
11829         asin: Use a .m4 file.
11830         * m4/asin.m4: New file.
11831         * modules/asin (Files): Add it.
11832         (configure.ac): Just invoke gl_FUNC_ASIN.
11833
11834 2011-10-08  Bruno Haible  <bruno@clisp.org>
11835
11836         Tests for module 'tanf'.
11837         * modules/tanf-tests: New file.
11838         * tests/test-tanf.c: New file.
11839
11840         New module 'tanf'.
11841         * lib/math.in.h (tanf): New declaration.
11842         * lib/tanf.c: New file.
11843         * m4/tanf.m4: New file.
11844         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
11845         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
11846         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
11847         * modules/tanf: New file.
11848         * tests/test-math-c++.cc: Check the declaration of tanf.
11849         * doc/posix-functions/tanf.texi: Mention the new module.
11850
11851         tan: Use a .m4 file.
11852         * m4/tan.m4: New file.
11853         * modules/tan (Files): Add it.
11854         (configure.ac): Just invoke gl_FUNC_TAN.
11855
11856 2011-10-08  Bruno Haible  <bruno@clisp.org>
11857
11858         Tests for module 'cosf'.
11859         * modules/cosf-tests: New file.
11860         * tests/test-cosf.c: New file.
11861
11862         New module 'cosf'.
11863         * lib/math.in.h (cosf): New declaration.
11864         * lib/cosf.c: New file.
11865         * m4/cosf.m4: New file.
11866         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
11867         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
11868         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
11869         * modules/cosf: New file.
11870         * tests/test-math-c++.cc: Check the declaration of cosf.
11871         * doc/posix-functions/cosf.texi: Mention the new module.
11872
11873         cos: Use a .m4 file.
11874         * m4/cos.m4: New file.
11875         * modules/cos (Files): Add it.
11876         (configure.ac): Just invoke gl_FUNC_COS.
11877
11878 2011-10-08  Bruno Haible  <bruno@clisp.org>
11879
11880         Tests for module 'sinf'.
11881         * modules/sinf-tests: New file.
11882         * tests/test-sinf.c: New file.
11883
11884         New module 'sinf'.
11885         * lib/math.in.h (sinf): New declaration.
11886         * lib/sinf.c: New file.
11887         * m4/sinf.m4: New file.
11888         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
11889         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
11890         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
11891         * modules/sinf: New file.
11892         * tests/test-math-c++.cc: Check the declaration of sinf.
11893         * doc/posix-functions/sinf.texi: Mention the new module.
11894
11895         sin: Use a .m4 file.
11896         * m4/sin.m4: New file.
11897         * modules/sin (Files): Add it.
11898         (configure.ac): Just invoke gl_FUNC_SIN.
11899
11900 2011-10-08  Bruno Haible  <bruno@clisp.org>
11901
11902         Tests for module 'powf'.
11903         * modules/powf-tests: New file.
11904         * tests/test-powf.c: New file.
11905
11906         New module 'powf'.
11907         * lib/math.in.h (powf): New declaration.
11908         * lib/powf.c: New file.
11909         * m4/powf.m4: New file.
11910         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
11911         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
11912         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
11913         * modules/powf: New file.
11914         * tests/test-math-c++.cc: Check the declaration of powf.
11915         * doc/posix-functions/powf.texi: Mention the new module.
11916
11917         pow: Use a .m4 file.
11918         * m4/pow.m4: New file.
11919         * modules/pow (Files): Add it.
11920         (configure.ac): Just invoke gl_FUNC_POW.
11921
11922 2011-10-08  Bruno Haible  <bruno@clisp.org>
11923
11924         Tests for module 'log10f'.
11925         * modules/log10f-tests: New file.
11926         * tests/test-log10f.c: New file.
11927
11928         New module 'log10f'.
11929         * lib/math.in.h (log10f): New declaration.
11930         * lib/log10f.c: New file.
11931         * m4/log10f.m4: New file.
11932         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
11933         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
11934         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
11935         * modules/log10f: New file.
11936         * tests/test-math-c++.cc: Check the declaration of log10f.
11937         * doc/posix-functions/log10f.texi: Mention the new module.
11938
11939         log10: Use a .m4 file.
11940         * m4/log10.m4: New file.
11941         * modules/log10 (Files): Add it.
11942         (configure.ac): Just invoke gl_FUNC_LOG10.
11943
11944 2011-10-08  Bruno Haible  <bruno@clisp.org>
11945
11946         Tests for module 'logf'.
11947         * modules/logf-tests: New file.
11948         * tests/test-logf.c: New file.
11949
11950         New module 'logf'.
11951         * lib/math.in.h (logf): New declaration.
11952         * lib/logf.c: New file.
11953         * m4/logf.m4: New file.
11954         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
11955         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
11956         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
11957         * modules/logf: New file.
11958         * tests/test-math-c++.cc: Check the declaration of logf.
11959         * doc/posix-functions/logf.texi: Mention the new module.
11960
11961         log: Use a .m4 file.
11962         * m4/log.m4: New file.
11963         * modules/log (Files): Add it.
11964         (configure.ac): Just invoke gl_FUNC_LOG.
11965
11966 2011-10-08  Bruno Haible  <bruno@clisp.org>
11967
11968         Tests for module 'expf'.
11969         * modules/expf-tests: New file.
11970         * tests/test-expf.c: New file.
11971
11972         New module 'expf'.
11973         * lib/math.in.h (expf): New declaration.
11974         * lib/expf.c: New file.
11975         * m4/expf.m4: New file.
11976         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
11977         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
11978         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
11979         * modules/expf: New file.
11980         * tests/test-math-c++.cc: Check the declaration of expf.
11981         * doc/posix-functions/expf.texi: Mention the new module.
11982
11983         exp: Use a .m4 file.
11984         * m4/exp.m4: New file.
11985         * modules/exp (Files): Add it.
11986         (configure.ac): Just invoke gl_FUNC_EXP.
11987
11988 2011-10-08  Bruno Haible  <bruno@clisp.org>
11989
11990         Tests for module 'sqrtf'.
11991         * modules/sqrtf-tests: New file.
11992         * tests/test-sqrtf.c: New file.
11993
11994         New module 'sqrtf'.
11995         * lib/math.in.h (sqrtf): New declaration.
11996         * lib/sqrtf.c: New file.
11997         * m4/sqrtf.m4: New file.
11998         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
11999         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
12000         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
12001         * modules/sqrtf: New file.
12002         * tests/test-math-c++.cc: Check the declaration of sqrtf.
12003         * doc/posix-functions/sqrtf.texi: Mention the new module.
12004
12005 2011-10-08  Bruno Haible  <bruno@clisp.org>
12006
12007         Tests: Avoid link failures w.r.t. libintl.
12008         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
12009         $(LIBINTL).
12010         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
12011         $(LIBINTL).
12012         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
12013         against $(LIBINTL).
12014         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
12015         $(LIBINTL).
12016         * modules/openat-tests (Makefile.am): Link test-fchmodat against
12017         $(LIBINTL).
12018         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
12019
12020 2011-10-08  Bruno Haible  <bruno@clisp.org>
12021
12022         pow tests: Defeat compiler optimizations.
12023         * tests/test-pow.c (main): Assign arguments to x and y before use.
12024
12025 2011-10-08  Bruno Haible  <bruno@clisp.org>
12026
12027         gnulib-tool: Improve last commit.
12028         * gnulib-tool (func_modules_transitive_closure): Simplify code.
12029         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
12030         ignore dependencies that are not among the modules list.
12031
12032 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
12033
12034         gnulib-tool: don't follow dependencies to avoided modules
12035         This fixes a bug that is related to the previous one.
12036         * gnulib-tool (func_modules_transitive_closure)
12037         (func_emit_autoconf_snippets):
12038         Check whether a dependency is acceptable before using it.
12039         (--extract-dependencies): Report an error if --avoid is also used,
12040         since this combination of options is not yet supported.
12041
12042         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
12043         Problem reported by Peter Dyballa in
12044         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
12045         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
12046         when echoing "$condition".
12047
12048 2011-10-07  Bruno Haible  <bruno@clisp.org>
12049
12050         Fix documentation about math functions on MacOS X.
12051         * doc/posix-functions/exp2.texi: Don't say the function is missing on
12052         MacOS X 10.5.
12053         * doc/posix-functions/fdim.texi: Likewise.
12054         * doc/posix-functions/feclearexcept.texi: Likewise.
12055         * doc/posix-functions/fegetenv.texi: Likewise.
12056         * doc/posix-functions/fegetround.texi: Likewise.
12057         * doc/posix-functions/feholdexcept.texi: Likewise.
12058         * doc/posix-functions/feraiseexcept.texi: Likewise.
12059         * doc/posix-functions/fesetenv.texi: Likewise.
12060         * doc/posix-functions/fesetround.texi: Likewise.
12061         * doc/posix-functions/fetestexcept.texi: Likewise.
12062         * doc/posix-functions/feupdateenv.texi: Likewise.
12063         * doc/posix-functions/fmax.texi: Likewise.
12064         * doc/posix-functions/fmin.texi: Likewise.
12065         * doc/posix-functions/log2.texi: Likewise.
12066         * doc/posix-functions/modff.texi: Likewise.
12067         * doc/posix-functions/nan.texi: Likewise.
12068         * doc/posix-functions/nanf.texi: Likewise.
12069         * doc/posix-functions/nextafterf.texi: Likewise.
12070         * doc/posix-functions/remquo.texi: Likewise.
12071
12072 2011-10-07  Bruno Haible  <bruno@clisp.org>
12073
12074         modff: Drop assumption about library that defines modff.
12075         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
12076         AC_CHECK_FUNCS.
12077         * modules/modff (Files): Add m4/mathfunc.m4.
12078
12079 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
12080
12081         raise tests: Avoid a GCC warning.
12082         * tests/test-raise.c (handler): Use _Noreturn.
12083
12084 2011-10-07  Bruno Haible  <bruno@clisp.org>
12085
12086         Tests for module 'ldexpf'.
12087         * modules/ldexpf-tests: New file.
12088         * tests/test-ldexpf.c: New file.
12089
12090         New module 'ldexpf'.
12091         * lib/math.in.h (ldexpf): New declaration.
12092         * lib/ldexpf.c: New file.
12093         * m4/ldexpf.m4: New file.
12094         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
12095         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
12096         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
12097         * modules/ldexpf: New file.
12098         * tests/test-math-c++.cc: Check the declaration of ldexpf.
12099         * doc/posix-functions/ldexpf.texi: Mention the new module.
12100
12101 2011-10-06  Bruno Haible  <bruno@clisp.org>
12102
12103         frexpf: Work around problems on IRIX and mingw.
12104         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
12105         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
12106         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
12107         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
12108         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
12109         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
12110         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
12111
12112 2011-10-06  Bruno Haible  <bruno@clisp.org>
12113
12114         fabsf: Drop assumption about library that defines fabsf.
12115         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
12116         AC_CHECK_FUNCS.
12117         * modules/fabsf (Files): Add m4/mathfunc.m4.
12118
12119 2011-10-06  Bruno Haible  <bruno@clisp.org>
12120
12121         frexpf: Drop assumption about library that defines frexpf.
12122         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
12123         'int *', 'float *', 'long double *', 'float', 'long double'.
12124         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
12125         AC_CHECK_FUNCS.
12126         * modules/frexpf (Files): Add m4/mathfunc.m4.
12127
12128         Tests for module 'frexpf'.
12129         * modules/frexpf-tests: New file.
12130         * tests/test-frexpf.c: New file.
12131
12132         New module 'frexpf'.
12133         * lib/math.in.h (frexpf): New declaration.
12134         * lib/frexpf.c: New file.
12135         * m4/frexpf.m4: New file.
12136         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
12137         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
12138         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
12139         * modules/frexpf: New file.
12140         * tests/test-math-c++.cc: Check the declaration of frexpf.
12141         * doc/posix-functions/frexpf.texi: Mention the new module.
12142
12143 2011-10-06  Bruno Haible  <bruno@clisp.org>
12144
12145         math: Sort function declarations of math.in.h.
12146         * lib/math.in.h (frexp, logb): Move declarations.
12147
12148 2011-10-05  Bruno Haible  <bruno@clisp.org>
12149
12150         Tests for module 'modff'.
12151         * modules/modff-tests: New file.
12152         * tests/test-modff.c: New file.
12153
12154         New module 'modff'.
12155         * lib/math.in.h (modff): New declaration.
12156         * lib/modff.c: New file.
12157         * m4/modff.m4: New file.
12158         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
12159         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
12160         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
12161         * modules/modff: New file.
12162         * tests/test-math-c++.cc: Check the declaration of modff.
12163         * doc/posix-functions/modff.texi: Mention the new module.
12164
12165         modf tests: Make test sharper.
12166         * tests/test-modf.c (main): Strengthen upper bound.
12167
12168         modf: Use a .m4 file.
12169         * m4/modf.m4: New file.
12170         * modules/modf (Files): Add it.
12171         (configure.ac): Just invoke gl_FUNC_MODF.
12172
12173 2011-10-05  Bruno Haible  <bruno@clisp.org>
12174
12175         Tests for module 'fmodf'.
12176         * modules/fmodf-tests: New file.
12177         * tests/test-fmodf.c: New file.
12178
12179         New module 'fmodf'.
12180         * lib/math.in.h (fmodf): New declaration.
12181         * lib/fmodf.c: New file.
12182         * m4/fmodf.m4: New file.
12183         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
12184         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
12185         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
12186         * modules/fmodf: New file.
12187         * tests/test-math-c++.cc: Check the declaration of fmodf.
12188         * doc/posix-functions/fmodf.texi: Mention the new module.
12189
12190         fmod: Use a .m4 file.
12191         * m4/fmod.m4: New file.
12192         * modules/fmod (Files): Add it.
12193         (configure.ac): Just invoke gl_FUNC_FMOD.
12194
12195 2011-10-05  Bruno Haible  <bruno@clisp.org>
12196
12197         Tests for module 'fabsf'.
12198         * modules/fabsf-tests: New file.
12199         * tests/test-fabsf.c: New file.
12200
12201         New module 'fabsf'.
12202         * lib/math.in.h (fabsf): New declaration.
12203         * lib/fabsf.c: New file.
12204         * m4/fabsf.m4: New file.
12205         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
12206         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
12207         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
12208         * modules/fabsf: New file.
12209         * tests/test-math-c++.cc: Check the declaration of fabsf.
12210         * doc/posix-functions/fabsf.texi: Mention the new module.
12211
12212         fabs: Use a .m4 file.
12213         * m4/fabs.m4: New file.
12214         * modules/fabs (Files): Add it.
12215         (configure.ac): Just invoke gl_FUNC_FABS.
12216
12217 2011-10-05  Jim Meyering  <meyering@redhat.com>
12218
12219         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
12220         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
12221         ls -lL regression introduced in coreutils-8.12, it does so at the
12222         cost of an additional stat call in the common case.  Besides, now
12223         that the kernel change that prompted commit 95f7c57f has been reverted
12224         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
12225         we have no use for commit 95f7c57f, "file-has-acl: use
12226         acl_extended_file_nofollow if available".
12227
12228 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
12229
12230         file-has-acl: revert unintended change in behavior of ls -L
12231         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
12232         derived from...
12233         (file_has_acl): ...code here.  Call it.
12234         This problem was introduced with 2011-07-22 commit 95f7c57f,
12235         "file-has-acl: use acl_extended_file_nofollow if available".
12236         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
12237
12238 2011-10-03  Bruno Haible  <bruno@clisp.org>
12239
12240         poll: Avoid link errors on MSVC.
12241         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
12242         * modules/poll (Depends-on): Add sockets.
12243         (Link): New section.
12244         * NEWS: Mention the change.
12245         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
12246         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
12247         $(LIB_POLL) instead of $(LIBSOCKET).
12248
12249 2011-10-03  Bruno Haible  <bruno@clisp.org>
12250
12251         sys_select tests: Fix link error on MSVC 9.
12252         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
12253         with $(LIB_SELECT) instead of $(LIBSOCKET).
12254
12255 2011-10-03  Bruno Haible  <bruno@clisp.org>
12256
12257         sys_select: Fix compilation error on mingw.
12258         * lib/sys_select.in.h: On native Windows, include <io.h>.
12259
12260 2011-10-03  Bruno Haible  <bruno@clisp.org>
12261
12262         wmemset: Support for MSVC.
12263         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
12264         whether wmemset() exists.
12265
12266 2011-10-03  Bruno Haible  <bruno@clisp.org>
12267
12268         wmemmove: Support for MSVC.
12269         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
12270         whether wmemmove() exists.
12271
12272 2011-10-03  Bruno Haible  <bruno@clisp.org>
12273
12274         wmemcpy: Support for MSVC.
12275         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
12276         whether wmemcpy() exists.
12277
12278 2011-10-03  Bruno Haible  <bruno@clisp.org>
12279
12280         wmemcmp: Support for MSVC.
12281         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
12282         whether wmemcmp() exists.
12283
12284 2011-10-03  Bruno Haible  <bruno@clisp.org>
12285
12286         wmemchr: Support for MSVC.
12287         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
12288         whether wmemchr() exists.
12289
12290 2011-10-03  Bruno Haible  <bruno@clisp.org>
12291
12292         glthread/*, strsignal: Support for MSVC.
12293         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
12294         including <winsock.h> on MSVC 9.
12295         * lib/glthread/lock.h: Likewise.
12296         * lib/glthread/thread.h: Likewise.
12297         * lib/glthread/tls.h: Likewise.
12298         * lib/glthread/yield.h: Likewise.
12299         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
12300         if HAVE_UNISTD_H is false.
12301         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
12302
12303 2011-10-03  Bruno Haible  <bruno@clisp.org>
12304
12305         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
12306         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
12307         Set to 100000.
12308
12309 2011-10-03  Bruno Haible  <bruno@clisp.org>
12310
12311         acl: Fix specification.
12312         * lib/file-has-acl.c (file_has_acl): Fix specification.
12313
12314 2011-10-03  Bruno Haible  <bruno@clisp.org>
12315
12316         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
12317         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
12318         (compute_curr_prefix, shared_library_fullname,
12319         find_shared_library_fullname, get_shared_library_fullname, relocate):
12320         Use it together with PIC && INSTALLDIR.
12321         Reported by <jojelino@gmail.com>
12322         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
12323
12324 2011-10-01  Jim Meyering  <meyering@redhat.com>
12325
12326         maint.mk: adjust a release-related rule not to require use of gzip
12327         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
12328         Instead, check each file in $(DIST_ARCHIVES).  This is better for
12329         projects that build only .tar.xz files.  Also fix an erroneous test.
12330
12331         test-linkat: don't leave behind a temporary file
12332         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
12333         Otherwise, coreutils' "make distcheck" would fail with this:
12334           Only in /c/cu/tests/torture/coreutils/test/\
12335             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
12336           make[2]: *** [my-distcheck] Error 1
12337
12338         float, math: add omitted file
12339         * lib/itold.c: Add file, required for yesterday's float change.
12340
12341 2011-10-01  Bruno Haible  <bruno@clisp.org>
12342
12343         isinf: Fix for OpenBSD/x86.
12344         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
12345         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
12346         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
12347
12348 2011-10-01  Bruno Haible  <bruno@clisp.org>
12349
12350         isfinite: Fix syntax error in configure test.
12351         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
12352
12353         isfinite: Fix typo.
12354         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
12355         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
12356
12357 2011-10-01  Bruno Haible  <bruno@clisp.org>
12358
12359         nonblocking tests: Fix test failure on Linux/IA-64.
12360         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
12361         Set to 270000.
12362
12363 2011-10-01  Bruno Haible  <bruno@clisp.org>
12364
12365         mkfifoat tests: Fix a test failure on mingw.
12366         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
12367         with error ENOSYS.
12368
12369 2011-09-30  Bruno Haible  <bruno@clisp.org>
12370
12371         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
12372         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
12373         'long double'. Set REPLACE_ITOLD.
12374         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
12375         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
12376         * lib/itold.c: New file.
12377         * modules/float (Files): Add lib/itold.c.
12378         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
12379         (Makefile.am): Substitute REPLACE_ITOLD.
12380         * modules/math (Depends-on): Add float.
12381         (Makefile.am): Substitute REPLACE_ITOLD.
12382         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
12383         * doc/posix-headers/math.texi: Likewise.
12384         * doc/posix-functions/logl.texi: Likewise.
12385
12386 2011-09-30  Bruno Haible  <bruno@clisp.org>
12387
12388         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
12389         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
12390         Set to 140000.
12391
12392 2011-09-30  Bruno Haible  <bruno@clisp.org>
12393
12394         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
12395         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
12396         invocation, say "right after AC_PROG_CC_STDC", not "right after
12397         AC_PROG_CC".
12398         Reported by Gary V. Vaughan <gary@gnu.org>.
12399
12400 2011-09-30  Bruno Haible  <bruno@clisp.org>
12401
12402         Centralize C99 requirement.
12403         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
12404         * modules/stdarg (configure.ac-early): Invoke it instead of
12405         AC_PROG_CC_STDC.
12406         Reported by Gary V. Vaughan and Paul Eggert.
12407
12408 2011-09-29  Bruno Haible  <bruno@clisp.org>
12409
12410         float: Fix LDBL_MAX value on Linux/PowerPC.
12411         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
12412         on Linux/PowerPC.
12413         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
12414         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
12415         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
12416         platform.
12417         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
12418
12419 2011-09-29  Bruno Haible  <bruno@clisp.org>
12420
12421         doc: Improve doc about gl_EARLY.
12422         * doc/gnulib-tool.texi (Initial import): Mention where to place an
12423         AC_PROG_CC_STDC invocation.
12424         Reported by Gary V. Vaughan <gary@gnu.org>.
12425
12426 2011-09-28  Bruno Haible  <bruno@clisp.org>
12427
12428         fgetc, fputc, fread, fwrite tests: Fix link error.
12429         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
12430         on non-MSVC platforms.
12431         * tests/test-fputc.c (main): Likewise.
12432         * tests/test-fread.c (main): Likewise.
12433         * tests/test-fwrite.c (main): Likewise.
12434         Reported by Jim Meyering.
12435
12436 2011-09-27  Bruno Haible  <bruno@clisp.org>
12437
12438         fputc, fwrite tests: Avoid test failure on MSVC.
12439         * tests/test-fgetc.c: Include msvc-inval.h.
12440         (main): Invoke gl_msvc_inval_ensure_handler.
12441         * tests/test-fputc.c: Include msvc-inval.h.
12442         (main): Invoke gl_msvc_inval_ensure_handler.
12443         * tests/test-fread.c: Include msvc-inval.h.
12444         (main): Invoke gl_msvc_inval_ensure_handler.
12445         * tests/test-fwrite.c: Include msvc-inval.h.
12446         (main): Invoke gl_msvc_inval_ensure_handler.
12447         * modules/fgetc-tests (Depends-on): Add msvc-inval.
12448         * modules/fputc-tests (Depends-on): Likewise.
12449         * modules/fread-tests (Depends-on): Likewise.
12450         * modules/fwrite-tests (Depends-on): Likewise.
12451
12452 2011-09-27  Bruno Haible  <bruno@clisp.org>
12453
12454         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
12455         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
12456         (raise): Remove older, duplicated declaration.
12457         (_gl_raise_SIGPIPE): New declaration.
12458         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
12459         (rpl_raise): Remove function.
12460         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
12461         a gnulib-defined SIGPIPE here.
12462         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
12463         'sigprocmask' has detected missing signal-blocking and the module
12464         'sigpipe' is enabled.
12465         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
12466
12467 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
12468
12469         base64-tests: avoid memory leak
12470         * tests/test-base64.c (main): Plug memory leak.
12471
12472         base32: new module
12473         * modules/base32: New module.
12474         * lib/base32.c: New file.
12475         * lib/base32.h: Likewise.
12476         * m4/base32.m4: Likewise.
12477         * modules/base32-tests: New test.
12478         * tests/test-base32.c: Likewise.
12479         * MODULES.html.sh (Misc): Mention it.
12480
12481 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12482
12483         gnulib: use more-standard license notice wording
12484         * gnulib-tool (func_emit_copyright_notice): When emitting a
12485         license notice into a file, use the standard wording as suggested
12486         by the current information for GNU maintainers, except say "file"
12487         rather than "program".  The new wording gives a license version
12488         number, which addresses an issue raised by Glenn Morris in
12489         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
12490         * m4/onceonly.m4: Use that same wording here, too.
12491
12492         dup2: minor simplification
12493         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
12494         as lib/dup2.c no longer uses 'inline'.
12495
12496 2011-09-25  Bruno Haible  <bruno@clisp.org>
12497
12498         strings: Fix compilation error on MSVC.
12499         * lib/strings.in.h: Include <stddef.h> for size_t.
12500
12501 2011-09-25  Bruno Haible  <bruno@clisp.org>
12502
12503         fflush et al.: Document limitation on MSVC.
12504         * doc/posix-functions/fflush.texi: Document possible crash in handling
12505         mode other than DEFAULT_HANDLING.
12506         * doc/posix-functions/fgetc.texi: Likewise.
12507         * doc/posix-functions/fputc.texi: Likewise.
12508         * doc/posix-functions/fread.texi: Likewise.
12509         * doc/posix-functions/fwrite.texi: Likewise.
12510
12511 2011-09-25  Bruno Haible  <bruno@clisp.org>
12512
12513         msvc-inval: Allow three invalid parameter handling modes.
12514         * lib/msvc-inval.h: Don't include <stdlib.h> here.
12515         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
12516         macros.
12517         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
12518         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
12519         SANE_LIBRARY_HANDLING as a no-op.
12520         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
12521         <stdlib.h>.
12522         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
12523
12524 2011-09-25  Bruno Haible  <bruno@clisp.org>
12525
12526         msvc-inval: Make handler multithread-safe.
12527         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
12528         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
12529         declarations.
12530         (gl_msvc_inval_current): New declaration.
12531         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12532         Operate on the structure returned by gl_msvc_inval_current().
12533         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
12534         Remove varaiables.
12535         (tls_index, tls_initialized): New variables.
12536         (not_per_thread): New variable.
12537         (gl_msvc_inval_current): New function.
12538         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
12539         returned by gl_msvc_inval_current().
12540
12541 2011-09-25  Bruno Haible  <bruno@clisp.org>
12542
12543         msvc-inval: Install handler globally.
12544         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
12545         !_MSC_VER.
12546         (gl_msvc_invalid_parameter_handler): Remove declaration.
12547         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
12548         declarations.
12549         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12550         Install the handler globally, don't uninstall it.
12551         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
12552         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
12553         currently valid, call RaiseException instead.
12554         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
12555         for !_MSC_VER.
12556
12557 2011-09-25  Bruno Haible  <bruno@clisp.org>
12558
12559         strerror_r-posix: Fix for MSVC 9.
12560         * lib/strerror_r.c (local_snprintf): New function.
12561         (snprintf): Define to local_snprintf, not to _snprintf.
12562
12563 2011-09-25  Bruno Haible  <bruno@clisp.org>
12564
12565         ftruncate: Support for MSVC 9.
12566         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
12567         (chsize_nothrow): New function.
12568         (chsize): Redefine as a macro.
12569         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
12570         * modules/ftruncate (Depends-on): Add msvc-inval.
12571
12572 2011-09-25  Bruno Haible  <bruno@clisp.org>
12573
12574         New module 'fstat'.
12575         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
12576         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
12577         * lib/fchdir.c (rpl_fstat): Remove function.
12578         * m4/fstat.m4: New file.
12579         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
12580         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
12581         declared.
12582         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
12583         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
12584         * modules/fstat: New file.
12585         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
12586         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
12587         is set.
12588         * doc/posix-functions/fstat.texi: Mention the new module and the
12589         problem on MSVC.
12590         * NEWS: Mention the change.
12591         * modules/acl (Depends-on): Add fstat.
12592         * modules/chdir-safer (Depends-on): Likewise.
12593         * modules/chown (Depends-on): Likewise.
12594         * modules/copy-file (Depends-on): Likewise.
12595         * modules/fchdir (Depends-on): Likewise.
12596         * modules/fdopendir (Depends-on): Likewise.
12597         * modules/fopen (Depends-on): Likewise.
12598         * modules/fts (Depends-on): Likewise.
12599         * modules/getcwd (Depends-on): Likewise.
12600         * modules/isapipe (Depends-on): Likewise.
12601         * modules/linkat (Depends-on): Likewise.
12602         * modules/lseek (Depends-on): Likewise.
12603         * modules/mkdir-p (Depends-on): Likewise.
12604         * modules/open (Depends-on): Likewise.
12605         * modules/openat (Depends-on): Likewise.
12606         * modules/read-file (Depends-on): Likewise.
12607         * modules/renameat (Depends-on): Likewise.
12608         * modules/utimens (Depends-on): Likewise.
12609
12610 2011-09-25  Bruno Haible  <bruno@clisp.org>
12611
12612         linkat: Fix compilation on MSVC 9.
12613         * lib/linkat.c: Don't include <stdint.h>.
12614
12615 2011-09-25  Bruno Haible  <bruno@clisp.org>
12616
12617         fclose: Support for MSVC 9.
12618         * lib/fclose.c: Include msvc-inval.h.
12619         (fclose_nothrow): New function.
12620         (rpl_fclose): Use it.
12621         * modules/fclose (Depends-on): Add msvc-inval.
12622         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
12623
12624 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
12625
12626         dup2: minor simplifications
12627         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
12628         that it's a performance win.
12629         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
12630         ! defined __CYGWIN__)" to "ifdef F_GETFL".
12631
12632 2011-09-24  Jim Meyering  <meyering@redhat.com>
12633
12634         test-futimens: avoid a warning from gcc -Wshadow
12635         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
12636         to avoid a shadowing warning.
12637
12638 2011-09-24  Bruno Haible  <bruno@clisp.org>
12639
12640         fdopen: Support for MSVC 9.
12641         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
12642         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
12643         * lib/fdopen.c: Include msvc-inval.h.
12644         (fdopen_nothrow): New function.
12645         (rpl_fdopen): Use it.
12646         * modules/fdopen (Depends-on): Add msvc-inval.
12647         * modules/fclose-tests (Depends-on): Add fdopen.
12648         * modules/fflush-tests (Depends-on): Likewise.
12649         * modules/fgetc-tests (Depends-on): Likewise.
12650         * modules/fputc-tests (Depends-on): Likewise.
12651         * modules/fread-tests (Depends-on): Likewise.
12652         * modules/freopen-tests (Depends-on): Likewise.
12653         * modules/fseeko-tests (Depends-on): Likewise.
12654         * modules/ftello-tests (Depends-on): Likewise.
12655         * modules/fwrite-tests  (Depends-on): Likewise.
12656         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
12657
12658 2011-09-24  Bruno Haible  <bruno@clisp.org>
12659
12660         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
12661         * modules/fgetc-tests (Depends-on): Add unistd.
12662         * modules/fputc-tests (Depends-on): Likewise.
12663         * modules/fread-tests (Depends-on): Likewise.
12664         * modules/fwrite-tests (Depends-on): Likewise.
12665
12666 2011-09-24  Bruno Haible  <bruno@clisp.org>
12667
12668         dup: Simplify autoconf test.
12669         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
12670         on gl_MSVC_INVAL's result.
12671
12672 2011-09-24  Bruno Haible  <bruno@clisp.org>
12673
12674         Tests for function fwrite().
12675         * modules/fwrite-tests: New file.
12676         * tests/test-fwrite.c: New file.
12677         * modules/stdio-tests (Depends-on): Add fwrite-tests.
12678
12679         Tests for function fread().
12680         * modules/fread-tests: New file.
12681         * tests/test-fread.c: New file.
12682         * modules/stdio-tests (Depends-on): Add fread-tests.
12683
12684         Activate fputc tests.
12685         * modules/stdio-tests (Depends-on): Add fputc-tests.
12686
12687         Enhance fgetc, fputc tests.
12688         * tests/test-fgetc.c (main): Also test the stream's error indicator.
12689         * tests/test-fputc.c (main): Likewise.
12690
12691 2011-09-24  Bruno Haible  <bruno@clisp.org>
12692
12693         write: Support for MSVC 9.
12694         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
12695         is not 1.
12696         * lib/write.c (write_nothrow): New function.
12697         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
12698         not 1. Use write_nothrow.
12699         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
12700         invalid parameter handler.
12701         (gl_PREREQ_WRITE): New macro.
12702         * modules/write (Depends-on): Add msvc-inval.
12703         (configure.ac): Invoke gl_PREREQ_WRITE.
12704         * doc/posix-functions/write.texi: Mention the problem on MSVC.
12705
12706 2011-09-24  Bruno Haible  <bruno@clisp.org>
12707
12708         read: Fix last commit.
12709         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
12710
12711 2011-09-24  Bruno Haible  <bruno@clisp.org>
12712
12713         dup2: Fix last commit.
12714         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
12715         (rpl_dup2): Disable fcntl workaround on native Windows.
12716
12717         sigprocmask: Make code safer.
12718         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
12719         section that changes macro definitions for this compilation unit.
12720
12721 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12722
12723         dup2: clarify by coalescing Windows-specific material
12724         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
12725         "msvc-nothrow.h"' to the Windows-specific section, so that the
12726         Emacs source need not contain these include files.
12727         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
12728         Windows-specific fixes into this function rather than just the
12729         nothrow fix, as this shortens and clarifies the code.  Always
12730         define as a function, as that's a bit cleaner than having it be
12731         sometimes a function and sometimes a macro.
12732         (rpl_dup2): Move the Windows-specific stuff out of here and into
12733         ms_windows_dup2.  Don't protect the Haiku-related fix with
12734         "#if !defined __linux__", as the same code also works around
12735         a Linux kernel bug, and it doesn't add any system calls on any
12736         platform.  Add comment about FreeBSD 6.1.
12737
12738         sigprocmask: move #include directive
12739         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
12740         Windows-specific section, so that the Emacs source need not
12741         contain msvc-inval.h.
12742
12743 2011-09-23  Bruno Haible  <bruno@clisp.org>
12744
12745         read: Support for MSVC 9.
12746         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
12747         is not 1.
12748         * lib/read.c (read_nothrow): New function.
12749         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
12750         read_nothrow.
12751         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
12752         invalid parameter handler.
12753         (gl_PREREQ_READ): New macro.
12754         * modules/read (Depends-on): Add msvc-inval.
12755         (configure.ac): Invoke gl_PREREQ_READ.
12756         * doc/posix-functions/read.texi: Mention the problem on MSVC.
12757
12758 2011-09-23  Bruno Haible  <bruno@clisp.org>
12759
12760         close: Support for MSVC 9.
12761         * lib/close.c: Include <errno.h>, msvc-inval.h.
12762         (close_nothrow): New function.
12763         (rpl_close): Use it.
12764         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
12765         invalid parameter handler.
12766         * modules/close (Depends-on): Add msvc-inval.
12767         * modules/dup2-tests (Depends-on): Add close.
12768         * modules/dup3-tests (Depends-on): Likewise.
12769         * modules/fcntl-tests (Depends-on): Likewise.
12770         * modules/spawn-pipe-tests (Depends-on): Likewise.
12771         * modules/unistd-safer-tests (Depends-on): Likewise.
12772         * doc/posix-functions/close.texi: Mention the problem on MSVC.
12773
12774 2011-09-23  Bruno Haible  <bruno@clisp.org>
12775
12776         New module 'dup'.
12777         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
12778         Allow replacement.
12779         * lib/dup.c: New file.
12780         * lib/fchdir.c (rpl_dup): Remove function.
12781         * m4/dup.m4: New file.
12782         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
12783         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
12784         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
12785         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
12786         * modules/dup: New file.
12787         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
12788         'dup' module is in use.
12789         * modules/fdopendir (Depends-on): Add dup.
12790         * modules/fdutimensat-tests (Depends-on): Likewise.
12791         * modules/fts (Depends-on): Likewise.
12792         * modules/futimens-tests (Depends-on): Likewise.
12793         * modules/posix_spawnp-tests (Depends-on): Likewise.
12794         * modules/unistd-safer-tests (Depends-on): Likewise.
12795         * modules/utimens-tests (Depends-on): Likewise.
12796         * doc/posix-functions/dup.texi: Mention the new module and the problem
12797         on MSVC.
12798
12799 2011-09-23  Bruno Haible  <bruno@clisp.org>
12800
12801         getdtablesize: Support for MSVC 9.
12802         * lib/getdtablesize.c: Include msvc-inval.h.
12803         (_setmaxstdio_nothrow): New function.
12804         (_setmaxstdio): Redefine it.
12805         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
12806         * modules/getdtablesize (Depends-on): Add msvc-inval.
12807         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
12808
12809 2011-09-23  Bruno Haible  <bruno@clisp.org>
12810
12811         signal-h: Rename from signal.
12812         * modules/signal-h: Renamed from modules/signal.
12813         * modules/pthread_sigmask (Depends-on): Update.
12814         * modules/raise (Depends-on): Likewise.
12815         * modules/sigaction (Depends-on): Likewise.
12816         * modules/sigpipe (Depends-on): Likewise.
12817         * modules/sigprocmask (Depends-on): Likewise.
12818         * modules/sys_select (Depends-on): Likewise.
12819         * modules/signal-h-tests: Renamed from modules/signal-tests.
12820         (Files, Depends-on, Makefile.am): Update.
12821         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
12822         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
12823         (Files, Makefile.am): Update.
12824         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
12825         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
12826         * modules/signal: New placeholder file.
12827         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
12828         * doc/posix-headers/signal.texi: Update.
12829         * NEWS: Mention the change.
12830
12831 2011-09-23  Bruno Haible  <bruno@clisp.org>
12832
12833         sigprocmask: Avoid crashes through signal() on MSVC 9.
12834         * lib/sigprocmask.c: Include msvc-inval.h.
12835         (signal_nothrow): New function.
12836         (signal): Redefine it.
12837         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
12838         * modules/sigprocmask (Depends-on): Add msvc-inval.
12839         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
12840
12841 2011-09-23  Bruno Haible  <bruno@clisp.org>
12842
12843         Tests for module 'raise'.
12844         * modules/raise-tests: New file.
12845         * tests/test-raise.c: New file.
12846
12847         raise: Support for MSVC.
12848         * lib/signal.in.h (raise): New declaration.
12849         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
12850         for native Windows platforms.
12851         * m4/raise.m4: New file.
12852         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
12853         HAVE_RAISE, REPLACE_RAISE.
12854         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
12855         REPLACE_RAISE.
12856         * modules/raise (Status, Notice): Remove fields.
12857         (Files): Add m4/raise.m4.
12858         (Depends-on): Add signal, msvc-inval.
12859         (configure.ac): Use the common idioms.
12860         (Maintainer): Add me.
12861         * tests/test-signal-c++.cc: Check the signature of raise.
12862         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
12863
12864 2011-09-23  Bruno Haible  <bruno@clisp.org>
12865
12866         pipe2: Fix compilation on pre-C99 compilers.
12867         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
12868
12869 2011-09-23  Bruno Haible  <bruno@clisp.org>
12870
12871         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
12872         * lib/msvc-nothrow.h: New file.
12873         * lib/msvc-nothrow.c: New file.
12874         * m4/msvc-nothrow.m4: New file.
12875         * modules/msvc-nothrow: New file.
12876         * lib/dup2.c: Include msvc-nothrow.h.
12877         (rpl_dup2): No need to protect _get_osfhandle call here.
12878         * lib/accept4.c: Include msvc-nothrow.h.
12879         * lib/error.c: Likewise.
12880         * lib/fcntl.c: Likewise.
12881         * lib/lseek.c: Likewise.
12882         * lib/nonblocking.c: Likewise.
12883         * lib/poll.c: Likewise.
12884         * lib/read.c: Likewise.
12885         * lib/select.c: Likewise.
12886         * lib/sockets.h: Likewise.
12887         * lib/sockets.c: Likewise.
12888         * lib/stdio-read.c: Likewise.
12889         * lib/stdio-write.c: Likewise.
12890         * lib/write.c: Likewise.
12891         * lib/w32sock.h: Likewise.
12892         * lib/w32spawn.h: Likewise.
12893         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
12894         * lib/fsync.c: Likewise.
12895         * lib/isapipe.c: Likewise.
12896         * modules/dup2 (Depends-on): Add msvc-nothrow.
12897         * modules/accept4 (Depends-on): Likewise.
12898         * modules/error (Depends-on): Likewise.
12899         * modules/fcntl (Depends-on): Likewise.
12900         * modules/lseek (Depends-on): Likewise.
12901         * modules/nonblocking (Depends-on): Likewise.
12902         * modules/poll (Depends-on): Likewise.
12903         * modules/read (Depends-on): Likewise.
12904         * modules/select (Depends-on): Likewise.
12905         * modules/sockets (Depends-on): Likewise.
12906         * modules/sigpipe (Depends-on): Likewise.
12907         * modules/write (Depends-on): Likewise.
12908         * modules/accept (Depends-on): Likewise.
12909         * modules/bind (Depends-on): Likewise.
12910         * modules/connect (Depends-on): Likewise.
12911         * modules/gethostname (Depends-on): Likewise.
12912         * modules/getpeername (Depends-on): Likewise.
12913         * modules/getsockname (Depends-on): Likewise.
12914         * modules/getsockopt (Depends-on): Likewise.
12915         * modules/ioctl (Depends-on): Likewise.
12916         * modules/listen (Depends-on): Likewise.
12917         * modules/recv (Depends-on): Likewise.
12918         * modules/recvfrom (Depends-on): Likewise.
12919         * modules/send (Depends-on): Likewise.
12920         * modules/sendto (Depends-on): Likewise.
12921         * modules/setsockopt (Depends-on): Likewise.
12922         * modules/shutdown (Depends-on): Likewise.
12923         * modules/socket (Depends-on): Likewise.
12924         * modules/execute (Depends-on): Likewise.
12925         * modules/spawn-pipe (Depends-on): Likewise.
12926         * modules/flock (Depends-on): Likewise.
12927         * modules/fsync (Depends-on): Likewise.
12928         * modules/isapipe (Depends-on): Likewise.
12929         * tests/test-cloexec.c: Include msvc-nothrow.h.
12930         * tests/test-dup-safer.c: Likewise.
12931         * tests/test-dup2.c: Likewise.
12932         * tests/test-dup3.c: Likewise.
12933         * tests/test-fcntl.c: Likewise.
12934         * tests/test-pipe.c: Likewise.
12935         * tests/test-pipe2.c: Likewise.
12936         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
12937         * modules/unistd-safer-tests (Depends-on): Likewise.
12938         * modules/dup2-tests (Depends-on): Likewise.
12939         * modules/dup3-tests (Depends-on): Likewise.
12940         * modules/fcntl-tests (Depends-on): Likewise.
12941         * modules/pipe-posix-tests (Depends-on): Likewise.
12942         * modules/pipe2-tests (Depends-on): Likewise.
12943
12944 2011-09-23  Bruno Haible  <bruno@clisp.org>
12945
12946         dup2: Make code more maintainable.
12947         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
12948         (rpl_dup2): Use it.
12949         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
12950         * modules/dup2 (configure.ac): Invoke it.
12951         Reported by Paul Eggert.
12952
12953 2011-09-23  Bruno Haible  <bruno@clisp.org>
12954
12955         msvc-inval: Fix compilation error.
12956         * lib/msvc-inval.h: Include <excpt.h>.
12957
12958 2011-09-23  Bruno Haible  <bruno@clisp.org>
12959
12960         mkdir: Tweak for MSVC 9.
12961         * lib/sys_stat.in.h: Update comments.
12962         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
12963
12964         Tests for module 'chdir'.
12965         * modules/chdir-tests: New file.
12966         * tests/test-chdir.c: New file.
12967
12968         New module 'chdir'.
12969         * modules/chdir: New file.
12970         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
12971         (chdir): New declaration.
12972         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
12973         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
12974         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
12975         * tests/test-unistd-c++.cc: Check signature of chdir.
12976         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
12977         * modules/chdir-long (Depends-on): Add chdir.
12978         * modules/fchdir (Depends-on): Likewise.
12979         * modules/rename (Depends-on): Likewise.
12980         * modules/savewd (Depends-on): Likewise.
12981
12982         rmdir: Support for mingw, MSVC 9.
12983         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
12984         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
12985
12986         getcwd: Tweak for MSVC 9.
12987         * lib/unistd.in.h: Update comments.
12988         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
12989
12990 2011-09-22  Bruno Haible  <bruno@clisp.org>
12991
12992         strerror_r-posix: Avoid a link error on MSVC.
12993         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
12994         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
12995
12996 2011-09-22  Bruno Haible  <bruno@clisp.org>
12997
12998         select: Avoid link errors on MSVC.
12999         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
13000         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
13001         * modules/pselect (Link): Likewise.
13002         * NEWS: Mention the change.
13003         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
13004         test-select-stdin against $(LIB_SELECT).
13005         * modules/pselect-tests (Makefile.am): Link test-pselect against
13006         $(LIB_SELECT).
13007
13008 2011-09-22  Bruno Haible  <bruno@clisp.org>
13009
13010         select: Avoid compilation error on MSVC.
13011         * lib/select.c: Don't include <stdbool.h>.
13012
13013 2011-09-21  Bruno Haible  <bruno@clisp.org>
13014
13015         Consolidate all uses of PATH_MAX in *.m4 files.
13016         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
13017         macros.
13018         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
13019         and gl_PATHMAX_SNIPPET.
13020         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
13021         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13022         * modules/chdir-long (Files): Add m4/pathmax.m4.
13023         * modules/getcwd (Files): Likewise.
13024
13025 2011-09-21  Bruno Haible  <bruno@clisp.org>
13026
13027         ftruncate: Un-deprecate, concentrate on Win32 support.
13028         * modules/ftruncate (Status, Notice): Remove sections.
13029         (Depends-on): Add largefile.
13030         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
13031         non-mingw platforms.
13032         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
13033         include <io.h>.
13034         * modules/perror-tests (Depends-on): Add ftruncate.
13035         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
13036         'ftruncate' module.
13037
13038 2011-09-21  Bruno Haible  <bruno@clisp.org>
13039
13040         Add dependencies to new dirent related modules.
13041         * modules/opendir (Depends-on): Add closedir.
13042         * modules/getcwd (Depends-on): Add opendir, closedir.
13043         * modules/dirent-safer-tests (Depends-on): Likewise.
13044         * modules/fdopendir-tests (Depends-on): Likewise.
13045         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
13046         * modules/renameat-tests (Depends-on): Likewise.
13047
13048 2011-09-21  Bruno Haible  <bruno@clisp.org>
13049
13050         opendir: Avoid compilation error on mingw.
13051         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
13052         * modules/opendir (Depends-on): Add unistd.
13053
13054 2011-09-21  Bruno Haible  <bruno@clisp.org>
13055
13056         ftruncate tests: Avoid a test failure on mingw.
13057         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
13058
13059 2011-09-21  Bruno Haible  <bruno@clisp.org>
13060
13061         select tests: Avoid test failures on OSF/1 5.1 and mingw.
13062         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
13063         native Windows.
13064
13065 2011-09-21  Bruno Haible  <bruno@clisp.org>
13066
13067         New module 'fdopen'.
13068         * lib/stdio.in.h (fdopen): New declaration.
13069         * lib/fdopen.c: New file.
13070         * m4/fdopen.m4: New file.
13071         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
13072         REPLACE_FDOPEN.
13073         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
13074         REPLACE_FDOPEN.
13075         * modules/fdopen: New file.
13076         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
13077         * tests/test-stdio-c++.cc: Check signature of fdopen.
13078         * doc/posix-functions/fdopen.texi: Mention the new module.
13079
13080 2011-09-21  Bruno Haible  <bruno@clisp.org>
13081
13082         unlockpt tests: Avoid test failure on NetBSD 5.1.
13083         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
13084         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
13085
13086 2011-09-21  Bruno Haible  <bruno@clisp.org>
13087
13088         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
13089         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
13090         * tests/test-getlogin_r.c (main): Likewise.
13091
13092 2011-09-20  Bruno Haible  <bruno@clisp.org>
13093
13094         time tests: Don't require pid_t.
13095         * doc/posix-headers/time.texi: Revert last change.
13096         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
13097         * tests/test-time.c: Comment out the check for pid_t.
13098
13099 2011-09-20  Bruno Haible  <bruno@clisp.org>
13100
13101         fsync tests: Avoid a test failure on mingw.
13102         * tests/test-fsync.c (main): Allow a failure with EIO.
13103
13104 2011-09-20  Bruno Haible  <bruno@clisp.org>
13105
13106         euidaccess: Update comments.
13107         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
13108
13109 2011-09-20  Bruno Haible  <bruno@clisp.org>
13110
13111         Ensure EBADF returns for socket functions on mingw.
13112         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
13113         descriptor is invalid.
13114         * lib/bind.c (rpl_bind): Likewise.
13115         * lib/connect.c (rpl_connect): Likewise.
13116         * lib/getpeername.c (rpl_getpeername): Likewise.
13117         * lib/getsockname.c (rpl_getsockname): Likewise.
13118         * lib/getsockopt.c (rpl_getsockopt): Likewise.
13119         * lib/listen.c (rpl_listen): Likewise.
13120         * lib/recv.c (rpl_recv): Likewise.
13121         * lib/recvfrom.c (rpl_recvfrom): Likewise.
13122         * lib/send.c (rpl_send): Likewise.
13123         * lib/sendto.c (rpl_sendto): Likewise.
13124         * lib/setsockopt.c (rpl_setsockopt): Likewise.
13125         * lib/shutdown.c (rpl_shutdown): Likewise.
13126
13127 2011-09-20  Bruno Haible  <bruno@clisp.org>
13128
13129         select tests: EBADF tests.
13130         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
13131         test_bad_fd): New functions.
13132         (test_function): Invoke also test_bad_fd.
13133
13134 2011-09-20  Bruno Haible  <bruno@clisp.org>
13135
13136         Tests for module 'posix_spawn_file_actions_addopen.
13137         * modules/posix_spawn_file_actions_addopen-tests: New file.
13138         * tests/test-posix_spawn_file_actions_addopen.c: New file.
13139
13140         Tests for module 'posix_spawn_file_actions_adddup2'.
13141         * modules/posix_spawn_file_actions_adddup2-tests: New file.
13142         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
13143
13144         Tests for module 'posix_spawn_file_actions_addclose'.
13145         * modules/posix_spawn_file_actions_addclose-tests: New file.
13146         * tests/test-posix_spawn_file_actions_addclose.c: New file.
13147
13148 2011-09-20  Bruno Haible  <bruno@clisp.org>
13149
13150         Tests for module 'unlockpt'.
13151         * modules/unlockpt-tests: New file.
13152         * tests/test-unlockpt.c: New file.
13153         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
13154
13155         Tests for module 'grantpt'.
13156         * modules/grantpt-tests: New file.
13157         * tests/test-grantpt.c: New file.
13158         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
13159
13160 2011-09-20  Bruno Haible  <bruno@clisp.org>
13161
13162         freopen tests: EBADF tests.
13163         * tests/test-freopen.c: Include errno.h, unistd.h.
13164         (main): Add tests for EBADF, commented out for the moment.
13165
13166         fclose tests: EBADF tests.
13167         * tests/test-fclose.c (main): Add tests for EBADF.
13168
13169         fflush tests: EBADF tests.
13170         * tests/test-fflush.c: Include errno.h, macros.h.
13171         (main): Add tests for EBADF.
13172
13173         ftello tests: EBADF tests.
13174         * tests/test-ftello4.sh: New file.
13175         * tests/test-ftello4.c: New file.
13176         * modules/ftello-tests (Files): Add them.
13177         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
13178
13179         fseeko tests: EBADF tests.
13180         * tests/test-fseeko4.sh: New file.
13181         * tests/test-fseeko4.c: New file.
13182         * modules/fseeko-tests (Files): Add them.
13183         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
13184
13185         Tests for function fputc().
13186         * modules/fputc-tests: New file.
13187         * tests/test-fputc.c: New file.
13188         * modules/stdio-tests (Depends-on): Add fputc-tests.
13189
13190         Tests for function fgetc().
13191         * modules/fgetc-tests: New file.
13192         * tests/test-fgetc.c: New file.
13193         * modules/stdio-tests (Depends-on): Add fgetc-tests.
13194
13195         Tests for function fdopen().
13196         * modules/fdopen-tests: New file.
13197         * tests/test-fdopen.c: New file.
13198         * modules/stdio-tests (Depends-on): Add fdopen-tests.
13199
13200         Tests for module 'vdprintf'.
13201         * modules/vdprintf-tests: New file.
13202         * tests/test-vdprintf.c: New file.
13203
13204         Tests for module 'dprintf'.
13205         * modules/dprintf-tests: New file.
13206         * tests/test-dprintf.c: New file.
13207
13208 2011-09-20  Bruno Haible  <bruno@clisp.org>
13209
13210         Tests for module 'ioctl'.
13211         * modules/ioctl-tests: New file.
13212         * tests/test-ioctl.c: New file.
13213
13214 2011-09-20  Bruno Haible  <bruno@clisp.org>
13215
13216         fcntl tests: EBADF tests.
13217         * tests/test-fcntl.c (main): Add more tests for EBADF.
13218
13219 2011-09-20  Bruno Haible  <bruno@clisp.org>
13220
13221         utimensat tests: EBADF tests.
13222         * tests/test-utimensat.c (main): Add tests for EBADF.
13223
13224         renameat tests: EBADF tests.
13225         * tests/test-renameat.c (main): Add tests for EBADF.
13226
13227         mkfifoat tests: EBADF tests.
13228         * tests/test-mkfifoat.c (main): Add tests for EBADF.
13229
13230         readlinkat tests: EBADF tests.
13231         * tests/test-readlinkat.c (main): Add tests for EBADF.
13232
13233         symlinkat tests: EBADF tests.
13234         * tests/test-symlinkat.c (main): Add tests for EBADF.
13235
13236         linkat tests: EBADF tests.
13237         * tests/test-linkat.c (main): Add tests for EBADF.
13238
13239         Tests for module 'faccessat'.
13240         * modules/faccessat-tests: New file.
13241         * tests/test-faccessat.c: New file.
13242
13243         fdopendir tests: EBADF tests.
13244         * tests/test-fdopendir.c (main): Add more tests for EBADF.
13245
13246         openat tests: EBADF tests.
13247         * tests/test-fchownat.c (main): Add tests for EBADF.
13248         * tests/test-fstatat.c (main): Likewise.
13249         * tests/test-mkdirat.c (main): Likewise.
13250         * tests/test-openat.c (main): Likewise.
13251         * tests/test-unlinkat.c (main): Likewise.
13252         * tests/test-fchmodat.c: New file.
13253         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
13254         (Makefile.am): Also run 'test-fchmodat'.
13255
13256 2011-09-20  Bruno Haible  <bruno@clisp.org>
13257
13258         utimens, futimens, fdutimensat tests: EBADF tests.
13259         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
13260
13261         Tests for function fstat().
13262         * modules/fstat-tests: New file.
13263         * tests/test-fstat.c: New file.
13264         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
13265
13266 2011-09-20  Bruno Haible  <bruno@clisp.org>
13267
13268         test-ttyname_r tests: EBADF tests.
13269         * tests/test-ttyname_r.c (main): Add tests for EBADF.
13270
13271         Tests for module 'isatty'.
13272         * modules/isatty-tests: New file.
13273         * tests/test-isatty.c: New file.
13274
13275         Tests for module 'write'.
13276         * modules/write-tests: New file.
13277         * tests/test-write.c: New file.
13278
13279         Tests for module 'read'.
13280         * modules/read-tests: New file.
13281         * tests/test-read.c: New file.
13282
13283         pwrite tests: EBADF tests.
13284         * tests/test-pwrite.c (main): Add tests for EBADF.
13285
13286         pread tests: EBADF tests.
13287         * tests/test-pread.c (main): Add tests for EBADF.
13288
13289         lseek tests: EBADF tests.
13290         * tests/test-lseek.c (main): Add more tests for EBADF.
13291
13292         Tests for module 'ftruncate'.
13293         * modules/ftruncate-tests: New file.
13294         * tests/test-ftruncate.sh: New file.
13295         * tests/test-ftruncate.c: New file.
13296
13297         fsync tests: EBADF tests.
13298         * tests/test-fsync.c (main): Add more tests for EBADF.
13299
13300         fdatasync tests: EBADF tests.
13301         * tests/test-fdatasync.c (main): Add more tests for EBADF.
13302
13303         Tests for module 'fchown'.
13304         * modules/fchown-tests: New file.
13305         * tests/test-fchown.c: New file.
13306
13307         Tests for module 'fchmod'.
13308         * modules/fchmod-tests: New file.
13309         * tests/test-fchmod.c: New file.
13310
13311         fchdir tests: EBADF tests.
13312         * tests/test-fchdir.c (main): Add more tests for EBADF.
13313
13314         dup2 tests: EBADF tests.
13315         * tests/test-dup2.c (main): Add more tests for EBADF.
13316
13317         Tests for module 'dup'.
13318         * modules/dup-tests: New file.
13319         * tests/test-dup.c: New file.
13320
13321         Tests for module 'close'.
13322         * modules/close-tests: New file.
13323         * tests/test-close.c: New file.
13324
13325 2011-09-20  Bruno Haible  <bruno@clisp.org>
13326
13327         Tests for module 'shutdown'.
13328         * modules/shutdown-tests: New file.
13329         * tests/test-shutdown.c: New file.
13330
13331         Tests for module 'setsockopt'.
13332         * modules/setsockopt-tests: New file.
13333         * tests/test-setsockopt.c: New file.
13334
13335         Tests for module 'sendto'.
13336         * modules/sendto-tests: New file.
13337         * tests/test-sendto.c: New file.
13338
13339         Tests for module 'send'.
13340         * modules/send-tests: New file.
13341         * tests/test-send.c: New file.
13342
13343         Tests for module 'recvfrom'.
13344         * modules/recvfrom-tests: New file.
13345         * tests/test-recvfrom.c: New file.
13346
13347         Tests for module 'recv'.
13348         * modules/recv-tests: New file.
13349         * tests/test-recv.c: New file.
13350
13351         Tests for module 'listen'.
13352         * modules/listen-tests: New file.
13353         * tests/test-listen.c: New file.
13354
13355         Tests for module 'getsockopt'.
13356         * modules/getsockopt-tests: New file.
13357         * tests/test-getsockopt.c: New file.
13358
13359         Tests for module 'getsockname'.
13360         * modules/getsockname-tests: New file.
13361         * tests/test-getsockname.c: New file.
13362
13363         Tests for module 'getpeername'.
13364         * modules/getpeername-tests: New file.
13365         * tests/test-getpeername.c: New file.
13366
13367         Tests for module 'connect'.
13368         * modules/connect-tests: New file.
13369         * tests/test-connect.c: New file.
13370
13371         Tests for module 'bind'.
13372         * modules/bind-tests: New file.
13373         * tests/test-bind.c: New file.
13374
13375         accept4 tests: Fix for native Windows.
13376         * tests/test-accept4.c: Include sockets.h.
13377         (main): Invoke gl_sockets_startup.
13378         * modules/accept4-tests (Depends-on): Add sockets.
13379
13380         accept tests: Fix for native Windows.
13381         * tests/test-accept.c: Include sockets.h.
13382         (main): Invoke gl_sockets_startup.
13383         * modules/accept-tests (Depends-on): Add sockets.
13384
13385 2011-09-19  Bruno Haible  <bruno@clisp.org>
13386
13387         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
13388         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
13389         do...while(0).
13390         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
13391         Suggested by Paul Eggert.
13392
13393 2011-09-19  Bruno Haible  <bruno@clisp.org>
13394
13395         sched: Ensure pid_t is defined.
13396         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
13397         not define pid_t.
13398         * lib/sched.in.h: Include <sys/types.h>.
13399         * doc/posix-headers/sched.texi: Mention the pid_t problem.
13400         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13401
13402 2011-09-19  Bruno Haible  <bruno@clisp.org>
13403
13404         msvc-inval: Ensure the entire expansion is a single statement.
13405         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
13406         of braces.
13407
13408 2011-09-19  Jim Meyering  <meyering@redhat.com>
13409
13410         tests: use printf, not echo in init.sh's warn_ function
13411         * tests/init.sh (warn_): Use printf, not echo.  The latter would
13412         misbehave when given strings containing a backslash or starting
13413         with e.g., -n.  James Youngman suggested setting IFS.
13414
13415 2011-09-19  Eric Blake  <eblake@redhat.com>
13416
13417         futimens: enhance test
13418         * tests/test-futimens.h (test_futimens): Also check for EBADF on
13419         closed non-negative fd.
13420
13421         date: accept 'hence' as opposite of 'ago'
13422         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
13423         * tests/test-parse-datetime.c (main): Enhance test.
13424         Suggested by Jesse Wilson.
13425
13426 2011-09-19  Jim Meyering  <meyering@redhat.com>
13427
13428         getcwd: don't fail in a deep directory on a system without openat
13429         Before this change, getcwd would fail when called from a directory
13430         of depth PATH_MAX / 3 or greater.  That was due to the fact that
13431         the non-openat implementation used "..", "../..", "../../..", etc.
13432         to access ancestor directories.  With too many, that string would
13433         be longer than PATH_MAX.
13434         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
13435         using gnulib's openat replacement.
13436         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
13437         we're using the replacement function.
13438
13439 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
13440
13441         maint.mk: avoid warnings from perl about missing files
13442         * top/maint.mk (def_sym_regex): Ignore files listed in
13443         $(gl_other_headers_) that do not exist, say because a project
13444         does not use a corresponding module.
13445
13446 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
13447
13448         stat: use pathmax.h only if needed
13449         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
13450         This is better for Emacs, which does not have a mingw port and
13451         therefore can avoid the pathmax module.
13452
13453         utimens: remove dependency on dup2
13454         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
13455         to work around the Linux kernel bug.
13456         * modules/utimens (Depends-on): Remove dup2.
13457
13458 2011-09-18  Bruno Haible  <bruno@clisp.org>
13459
13460         inet_ntop, inet_pton: Look for it also in libresolv.
13461         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
13462         libnsl, search for it in libresolv.
13463         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13464         Needed on Solaris 7.
13465
13466 2011-09-18  Bruno Haible  <bruno@clisp.org>
13467
13468         accept, accept4 tests: Avoid link error on Solaris.
13469         * modules/accept-tests (Makefile.am): Link test-accept against
13470         $(LIBSOCKET).
13471         * modules/accept4-tests (Makefile.am): Link test-accept4 against
13472         $(LIBSOCKET).
13473
13474         accept4: Avoid link error on Solaris.
13475         * modules/accept4 (Link): New section.
13476
13477         socket functions: Avoid link errors on Solaris.
13478         * modules/accept (Depends-on): Add socketlib.
13479         (Link): New section.
13480         * modules/bind (Depends-on): Add socketlib.
13481         (Link): New section.
13482         * modules/connect (Depends-on): Add socketlib.
13483         (Link): New section.
13484         * modules/getpeername (Depends-on): Add socketlib.
13485         (Link): New section.
13486         * modules/getsockname (Depends-on): Add socketlib.
13487         (Link): New section.
13488         * modules/getsockopt (Depends-on): Add socketlib.
13489         (Link): New section.
13490         * modules/listen (Depends-on): Add socketlib.
13491         (Link): New section.
13492         * modules/recv (Depends-on): Add socketlib.
13493         (Link): New section.
13494         * modules/recvfrom (Depends-on): Add socketlib.
13495         (Link): New section.
13496         * modules/send (Depends-on): Add socketlib.
13497         (Link): New section.
13498         * modules/sendto (Depends-on): Add socketlib.
13499         (Link): New section.
13500         * modules/setsockopt (Depends-on): Add socketlib.
13501         (Link): New section.
13502         * modules/shutdown (Depends-on): Add socketlib.
13503         (Link): New section.
13504         * modules/socket (Depends-on): Add socketlib.
13505         (Link): New section.
13506
13507 2011-09-18  Bruno Haible  <bruno@clisp.org>
13508
13509         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
13510         * tests/test-ptsname.c (main): Terminate the test if it takes longer
13511         than 5 seconds.
13512         * modules/ptsname-tests (configure.ac): Test for alarm.
13513
13514 2011-09-18  Bruno Haible  <bruno@clisp.org>
13515
13516         posix_spawn_file_actions_add*: Fix module dependencies.
13517         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
13518         posix_spawn_file_actions_init.
13519         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
13520         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
13521
13522 2011-09-18  Bruno Haible  <bruno@clisp.org>
13523
13524         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
13525         * tests/test-rename.h (test_rename): Allow error code EEXIST.
13526         * tests/test-renameat.c (main): Likewise.
13527
13528 2011-09-18  Bruno Haible  <bruno@clisp.org>
13529
13530         Tests for module 'accept4'.
13531         * modules/accept4-tests: New file.
13532         * tests/test-accept4.c: New file.
13533
13534 2011-09-18  Bruno Haible  <bruno@clisp.org>
13535
13536         Tests for module 'accept'.
13537         * modules/accept-tests: New file.
13538         * tests/test-accept.c: New file.
13539
13540 2011-09-18  Bruno Haible  <bruno@clisp.org>
13541
13542         dup2: Support for MSVC.
13543         * lib/dup2.c: Include msvc-inval.h.
13544         (rpl_dup2): Handle invalid parameter notifications during dup2 and
13545         _get_osfhandle calls.
13546         * modules/dup2 (Depends-on): Add msvc-inval.
13547         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
13548
13549         New module 'msvc-inval'.
13550         * lib/msvc-inval.h: New file.
13551         * lib/msvc-inval.c: New file.
13552         * m4/msvc-inval.m4: New file.
13553         * modules/msvc-inval: New file.
13554
13555 2011-09-17  Bruno Haible  <bruno@clisp.org>
13556
13557         Tests for module 'pclose'.
13558         * modules/pclose-tests: New file.
13559
13560         New module 'pclose'.
13561         * lib/stdio.in.h (pclose): New declaration.
13562         * lib/pclose.c: New file.
13563         * m4/pclose.m4: New file.
13564         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
13565         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
13566         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
13567         * modules/pclose: New file.
13568         * modules/popen-tests (Depends-on): Add pclose.
13569         * modules/popen-safer-tests (Depends-on): Likewise.
13570         * doc/posix-functions/pclose.texi: Mention the new module.
13571
13572 2011-09-17  Bruno Haible  <bruno@clisp.org>
13573
13574         popen: Support for MSVC.
13575         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
13576         * lib/popen.c (popen): Provide alternate definition for native Windows.
13577         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
13578         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
13579         * modules/popen (Depends-on, configure.ac): Update condition.
13580         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
13581         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
13582         fixed.
13583
13584 2011-09-17  Bruno Haible  <bruno@clisp.org>
13585
13586         isnanl, isnand, isnanf: Work around MSVC bug.
13587         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
13588
13589 2011-09-17  Bruno Haible  <bruno@clisp.org>
13590
13591         sys_socket tests: Fix recent mistake.
13592         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
13593
13594 2011-09-17  Bruno Haible  <bruno@clisp.org>
13595
13596         putenv: Support for MSVC.
13597         * modules/putenv (Depends-on): Add environ.
13598         * lib/putenv.c (environ): Disable declaration.
13599         * lib/unistd.in.h: Update comment.
13600
13601 2011-09-17  Bruno Haible  <bruno@clisp.org>
13602
13603         math: Avoid macro redefinition warnings on MSVC.
13604         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
13605         Undefine before redefining.
13606
13607 2011-09-17  Bruno Haible  <bruno@clisp.org>
13608
13609         doc: Mention functions which are declared as macros.
13610         * doc/posix-functions/*[fl].texi: Mention that some functions are
13611         defined as macros with arguments only.
13612
13613 2011-09-17  Bruno Haible  <bruno@clisp.org>
13614
13615         Add dependencies to new dirent related modules.
13616         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
13617         * modules/fts (Depends-on): Likewise.
13618         * modules/glob (Depends-on): Likewise.
13619         * modules/savedir (Depends-on): Likewise.
13620         * modules/scandir (Depends-on): Likewise.
13621         * modules/dirent-safer (Depends-on): Add opendir, closedir.
13622         * modules/fdopendir (Depends-on): Add opendir.
13623
13624 2011-09-17  Bruno Haible  <bruno@clisp.org>
13625
13626         inet_pton: Support for MSVC on Windows Vista or newer.
13627         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
13628         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
13629         HAVE_DECL_INET_PTON is defined.
13630         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13631         On platforms with <winsock2.h>, test whether inet_pton is declared in
13632         <ws2tcpip.h>. If so, arrange to replace it.
13633         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13634         REPLACE_INET_PTON.
13635         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
13636         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
13637         (Depends-on, configure.ac): Update condition.
13638         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
13639
13640 2011-09-17  Bruno Haible  <bruno@clisp.org>
13641
13642         inet_ntop: Support for MSVC on Windows Vista or newer.
13643         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
13644         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
13645         HAVE_DECL_INET_NTOP is defined.
13646         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13647         On platforms with <winsock2.h>, test whether inet_ntop is declared in
13648         <ws2tcpip.h>. If so, arrange to replace it.
13649         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13650         REPLACE_INET_NTOP.
13651         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
13652         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
13653         (Depends-on, configure.ac): Update condition.
13654         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
13655
13656 2011-09-16  Eric Blake  <eblake@redhat.com>
13657
13658         test-fsync: yet another enhancement
13659         * tests/test-fsync.c (main): Also test behavior on read-only text
13660         file.
13661
13662 2011-09-16  Bruno Haible  <bruno@clisp.org>
13663
13664         Enhance fsync, fdatasync tests.
13665         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
13666         * tests/test-fdatasync.c (main): Likewise.
13667
13668 2011-09-16  Bruno Haible  <bruno@clisp.org>
13669
13670         Support for MSVC compiler: Ensure mode_t gets defined.
13671         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
13672         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
13673         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
13674         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
13675         * tests/test-fcntl-h.c: Check that mode_t is defined.
13676         * tests/test-sys_stat.c: Likewise.
13677         * tests/test-sys_types.c: Likewise.
13678         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
13679         * doc/posix-headers/sys_stat.texi: Likewise.
13680         * doc/posix-headers/sys_types.texi: Likewise.
13681
13682 2011-09-16  Bruno Haible  <bruno@clisp.org>
13683
13684         sys_stat: Support for MSVC.
13685         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
13686         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
13687         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
13688         MSVC.
13689
13690 2011-09-16  Bruno Haible  <bruno@clisp.org>
13691
13692         Support for MSVC compiler: Ensure off_t gets defined.
13693         * lib/unistd.in.h: Include <sys/types.h>.
13694         * tests/test-fcntl-h.c: Check that off_t is defined.
13695         * tests/test-sys_stat.c: Likewise.
13696         * tests/test-sys_types.c: Likewise.
13697
13698 2011-09-16  Eric Blake  <eblake@redhat.com>
13699
13700         fdatasync: port to Solaris
13701         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
13702         * modules/fdatasync (Link): Document it.
13703         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
13704
13705         fdatasync: port to MacOS X 10.7
13706         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
13707         declared.
13708         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
13709         * modules/unistd (Makefile.am): Substitute it.
13710         * lib/unistd.in.h (fdatasync): Declare on MacOS.
13711         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
13712
13713         fdatasync: minor improvements
13714         * modules/fdatasync (Depends-on): Add condition for fsync.
13715         * lib/fdatasync.c (fdatasync): Add comment.
13716         * tests/test-unistd-c++.cc: Test fdatasync.
13717
13718         unistd: update refs to newer POSIX
13719         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
13720         Suggested by Bruno Haible.
13721
13722         fdatasync: new module
13723         * modules/fsync (Description): Document difference to fdatasync.
13724         * modules/fdatasync: New module.
13725         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
13726         * lib/fdatasync.c (fdatasync): Likewise.
13727         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
13728         defaults.
13729         * modules/unistd (Makefile.am): Set witnesses.
13730         * lib/unistd.in.h (fdatasync): Declare.
13731         * MODULES.html.sh: Document it.
13732         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
13733         * modules/fdatasync-tests: New test.
13734         * tests/test-fdatasync.c: Likewise.
13735
13736 2011-09-16  Eric Blake  <eblake@redhat.com>
13737
13738         test-fsync: enhance tests
13739         * modules/fsync-tests (Depends-on): Add errno, for mingw.
13740         * tests/test-fsync.c (main): Enhance test.
13741
13742 2011-09-15  Bruno Haible  <bruno@clisp.org>
13743
13744         Support for MSVC compiler: Ensure ssize_t gets defined.
13745         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
13746         * doc/posix-headers/stdio.texi: Likewise.
13747         * modules/stdio (Depends-on): Add ssize_t.
13748         * modules/sys_socket (Depends-on): Likewise.
13749         * modules/sys_types (Depends-on): Likewise.
13750         * modules/sys_uio (Depends-on): Likewise.
13751         * modules/unistd (Depends-on): Likewise.
13752         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
13753         * tests/test-sys_types.c: Check that ssize_t is defined.
13754
13755 2011-09-14  Bruno Haible  <bruno@clisp.org>
13756
13757         Avoid using #, the m4 comment starter character, near brackets.
13758         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
13759         delimiter character in sed expressions.
13760         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
13761         Suggested by Eric Blake.
13762
13763         Properly quote AC_CHECK_DECLS' 4th argument.
13764         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
13765         argument.
13766         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
13767         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13768         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
13769         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
13770         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
13771         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
13772         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
13773         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
13774         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
13775         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
13776         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
13777         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13778         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
13779         * m4/isinf.m4 (gl_ISINF): Likewise.
13780         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
13781         * m4/readutmp.m4 (gl_READUTMP): Likewise.
13782         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
13783         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
13784         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
13785         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
13786         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
13787         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
13788         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
13789         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
13790         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13791         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13792         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
13793         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
13794         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
13795         Reported by Eric Blake.
13796
13797         Properly quote AC_CHECK_DECL's 4th argument.
13798         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
13799         argument.
13800         * m4/argp.m4 (gl_ARGP): Likewise.
13801         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
13802         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
13803         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
13804         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
13805         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
13806         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
13807         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
13808         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
13809         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
13810         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
13811         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
13812         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
13813         Reported by Eric Blake.
13814
13815 2011-09-14  Eric Blake  <eblake@redhat.com>
13816
13817         opendir: avoid compile warning
13818         * lib/opendir.c (includes): Always include errno.h.
13819         Reported by Tatsuro MATSUOKA.
13820
13821 2011-09-14  Jim Meyering  <meyering@redhat.com>
13822
13823         maint.mk: sc_tight_scope: propagate failure from sub-make
13824         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
13825         Reported by Martin von Gagern.
13826
13827 2011-09-13  Bruno Haible  <bruno@clisp.org>
13828
13829         tempname: Support for MSVC.
13830         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
13831         MSVC.
13832         * modules/tempname (Depends-on): Add fcntl-h.
13833
13834 2011-09-13  Bruno Haible  <bruno@clisp.org>
13835
13836         sys_time: Support for MSVC.
13837         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
13838         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
13839         include <winsock2.h>.
13840         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
13841         function declarations that collide with POSIX.
13842         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
13843         (Makefile.am): Substitute HAVE_WINSOCK2_H.
13844
13845 2011-09-13  Bruno Haible  <bruno@clisp.org>
13846
13847         stat: Support for MSVC.
13848         * lib/stat.c: Include pathmax.h.
13849         * modules/stat (Depends-on): Add pathmax.
13850
13851         pathmax: Support for native Windows.
13852         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
13853
13854 2011-09-12  Bruno Haible  <bruno@clisp.org>
13855
13856         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
13857         * lib/dirent.in.h (struct dirent): New type.
13858         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
13859         DT_WHT): New macros.
13860         (DIR): New type.
13861         (opendir, closedir): Declare only if the module 'opendir' is enabled.
13862         (readdir, rewinddir): New declarations.
13863         * lib/dirent-private.h: New file.
13864         * lib/opendir.c: New file.
13865         * lib/readdir.c: New file.
13866         * lib/rewinddir.c: New file.
13867         * lib/closedir.c: New file.
13868         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
13869         * m4/opendir.m4: New file.
13870         * m4/readdir.m4: New file.
13871         * m4/rewinddir.m4: New file.
13872         * m4/closedir.m4: New file.
13873         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
13874         REPLACE_CLOSEDIR here.
13875         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
13876         readdir, rewinddir are declared.
13877         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
13878         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
13879         HAVE_REWINDDIR, HAVE_CLOSEDIR.
13880         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
13881         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
13882         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
13883         * modules/opendir: New file.
13884         * modules/readdir: New file.
13885         * modules/rewinddir: New file.
13886         * modules/closedir: New file.
13887         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
13888         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
13889         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
13890         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
13891         * NEWS: Mention the 'fchdir' change.
13892
13893 2011-09-11  Bruno Haible  <bruno@clisp.org>
13894
13895         asm-underscore.m4: Support for MSVC.
13896         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
13897         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
13898
13899 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
13900
13901         Doc about crypt functions.
13902         * doc/posix-functions/crypt.texi: Expand range of glibc versions
13903         needing for _GNU_SOURCE to get crypt.
13904         * doc/posix-functions/encrypt.texi: Likewise.
13905         * doc/posix-functions/setkey.texi: Likewise.
13906
13907 2011-09-11  Bruno Haible  <bruno@clisp.org>
13908
13909         doc: Update regarding MSVC 9.
13910         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
13911         tested".
13912         * doc/posix-functions/*.texi: Update with info about MSVC 9.
13913         * doc/posix-headers/*.texi: Likewise.
13914         * doc/pastposix-functions/*.texi: Likewise.
13915         * doc/glibc-functions/*.texi: Likewise.
13916         * doc/glibc-headers/*.texi: Likewise.
13917
13918 2011-09-11  Bruno Haible  <bruno@clisp.org>
13919
13920         unistd et al.: Don't assume <unistd.h> exists.
13921         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
13922         does not exist.
13923         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
13924         exist. But include <stdlib.h>.
13925         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
13926         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
13927         symlink() does not exist.
13928         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
13929         include <io.h> instead.
13930         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
13931         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
13932         include <direct.h> instead.
13933         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
13934         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13935         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
13936         <io.h> instead.
13937         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
13938         correctly if the system does not have hard links.
13939         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
13940         <direct.h> instead.
13941         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
13942         it when looking for function declarations.
13943         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
13944         <direct.h> and <io.h> instead.
13945         * doc/posix-headers/unistd.texi: More details about MSVC problem.
13946
13947 2011-09-11  Bruno Haible  <bruno@clisp.org>
13948
13949         strcase: Support for MSVC.
13950         * modules/strcase (Status, Notice): Remove obsoletion mark.
13951         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
13952         * doc/posix-functions/strncasecmp.texi: Likewise.
13953
13954         strings: Don't assume <strings.h> exists.
13955         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
13956         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
13957         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
13958         * doc/posix-headers/strings.texi: Mention the MSVC problem.
13959
13960 2011-09-11  Bruno Haible  <bruno@clisp.org>
13961
13962         dirent: Don't assume <dirent.h> exists.
13963         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
13964         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
13965         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
13966         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
13967
13968 2011-09-11  Bruno Haible  <bruno@clisp.org>
13969
13970         Fix wint_t on MSVC.
13971         * lib/wchar.in.h (wint_t): On MSVC, override it.
13972         * lib/wctype.in.h (wint_t): Likewise.
13973         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
13974         MSVC.
13975         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
13976         * doc/posix-headers/wctype.texi: Likewise.
13977
13978 2011-09-11  Bruno Haible  <bruno@clisp.org>
13979
13980         sys_types: Fix typo.
13981         * lib/sys_types.in.h: Fix typo in comment.
13982         Reported by Paul Eggert.
13983
13984         Support for MSVC compiler: Ensure size_t gets defined.
13985         * modules/strings (Depends-on): Add 'sys_types'.
13986         * modules/sys_uio (Depends-on): Likewise.
13987         * lib/sys_uio.in.h: Update comment.
13988
13989         C++ tests for module 'sys_types'.
13990         * modules/sys_types-c++-tests: New file.
13991         * tests/test-sys_types-c++.cc: New file.
13992
13993         Tests for module 'sys_types'.
13994         * modules/sys_types-tests: New file.
13995         * tests/test-sys_types.c: New file.
13996
13997         New module 'sys_types'.
13998         * lib/sys_types.in.h: New file.
13999         * m4/sys_types_h.m4: New file.
14000         * modules/sys_types: New file.
14001         * doc/posix-headers/sys_types.texi: Mention the new module and the
14002         size_t problem on MSVC 9.
14003
14004 2011-09-11  Bruno Haible  <bruno@clisp.org>
14005
14006         Support for MSVC compiler: Avoid division by a literal 0.
14007         * lib/math.in.h (NAN): Define through a function call also on MSVC.
14008         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
14009         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
14010         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
14011         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
14012         * tests/infinity.h: New file.
14013         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
14014         on MSVC.
14015         * tests/test-ceilf1.c: Include infinity.h.
14016         (main): Use Infinityf.
14017         * tests/test-ceil1.c: Include infinity.h.
14018         (main): Use Infinityd.
14019         * tests/test-ceill.c: Include infinity.h.
14020         (main): Use Infinityl.
14021         * tests/test-dprintf-posix.c: Include infinity.h.
14022         (test_function): Use Infinityd.
14023         * tests/test-floorf1.c: Include infinity.h.
14024         (main): Use Infinityf.
14025         * tests/test-floor1.c: Include infinity.h.
14026         (main): Use Infinityd.
14027         * tests/test-floorl.c: Include infinity.h.
14028         (main): Use Infinityl.
14029         * tests/test-fprintf-posix.c: Include infinity.h.
14030         (test_function): Use Infinityd.
14031         * tests/test-frexp.c: Include infinity.h.
14032         (main): Use Infinityd.
14033         * tests/test-frexpl.c: Include infinity.h.
14034         (main): Use Infinityl.
14035         * tests/test-isfinite.c: Include infinity.h.
14036         (test_isfinitef): Use Infinityf.
14037         (test_isfinited): Use Infinityd.
14038         (test_isfinitel): Use Infinityl.
14039         * tests/test-isinf.c: Include infinity.h.
14040         (test_isinff): Use Infinityf.
14041         (test_isinfd): Use Infinityd.
14042         (test_isinfl): Use Infinityl.
14043         * tests/test-isnan.c: Include infinity.h.
14044         (test_float): Use Infinityf.
14045         (test_double): Use Infinityd.
14046         (test_long_double): Use Infinityl.
14047         * tests/test-isnanf.h: Include infinity.h.
14048         (main): Use Infinityf.
14049         * tests/test-isnand.h: Include infinity.h.
14050         (main): Use Infinityd.
14051         * tests/test-isnanl.h: Include infinity.h.
14052         (main): Use Infinityl.
14053         * tests/test-ldexpl.c: Include infinity.h.
14054         (main): Use Infinityl.
14055         * tests/test-printf-posix.h: Include infinity.h.
14056         (test_function): Use Infinityd.
14057         * tests/test-roundf1.c: Include infinity.h.
14058         (main): Use Infinityf.
14059         * tests/test-round1.c: Include infinity.h.
14060         (main): Use Infinityd.
14061         * tests/test-roundl.c: Include infinity.h.
14062         (main): Use Infinityl.
14063         * tests/test-signbit.c: Include infinity.h.
14064         (test_signbitf): Use Infinityf.
14065         (test_signbitd): Use Infinityd.
14066         (test_signbitl): Use Infinityl.
14067         * tests/test-snprintf-posix.h: Include infinity.h.
14068         (test_function): Use Infinityd, Infinityl.
14069         * tests/test-sprintf-posix.h: Include infinity.h.
14070         (test_function): Use Infinityd, Infinityl.
14071         * tests/test-truncf1.c: Include infinity.h.
14072         (main): Use Infinityf.
14073         * tests/test-trunc1.c: Include infinity.h.
14074         (main): Use Infinityd.
14075         * tests/test-truncl.c: Include infinity.h.
14076         (main): Use Infinityl.
14077         * tests/test-vasnprintf-posix.c: Include infinity.h.
14078         (test_function): Use Infinityd, Infinityl.
14079         * tests/test-vasprintf-posix.c: Include infinity.h.
14080         (test_function): Use Infinityd, Infinityl.
14081         * modules/ceilf-tests (Files): Add tests/infinity.h.
14082         * modules/ceil-tests (Files): Likewise.
14083         * modules/ceill-tests (Files): Likewise.
14084         * modules/dprintf-posix-tests (Files): Likewise.
14085         * modules/floorf-tests (Files): Likewise.
14086         * modules/floor-tests (Files): Likewise.
14087         * modules/floorl-tests (Files): Likewise.
14088         * modules/fprintf-posix-tests (Files): Likewise.
14089         * modules/frexp-tests (Files): Likewise.
14090         * modules/frexp-nolibm-tests (Files): Likewise.
14091         * modules/frexpl-tests (Files): Likewise.
14092         * modules/frexpl-nolibm-tests (Files): Likewise.
14093         * modules/isfinite-tests (Files): Likewise.
14094         * modules/isinf-tests (Files): Likewise.
14095         * modules/isnan-tests (Files): Likewise.
14096         * modules/isnanf-tests (Files): Likewise.
14097         * modules/isnanf-nolibm-tests (Files): Likewise.
14098         * modules/isnand-tests (Files): Likewise.
14099         * modules/isnand-nolibm-tests (Files): Likewise.
14100         * modules/isnanl-tests (Files): Likewise.
14101         * modules/isnanl-nolibm-tests (Files): Likewise.
14102         * modules/ldexpl-tests (Files): Likewise.
14103         * modules/printf-posix-tests (Files): Likewise.
14104         * modules/roundf-tests (Files): Likewise.
14105         * modules/round-tests (Files): Likewise.
14106         * modules/roundl-tests (Files): Likewise.
14107         * modules/signbit-tests (Files): Likewise.
14108         * modules/snprintf-posix-tests (Files): Likewise.
14109         * modules/sprintf-posix-tests (Files): Likewise.
14110         * modules/truncf-tests (Files): Likewise.
14111         * modules/trunc-tests (Files): Likewise.
14112         * modules/truncl-tests (Files): Likewise.
14113         * modules/vasnprintf-posix-tests (Files): Likewise.
14114         * modules/vasprintf-posix-tests (Files): Likewise.
14115         * modules/vdprintf-posix-tests (Files): Likewise.
14116         * modules/vfprintf-posix-tests (Files): Likewise.
14117         * modules/vprintf-posix-tests (Files): Likewise.
14118         * modules/vsnprintf-posix-tests (Files): Likewise.
14119         * modules/vsprintf-posix-tests (Files): Likewise.
14120         * modules/xprintf-posix-tests (Files): Likewise.
14121
14122 2011-09-11  Bruno Haible  <bruno@clisp.org>
14123
14124         Ensure pid_t gets defined.
14125         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
14126         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
14127         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
14128         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14129         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
14130         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
14131         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
14132         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14133         * tests/test-fcntl-h.c: Check that pid_t is defined.
14134         * tests/test-sched.c: Likewise.
14135         * tests/test-termios.c: Likewise.
14136         * tests/test-time.c: Likewise.
14137         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
14138         * doc/posix-headers/signal.texi: Likewise.
14139         * doc/posix-headers/sys_types.texi: Likewise.
14140         * doc/posix-headers/time.texi: Likewise.
14141
14142 2011-09-11  Bruno Haible  <bruno@clisp.org>
14143
14144         acl: Fix compilation on Solaris 10 (older version).
14145         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
14146         of ACE_EVERYONE.
14147         * lib/set-mode-acl.c (qset_acl): Likewise.
14148         Reported by Christian Jullien <eligis@orange.fr>.
14149
14150 2011-09-10  Bruno Haible  <bruno@clisp.org>
14151
14152         iconv, unsetenv: Add support for MSVC compiler.
14153         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
14154         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
14155
14156 2011-09-10  Bruno Haible  <bruno@clisp.org>
14157
14158         *printf: Add support for MSVC compiler.
14159         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
14160         handles the exception caused by the %n directive. When cross-compiling,
14161         guess no on native Windows.
14162         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
14163         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
14164         emulate it through vsnprintf.
14165         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
14166         * doc/posix-functions/dprintf.texi: Update documentation regarding
14167         MSVC 9.
14168         * doc/posix-functions/fprintf.texi: Likewise.
14169         * doc/posix-functions/printf.texi: Likewise.
14170         * doc/posix-functions/snprintf.texi: Likewise.
14171         * doc/posix-functions/sprintf.texi: Likewise.
14172         * doc/posix-functions/swprintf.texi: Likewise.
14173         * doc/posix-functions/vdprintf.texi: Likewise.
14174         * doc/posix-functions/vfprintf.texi: Likewise.
14175         * doc/posix-functions/vprintf.texi: Likewise.
14176         * doc/posix-functions/vsnprintf.texi: Likewise.
14177         * doc/posix-functions/vsprintf.texi: Likewise.
14178         * doc/glibc-functions/asprintf.texi: Likewise.
14179         * doc/glibc-functions/obstack_printf.texi: Likewise.
14180         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
14181         * doc/glibc-functions/vasprintf.texi: Likewise.
14182
14183 2011-09-10  Bruno Haible  <bruno@clisp.org>
14184
14185         nocrash: Add support for native Windows.
14186         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
14187
14188 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
14189             Bruno Haible  <bruno@clisp.org>
14190
14191         absolute-header, include-next: Add support for MSVC compiler.
14192         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
14193         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
14194         directory separator in #line directives.
14195         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
14196         recognize also backslash as directory separator in #line directives.
14197
14198 2011-09-08  Jim Meyering  <meyering@redhat.com>
14199
14200         maint.mk: mark the post-release commit log with "maint: " prefix
14201         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
14202         one-line commit-log summary.
14203
14204 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
14205             Bruno Haible  <bruno@clisp.org>
14206
14207         Doc about crypt functions.
14208         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
14209         systems.
14210         * doc/posix-functions/encrypt.texi: Likewise.
14211         * doc/posix-functions/setkey.texi: Likewise.
14212
14213 2011-09-08  Simon Josefsson  <simon@josefsson.org>
14214
14215         * lib/gc.h: Fix copyright header.
14216
14217 2011-09-07  Bruno Haible  <bruno@clisp.org>
14218
14219         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
14220         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
14221         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
14222
14223 2011-09-07  Bruno Haible  <bruno@clisp.org>
14224
14225         openat: Work around compilation error with OSF/1 5.1 DTK cc.
14226         * lib/fopen.c: Use different syntax for include of <stdio.h>.
14227         * lib/freopen.c: Likewise.
14228         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
14229         * lib/lstat.c: Likewise.
14230         * lib/stat.c: Likewise.
14231         * lib/open.c: Use different syntax for include of <fcntl.h>.
14232         * lib/openat.c: Include fcntl.h again, explicitly.
14233
14234 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
14235
14236         parse-datetime: document the newly accepted format
14237         * doc/parse-datetime.texi (Combined date and time of day items):
14238         New section.
14239
14240 2011-09-06  Bruno Haible  <bruno@clisp.org>
14241
14242         acl: Fix a test failure on newer Solaris 10 with ZFS.
14243         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
14244         ENOSYS as no ACL.
14245         Reported by Jim Meyering.
14246
14247 2011-09-06  Bruno Haible  <bruno@clisp.org>
14248
14249         acl: Update for AIX >= 5.3 with NFS.
14250         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
14251         ENOSYS as no ACL.
14252
14253         acl: Fix a test failure on AIX >= 5.3 with NFS.
14254         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
14255         as no ACL.
14256
14257 2011-09-06  Bruno Haible  <bruno@clisp.org>
14258
14259         acl: Fix a test failure on IRIX 6.5 with NFS.
14260         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
14261         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
14262         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
14263         * lib/copy-acl.c (qcopy_acl): Likewise.
14264
14265 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
14266
14267         openat: port to AIX 7.1 with large files
14268         AIX 7.1 does a "#define openat open64at" if large files are in use,
14269         so we can't simply #undef openat.  Use the orig_openat trick (similar
14270         to orig_open in lib/open.c) to work around the problem.  Problem
14271         reported by Kevin Brott for GNU tar, in the thread containing
14272         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
14273         * lib/openat.c (__need_system_fcntl_h): Define first.
14274         Include <fcntl.h> and <sys/types.h> before undefining.
14275         (orig_openat) [HAVE_OPENAT]: New inline function.
14276         (openat) [HAVE_OPENAT]: Do not undef.
14277         (rpl_openat): Use orig_openat, not openat.
14278
14279 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
14280             Bruno Haible  <bruno@clisp.org>
14281
14282         acl: Avoid errors on NonStop Kernel.
14283         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
14284         ENOTSUP errors.
14285
14286 2011-09-05  Bruno Haible  <bruno@clisp.org>
14287
14288         acl: Clean up Solaris code.
14289         * lib/acl-internal.h: Remove no-op #if.
14290         * lib/file-has-acl.c: Likewise.
14291         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
14292         * lib/copy-acl.c (qcopy_acl): Likewise.
14293
14294 2011-09-05  Bruno Haible  <bruno@clisp.org>
14295
14296         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
14297         binaries built on the original Solaris 10.
14298         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
14299         trivial.
14300
14301 2011-09-05  Bruno Haible  <bruno@clisp.org>
14302
14303         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14304         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
14305         10.
14306         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
14307         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
14308         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
14309         instead of acl_get, facl_get, acl_set, facl_set.
14310
14311 2011-09-05  Bruno Haible  <bruno@clisp.org>
14312
14313         copy-file: Try unit tests on more file systems.
14314         * tests/test-copy-file-1.sh: New file.
14315         * tests/test-copy-file-2.sh: New file.
14316         * modules/copy-file-tests (Files): Add them.
14317         (Makefile.am): Add them to TESTS.
14318
14319         acl: Try unit tests on more file systems.
14320         * tests/test-file-has-acl-1.sh: New file.
14321         * tests/test-file-has-acl-2.sh: New file.
14322         * tests/test-set-mode-acl-1.sh: New file.
14323         * tests/test-set-mode-acl-2.sh: New file.
14324         * tests/test-copy-acl-1.sh: New file.
14325         * tests/test-copy-acl-2.sh: New file.
14326         * modules/acl-tests (Files): Add them.
14327         (Makefile.am): Add them to TESTS.
14328
14329 2011-09-04  Bruno Haible  <bruno@clisp.org>
14330
14331         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14332         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
14333         10.
14334         (OLD_ALLOW, OLD_DENY): New macros.
14335         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
14336         ACE_ACCESS_ALLOWED_ACE_TYPE.
14337         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
14338         ACE_ACCESS_DENIED_ACE_TYPE.
14339         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
14340         (NEW_ACE_EXECUTE): Fix value.
14341         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
14342         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
14343         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
14344         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
14345         NEW_ACE_SYNCHRONIZE): New macros.
14346         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
14347         instead of acl_fromtext, acl_set, facl_set.
14348         Fixes a coreutils/tests/cp/perm failure.
14349
14350 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
14351
14352         openat: test for fstatat (..., 0) bug
14353         Further testing with tar suggests that fstatat (..., 0)
14354         does not work in general, on AIX 7.1; see
14355         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
14356         So, give up entirely on AIX 7.1's fstatat, and fall back on our
14357         replacement fstatat (which is what older AIX releases were using
14358         anyway).
14359         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
14360         use is now changed to orig_fstatat.  This was probably the right
14361         thing to do anyway.
14362         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
14363         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
14364         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
14365         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
14366         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
14367         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
14368         if the bug is found.
14369
14370         openat: test for fstatat (AT_FDCWD, ..., 0) bug
14371         This tests for another fstatat bug on AIX 7.1:
14372         fstatat (AT_FDCWD, ..., 0) does not work.  See
14373         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
14374         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
14375         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
14376         (rpl_fstatat): Adjust so that it works around either (or both)
14377         bugs if present.
14378         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
14379
14380 2011-09-03  Karl Berry  <karl@gnu.org>
14381
14382         * doc/regex.texi (Character Class Operators): Avoid literal ":"
14383         in index entries.
14384
14385 2011-09-02  Bruno Haible  <bruno@clisp.org>
14386
14387         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
14388         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
14389         values of AR, ARFLAGS, RANLIB.
14390         Reported by John W. Eaton <jwe@gnu.org> for Octave.
14391
14392 2011-09-02  Bruno Haible  <bruno@clisp.org>
14393
14394         Find 'ar' program that fits with --host argument.
14395         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
14396
14397 2011-09-02  Bruno Haible  <bruno@clisp.org>
14398
14399         tests: init.sh: Support any non-GNU diff.
14400         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
14401         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
14402         Solaris 8.
14403
14404 2011-09-02  Bruno Haible  <bruno@clisp.org>
14405
14406         tests: init.sh: work also with any non-GNU diff that supports -u
14407         * tests/init.sh: Relax check for diff -u support.
14408         Rather than checking for GNU diff via --version, simply check
14409         for support for -u itself.  Useful at least on OpenBSD 4.9,
14410         AIX 7.1, IRIX 6.5, and Solaris 10.
14411
14412 2011-09-01  Bruno Haible  <bruno@clisp.org>
14413
14414         strtoimax, strtoumax: Document problem on HP-UX 11.
14415         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
14416         * doc/posix-functions/strtoumax.texi: Likewise.
14417
14418 2011-09-01  Bruno Haible  <bruno@clisp.org>
14419
14420         strtoumax: Avoid link error on OSF/1 with DTK cc.
14421         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
14422         defined as a function.
14423         * modules/strtoumax (Depends-on, configure.ac): Test only whether
14424         strtoumax is defined, not whether it is declared.
14425
14426 2011-09-01  Bruno Haible  <bruno@clisp.org>
14427
14428         strtoimax: Avoid link error on OSF/1 with DTK cc.
14429         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
14430         defined as a function.
14431         * modules/strtoimax (Depends-on, configure.ac): Test only whether
14432         strtoimax is defined, not whether it is declared.
14433
14434 2011-09-01  Bruno Haible  <bruno@clisp.org>
14435
14436         imaxdiv: Avoid link error on OSF/1 with DTK cc.
14437         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
14438         as a function.
14439         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
14440         whether it is declared.
14441
14442 2011-09-01  Bruno Haible  <bruno@clisp.org>
14443
14444         imaxabs: Avoid link error on OSF/1 with DTK cc.
14445         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
14446         as a function.
14447         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
14448         whether it is declared.
14449
14450 2011-09-01  Bruno Haible  <bruno@clisp.org>
14451
14452         Tests for module 'strtoumax'.
14453         * modules/strtoumax-tests: New file.
14454         * tests/test-strtoumax.c: New file.
14455
14456         Tests for module 'strtoimax'.
14457         * modules/strtoimax-tests: New file.
14458         * tests/test-strtoimax.c: New file.
14459
14460         Tests for module 'imaxdiv'.
14461         * modules/imaxdiv-tests: New file.
14462         * tests/test-imaxdiv.c: New file.
14463
14464         Tests for module 'imaxabs'.
14465         * modules/imaxabs-tests: New file.
14466         * tests/test-imaxabs.c: New file.
14467
14468 2011-09-01  Bruno Haible  <bruno@clisp.org>
14469
14470         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
14471         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
14472         pthread_create.
14473
14474 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14475
14476         openat: work around AIX 7.1 fstatat issue
14477         This should fix the problem that was not properly fixed
14478         in the previous change, dated 2011-08-30.
14479         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
14480         __need_system_stat_h defined.
14481         (orig_fstatat) [HAVE_FSTATAT]: New function.
14482         (rpl_fstatat): Go back to the old way of doing things,
14483         except call orig_fstatat instead of fstatat.
14484         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
14485         Remove unnecessary check whether fstatat fills in st_size etc.
14486
14487 2011-09-01  Bruno Haible  <bruno@clisp.org>
14488
14489         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
14490         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
14491         just include the system's header.
14492
14493 2011-08-31  Jim Meyering  <meyering@redhat.com>
14494
14495         tests: avoid spurious assertion failure in test-float.c on ppc64
14496         * tests/test-float.c (test_long_double): Comment out an assertion,
14497         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
14498         with gcc-4.4.4.
14499
14500         maint: indent with spaces, not TABs
14501         I need to get in the habit of running gnulib's "make check".
14502         Both of these would have been caught.
14503         * m4/largefile.m4: Indent with spaces, not TABs.
14504         * lib/parse-datetime.y (iso_8601_time): Likewise.
14505         Spotted by Pádraig Brady.
14506
14507         test-parse-datetime.c: accommodate a relatively strict gcc warning
14508         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
14509         to avoid a warning from gcc's -Werror=missing-declarations.
14510         Insert a few spaces-before-funcall-parenthesis.
14511
14512 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
14513
14514         parse-datetime: accept ISO 8601 date and time rep with "T" separator
14515         The parser now accepts ISO 8601 date-time strings with "T" as the
14516         separator.  It has long parsed dates like "2004-02-29 16:21:42"
14517         with a space between the date and time strings.  Now it also parses
14518         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
14519         variants like "2004-02-29T16:21:42.333-07:00"
14520         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
14521         of day representation using the 'T' separator character.
14522         * doc/parse-datetime.texi (General date syntax): replace use of
14523         deprecated --iso-8601 option with --rfc-3339 in example of date
14524         command output formats that can be parsed.
14525         * tests/test-parse-datetime.c (tm_diff): New function, taken from
14526         lib/parse-datetime.y.
14527         (gmt_offset): New function.
14528         (main): Add additional test cases to validate ISO8601 extended
14529         date and time of day parsing.
14530
14531 2011-08-31  Bruno Haible  <bruno@clisp.org>
14532
14533         freopen: Documentation.
14534         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
14535         name.
14536         Reported by Claudio Bley <claudio.bley@gmail.com>.
14537
14538 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
14539
14540         freopen: Don't crash if the filename argument is NULL.
14541         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
14542         NULL.
14543
14544 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
14545
14546         openat: work around AIX 7.1 fstatat bug
14547         Problem reported by Kevin Brott for GNU tar, in the thread containing
14548         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
14549         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
14550         FSTATAT_ST_SIZE_ETC_BROKEN.
14551         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
14552         rpl_fstatat.
14553         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
14554         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
14555         AC_CHECK_FUNCS_ONCE for fstatat.
14556         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
14557         fchmodat, mkdirat, openat and unlinkat.
14558
14559 2011-08-30  Bruno Haible  <bruno@clisp.org>
14560
14561         Avoid endless recursions if config.h includes some header files.
14562         * lib/fopen.c (__need_FILE): Define already before including config.h.
14563         * lib/freopen.c (__need_FILE): Likewise.
14564         * lib/open.c (__need_system_fcntl_h): Likewise.
14565         * lib/stat.c (__need_system_sys_stat_h): Likewise.
14566         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
14567         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
14568
14569 2011-08-25  Karl Berry  <karl@gnu.org>
14570
14571         * config/srclist.txt (ylwrap): new try.
14572         * build-aux/ylwrap: new file.
14573
14574 2011-08-23  Bruno Haible  <bruno@clisp.org>
14575
14576         tmpdir: Use a good default directory on native Windows.
14577         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
14578         (P_tmpdir): Default to _P_tmpdir on native Windows.
14579         (path_search): On native Windows, try the value returned by GetTempPath
14580         before trying P_tmpdir.
14581         * modules/tmpdir (Depends-on): Add pathmax.
14582         Suggested by John Darrington <john@darrington.wattle.id.au>.
14583
14584 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
14585
14586         doc: fix typo in README-release
14587         * top/README-release: Capitalize first word of a sentence.
14588
14589 2011-08-19  Jim Meyering  <meyering@redhat.com>
14590
14591         fts: do not exhaust memory when processing million-entry directories
14592         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
14593         directory would require about 256*N bytes of memory.  Thus, it was
14594         easy to construct a directory too large to be processed by any of
14595         those tools.  With this change, fts' maximum memory utilization is
14596         now limited to around 30MB.
14597         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
14598         (fts_read): When we've processed the final entry (i.e., when
14599         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
14600         using the parent entry to read any remaining entries.  Dispatch
14601         depending on what fts_build returns:
14602         - NULL+stop, aka failure: stop
14603         - NULL otherwise: move up in the dir hierarchy
14604         - non-NULL: handle this new entry
14605         (fts_build): Declare and use new local, continue_readdir.
14606         Prepare to be called from fts_read, when the entries
14607         from a partially-read directory have just been exhausted.
14608         In that case, we'll skip the opendir and instead use the parent's
14609         fts_dirp and derive dir_fd from that.
14610         Finally, in the readdir loop, if we read max_entries entries,
14611         exit the loop ensuring *not* to call closedir.  This is required
14612         so that fts_dirp can be reused on a subsequent call.
14613         Prompted by Ben England's report of memory exhaustion in find
14614         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
14615
14616         maint: fts: move decl of `dp' down into while loop; split a long line
14617         * lib/fts.c (fts_build): No semantic change.
14618
14619         fts: add/use new struct member, fts_dirp
14620         We are about to use this to manage any directory with
14621         too many entries to read all of them into memory at once.
14622         To do that, we'll need to save the DIR* pointer in each
14623         affected FTSENT struct.
14624         * lib/fts_.h: Include <dirent.h>.
14625         (struct FTSENT) [fts_dirp]: New member.
14626         * lib/fts.c (closedir_and_clear): Define.
14627         Use it in place of closedir so that we are sure to
14628         clear the new fts_dirp member when done with it.
14629         (fts_alloc): Initialize the new member.
14630         (fts_lfree): Free, if needed.
14631
14632         maint: fts: give __opendir2 a new parameter and rename
14633         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
14634         than surreptitiously using sole caller's "dir_fd".
14635         (fts_opendir): Rename from __opendir2.
14636
14637         maint: fts.c: remove __opendir2's now-unused parameter, oflag
14638         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
14639
14640         maint: fts.c: correct off-by-one indentation
14641         * lib/fts.c (fts_build): Correct indentation, change style
14642         of a couple of block comments, and bracing style.
14643
14644         maint: fts.c: move __opendir2 #define "up" out of function body
14645         * lib/fts.c (__opendir2): Move "up".  No semantic change.
14646
14647         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
14648         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
14649         out for a long time and besides was useful only on BSD systems.
14650
14651 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
14652
14653         regex: port to Stratus OpenVOS
14654         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
14655         define to empty, rather than attempting nonportable optimizations.
14656         Problem reported by Paul Green in:
14657         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
14658         and fix suggested by Eric Blake in:
14659         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
14660
14661 2011-08-17  Eric Blake  <eblake@redhat.com>
14662
14663         getcwd: fix test failures on mingw
14664         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
14665         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
14666         test if long directory cannot be created, and allow mingw errno.
14667
14668         getcwd-lgpl: fix m4 to match relaxed test for BSD
14669         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
14670         (gl_FUNC_GETCWD_SIGNATURE): New macro.
14671         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
14672         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
14673         signature problem.
14674
14675         getcwd: fix compilation on mingw64
14676         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
14677         getcwd.
14678         Reported by Marc-André Lureau.
14679
14680         pipe2: silence compiler warning
14681         * lib/pipe2.c (pipe2): Hide label if it is not used.
14682
14683 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
14684
14685         relocatable-prog: fix link error
14686         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
14687         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
14688         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
14689         into modules/relocatable-lib without noticing that
14690         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
14691         also needs to build relocatable.c.
14692
14693 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14694
14695         getaddrinfo: fix sh typo in gai_strerrorA decl checking
14696         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
14697         shell code: it contained a 'break' that was not in a loop.
14698         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
14699         via a shell-language loop; this may have been true in old Autoconf
14700         versions, but it's not true in Autoconf 2.68.  I found this bug
14701         when testing coreutils git on Solaris 8, whose shell complains
14702         about the syntax error.
14703
14704 2011-08-12  Simon Josefsson  <simon@josefsson.org>
14705
14706         * lib/base64.c: Fix comment to reference RFC 4648.
14707         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
14708         <gvtulder@gmail.com>.
14709
14710 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
14711
14712         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
14713
14714         po/Makefile.in.in: fix make -q problem
14715         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
14716         rule, since there's no file named 'check-macro-version' and its
14717         use as a file breaks make -q.
14718         (all): Don't depend on check-macro-version.
14719         (CHECK_MACRO_VERSION): New macro.
14720         (stamp-po): Use it.
14721
14722         configmake: fix make -q problem
14723         * modules/configmake (configmake.h): Update configmake.h's time stamp
14724         even if the file does not change.  Otherwise, 'make -q' fails.
14725         Problem reported by Simon Josefsson in
14726         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
14727
14728 2011-08-11  Jim Meyering  <meyering@redhat.com>
14729
14730         git-version-gen: correct the advice in a comment
14731         * build-aux/git-version-gen: Correct comment.
14732         Don't recommend to list .tarball-version in .gitignore.
14733
14734 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
14735
14736         base64: fix off-by-one buffer size bug
14737         Problem and (trivial) fix reported by Gijs van Tulder in
14738         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
14739         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
14740         * tests/test-base64.c (main): Catch the bug.
14741
14742 2011-08-10  Eric Blake  <eblake@redhat.com>
14743
14744         closein: correct comments
14745         * lib/closein.c (close_stdin): Improve comments.
14746
14747 2011-08-09  Bruno Haible  <bruno@clisp.org>
14748
14749         More tests for 'fseeko'.
14750         * tests/test-fseeko3.c: New file, from Eric Blake.
14751         * tests/test-fseeko3.sh: New file.
14752         * modules/fseeko-tests (Files): Add them.
14753         (TESTS): Add test-fseeko3.sh.
14754         (check_PROGRAMS): Add test-fseeko3.
14755
14756 2011-08-09  Eric Blake  <eblake@redhat.com>
14757
14758         fseeko: remove unneeded hack
14759         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
14760
14761         fseeko: fix bug on glibc
14762         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
14763         Reported by John W. Eaton.
14764
14765 2011-08-08  Bruno Haible  <bruno@clisp.org>
14766
14767         unictype/base: Fix interoperability with preinstalled libunistring.
14768         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
14769         Reported by Simon Josefsson.
14770
14771 2011-08-08  Bruno Haible  <bruno@clisp.org>
14772
14773         iswblank: Detect declaration correctly.
14774         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
14775         AC_CHECK_DECLS invocation.
14776
14777 2011-08-08  Bruno Haible  <bruno@clisp.org>
14778
14779         tcgetsid: Detect declaration correctly.
14780         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
14781         AC_CHECK_DECLS invocation.
14782         Reported by Simon Josefsson.
14783
14784 2011-08-08  Eric Blake  <eblake@redhat.com>
14785
14786         largefile: fix typo that regressed large file support
14787         * modules/largefile (configure.ac-early): Fix section name.
14788
14789 2011-08-06  Karl Berry  <karl@gnu.org>
14790
14791         * MODULES.html.sh (func_all_files): _Noreturn is no longer
14792         a separate module.
14793
14794 2011-08-05  Simon Josefsson  <simon@josefsson.org>
14795
14796         openat: Fix warnings and commens when building unlinkat.c on Hurd.
14797         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
14798         get prototype for free.
14799
14800 2011-08-04  Bruno Haible  <bruno@clisp.org>
14801
14802         Tests for module 'pathmax'.
14803         * modules/pathmax-tests: New file.
14804         * tests/test-pathmax.c: New file.
14805
14806         canonicalize-lgpl: Support larger filenames on the Hurd.
14807         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
14808         Reported by Paul Eggert.
14809
14810         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
14811         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
14812         * lib/chdir-long.h: Include pathmax.h.
14813         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
14814         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
14815         (PATH_MAX): Remove code that is done by pathmax.h.
14816         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
14817         * lib/tmpfile.c: Add a comment.
14818         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
14819         * modules/chdir-long (Depends-on): Add pathmax.
14820         * modules/getcwd (Depends-on): Add pathmax.
14821         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
14822         is not defined.
14823         * doc/posix-headers/limits.texi: Mention the pathmax module.
14824         * NEWS: Mention the change.
14825
14826 2011-08-02  Bruno Haible  <bruno@clisp.org>
14827
14828         pthread_sigmask: Actually use results of gl_THREADLIB.
14829         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
14830         gl_THREADLIB, not gl_[]THREADLIB.
14831         Reported by Eric Blake.
14832
14833 2011-08-02  Jim Meyering  <meyering@redhat.com>
14834
14835         maint.mk: relax the default _gl_TS_function_match regexp
14836         * top/maint.mk (_gl_TS_function_match): Don't require at least one
14837         space between function name and "(" in an "extern" declaration.
14838         That would fail to match a decl with no space there: extern void foo();
14839
14840 2011-07-31  Iain Nicol  <iain@thenicols.net>
14841
14842         git-version-gen: document that EXTRA_DIST must include .version
14843         * build-aux/git-version-gen: In the how-to-use comment, document
14844         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
14845         will fail when run from an unpacked distribution tarball.
14846
14847 2011-08-01  Bruno Haible  <bruno@clisp.org>
14848
14849         wctype-h: Fix last change.
14850         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
14851         REPLACE_TOWLOWER to 0.
14852         Reported by Sam Steingold <sds@gnu.org>.
14853
14854 2011-07-31  Bruno Haible  <bruno@clisp.org>
14855
14856         frexpl: Update autoconf test.
14857         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
14858         according to changes of 2011-06-20.
14859
14860 2011-07-31  Bruno Haible  <bruno@clisp.org>
14861
14862         sys_utsname: Add support for Minix.
14863         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
14864         <sys/utsname.h>.
14865         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14866         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
14867
14868 2011-07-31  Bruno Haible  <bruno@clisp.org>
14869
14870         strings: Add support for Minix.
14871         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
14872         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
14873         * doc/posix-headers/strings.texi: Document the Minix problem.
14874
14875 2011-07-31  Bruno Haible  <bruno@clisp.org>
14876
14877         wctype-h: Add support for Minix.
14878         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
14879         REPLACE_TOWLOWER.
14880         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
14881         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
14882         REPLACE_ISWCNTRL.
14883
14884 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
14885
14886         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
14887         This is a performance improvement for 64-bit hosts: it causes the
14888         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
14889
14890 2011-07-31  Bruno Haible  <bruno@clisp.org>
14891
14892         stdioext: Add support for Minix.
14893         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
14894         * lib/fpurge.c (fpurge): Likewise.
14895         * lib/freadahead.c (freadahead): Likewise.
14896         * lib/freadable.c (freadable): Likewise.
14897         * lib/freading.c (freading): Likewise.
14898         * lib/freadptr.c (freadptr): Likewise.
14899         * lib/freadseek.c (freadptrinc): Likewise.
14900         * lib/fseeko.c (rpl_fseeko): Likewise.
14901         * lib/fseterr.c (fseterr): Likewise.
14902         * lib/fwritable.c (fwritable): Likewise.
14903         * lib/fwriting.c (fwriting): Likewise.
14904         * lib/fflush.c (clear_ungetc_buffer): Update comment.
14905         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
14906
14907 2011-07-31  Bruno Haible  <bruno@clisp.org>
14908
14909         errno: Port to Minix.
14910         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
14911         ECONNABORTED are defined.
14912         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
14913         GNULIB_defined_ECONNABORTED): New macros.
14914         * lib/strerror-override.h (strerror_override): Test also
14915         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
14916         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
14917         ECONNABORTED.
14918         * doc/posix-headers/errno.texi: Mention the Minix problem.
14919
14920 2011-07-31  Bruno Haible  <bruno@clisp.org>
14921
14922         Work around declaration collisions on Minix.
14923         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
14924         defined, set REPLACE_MBSINIT.
14925         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
14926         defined, set REPLACE_MBRTOWC.
14927         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
14928         set REPLACE_MBRLEN.
14929         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
14930         defined, set REPLACE_MBSRTOWCS.
14931         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
14932         defined, set REPLACE_WCRTOMB.
14933         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
14934         defined, set REPLACE_WCSRTOMBS.
14935
14936 2011-07-31  Bruno Haible  <bruno@clisp.org>
14937
14938         Add support for Minix with ACK compiler.
14939         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
14940         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
14941         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
14942
14943 2011-07-31  Bruno Haible  <bruno@clisp.org>
14944
14945         Documentation about Minix.
14946         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
14947         * doc/glibc-headers/*.texi: Likewise.
14948         * doc/posix-functions/*.texi: Likewise.
14949         * doc/glibc-functions/*.texi: Likewise.
14950
14951 2011-07-31  Bruno Haible  <bruno@clisp.org>
14952
14953         snippet/warn-on-use: Fix indentation.
14954         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
14955
14956 2011-07-25  Jim Meyering  <meyering@redhat.com>
14957
14958         tests: test-update-copyright.sh: remove unnecessary "rm" commands
14959         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
14960         commands.
14961
14962 2011-07-27  Jim Meyering  <meyering@redhat.com>
14963
14964         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
14965         * top/maint.mk (gl_extract_significant_defines_): Now that
14966         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
14967         gnulib/lib/signal.in.h, and now that we recommend to
14968         define-if-undefined those two symbols in application code,
14969         we must filter them out of the "significant" list.
14970         This avoids a "make syntax-check" failure in coreutils.
14971
14972 2011-07-26  Eric Blake  <eblake@redhat.com>
14973
14974         warnings: add comments about previous patch
14975         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
14976         * m4/include_next.m4: Likewise.
14977         * m4/warn-on-use.m4: Likewise.
14978         * m4/warnings.m4: Likewise, and simplify use.
14979         Suggested by Stefano Lattarini.
14980
14981         include-next, warnings: support older autoconf
14982         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
14983         AS_VAR_PUSHDEF in a way that works with older autoconf.
14984         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
14985         Reported by Daniel P. Berrange.
14986
14987 2011-07-25  Bruno Haible  <bruno@clisp.org>
14988
14989         fseek, ftell: Fix doc.
14990         * doc/posix-functions/fseek.texi: Reword statement about
14991         AC_SYS_LARGEFILE.
14992         * doc/posix-functions/ftell.texi: Likewise.
14993
14994 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
14995             Bruno Haible  <bruno@clisp.org>
14996
14997         Add dependencies to the 'largefile' module.
14998         * modules/fopen (Depends-on): Add 'largefile'.
14999         * modules/freopen (Depends-on): Likewise.
15000         * modules/fseeko (Depends-on): Likewise.
15001         * modules/ftello (Depends-on): Likewise.
15002         * modules/glob (Depends-on): Likewise.
15003         * modules/lseek (Depends-on): Likewise.
15004         * modules/lstat (Depends-on): Likewise.
15005         * modules/mkostemp (Depends-on): Likewise.
15006         * modules/mkostemps (Depends-on): Likewise.
15007         * modules/mkstemp (Depends-on): Likewise.
15008         * modules/mkstemps (Depends-on): Likewise.
15009         * modules/open (Depends-on): Likewise.
15010         * modules/openat (Depends-on): Likewise.
15011         * modules/pread (Depends-on): Likewise.
15012         * modules/pwrite (Depends-on): Likewise.
15013         * modules/scandir (Depends-on): Likewise.
15014         * modules/stat (Depends-on): Likewise.
15015         * modules/tmpfile (Depends-on): Likewise.
15016         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
15017         since the containing module now depends on the largefile module.
15018         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
15019         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
15020         off_t is fixed by gnulib.
15021         * doc/posix-functions/freopen.texi: Likewise.
15022         * doc/posix-functions/fseeko.texi: Likewise.
15023         * doc/posix-functions/fstatat.texi: Likewise.
15024         * doc/posix-functions/ftello.texi: Likewise.
15025         * doc/posix-functions/glob.texi: Likewise.
15026         * doc/posix-functions/lseek.texi: Likewise.
15027         * doc/posix-functions/lstat.texi: Likewise.
15028         * doc/posix-functions/mkstemp.texi: Likewise.
15029         * doc/posix-functions/open.texi: Likewise.
15030         * doc/posix-functions/openat.texi: Likewise.
15031         * doc/posix-functions/pread.texi: Likewise.
15032         * doc/posix-functions/pwrite.texi: Likewise.
15033         * doc/posix-functions/scandir.texi: Likewise.
15034         * doc/posix-functions/stat.texi: Likewise.
15035         * doc/posix-functions/tmpfile.texi: Likewise.
15036         * doc/glibc-functions/mkostemp.texi: Likewise.
15037         * doc/glibc-functions/mkostemps.texi: Likewise.
15038         * doc/glibc-functions/mkstemps.texi: Likewise.
15039
15040 2011-07-25  Bruno Haible  <bruno@clisp.org>
15041
15042         fcntl: Move AC_LIBOBJ invocation to module description.
15043         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
15044         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
15045
15046         fcntl: Remove call-in from fchdir.m4.
15047         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
15048         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
15049
15050         dup3: Remove potential call-in from fchdir.m4.
15051         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
15052         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
15053
15054         dup2: Move AC_LIBOBJ invocation to module description.
15055         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
15056         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
15057         Don't invoke AC_LIBOBJ.
15058         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
15059
15060         dup2: Remove call-in from fchdir.m4.
15061         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
15062         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
15063
15064         fclose: Move AC_LIBOBJ invocation to module description.
15065         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
15066         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
15067         to 1.
15068         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
15069
15070         fclose: Remove call-in from close.m4.
15071         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
15072         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
15073
15074         close: Move AC_LIBOBJ invocation to module description.
15075         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
15076         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
15077         1.
15078         * modules/close (configure.ac): Invoke AC_LIBOBJ.
15079
15080         close: Remove call-in from fchdir.m4.
15081         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
15082         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
15083
15084         open: Move AC_LIBOBJ invocation to module description.
15085         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
15086         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
15087         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
15088
15089         open: Remove call-in from fchdir.m4.
15090         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
15091         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
15092
15093         fchdir: Start to remove gl_REPLACE_* idiom.
15094         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
15095         (gl_FUNC_FCHDIR): Invoke it.
15096
15097 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15098
15099         * lib/ftell.c (ftell): Comment out cast.
15100
15101         close: use gl_REPLACE_FCLOSE only if defined
15102         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
15103         is defined.  The close module doesn't depend on the fclose module
15104         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
15105         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
15106         I reproduced the problem with "./gnulib-tool --test close sys_socket".
15107
15108 2011-07-24  Jim Meyering  <meyering@redhat.com>
15109
15110         test-select.h: avoid warning when using gcc's -Wmissing-declarations
15111         * tests/test-select.h (test_function): Declare as "static".
15112
15113 2011-07-24  Bruno Haible  <bruno@clisp.org>
15114
15115         doc: Mention the effects of AC_SYS_LARGEFILE.
15116         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
15117         on this function.
15118         * doc/posix-functions/aio_error.texi: Likewise.
15119         * doc/posix-functions/aio_fsync.texi: Likewise.
15120         * doc/posix-functions/aio_read.texi: Likewise.
15121         * doc/posix-functions/aio_return.texi: Likewise.
15122         * doc/posix-functions/aio_suspend.texi: Likewise.
15123         * doc/posix-functions/aio_write.texi: Likewise.
15124         * doc/posix-functions/fgetpos.texi: Likewise.
15125         * doc/posix-functions/fopen.texi: Likewise.
15126         * doc/posix-functions/freopen.texi: Likewise.
15127         * doc/posix-functions/fsetpos.texi: Likewise.
15128         * doc/posix-functions/fstatvfs.texi: Likewise.
15129         * doc/posix-functions/ftruncate.texi: Likewise.
15130         * doc/posix-functions/ftw.texi: Likewise.
15131         * doc/posix-functions/getrlimit.texi: Likewise.
15132         * doc/posix-functions/glob.texi: Likewise.
15133         * doc/posix-functions/lio_listio.texi: Likewise.
15134         * doc/posix-functions/lockf.texi: Likewise.
15135         * doc/posix-functions/mkstemp.texi: Likewise.
15136         * doc/posix-functions/mmap.texi: Likewise.
15137         * doc/posix-functions/nftw.texi: Likewise.
15138         * doc/posix-functions/openat.texi: Likewise.
15139         * doc/posix-functions/opendir.texi: Likewise.
15140         * doc/posix-functions/posix_fadvise.texi: Likewise.
15141         * doc/posix-functions/posix_fallocate.texi: Likewise.
15142         * doc/posix-functions/pread.texi: Likewise.
15143         * doc/posix-functions/pwrite.texi: Likewise.
15144         * doc/posix-functions/readdir.texi: Likewise.
15145         * doc/posix-functions/readdir_r.texi: Likewise.
15146         * doc/posix-functions/rewinddir.texi: Likewise.
15147         * doc/posix-functions/scandir.texi: Likewise.
15148         * doc/posix-functions/seekdir.texi: Likewise.
15149         * doc/posix-functions/setrlimit.texi: Likewise.
15150         * doc/posix-functions/statvfs.texi: Likewise.
15151         * doc/posix-functions/telldir.texi: Likewise.
15152         * doc/posix-functions/tmpfile.texi: Likewise.
15153         * doc/posix-functions/truncate.texi: Likewise.
15154         * doc/glibc-functions/fallocate.texi: Likewise.
15155         * doc/glibc-functions/fstatfs.texi: Likewise.
15156         * doc/glibc-functions/fts_children.texi: Likewise.
15157         * doc/glibc-functions/fts_read.texi: Likewise.
15158         * doc/glibc-functions/getdirentries.texi: Likewise.
15159         * doc/glibc-functions/mkostemp.texi: Likewise.
15160         * doc/glibc-functions/mkostemps.texi: Likewise.
15161         * doc/glibc-functions/mkstemps.texi: Likewise.
15162         * doc/glibc-functions/preadv.texi: Likewise.
15163         * doc/glibc-functions/pwritev.texi: Likewise.
15164         * doc/glibc-functions/sendfile.texi: Likewise.
15165         * doc/glibc-functions/statfs.texi: Likewise.
15166
15167 2011-07-24  Bruno Haible  <bruno@clisp.org>
15168
15169         doc: Fix typo.
15170         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
15171
15172 2011-07-24  Bruno Haible  <bruno@clisp.org>
15173
15174         doc: Mention fsusage.
15175         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
15176
15177 2011-07-24  Bruno Haible  <bruno@clisp.org>
15178
15179         doc: Mention new glibc headers and functions.
15180         * doc/glibc-headers/gshadow.texi: New file.
15181         * doc/glibc-functions/endsgent.texi: New file.
15182         * doc/glibc-functions/fgetsgent.texi: New file.
15183         * doc/glibc-functions/fgetsgent_r.texi: New file.
15184         * doc/glibc-functions/getsgent.texi: New file.
15185         * doc/glibc-functions/getsgent_r.texi: New file.
15186         * doc/glibc-functions/getsgnam.texi: New file.
15187         * doc/glibc-functions/getsgnam_r.texi: New file.
15188         * doc/glibc-functions/putsgent.texi: New file.
15189         * doc/glibc-functions/setsgent.texi: New file.
15190         * doc/glibc-functions/sgetsgent.texi: New file.
15191         * doc/glibc-functions/sgetsgent_r.texi: New file.
15192         * doc/glibc-functions/malloc_info.texi: New file.
15193         * doc/glibc-functions/preadv.texi: New file.
15194         * doc/glibc-functions/pwritev.texi: New file.
15195         * doc/glibc-functions/register_printf_modifier.texi: New file.
15196         * doc/glibc-functions/register_printf_specifier.texi: New file.
15197         * doc/glibc-functions/register_printf_type.texi: New file.
15198         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
15199         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
15200         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
15201         * doc/glibc-functions/pthread_getname_np.texi: New file.
15202         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
15203         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
15204         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
15205         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
15206         * doc/glibc-functions/pthread_setname_np.texi: New file.
15207         * doc/glibc-functions/pthread_sigqueue.texi: New file.
15208         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
15209         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
15210         * doc/glibc-functions/qsort_r.texi: New file.
15211         * doc/glibc-functions/quick_exit.texi: New file.
15212         * doc/glibc-functions/syncfs.texi: New file.
15213         * doc/gnulib.texi: Include them.
15214         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
15215         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
15216         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
15217         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
15218         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
15219         * doc/glibc-functions/execvpe.texi: Likewise.
15220
15221 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15222
15223         ftell: don't include <unistd.h>
15224         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
15225         guaranteed to define off_t, and the ftell module depends on the
15226         stdio module.
15227
15228         ftell: do not assume wraparound signed arithmetic
15229         * lib/ftell.c: Include <limits.h>.
15230         (ftell): Don't assume wraparound signed arithmetic.
15231
15232 2011-07-24  Bruno Haible  <bruno@clisp.org>
15233
15234         close: No longer depend on module 'fclose'.
15235         * modules/close (Depends-on): Remove fclose.
15236         * NEWS: Mention the change.
15237         Suggested by Sam Steingold <sds@gnu.org>.
15238
15239 2011-07-24  Bruno Haible  <bruno@clisp.org>
15240
15241         fsusage: Enable large volume support on AIX >= 5.2.
15242         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
15243         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
15244         instead of STAT_STATVFS.
15245         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
15246
15247         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
15248         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
15249         f_blocks field only on MacOS X.
15250
15251         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
15252         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
15253         * modules/fsusage (Depends-on): Add largefile.
15254
15255 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15256
15257         * README: Modernize discussion of signed integers.
15258         Assuming overflow wraparound is no longer safe.
15259         Mention ones' complement and signed magnitude.
15260
15261 2011-07-22  Bruno Haible  <bruno@clisp.org>
15262
15263         select tests, pselect tests: Refactor.
15264         * tests/test-select.h: New file, extracted from tests/test-select.c.
15265         (select_fn): New type.
15266         (test, do_select, do_select_nowait, do_select_wait, test_tty,
15267         test_connect_first, test_accept_first, test_pair, test_socket_pair,
15268         test_pipe): Add my_select argument.
15269         (test_function): Renamed from main. Add my_select argument.
15270         * tests/test-select.c: Move most code to tests/test-select.h. Include
15271         test-select.h.
15272         * modules/select-tests (Files): Add tests/test-select.h.
15273         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
15274         (my_select, main): New functions.
15275         * modules/pselect-tests (Files): Add tests/test-select.h,
15276         tests/macros.h, tests/signature.h.
15277         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
15278         (configure.ac): Check for <sys/wait.h>.
15279
15280 2011-07-22  Bruno Haible  <bruno@clisp.org>
15281
15282         sys_select tests: Check the signature of FD_*.
15283         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
15284         signature tests from here...
15285         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
15286         here.
15287         * modules/sys_select-tests (Files): Add tests/signature.h.
15288
15289 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
15290
15291         largefile: new module, replacing large-inode
15292         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
15293         * MODULES.html.sh: Add largefile, remove large-inode.
15294         * modules/largefile, m4/largefile.m4: New files.
15295         * modules/large-inode, m4/large-inode.m4: Remove.
15296
15297         fsusage: port to MacOS X 10.7 with 4 TiB file systems
15298         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
15299         implementations that use only 32 bits to count blocks.
15300         On typical hosts with 1024-byte blocks, this fails with file
15301         systems as small as 4 TiB.  Problem reported by Herb Wartens
15302         <http://debbugs.gnu.org/9140> and this should also fix a similar
15303         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
15304
15305         large-inode: New module
15306         * MODULES.html.sh: Add it.
15307         * modules/large-inode, m4/large-inode.m4: New files.
15308
15309         extensions: Enable extensions on MacOS X 10.5 and later.
15310         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
15311
15312 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
15313
15314         file-has-acl: use acl_extended_file_nofollow if available
15315         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
15316         (acl_extended_file): New macro.
15317         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
15318         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
15319
15320 2011-07-21  Bruno Haible  <bruno@clisp.org>
15321
15322         Declare system functions in a way that works with C++.
15323         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
15324         declare fdopendir as extern "C".
15325         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
15326         declare frexpl as extern "C".
15327         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
15328         declare gai_strerror as extern "C".
15329         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
15330         programs, declare gai_strerror as extern "C".
15331         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
15332         declare getlogin_r as extern "C".
15333         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
15334         as extern "C".
15335         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
15336         declare ldexpl as extern "C".
15337         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
15338         as extern "C".
15339         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
15340         program, declare getmntinfo as extern "C".
15341         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
15342         stpncpy as extern "C".
15343         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
15344         program, declare __xpg_strerror_r as extern "C".
15345         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
15346         strndup as extern "C".
15347         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
15348         declare memset and bzero as extern "C".
15349         Reported by Sam Steingold <sds@gnu.org>.
15350
15351 2011-07-12  Jim Meyering  <meyering@redhat.com>
15352
15353         maint.mk: prohibit inclusion of "verify.h" without use
15354         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
15355
15356 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15357
15358         timer-time: A new module to check for timer_settime()
15359         * m4/timer_time.m4: Check for the posix function.
15360         * modules/timer-time: Add the new module.
15361         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
15362         Mention it.
15363
15364 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
15365             Bruno Haible  <bruno@clisp.org>
15366
15367         pthread_sigmask: assume POSIX threads if --avoid=threadlib
15368         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
15369         not defined, assume POSIX threads and look for pthread_sigmask in
15370         $LIBS, without changing $CPPFLAGS.
15371
15372 2011-07-19  Bruno Haible  <bruno@clisp.org>
15373
15374         strstr: Update cross-compilation guess.
15375         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
15376         CPUs, guess no, in view of glibc
15377         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
15378         Suggested by Eric Blake. Reported by Reuben Thomas.
15379
15380 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15381
15382         getopt-gnu: suppress core dumps from detection code
15383         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
15384         to suppress core dumps that may well occur on glibc systems.
15385         * modules/getopt-gnu: Depend on nocrash.
15386
15387 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
15388
15389         pthread_sigmask: ensure usleep is declared
15390         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
15391         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
15392
15393 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
15394
15395         doc: Document NonStop portability issues.
15396         * doc/posix-functions/sigaction.texi (sigaction):
15397         * doc/posix-headers/signal.texi (signal.h):
15398         Document NonStop.  See Joachim Schmitz in
15399         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
15400
15401 2011-07-15  Bruno Haible  <bruno@clisp.org>
15402
15403         ffsl, ffsll: Avoid unportable behaviour.
15404         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
15405
15406 2011-07-15  Bruno Haible  <bruno@clisp.org>
15407
15408         ffs: More tests.
15409         * tests/test-ffs.c (NBITS): New macro.
15410         (main): Add more tests.
15411         * tests/test-ffsl.c (NBITS): New macro.
15412         (main): Add more tests.
15413         * tests/test-ffsll.c (NBITS): New macro.
15414         (main): Add more tests.
15415
15416 2011-07-15  Eric Blake  <eblake@redhat.com>
15417
15418         ffsl, ffsll: new modules
15419         * modules/ffsl: New file.
15420         * modules/ffsll: Likewise.
15421         * m4/ffsl.m4: Likewise.
15422         * m4/ffsll.m4: Likewise.
15423         * lib/ffsl.c: Likewise.
15424         * lib/ffsl.h: Likewise.
15425         * lib/ffsll.c: Likewise.
15426         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
15427         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
15428         * modules/string (Makefile.am): Substitute witnesses.
15429         * lib/strings.in.h (ffsl, ffsll): Declare.
15430         * modules/ffsl-tests: New test file.
15431         * modules/ffsll-tests: Likewise.
15432         * tests/test-ffsl.c: Likewise.
15433         * tests/test-ffsll.c: Likewise.
15434         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15435         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
15436         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
15437
15438         ffs: fix m4 prerequisite
15439         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
15440
15441         ffs: avoid undefined behavior
15442         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
15443         * tests/test-ffs.c (naive, main): Avoid signed shifts.
15444         Reported by Bruno Haible.
15445
15446 2011-07-12  Bruno Haible  <bruno@clisp.org>
15447
15448         pthread_sigmask: Rely on module 'threadlib'.
15449         * modules/pthread_sigmask (Depends-on): Add threadlib.
15450         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
15451         is defined.
15452
15453 2011-07-12  Bruno Haible  <bruno@clisp.org>
15454
15455         regex: Depend on module 'strcase'.
15456         * modules/regex (Depends-on): Add strcase, for strcasecmp().
15457
15458 2011-07-12  Jim Meyering  <meyering@redhat.com>
15459
15460         warn-on-use: fix typo in file name
15461         * modules/snippet/warn-on-use (Files): Correct file name:
15462         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
15463
15464 2011-07-12  Bruno Haible  <bruno@clisp.org>
15465
15466         strings: Document module.
15467         * doc/posix-headers/strings.texi: Mention module 'strings'.
15468
15469 2011-07-12  Bruno Haible  <bruno@clisp.org>
15470
15471         Rename module '_Noreturn' to 'snippet/_Noreturn'.
15472         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
15473         (Files, Makefile.am): Update.
15474         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
15475         * modules/stdlib (Depends-on): Update.
15476
15477 2011-07-12  Bruno Haible  <bruno@clisp.org>
15478
15479         * NEWS: Mention the changes.
15480
15481         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
15482         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
15483         (Files, Makefile.am): Update.
15484         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
15485         * modules/arpa_inet (Depends-on): Update.
15486         * modules/ctype (Depends-on): Update.
15487         * modules/dirent (Depends-on): Update.
15488         * modules/fcntl-h (Depends-on): Update.
15489         * modules/glob (Depends-on): Update.
15490         * modules/iconv-h (Depends-on): Update.
15491         * modules/inttypes-incomplete (Depends-on): Update.
15492         * modules/langinfo (Depends-on): Update.
15493         * modules/locale (Depends-on): Update.
15494         * modules/math (Depends-on): Update.
15495         * modules/netdb (Depends-on): Update.
15496         * modules/poll-h (Depends-on): Update.
15497         * modules/pty (Depends-on): Update.
15498         * modules/search (Depends-on): Update.
15499         * modules/signal (Depends-on): Update.
15500         * modules/spawn (Depends-on): Update.
15501         * modules/stdio (Depends-on): Update.
15502         * modules/stdlib (Depends-on): Update.
15503         * modules/string (Depends-on): Update.
15504         * modules/strings (Depends-on): Update.
15505         * modules/sys_file (Depends-on): Update.
15506         * modules/sys_ioctl (Depends-on): Update.
15507         * modules/sys_select (Depends-on): Update.
15508         * modules/sys_socket (Depends-on): Update.
15509         * modules/sys_stat (Depends-on): Update.
15510         * modules/sys_time (Depends-on): Update.
15511         * modules/sys_times (Depends-on): Update.
15512         * modules/sys_utsname (Depends-on): Update.
15513         * modules/sys_wait (Depends-on): Update.
15514         * modules/termios (Depends-on): Update.
15515         * modules/time (Depends-on): Update.
15516         * modules/unistd (Depends-on): Update.
15517         * modules/wchar (Depends-on): Update.
15518         * modules/wctype-h (Depends-on): Update.
15519         * MODULES.html.sh (Support for building libraries and executables):
15520         Update.
15521
15522         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
15523         * modules/snippet/unused-parameter: Renamed from
15524         modules/unused-parameter.
15525         (Files, Makefile.am): Update.
15526         * build-aux/snippet/unused-parameter.h: Renamed from
15527         build-aux/unused-parameter.h.
15528         * modules/selinux-h (Depends-on): Update.
15529         * modules/unistr/base (Depends-on): Update.
15530         * MODULES.html.sh (Core language properties): Update.
15531
15532         Rename module 'link-warning' to 'snippet/link-warning'.
15533         * modules/snippet/link-warning: Renamed from modules/link-warning.
15534         (Files, Makefile.am): Update.
15535         * build-aux/snippet/link-warning.h: Renamed from
15536         build-aux/link-warning.h.
15537         * MODULES.html.sh (Support for building libraries and executables):
15538         Update.
15539
15540         Rename module 'c++defs' to 'snippet/c++defs'.
15541         * modules/snippet/c++defs: Renamed from modules/c++defs.
15542         (Files, Makefile.am): Update.
15543         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
15544         * modules/arpa_inet (Depends-on): Update.
15545         * modules/ctype (Depends-on): Update.
15546         * modules/dirent (Depends-on): Update.
15547         * modules/fcntl-h (Depends-on): Update.
15548         * modules/glob (Depends-on): Update.
15549         * modules/iconv-h (Depends-on): Update.
15550         * modules/langinfo (Depends-on): Update.
15551         * modules/locale (Depends-on): Update.
15552         * modules/math (Depends-on): Update.
15553         * modules/netdb (Depends-on): Update.
15554         * modules/poll-h (Depends-on): Update.
15555         * modules/pty (Depends-on): Update.
15556         * modules/search (Depends-on): Update.
15557         * modules/signal (Depends-on): Update.
15558         * modules/spawn (Depends-on): Update.
15559         * modules/stdio (Depends-on): Update.
15560         * modules/stdlib (Depends-on): Update.
15561         * modules/string (Depends-on): Update.
15562         * modules/strings (Depends-on): Update.
15563         * modules/sys_ioctl (Depends-on): Update.
15564         * modules/sys_select (Depends-on): Update.
15565         * modules/sys_socket (Depends-on): Update.
15566         * modules/sys_stat (Depends-on): Update.
15567         * modules/sys_time (Depends-on): Update.
15568         * modules/sys_wait (Depends-on): Update.
15569         * modules/termios (Depends-on): Update.
15570         * modules/time (Depends-on): Update.
15571         * modules/unistd (Depends-on): Update.
15572         * modules/wchar (Depends-on): Update.
15573         * modules/wctype-h (Depends-on): Update.
15574
15575         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
15576         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
15577         (Files, Makefile.am): Update.
15578         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
15579         * modules/argv-iter (Depends-on): Update.
15580         * modules/arpa_inet (Depends-on): Update.
15581         * modules/dirent (Depends-on): Update.
15582         * modules/fcntl-h (Depends-on): Update.
15583         * modules/fnmatch (Depends-on): Update.
15584         * modules/getopt-posix (Depends-on): Update.
15585         * modules/glob (Depends-on): Update.
15586         * modules/iconv-h (Depends-on): Update.
15587         * modules/inttypes-incomplete (Depends-on): Update.
15588         * modules/locale (Depends-on): Update.
15589         * modules/math (Depends-on): Update.
15590         * modules/netdb (Depends-on): Update.
15591         * modules/search (Depends-on): Update.
15592         * modules/signal (Depends-on): Update.
15593         * modules/spawn (Depends-on): Update.
15594         * modules/stdio (Depends-on): Update.
15595         * modules/stdlib (Depends-on): Update.
15596         * modules/string (Depends-on): Update.
15597         * modules/strings (Depends-on): Update.
15598         * modules/sys_socket (Depends-on): Update.
15599         * modules/sys_stat (Depends-on): Update.
15600         * modules/sys_time (Depends-on): Update.
15601         * modules/sys_times (Depends-on): Update.
15602         * modules/sys_utsname (Depends-on): Update.
15603         * modules/time (Depends-on): Update.
15604         * modules/unistd (Depends-on): Update.
15605         * modules/wchar (Depends-on): Update.
15606         * MODULES.html.sh (Support for building libraries and executables):
15607         Update.
15608
15609 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15610
15611         Improvements on _Noreturn and related modules.
15612
15613         modules/_Exit-tests: test _Noreturn too
15614         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
15615         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
15616         (main): Use them.
15617
15618         stdnoreturn, stdnoreturn-tests: remove modules
15619         They're not needed here and a bit premature for use elsewhere.  See
15620         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
15621         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
15622         * tests/test-stdnoreturn.c: Remove files.
15623         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
15624         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
15625         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
15626         and using noreturn.
15627         * modules/openat, modules/sigpipe-die, modules/xalloc:
15628         * modules/xmemdup0, modules/xstrtol:
15629         Remove dependency on stdnoreturn.
15630
15631         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
15632         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
15633         Reparenthesize to avoid GCC warning.
15634         Support Microsoft's syntax.
15635         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
15636
15637         _Noreturn-tests: remove module
15638         * modules/_Noreturn-tests: Remove.
15639         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
15640         * tests/test-_Noreturn.c: Remove.
15641         * tests/test-stdnoreturn.c: Merge from the old
15642         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
15643
15644 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15645
15646         _Noreturn, stdnoreturn, and related modules.
15647
15648         * top/maint.mk: Adjust to new noreturn support.
15649         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
15650         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
15651
15652         xalloc: use stdnoreturn.h
15653         * lib/xalloc.h: Include <stdnoreturn.h>.
15654         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15655         * modules/xalloc (Depends-on): Add stdnoreturn.
15656
15657         xstrtol: use stdnoreturn.h
15658         * lib/xstrtol.h: Include <stdnoreturn.h>.
15659         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15660         * modules/xstrtol (Depends-on): Add stdnoreturn.
15661
15662         xmemdup0: use stdnoreturn.h
15663         * lib/xmemdup0.h: Include <stdnoreturn.h>.
15664         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15665         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
15666
15667         sigpipe-die: use stdnoreturn.h
15668         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
15669         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15670         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
15671
15672         openat: use stdnoreturn.h
15673         * lib/openat.h: Include <stdnoreturn.h>.
15674         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15675         * modules/openat (Depends-on): Add stdnoreturn.
15676
15677         * lib/openat-die.c (openat_save_fail): Modernize comment.
15678
15679         * lib/xalloc-die.c (xalloc_die): Modernize comment.
15680
15681         * lib/glthread/thread.h: Modernize comment.
15682
15683         obstack: use _Noreturn
15684         * lib/obstack.c (__attribute__): Remove macro.
15685         (print_and_abort): Use _Noreturn.
15686
15687         c-stack: use _Noreturn
15688         * lib/c-stack.c (die, overflow_handler, segv_handler):
15689         Use _Noreturn rather than __attribute__((noreturn)).
15690
15691         argmatch-tests, exclude_tests: use _Noreturn
15692         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
15693         Remove.
15694         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
15695
15696         stdlib: use _Noreturn
15697         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
15698         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
15699         * modules/stdlib (Depends-on): Add _Noreturn.
15700         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
15701
15702         stdnoreturn-tests: new module
15703         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
15704
15705         stdnoreturn: new module
15706         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
15707         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
15708
15709         _Noreturn-tests: new module
15710         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
15711
15712         _Noreturn: new module
15713         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
15714         New section, mentioning it.
15715         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
15716
15717         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
15718
15719 2011-07-11  Eric Blake  <eblake@redhat.com>
15720
15721         ffs: new module
15722         * modules/ffs: New file.
15723         * m4/ffs.m4: Likewise.
15724         * lib/ffs.c: Likewise.
15725         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
15726         * modules/strings (Makefile.am): Substitute witness.
15727         (Depends-on): Add c++defs.
15728         * lib/strings.in.h (ffs): Declare.
15729         * modules/ffs-tests: New test file.
15730         * tests/test-ffs.c: Test new module.
15731         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15732         * doc/posix-functions/ffs.texi (ffs): Likewise.
15733
15734         regex: avoid compiler warning
15735         * lib/regex.c (includes): Include <strings.h>, for use of
15736         strcasecmp in regcomp.c.
15737         Reported by Joachim Schmitz.
15738
15739 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
15740
15741         stdint: respect system's intmax_t if INTMAX_MAX
15742         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
15743         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
15744         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
15745         long but int64_t is long long, and where we will clash with the
15746         system intmax_t if we override it.  See
15747         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
15748         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
15749         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
15750         similarly for UINTMAX_C.
15751
15752 2011-07-08  Bruno Haible  <bruno@clisp.org>
15753
15754         pthread_sigmask tests: Avoid a compiler warning.
15755         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
15756         non-zero.
15757
15758         sigprocmask tests: A better way to avoid a compiler warning.
15759         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
15760         (main): Complain if system() returns non-zero.
15761         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
15762
15763 2011-07-08  Bruno Haible  <bruno@clisp.org>
15764
15765         pthread_sigmask: Work around IRIX bug.
15766         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
15767         bug.
15768         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
15769         there may be unblocked pending signals.
15770         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
15771
15772 2011-07-08  Bruno Haible  <bruno@clisp.org>
15773
15774         pthread_sigmask: Work around Cygwin bug.
15775         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
15776         bug.
15777         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
15778         the system's pthread_sigmask function.
15779         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
15780
15781 2011-07-08  Bruno Haible  <bruno@clisp.org>
15782
15783         pthread_sigmask: Work around bug in single-threaded implementation.
15784         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
15785         FreeBSD, HP-UX, Solaris bug.
15786         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
15787         * lib/pthread_sigmask.c: Include <stddef.h>.
15788         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
15789         the system's pthread_sigmask function.
15790         * modules/pthread_sigmask (configure.ac): Invoke
15791         gl_PREREQ_PTHREAD_SIGMASK.
15792         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
15793         HP-UX, Solaris.
15794
15795 2011-07-08  Eric Blake  <eblake@redhat.com>
15796
15797         test-sigprocmask: avoid compiler warning
15798         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
15799         * tests/test-sigprocmask.c (main): Use it to silence warning.
15800         Reported by Jim Meyering.
15801
15802         test-snprintf: avoid compiler warning
15803         * tests/test-snprintf.c (main): Avoid shadowed declaration.
15804         * tests/test-vsnprintf.c (main): Likewise.
15805         Reported by Jim Meyering.
15806
15807 2011-07-08  Bruno Haible  <bruno@clisp.org>
15808
15809         Tests for module 'pthread_sigmask'.
15810         * modules/pthread_sigmask-tests: New file.
15811         * tests/test-pthread_sigmask1.c: New file, based on
15812         tests/test-sigprocmask.c.
15813         * tests/test-pthread_sigmask2.c: New file.
15814
15815 2011-07-08  Jim Meyering  <meyering@redhat.com>
15816
15817         test-getopt.h: avoid warning about an unused variable
15818         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
15819
15820 2011-07-07  Jim Meyering  <meyering@redhat.com>
15821
15822         maint: reduce list of files exempt from sc_prohibit_leading_TABs
15823         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
15824         now that it no longer contains leading TABs.
15825         Remove unused "url=FIXME" statement.
15826
15827 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
15828
15829         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
15830         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15831         When gl_THREADLIB is not in use, assume that the POSIX sematics
15832         are desired.  This is better for Emacs, which uses POSIX semantics
15833         on GNUish and/or POSIXish platforms, and does not use threads at
15834         all otherwise.
15835
15836         pthread_sigmask: fix typo when testing for libraries
15837         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15838         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
15839
15840 2011-07-08  Eric Blake  <eblake@redhat.com>
15841
15842         fts: introduce FTS_NOATIME
15843         * lib/fts_.h (FTS_NOATIME): New bit flag.
15844         (FTS_OPTIONMASK): Adjust.
15845         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
15846         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
15847
15848 2011-07-08  Bruno Haible  <bruno@clisp.org>
15849
15850         Tests for module 'thread'.
15851         * modules/thread-tests: New file.
15852         * tests/test-thread_self.c: New file.
15853         * tests/test-thread_create.cc: New file.
15854
15855 2011-07-08  Bruno Haible  <bruno@clisp.org>
15856
15857         thread: Avoid gcc warnings when using gl_thread_self().
15858         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
15859         'void *'.
15860         (gl_thread_self_pointer): Update.
15861
15862 2011-07-07  Bruno Haible  <bruno@clisp.org>
15863
15864         signal-c++-tests: Check declaration of pthread_sigmask.
15865         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
15866         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
15867         $(LIB_PTHREAD_SIGMASK).
15868
15869 2011-07-07  Bruno Haible  <bruno@clisp.org>
15870
15871         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
15872         * lib/signal.in.h (pthread_sigmask): Override if
15873         REPLACE_PTHREAD_SIGMASK is 1.
15874         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
15875         REPLACE_PTHREAD_SIGMASK.
15876         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
15877         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
15878         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
15879         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
15880         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
15881
15882 2011-07-07  Bruno Haible  <bruno@clisp.org>
15883
15884         pthread_sigmask: Ensure declaration in <signal.h>.
15885         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
15886         include <pthread.h>.
15887         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
15888         problem.
15889
15890 2011-07-07  Bruno Haible  <bruno@clisp.org>
15891
15892         pthread_sigmask: Document the module.
15893         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
15894
15895 2011-07-07  Bruno Haible  <bruno@clisp.org>
15896
15897         pthread_sigmask: Follow gnulib conventions.
15898         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
15899         gl_PTHREAD_SIGMASK.
15900         * modules/pthread_sigmask (configure.ac): Update.
15901
15902 2011-07-07  Bruno Haible  <bruno@clisp.org>
15903
15904         pthread_sigmask: Make declaration C++ safe.
15905         * lib/signal.in.h: In two special conditions, just do an #include_next.
15906         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
15907         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
15908         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
15909         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
15910         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
15911         not REPLACE_PTHREAD_MASK.
15912         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
15913         not REPLACE_PTHREAD_MASK.
15914         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
15915
15916 2011-07-07  Bruno Haible  <bruno@clisp.org>
15917
15918         pthread_sigmask: Fix return value.
15919         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
15920         * lib/pthread_sigmask.c: New file.
15921         * modules/pthread_sigmask (Files): Add it.
15922         (configure.ac): Invoke AC_LIBOBJ.
15923
15924 2011-07-07  Eric Blake  <eblake@redhat.com>
15925
15926         getopt: more portable argv creation
15927         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
15928         const, use char arrays rather than strings.
15929         Suggested by Paul Eggert.
15930
15931 2011-07-07  Bruno Haible  <bruno@clisp.org>
15932
15933         Tests for module 'sigprocmask'.
15934         * modules/sigprocmask-tests: New file.
15935         * tests/test-sigprocmask.c: New file.
15936
15937 2011-07-07  Bruno Haible  <bruno@clisp.org>
15938
15939         float tests: Tweak.
15940         * tests/test-float.c (main): Tweak skip message.
15941
15942 2011-07-07  Eric Blake  <eblake@redhat.com>
15943
15944         getopt: avoid compiler warning during configure
15945         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
15946         assigning string literals to non-const pointer.
15947
15948         getopt-gnu: avoid crash in glibc getopt
15949         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
15950         * tests/test-getopt.h (test_getopt): Enhance test.
15951         * tests/test-getopt_long.h (test_getopt_long): Likewise.
15952         * doc/posix-functions/getopt.texi (getopt): Document it.
15953         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
15954         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
15955         Likewise.
15956
15957 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
15958
15959         getopt: handle W; without long options in getopt [BZ #12922]
15960         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
15961         but no long options are defined, just return 'W'.
15962
15963 2011-07-07  Bruno Haible  <bruno@clisp.org>
15964
15965         Avoid literal tabs.
15966         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
15967         variable containing a tab instead of a literal tab.
15968         Reported by Jim Meyering.
15969
15970 2011-07-07  Bruno Haible  <bruno@clisp.org>
15971
15972         Comments.
15973         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
15974
15975 2011-07-06  Bruno Haible  <bruno@clisp.org>
15976
15977         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
15978         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
15979         <winsock2.h>.
15980         (rpl_fd_isset, FD_ISSET): New definitions, copied from
15981         lib/sys_socket.in.h.
15982         (close, gethostname): Hide declarations from <winsock2.h>.
15983         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
15984         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
15985         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
15986         (select): Don't override if gnulib's <sys/select.h> was already
15987         included.
15988         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
15989         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
15990         setsockopt, shutdown, select): Tweak indentation.
15991
15992 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
15993
15994         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
15995         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
15996         in an application that does not use the sys_select module.
15997
15998 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
15999
16000         poll: do not return 0 on timeout=-1
16001         * lib/poll.c: Loop with yield if no events occurred.
16002
16003 2011-07-06  Eric Blake  <eblake@redhat.com>
16004
16005         pthread_sigmask: always replace when not using pthread
16006         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
16007         replacement when using some threading other than pthread.  Fix
16008         logic bug.
16009
16010 2011-07-06  Bruno Haible  <bruno@clisp.org>
16011
16012         Comments.
16013         * m4/printf.m4: Update comments about mingw.
16014
16015 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16016
16017         sys_select: define sigset_t more portably
16018         * lib/sys_select.in.h: Always include <sys/types.h>, since
16019         we now need sigset_t and mingw defines it there.
16020         Include <signal.h> before split inclusion guard, to avoid
16021         mishaps on Solaris, whose <signal.h> eventually includes us.
16022         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
16023         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
16024         which come from ...
16025         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
16026         gl_CHECK_TYPE_SIGSET_T.
16027         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
16028         does the real work.
16029         * modules/sys_select (Depends-on): Add 'signal'.
16030
16031         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
16032         Suggested by Bruno Haible.
16033
16034         pselect: Use pthread_sigmask, not sigprocmask.
16035         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
16036         multithreaded apps better than sigprocmask does.
16037         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
16038         sigprocmask directly.
16039
16040 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
16041
16042         * lib/pselect.c (pselect): Use plain name, without "rpl_".
16043         Don't #undef,  since we don't need any underlying pselect.
16044         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
16045         (Depends-on): Add select.
16046         (Link): Add $(LIBSOCKET).
16047         These changes suggested by Bruno Haible.
16048
16049         pselect: document better
16050         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16051         * doc/posix-functions/pselect.texi (pselect): Document new module.
16052
16053         pthread_sigmask: new module
16054         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16055         * doc/posix-functions/pthread_sigmask.texi: Document new module.
16056         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
16057         This is done only as a macro; I don't know how well that'll
16058         work for C++.  Move <sys/types.h> include before the include_next,
16059         to avoid mishap on Solaris.
16060         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
16061         * modules/signal (Makefile.am): Substitute the check's results.
16062         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
16063
16064         test-pselect: new module
16065         * modules/pselect-tests, tests/test-pselect.c: New files.
16066         * tests/test-select.c, tests/test-sys_select-c++.cc:
16067         If TEST_PSELECT is defined, test pselect instead of testing select.
16068
16069         * tests/test-sys_select.c (sigset_t): Test for it, too.
16070         Suggested by Bruno Haible.
16071
16072 2011-07-05  Eric Blake  <eblake@redhat.com>
16073
16074         snprintf: guarantee %1$d, for libintl
16075         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
16076         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
16077         * doc/posix-functions/snprintf.texi (snprintf): Update.
16078         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16079         * tests/test-snprintf.c (main): Enhance test.
16080         * tests/test-vsnprintf.c (main): Likewise.
16081
16082 2011-07-05  Jim Meyering  <meyering@redhat.com>
16083
16084         maint: exempt stdio-read.c and stdio-write.c from the cppi check
16085         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
16086         per Bruno's request, to accommodate this idiom (no space after "#")
16087         even when the function is inside an #if block:
16088         char *
16089         gets (char *s)
16090         #undef gets
16091         {
16092           ...
16093         }
16094
16095 2011-07-04  Jim Meyering  <meyering@redhat.com>
16096
16097         maint: indent with spaces, not TABs, and add a rule to check this
16098         * tests/test-userspec.c: Indent with spaces, not TABs.
16099         * tests/test-argp.c: Likewise.
16100         * tests/test-c-stack2.sh: Likewise.
16101         * tests/test-parse-duration.sh: Likewise
16102         * m4/strtod.m4: Likewise.
16103         * m4/alloca.m4: Likewise.
16104         * m4/pselect.m4: Likewise.
16105         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
16106
16107 2011-07-03  Jim Meyering  <meyering@redhat.com>
16108
16109         maint.mk: correct omissions in prohibit_argmatch_without_use check
16110         This rule would mistakenly report that argmatch.h is included without
16111         use even when both the argmatch and invalid_arg macro were used.
16112         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
16113         of argmatch and invalid_arg.
16114
16115 2011-07-03  Bruno Haible  <bruno@clisp.org>
16116
16117         Comments about EINTR.
16118         * lib/safe-read.h: Explain the purpose of this module.
16119         * lib/safe-write.h: Likewise.
16120         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
16121         module.
16122         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
16123         module.
16124         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16125
16126 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
16127
16128         xnanosleep: Rewrite to use new dtotimespec module.
16129         It has the conversion code that used to be in xnanosleep.
16130         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
16131         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
16132         (TIME_T_MAX): Remove.
16133         (xnanosleep): Rewrite in terms of dtotimespec.
16134         * modules/xnanosleep (Depends-on): Add dtotimespec.
16135         Remove intprops, stdbool.
16136
16137         timespec-add, timespec-sub: new modules
16138         * lib/timespec.h (timespec_add, timespec_sub): New decls.
16139         * lib/timespec-add.c, lib/timespec-sub.c:
16140         * modules/timespec-add, modules/timespec-sub: New files.
16141
16142         dtotimespec: new module
16143         * lib/timespec.h (dtotimespec): New decl.
16144         * lib/dtotimespec.c, modules/dtotimespec: New files.
16145
16146         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
16147
16148         pselect: new module
16149         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
16150         (pselect): New decls.
16151         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
16152         since the standard pselect decl uses 'restrict'.
16153         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
16154         HAVE_PSELECT, REPLACE_PSELECT.
16155         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
16156         HAVE_PSELECT, REPLACE_PSELECT.
16157         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
16158
16159         sys_select: don't depend on sys_socket
16160         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
16161         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
16162         This fix works on GNU and GNU-like platforms, but has not been tested
16163         on native Windows.
16164         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
16165         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
16166         gl_HEADER_SYS_SOCKET.
16167         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
16168         gl_PREREQ_SYS_H_WINSOCK2.
16169
16170 2011-06-29  Eric Blake  <eblake@redhat.com>
16171
16172         pipe2: fix C89 compile problem
16173         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
16174         Reported by Bruno Haible.
16175
16176         pipe, pipe2: don't corrupt fd on error
16177         * lib/pipe.c (pipe): Leave fd unchanged on error.
16178         * lib/pipe2.c (pipe2): Likewise.
16179         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
16180         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
16181
16182 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
16183
16184         mmap-anon: do not use regular expressions inadvertently
16185         * m4/mmap-anon.m4: Remove trailing period from strings sought
16186         in the output.
16187
16188 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
16189
16190         nanosleep: fix integer overflow problem
16191         * lib/nanosleep.c (my_usleep): Don't assume signed integer
16192         arithmetic wraps around on overflow.
16193
16194         nanosleep: simplify carrying
16195         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
16196         first call to the underyling nanosleep, not for the last one.
16197         This doesn't fix any bugs, but it simplifies the computation of
16198         the remaining delay.  Found while auditing integer overflow issues.
16199
16200         dup2: remove test for existence of fcntl
16201         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
16202         "#if HAVE_FCNTL", in the configure-time test program.
16203         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
16204         and therefore speeds up "configure" a bit.  Found while
16205         adding the dup2 module to Emacs.
16206
16207 2011-06-24  Eric Blake  <eblake@redhat.com>
16208
16209         maint.mk: enhance useless header checks
16210         * top/maint.mk (_sc_header_without_use): Check both include
16211         styles.
16212         (sc_prohibit_assert_without_use)
16213         (sc_prohibit_close_stream_without_use)
16214         (sc_prohibit_getopt_without_use)
16215         (sc_prohibit_quotearg_without_use)
16216         (sc_prohibit_quote_without_use)
16217         (sc_prohibit_long_options_without_use)
16218         (sc_prohibit_inttostr_without_use)
16219         (sc_prohibit_ignore_value_without_use)
16220         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
16221         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
16222         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
16223         (sc_prohibit_hash_pjw_without_use)
16224         (sc_prohibit_safe_read_without_use)
16225         (sc_prohibit_argmatch_without_use)
16226         (sc_prohibit_canonicalize_without_use)
16227         (sc_prohibit_root_dev_ino_without_use)
16228         (sc_prohibit_openat_without_use)
16229         (sc_prohibit_c_ctype_without_use)
16230         (sc_prohibit_signal_without_use)
16231         (sc_prohibit_stdio--_without_use)
16232         (sc_prohibit_stdio-safer_without_use)
16233         (sc_prohibit_strings_without_use)
16234         (sc_prohibit_intprops_without_use)
16235         (sc_prohibit_stddef_without_use)
16236         (sc_prohibit_xfreopen_without_use): Update clients.
16237
16238 2011-06-24  Jim Meyering  <meyering@redhat.com>
16239
16240         syntax-check: keep one maint.mk rule in sync with its header
16241         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
16242         of the bug Eric has just fixed, with today's commit 25e4c2ec.
16243         I prefer to avoid temporary files here, so use <(...), but that
16244         is not supported by /bin/sh, so...
16245         (SHELL): Define to /bin/bash.
16246
16247 2011-06-24  Eric Blake  <eblake@redhat.com>
16248
16249         maint.mk: update sc_prohibit_intprops_without_use
16250         * top/maint.mk (_intprops_names): Match recent changes.
16251
16252 2011-06-24  Bruno Haible  <bruno@clisp.org>
16253
16254         strerror-override: No-op tweak.
16255         * lib/strerror-override.h (strerror_override): Reorder conditions,
16256         for consistency with lib/strerror-override.c.
16257
16258 2011-06-23  Eric Blake  <eblake@redhat.com>
16259
16260         maint.mk: test further PATH_MAX issues
16261         * top/maint.mk (sc_prohibit_path_max_array): Rename...
16262         (sc_prohibit_path_max_allocation): ...and also test alloca.
16263         Suggested by Jim Meyering.
16264
16265 2011-06-22  Eric Blake  <eblake@redhat.com>
16266
16267         maint.mk: add syntax-check to avoid char[PATH_MAX]
16268         * top/maint.mk (sc_prohibit_path_max_array): New rule.
16269
16270         stat: be robust to PATH_MAX definition
16271         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
16272         * modules/stat (Depends-on): Add verify.
16273
16274         link: work around IRIX bug
16275         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
16276         * lib/link.c (rpl_link): Work around it.
16277         * tests/test-link.h (test_link): Enhance test.
16278         * doc/posix-functions/link.texi (link): Document the bug.
16279
16280         getopt: silence clang warning
16281         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
16282         dereference.
16283         Reported by Gustavo Martin Domato.
16284
16285 2011-06-22  Jim Meyering  <meyering@redhat.com>
16286
16287         bootstrap: do not insert a blank line into each .gitignore file
16288         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
16289
16290 2011-06-21  Eric Blake  <eblake@redhat.com>
16291
16292         perror: test for output mismatch
16293         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
16294         perror on IRIX.
16295
16296         strerror_r: fix OpenBSD behavior on out-of-range
16297         * lib/strerror_r.c (strerror_r): Always use maximal string.
16298         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16299
16300         strerror_r: fix OpenBSD behavior on 0
16301         * lib/strerror-override.c (strerror_override): Also override 0
16302         when needed.
16303         * lib/strerror-override.h (strerror_override): Likewise.
16304         * lib/strerror.c (strerror): Simplify, now that 0 override is done
16305         earlier.
16306         * lib/strerror_r.c (strerror_r): Likewise.
16307         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
16308         behavior...
16309         (gl_FUNC_STRERROR_0): ...into new macro.
16310         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
16311         is overridden.
16312         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
16313         * modules/strerror-override (Files): Add strerror.m4.
16314         (configure.ac): Also provide override for 0 when needed.
16315         * doc/posix-functions/strerror.texi (strerror): Document this.
16316         * doc/posix-functions/perror.texi (perror): Likewise.
16317
16318         perror: adjust array size
16319         * modules/perror (Depends-on): Add strerror-override.
16320         * lib/perror.c (perror): Use it to avoid magic number.
16321
16322         strerror-override: reduce size
16323         * lib/strerror-override.c (strerror_override): Use fewer lines.
16324
16325 2011-06-20  Bruno Haible  <bruno@clisp.org>
16326
16327         pathmax: Ensure correct value for PATH_MAX on HP-UX.
16328         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
16329
16330 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
16331
16332         alloca: port to compilers that can optimize like GCC 4.6.0
16333         * lib/alloca.c (find_stack_direction): New signature, taken from
16334         Autoconf git.  This works with GCC 4.6.0.  This code should never
16335         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
16336         be used with other compilers that optimize as well as GCC 4.6.0 does.
16337         (alloca): Adjust to new signature.
16338         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
16339         New macro, which patches Autoconf in a similar way.
16340
16341         c-stack: stop worrying about stack direction
16342         * lib/c-stack.c (find_stack_direction): Remove.
16343         (segv_handler): Don't worry about stack direction growth, as it's
16344         too much of a pain to configure this correctly, given how compilers
16345         are optimizing-away our stack-growth detection code.  Instead, assume
16346         that any access to just before or just after the stack is OK.
16347         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
16348         Don't require AC_FUNC_ALLOCA; no longer needed.
16349
16350 2011-06-20  Eric Blake  <eblake@redhat.com>
16351
16352         test-stat: don't allocate PATH_MAX bytes
16353         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
16354         PATH_MAX-sized buffer.
16355         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
16356         * modules/stat-tests (Depends-on): Likewise.
16357         * tests/test-fstatat.c (includes): Drop pathmax.h.
16358         * tests/test-stat.c (includes): Likewise.
16359         Reported by Bruno Haible.
16360
16361 2011-06-20  Bruno Haible  <bruno@clisp.org>
16362
16363         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
16364         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
16365         * lib/float.c: New file.
16366         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
16367         REPLACE_FLOAT_LDBL.
16368         * modules/float (Files): Add lib/float.c.
16369         (configure.ac): Invoke AC_LIBOBJ.
16370         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
16371
16372 2011-06-20  Bruno Haible  <bruno@clisp.org>
16373
16374         Tests for module 'float'.
16375         * modules/float-tests: New file.
16376         * tests/test-float.c: New file.
16377
16378 2011-06-19  Bruno Haible  <bruno@clisp.org>
16379
16380         isinf: Coding style.
16381         * lib/isinf.c: Use GNU coding style.
16382
16383 2011-06-19  Bruno Haible  <bruno@clisp.org>
16384
16385         linkat test: Avoid test failure on AIX 7.1.
16386         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
16387         * tests/test-link.h (test_link): Likewise.
16388
16389 2011-06-19  Bruno Haible  <bruno@clisp.org>
16390
16391         pread test: Avoid test failure on OpenBSD 4.9.
16392         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
16393
16394 2011-06-19  Bruno Haible  <bruno@clisp.org>
16395
16396         sprintf-posix: Fix test failure on AIX 7.1.
16397         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
16398         * doc/posix-functions/dprintf.texi: Mention limited precision problem
16399         on AIX.
16400         * doc/posix-functions/fprintf.texi: Likewise.
16401         * doc/posix-functions/printf.texi: Likewise.
16402         * doc/posix-functions/snprintf.texi: Likewise.
16403         * doc/posix-functions/sprintf.texi: Likewise.
16404         * doc/posix-functions/vdprintf.texi: Likewise.
16405         * doc/posix-functions/vfprintf.texi: Likewise.
16406         * doc/posix-functions/vprintf.texi: Likewise.
16407         * doc/posix-functions/vsnprintf.texi: Likewise.
16408         * doc/posix-functions/vsprintf.texi: Likewise.
16409
16410 2011-06-19  Bruno Haible  <bruno@clisp.org>
16411
16412         roundl-ieee: Fix test failure on AIX 7.1.
16413         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
16414         * doc/posix-functions/roundl.texi: Mention problem with negative
16415         arguments.
16416
16417 2011-06-19  Bruno Haible  <bruno@clisp.org>
16418
16419         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16420         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
16421         * doc/posix-functions/round.texi: Mention problem with negative
16422         arguments.
16423         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
16424
16425 2011-06-19  Bruno Haible  <bruno@clisp.org>
16426
16427         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16428         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
16429         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
16430         * doc/posix-functions/roundf.texi: Mention problem with negative
16431         arguments.
16432         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
16433
16434 2011-06-19  Bruno Haible  <bruno@clisp.org>
16435
16436         ceilf-ieee: Work around bug on MacOS X 10.5.
16437         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
16438
16439         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
16440         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
16441         IEEE compliant, avoid compiler optimizations.
16442         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
16443         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
16444         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
16445         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
16446         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16447         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
16448         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16449         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16450         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
16451         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
16452
16453 2011-06-19  Bruno Haible  <bruno@clisp.org>
16454
16455         ceilf-ieee: Work around bug on AIX 7.1.
16456         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
16457         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
16458
16459 2011-06-19  Bruno Haible  <bruno@clisp.org>
16460
16461         ceil-ieee: Work around bug on AIX 7.1.
16462         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
16463         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
16464
16465 2011-06-18  Bruno Haible  <bruno@clisp.org>
16466
16467         fsync test: Avoid test failure on MacOS X and AIX.
16468         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
16469         EINVAL.
16470
16471 2011-06-18  Bruno Haible  <bruno@clisp.org>
16472
16473         openat, fdopendir tests: Fix link errors.
16474         * modules/openat-tests (Depends-on): Add progname.
16475         * modules/fdopendir-tests (Depends-on): Likewise.
16476         * tests/test-fchownat.c: Include progname.h.
16477         (main): Call set_program_name.
16478         * tests/test-fstatat.c: Include progname.h.
16479         (main): Call set_program_name.
16480         * tests/test-mkdirat.c: Include progname.h.
16481         (main): Call set_program_name.
16482         * tests/test-openat.c: Include progname.h.
16483         (main): Call set_program_name.
16484         * tests/test-unlinkat.c: Include progname.h.
16485         (main): Call set_program_name.
16486         * tests/test-fdopendir.c: Include progname.h.
16487         (main): Call set_program_name.
16488
16489 2011-06-18  Bruno Haible  <bruno@clisp.org>
16490
16491         Doc update.
16492         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
16493         HP-UX.
16494         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
16495
16496 2011-06-18  Bruno Haible  <bruno@clisp.org>
16497
16498         getcwd tests: Avoid compilation error on HP-UX 11.31.
16499         * modules/getcwd-tests (Depends-on): Add pathmax.
16500         * tests/test-getcwd.c: Include pathmax.h.
16501
16502 2011-06-18  Bruno Haible  <bruno@clisp.org>
16503
16504         isfinite, isinf: Fix link error on AIX 6 and 7.
16505         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
16506         needed, also test the macro with a 'float' argument.
16507         * m4/isinf.m4 (gl_ISINF): Likewise.
16508
16509 2011-06-18  Bruno Haible  <bruno@clisp.org>
16510
16511         getloadavg: Don't clobber LIBS. Regression from previous commit.
16512         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
16513         AC_CHECK_LIB from here...
16514         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
16515         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
16516         gl_func_getloadavg_done.
16517         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16518
16519 2011-06-18  Bruno Haible  <bruno@clisp.org>
16520
16521         clean-temp: Improve documentation.
16522         * lib/clean-temp.h: Explain better how to use this module.
16523         Reported by John Darrington <john@darrington.wattle.id.au>.
16524
16525 2011-06-17  Bruno Haible  <bruno@clisp.org>
16526
16527         pread, pwrite: Avoid cc warning on AIX.
16528         * lib/unistd.in.h (pread): Undefine before defining as a macro.
16529         (pwrite): Likewise.
16530
16531 2011-06-17  Bruno Haible  <bruno@clisp.org>
16532
16533         spawn-pipe tests: Fix link error.
16534         * tests/test-spawn-pipe-child.c: Undefine fprintf.
16535         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16536
16537 2011-06-17  Bruno Haible  <bruno@clisp.org>
16538
16539         Tests: Remove unnecessary dependency.
16540         * modules/canonicalize-tests (Depends-on): Remove progname.
16541         * modules/chown-tests (Depends-on): Likewise.
16542         * modules/dirname-tests (Depends-on): Likewise.
16543         * modules/fdopendir-tests (Depends-on): Likewise.
16544         * modules/fdutimensat-tests (Depends-on): Likewise.
16545         * modules/hash-tests (Depends-on): Likewise.
16546         * modules/lchown-tests (Depends-on): Likewise.
16547         * modules/linkat-tests (Depends-on): Likewise.
16548         * modules/renameat-tests (Depends-on): Likewise.
16549         * modules/spawn-pipe-tests (Depends-on): Likewise.
16550         * modules/utimensat-tests (Depends-on): Likewise.
16551
16552 2011-06-17  Bruno Haible  <bruno@clisp.org>
16553
16554         spawn-pipe tests: Fix link error.
16555         * tests/test-spawn-pipe-child.c: Undefine fflush.
16556
16557 2011-06-17  Bruno Haible  <bruno@clisp.org>
16558
16559         Fix tests link errors.
16560         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
16561         * modules/chown-tests (Makefile.am): Don't link test-chown with
16562         LIBINTL.
16563         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
16564         LIBINTL.
16565         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
16566         LIBINTL.
16567         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
16568         LIBINTL.
16569
16570 2011-06-16  Bruno Haible  <bruno@clisp.org>
16571
16572         crypto/gc-sha1: Fix recent regression.
16573         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
16574         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
16575
16576         crypto/gc-md5: Fix recent regression.
16577         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
16578
16579         crypto/gc-md4: Fix recent regression.
16580         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
16581         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
16582
16583         crypto/gc-arctwo: Fix recent regression.
16584         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
16585         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
16586
16587         crypto/gc-rijndael: Fix recent regression.
16588         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
16589         (configure.ac): Invoke AC_LIBOBJ here.
16590         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
16591         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16592
16593         crypto/gc-hmac-sha1: Fix recent regression.
16594         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
16595         (configure.ac): Invoke AC_LIBOBJ here.
16596         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
16597         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16598
16599         crypto/gc-hmac-md5: Fix recent regression.
16600         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
16601         (configure.ac): Invoke AC_LIBOBJ here.
16602         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
16603         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16604
16605         crypto/gc-des: Fix recent regression.
16606         * modules/crypto/gc-des (Files): Remove m4/des.m4.
16607         (configure.ac): Invoke AC_LIBOBJ here.
16608         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
16609         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16610
16611         crypto/gc-arcfour: Fix recent regression.
16612         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
16613         (configure.ac): Invoke AC_LIBOBJ here.
16614         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
16615         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16616
16617 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
16618
16619         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
16620         After the 2011-05-21 change, this macro requires
16621         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
16622         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
16623
16624 2011-06-16  Bruno Haible  <bruno@clisp.org>
16625
16626         fprintftime: Move AC_LIBOBJ invocations to module description.
16627         * m4/fprintftime.m4: Remove file.
16628         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
16629         (configure.ac): Remove gl_FPRINTFTIME call.
16630         (Makefile.am): Augment lib_SOURCES.
16631         Reported by Jim Meyering.
16632
16633 2011-06-16  Bruno Haible  <bruno@clisp.org>
16634
16635         tmpfile-safer: Finish 2011-05-23 commit.
16636         * m4/stdio-safer.m4: Really remove file.
16637         Reported by Jim Meyering.
16638
16639 2011-06-16  Bruno Haible  <bruno@clisp.org>
16640
16641         syntax-check: Fix typo.
16642         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
16643         printf-posix.m4.
16644         Reported by Jim Meyering.
16645
16646 2011-06-13  Jim Meyering  <meyering@redhat.com>
16647
16648         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
16649         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
16650
16651 2011-05-23  Bruno Haible  <bruno@clisp.org>
16652
16653         yesno: Move AC_LIBOBJ invocations to module description.
16654         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
16655         * modules/yesno (Makefile.am): Augment lib_SOURCES.
16656
16657 2011-05-23  Bruno Haible  <bruno@clisp.org>
16658
16659         xstrtol: Move AC_LIBOBJ invocations to module description.
16660         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
16661         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
16662
16663 2011-05-23  Bruno Haible  <bruno@clisp.org>
16664
16665         xstrtold: Move AC_LIBOBJ invocations to module description.
16666         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
16667         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
16668
16669 2011-05-23  Bruno Haible  <bruno@clisp.org>
16670
16671         xstrtod: Move AC_LIBOBJ invocations to module description.
16672         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
16673         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
16674
16675 2011-05-23  Bruno Haible  <bruno@clisp.org>
16676
16677         xnanosleep: Move AC_LIBOBJ invocations to module description.
16678         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
16679         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
16680
16681 2011-05-23  Bruno Haible  <bruno@clisp.org>
16682
16683         xgetcwd: Move AC_LIBOBJ invocations to module description.
16684         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
16685         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
16686
16687 2011-05-23  Bruno Haible  <bruno@clisp.org>
16688
16689         xalloc: Move AC_LIBOBJ invocations to module description.
16690         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
16691         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
16692
16693 2011-05-23  Bruno Haible  <bruno@clisp.org>
16694
16695         write-any-file: Move AC_LIBOBJ invocations to module description.
16696         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
16697         invocation.
16698         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
16699
16700 2011-05-23  Bruno Haible  <bruno@clisp.org>
16701
16702         utimens: Move AC_LIBOBJ invocations to module description.
16703         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
16704         * modules/utimens (Makefile.am): Augment lib_SOURCES.
16705
16706 2011-05-23  Bruno Haible  <bruno@clisp.org>
16707
16708         utimecmp: Move AC_LIBOBJ invocations to module description.
16709         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
16710         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
16711
16712 2011-05-23  Bruno Haible  <bruno@clisp.org>
16713
16714         userspec: Move AC_LIBOBJ invocations to module description.
16715         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
16716         * modules/userspec (Makefile.am): Augment lib_SOURCES.
16717
16718 2011-05-23  Bruno Haible  <bruno@clisp.org>
16719
16720         unlinkdir: Move AC_LIBOBJ invocations to module description.
16721         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
16722         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
16723
16724 2011-05-23  Bruno Haible  <bruno@clisp.org>
16725
16726         unistd-safer: Move AC_LIBOBJ invocations to module description.
16727         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
16728         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
16729
16730 2011-05-23  Bruno Haible  <bruno@clisp.org>
16731
16732         tempname: Move AC_LIBOBJ invocations to module description.
16733         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
16734         * modules/tempname (Makefile.am): Augment lib_SOURCES.
16735
16736 2011-05-23  Bruno Haible  <bruno@clisp.org>
16737
16738         strftime: Move AC_LIBOBJ invocations to module description.
16739         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
16740         * modules/strftime (Makefile.am): Augment lib_SOURCES.
16741
16742 2011-05-23  Bruno Haible  <bruno@clisp.org>
16743
16744         stdlib-safer: Move AC_LIBOBJ invocations to module description.
16745         * m4/stdlib-safer.m4: Remove file.
16746         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
16747         (configure.ac): Remove gl_STDLIB_SAFER call.
16748         (Makefile.am): Augment lib_SOURCES.
16749
16750 2011-05-23  Bruno Haible  <bruno@clisp.org>
16751
16752         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
16753         * m4/stdio-safer.m4: Remove file.
16754         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
16755         (configure.ac): Remove gl_TMPFILE_SAFER call.
16756         (Makefile.am): Augment lib_SOURCES.
16757
16758 2011-05-23  Bruno Haible  <bruno@clisp.org>
16759
16760         popen-safer: Move AC_LIBOBJ invocations to module description.
16761         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
16762         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
16763         (configure.ac): Remove gl_POPEN_SAFER call.
16764         (Makefile.am): Augment lib_SOURCES.
16765
16766 2011-05-23  Bruno Haible  <bruno@clisp.org>
16767
16768         freopen-safer: Move AC_LIBOBJ invocations to module description.
16769         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
16770         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
16771         (configure.ac): Remove gl_FREOPEN_SAFER call.
16772         (Makefile.am): Augment lib_SOURCES.
16773
16774 2011-05-23  Bruno Haible  <bruno@clisp.org>
16775
16776         fopen-safer: Move AC_LIBOBJ invocations to module description.
16777         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
16778         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
16779         (configure.ac): Remove gl_FOPEN_SAFER call.
16780         (Makefile.am): Augment lib_SOURCES.
16781
16782 2011-05-23  Bruno Haible  <bruno@clisp.org>
16783
16784         crypto/sha512: Move AC_LIBOBJ invocations to module description.
16785         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
16786         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
16787
16788 2011-05-23  Bruno Haible  <bruno@clisp.org>
16789
16790         crypto/sha256: Move AC_LIBOBJ invocations to module description.
16791         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
16792         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
16793
16794 2011-05-23  Bruno Haible  <bruno@clisp.org>
16795
16796         crypto/sha1: Move AC_LIBOBJ invocations to module description.
16797         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
16798         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
16799
16800 2011-05-23  Bruno Haible  <bruno@clisp.org>
16801
16802         settime: Move AC_LIBOBJ invocations to module description.
16803         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
16804         * modules/settime (Makefile.am): Augment lib_SOURCES.
16805
16806 2011-05-23  Bruno Haible  <bruno@clisp.org>
16807
16808         savedir: Move AC_LIBOBJ invocations to module description.
16809         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
16810         * modules/savedir (Makefile.am): Augment lib_SOURCES.
16811
16812 2011-05-23  Bruno Haible  <bruno@clisp.org>
16813
16814         save-cwd: Move AC_LIBOBJ invocations to module description.
16815         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
16816         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
16817
16818 2011-05-23  Bruno Haible  <bruno@clisp.org>
16819
16820         same: Move AC_LIBOBJ invocations to module description.
16821         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
16822         * modules/same (Makefile.am): Augment lib_SOURCES.
16823
16824 2011-05-23  Bruno Haible  <bruno@clisp.org>
16825
16826         safe-write: Move AC_LIBOBJ invocations to module description.
16827         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
16828         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
16829         instead of gl_SAFE_WRITE.
16830         (Makefile.am): Augment lib_SOURCES.
16831
16832 2011-05-23  Bruno Haible  <bruno@clisp.org>
16833
16834         safe-read: Move AC_LIBOBJ invocations to module description.
16835         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
16836         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
16837         of gl_SAFE_READ.
16838         (Makefile.am): Augment lib_SOURCES.
16839
16840 2011-05-23  Bruno Haible  <bruno@clisp.org>
16841
16842         safe-alloc: Move AC_LIBOBJ invocations to module description.
16843         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
16844         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
16845
16846 2011-05-23  Bruno Haible  <bruno@clisp.org>
16847
16848         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
16849         * m4/rijndael.m4: Remove file.
16850         * modules/crypto/rijndael (Files): Remove it.
16851         (configure.ac): Remove gl_RIJNDAEL call.
16852         (Makefile.am): Augment lib_SOURCES.
16853
16854 2011-05-23  Bruno Haible  <bruno@clisp.org>
16855
16856         readtokens: Move AC_LIBOBJ invocations to module description.
16857         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
16858         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
16859
16860 2011-05-23  Bruno Haible  <bruno@clisp.org>
16861
16862         read-file: Move AC_LIBOBJ invocations to module description.
16863         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
16864         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
16865         of gl_FUNC_READ_FILE.
16866         (Makefile.am): Augment lib_SOURCES.
16867
16868 2011-05-23  Bruno Haible  <bruno@clisp.org>
16869
16870         quotearg: Move AC_LIBOBJ invocations to module description.
16871         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
16872         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
16873
16874 2011-05-23  Bruno Haible  <bruno@clisp.org>
16875
16876         quote: Move AC_LIBOBJ invocations to module description.
16877         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
16878         * modules/quote (Makefile.am): Augment lib_SOURCES.
16879
16880 2011-05-23  Bruno Haible  <bruno@clisp.org>
16881
16882         posixver: Move AC_LIBOBJ invocations to module description.
16883         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
16884         * modules/posixver (Makefile.am): Augment lib_SOURCES.
16885
16886 2011-05-23  Bruno Haible  <bruno@clisp.org>
16887
16888         posixtm: Move AC_LIBOBJ invocations to module description.
16889         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
16890         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
16891
16892 2011-05-23  Bruno Haible  <bruno@clisp.org>
16893
16894         physmem: Move AC_LIBOBJ invocations to module description.
16895         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
16896         * modules/physmem (Makefile.am): Augment lib_SOURCES.
16897
16898 2011-05-23  Bruno Haible  <bruno@clisp.org>
16899
16900         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
16901         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
16902         invocation.
16903         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
16904
16905 2011-05-23  Bruno Haible  <bruno@clisp.org>
16906
16907         mpsort: Move AC_LIBOBJ invocations to module description.
16908         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
16909         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
16910
16911 2011-05-23  Bruno Haible  <bruno@clisp.org>
16912
16913         modechange: Move AC_LIBOBJ invocations to module description.
16914         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
16915         * modules/modechange (Makefile.am): Augment lib_SOURCES.
16916
16917 2011-05-23  Bruno Haible  <bruno@clisp.org>
16918
16919         mkdir-p: Move AC_LIBOBJ invocations to module description.
16920         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
16921         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
16922
16923 2011-05-23  Bruno Haible  <bruno@clisp.org>
16924
16925         mkancesdirs: Move AC_LIBOBJ invocations to module description.
16926         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
16927         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
16928
16929 2011-05-23  Bruno Haible  <bruno@clisp.org>
16930
16931         mgetgroups: Move AC_LIBOBJ invocations to module description.
16932         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
16933         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
16934
16935 2011-05-23  Bruno Haible  <bruno@clisp.org>
16936
16937         memxor: Move AC_LIBOBJ invocations to module description.
16938         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
16939         * modules/memxor (Makefile.am): Augment lib_SOURCES.
16940
16941 2011-05-23  Bruno Haible  <bruno@clisp.org>
16942
16943         memcoll: Move AC_LIBOBJ invocations to module description.
16944         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
16945         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
16946
16947 2011-05-23  Bruno Haible  <bruno@clisp.org>
16948
16949         memcasecmp: Move AC_LIBOBJ invocations to module description.
16950         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
16951         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
16952
16953 2011-05-23  Bruno Haible  <bruno@clisp.org>
16954
16955         crypto/md5: Move AC_LIBOBJ invocations to module description.
16956         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
16957         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
16958
16959 2011-05-23  Bruno Haible  <bruno@clisp.org>
16960
16961         crypto/md4: Move AC_LIBOBJ invocations to module description.
16962         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
16963         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
16964
16965 2011-05-23  Bruno Haible  <bruno@clisp.org>
16966
16967         crypto/md2: Move AC_LIBOBJ invocations to module description.
16968         * m4/md2.m4: Remove file.
16969         * modules/crypto/md2 (Files): Remove it.
16970         (configure.ac): Remove gl_MD2 call.
16971         (Makefile.am): Augment lib_SOURCES.
16972
16973 2011-05-23  Bruno Haible  <bruno@clisp.org>
16974
16975         long-options: Move AC_LIBOBJ invocations to module description.
16976         * m4/long-options.m4: Remove file.
16977         * modules/long-options (Files): Remove it.
16978         (configure.ac): Remove gl_LONG_OPTIONS call.
16979         (Makefile.am): Augment lib_SOURCES.
16980
16981 2011-05-23  Bruno Haible  <bruno@clisp.org>
16982
16983         i-ring: Move AC_LIBOBJ invocations to module description.
16984         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
16985         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
16986
16987 2011-05-23  Bruno Haible  <bruno@clisp.org>
16988
16989         idcache: Move AC_LIBOBJ invocations to module description.
16990         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
16991         * modules/idcache (Makefile.am): Augment lib_SOURCES.
16992
16993 2011-05-23  Bruno Haible  <bruno@clisp.org>
16994
16995         human: Move AC_LIBOBJ invocations to module description.
16996         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
16997         * modules/human (Makefile.am): Augment lib_SOURCES.
16998
16999 2011-05-23  Bruno Haible  <bruno@clisp.org>
17000
17001         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
17002         * m4/hmac-sha1.m4: Remove file.
17003         * modules/crypto/hmac-sha1 (Files): Remove it.
17004         (configure.ac): Remove gl_HMAC_SHA1 call.
17005         (Makefile.am): Augment lib_SOURCES.
17006
17007 2011-05-23  Bruno Haible  <bruno@clisp.org>
17008
17009         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
17010         * m4/hmac-md5.m4: Remove file.
17011         * modules/crypto/hmac-md5 (Files): Remove it.
17012         (configure.ac): Remove gl_HMAC_MD5 call.
17013         (Makefile.am): Augment lib_SOURCES.
17014
17015 2011-05-23  Bruno Haible  <bruno@clisp.org>
17016
17017         hash: Move AC_LIBOBJ invocations to module description.
17018         * m4/hash.m4: Remove file.
17019         * modules/hash (Files): Remove it.
17020         (configure.ac): Remove gl_HASH call.
17021         (Makefile.am): Augment lib_SOURCES.
17022
17023 2011-05-23  Bruno Haible  <bruno@clisp.org>
17024
17025         hard-locale: Move AC_LIBOBJ invocations to module description.
17026         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
17027         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
17028
17029 2011-05-23  Bruno Haible  <bruno@clisp.org>
17030
17031         getugroups: Move AC_LIBOBJ invocations to module description.
17032         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
17033         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
17034
17035 2011-05-23  Bruno Haible  <bruno@clisp.org>
17036
17037         gettime: Move AC_LIBOBJ invocations to module description.
17038         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
17039         * modules/gettime (Makefile.am): Augment lib_SOURCES.
17040
17041 2011-05-23  Bruno Haible  <bruno@clisp.org>
17042
17043         getndelim2: Move AC_LIBOBJ invocations to module description.
17044         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
17045         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
17046
17047 2011-05-23  Bruno Haible  <bruno@clisp.org>
17048
17049         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
17050         * m4/gc-pbkdf2-sha1.m4: Remove file.
17051         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
17052         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
17053         (Makefile.am): Augment lib_SOURCES.
17054
17055 2011-05-23  Bruno Haible  <bruno@clisp.org>
17056
17057         fts: Move AC_LIBOBJ invocations to module description.
17058         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
17059         * modules/fts (configure.ac): ... to here.
17060
17061 2011-05-23  Bruno Haible  <bruno@clisp.org>
17062
17063         file-type: Move AC_LIBOBJ invocations to module description.
17064         * m4/file-type.m4: Remove file.
17065         * modules/file-type (Files): Remove it.
17066         (configure.ac): Remove gl_FILE_TYPE call.
17067         (Makefile.am): Augment lib_SOURCES.
17068
17069 2011-05-23  Bruno Haible  <bruno@clisp.org>
17070
17071         filenamecat*: Respect rules for use of AC_LIBOBJ.
17072         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
17073         Remove AC_LIBOBJ invocation.
17074         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
17075         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
17076
17077 2011-05-23  Bruno Haible  <bruno@clisp.org>
17078
17079         filemode: Move AC_LIBOBJ invocations to module description.
17080         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
17081         * modules/filemode (Makefile.am): Augment lib_SOURCES.
17082
17083 2011-05-23  Bruno Haible  <bruno@clisp.org>
17084
17085         openat-safer: Move AC_LIBOBJ invocations to module description.
17086         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
17087         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
17088
17089 2011-05-23  Bruno Haible  <bruno@clisp.org>
17090
17091         fcntl-safer: Move AC_LIBOBJ invocations to module description.
17092         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
17093         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
17094
17095 2011-05-23  Bruno Haible  <bruno@clisp.org>
17096
17097         exclude: Move AC_LIBOBJ invocations to module description.
17098         * m4/exclude.m4: Remove file.
17099         * modules/exclude (Files): Remove it.
17100         (configure.ac): Remove gl_EXCLUDE call.
17101         (Makefile.am): Augment lib_SOURCES.
17102
17103 2011-05-23  Bruno Haible  <bruno@clisp.org>
17104
17105         dirname*: Respect rules for use of AC_LIBOBJ.
17106         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
17107         invocations.
17108         * modules/dirname (Makefile.am): Augment lib_SOURCES.
17109         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
17110
17111 2011-05-23  Bruno Haible  <bruno@clisp.org>
17112
17113         dirent-safer: Move AC_LIBOBJ invocations to module description.
17114         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
17115         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
17116
17117 2011-05-23  Bruno Haible  <bruno@clisp.org>
17118
17119         crypto/des: Move AC_LIBOBJ invocations to module description.
17120         * m4/des.m4: Remove file.
17121         * modules/crypto/des (Files): Remove it.
17122         (configure.ac): Remove gl_DES call.
17123         (Makefile.am): Augment lib_SOURCES.
17124
17125 2011-05-23  Bruno Haible  <bruno@clisp.org>
17126
17127         cycle-check: Move AC_LIBOBJ invocations to module description.
17128         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
17129         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
17130
17131 2011-05-23  Bruno Haible  <bruno@clisp.org>
17132
17133         c-strtold: Move AC_LIBOBJ invocations to module description.
17134         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
17135         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
17136
17137 2011-05-23  Bruno Haible  <bruno@clisp.org>
17138
17139         c-strtod: Move AC_LIBOBJ invocations to module description.
17140         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
17141         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
17142
17143 2011-05-23  Bruno Haible  <bruno@clisp.org>
17144
17145         crc: Move AC_LIBOBJ invocations to module description.
17146         * m4/crc.m4: Remove file.
17147         * modules/crc (Files): Remove it.
17148         (configure.ac): Remove gl_CRC call.
17149         (Makefile.am): Augment lib_SOURCES.
17150
17151 2011-05-23  Bruno Haible  <bruno@clisp.org>
17152
17153         close-stream: Move AC_LIBOBJ invocations to module description.
17154         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
17155         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
17156
17157 2011-05-23  Bruno Haible  <bruno@clisp.org>
17158
17159         closeout: Move AC_LIBOBJ invocations to module description.
17160         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
17161         * modules/closeout (Makefile.am): Augment lib_SOURCES.
17162
17163 2011-05-23  Bruno Haible  <bruno@clisp.org>
17164
17165         closein: Move AC_LIBOBJ invocations to module description.
17166         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
17167         * modules/closein (Makefile.am): Augment lib_SOURCES.
17168
17169 2011-05-23  Bruno Haible  <bruno@clisp.org>
17170
17171         cloexec: Move AC_LIBOBJ invocations to module description.
17172         * m4/cloexec.m4: Remove file.
17173         * modules/cloexec (Files): Remove it.
17174         (configure.ac): Remove gl_CLOEXEC call.
17175         (Makefile.am): Augment lib_SOURCES.
17176
17177 2011-05-23  Bruno Haible  <bruno@clisp.org>
17178
17179         check-version: Move AC_LIBOBJ invocations to module description.
17180         * m4/check-version.m4: Remove file.
17181         * modules/check-version (Files): Remove it.
17182         (configure.ac): Remove gl_CHECK_VERSION call.
17183         (Makefile.am): Augment lib_SOURCES.
17184
17185 2011-05-23  Bruno Haible  <bruno@clisp.org>
17186
17187         chdir-safer: Move AC_LIBOBJ invocations to module description.
17188         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
17189         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
17190
17191 2011-05-23  Bruno Haible  <bruno@clisp.org>
17192
17193         canonicalize: Move AC_LIBOBJ invocations to module description.
17194         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
17195         AC_LIBOBJ invocation.
17196         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
17197
17198 2011-05-23  Bruno Haible  <bruno@clisp.org>
17199
17200         canon-host: Move AC_LIBOBJ invocations to module description.
17201         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
17202         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
17203         instead of gl_CANON_HOST.
17204         (Makefile.am): Augment lib_SOURCES.
17205
17206 2011-05-23  Bruno Haible  <bruno@clisp.org>
17207
17208         backupfile: Move AC_LIBOBJ invocations to module description.
17209         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
17210         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
17211
17212 2011-05-23  Bruno Haible  <bruno@clisp.org>
17213
17214         argmatch: Move AC_LIBOBJ invocations to module description.
17215         * m4/argmatch.m4: Remove file.
17216         * modules/argmatch (Files): Remove it.
17217         (configure.ac): Remove gl_ARGMATCH call.
17218         (Makefile.am): Augment lib_SOURCES.
17219
17220 2011-05-23  Bruno Haible  <bruno@clisp.org>
17221
17222         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
17223         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
17224         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
17225
17226 2011-05-23  Bruno Haible  <bruno@clisp.org>
17227
17228         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
17229         * m4/arcfour.m4: Remove file.
17230         * modules/crypto/arcfour (Files): Remove it.
17231         (configure.ac): Remove gl_ARCFOUR call.
17232         (Makefile.am): Augment lib_SOURCES.
17233
17234 2011-05-22  Bruno Haible  <bruno@clisp.org>
17235
17236         write: Move AC_LIBOBJ invocations to module description.
17237         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
17238         * modules/write (configure.ac): ... to here.
17239
17240 2011-05-22  Bruno Haible  <bruno@clisp.org>
17241
17242         wmemset: Move AC_LIBOBJ invocations to module description.
17243         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
17244         here...
17245         * modules/wmemset (configure.ac): ... to here.
17246
17247 2011-05-22  Bruno Haible  <bruno@clisp.org>
17248
17249         wmemmove: Move AC_LIBOBJ invocations to module description.
17250         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
17251         here...
17252         * modules/wmemmove (configure.ac): ... to here.
17253
17254 2011-05-22  Bruno Haible  <bruno@clisp.org>
17255
17256         wmemcpy: Move AC_LIBOBJ invocations to module description.
17257         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
17258         here...
17259         * modules/wmemcpy (configure.ac): ... to here.
17260
17261 2011-05-22  Bruno Haible  <bruno@clisp.org>
17262
17263         wmemcmp: Move AC_LIBOBJ invocations to module description.
17264         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
17265         here...
17266         * modules/wmemcmp (configure.ac): ... to here.
17267
17268 2011-05-22  Bruno Haible  <bruno@clisp.org>
17269
17270         wmemchr: Move AC_LIBOBJ invocations to module description.
17271         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
17272         here...
17273         * modules/wmemchr (configure.ac): ... to here.
17274
17275 2011-05-22  Bruno Haible  <bruno@clisp.org>
17276
17277         wcswidth: Move AC_LIBOBJ invocations to module description.
17278         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
17279         here...
17280         * modules/wcswidth (configure.ac): ... to here.
17281
17282 2011-05-22  Bruno Haible  <bruno@clisp.org>
17283
17284         wcwidth: Respect rules for use of AC_LIBOBJ.
17285         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
17286         invocation from here...
17287         * modules/wcwidth (configure.ac): ... to here.
17288         (Depends-on): Update conditions.
17289
17290 2011-05-22  Bruno Haible  <bruno@clisp.org>
17291
17292         wctype: Move AC_LIBOBJ invocations to module description.
17293         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
17294         invocation from here...
17295         * modules/wctype (configure.ac): ... to here.
17296         (Depends-on): Update conditions.
17297
17298 2011-05-22  Bruno Haible  <bruno@clisp.org>
17299
17300         wctrans: Move AC_LIBOBJ invocations to module description.
17301         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
17302         invocation from here...
17303         * modules/wctrans (configure.ac): ... to here.
17304
17305 2011-05-22  Bruno Haible  <bruno@clisp.org>
17306
17307         wctomb: Move AC_LIBOBJ invocations to module description.
17308         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
17309         invocations from here...
17310         * modules/wctomb (configure.ac): ... to here.
17311
17312 2011-05-22  Bruno Haible  <bruno@clisp.org>
17313
17314         wctob: Move AC_LIBOBJ invocations to module description.
17315         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
17316         gl_PREREQ_WCTOB invocations from here...
17317         * modules/wctob (configure.ac): ... to here.
17318         (Depends-on): Update conditions.
17319
17320 2011-05-22  Bruno Haible  <bruno@clisp.org>
17321
17322         wcsxfrm: Move AC_LIBOBJ invocations to module description.
17323         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
17324         here...
17325         * modules/wcsxfrm (configure.ac): ... to here.
17326
17327 2011-05-22  Bruno Haible  <bruno@clisp.org>
17328
17329         wcstok: Move AC_LIBOBJ invocations to module description.
17330         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
17331         * modules/wcstok (configure.ac): ... to here.
17332
17333 2011-05-22  Bruno Haible  <bruno@clisp.org>
17334
17335         wcsstr: Move AC_LIBOBJ invocations to module description.
17336         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
17337         * modules/wcsstr (configure.ac): ... to here.
17338
17339 2011-05-22  Bruno Haible  <bruno@clisp.org>
17340
17341         wcsspn: Move AC_LIBOBJ invocations to module description.
17342         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
17343         * modules/wcsspn (configure.ac): ... to here.
17344
17345 2011-05-22  Bruno Haible  <bruno@clisp.org>
17346
17347         wcsrtombs: Move AC_LIBOBJ invocations to module description.
17348         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
17349         gl_PREREQ_WCSRTOMBS invocations from here...
17350         * modules/wcsrtombs (configure.ac): ... to here.
17351
17352 2011-05-22  Bruno Haible  <bruno@clisp.org>
17353
17354         wcsrchr: Move AC_LIBOBJ invocations to module description.
17355         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
17356         here...
17357         * modules/wcsrchr (configure.ac): ... to here.
17358
17359 2011-05-22  Bruno Haible  <bruno@clisp.org>
17360
17361         wcspbrk: Move AC_LIBOBJ invocations to module description.
17362         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
17363         here...
17364         * modules/wcspbrk (configure.ac): ... to here.
17365
17366 2011-05-22  Bruno Haible  <bruno@clisp.org>
17367
17368         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
17369         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
17370         gl_PREREQ_WCSNRTOMBS invocations from here...
17371         * modules/wcsnrtombs (configure.ac): ... to here.
17372
17373 2011-05-22  Bruno Haible  <bruno@clisp.org>
17374
17375         wcsnlen: Move AC_LIBOBJ invocations to module description.
17376         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
17377         here...
17378         * modules/wcsnlen (configure.ac): ... to here.
17379
17380 2011-05-22  Bruno Haible  <bruno@clisp.org>
17381
17382         wcsncpy: Move AC_LIBOBJ invocations to module description.
17383         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
17384         here...
17385         * modules/wcsncpy (configure.ac): ... to here.
17386
17387 2011-05-22  Bruno Haible  <bruno@clisp.org>
17388
17389         wcsncmp: Move AC_LIBOBJ invocations to module description.
17390         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
17391         here...
17392         * modules/wcsncmp (configure.ac): ... to here.
17393
17394 2011-05-22  Bruno Haible  <bruno@clisp.org>
17395
17396         wcsncat: Move AC_LIBOBJ invocations to module description.
17397         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
17398         here...
17399         * modules/wcsncat (configure.ac): ... to here.
17400
17401 2011-05-22  Bruno Haible  <bruno@clisp.org>
17402
17403         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
17404         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
17405         from here...
17406         * modules/wcsncasecmp (configure.ac): ... to here.
17407
17408 2011-05-22  Bruno Haible  <bruno@clisp.org>
17409
17410         wcslen: Move AC_LIBOBJ invocations to module description.
17411         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
17412         * modules/wcslen (configure.ac): ... to here.
17413
17414 2011-05-22  Bruno Haible  <bruno@clisp.org>
17415
17416         wcsdup: Move AC_LIBOBJ invocations to module description.
17417         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
17418         * modules/wcsdup (configure.ac): ... to here.
17419
17420 2011-05-22  Bruno Haible  <bruno@clisp.org>
17421
17422         wcscspn: Move AC_LIBOBJ invocations to module description.
17423         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
17424         here...
17425         * modules/wcscspn (configure.ac): ... to here.
17426
17427 2011-05-22  Bruno Haible  <bruno@clisp.org>
17428
17429         wcscpy: Move AC_LIBOBJ invocations to module description.
17430         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
17431         * modules/wcscpy (configure.ac): ... to here.
17432
17433 2011-05-22  Bruno Haible  <bruno@clisp.org>
17434
17435         wcscoll: Move AC_LIBOBJ invocations to module description.
17436         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
17437         here...
17438         * modules/wcscoll (configure.ac): ... to here.
17439
17440 2011-05-22  Bruno Haible  <bruno@clisp.org>
17441
17442         wcscmp: Move AC_LIBOBJ invocations to module description.
17443         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
17444         * modules/wcscmp (configure.ac): ... to here.
17445
17446 2011-05-22  Bruno Haible  <bruno@clisp.org>
17447
17448         wcschr: Move AC_LIBOBJ invocations to module description.
17449         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
17450         * modules/wcschr (configure.ac): ... to here.
17451
17452 2011-05-22  Bruno Haible  <bruno@clisp.org>
17453
17454         wcscat: Move AC_LIBOBJ invocations to module description.
17455         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
17456         * modules/wcscat (configure.ac): ... to here.
17457
17458 2011-05-22  Bruno Haible  <bruno@clisp.org>
17459
17460         wcscasecmp: Move AC_LIBOBJ invocations to module description.
17461         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
17462         here...
17463         * modules/wcscasecmp (configure.ac): ... to here.
17464
17465 2011-05-22  Bruno Haible  <bruno@clisp.org>
17466
17467         wcrtomb: Move AC_LIBOBJ invocations to module description.
17468         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
17469         invocations from here...
17470         * modules/wcrtomb (configure.ac): ... to here.
17471
17472 2011-05-22  Bruno Haible  <bruno@clisp.org>
17473
17474         wcpncpy: Move AC_LIBOBJ invocations to module description.
17475         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
17476         here...
17477         * modules/wcpncpy (configure.ac): ... to here.
17478
17479 2011-05-22  Bruno Haible  <bruno@clisp.org>
17480
17481         wcpcpy: Move AC_LIBOBJ invocations to module description.
17482         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
17483         * modules/wcpcpy (configure.ac): ... to here.
17484
17485 2011-05-22  Bruno Haible  <bruno@clisp.org>
17486
17487         waitpid: Move AC_LIBOBJ invocations to module description.
17488         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
17489         invocation from here...
17490         * modules/waitpid (configure.ac): ... to here.
17491
17492 2011-05-22  Bruno Haible  <bruno@clisp.org>
17493
17494         utimensat: Move AC_LIBOBJ invocations to module description.
17495         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
17496         here...
17497         * modules/utimensat (configure.ac): ... to here.
17498
17499 2011-05-22  Bruno Haible  <bruno@clisp.org>
17500
17501         usleep: Move AC_LIBOBJ invocations to module description.
17502         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
17503         here...
17504         * modules/usleep (configure.ac): ... to here.
17505
17506 2011-05-22  Bruno Haible  <bruno@clisp.org>
17507
17508         unlockpt: Move AC_LIBOBJ invocations to module description.
17509         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
17510         gl_PREREQ_UNLOCKPT invocations from here...
17511         * modules/unlockpt (configure.ac): ... to here.
17512
17513 2011-05-22  Bruno Haible  <bruno@clisp.org>
17514
17515         unlink: Respect rules for use of AC_LIBOBJ.
17516         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
17517         * modules/unlink (configure.ac): ... to here.
17518
17519 2011-05-22  Bruno Haible  <bruno@clisp.org>
17520
17521         uname: Move AC_LIBOBJ invocations to module description.
17522         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
17523         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
17524         here...
17525         * modules/uname (configure.ac): ... to here.
17526
17527 2011-05-22  Bruno Haible  <bruno@clisp.org>
17528
17529         ttyname_r: Move AC_LIBOBJ invocations to module description.
17530         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
17531         gl_PREREQ_TTYNAME_R invocations from here...
17532         * modules/ttyname_r (configure.ac): ... to here.
17533
17534 2011-05-22  Bruno Haible  <bruno@clisp.org>
17535
17536         tsearch: Move AC_LIBOBJ invocations to module description.
17537         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
17538         invocations from here...
17539         * modules/tsearch (configure.ac): ... to here.
17540
17541 2011-05-22  Bruno Haible  <bruno@clisp.org>
17542
17543         towctrans: Move AC_LIBOBJ invocations to module description.
17544         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
17545         AC_LIBOBJ invocation from here...
17546         * modules/towctrans (configure.ac): ... to here.
17547
17548 2011-05-22  Bruno Haible  <bruno@clisp.org>
17549
17550         tmpfile: Move AC_LIBOBJ invocations to module description.
17551         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
17552         invocations from here...
17553         * modules/tmpfile (configure.ac): ... to here.
17554
17555 2011-05-22  Bruno Haible  <bruno@clisp.org>
17556
17557         times: Move AC_LIBOBJ invocations to module description.
17558         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
17559         * modules/times (configure.ac): ... to here.
17560
17561 2011-05-22  Bruno Haible  <bruno@clisp.org>
17562
17563         time_r: Move AC_LIBOBJ invocations to module description.
17564         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
17565         invocations from here...
17566         * modules/time_r (configure.ac): ... to here.
17567
17568 2011-05-22  Bruno Haible  <bruno@clisp.org>
17569
17570         timegm: Move AC_LIBOBJ invocations to module description.
17571         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
17572         invocations from here...
17573         * modules/timegm (configure.ac): ... to here.
17574
17575 2011-05-22  Bruno Haible  <bruno@clisp.org>
17576
17577         tcgetsid: Move AC_LIBOBJ invocations to module description.
17578         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
17579         and gl_PREREQ_TCGETSID invocations from here...
17580         * modules/tcgetsid (configure.ac): ... to here.
17581         (Depends-on): Update conditions.
17582
17583 2011-05-22  Bruno Haible  <bruno@clisp.org>
17584
17585         symlinkat: Move AC_LIBOBJ invocations to module description.
17586         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
17587         here...
17588         * modules/symlinkat (configure.ac): ... to here.
17589
17590 2011-05-22  Bruno Haible  <bruno@clisp.org>
17591
17592         symlink: Move AC_LIBOBJ invocations to module description.
17593         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
17594         here...
17595         * modules/symlink (configure.ac): ... to here.
17596
17597 2011-05-22  Bruno Haible  <bruno@clisp.org>
17598
17599         strverscmp: Move AC_LIBOBJ invocations to module description.
17600         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
17601         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
17602         from here...
17603         * modules/strverscmp (configure.ac): ... to here.
17604
17605 2011-05-22  Bruno Haible  <bruno@clisp.org>
17606
17607         strtok_r: Move AC_LIBOBJ invocations to module description.
17608         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
17609         and gl_PREREQ_STRTOK_R invocations from here...
17610         * modules/strtok_r (configure.ac): ... to here.
17611         (Depends-on): Update conditions.
17612
17613 2011-05-22  Bruno Haible  <bruno@clisp.org>
17614
17615         strtoumax: Move AC_LIBOBJ invocations to module description.
17616         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
17617         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
17618         from here...
17619         * modules/strtoumax (configure.ac): ... to here.
17620
17621 2011-05-22  Bruno Haible  <bruno@clisp.org>
17622
17623         strtoimax: Move AC_LIBOBJ invocations to module description.
17624         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
17625         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
17626         from here...
17627         * modules/strtoimax (configure.ac): ... to here.
17628
17629 2011-05-22  Bruno Haible  <bruno@clisp.org>
17630
17631         strtoull: Move AC_LIBOBJ invocations to module description.
17632         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
17633         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
17634         from here...
17635         * modules/strtoull (configure.ac): ... to here.
17636
17637 2011-05-22  Bruno Haible  <bruno@clisp.org>
17638
17639         strtoll: Move AC_LIBOBJ invocations to module description.
17640         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
17641         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
17642         here...
17643         * modules/strtoll (configure.ac): ... to here.
17644
17645 2011-05-22  Bruno Haible  <bruno@clisp.org>
17646
17647         strtoul: Move AC_LIBOBJ invocations to module description.
17648         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
17649         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17650         * modules/strtoul (configure.ac): ... to here.
17651
17652 2011-05-22  Bruno Haible  <bruno@clisp.org>
17653
17654         strtol: Move AC_LIBOBJ invocations to module description.
17655         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
17656         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17657         * modules/strtol (configure.ac): ... to here.
17658
17659 2011-05-22  Bruno Haible  <bruno@clisp.org>
17660
17661         strtod: Move AC_LIBOBJ invocations to module description.
17662         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
17663         invocations from here...
17664         * modules/strtod (configure.ac): ... to here.
17665
17666 2011-05-22  Bruno Haible  <bruno@clisp.org>
17667
17668         strstr*: Move AC_LIBOBJ invocations to module description.
17669         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
17670         invocations from here...
17671         * modules/strstr-simple (configure.ac): ... to here.
17672         * modules/strstr (configure.ac): ... and here.
17673
17674 2011-05-22  Bruno Haible  <bruno@clisp.org>
17675
17676         strsignal: Move AC_LIBOBJ invocations to module description.
17677         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
17678         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
17679         * modules/strsignal (configure.ac): ... to here.
17680         (Depends-on): Update conditions.
17681
17682 2011-05-22  Bruno Haible  <bruno@clisp.org>
17683
17684         strsep: Move AC_LIBOBJ invocations to module description.
17685         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
17686         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
17687         here...
17688         * modules/strsep (configure.ac): ... to here.
17689
17690 2011-05-22  Bruno Haible  <bruno@clisp.org>
17691
17692         strptime: Move AC_LIBOBJ invocations to module description.
17693         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
17694         gl_PREREQ_STRPTIME invocations from here...
17695         * modules/strptime (configure.ac): ... to here.
17696
17697 2011-05-22  Bruno Haible  <bruno@clisp.org>
17698
17699         strpbrk: Move AC_LIBOBJ invocations to module description.
17700         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
17701         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
17702         here...
17703         * modules/strpbrk (configure.ac): ... to here.
17704
17705 2011-05-22  Bruno Haible  <bruno@clisp.org>
17706
17707         strnlen: Move AC_LIBOBJ invocations to module description.
17708         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
17709         invocations from here...
17710         * modules/strnlen (configure.ac): ... to here.
17711
17712 2011-05-22  Bruno Haible  <bruno@clisp.org>
17713
17714         strndup: Move AC_LIBOBJ invocations to module description.
17715         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
17716         invocations from here...
17717         * modules/strndup (configure.ac): ... to here.
17718         (Depends-on): Update conditions.
17719
17720 2011-05-22  Bruno Haible  <bruno@clisp.org>
17721
17722         strncat: Move AC_LIBOBJ invocations to module description.
17723         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
17724         invocations from here...
17725         * modules/strncat (configure.ac): ... to here.
17726
17727 2011-05-22  Bruno Haible  <bruno@clisp.org>
17728
17729         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
17730         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
17731         invocations from here...
17732         * modules/strdup (configure.ac): ... to here.
17733         * modules/strdup-posix (configure.ac): ... and here.
17734
17735 2011-05-22  Bruno Haible  <bruno@clisp.org>
17736
17737         strcspn: Move AC_LIBOBJ invocations to module description.
17738         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
17739         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
17740         here...
17741         * modules/strcspn (configure.ac): ... to here.
17742
17743 2011-05-22  Bruno Haible  <bruno@clisp.org>
17744
17745         strchrnul: Move AC_LIBOBJ invocations to module description.
17746         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
17747         gl_PREREQ_STRCHRNUL invocations from here...
17748         * modules/strchrnul (configure.ac): ... to here.
17749
17750 2011-05-22  Bruno Haible  <bruno@clisp.org>
17751
17752         strcasestr*: Move AC_LIBOBJ invocations to module description.
17753         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
17754         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
17755         * modules/strcasestr-simple (configure.ac): ... to here.
17756         * modules/strcasestr (configure.ac): ... and here.
17757
17758 2011-05-22  Bruno Haible  <bruno@clisp.org>
17759
17760         strcase: Move AC_LIBOBJ invocations to module description.
17761         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
17762         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
17763         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
17764         gl_PREREQ_STRNCASECMP invocations from here...
17765         * modules/strcase (configure.ac): ... to here.
17766
17767 2011-05-22  Bruno Haible  <bruno@clisp.org>
17768
17769         stpncpy: Move AC_LIBOBJ invocations to module description.
17770         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
17771         here...
17772         * modules/stpncpy (configure.ac): ... to here.
17773
17774 2011-05-22  Bruno Haible  <bruno@clisp.org>
17775
17776         stpcpy: Move AC_LIBOBJ invocations to module description.
17777         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
17778         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
17779         here...
17780         * modules/stpcpy (configure.ac): ... to here.
17781
17782 2011-05-21  Bruno Haible  <bruno@clisp.org>
17783
17784         stat: Move AC_LIBOBJ invocations to module description.
17785         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
17786         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
17787         here...
17788         * modules/stat (configure.ac): ... to here.
17789
17790 2011-05-21  Bruno Haible  <bruno@clisp.org>
17791
17792         sleep: Move AC_LIBOBJ invocations to module description.
17793         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
17794         * modules/sleep (configure.ac): ... to here.
17795
17796 2011-05-21  Bruno Haible  <bruno@clisp.org>
17797
17798         signbit: Move AC_LIBOBJ invocations to module description.
17799         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
17800         * modules/signbit (configure.ac): ... to here.
17801
17802 2011-05-21  Bruno Haible  <bruno@clisp.org>
17803
17804         sigprocmask: Move AC_LIBOBJ invocations to module description.
17805         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
17806         gl_PREREQ_SIGPROMASK invocations from here...
17807         * modules/sigprocmask (configure.ac): ... to here.
17808
17809 2011-05-21  Bruno Haible  <bruno@clisp.org>
17810
17811         sigaction: Move AC_LIBOBJ invocations to module description.
17812         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
17813         gl_PREREQ_SIGACTION invocations from here...
17814         * modules/sigaction (configure.ac): ... to here.
17815
17816 2011-05-21  Bruno Haible  <bruno@clisp.org>
17817
17818         sig2str: Move AC_LIBOBJ invocations to module description.
17819         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
17820         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
17821         here...
17822         * modules/sig2str (configure.ac): ... to here.
17823
17824 2011-05-21  Bruno Haible  <bruno@clisp.org>
17825
17826         setlocale: Move AC_LIBOBJ invocations to module description.
17827         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
17828         gl_PREREQ_SETLOCALE invocations from here...
17829         * modules/setlocale (configure.ac): ... to here.
17830
17831 2011-05-21  Bruno Haible  <bruno@clisp.org>
17832
17833         unsetenv: Move AC_LIBOBJ invocations to module description.
17834         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
17835         and gl_PREREQ_UNSETENV invocations from here...
17836         * modules/unsetenv (configure.ac): ... to here.
17837         (Depends-on): Update.
17838
17839 2011-05-21  Bruno Haible  <bruno@clisp.org>
17840
17841         setenv: Move AC_LIBOBJ invocations to module description.
17842         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
17843         here...
17844         * modules/setenv (configure.ac): ... to here.
17845
17846 2011-05-21  Bruno Haible  <bruno@clisp.org>
17847
17848         selinux-h: Move AC_LIBOBJ invocations to module description.
17849         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
17850         AC_LIBOBJ invocation from here...
17851         * modules/selinux-h (configure.ac): ... to here.
17852
17853 2011-05-21  Bruno Haible  <bruno@clisp.org>
17854
17855         select: Respect rules for use of AC_LIBOBJ.
17856         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
17857         here...
17858         * modules/select (configure.ac): ... to here.
17859
17860 2011-05-21  Bruno Haible  <bruno@clisp.org>
17861
17862         scandir: Move AC_LIBOBJ invocations to module description.
17863         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
17864         invocations from here...
17865         * modules/scandir (configure.ac): ... to here.
17866
17867 2011-05-21  Bruno Haible  <bruno@clisp.org>
17868
17869         rpmatch: Move AC_LIBOBJ invocations to module description.
17870         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
17871         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
17872         here...
17873         * modules/rpmatch (configure.ac): ... to here.
17874
17875 2011-05-21  Bruno Haible  <bruno@clisp.org>
17876
17877         rmdir: Respect rules for use of AC_LIBOBJ.
17878         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
17879         * modules/rmdir (configure.ac): ... to here.
17880
17881 2011-05-21  Bruno Haible  <bruno@clisp.org>
17882
17883         renameat: Move AC_LIBOBJ invocations to module description.
17884         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
17885         here...
17886         * modules/renameat (configure.ac): ... to here.
17887
17888 2011-05-21  Bruno Haible  <bruno@clisp.org>
17889
17890         rename: Respect rules for use of AC_LIBOBJ.
17891         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
17892         here...
17893         * modules/rename (configure.ac): ... to here.
17894
17895 2011-05-21  Bruno Haible  <bruno@clisp.org>
17896
17897         remove: Move AC_LIBOBJ invocations to module description.
17898         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
17899         here...
17900         * modules/remove (configure.ac): ... to here.
17901
17902 2011-05-21  Bruno Haible  <bruno@clisp.org>
17903
17904         relocatable-lib: Move AC_LIBOBJ invocations to module description.
17905         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
17906         macro.
17907         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
17908         * modules/relocatable-lib (configure.ac): ... to here.
17909         * modules/relocatable-prog-wrapper (configure.ac): Invoke
17910         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
17911
17912 2011-05-21  Bruno Haible  <bruno@clisp.org>
17913
17914         relocatable-prog: Move AC_LIBOBJ invocations to module description.
17915         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
17916         here...
17917         * modules/relocatable-prog (configure.ac): ... to here.
17918
17919 2011-05-21  Bruno Haible  <bruno@clisp.org>
17920
17921         regex: Move AC_LIBOBJ invocations to module description.
17922         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
17923         invocations from here...
17924         * modules/regex (configure.ac): ... to here.
17925
17926 2011-05-21  Bruno Haible  <bruno@clisp.org>
17927
17928         realloc-*: Move AC_LIBOBJ invocations to module description.
17929         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
17930         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
17931         AC_LIBOBJ invocations from here...
17932         * modules/realloc-gnu (configure.ac): ... to here.
17933         * modules/realloc-posix (configure.ac): ... and here.
17934
17935 2011-05-21  Bruno Haible  <bruno@clisp.org>
17936
17937         readutmp: Move AC_LIBOBJ invocations to module description.
17938         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
17939         * modules/readutmp (configure.ac): ... to here.
17940
17941 2011-05-21  Bruno Haible  <bruno@clisp.org>
17942
17943         readlinkat: Move AC_LIBOBJ invocations to module description.
17944         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
17945         here...
17946         * modules/readlinkat (configure.ac): ... to here.
17947
17948 2011-05-21  Bruno Haible  <bruno@clisp.org>
17949
17950         readlink: Move AC_LIBOBJ invocations to module description.
17951         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
17952         gl_PREREQ_READLINK invocations from here...
17953         * modules/readlink (configure.ac): ... to here.
17954
17955 2011-05-21  Bruno Haible  <bruno@clisp.org>
17956
17957         readline: Move AC_LIBOBJ invocations to module description.
17958         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
17959         gl_PREREQ_READLINE invocations from here...
17960         * modules/readline (configure.ac): ... to here.
17961
17962 2011-05-21  Bruno Haible  <bruno@clisp.org>
17963
17964         read: Move AC_LIBOBJ invocations to module description.
17965         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
17966         * modules/read (configure.ac): ... to here.
17967
17968 2011-05-21  Bruno Haible  <bruno@clisp.org>
17969
17970         rawmemchr: Move AC_LIBOBJ invocations to module description.
17971         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
17972         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
17973         from here...
17974         * modules/rawmemchr (configure.ac): ... to here.
17975
17976 2011-05-21  Bruno Haible  <bruno@clisp.org>
17977
17978         random_r: Move AC_LIBOBJ invocations to module description.
17979         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
17980         gl_PREREQ_RANDOM_R invocations from here...
17981         * modules/random_r (configure.ac): ... to here.
17982
17983 2011-05-21  Bruno Haible  <bruno@clisp.org>
17984
17985         pwrite: Move AC_LIBOBJ invocations to module description.
17986         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
17987         * modules/pwrite (configure.ac): ... to here.
17988
17989 2011-05-21  Bruno Haible  <bruno@clisp.org>
17990
17991         putenv: Move AC_LIBOBJ invocations to module description.
17992         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
17993         * modules/putenv (configure.ac): ... to here.
17994
17995 2011-05-21  Bruno Haible  <bruno@clisp.org>
17996
17997         login_tty: Move AC_LIBOBJ invocations to module description.
17998         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
17999         * modules/login_tty (configure.ac): ... to here.
18000
18001 2011-05-21  Bruno Haible  <bruno@clisp.org>
18002
18003         openpty: Move AC_LIBOBJ invocations to module description.
18004         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
18005         * modules/openpty (configure.ac): ... to here.
18006
18007 2011-05-21  Bruno Haible  <bruno@clisp.org>
18008
18009         forkpty: Move AC_LIBOBJ invocations to module description.
18010         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
18011         * modules/forkpty (configure.ac): ... to here.
18012
18013 2011-05-21  Bruno Haible  <bruno@clisp.org>
18014
18015         ptsname: Move AC_LIBOBJ invocations to module description.
18016         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
18017         invocations from here...
18018         * modules/ptsname (configure.ac): ... to here.
18019
18020 2011-05-21  Bruno Haible  <bruno@clisp.org>
18021
18022         pread: Move AC_LIBOBJ invocations to module description.
18023         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
18024         * modules/pread (configure.ac): ... to here.
18025
18026 2011-05-21  Bruno Haible  <bruno@clisp.org>
18027
18028         posix_spawn*: Move AC_LIBOBJ invocations to module description.
18029         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
18030         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
18031         * modules/posix_spawn (configure.ac): ... to here.
18032         * modules/posix_spawnp (configure.ac): ... and here.
18033
18034 2011-05-21  Bruno Haible  <bruno@clisp.org>
18035
18036         popen: Move AC_LIBOBJ invocations to module description.
18037         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
18038         invocations from here...
18039         * modules/popen (configure.ac): ... to here.
18040
18041 2011-05-21  Bruno Haible  <bruno@clisp.org>
18042
18043         poll: Move AC_LIBOBJ invocations to module description.
18044         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
18045         invocations from here...
18046         * modules/poll (configure.ac): ... to here.
18047
18048 2011-05-21  Bruno Haible  <bruno@clisp.org>
18049
18050         pipe-posix: Move AC_LIBOBJ invocations to module description.
18051         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
18052         * modules/pipe-posix (configure.ac): ... to here.
18053
18054 2011-05-21  Bruno Haible  <bruno@clisp.org>
18055
18056         openat: Respect rules for use of AC_LIBOBJ.
18057         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
18058         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18059         * modules/openat (configure.ac): ... to here.
18060
18061 2011-05-21  Bruno Haible  <bruno@clisp.org>
18062
18063         obstack-printf*: Move AC_LIBOBJ invocations to module description.
18064         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
18065         invocation from here...
18066         * modules/obstack-printf (configure.ac): ... to here.
18067         * modules/obstack-printf-posix (configure.ac): ... and here.
18068
18069 2011-05-21  Bruno Haible  <bruno@clisp.org>
18070
18071         nl_langinfo: Move AC_LIBOBJ invocations to module description.
18072         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
18073         from here...
18074         * modules/nl_langinfo (configure.ac): ... to here.
18075
18076 2011-05-21  Bruno Haible  <bruno@clisp.org>
18077
18078         nanosleep: Move AC_LIBOBJ invocations to module description.
18079         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
18080         gl_PREREQ_NANOSLEEP invocations from here...
18081         * modules/nanosleep (configure.ac): ... to here.
18082
18083 2011-05-21  Bruno Haible  <bruno@clisp.org>
18084
18085         mountlist: Move AC_LIBOBJ invocations to module description.
18086         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
18087         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
18088         * modules/mountlist (configure.ac): ... to here.
18089
18090 2011-05-21  Bruno Haible  <bruno@clisp.org>
18091
18092         mktime: Respect rules for use of AC_LIBOBJ.
18093         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
18094         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
18095         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
18096         (gl_FUNC_MKTIME_INTERNAL): ... and here...
18097         * modules/mktime (configure.ac): ... to here.
18098         * modules/mktime-internal (configure.ac): ... and here.
18099         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
18100
18101 2011-05-21  Bruno Haible  <bruno@clisp.org>
18102
18103         mkstemps: Move AC_LIBOBJ invocations to module description.
18104         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
18105         here...
18106         * modules/mkstemps (configure.ac): ... to here.
18107
18108 2011-05-21  Bruno Haible  <bruno@clisp.org>
18109
18110         mkstemp: Move AC_LIBOBJ invocations to module description.
18111         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
18112         gl_PREREQ_MKSTEMP invocations from here...
18113         * modules/mkstemp (configure.ac): ... to here.
18114
18115 2011-05-21  Bruno Haible  <bruno@clisp.org>
18116
18117         mkostemps: Move AC_LIBOBJ invocations to module description.
18118         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
18119         here...
18120         * modules/mkostemps (configure.ac): ... to here.
18121
18122 2011-05-21  Bruno Haible  <bruno@clisp.org>
18123
18124         mkostemp: Move AC_LIBOBJ invocations to module description.
18125         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
18126         gl_PREREQ_MKOSTEMP invocations from here...
18127         * modules/mkostemp (configure.ac): ... to here.
18128
18129 2011-05-21  Bruno Haible  <bruno@clisp.org>
18130
18131         mknod: Move AC_LIBOBJ invocations to module description.
18132         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
18133         * modules/mknod (configure.ac): ... to here.
18134
18135 2011-05-21  Bruno Haible  <bruno@clisp.org>
18136
18137         mkfifoat: Move AC_LIBOBJ invocations to module description.
18138         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
18139         here...
18140         * modules/mkfifoat (configure.ac): ... to here.
18141
18142 2011-05-21  Bruno Haible  <bruno@clisp.org>
18143
18144         mkfifo: Respect rules for use of AC_LIBOBJ.
18145         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
18146         here...
18147         * modules/mkfifo (configure.ac): ... to here.
18148
18149 2011-05-21  Bruno Haible  <bruno@clisp.org>
18150
18151         mkdtemp: Move AC_LIBOBJ invocations to module description.
18152         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
18153         invocations from here...
18154         * modules/mkdtemp (configure.ac): ... to here.
18155
18156 2011-05-21  Bruno Haible  <bruno@clisp.org>
18157
18158         mkdir: Move AC_LIBOBJ invocations to module description.
18159         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
18160         * modules/mkdir (configure.ac): ... to here.
18161
18162 2011-05-21  Bruno Haible  <bruno@clisp.org>
18163
18164         memset: Move AC_LIBOBJ invocations to module description.
18165         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
18166         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
18167         here...
18168         * modules/memset (configure.ac): ... to here.
18169
18170 2011-05-21  Bruno Haible  <bruno@clisp.org>
18171
18172         memrchr: Move AC_LIBOBJ invocations to module description.
18173         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
18174         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
18175         here...
18176         * modules/memrchr (configure.ac): ... to here.
18177
18178 2011-05-21  Bruno Haible  <bruno@clisp.org>
18179
18180         mempcpy: Move AC_LIBOBJ invocations to module description.
18181         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
18182         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
18183         here...
18184         * modules/mempcpy (configure.ac): ... to here.
18185
18186 2011-05-21  Bruno Haible  <bruno@clisp.org>
18187
18188         memmove: Move AC_LIBOBJ invocations to module description.
18189         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
18190         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
18191         here...
18192         * modules/memmove (configure.ac): ... to here.
18193
18194 2011-05-21  Bruno Haible  <bruno@clisp.org>
18195
18196         memmem*: Move AC_LIBOBJ invocations to module description.
18197         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
18198         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
18199         here...
18200         (gl_FUNC_MEMMEM): ... and here...
18201         * modules/memmem-simple (configure.ac): ... to here.
18202         * modules/memmem (configure.ac): ... and here.
18203
18204 2011-05-21  Bruno Haible  <bruno@clisp.org>
18205
18206         memcpy: Move AC_LIBOBJ invocations to module description.
18207         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
18208         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
18209         here...
18210         * modules/memcpy (configure.ac): ... to here.
18211
18212 2011-05-21  Bruno Haible  <bruno@clisp.org>
18213
18214         memcmp: Simplify autoconf macro.
18215         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
18216         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
18217         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
18218
18219 2011-05-21  Bruno Haible  <bruno@clisp.org>
18220
18221         memcmp: Move AC_LIBOBJ invocations to module description.
18222         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
18223         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
18224         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
18225         * modules/memcmp (configure.ac): ... to here.
18226         (Depends-on): Update conditions.
18227
18228 2011-05-21  Bruno Haible  <bruno@clisp.org>
18229
18230         memchr: Respect rules for use of AC_LIBOBJ.
18231         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
18232         invocations from here...
18233         * modules/memchr (configure.ac): ... to here.
18234
18235 2011-05-21  Bruno Haible  <bruno@clisp.org>
18236
18237         mbtowc: Move AC_LIBOBJ invocations to module description.
18238         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
18239         invocations from here...
18240         * modules/mbtowc (configure.ac): ... to here.
18241
18242 2011-05-21  Bruno Haible  <bruno@clisp.org>
18243
18244         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
18245         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
18246         gl_PREREQ_MBSRTOWCS invocations from here...
18247         * modules/mbsrtowcs (configure.ac): ... to here.
18248
18249 2011-05-21  Bruno Haible  <bruno@clisp.org>
18250
18251         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
18252         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
18253         gl_PREREQ_MBSNRTOWCS invocations from here...
18254         * modules/mbsnrtowcs (configure.ac): ... to here.
18255
18256 2011-05-21  Bruno Haible  <bruno@clisp.org>
18257
18258         mbsinit: Move AC_LIBOBJ invocations to module description.
18259         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
18260         invocations from here...
18261         * modules/mbsinit (configure.ac): ... to here.
18262
18263 2011-05-21  Bruno Haible  <bruno@clisp.org>
18264
18265         mbrlen: Move AC_LIBOBJ invocations to module description.
18266         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
18267         invocations from here...
18268         * modules/mbrlen (configure.ac): ... to here.
18269
18270 2011-05-21  Bruno Haible  <bruno@clisp.org>
18271
18272         mbrtowc: Respect rules for use of AC_LIBOBJ.
18273         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
18274         invocations from here...
18275         * modules/mbrtowc (configure.ac): ... to here.
18276
18277 2011-05-21  Bruno Haible  <bruno@clisp.org>
18278
18279         malloc-*: Move AC_LIBOBJ invocations to module description.
18280         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
18281         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
18282         AC_LIBOBJ invocations from here...
18283         * modules/malloc-gnu (configure.ac): ... to here.
18284         * modules/malloc-posix (configure.ac): ... and here.
18285
18286 2011-05-21  Bruno Haible  <bruno@clisp.org>
18287
18288         lstat, openat: Respect rules for use of AC_LIBOBJ.
18289         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
18290         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
18291         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
18292         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
18293         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
18294         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
18295         here.
18296         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
18297
18298 2011-05-21  Bruno Haible  <bruno@clisp.org>
18299
18300         lseek: Move AC_LIBOBJ invocations to module description.
18301         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
18302         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
18303         * modules/lseek (configure.ac): ... to here.
18304
18305 2011-05-21  Bruno Haible  <bruno@clisp.org>
18306
18307         linkat: Move AC_LIBOBJ invocations to module description.
18308         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
18309         here...
18310         * modules/linkat (configure.ac): ... to here.
18311
18312 2011-05-21  Bruno Haible  <bruno@clisp.org>
18313
18314         link: Respect rules for use of AC_LIBOBJ.
18315         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
18316         * modules/link (configure.ac): ... to here.
18317
18318 2011-05-21  Bruno Haible  <bruno@clisp.org>
18319
18320         lchown: Move AC_LIBOBJ invocations to module description.
18321         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
18322         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18323         * modules/lchown (configure.ac): ... to here.
18324
18325 2011-05-21  Bruno Haible  <bruno@clisp.org>
18326
18327         iswctype: Move AC_LIBOBJ invocations to module description.
18328         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
18329         here...
18330         * modules/iswctype (configure.ac): ... to here.
18331
18332 2011-05-21  Bruno Haible  <bruno@clisp.org>
18333
18334         iswblank: Move AC_LIBOBJ invocations to module description.
18335         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
18336         here...
18337         * modules/iswblank (configure.ac): ... to here.
18338
18339 2011-05-21  Bruno Haible  <bruno@clisp.org>
18340
18341         atanl: Move AC_LIBOBJ invocations to module description.
18342         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
18343         * modules/atanl (configure.ac): ... to here.
18344
18345 2011-05-21  Bruno Haible  <bruno@clisp.org>
18346
18347         acosl: Move AC_LIBOBJ invocations to module description.
18348         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
18349         * modules/acosl (configure.ac): ... to here.
18350
18351 2011-05-21  Bruno Haible  <bruno@clisp.org>
18352
18353         asinl: Respect rules for use of AC_LIBOBJ.
18354         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
18355         * modules/asinl (configure.ac): ... to here.
18356
18357 2011-05-21  Bruno Haible  <bruno@clisp.org>
18358
18359         tanl: Move AC_LIBOBJ invocations to module description.
18360         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
18361         * modules/tanl (configure.ac): ... to here.
18362
18363 2011-05-21  Bruno Haible  <bruno@clisp.org>
18364
18365         cosl: Move AC_LIBOBJ invocations to module description.
18366         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
18367         * modules/cosl (configure.ac): ... to here.
18368
18369 2011-05-21  Bruno Haible  <bruno@clisp.org>
18370
18371         sinl: Move AC_LIBOBJ invocations to module description.
18372         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
18373         * modules/sinl (configure.ac): ... to here.
18374
18375 2011-05-21  Bruno Haible  <bruno@clisp.org>
18376
18377         logl: Move AC_LIBOBJ invocations to module description.
18378         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
18379         * modules/logl (configure.ac): ... to here.
18380
18381 2011-05-21  Bruno Haible  <bruno@clisp.org>
18382
18383         expl: Move AC_LIBOBJ invocations to module description.
18384         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
18385         * modules/expl (configure.ac): ... to here.
18386
18387 2011-05-21  Bruno Haible  <bruno@clisp.org>
18388
18389         roundl: Move AC_LIBOBJ invocations to module description.
18390         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
18391         * modules/roundl (configure.ac): ... to here.
18392
18393 2011-05-21  Bruno Haible  <bruno@clisp.org>
18394
18395         round: Move AC_LIBOBJ invocations to module description.
18396         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
18397         * modules/round (configure.ac): ... to here.
18398
18399 2011-05-21  Bruno Haible  <bruno@clisp.org>
18400
18401         roundf: Move AC_LIBOBJ invocations to module description.
18402         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
18403         * modules/roundf (configure.ac): ... to here.
18404
18405 2011-05-21  Bruno Haible  <bruno@clisp.org>
18406
18407         truncl: Move AC_LIBOBJ invocations to module description.
18408         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
18409         * modules/truncl (configure.ac): ... to here.
18410
18411 2011-05-21  Bruno Haible  <bruno@clisp.org>
18412
18413         trunc: Move AC_LIBOBJ invocations to module description.
18414         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
18415         * modules/trunc (configure.ac): ... to here.
18416
18417 2011-05-21  Bruno Haible  <bruno@clisp.org>
18418
18419         truncf: Move AC_LIBOBJ invocations to module description.
18420         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
18421         * modules/truncf (configure.ac): ... to here.
18422
18423 2011-05-21  Bruno Haible  <bruno@clisp.org>
18424
18425         ceill: Move AC_LIBOBJ invocations to module description.
18426         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
18427         * modules/ceill (configure.ac): ... to here.
18428
18429 2011-05-21  Bruno Haible  <bruno@clisp.org>
18430
18431         ceil: Move AC_LIBOBJ invocations to module description.
18432         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
18433         * modules/ceil (configure.ac): ... to here.
18434
18435 2011-05-21  Bruno Haible  <bruno@clisp.org>
18436
18437         ceilf: Move AC_LIBOBJ invocations to module description.
18438         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
18439         * modules/ceilf (configure.ac): ... to here.
18440
18441 2011-05-21  Bruno Haible  <bruno@clisp.org>
18442
18443         floorl: Respect rules for use of AC_LIBOBJ.
18444         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
18445         * modules/floorl (configure.ac): ... to here.
18446
18447 2011-05-21  Bruno Haible  <bruno@clisp.org>
18448
18449         floor: Respect rules for use of AC_LIBOBJ.
18450         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
18451         * modules/floor (configure.ac): ... to here.
18452
18453 2011-05-21  Bruno Haible  <bruno@clisp.org>
18454
18455         floorf: Move AC_LIBOBJ invocations to module description.
18456         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
18457         * modules/floorf (configure.ac): ... to here.
18458
18459 2011-05-20  Bruno Haible  <bruno@clisp.org>
18460
18461         sqrtl: Respect rules for use of AC_LIBOBJ.
18462         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
18463         * modules/sqrtl (configure.ac): ... to here.
18464
18465 2011-05-20  Bruno Haible  <bruno@clisp.org>
18466
18467         ldexpl: Respect rules for use of AC_LIBOBJ.
18468         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
18469         * modules/ldexpl (configure.ac): ... to here.
18470
18471 2011-05-20  Bruno Haible  <bruno@clisp.org>
18472
18473         frexpl*: Respect rules for use of AC_LIBOBJ.
18474         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
18475         invocation from here...
18476         * modules/frexpl (configure.ac): ... to here.
18477         * modules/frexpl-nolibm (configure.ac): ... and here.
18478
18479 2011-05-20  Bruno Haible  <bruno@clisp.org>
18480
18481         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
18482         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
18483         invocation from here...
18484         * modules/frexp (configure.ac): ... to here.
18485         * modules/frexp-nolibm (configure.ac): ... and here.
18486
18487 2011-05-20  Bruno Haible  <bruno@clisp.org>
18488
18489         isnan: Respect rules for use of AC_LIBOBJ.
18490         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
18491         invocations here.
18492         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
18493         REPLACE_ISNAN.
18494         * modules/isnand (configure.ac): Likewise.
18495         * modules/isnanl (configure.ac): Likewise.
18496
18497 2011-05-20  Bruno Haible  <bruno@clisp.org>
18498
18499         isnanl*: Respect rules for use of AC_LIBOBJ.
18500         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
18501         invocation from here...
18502         * modules/isnanl (configure.ac): ... to here.
18503         * modules/isnanl-nolibm (configure.ac): ... and here.
18504
18505 2011-05-20  Bruno Haible  <bruno@clisp.org>
18506
18507         isnand*: Move AC_LIBOBJ invocations to module description.
18508         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
18509         invocation from here...
18510         * modules/isnand (configure.ac): ... to here.
18511         * modules/isnand-nolibm (configure.ac): ... and here.
18512
18513 2011-05-20  Bruno Haible  <bruno@clisp.org>
18514
18515         isnanf*: Move AC_LIBOBJ invocations to module description.
18516         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
18517         invocation from here...
18518         * modules/isnanf (configure.ac): ... to here.
18519         * modules/isnanf-nolibm (configure.ac): ... and here.
18520
18521 2011-05-20  Bruno Haible  <bruno@clisp.org>
18522
18523         isnan*: Separate the AC_LIBOBJ invocations.
18524         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
18525         AC_LIBOBJ invocation.
18526         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
18527         here.
18528         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
18529         AC_LIBOBJ invocation.
18530         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
18531         here.
18532         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
18533         AC_LIBOBJ invocation.
18534         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
18535         here.
18536         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
18537
18538 2011-05-08  Bruno Haible  <bruno@clisp.org>
18539
18540         isinf: Move AC_LIBOBJ invocations to module description.
18541         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
18542         * modules/isinf (configure.ac): ... to here.
18543
18544 2011-05-08  Bruno Haible  <bruno@clisp.org>
18545
18546         isfinite: Move AC_LIBOBJ invocations to module description.
18547         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
18548         * modules/isfinite (configure.ac): ... to here.
18549
18550 2011-05-08  Bruno Haible  <bruno@clisp.org>
18551
18552         isblank: Move AC_LIBOBJ invocations to module description.
18553         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
18554         here...
18555         * modules/isblank (configure.ac): ... to here.
18556
18557 2011-05-08  Bruno Haible  <bruno@clisp.org>
18558
18559         isapipe: Move AC_LIBOBJ invocations to module description.
18560         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
18561         gl_PREREQ_ISAPIPE invocations from here...
18562         * modules/isapipe (configure.ac): ... to here.
18563         (Depends-on): Update condition.
18564
18565 2011-05-08  Bruno Haible  <bruno@clisp.org>
18566
18567         ioctl: Move AC_LIBOBJ invocations to module description.
18568         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
18569         invocations from here...
18570         * modules/ioctl (configure.ac): ... to here.
18571         (Depends-on): Update condition.
18572
18573 2011-05-08  Bruno Haible  <bruno@clisp.org>
18574
18575         imaxdiv: Move AC_LIBOBJ invocations to module description.
18576         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
18577         invocations from here...
18578         * modules/imaxdiv (configure.ac): ... to here.
18579
18580 2011-05-08  Bruno Haible  <bruno@clisp.org>
18581
18582         imaxabs: Move AC_LIBOBJ invocations to module description.
18583         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
18584         invocations from here...
18585         * modules/imaxabs (configure.ac): ... to here.
18586
18587 2011-05-08  Bruno Haible  <bruno@clisp.org>
18588
18589         getaddrinfo: Move AC_LIBOBJ invocations to module description.
18590         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
18591         AC_LIBOBJ invocations from here...
18592         * modules/getaddrinfo (configure.ac): ... to here.
18593         (Depends-on): Add conditions.
18594
18595 2011-05-08  Bruno Haible  <bruno@clisp.org>
18596
18597         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18598         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
18599         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18600         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
18601         (gl_PREREQ_INET_PTON): ... from here.
18602         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
18603         gl_PREREQ_INET_PTON here.
18604         (Depends-on): Update condition.
18605
18606 2011-05-08  Bruno Haible  <bruno@clisp.org>
18607
18608         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18609         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
18610         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18611         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
18612         (gl_PREREQ_INET_NTOP): ... from here.
18613         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
18614         gl_PREREQ_INET_NTOP here.
18615         (Depends-on): Update condition.
18616
18617 2011-05-08  Bruno Haible  <bruno@clisp.org>
18618
18619         iconv_open: Move AC_LIBOBJ invocations to module description.
18620         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
18621         AC_LIBOBJ invocations from here...
18622         * modules/iconv_open (configure.ac): ... to here.
18623
18624 2011-05-08  Bruno Haible  <bruno@clisp.org>
18625
18626         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
18627         If module 'iconv_open' is among the main modules and module
18628         'iconv_open-utf' is among the tests dependencies, then
18629         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
18630         return the special iconv_t values. Therefore iconv() and iconv_close()
18631         must support these special iconv_t values, already in lib, not only in
18632         tests.
18633         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
18634         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
18635         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
18636         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
18637         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
18638         (Depends-on): Add the dependencies of iconv_open-utf.
18639         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
18640         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
18641         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
18642
18643 2011-05-08  Bruno Haible  <bruno@clisp.org>
18644
18645         group-member: Move AC_LIBOBJ invocations to module description.
18646         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
18647         gl_PREREQ_GROUP_MEMBER invocations from here...
18648         * modules/group-member (configure.ac): ... to here.
18649
18650 2011-05-08  Bruno Haible  <bruno@clisp.org>
18651
18652         grantpt: Move AC_LIBOBJ invocations to module description.
18653         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
18654         invocations from here...
18655         * modules/grantpt (configure.ac): ... to here.
18656
18657 2011-05-08  Bruno Haible  <bruno@clisp.org>
18658
18659         glob: Move AC_LIBOBJ invocations to module description.
18660         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
18661         from here...
18662         * modules/glob (configure.ac): ... to here.
18663
18664 2011-05-08  Bruno Haible  <bruno@clisp.org>
18665
18666         getusershell: Move AC_LIBOBJ invocations to module description.
18667         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
18668         Move AC_LIBOBJ invocation from here...
18669         * modules/getusershell (configure.ac): ... to here.
18670         (Depends-on): Update condition.
18671
18672 2011-05-08  Bruno Haible  <bruno@clisp.org>
18673
18674         gettimeofday: Move AC_LIBOBJ invocations to module description.
18675         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
18676         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
18677         gl_PREREQ_GETTIMEOFDAY invocations from here...
18678         * modules/gettimeofday (configure.ac): ... to here.
18679
18680 2011-05-08  Bruno Haible  <bruno@clisp.org>
18681
18682         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
18683         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
18684         just gl_FUNC_TZSET.
18685         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
18686         (gl_FUNC_TZSET_CLOBBER): Remove actions.
18687         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
18688         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
18689
18690 2011-05-08  Bruno Haible  <bruno@clisp.org>
18691
18692         getsubopt: Move AC_LIBOBJ invocations to module description.
18693         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
18694         gl_PREREQ_GETSUBOPT invocations from here...
18695         * modules/getsubopt (configure.ac): ... to here.
18696
18697 2011-05-08  Bruno Haible  <bruno@clisp.org>
18698
18699         getpass-gnu: Move AC_LIBOBJ invocations to module description.
18700         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
18701         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
18702         * modules/getpass-gnu (configure.ac): ... to here.
18703
18704 2011-05-08  Bruno Haible  <bruno@clisp.org>
18705
18706         getpass: Move AC_LIBOBJ invocations to module description.
18707         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
18708         gl_PREREQ_GETPASS invocations from here...
18709         * modules/getpass (configure.ac): ... to here.
18710
18711 2011-05-08  Bruno Haible  <bruno@clisp.org>
18712
18713         getpagesize: Move AC_LIBOBJ invocations to module description.
18714         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
18715         from here...
18716         * modules/getpagesize (configure.ac): ... to here.
18717
18718 2011-05-08  Bruno Haible  <bruno@clisp.org>
18719
18720         getopt: Move AC_LIBOBJ invocations to module description.
18721         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
18722         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
18723         invocations from here...
18724         * modules/getopt-gnu (configure.ac): ... to here.
18725         * modules/getopt-posix (configure.ac): ... and here.
18726         (Depends-on): Update condition.
18727
18728 2011-05-08  Bruno Haible  <bruno@clisp.org>
18729
18730         getopt, argp: Respect rules for use of AC_LIBOBJ.
18731         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
18732         (gl_REPLACE_GETOPT_ALWAYS): New macro.
18733         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
18734         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
18735
18736 2011-05-08  Bruno Haible  <bruno@clisp.org>
18737
18738         getlogin_r: Move AC_LIBOBJ invocations to module description.
18739         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
18740         gl_PREREQ_GETLOGIN_R invocations from here...
18741         * modules/getlogin_r (configure.ac): ... to here.
18742
18743 2011-05-08  Bruno Haible  <bruno@clisp.org>
18744
18745         getlogin: Move AC_LIBOBJ invocations to module description.
18746         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
18747         here...
18748         * modules/getlogin (configure.ac): ... to here.
18749
18750 2011-05-08  Bruno Haible  <bruno@clisp.org>
18751
18752         getloadavg: Move AC_LIBOBJ invocations to module description.
18753         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
18754         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
18755         * modules/getloadavg (configure.ac): ... to here.
18756
18757 2011-05-08  Bruno Haible  <bruno@clisp.org>
18758
18759         gethrxtime: Move AC_LIBOBJ invocations to module description.
18760         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
18761         LIB_GETHRXTIME from here...
18762         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
18763         invocations from here...
18764         * modules/gethrxtime (configure.ac): ... to here.
18765
18766 2011-05-08  Bruno Haible  <bruno@clisp.org>
18767
18768         gethostname: Move AC_LIBOBJ invocations to module description.
18769         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
18770         gl_PREREQ_GETHOSTNAME invocations from here...
18771         * modules/gethostname (configure.ac): ... to here.
18772
18773 2011-05-08  Bruno Haible  <bruno@clisp.org>
18774
18775         getgroups: Move AC_LIBOBJ invocations to module description.
18776         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
18777         here...
18778         * modules/getgroups (configure.ac): ... to here.
18779
18780 2011-05-08  Bruno Haible  <bruno@clisp.org>
18781
18782         getdtablesize: Move AC_LIBOBJ invocations to module description.
18783         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
18784         invocation from here...
18785         * modules/getdtablesize (configure.ac): ... to here.
18786
18787 2011-05-08  Bruno Haible  <bruno@clisp.org>
18788
18789         getdomainname: Move AC_LIBOBJ invocations to module description.
18790         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
18791         gl_PREREQ_GETDOMAINNAME invocations from here...
18792         * modules/getdomainname (configure.ac): ... to here.
18793
18794 2011-05-08  Bruno Haible  <bruno@clisp.org>
18795
18796         getline: Move AC_LIBOBJ invocations to module description.
18797         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
18798         invocations from here...
18799         * modules/getline (configure.ac): ... to here.
18800
18801 2011-05-08  Bruno Haible  <bruno@clisp.org>
18802
18803         getline: Simplify.
18804         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
18805         It's already handled through the module dependency.
18806
18807 2011-05-08  Bruno Haible  <bruno@clisp.org>
18808
18809         getdelim: Move AC_LIBOBJ invocations to module description.
18810         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
18811         and gl_PREREQ_GETDELIM invocations from here...
18812         * modules/getdelim (configure.ac): ... to here.
18813         (Depends-on): Fix condition.
18814
18815 2011-05-08  Bruno Haible  <bruno@clisp.org>
18816
18817         getcwd: Move AC_LIBOBJ invocations to module description.
18818         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
18819         invocations from here...
18820         * modules/getcwd (configure.ac): ... to here.
18821
18822 2011-05-08  Bruno Haible  <bruno@clisp.org>
18823
18824         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
18825         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
18826         here...
18827         * modules/getcwd-lgpl (configure.ac): ... to here.
18828
18829 2011-05-07  Bruno Haible  <bruno@clisp.org>
18830
18831         crypto/gc: Move AC_LIBOBJ invocations to module description.
18832         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
18833         * modules/crypto/gc (configure.ac): ... to here.
18834
18835 2011-05-07  Bruno Haible  <bruno@clisp.org>
18836
18837         fwriting: Move AC_LIBOBJ invocations to module description.
18838         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
18839         here...
18840         * modules/fwriting (configure.ac): ... to here.
18841
18842 2011-05-07  Bruno Haible  <bruno@clisp.org>
18843
18844         fwritable: Move AC_LIBOBJ invocations to module description.
18845         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
18846         here...
18847         * modules/fwritable (configure.ac): ... to here.
18848
18849 2011-05-07  Bruno Haible  <bruno@clisp.org>
18850
18851         futimens: Move AC_LIBOBJ invocations to module description.
18852         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
18853         here...
18854         * modules/futimens (configure.ac): ... to here.
18855
18856 2011-05-07  Bruno Haible  <bruno@clisp.org>
18857
18858         ftruncate: Move AC_LIBOBJ invocations to module description.
18859         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
18860         gl_PREREQ_FTRUNCATE invocations from here...
18861         * modules/ftruncate (configure.ac): ... to here.
18862
18863 2011-05-07  Bruno Haible  <bruno@clisp.org>
18864
18865         fsync: Move AC_LIBOBJ invocations to module description.
18866         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
18867         invocations from here...
18868         * modules/fsync (configure.ac): ... to here.
18869
18870 2011-05-07  Bruno Haible  <bruno@clisp.org>
18871
18872         fsusage: Move AC_LIBOBJ invocations to module description.
18873         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
18874         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
18875         * modules/fsusage (configure.ac): ... to here.
18876
18877 2011-05-07  Bruno Haible  <bruno@clisp.org>
18878
18879         freopen: Move AC_LIBOBJ invocations to module description.
18880         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
18881         invocations from here...
18882         * modules/freopen (configure.ac): ... to here.
18883
18884 2011-05-07  Bruno Haible  <bruno@clisp.org>
18885
18886         free: Move AC_LIBOBJ invocations to module description.
18887         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
18888         invocations from here...
18889         * modules/free (configure.ac): ... to here.
18890
18891 2011-05-07  Bruno Haible  <bruno@clisp.org>
18892
18893         freadable: Move AC_LIBOBJ invocations to module description.
18894         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
18895         here...
18896         * modules/freadable (configure.ac): ... to here.
18897
18898 2011-05-07  Bruno Haible  <bruno@clisp.org>
18899
18900         fpurge: Move AC_LIBOBJ invocations to module description.
18901         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
18902         invocations from here...
18903         * modules/fpurge (configure.ac): ... to here.
18904
18905 2011-05-07  Bruno Haible  <bruno@clisp.org>
18906
18907         fpending: Move AC_LIBOBJ invocations to module description.
18908         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
18909         gl_FUNC_FPENDING.
18910         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
18911         invocations from here...
18912         * modules/fpending (configure.ac): ... to here.
18913
18914 2011-05-07  Bruno Haible  <bruno@clisp.org>
18915
18916         fopen: Move AC_LIBOBJ invocations to module description.
18917         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
18918         invocations from here...
18919         * modules/fopen (configure.ac): ... to here.
18920
18921 2011-05-07  Bruno Haible  <bruno@clisp.org>
18922
18923         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
18924         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
18925         gl_FUNC_FNMATCH_POSIX.
18926         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
18927         invocations from here...
18928         * modules/fnmatch (configure.ac): ... to here.
18929         * modules/fnmatch-gnu (configure.ac): ... and here.
18930
18931 2011-05-07  Bruno Haible  <bruno@clisp.org>
18932
18933         flock: Move AC_LIBOBJ invocations to module description.
18934         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
18935         invocations from here...
18936         * modules/flock (configure.ac): ... to here.
18937
18938 2011-05-07  Bruno Haible  <bruno@clisp.org>
18939
18940         fileblocks: Move AC_LIBOBJ invocations to module description.
18941         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
18942         gl_PREREQ_FILEBLOCKS invocations from here...
18943         * modules/fileblocks (configure.ac): ... to here.
18944
18945 2011-05-06  Bruno Haible  <bruno@clisp.org>
18946
18947         fflush: Move AC_LIBOBJ invocations to module description.
18948         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
18949         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
18950         invocations from here...
18951         * modules/fflush (configure.ac): ... to here.
18952
18953 2011-05-06  Bruno Haible  <bruno@clisp.org>
18954
18955         fdopendir: Move AC_LIBOBJ invocations to module description.
18956         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
18957         here...
18958         * modules/fdopendir (configure.ac): ... to here.
18959         (Depends-on): Improve conditions.
18960
18961 2011-05-06  Bruno Haible  <bruno@clisp.org>
18962
18963         _Exit: Move AC_LIBOBJ invocations to module description.
18964         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
18965         invocations from here...
18966         * modules/_Exit (configure.ac): ... to here.
18967
18968 2011-05-21  Bruno Haible  <bruno@clisp.org>
18969
18970         euidaccess: Respect rules for use of AC_LIBOBJ.
18971         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
18972         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
18973         from here...
18974         * modules/euidaccess (configure.ac): ... to here.
18975
18976 2011-05-06  Bruno Haible  <bruno@clisp.org>
18977
18978         error: Move AC_LIBOBJ invocations to module description.
18979         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
18980         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
18981         invocations from here...
18982         * modules/error (configure.ac): ... to here.
18983
18984 2011-05-06  Bruno Haible  <bruno@clisp.org>
18985
18986         duplocale: Move AC_LIBOBJ invocations to module description.
18987         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
18988         gl_PREREQ_DUPLOCALE invocations from here...
18989         * modules/duplocale (configure.ac): ... to here.
18990
18991 2011-05-05  Bruno Haible  <bruno@clisp.org>
18992
18993         dirfd: Move AC_LIBOBJ invocations to module description.
18994         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
18995         gl_FUNC_DIRFD.
18996         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
18997         here...
18998         * modules/dirfd (configure.ac): ... to here.
18999         (Depends-on): Fix condition.
19000
19001 2011-05-05  Bruno Haible  <bruno@clisp.org>
19002
19003         chown: Respect rules for use of AC_LIBOBJ.
19004         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
19005         * modules/chown (configure.ac): ... to here.
19006
19007 2011-05-05  Bruno Haible  <bruno@clisp.org>
19008
19009         chdir-long: Move AC_LIBOBJ invocations to module description.
19010         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
19011         gl_PREREQ_CHDIR_LONG invocations from here...
19012         * modules/chdir-long (configure.ac): ... to here.
19013
19014 2011-05-05  Bruno Haible  <bruno@clisp.org>
19015
19016         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
19017         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
19018         from here...
19019         * modules/canonicalize-lgpl (configure.ac): ... to here.
19020
19021 2011-05-05  Bruno Haible  <bruno@clisp.org>
19022
19023         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
19024         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
19025         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
19026         REPLACE_CALLOC.
19027         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
19028         * modules/calloc-gnu (configure.ac): Likewise.
19029
19030 2011-05-05  Bruno Haible  <bruno@clisp.org>
19031
19032         btowc: Move AC_LIBOBJ invocations to module description.
19033         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
19034         invocations from here...
19035         * modules/btowc (configure.ac): ... to here.
19036
19037 2011-05-21  Bruno Haible  <bruno@clisp.org>
19038
19039         atexit: Move AC_LIBOBJ invocations to module description.
19040         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
19041         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
19042         here...
19043         * modules/atexit (configure.ac): ... to here.
19044
19045 2011-05-05  Bruno Haible  <bruno@clisp.org>
19046
19047         atoll: Move AC_LIBOBJ invocations to module description.
19048         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
19049         invocations from here...
19050         * modules/atoll (configure.ac): ... to here.
19051
19052 2011-05-05  Bruno Haible  <bruno@clisp.org>
19053
19054         argz: Move AC_LIBOBJ invocations to module description.
19055         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
19056         * modules/argz (configure.ac): ... to here.
19057
19058 2011-05-05  Bruno Haible  <bruno@clisp.org>
19059
19060         alphasort: Move AC_LIBOBJ invocations to module description.
19061         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
19062         gl_PREREQ_ALPHASORT invocations from here...
19063         * modules/alphasort (configure.ac): ... to here.
19064
19065 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19066
19067         verify: new macro verify_expr; verify_true deprecated
19068         * NEWS: Mention this.
19069         * doc/verify.texi (Compile-time Assertions): Document this.
19070         * lib/verify.h (verify_true): Deprecate.
19071         (verify_expr): New macro.
19072         * tests/test-verify.c (function): Test verify_expr.
19073
19074 2011-06-14  Jim Meyering  <meyering@redhat.com>
19075
19076         init.sh: give more portable redirection-related advice in a comment
19077         * tests/init.sh (stderr_fileno_): Update the advice in comments.
19078         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
19079         for lots of discussion.  Stefano Lattarini suggested the solution
19080         of putting "9>&2" after the command.  Reported by Bruno Haible.
19081
19082 2011-06-13  Bruno Haible  <bruno@clisp.org>
19083
19084         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
19085         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
19086         'none'.
19087
19088 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
19089
19090         ftoastr: use strtof only if HAVE_STRTOF
19091         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
19092         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
19093         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
19094         * modules/ftoastr (configure.ac): Check for strtof.
19095
19096 2011-06-13  Bruno Haible  <bruno@clisp.org>
19097
19098         gnulib-tool: Addendum to 2011-06-08 commit.
19099         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
19100         and --witness-c-macro have been given, augment AM_CPPFLAGS.
19101
19102 2011-06-13  Bruno Haible  <bruno@clisp.org>
19103
19104         fseeko: Provide a non-inline replacement of fseek().
19105         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
19106         * modules/fseeko (Depends-on): Add fseek.
19107         * modules/fseek (License): Change to LGPLv2+.
19108
19109 2011-06-13  Bruno Haible  <bruno@clisp.org>
19110
19111         ftello: Provide a non-inline replacement of ftell().
19112         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
19113         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
19114         not have ftello() (such as on mingw).
19115         * modules/ftello (Depends-on): Add ftell.
19116         * modules/ftell (License): Change to LGPLv2+.
19117
19118 2011-05-07  Bruno Haible  <bruno@clisp.org>
19119
19120         ftell: Move AC_LIBOBJ invocations to module description.
19121         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
19122         * modules/ftell (configure.ac): ... to here.
19123
19124 2011-05-07  Bruno Haible  <bruno@clisp.org>
19125
19126         ftello: Respect rules for use of AC_LIBOBJ.
19127         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
19128         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
19129         here...
19130         * modules/ftello (configure.ac): ... to here.
19131
19132 2011-05-07  Bruno Haible  <bruno@clisp.org>
19133
19134         fseeko: Simplify.
19135         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
19136         (gl_FUNC_FSEEKO): Inline it here.
19137
19138 2011-05-07  Bruno Haible  <bruno@clisp.org>
19139
19140         fseek: Move AC_LIBOBJ invocations to module description.
19141         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
19142         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
19143         * modules/fseek (configure.ac): ... to here.
19144
19145 2011-05-07  Bruno Haible  <bruno@clisp.org>
19146
19147         fseek: Respect rules for use of AC_LIBOBJ.
19148         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
19149         here...
19150         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
19151
19152 2011-05-07  Bruno Haible  <bruno@clisp.org>
19153
19154         fseeko: Respect rules for use of AC_LIBOBJ.
19155         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
19156         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
19157         here...
19158         * modules/fseeko (configure.ac): ... to here.
19159
19160 2011-06-13  Bruno Haible  <bruno@clisp.org>
19161
19162         gnulib-tool: Allow comments in the 'Depends-on' section.
19163         * doc/gnulib.texi (Module description): Mention comment syntax in the
19164         Depends-on section.
19165         * gnulib-tool (func_get_dependencies): Filter out comment lines.
19166
19167 2011-06-13  Bruno Haible  <bruno@clisp.org>
19168
19169         file-set.h: guard __attibute__ use, now that it's not always defined
19170         * lib/file-set.h (record_file): Use __attribute__ only with compiler
19171         versions that support it.  This fixes a coreutils build failure with
19172         the vendor cc on HP-UX 11.31.
19173
19174 2011-06-12  Bruno Haible  <bruno@clisp.org>
19175
19176         acl: Add support for HP-UX >= 11.11 JFS ACLs.
19177         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
19178         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
19179         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
19180         (acl, aclsort): New declarations.
19181         (aclv_nontrivial): New declaration.
19182         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
19183         (file_has_acl): Read also the second kind of HP-UX ACLs.
19184         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
19185         kind of HP-UX ACLs if the first kind fails.
19186         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
19187         second kind of HP-UX ACLs.
19188         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
19189         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
19190         agree.
19191         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19192         hpuxjfs.
19193         Handle hpuxjfs.
19194         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19195         hpuxjfs.
19196         Handle hpuxjfs.
19197         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19198         (func_test_same_acls): Use both lsacl and getacl.
19199         Handle hpuxjfs.
19200         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19201         (func_test_same_acls): Use both lsacl and getacl.
19202         Handle hpuxjfs.
19203
19204 2011-06-12  Bruno Haible  <bruno@clisp.org>
19205
19206         acl: Complete the 2010-08-10 fix.
19207         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
19208         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
19209         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
19210         explicitly.
19211         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
19212         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
19213
19214 2011-06-12  Bruno Haible  <bruno@clisp.org>
19215
19216         spawn-pipe tests: Comments.
19217         * tests/test-spawn-pipe-child.c (main): Update comment.
19218         Reported by James Youngman <jay@gnu.org>.
19219
19220 2011-06-11  James Youngman  <jay@gnu.org>
19221
19222         New module 'stat-size'.
19223         * modules/stat-size: New module.  Provides macros for accessing
19224         file size information in instances of struct stat.  Depends on the
19225         fileblocks module because it calls st_blocks.
19226         * lib/stat-size.h: New file, adapted from coreutils' system.h.
19227         * doc/gnulib.texi: Include stat-size.texi.
19228         * doc/stat-size.texi: Documentation for this module.
19229         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
19230         * m4/fileblocks.m4: Mention that stat-size depends on the call to
19231         AC_STRUCT_ST_BLOCKS.
19232
19233 2011-06-09  Bruno Haible  <bruno@clisp.org>
19234
19235         thread: Support pthreads-win32.
19236         * lib/glthread/thread.h (gl_thread_self): Define differently on
19237         pthreads-win32.
19238         (gl_null_thread): New declaration.
19239         (gl_thread_self_pointer): New macro.
19240         * lib/glthread/thread.c (gl_null_thread): New constant.
19241         * tests/test-lock.c: Use gl_thread_self_pointer instead of
19242         gl_thread_self.
19243         * tests/test-tls.c: Likewise.
19244         Suggested by Paul Eggert. Reported by Eric Blake.
19245
19246 2011-06-09  Bruno Haible  <bruno@clisp.org>
19247
19248         thread: Fix confusion between NULL and 0.
19249         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
19250         Reported by Paul Eggert.
19251
19252 2011-06-09  Bruno Haible  <bruno@clisp.org>
19253
19254         spawn-pipe tests: Avoid test failure on HP-UX 11.
19255         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
19256         is closed.
19257
19258 2011-06-09  Bruno Haible  <bruno@clisp.org>
19259
19260         acl tests: Fix compilation error on HP-UX 11.
19261         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
19262
19263 2011-06-09  Bruno Haible  <bruno@clisp.org>
19264
19265         rmdir: Avoid test failure on HP-UX 10.20.
19266         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
19267         EEXIST.
19268
19269 2011-06-08  Eric Blake  <eblake@redhat.com>
19270
19271         perror: fix test on mingw
19272         * modules/perror-tests (Depends-on): Add dup2.
19273
19274         strerror_r-posix: fix on MacOS
19275         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
19276         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
19277         logic bug.
19278         * lib/strerror_r.c (strerror_r): Fix the bug.
19279         * lib/strerror.c (strerror): Likewise.
19280         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
19281         problem.
19282         * doc/posix-functions/strerror.texi (strerror): Likewise.
19283         * doc/posix-functions/perror.texi (perror): Likewise.
19284         * tests/test-strerror.c (main): Enhance test.
19285         * tests/test-strerror_r.c (main): Likewise.
19286
19287 2011-06-08  Bruno Haible  <bruno@clisp.org>
19288
19289         gnulib-tool: Better isolation between different gnulib-tool invocations.
19290         * gnulib-tool: New option --witness-c-macro.
19291         (witness_c_macro): New variable.
19292         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
19293         AM_CPPFLAGS define it as a C macro.
19294         (func_emit_tests_Makefile_am): Likewise.
19295         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
19296         read it from there.
19297         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
19298         m4_define, not AC_DEFUN.
19299         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
19300         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
19301         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
19302         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
19303         s|...|...|, to substitute the values of the GNULIB_* module indicator
19304         variables.
19305         * modules/dirent (Makefile.am): Likewise.
19306         * modules/fcntl-h (Makefile.am): Likewise.
19307         * modules/iconv-h (Makefile.am): Likewise.
19308         * modules/langinfo (Makefile.am): Likewise.
19309         * modules/locale (Makefile.am): Likewise.
19310         * modules/math (Makefile.am): Likewise.
19311         * modules/netdb (Makefile.am): Likewise.
19312         * modules/poll-h (Makefile.am): Likewise.
19313         * modules/pty (Makefile.am): Likewise.
19314         * modules/search (Makefile.am): Likewise.
19315         * modules/signal (Makefile.am): Likewise.
19316         * modules/spawn (Makefile.am): Likewise.
19317         * modules/stdio (Makefile.am): Likewise.
19318         * modules/stdlib (Makefile.am): Likewise.
19319         * modules/string (Makefile.am): Likewise.
19320         * modules/sys_ioctl (Makefile.am): Likewise.
19321         * modules/sys_select (Makefile.am): Likewise.
19322         * modules/sys_socket (Makefile.am): Likewise.
19323         * modules/sys_stat (Makefile.am): Likewise.
19324         * modules/sys_times (Makefile.am): Likewise.
19325         * modules/sys_utsname (Makefile.am): Likewise.
19326         * modules/sys_wait (Makefile.am): Likewise.
19327         * modules/termios (Makefile.am): Likewise.
19328         * modules/time (Makefile.am): Likewise.
19329         * modules/unistd (Makefile.am): Likewise.
19330         * modules/wchar (Makefile.am): Likewise.
19331
19332 2011-06-08  Eric Blake  <eblake@redhat.com>
19333
19334         strerror: simplify replacement
19335         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
19336         * modules/strerror (configure.ac): No prereqs needed here...
19337         * modules/strerror-override (configure.ac): ...but this needs it.
19338         (Files): Add file for needed prereq macro.
19339
19340 2011-06-08  Bruno Haible  <bruno@clisp.org>
19341
19342         strerror_r-posix: Tweaks.
19343         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
19344         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
19345         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
19346         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
19347         (gl_FUNC_STRERROR_R): ... to here.
19348         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
19349
19350 2011-06-07  Eric Blake  <eblake@redhat.com>
19351
19352         perror: document fixed bugs
19353         * doc/posix-functions/perror.texi (perror): Document recent
19354         patches.
19355
19356 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
19357
19358         stat-time: get_stat_birthtime failure is better-defined
19359         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
19360         return a timestamp whose tv_sec and tv_nsec values are both -1.
19361         Previously, the spec said only that the tv_nsec value was negative.
19362         This upward-compatible change simplifies GNU tar a bit.
19363
19364 2011-06-07  Eric Blake  <eblake@redhat.com>
19365
19366         strerror_r-posix: work around cygwin 1.7.9
19367         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
19368         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
19369         bug without replacing strerror_r.
19370         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
19371         strerror_r is buggy, but without requiring strerror_r compilation.
19372         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
19373
19374         test-perror: relax test to ignore cygwin bug
19375         * tests/test-perror2.c (main): Relax test on requiring detection
19376         of stream errors, and use unbuffered stream.
19377         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
19378         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
19379         * doc/posix-functions/fputc.texi (fputc): Likewise.
19380         * doc/posix-functions/fputs.texi (fputs): Likewise.
19381         * doc/posix-functions/fputws.texi (fputws): Likewise.
19382         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
19383         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
19384         * doc/posix-functions/getopt.texi (getopt): Likewise.
19385         * doc/posix-functions/perror.texi (perror): Likewise.
19386         * doc/posix-functions/printf.texi (printf): Likewise.
19387         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
19388         * doc/posix-functions/psignal.texi (psignal): Likewise.
19389         * doc/posix-functions/putc.texi (putc): Likewise.
19390         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
19391         Likewise.
19392         * doc/posix-functions/putchar.texi (putchar): Likewise.
19393         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
19394         Likewise.
19395         * doc/posix-functions/puts.texi (puts): Likewise.
19396         * doc/posix-functions/putwc.texi (putwc): Likewise.
19397         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
19398         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
19399         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19400         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
19401         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19402         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
19403         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
19404         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
19405
19406 2011-05-22  Bruno Haible  <bruno@clisp.org>
19407
19408         strerror: Move AC_LIBOBJ invocations to module description.
19409         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
19410         gl_PREREQ_STRERROR invocations from here...
19411         * modules/strerror (configure.ac): ... to here.
19412
19413 2011-05-21  Bruno Haible  <bruno@clisp.org>
19414
19415         perror: Use common idiom.
19416         * modules/perror (configure.ac): Reorder statements.
19417
19418 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19419
19420         tests: fix usage message in 'mktempd_'
19421         * tests/init.sh (mktempd_): In the usage message, use literal
19422         'mktempd_', not '$ME' (which is even undefined), as the name of
19423         the subroutine.
19424
19425 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19426
19427         tests init: new function 'fatal_', for hard errors
19428         Before this patch, the only way offered by tests/init.sh to
19429         properly signal a hard error was the `framework_failure_'
19430         function.  But the error message issued by that function,
19431         as its name would suggest, refers to a set-up failure in the
19432         testsuite, while hard errors can obviously also be due to
19433         other reasons.  The best way to fix this inconsistency is to
19434         introduce a new function with a more general error message.
19435         * tests/init.sh (fatal_): New function.
19436
19437 2011-06-06  Eric Blake  <eblake@redhat.com>
19438
19439         canonicalize-lgpl: use common idiom
19440         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
19441         over newer POSIX -Rf.
19442         Reported by Bruno Haible.
19443
19444         canonicalize-lgpl: work around AIX realpath bug
19445         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
19446         * doc/posix-functions/realpath.texi (realpath): Document it.
19447         Reported by Bruno Haible.
19448
19449         strerror: work around FreeBSD bug
19450         * lib/strerror.c (strerror): Special case 0.
19451         Reported by Bruno Haible.
19452
19453         strerror-override: avoid bloating errno module
19454         * modules/errno (Files, configure.ac): Move replacement strings...
19455         * modules/strerror-override: ...to new module.
19456         * modules/strerror (Depends-on): Add strerror-override.
19457         * modules/strerror_r-posix (Depends-on): Likewise.
19458         * MODULES.html.sh: Document new module.
19459         Reported by Bruno Haible.
19460
19461 2011-06-06  Bruno Haible  <bruno@clisp.org>
19462
19463         spawn-pipe tests: Rename program.
19464         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
19465         * tests/test-spawn-pipe-child.c: Update comment.
19466         * tests/test-spawn-pipe.sh: Update.
19467         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
19468
19469         spawn-pipe tests: Link the child program only against libc.
19470         * tests/test-spawn-pipe-child.c: New file, extracted from
19471         tests/test-spawn-pipe.c.
19472         (main): Expect only one argument.
19473         (is_open): New function, copied from tests/test-pipe.c.
19474         * tests/test-spawn-pipe.c: Don't include <errno.h>.
19475         (child_main): Remove function.
19476         (test_pipe): Pass only one argument to the child program.
19477         (main): Remove child process code. Expect the child program's name as
19478         first argument.
19479         * tests/test-spawn-pipe.sh: Pass the child program's name as first
19480         argument.
19481         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
19482         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
19483         test-spawn-pipe-child against no libraries.
19484
19485 2011-06-06  Bruno Haible  <bruno@clisp.org>
19486
19487         careadlinkat: Avoid mismatch between ssize_t and int.
19488         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
19489         * lib/careadlinkat.c (careadlinkatcwd): Define always.
19490
19491 2011-06-06  Jim Meyering  <meyering@redhat.com>
19492
19493         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
19494         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
19495         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
19496
19497 2011-06-05  Bruno Haible  <bruno@clisp.org>
19498
19499         ansi-c++-opt: Interoperability with libtool.
19500         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
19501         set the variable to "no", not to ":".
19502         * NEWS: Mention the change.
19503
19504 2011-06-05  Bruno Haible  <bruno@clisp.org>
19505
19506         acl: Fix test failure on AIX 7.
19507         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
19508         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
19509
19510 2011-06-05  Bruno Haible  <bruno@clisp.org>
19511
19512         pipe-filter-ii: Fix test failure on AIX and IRIX.
19513         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
19514         with EAGAIN, retry with a smaller buffer size.
19515
19516 2011-06-05  Bruno Haible  <bruno@clisp.org>
19517
19518         localename: Fix link dependencies.
19519         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
19520         * modules/localename-tests (Makefile.am): Link test-localename with
19521         $(LIBTHREAD).
19522
19523 2011-06-05  Bruno Haible  <bruno@clisp.org>
19524
19525         error: Avoid gcc warning.
19526         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
19527
19528 2011-06-05  Bruno Haible  <bruno@clisp.org>
19529
19530         unsetenv: Avoid gcc warning.
19531         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
19532
19533 2011-06-05  Bruno Haible  <bruno@clisp.org>
19534
19535         setenv: Avoid gcc warning.
19536         * lib/setenv.c (setenv): Provide declaration if system lacks it.
19537
19538 2011-06-05  Bruno Haible  <bruno@clisp.org>
19539
19540         sys_select: Ensure memset is declared also on AIX 7.
19541         * lib/sys_select.in.h: Include <string.h> also on AIX.
19542         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
19543         self-contained also on AIX 7.1.
19544
19545 2011-06-04  Jim Meyering  <meyering@redhat.com>
19546
19547         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
19548         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
19549         function name, "error".
19550         (_gl_translatable_diag_func_re): New configurable variable.
19551
19552 2011-06-04  Bruno Haible  <bruno@clisp.org>
19553
19554         getopt: Avoid gcc warning.
19555         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
19556
19557 2011-06-04  Bruno Haible  <bruno@clisp.org>
19558
19559         strerror_r: Fix comments.
19560         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
19561         commit.
19562
19563 2011-06-04  Bruno Haible  <bruno@clisp.org>
19564
19565         perror: Fix compilation error.
19566         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
19567         Undefine fprintf, not sprintf.
19568         * modules/perror (Depends-on): Remove intprops, verify.
19569
19570 2011-06-04  Bruno Haible  <bruno@clisp.org>
19571
19572         setlocale: Enable replacement on Cygwin 1.5.
19573         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
19574         Cygwin 1.5.x.
19575         * doc/posix-functions/setlocale.texi: Mention that the problem with the
19576         LC_CTYPE category also exists on Cygwin 1.5.x.
19577
19578 2011-06-04  Bruno Haible  <bruno@clisp.org>
19579
19580         strerror-override: Don't disable symbol renamings.
19581         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
19582         * lib/strerror-override.c: Include config.h.
19583         (strerror_override): Don't undefine.
19584
19585 2011-06-03  Bruno Haible  <bruno@clisp.org>
19586
19587         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
19588         * lib/localename.h: Update copyright header.
19589         * lib/localename.c: Likewise.
19590         * lib/relocatable.h: Likewise.
19591         * lib/relocatable.c: Likewise.
19592
19593 2011-06-02  Bruno Haible  <bruno@clisp.org>
19594
19595         doc: Fix a module name.
19596         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
19597
19598 2011-06-02  Bruno Haible  <bruno@clisp.org>
19599
19600         pipe2: Remove dependency on 'nonblocking' module.
19601         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
19602         O_NONBLOCK is defined by gnulib.
19603         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
19604         is zero.
19605         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
19606         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
19607         defined by gnulib.
19608         (get_nonblocking_flag): New function.
19609         (main): Test O_NONBLOCK flag only if it is nonzero.
19610         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
19611
19612 2011-06-03  Jim Meyering  <meyering@redhat.com>
19613
19614         maint: three new prohibit-header-without-use rules
19615         Prohibit use of cloexec.h, posixver.h, same.h without use.
19616         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
19617         (sc_prohibit_posixver_without_use): Likewise.
19618         (sc_prohibit_same_without_use): Likewise.
19619
19620 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19621
19622         allocator: 'die' routine is now given requested size
19623         * lib/allocator.h (struct allocator.die): New size arg.
19624         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
19625         If the actual problem is an ssize_t limitation, not a size_t or
19626         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
19627
19628 2011-06-01  Eric Blake  <eblake@redhat.com>
19629
19630         strerror: drop strerror_r dependency
19631         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
19632         * lib/strerror-override.c (strerror_override): ...to new file.
19633         * lib/strerror-override.h: Add prototype.
19634         * lib/strerror-impl.h: Delete.
19635         * lib/strerror.c (strerror): New implementation.
19636         * modules/errno (Files): Add new files.
19637         (configure.ac): Compile new file as appropriate.
19638         * modules/strerror (Files): Drop unused file.
19639         (Depends-on): Drop strerror_r-posix.
19640         * MODULES.html.sh: Document strerror_r-posix.
19641         Requested by Sam Steingold.
19642
19643         perror: call strerror_r directly
19644         * modules/perror (Files): Drop strerror-impl.h.
19645         * lib/perror.c (perror): Use our own stack buffer, rather than
19646         calling a wrapper that uses static storage.
19647         * doc/posix-functions/perror.texi (perror): Document a limitation
19648         of our replacement.
19649
19650         strerror_r: fix includes for FreeBSD
19651         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
19652         since we use abort on some platforms.
19653         Reported by Matthias Bolte.
19654
19655 2011-05-31  Bruno Haible  <bruno@clisp.org>
19656
19657         Fix link errors in tests: openat-die uses gettext-h.
19658         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
19659         against $(LIBINTL).
19660         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
19661         against $(LIBINTL).
19662         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
19663         $(LIBINTL).
19664         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
19665         against $(LIBINTL).
19666         * modules/linkat-tests (Makefile.am): Link test-linkat against
19667         $(LIBINTL).
19668         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
19669         $(LIBINTL).
19670         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
19671         against $(LIBINTL).
19672         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
19673         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
19674         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
19675         $(LIBINTL).
19676         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
19677         $(LIBINTL).
19678         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
19679         $(LIBINTL).
19680         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19681
19682 2011-05-31  Bruno Haible  <bruno@clisp.org>
19683
19684         Fix link errors in tests: wait-process uses gettext-h.
19685         * modules/nonblocking-pipe-tests (Makefile.am): Set
19686         test_nonblocking_pipe_main_LDADD.
19687         * modules/nonblocking-socket-tests (Makefile.am): Link
19688         test-nonblocking-socket-main against $(LIBINTL).
19689         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19690
19691 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
19692
19693         assert-h: work around 'verify' incompatibility
19694         * lib/verify.h: Use @...@ directives, not ifdef.
19695         * modules/assert-h (assert.h): Implement the directives.
19696         (assert.h): Substitute the symbol-prefix more consistently.
19697
19698 2011-05-29  Jim Meyering  <meyering@redhat.com>
19699
19700         trim: remove three superfluous assignments
19701         * lib/trim.c (trim2): Remove three superfluous assignments
19702         and correct brace positioning.
19703
19704 2011-05-29  Bruno Haible  <bruno@clisp.org>
19705
19706         wctype-h: Avoid namespace pollution on Solaris 2.6.
19707         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
19708         identifiers.
19709         * doc/posix-headers/wctype.texi: Mention the problem.
19710         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19711
19712 2011-05-28  Jim Meyering  <meyering@redhat.com>
19713
19714         parse-datetime.y: accommodate -Wstrict-overflow
19715         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
19716         placate -Wstrict-overflow.
19717
19718         trim: avoid a warning from -O2 -Wstrict-overflow
19719         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
19720
19721 2011-05-29  Bruno Haible  <bruno@clisp.org>
19722
19723         gnulib-tool: Fix bug in yesterday's commit.
19724         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
19725         twice.
19726
19727 2011-05-29  Bruno Haible  <bruno@clisp.org>
19728
19729         Allow multiple gnulib generated include files to be combined.
19730         * gnulib-tool (func_compute_include_guard_prefix): New function.
19731         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
19732         ${gl_include_guard_prefix} references.
19733         (func_import, func_create_testdir): Invoke
19734         func_compute_include_guard_prefix.
19735         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
19736         * lib/ctype.in.h: Likewise.
19737         * lib/dirent.in.h: Likewise.
19738         * lib/errno.in.h: Likewise.
19739         * lib/fcntl.in.h: Likewise.
19740         * lib/float.in.h: Likewise.
19741         * lib/getopt.in.h: Likewise.
19742         * lib/iconv.in.h: Likewise.
19743         * lib/langinfo.in.h: Likewise.
19744         * lib/locale.in.h: Likewise.
19745         * lib/math.in.h: Likewise.
19746         * lib/netdb.in.h: Likewise.
19747         * lib/netinet_in.in.h: Likewise.
19748         * lib/poll.in.h: Likewise.
19749         * lib/pthread.in.h: Likewise.
19750         * lib/pty.in.h: Likewise.
19751         * lib/sched.in.h: Likewise.
19752         * lib/se-selinux.in.h: Likewise.
19753         * lib/search.in.h: Likewise.
19754         * lib/signal.in.h: Likewise.
19755         * lib/spawn.in.h: Likewise.
19756         * lib/stdarg.in.h: Likewise.
19757         * lib/stddef.in.h: Likewise.
19758         * lib/stdint.in.h: Likewise.
19759         * lib/stdio.in.h: Likewise.
19760         * lib/stdlib.in.h: Likewise.
19761         * lib/string.in.h: Likewise.
19762         * lib/strings.in.h: Likewise.
19763         * lib/sys_file.in.h: Likewise.
19764         * lib/sys_ioctl.in.h: Likewise.
19765         * lib/sys_select.in.h: Likewise.
19766         * lib/sys_socket.in.h: Likewise.
19767         * lib/sys_stat.in.h: Likewise.
19768         * lib/sys_time.in.h: Likewise.
19769         * lib/sys_times.in.h: Likewise.
19770         * lib/sys_uio.in.h: Likewise.
19771         * lib/sys_utsname.in.h: Likewise.
19772         * lib/sys_wait.in.h: Likewise.
19773         * lib/sysexits.in.h: Likewise.
19774         * lib/termios.in.h: Likewise.
19775         * lib/time.in.h: Likewise.
19776         * lib/unistd.in.h: Likewise.
19777         * lib/wchar.in.h: Likewise.
19778         * lib/wctype.in.h: Likewise.
19779         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
19780         * modules/ctype (Makefile.am): Likewise.
19781         * modules/dirent (Makefile.am): Likewise.
19782         * modules/errno (Makefile.am): Likewise.
19783         * modules/fcntl-h (Makefile.am): Likewise.
19784         * modules/float (Makefile.am): Likewise.
19785         * modules/getopt-posix (Makefile.am): Likewise.
19786         * modules/iconv-h (Makefile.am): Likewise.
19787         * modules/langinfo (Makefile.am): Likewise.
19788         * modules/locale (Makefile.am): Likewise.
19789         * modules/math (Makefile.am): Likewise.
19790         * modules/netdb (Makefile.am): Likewise.
19791         * modules/netinet_in (Makefile.am): Likewise.
19792         * modules/poll-h (Makefile.am): Likewise.
19793         * modules/pthread (Makefile.am): Likewise.
19794         * modules/pty (Makefile.am): Likewise.
19795         * modules/sched (Makefile.am): Likewise.
19796         * modules/search (Makefile.am): Likewise.
19797         * modules/selinux-h (Makefile.am): Likewise.
19798         * modules/signal (Makefile.am): Likewise.
19799         * modules/spawn (Makefile.am): Likewise.
19800         * modules/stdarg (Makefile.am): Likewise.
19801         * modules/stddef (Makefile.am): Likewise.
19802         * modules/stdint (Makefile.am): Likewise.
19803         * modules/stdio (Makefile.am): Likewise.
19804         * modules/stdlib (Makefile.am): Likewise.
19805         * modules/string (Makefile.am): Likewise.
19806         * modules/strings (Makefile.am): Likewise.
19807         * modules/sys_file (Makefile.am): Likewise.
19808         * modules/sys_ioctl (Makefile.am): Likewise.
19809         * modules/sys_select (Makefile.am): Likewise.
19810         * modules/sys_socket (Makefile.am): Likewise.
19811         * modules/sys_stat (Makefile.am): Likewise.
19812         * modules/sys_time (Makefile.am): Likewise.
19813         * modules/sys_times (Makefile.am): Likewise.
19814         * modules/sys_uio (Makefile.am): Likewise.
19815         * modules/sys_utsname (Makefile.am): Likewise.
19816         * modules/sys_wait (Makefile.am): Likewise.
19817         * modules/sysexits (Makefile.am): Likewise.
19818         * modules/termios (Makefile.am): Likewise.
19819         * modules/time (Makefile.am): Likewise.
19820         * modules/unistd (Makefile.am): Likewise.
19821         * modules/wchar (Makefile.am): Likewise.
19822         * modules/wctype-h (Makefile.am): Likewise.
19823         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
19824
19825 2011-05-29  Bruno Haible  <bruno@clisp.org>
19826
19827         assert-h: Allow multiple gnulib generated replacements to coexist.
19828         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
19829
19830 2011-05-29  Bruno Haible  <bruno@clisp.org>
19831
19832         argp: Allow coexistence with strerror_r-posix module.
19833         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
19834         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
19835         by gnulib's <string.h> replacement), assume it has the POSIX signature,
19836         not the glibc signature.
19837
19838 2011-05-28  Bruno Haible  <bruno@clisp.org>
19839
19840         gnulib-tool: Alternative structure of testdirs, similar to --import.
19841         * gnulib-tool: New option --single-configure.
19842         (func_usage): Document it.
19843         (single_configure): New variable.
19844         (func_modules_transitive_closure_separately,
19845         func_modules_transitive_closure_separately,
19846         func_determine_use_libtests, func_modules_add_dummy_separately,
19847         func_modules_to_filelist_separately): New functions, extracted from
19848         func_import.
19849         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
19850         (func_import): Use the new functions.
19851         (func_create_testdir): Set final_modules. Handle $single_configure =
19852         true case.
19853
19854 2011-05-28  Bruno Haible  <bruno@clisp.org>
19855
19856         getloadavg: Remove an unreliable safety check.
19857         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
19858         getloadavg.c is in place.
19859         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
19860         Reported by Sam Steingold <sds@gnu.org>.
19861
19862 2011-05-28  Bruno Haible  <bruno@clisp.org>
19863
19864         doc: Cleanup yet another file produced by texinfo.tex.
19865         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
19866
19867 2011-05-28  Bruno Haible  <bruno@clisp.org>
19868
19869         Finish the conditional dependencies mechanism.
19870         * gnulib-tool: New option --no-conditional-dependencies.
19871         (func_usage): Document it. Don't mark --conditional-dependencies as
19872         experimental.
19873         (cond_dependencies): The possible values can now be true, false, empty.
19874         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
19875         (func_import): Store setting in gnulib-cache.m4 and read it from there.
19876         * doc/gnulib-tool.texi (Conditional dependencies): New section.
19877
19878 2011-05-28  Bruno Haible  <bruno@clisp.org>
19879
19880         doc: Use a recent texinfo.tex.
19881         * doc/Makefile (tex_opts): New variable.
19882         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
19883
19884 2011-05-28  Jim Meyering  <meyering@redhat.com>
19885
19886         intprops.h: adjust comment to match code change
19887         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
19888         only once, it *may* have side effects.  Also fix an unrelated typo.
19889         (_GL_INT_SIGNED): Likewise.
19890
19891 2011-05-26  Simon Josefsson  <simon@josefsson.org>
19892
19893         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
19894
19895 2011-05-26  Bruno Haible  <bruno@clisp.org>
19896
19897         mbsrchr: Avoid collision with system function on Interix.
19898         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
19899         Reported by Markus Duft <mduft@gentoo.org>.
19900
19901 2011-05-15  James Youngman  <jay@gnu.org>
19902
19903         getopt: for ambiguous options, enumerate the possibilities.
19904         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
19905         the ambiguous options when an ambiguous prefix is given. This was
19906         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
19907         glibc change was
19908         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
19909
19910 2011-05-25  Eric Blake  <eblake@redhat.com>
19911
19912         getcwd: work around mingw bug
19913         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
19914         * doc/posix-functions/getcwd.texi (getcwd): Document it.
19915         Reported by Matthias Bolte.
19916
19917 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
19918
19919         test-intprops: disable -Wtype-limits diagnostics
19920         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
19921         diagnostics.  Otherwise, the integer overflow macros generate many
19922         diagnostics.  Reported by Jim Meyering in
19923         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
19924
19925         intprops: shorten, to pacify gcc -Woverlength-strings
19926         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
19927         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
19928         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
19929         likely to run afoul of C compiler limits for string constant lengths.
19930         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
19931
19932 2011-05-24  Eric Blake  <eblake@redhat.com>
19933
19934         docs: document recently fixed glibc printf bug
19935         * doc/posix-functions/fprintf.texi (fprintf): Document it.
19936         * doc/posix-functions/printf.texi (printf): Likewise.
19937         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19938         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19939
19940         closein-tests: convert to init.sh
19941         * modules/closein-tests (Files): Add init.sh
19942         * tests/test-closein.sh Use it.
19943
19944         yesno-tests: convert to init.sh
19945         * modules/yesno-tests (Files): Add init.sh.
19946         * tests/test-yesno.sh: Use it.
19947
19948         atexit-tests: ensure reliable exit status
19949         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
19950         Reported by Bruno Haible.
19951
19952 2011-05-24  Bruno Haible  <bruno@clisp.org>
19953
19954         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
19955         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
19956         gl_PREREQ_STRERROR_R invocations from here...
19957         * modules/strerror_r-posix (configure.ac): ... to here.
19958
19959 2011-05-24  Eric Blake  <eblake@redhat.com>
19960
19961         strerror_r: fix missing header
19962         * lib/strerror_r.c: Avoid compiler warning about snprintf.
19963
19964         strerror_r: fix AIX test failures
19965         * lib/strerror_r.c (strerror_r): Convert silent truncation to
19966         ERANGE failure.
19967
19968         strerror_r: fix Solaris test failures
19969         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
19970         failures.
19971         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
19972
19973         strerror_r: enforce POSIX recommendations
19974         * lib/strerror_r.c (safe_copy): New helper method.
19975         (strerror_r): Guarantee a non-empty string.
19976         * tests/test-strerror_r.c (main): Enhance tests to incorporate
19977         recent POSIX rulings and to match our strerror guarantees.
19978         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
19979
19980 2011-05-24  Jim Meyering  <meyering@redhat.com>
19981
19982         test-perror2.c: avoid warning about unused variable
19983         * tests/test-perror2.c (main): Remove declaration of unused "fp".
19984
19985 2011-05-24  Eric Blake  <eblake@redhat.com>
19986
19987         perror: avoid spurious test failure on HP-UX
19988         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
19989
19990         tests: fix logic bug in init.sh
19991         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
19992         shell.
19993
19994 2011-05-24  Jim Meyering  <meyering@redhat.com>
19995
19996         utimensat: do not reference an out-of-scope buffer
19997         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
19998         declared in an inner scope, yet "times" would be dereferenced outside
19999         the scope in which "ts" was valid.
20000         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
20001         of ts[2] "out/up", so that the use of aliased "times" (via
20002         "times = ts;") does not end up referencing an out-of-scope "ts"
20003
20004         opendir-safer.c: don't clobber errno; don't close negative FD
20005         * lib/opendir-safer.c (opendir_safer):
20006         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
20007         file descriptor, and more importantly, don't clobber the
20008         offending errno value with EINVAL.  Before, upon failure
20009         of dup_safer, we would pass the negative file descriptor to
20010         fdopendir, which would clobber errno.
20011
20012 2011-05-23  Bruno Haible  <bruno@clisp.org>
20013
20014         idcache: Fix module description.
20015         * modules/idcache (Include): Set to "idcache.h".
20016
20017 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
20018
20019         gnulib-tool: fix portability problem with MacOS sed
20020         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
20021         before the "}".  Problem reported by Leo in
20022         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
20023         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
20024         sed_extract_condition1, sed_extract_condition2.
20025
20026 2011-05-23  Bruno Haible  <bruno@clisp.org>
20027
20028         hash: Simplify autoconf macro.
20029         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
20030
20031 2011-05-23  Bruno Haible  <bruno@clisp.org>
20032
20033         getugroups: Fix module description.
20034         * modules/getugroups (Include): Set to "getugroups.h".
20035
20036 2011-05-23  Bruno Haible  <bruno@clisp.org>
20037
20038         linkat: Simplify autoconf macro.
20039         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
20040
20041 2011-05-23  Bruno Haible  <bruno@clisp.org>
20042             Eric Blake  <eblake@redhat.com>
20043
20044         linkat, renameat: Update dependencies.
20045         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
20046         * modules/linkat (Depends-on): Likewise. Remove also readlink,
20047         symlinkat.
20048
20049 2011-05-23  Jim Meyering  <meyering@redhat.com>
20050
20051         maint.mk: more tight_scope improvements
20052         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
20053         (_gl_TS_headers): Define only in if-0'd block.
20054         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
20055         sometimes we must *not* use it.  Adjust uses accordingly.
20056         (sc_tight_scope): Use much simpler grep-based test to determine
20057         whether we skip this rule.
20058
20059         maint.mk: generalize/improve the tight-scope rule
20060         * top/maint.mk: Emit a warning when the test is skipped.
20061         (_gl_TS_dir): Add $(srcdir)/ prefix.
20062         (_gl_TS_function_match): Simplify, rather than trying
20063         to enumerate common types.  Otherwise, it would fail to match an
20064         "extern unsigned char const *" declaration in idutils.
20065         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
20066         a way to support use of that type of macro.
20067         (_gl_TS_var_match): Simplify regexp.
20068         (_gl_TS_obj_files): New configurable variable.
20069         (_gl_TS_headers): Likewise.
20070
20071 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
20072
20073         verify: fix bug when gnulib <assert.h> is also included
20074         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
20075         is defined, not if _GL_STATIC_ASSERT_H is not defined.
20076         Perhaps there's a better way, but this fixes the immediate problem.
20077         Problem reported by Bruno Haible in
20078         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
20079
20080 2011-05-22  Bruno Haible  <bruno@clisp.org>
20081
20082         xgetcwd: Simplify autoconf macro.
20083         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
20084
20085 2011-05-22  Bruno Haible  <bruno@clisp.org>
20086
20087         New module 'mktime-internal'.
20088         * modules/mktime-internal: New file.
20089         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
20090         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
20091         mktime_internal as a C macro if libc has __mktime_internal.
20092         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
20093         conditions.
20094         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
20095
20096 2011-05-22  Bruno Haible  <bruno@clisp.org>
20097
20098         timegm: Correct mktime replacement statements.
20099         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
20100         defining mktime as a C macro. This completes a 2009-07-28 commit.
20101
20102 2011-05-22  Bruno Haible  <bruno@clisp.org>
20103
20104         timegm: Simplify autoconf macro.
20105         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
20106
20107 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
20108
20109         clock-time: change to LGPLv2+.
20110         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
20111         BSD-like but we have no mark for that; this is good enough for now.
20112
20113 2011-05-21  Bruno Haible  <bruno@clisp.org>
20114
20115         strerror_r: Fix comments.
20116         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
20117
20118 2011-05-21  Bruno Haible  <bruno@clisp.org>
20119
20120         relocatable-prog-wrapper: Fix possible link error.
20121         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
20122         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
20123         (gl_FUNC_SETENV): ... to here.
20124         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
20125         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
20126
20127 2011-05-21  Bruno Haible  <bruno@clisp.org>
20128
20129         relocatable-prog-wrapper: Assume strerror() exists.
20130         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
20131         m4/strerror.m4.
20132         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
20133         * lib/relocwrapper.c: Remove mention of strerror module.
20134         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
20135         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
20136         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
20137         C macro.
20138
20139 2011-05-21  Bruno Haible  <bruno@clisp.org>
20140
20141         select: Simplify replacement idiom.
20142         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
20143         Win32 platforms.
20144         * lib/sys_select.in.h (select): Simplify accordingly.
20145         * modules/select (Depends-on): Likewise.
20146
20147 2011-05-21  Bruno Haible  <bruno@clisp.org>
20148
20149         mkdir-p: Simplify autoconf macro.
20150         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
20151         gl_FUNC_LCHOWN.
20152
20153 2011-05-21  Eric Blake  <eblake@redhat.com>
20154
20155         strerror_r: avoid clobbering strerror on cygwin
20156         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
20157         fall back instead to sys_errlist.
20158         * modules/strerror (configure.ac): Add witness.
20159         * tests/test-strerror_r.c (main): Enhance test.
20160         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20161         * tests/test-perror2.c (main): Free memory before exit.
20162
20163 2011-05-21  Bruno Haible  <bruno@clisp.org>
20164
20165         mkdtemp: Use gnulib naming conventions.
20166         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
20167         * modules/mkdtemp (configure.ac): Update.
20168
20169 2011-05-20  Eric Blake  <eblake@redhat.com>
20170
20171         strerror_r: avoid corrupting errno on Solaris
20172         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
20173         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20174
20175         strerror_r: avoid compiler warning
20176         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
20177
20178         strerror_r: simplify AIX code
20179         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
20180
20181         test-perror: avoid spurious failure on FreeBSD
20182         * modules/perror-tests (Depends-on): Add strerror, now that
20183         strerror_r no longer pulls it in.
20184
20185 2011-05-20  Bruno Haible  <bruno@clisp.org>
20186
20187         strerror_r-posix: Remove unused dependencies.
20188         * modules/strerror_r-posix (Depends-on): Remove strerror.
20189         Reported by Eric Blake.
20190
20191 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
20192
20193         intprops: remove assumption about A|B representation
20194         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
20195         is a valid integer if both A and B are.  Although this is true for
20196         all known practical hosts, the C standard doesn't guarantee it,
20197         and the code need not assume it.  Also, this change may work around
20198         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
20199         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
20200
20201 2011-05-20  Eric Blake  <eblake@redhat.com>
20202
20203         perror: work around FreeBSD bug
20204         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
20205         is broken.  Move AC_LIBOBJ...
20206         * modules/perror (configure.ac): Here.
20207         * doc/posix-functions/perror.texi (perror): Document this.
20208         * tests/test-perror2.c (main): Enhance test.
20209
20210         test-perror: check for strerror interactions
20211         * tests/macros.h (STREQ): Add macro.
20212         * modules/perror-tests (Files): Add second test.
20213         * tests/test-perror2.c (main): New file.
20214         * doc/posix-functions/perror.texi (perror): Document glibc bug.
20215
20216         test-perror: rewrite to use init script
20217         * modules/perror-tests (Files): Add init.sh.
20218         * tests/test-perror.sh: Use temporary directory.
20219
20220 2011-05-20  Jim Meyering  <meyering@redhat.com>
20221
20222         maint: replace misused "a" with "an"
20223         * doc/intprops.texi: "a integer"
20224         * doc/regex.texi: "a explanation"
20225         * lib/alignof.h: "a object"
20226         * lib/argmatch.h: "a explanation"
20227         * lib/argp-help.c: "a option" and "a OPTION_DOC"
20228         * lib/stdint.in.h: "a integer"
20229         * lib/userspec.c: "a owner"
20230         * doc/gnulib.texi: Fix "a idea", and reword.
20231
20232 2011-05-19  Jim Meyering  <meyering@redhat.com>
20233
20234         maint: correct misuse of "a" and "an"
20235         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
20236         * lib/argp-help.c: "an docum...": s/an/a/
20237         * lib/argp-parse.c: "An vector": s/An/A/
20238         * lib/execute.c: "an native": s/an/a/
20239         * lib/spawn-pipe.c: Likewise.
20240         * lib/gc.h: "an Gc_rc": s/an/a/
20241         * lib/unigbrk.in.h: "an grapheme": s/an/a/
20242         * lib/fts.c: "an stat.st_dev": s/an/a/
20243
20244 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20245
20246         intprops-tests: work around HP-UX 11.23 cc bug with constants
20247         * tests/test-intprops.c (VERIFY): New macro.
20248         (main): Use it, instead of verify, to work around the compiler bug; see
20249         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20250
20251         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
20252         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
20253         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
20254         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
20255         (_GL_REMAINDER_OVERFLOW): Use it.
20256
20257         intprops-tests: revert unsigned part of previous change
20258         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
20259         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
20260         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
20261         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
20262
20263 2011-05-19  Bruno Haible  <bruno@clisp.org>
20264
20265         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
20266         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
20267         strerror_r() returned without filling the buffer.
20268         Reported by Eric Blake.
20269
20270 2011-05-19  Eric Blake  <eblake@redhat.com>
20271
20272         strerror_r: guarantee unchanged errno
20273         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
20274         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
20275         failure.
20276         * tests/test-strerror_r.c (main): Enhance test.
20277
20278 2011-05-19  Bruno Haible  <bruno@clisp.org>
20279
20280         strerror_r: Reorder #if blocks.
20281         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
20282         for consistency with the previous commit.
20283
20284 2011-05-19  Bruno Haible  <bruno@clisp.org>
20285
20286         perror: Avoid clobbering the strerror buffer when possible.
20287         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
20288         * lib/strerror.c: Include it.
20289         * modules/strerror (Files): Add lib/strerror-impl.h.
20290         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
20291         (my_strerror): New function, defined through lib/strerror-impl.h.
20292         (perror): Use it instead of strerror.
20293         * modules/perror (Files): Add lib/strerror-impl.h.
20294         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
20295
20296 2011-05-19  Eric Blake  <eblake@redhat.com>
20297
20298         strerror_r: fix on newer cygwin
20299         * lib/strerror_r.c (strerror_r): Cygwin now has
20300         __xpg_strerror_r, use it.
20301
20302 2011-05-19  Bruno Haible  <bruno@clisp.org>
20303
20304         strerror_r: Avoid clobbering the strerror buffer when possible.
20305         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
20306         (sys_nerr, sys_errlist): New declarations.
20307         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
20308         HP-UX, native Win32, IRIX, and 32-bit Solaris.
20309         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
20310
20311 2011-05-19  Bruno Haible  <bruno@clisp.org>
20312
20313         strerror_r: Fix test failure on mingw.
20314         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
20315         EXTEND_STRERROR_R.
20316         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
20317         macros from errno.in.h instead.
20318
20319 2011-05-19  Eric Blake  <eblake@redhat.com>
20320
20321         strerror: relax test for Solaris
20322         * tests/test-strerror.c (main): Permit Solaris behavior.
20323         * tests/test-strerror_r.c (main): Likewise.
20324
20325         strerror: enforce POSIX ruling on strerror(0)
20326         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
20327         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
20328         * lib/strerror_r.c (rpl_strerror_r): Work around it.
20329         * doc/posix-functions/strerror.texi (strerror): Document it.
20330         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
20331         * tests/test-strerror.c (main): Strengthen test.
20332         * tests/test-strerror_r.c (main): Likewise.
20333
20334 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20335
20336         intprop-tests: port to older and more-pedantic compilers
20337         * modules/intprops-tests (Files): Add tests/macros.h.
20338         * tests/test-intprops.c: Include macros.h.
20339         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
20340         it's no longer documented to expand to an integer constant expression.
20341         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
20342         argument is floating point, as it's no longer documented to expand
20343         to an integer constant expression in that case.
20344         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
20345         compiler bugs reported by Bruno Haible.  See
20346         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20347         (U0, U1): New constants, to work around the same bugs.  Also,
20348         in tests, use e.g., "(unsigned int) 39" rather than "39u".
20349
20350         intprops: work around C compiler bugs
20351         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
20352         bug in Sun C 5.11 2010/08/13 and other compilers; see
20353         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20354
20355         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
20356         * doc/intprops.texi (Integer Type Determination): Fix
20357         documentation for TYPE_IS_INTEGER: it returns an constant
20358         expression, not an integer constant expression.  Fix doc for
20359         TYPE_SIGNED: it returns an integer constant expression only if its
20360         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
20361         hardly worth documented that way....)
20362
20363 2011-05-18  Bruno Haible  <bruno@clisp.org>
20364
20365         strerror_r: Avoid clobbering the strerror buffer when possible.
20366         * lib/strerror_r.c (strerror_r): Merge the three implementations.
20367         Handle gnulib defined errno values here. When strerror() returns NULL
20368         or an empty string, return EINVAL.
20369         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
20370         gnulib defined errno values here.
20371         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
20372
20373 2011-05-18  Eric Blake  <eblake@redhat.com>
20374
20375         fnmatch: avoid compiler warning
20376         * lib/fnmatch_loop.c (FCT): Use correct type.
20377         Reported by Matthias Bolte.
20378
20379 2011-05-13  Jim Meyering  <meyering@redhat.com>
20380
20381         maint.mk: three new prohibit_<HDR>_without_use rules
20382         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
20383         (sc_prohibit_stdio-safer_without_use): Likewise.
20384         (sc_prohibit_xfreopen_without_use): Likewise.
20385
20386 2011-05-17  Jim Meyering  <meyering@redhat.com>
20387
20388         announce-gen: fail if the NEWS delta is empty
20389         If there's nothing noteworthy in NEWS, then either you forgot
20390         or you shouldn't be releasing.
20391         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
20392
20393 2011-05-17  Pádraig Brady <P@draigBrady.com>
20394
20395         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
20396         reserved symbols starting with double underscore from the check.
20397
20398 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
20399
20400         intprops: add doc
20401         * doc/intprops.texi: New file, documenting intprops.
20402         * doc/gnulib.texi (Particular Modules): Include it.
20403
20404         verify: add doc to gnulib manual and fix example
20405         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
20406         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
20407         (Compile-time Assertions): Fix example so it can't overflow.
20408
20409 2011-05-17  Jim Meyering  <meyering@redhat.com>
20410
20411         warnings.m4: don't usurp save_CPPFLAGS variable name
20412         * m4/warnings.m4: Prefix local temporary variable name with gl_.
20413
20414         doc: fix typo
20415         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
20416
20417 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20418             Bruno Haible  <bruno@clisp.org>
20419
20420         doc: Tweak recent change.
20421         * README (Portability guidelines): Tweak new text.
20422         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
20423         Interix 6.1.
20424
20425 2011-05-16  Eric Blake  <eblake@redhat.com>
20426
20427         inttypes: avoid autoconf warning
20428         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
20429         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20430
20431 2011-05-16  Sam Steingold <sds@gnu.org>
20432         and Eric Blake  <eblake@redhat.com>
20433
20434         vc-list-files: accept multiple directory operands
20435         * build-aux/vc-list-files: Iterate over all remaining operands.
20436
20437 2011-05-16  Bruno Haible  <bruno@clisp.org>
20438
20439         Fix confusion regarding deprecated modules.
20440         * modules/calloc (Status, Notice): Mark module as deprecated, not
20441         obsolete.
20442         * modules/fnmatch-posix (Status, Notice): Likewise.
20443         * modules/getdate (Status, Notice): Likewise.
20444         * modules/getopt (Status, Notice): Likewise.
20445         * modules/malloc (Status, Notice): Likewise.
20446         * modules/pipe (Status, Notice): Likewise.
20447         * modules/realloc (Status, Notice): Likewise.
20448         * modules/rename-dest-slash (Status, Notice): Likewise.
20449         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
20450         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
20451         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
20452         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
20453         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
20454
20455 2011-05-16  Bruno Haible  <bruno@clisp.org>
20456
20457         doc: List the target platforms.
20458         * doc/gnulib-intro.texi (Target Platforms): New section.
20459         * doc/gnulib.texi (Introduction): Update menu.
20460         * README (Portability guidelines): Refer to the new section. Update
20461         statement about oldest supported environment. Remove rationale why
20462         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
20463         unportable C89 function.
20464         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
20465         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
20466
20467 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20468
20469         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
20470
20471 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
20472
20473         intprops-tests: new module
20474         * modules/intprops-tests, tests/test-intprops.c: New files.
20475
20476         intprops: add safe, portable integer overflow checking
20477         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
20478         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
20479         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
20480         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
20481         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
20482         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
20483         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
20484         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
20485         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
20486         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
20487         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
20488
20489 2011-05-12  James Youngman  <jay@gnu.org>
20490
20491         Add a test for glibc's Bugzilla bug #12378.
20492         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
20493         doesn't allow the literal matching of a lone "[" (which is
20494         required by POSIX).
20495         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
20496
20497 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
20498
20499         Sync glibc change fixing Bugzilla bug #12378.
20500         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
20501         beginning and fall back to matching as normal character if the
20502         string ends before the matching ']' is found.  This is what POSIX
20503         requires.
20504
20505 2011-05-13  Eric Blake  <eblake@redhat.com>
20506
20507         getcwd-lgpl: relax test for FreeBSD
20508         * doc/posix-functions/getcwd.texi (getcwd): Document portability
20509         issue.
20510         * tests/test-getcwd-lgpl.c (main): Relax test.
20511         Reported by Matthias Bolte.
20512
20513 2011-05-11  Eric Blake  <eblake@redhat.com>
20514
20515         test-fflush: silence compiler warning
20516         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
20517
20518 2011-05-11  Bruno Haible  <bruno@clisp.org>
20519
20520         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
20521         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
20522         * modules/canonicalize (Depends-on): Add 'nocrash'.
20523         * modules/canonicalize-lgpl (Depends-on): Likewise.
20524         * doc/posix-functions/realpath.texi: Update platforms list.
20525         Reported by Ryan Schmidt <ryandesign@macports.org>.
20526
20527 2011-05-11  Bruno Haible  <bruno@clisp.org>
20528
20529         group-member: Declare function in <unistd.h>.
20530         * lib/unistd.in.h (group_member): New declaration.
20531         * lib/group-member.h: Remove file.
20532         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
20533         * tests/test-unistd-c++.cc: Check signature of group_member.
20534         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
20535         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
20536         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
20537         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
20538         HAVE_GROUP_MEMBER.
20539         * modules/group-member (Files): Remove lib/group-member.h.
20540         (Depends-on): Add unistd. Specify conditions.
20541         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20542         (Include): Change to <unistd.h>.
20543         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
20544         HAVE_GROUP_MEMBER.
20545         * NEWS: Mention the change.
20546         * lib/euidaccess.c: Don't include group-member.h.
20547
20548 2011-05-11  Bruno Haible  <bruno@clisp.org>
20549
20550         group-member: Document module.
20551         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
20552         module.
20553
20554 2011-05-11  Bruno Haible  <bruno@clisp.org>
20555
20556         fclose: Fix mistake earlier today.
20557         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
20558
20559 2011-05-11  Eric Blake  <eblake@redhat.com>
20560
20561         fclose: preserve fflush errors
20562         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
20563         Reported by Jim Meyering.
20564
20565         bootstrap: support a prereq of 'rpcgen -' on RHEL5
20566         * build-aux/bootstrap (check_versions): When no specific version
20567         is required, merely check that the app produces an exit status
20568         that indicates its existence.
20569
20570         maint.mk: drop redundant check
20571         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
20572         the same but better.
20573
20574 2011-05-11  Bruno Haible  <bruno@clisp.org>
20575
20576         fclose: Fix possible link error.
20577         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
20578         unregister_shadow_fd. Improve comments.
20579         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
20580         Eric Blake.
20581
20582 2011-05-11  Jim Meyering  <meyering@redhat.com>
20583
20584         maint.mk: improve "can not" detection and generalize rule name
20585         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
20586         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
20587         Use the same technique as in sc_prohibit_doubled_word, so that
20588         we recognize "can not" also when the words are separated by a newline.
20589         Suggested by Eric Blake.
20590         (perl_filename_lineno_text_): Define.  Factored out of...
20591         (prohibit_doubled_word_): ...here.  Use the new definition.
20592         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
20593         (prohibit_undesirable_word_seq_RE_): New overridable variable.
20594         (ignore_undesirable_word_sequence_RE_): New overridable variable.
20595
20596 2011-05-10  Eric Blake  <eblake@redhat.com>
20597
20598         fclose: avoid double close race when possible
20599         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
20600         all but WINDOWS_SOCKETS.
20601
20602 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
20603
20604         openat: correct new comment
20605         * lib/openat-proc.c (openat_proc_name): Correct the comment.
20606
20607 2011-05-10  Jim Meyering  <meyering@redhat.com>
20608
20609         openat: add comments
20610         * lib/openat-proc.c (openat_proc_name): Add comments,
20611         mostly from Eric Blake.
20612
20613 2011-05-09  Eric Blake  <eblake@redhat.com>
20614
20615         openat: reduce syscalls in first probe of /proc
20616         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
20617         be a directory.  Simplify the probe for .. bugs.
20618         * modules/openat (Depends-on): Drop same-inode.
20619         Reported by Bastien ROUCARIES.
20620
20621 2011-05-09  Jim Meyering  <meyering@redhat.com>
20622
20623         maint.mk: change semantics/name of tight_scope variables
20624         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
20625         Rename variables to align with semantics that make them more useful.
20626
20627         maint.mk: tweak new rule's name not to impinge
20628         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
20629         (sc_tight_scope): Use new rule name rather than $@-0.
20630
20631         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
20632         * top/maint.mk (sc_tight_scope): New rule.
20633         (sc_tight_scope-0): New rule, ifdef'd out.
20634         (_gl_TS_dir): Default.
20635         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
20636         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
20637
20638 2011-05-09  Simon Josefsson  <simon@josefsson.org>
20639
20640         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
20641         Haible <bruno@clisp.org>.
20642
20643 2011-05-08  Bruno Haible  <bruno@clisp.org>
20644
20645         Comments.
20646         * m4/isnanf.m4: Add comment.
20647         * m4/isnanl.m4: Likewise.
20648
20649 2011-05-08  Bruno Haible  <bruno@clisp.org>
20650
20651         glob: Remove obsolete macro.
20652         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
20653
20654 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
20655
20656         intprops: Sun C 5.11 supports __typeof__
20657         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
20658         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
20659         which is new.
20660         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
20661
20662         intprops: switch to usual gnulib indenting and naming
20663         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
20664         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
20665
20666         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
20667
20668 2011-05-08  Jim Meyering  <meyering@redhat.com>
20669
20670         maint.mk: suppress "Entering/Leaving directory" diag in announcement
20671         * top/maint.mk (release-prep): Use make's --no-print-directory
20672         option when generating the announcement.  This eliminates the
20673         pesky "make[2]: Entering/Leaving directory" diagnostics in the
20674         generated announcement template.
20675
20676 2011-05-08  Bruno Haible  <bruno@clisp.org>
20677
20678         tzset: Fix gettimeofday wrapper on Solaris 2.6.
20679         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
20680         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
20681
20682 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
20683
20684         ignore-value, verify: Omit include files from lib_SOURCES.
20685         * modules/ignore-value, modules/verify (Makefile.am):
20686         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
20687         that leads Automake to duplicate use of am__objects_... variables
20688         in Makefile.in.  See
20689         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
20690
20691 2011-05-07  Bruno Haible  <bruno@clisp.org>
20692
20693         fclose: Simplify autoconf macro.
20694         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
20695         defined.
20696
20697 2011-05-07  Bruno Haible  <bruno@clisp.org>
20698
20699         canonicalize-lgpl: Fix autoconf macro ordering bug.
20700         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
20701         gl_STDLIB_H_DEFAULTS.
20702
20703 2011-05-06  Eric Blake  <eblake@redhat.com>
20704
20705         maintainer-makefile: make sc_po_check easier to tune
20706         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
20707         to probe for strings, such as an alternate location for gnulib.
20708
20709         fclose: guarantee behavior on seekable stdin
20710         * modules/fclose (Depends-on): Add fflush.
20711         * doc/posix-functions/fclose.texi (fclose): Document this.
20712         * tests/test-fclose.c (main): Make test for this unconditional.
20713
20714 2011-05-06  Bruno Haible  <bruno@clisp.org>
20715
20716         fflush, fpurge: Relicense under LGPLv2+.
20717         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
20718         * modules/fpurge (License): Likewise.
20719         With permission from Eric Blake and Jim Meyering.
20720         Suggested by Eric Blake.
20721
20722 2011-05-06  Karl Berry  <karl@gnu.org>
20723
20724         * MODULES.html.sh (func_all_modules): remove exit.
20725
20726 2011-05-06  Jim Meyering  <meyering@redhat.com>
20727
20728         maint.mk: use info-gnu@ as the default only for a stable release
20729         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
20730         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
20731         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
20732         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
20733
20734 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20735
20736         assert-h: new module, which supports C1X-style static_assert
20737         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
20738         * lib/verify.h: Revamp so that this can be copied into assert.h,
20739         while retaining the ability to use it standalone as before.
20740         Rename private identifiers so as not to encroach on the
20741         standard C namespace, since this is now used by assert.h.
20742         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
20743         the old verify_true.
20744         (_GL_VERIFY_TRUE): New macro, with much of the contents of
20745         the old verify_true.  Use _GL_VERIFY_TYPE.
20746         (_GL_VERIFY): New macro, with much of the contents of the old verify.
20747         (static_assert): New macro, if _GL_STATIC_ASSERT_H
20748         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
20749         defined when this file is copied into the replacement assert.h.
20750         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
20751         and _Static_assert is not built in.
20752         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
20753         defined, and use the new macros mentioned above.
20754         * doc/posix-headers/assert.texi: Document this.
20755
20756 2011-05-05  Bruno Haible  <bruno@clisp.org>
20757
20758         fclose, fflush: Respect rules for use of AC_LIBOBJ.
20759         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
20760         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
20761         gl_REPLACE_FCLOSE here.
20762         * modules/fflush (Depends-on): Remove fclose.
20763         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
20764         combination with module 'fclose'.
20765
20766 2011-05-05  Bruno Haible  <bruno@clisp.org>
20767
20768         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
20769         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
20770         gl_FUNC_FFLUSH.
20771         (gl_FUNC_FFLUSH): Use it.
20772         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
20773         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
20774         gl_REPLACE_FSEEKO here.
20775
20776 2011-05-05  Bruno Haible  <bruno@clisp.org>
20777
20778         tzset: Relicense under LGPL.
20779         * modules/tzset (License): Change to LGPL.
20780         No agreement needed; it's a no-op.
20781
20782         strtoimax, strtoumax: Relicense under LGPL.
20783         * modules/strtoimax (License): Change to LGPL.
20784         * modules/strtoumax (License): Likewise.
20785         With permission from Jim Meyering, Paul Eggert:
20786         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
20787         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
20788
20789         getgroups: Relicense under LGPL.
20790         * modules/getgroups (License): Change to LGPL.
20791         With permission from Jim Meyering, Paul Eggert, Eric Blake:
20792         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
20793         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
20794         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20795
20796         nanosleep: Relicense under LGPL.
20797         * modules/nanosleep (License): Change to LGPL.
20798         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
20799         Haible:
20800         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
20801         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
20802         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20803         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
20804
20805         futimens: Relicense under LGPL.
20806         * modules/futimens (License): Change to LGPL.
20807         With permission from Eric Blake:
20808         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20809
20810         fflush: Relicense under LGPL.
20811         * modules/fflush (License): Change to LGPL.
20812         With permission from Eric Blake, Bruno Haible, Jim Meyering:
20813         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20814         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
20815         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
20816
20817         tmpfile: Relicense under LGPL.
20818         * modules/tmpfile (License): Change to LGPL.
20819         With permission from Ben Pfaff:
20820         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
20821
20822         isfinite: Relicense under LGPL.
20823         * modules/isfinite (License): Change to LGPL.
20824         With permission from Ben Pfaff, Bruno Haible:
20825         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
20826         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
20827
20828         acosl..tanl: Relicense under LGPL.
20829         * modules/acosl (License): Change to LGPL.
20830         * modules/asinl (License): Likewise.
20831         * modules/atanl (License): Likewise.
20832         * modules/cosl (License): Likewise.
20833         * modules/expl (License): Likewise.
20834         * modules/logl (License): Likewise.
20835         * modules/sinl (License): Likewise.
20836         * modules/sqrtl (License): Likewise.
20837         * modules/tanl (License): Likewise.
20838         Source code originally from glibc and Paolo Bonzini. Agreements:
20839         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
20840         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
20841
20842 2011-05-05  Bruno Haible  <bruno@clisp.org>
20843
20844         signal: Define sighandler_t.
20845         * lib/signal.in.h (sighandler_t): New type.
20846         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
20847         whether sighandler_t is defined.
20848         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
20849         * modules/signal (Depends-on): Add extensions.
20850         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
20851         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
20852         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
20853
20854 2011-05-05  Eric Blake  <eblake@redhat.com>
20855
20856         maint: remove useless REPLACE_*_H macros
20857         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
20858         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
20859         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
20860         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
20861         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
20862         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
20863         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
20864         * m4/btowc.m4: Update callers.
20865         * m4/dirfd.m4: Likewise.
20866         * m4/duplocale.m4: Likewise.
20867         * m4/fchdir.m4: Likewise.
20868         * m4/fdopendir.m4: Likewise.
20869         * m4/inet_ntop.m4: Likewise.
20870         * m4/inet_pton.m4: Likewise.
20871         * m4/ioctl.m4: Likewise.
20872         * m4/mbrlen.m4: Likewise.
20873         * m4/mbrtowc.m4: Likewise.
20874         * m4/mbsinit.m4: Likewise.
20875         * m4/mbsnrtowcs.m4: Likewise.
20876         * m4/mbsrtowcs.m4: Likewise.
20877         * m4/poll.m4: Likewise.
20878         * m4/setlocale.m4: Likewise.
20879         * m4/wcrtomb.m4: Likewise.
20880         * m4/wcsnrtombs.m4: Likewise.
20881         * m4/wcsrtombs.m4: Likewise.
20882         * m4/wctob.m4: Likewise.
20883         * m4/wcwidth.m4: Likewise.
20884         * modules/posix_spawn: Likewise.
20885         * modules/posix_spawn_file_actions_addclose: Likewise.
20886         * modules/posix_spawn_file_actions_adddup2: Likewise.
20887         * modules/posix_spawn_file_actions_addopen: Likewise.
20888         * modules/posix_spawn_file_actions_destroy: Likewise.
20889         * modules/posix_spawn_file_actions_init: Likewise.
20890         * modules/posix_spawnattr_destroy: Likewise.
20891         * modules/posix_spawnattr_getflags: Likewise.
20892         * modules/posix_spawnattr_getpgroup: Likewise.
20893         * modules/posix_spawnattr_getschedparam: Likewise.
20894         * modules/posix_spawnattr_getschedpolicy: Likewise.
20895         * modules/posix_spawnattr_getsigdefault: Likewise.
20896         * modules/posix_spawnattr_getsigmask: Likewise.
20897         * modules/posix_spawnattr_init: Likewise.
20898         * modules/posix_spawnattr_setflags: Likewise.
20899         * modules/posix_spawnattr_setpgroup: Likewise.
20900         * modules/posix_spawnattr_setschedparam: Likewise.
20901         * modules/posix_spawnattr_setschedpolicy: Likewise.
20902         * modules/posix_spawnattr_setsigdefault: Likewise.
20903         * modules/posix_spawnattr_setsigmask: Likewise.
20904         * modules/posix_spawnp: Likewise.
20905
20906 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
20907
20908         Add option to do-release-commit-and-tag to specify branch.
20909         * build-aux/do-release-commit-and-tag: Add --branch.
20910
20911 2011-05-03  Bruno Haible  <bruno@clisp.org>
20912
20913         Avoid unnecessary compilation units, through conditional dependencies.
20914         * modules/accept (Depends-on): Add conditions to the dependencies.
20915         * modules/acosl (Depends-on): Likewise.
20916         * modules/argz (Depends-on): Likewise.
20917         * modules/asinl (Depends-on): Likewise.
20918         * modules/atanl (Depends-on): Likewise.
20919         * modules/atoll (Depends-on): Likewise.
20920         * modules/bind (Depends-on): Likewise.
20921         * modules/btowc (Depends-on): Likewise.
20922         * modules/canonicalize-lgpl (Depends-on): Likewise.
20923         * modules/ceil (Depends-on): Likewise.
20924         * modules/ceilf (Depends-on): Likewise.
20925         * modules/ceill (Depends-on): Likewise.
20926         * modules/chdir-long (Depends-on): Likewise.
20927         * modules/chown (Depends-on): Likewise.
20928         * modules/close (Depends-on): Likewise.
20929         * modules/connect (Depends-on): Likewise.
20930         * modules/cosl (Depends-on): Likewise.
20931         * modules/dirfd (Depends-on): Likewise.
20932         * modules/dprintf (Depends-on): Likewise.
20933         * modules/dprintf-posix (Depends-on): Likewise.
20934         * modules/error (Depends-on): Likewise.
20935         * modules/euidaccess (Depends-on): Likewise.
20936         * modules/expl (Depends-on): Likewise.
20937         * modules/faccessat (Depends-on): Likewise.
20938         * modules/fchdir (Depends-on): Likewise.
20939         * modules/fclose (Depends-on): Likewise.
20940         * modules/fcntl (Depends-on): Likewise.
20941         * modules/fdopendir (Depends-on): Likewise.
20942         * modules/fflush (Depends-on): Likewise.
20943         * modules/floor (Depends-on): Likewise.
20944         * modules/floorf (Depends-on): Likewise.
20945         * modules/floorl (Depends-on): Likewise.
20946         * modules/fnmatch (Depends-on): Likewise.
20947         * modules/fopen (Depends-on): Likewise.
20948         * modules/fprintf-posix (Depends-on): Likewise.
20949         * modules/frexp (Depends-on): Likewise.
20950         * modules/frexp-nolibm (Depends-on): Likewise.
20951         * modules/frexpl (Depends-on): Likewise.
20952         * modules/frexpl-nolibm (Depends-on): Likewise.
20953         * modules/fseek (Depends-on): Likewise.
20954         * modules/fsusage (Depends-on): Likewise.
20955         * modules/ftell (Depends-on): Likewise.
20956         * modules/ftello (Depends-on): Likewise.
20957         * modules/futimens (Depends-on): Likewise.
20958         * modules/getcwd (Depends-on): Likewise.
20959         * modules/getcwd-lgpl (Depends-on): Likewise.
20960         * modules/getdelim (Depends-on): Likewise.
20961         * modules/getdomainname (Depends-on): Likewise.
20962         * modules/getgroups (Depends-on): Likewise.
20963         * modules/gethostname (Depends-on): Likewise.
20964         * modules/getline (Depends-on): Likewise.
20965         * modules/getlogin_r (Depends-on): Likewise.
20966         * modules/getopt-posix (Depends-on): Likewise.
20967         * modules/getpeername (Depends-on): Likewise.
20968         * modules/getsockname (Depends-on): Likewise.
20969         * modules/getsockopt (Depends-on): Likewise.
20970         * modules/getsubopt (Depends-on): Likewise.
20971         * modules/getusershell (Depends-on): Likewise.
20972         * modules/glob (Depends-on): Likewise.
20973         * modules/grantpt (Depends-on): Likewise.
20974         * modules/iconv_open (Depends-on): Likewise.
20975         * modules/iconv_open-utf (Depends-on): Likewise.
20976         * modules/inet_ntop (Depends-on): Likewise.
20977         * modules/inet_pton (Depends-on): Likewise.
20978         * modules/ioctl (Depends-on): Likewise.
20979         * modules/isapipe (Depends-on): Likewise.
20980         * modules/isfinite (Depends-on): Likewise.
20981         * modules/isinf (Depends-on): Likewise.
20982         * modules/lchown (Depends-on): Likewise.
20983         * modules/ldexpl (Depends-on): Likewise.
20984         * modules/link (Depends-on): Likewise.
20985         * modules/linkat (Depends-on): Likewise.
20986         * modules/listen (Depends-on): Likewise.
20987         * modules/logl (Depends-on): Likewise.
20988         * modules/lstat (Depends-on): Likewise.
20989         * modules/mbrlen (Depends-on): Likewise.
20990         * modules/mbrtowc (Depends-on): Likewise.
20991         * modules/mbsinit (Depends-on): Likewise.
20992         * modules/mbsnrtowcs (Depends-on): Likewise.
20993         * modules/mbsrtowcs (Depends-on): Likewise.
20994         * modules/mbtowc (Depends-on): Likewise.
20995         * modules/memcmp (Depends-on): Likewise.
20996         * modules/mkdir (Depends-on): Likewise.
20997         * modules/mkdtemp (Depends-on): Likewise.
20998         * modules/mkfifo (Depends-on): Likewise.
20999         * modules/mkfifoat (Depends-on): Likewise.
21000         * modules/mknod (Depends-on): Likewise.
21001         * modules/mkostemp (Depends-on): Likewise.
21002         * modules/mkostemps (Depends-on): Likewise.
21003         * modules/mkstemp (Depends-on): Likewise.
21004         * modules/mkstemps (Depends-on): Likewise.
21005         * modules/mktime (Depends-on): Likewise.
21006         * modules/nanosleep (Depends-on): Likewise.
21007         * modules/open (Depends-on): Likewise.
21008         * modules/openat (Depends-on): Likewise.
21009         * modules/perror (Depends-on): Likewise.
21010         * modules/poll (Depends-on): Likewise.
21011         * modules/popen (Depends-on): Likewise.
21012         * modules/posix_spawn (Depends-on): Likewise.
21013         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
21014         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
21015         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
21016         * modules/posix_spawnp (Depends-on): Likewise.
21017         * modules/pread (Depends-on): Likewise.
21018         * modules/printf-posix (Depends-on): Likewise.
21019         * modules/ptsname (Depends-on): Likewise.
21020         * modules/putenv (Depends-on): Likewise.
21021         * modules/pwrite (Depends-on): Likewise.
21022         * modules/readline (Depends-on): Likewise.
21023         * modules/readlink (Depends-on): Likewise.
21024         * modules/readlinkat (Depends-on): Likewise.
21025         * modules/recv (Depends-on): Likewise.
21026         * modules/recvfrom (Depends-on): Likewise.
21027         * modules/regex (Depends-on): Likewise.
21028         * modules/remove (Depends-on): Likewise.
21029         * modules/rename (Depends-on): Likewise.
21030         * modules/renameat (Depends-on): Likewise.
21031         * modules/rmdir (Depends-on): Likewise.
21032         * modules/round (Depends-on): Likewise.
21033         * modules/roundf (Depends-on): Likewise.
21034         * modules/roundl (Depends-on): Likewise.
21035         * modules/rpmatch (Depends-on): Likewise.
21036         * modules/select (Depends-on): Likewise.
21037         * modules/send (Depends-on): Likewise.
21038         * modules/sendto (Depends-on): Likewise.
21039         * modules/setenv (Depends-on): Likewise.
21040         * modules/setlocale (Depends-on): Likewise.
21041         * modules/setsockopt (Depends-on): Likewise.
21042         * modules/shutdown (Depends-on): Likewise.
21043         * modules/sigaction (Depends-on): Likewise.
21044         * modules/signbit (Depends-on): Likewise.
21045         * modules/sigprocmask (Depends-on): Likewise.
21046         * modules/sinl (Depends-on): Likewise.
21047         * modules/sleep (Depends-on): Likewise.
21048         * modules/snprintf (Depends-on): Likewise.
21049         * modules/snprintf-posix (Depends-on): Likewise.
21050         * modules/socket (Depends-on): Likewise.
21051         * modules/sprintf-posix (Depends-on): Likewise.
21052         * modules/sqrtl (Depends-on): Likewise.
21053         * modules/stat (Depends-on): Likewise.
21054         * modules/strchrnul (Depends-on): Likewise.
21055         * modules/strdup-posix (Depends-on): Likewise.
21056         * modules/strerror (Depends-on): Likewise.
21057         * modules/strerror_r-posix (Depends-on): Likewise.
21058         * modules/strndup (Depends-on): Likewise.
21059         * modules/strnlen (Depends-on): Likewise.
21060         * modules/strptime (Depends-on): Likewise.
21061         * modules/strsep (Depends-on): Likewise.
21062         * modules/strsignal (Depends-on): Likewise.
21063         * modules/strstr-simple (Depends-on): Likewise.
21064         * modules/strtod (Depends-on): Likewise.
21065         * modules/strtoimax (Depends-on): Likewise.
21066         * modules/strtok_r (Depends-on): Likewise.
21067         * modules/strtoumax (Depends-on): Likewise.
21068         * modules/symlink (Depends-on): Likewise.
21069         * modules/symlinkat (Depends-on): Likewise.
21070         * modules/tanl (Depends-on): Likewise.
21071         * modules/tcgetsid (Depends-on): Likewise.
21072         * modules/tmpfile (Depends-on): Likewise.
21073         * modules/trunc (Depends-on): Likewise.
21074         * modules/truncf (Depends-on): Likewise.
21075         * modules/truncl (Depends-on): Likewise.
21076         * modules/uname (Depends-on): Likewise.
21077         * modules/unlink (Depends-on): Likewise.
21078         * modules/unlockpt (Depends-on): Likewise.
21079         * modules/unsetenv (Depends-on): Likewise.
21080         * modules/usleep (Depends-on): Likewise.
21081         * modules/utimensat (Depends-on): Likewise.
21082         * modules/vasprintf (Depends-on): Likewise.
21083         * modules/vdprintf (Depends-on): Likewise.
21084         * modules/vdprintf-posix (Depends-on): Likewise.
21085         * modules/vfprintf-posix (Depends-on): Likewise.
21086         * modules/vprintf-posix (Depends-on): Likewise.
21087         * modules/vsnprintf (Depends-on): Likewise.
21088         * modules/vsnprintf-posix (Depends-on): Likewise.
21089         * modules/vsprintf-posix (Depends-on): Likewise.
21090         * modules/wcrtomb (Depends-on): Likewise.
21091         * modules/wcscasecmp (Depends-on): Likewise.
21092         * modules/wcscspn (Depends-on): Likewise.
21093         * modules/wcsdup (Depends-on): Likewise.
21094         * modules/wcsncasecmp (Depends-on): Likewise.
21095         * modules/wcsnrtombs (Depends-on): Likewise.
21096         * modules/wcspbrk (Depends-on): Likewise.
21097         * modules/wcsrtombs (Depends-on): Likewise.
21098         * modules/wcsspn (Depends-on): Likewise.
21099         * modules/wcsstr (Depends-on): Likewise.
21100         * modules/wcstok (Depends-on): Likewise.
21101         * modules/wcswidth (Depends-on): Likewise.
21102         * modules/wctob (Depends-on): Likewise.
21103         * modules/wctomb (Depends-on): Likewise.
21104         * modules/wctype (Depends-on): Likewise.
21105         * modules/wcwidth (Depends-on): Likewise.
21106         * modules/write (Depends-on): Likewise.
21107
21108 2011-05-03  Bruno Haible  <bruno@clisp.org>
21109
21110         Support for conditional dependencies.
21111         * doc/gnulib.texi (Module description): Document the syntax of
21112         conditional dependencies.
21113         * gnulib-tool: New option --conditional-dependencies.
21114         (func_usage): Document it.
21115         (cond_dependencies): New variable.
21116         (func_get_automake_snippet_conditional,
21117         func_get_automake_snippet_unconditional): New functions, extracted from
21118         func_get_automake_snippet.
21119         (func_get_automake_snippet): Use them.
21120         (sed_first_32_chars): New variable.
21121         (func_module_shellfunc_name): New function.
21122         (func_module_shellvar_name): New function.
21123         (func_module_conditional_name): New function.
21124         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
21125         func_cond_module_condition): New functions.
21126         (func_modules_transitive_closure): Add support for conditional
21127         dependencies.
21128         (func_emit_lib_Makefile_am): For a conditional module, enclose the
21129         conditional automake snippet in an automake conditional.
21130         (func_emit_autoconf_snippets): Emit shell functions that contain the
21131         code for conditional modules.
21132         (func_import, func_create_testdir): Update specification.
21133
21134 2011-05-03  Eric Blake  <eblake@redhat.com>
21135
21136         test-getaddrinfo: report error information
21137         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
21138
21139 2011-05-03  Jim Meyering  <meyering@redhat.com>
21140
21141         bootstrap: avoid build failure when $GZIP is set
21142         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
21143         program name.  If defined at all, it is supposed to list gzip options.
21144         Reported by Alan Curry in http://debbugs.gnu.org/8609
21145
21146 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
21147
21148         readme-release: new module with release instructions
21149         * modules/readme-release: New module.
21150         * top/README-release: New file, from coreutils, grep, diffutils.
21151         * MODULES.html.sh (Support for maintaining and releasing): Add it.
21152
21153 2011-05-02  Eric Blake  <eblake@redhat.com>
21154
21155         fflush: also replace fclose when fixing fflush
21156         * modules/fflush (Depends-on): Add fclose.
21157         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
21158         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
21159         memstreams with no backing fd.
21160         * doc/posix-functions/fclose.texi (fclose): Document the use of
21161         fflush module to fix the bug.
21162         * tests/test-fclose.c (main): Relax test when fclose is used in
21163         isolation.
21164
21165         fclose: add some tests
21166         * modules/fclose-tests: New test module.
21167         * tests/test-fclose.c: New file.
21168         * doc/posix-functions/fclose.texi (fclose): Document the bug.
21169
21170         fclose: reduced dependencies
21171         * modules/fclose (Depends-on): Switch from fflush/fseeko to
21172         simpler lseek.
21173         * lib/fclose.c (rpl_fclose): Likewise.
21174         Reported by Simon Josefsson.
21175
21176         exit: drop remaining clients
21177         * modules/argmatch (Depends-on): Replace exit with stdlib.
21178         * modules/copy-file (Depends-on): Likewise.
21179         * modules/execute (Depends-on): Likewise.
21180         * modules/exitfail (Depends-on): Likewise.
21181         * modules/obstack (Depends-on): Likewise.
21182         * modules/pagealign_alloc (Depends-on): Likewise.
21183         * modules/pipe-filter-gi (Depends-on): Likewise.
21184         * modules/pipe-filter-ii (Depends-on): Likewise.
21185         * modules/savewd (Depends-on): Likewise.
21186         * modules/spawn-pipe (Depends-on): Likewise.
21187         * modules/wait-process (Depends-on): Likewise.
21188         * modules/xsetenv (Depends-on): Likewise.
21189         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
21190         * modules/git-merge-changelog (Depends-on): Likewise.
21191         * modules/long-options (Depends-on): Likewise.
21192         * modules/pt_chown (Depends-on): Likewise.
21193         * modules/sysexits (Depends-on): Likewise.
21194
21195         freading: relax license from LGPLv3+ to LGPLv2+
21196         * modules/freading (License): Relax LGPL version.
21197
21198 2011-05-02  Bruno Haible  <bruno@clisp.org>
21199
21200         fchdir: Remove unused dependencies.
21201         * modules/fchdir (Depends-on): Remove include_next.
21202
21203 2011-05-02  Bruno Haible  <bruno@clisp.org>
21204
21205         gnulib-tool: Refactor.
21206         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
21207         from func_emit_autoconf_snippets.
21208         (func_emit_autoconf_snippets): Use it.
21209
21210 2011-05-02  Simon Josefsson  <simon@josefsson.org>
21211
21212         * NEWS: Document removal of 'exit'.
21213         * modules/exit: Remove file.
21214
21215 2011-05-01  Bruno Haible  <bruno@clisp.org>
21216
21217         Update DEPENDENCIES.
21218         * DEPENDENCIES (gettext): Recommend the newest release.
21219         Reported by Simon Josefsson.
21220
21221 2011-05-01  Bruno Haible  <bruno@clisp.org>
21222
21223         gnulib-tool: Reduce code duplication.
21224         * gnulib-tool (func_emit_autoconf_snippets): New function.
21225         (func_import, func_create_testdir): Use it.
21226
21227 2011-04-30  Eric Blake  <eblake@redhat.com>
21228
21229         fclose: don't fail on non-seekable input stream
21230         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
21231         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
21232         since fflush is allowed to fail in that case.
21233
21234 2011-04-30  Bruno Haible  <bruno@clisp.org>
21235
21236         dup3: cleanup
21237         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
21238
21239 2011-04-30  Bruno Haible  <bruno@clisp.org>
21240
21241         netdb: Make it work in C++ mode.
21242         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
21243         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
21244         module.
21245         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
21246         gl_MODULE_INDICATOR_FOR_TESTS.
21247         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
21248         * modules/netdb-c++-tests: New file.
21249         * tests/test-netdb-c++.cc: New file.
21250
21251 2011-04-30  Bruno Haible  <bruno@clisp.org>
21252
21253         New modules 'vfscanf', 'vscanf'.
21254         * modules/vfscanf: New file.
21255         * modules/vscanf: New file.
21256         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
21257         here.
21258         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
21259         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
21260
21261 2011-04-30  Bruno Haible  <bruno@clisp.org>
21262
21263         passfd: Add comments.
21264         * lib/passfd.c: Add comments about platforms.
21265
21266 2011-04-30  Bruno Haible  <bruno@clisp.org>
21267
21268         sys_uio: Make <sys/uio.h> self-contained.
21269         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
21270         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
21271
21272 2011-04-30  Bruno Haible  <bruno@clisp.org>
21273
21274         sys_socket: Ensure 'struct iovec' definition.
21275         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
21276         <sys/socket.h>.
21277         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
21278
21279 2011-04-30  Bruno Haible  <bruno@clisp.org>
21280
21281         sys_uio: Protect definition of 'struct iovec'.
21282         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
21283         it as a C struct.
21284
21285 2011-04-30  Bruno Haible  <bruno@clisp.org>
21286
21287         manywarnings: fix indentation
21288         * m4/manywarnings.m4: Indent by 2 spaces consistently.
21289
21290 2011-04-30  Pádraig Brady <P@draigBrady.com>
21291
21292         manywarnings: add -Wno-missing-field-initializers if needed.
21293         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
21294         option if it's needed to allow initialization with { 0, }
21295
21296 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
21297
21298         announce-gen: cosmetic improvement
21299         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
21300
21301 2011-04-29  Jim Meyering  <meyering@redhat.com>
21302
21303         vc-list-files: indent with spaces, not TABs
21304         * build-aux/vc-list-files: Convert leading TABs to spaces,
21305         to match the style of most other files in gnulib.
21306
21307         announce-gen: indent with spaces, not TABs
21308         * build-aux/announce-gen: Convert all TABs to spaces, to match
21309         the style of most other files in gnulib.
21310
21311 2011-04-29  Eric Blake  <eblake@redhat.com>
21312
21313         quotearg: avoid uninitialized variable use
21314         * lib/quotearg.c (quoting_options_from_style): Initialize
21315         remaining fields, and ensure that custom styles are only used via
21316         quoting_options rather than quoting_style.
21317
21318 2011-04-29  Jim Meyering  <meyering@redhat.com>
21319
21320         maint.mk: remove unused VC-tag variable
21321         * top/maint.mk (VC-tag): Remove unused variable.
21322
21323 2011-04-29  Bruno Haible  <bruno@clisp.org>
21324
21325         netdb: fix gai_strerror replacements
21326         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
21327         * modules/netdb: Substitute it.
21328
21329 2011-04-29  Jim Meyering  <meyering@redhat.com>
21330
21331         test-getcwd.c: avoid new set-but-not-used warning
21332         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
21333         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
21334         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
21335         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
21336
21337         test-hash.c: avoid a new shadowing warning
21338         * tests/test-hash.c (main): Don't shadow "dup".
21339
21340 2011-04-28  Eric Blake  <eblake@redhat.com>
21341
21342         getaddrinfo: fix gai_strerror signature
21343         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
21344         and work around mingw with UNICODE defined.
21345         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
21346         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
21347         * modules/netdb (Makefile.am): Substitute it.
21348         * lib/netdb.in.h (gai_strerror): Declare replacement.
21349         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
21350         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
21351         the fix.
21352
21353         getsockopt: avoid compiler warning
21354         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
21355         Reported by Matthias Bolte.
21356
21357         tests: drop unused link dependency
21358         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
21359         * modules/dirent-safer-tests (Makefile.am): Likewise.
21360         * modules/fdopendir-tests (Makefile.am): Likewise.
21361         * modules/mkfifoat-tests (Makefile.am): Likewise.
21362         * modules/openat-safer-tests (Makefile.am): Likewise.
21363         * modules/openat-tests (Makefile.am): Likewise.
21364         * modules/readlinkat-tests (Makefile.am): Likewise.
21365         * modules/symlinkat-tests (Makefile.am): Likewise.
21366         * modules/linkat-tests (Makefile.am): Likewise.
21367         (Depends-on): Switch to filenamecat-lgpl.
21368         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
21369         LIBINTL.
21370         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
21371         * tests/test-linkat.c (main): Don't require xalloc.
21372
21373         hash, mgetgroups: drop xalloc dependency
21374         * lib/hash.c (includes): Adjust includes.
21375         * lib/mgetgroups.c (includes): Likewise.
21376         (xgetgroups): Move...
21377         * lib/xgetgroups.c: ...to new file.
21378         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
21379         * modules/xgetgroups: New file, split from...
21380         * modules/mgetgroups: ...here.
21381         (Depends-on): Add xalloc-oversized.
21382         * modules/hash (Depends-on): Likewise.
21383         * modules/hash-tests (Depends-on): Drop xalloc.
21384         (test_hash_LDADD): Drop unused library.
21385         * tests/test-hash.c (main): Break xalloc dependency.
21386         (includes): Drop unused include.
21387
21388         xalloc-oversized: new module
21389         * modules/xalloc-oversized: New module.
21390         * modules/xalloc (Depends-on): Add it.
21391         * lib/xalloc.h (xalloc_oversized): Move...
21392         * lib/xalloc-oversized.h: ...into new file.
21393
21394         utimecmp: drop dependency on xmalloc
21395         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
21396         due to memory pressure.
21397         * modules/utimecmp (Depends-on): Drop xalloc.
21398
21399 2011-04-27  Eric Blake  <eblake@redhat.com>
21400
21401         getcwd: fix mingw bugs
21402         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
21403         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
21404         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
21405
21406 2011-04-27  Bruno Haible  <bruno@clisp.org>
21407
21408         mkstemps: Ensure declaration on MacOS X 10.5.
21409         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
21410         * doc/glibc-functions/mkstemps.texi: Document header file problem on
21411         MacOS X.
21412
21413 2011-04-27  Bruno Haible  <bruno@clisp.org>
21414
21415         mkstemp: More documentation.
21416         * doc/posix-functions/mkstemp.texi: Document header file problem on
21417         MacOS X.
21418
21419 2011-04-27  Bruno Haible  <bruno@clisp.org>
21420
21421         mkstemp: Tweak configure message when cross-compiling.
21422         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
21423         result as a guess.
21424
21425 2011-04-27  Bruno Haible  <bruno@clisp.org>
21426
21427         clean-temp: Clarify what it does.
21428         * lib/clean-temp.h: Add more comments.
21429         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
21430         module.
21431         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
21432         * doc/glibc-functions/mkstemps.texi: Likewise.
21433         * doc/glibc-functions/mkostemps.texi: Likewise.
21434
21435 2011-04-27  Eric Blake  <eblake@redhat.com>
21436
21437         fchdir: avoid extra chdir and fix test
21438         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
21439         getcwd-lgpl.
21440         * lib/fchdir.c (get_name): Any absolute name will do; it does not
21441         have to be canonical.
21442         (canonicalize_file_name): Drop unused macro.
21443         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
21444
21445         filenamecat-lgpl: fix licence
21446         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
21447         when it was first created.
21448
21449         linkat, renameat: add missing dependency
21450         * modules/linkat (Depends-on): Require getcwd-lgpl.
21451         * modules/renameat (Depends-on): Likewise.
21452
21453         tests: reduce dependencies
21454         * tests/test-linkat.c (main): Use lighter-weight getcwd.
21455         * tests/test-renameat.c (main): Likewise.
21456         * modules/linkat-tests (Depends-on): Relax dependency.
21457         * modules/renameat-tests (Depends-on): Likewise.
21458         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
21459         dependency explicit.
21460
21461         save-cwd: reduce default dependency
21462         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
21463         * lib/save-cwd.c: Update comments.
21464         * NEWS: Document the semantic change.
21465
21466         getcwd: enhance tests
21467         * tests/test-getcwd-lgpl.c: New file, taken from...
21468         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
21469         repeat long path stress tests from m4 probe.
21470         * modules/getcwd-lgpl-tests: New module.
21471         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
21472         * m4/getcwd-abort-bug.m4: Update comment.
21473         * m4/getcwd-path-max.m4: Likewise.
21474
21475         getcwd-lgpl: new module
21476         * modules/getcwd-lgpl: New module.
21477         * lib/getcwd-lgpl.c: New file.
21478         * doc/posix-functions/getcwd.texi (getcwd): Document it.
21479         * MODULES.html.sh (lacking POSIX:2008): Likewise.
21480         * modules/getcwd (configure.ac): Set C witness.
21481         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
21482
21483         getcwd: tweak comments
21484         * m4/getcwd-abort-bug.m4: Fix comments.
21485         * m4/getcwd-path-max.m4: Likewise.
21486         * m4/getcwd.m4: Likewise.
21487
21488 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21489         and Eric Blake  <eblake@redhat.com>
21490
21491         mkstemp: replace if system version uses wrong permissions
21492         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
21493         read/write mode bits set in file created by mkstemp.
21494         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
21495
21496 2011-04-27  Eric Blake  <eblake@redhat.com>
21497
21498         passfd: avoid compiler warning
21499         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
21500         Reported by Laine Stump.
21501
21502 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
21503
21504         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
21505         required by the NetBSD (and perhaps other 4.4BSD derived) join.
21506
21507 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21508         and Eric Blake  <eblake@redhat.com>
21509
21510         mkstemp: mention clean-temp module
21511         * lib/mkstemp.c: Add comment.
21512         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
21513
21514 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
21515
21516         inttypes: also provide default values for 32-bit tests
21517         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
21518         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
21519
21520 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
21521
21522         strtoumax: remove dependency on strtoimax
21523         This is like the strtoull change of yesterday.
21524         * modules/strtoumax (Files): Add lib/strtoimax.c.
21525         (Depends-on): Remove strtoimax and add verify.
21526
21527         inttypes-incomplete: new module
21528         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
21529         all but the PRI* and SCN* parts of gl_INTTYPES_H.
21530         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
21531         of gl_INTTYPES_H.
21532         (gl_INTTYPES_H): Rewrite in terms of these new macros.
21533         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
21534         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
21535         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
21536         * modules/strtoumax, modules/xstrtol (Depends-on):
21537         Depend on inttypes-incomplete, not inttypes.
21538         * modules/inttypes-incomplete: New module, containing the contents
21539         of the old modules/inttypes module, except that the Files: section
21540         omits m4/inttypes-pri.m4, and the configure.ac section invokes
21541         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
21542         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
21543         (Depends-on): Depend only on inttypes-incomplete.
21544         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
21545
21546         inttypes: omit now-redundant strtoimax and strtoumax work
21547         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
21548         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
21549
21550         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
21551         This supports apps that need pointers to strtoimax and strtoumax,
21552         and ports to HP-UX 11.00 64.bit, which has macros that expand to
21553         nonexistent functions.  See
21554         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
21555         et seq.
21556         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
21557         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
21558         a macro.
21559         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21560
21561 2011-04-25  Simon Josefsson  <simon@josefsson.org>
21562
21563         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
21564
21565 2011-04-25  Bruno Haible  <bruno@clisp.org>
21566
21567         strtol, strtoul: Mark modules as obsolete.
21568         * modules/strtol (Status, Notice): New sections.
21569         * modules/strtoul (Status, Notice): New sections.
21570
21571 2011-04-25  Bruno Haible  <bruno@clisp.org>
21572
21573         strtod: Remove check for strtod, unless supporting old platforms.
21574         * modules/strtod-obsolete: New file.
21575         * m4/strtod-obsolete.m4: New file.
21576         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
21577         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
21578         * modules/strtod (Depends-on): Add strtod-obsolete.
21579         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
21580
21581 2011-04-25  Bruno Haible  <bruno@clisp.org>
21582
21583         strcase: Make module obsolete.
21584         * modules/strcase (Status, Notice): New sections.
21585
21586 2011-04-25  Bruno Haible  <bruno@clisp.org>
21587
21588         dup2: Remove check for dup2, unless supporting old obsolete platforms.
21589         * modules/dup2-obsolete: New file.
21590         * m4/dup2-obsolete.m4: New file.
21591         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
21592         gl_FUNC_DUP2_OBSOLETE is not also defined.
21593         * modules/dup2 (Depends-on): Add dup2-obsolete.
21594         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
21595
21596 2011-04-25  Bruno Haible  <bruno@clisp.org>
21597
21598         strnlen: Avoid memchr related link error on old obsolete platforms.
21599         * modules/memchr-obsolete: New file.
21600         * m4/memchr-obsolete.m4: New file.
21601         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
21602         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
21603         * modules/memchr (Depends-on): Add memchr-obsolete.
21604         * modules/strnlen (Depends-on): Likewise.
21605         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
21606
21607 2011-04-25  Jim Meyering  <meyering@redhat.com>
21608
21609         maint.mk: makefile_at_at_check extend and clean up
21610         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
21611         in addition to */Makefile.am.
21612         Exempt legitimate uses of @VAR@ notation, e.g.,
21613         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
21614         Remove obsolete coreutils-specific comment.
21615         Prompted by discussion here:
21616         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
21617
21618 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
21619
21620         strtoul: remove dependency on strtol
21621         This is so that 'configure' need not check for strtol merely because
21622         the application needs strtoul.
21623         * modules/strtoul (Files): Add lib/strtol.c.
21624         (Depends-on): Remove strtol.
21625
21626         strtoull: remove dependency on strtoul
21627         This is like the strtoll change.
21628         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
21629         (Depends-on): Remove strtoul.
21630
21631         strtoll: remove dependency on strtol
21632         This is so that 'configure' need not check for strtol merely because
21633         the application needs strtoll.
21634         * modules/strtoll (Files): Add lib/strtol.c.
21635         (Depends-on): Remove strtol.
21636
21637 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21638
21639         inttypes: Move some configure check to module 'imaxdiv'.
21640         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
21641         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
21642         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
21643
21644 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21645
21646         inttypes: Move some configure check to module 'imaxabs'.
21647         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
21648         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
21649         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
21650
21651 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21652
21653         inttypes: Remove configure tests that are not needed since 2009-12-31.
21654         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
21655         gl_cv_header_working_inttypes_h.
21656
21657 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21658
21659         * modules/strnlen (Depends-on): Remove memchr.
21660         The strnlen implementation doesn't need the memchr module's fixes; see
21661         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
21662
21663         strtol: remove dependency on wchar
21664         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
21665         * modules/strtol (Depends-on): Remove wchar.
21666
21667 2011-04-21  Eric Blake  <eblake@redhat.com>
21668
21669         passfd: fix test regression on Linux
21670         * modules/passfd-tests (configure.ac): Correct socketpair check.
21671
21672         passfd: speed up configure and drop unused code
21673         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
21674         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
21675         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
21676         Instead of probing at configure for unix_scm_rights_bsd44_way,
21677         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
21678         check to a struct member probe.
21679         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
21680         (sendfd, recvfd): Update preprocessor checks.
21681         * modules/passfd (Files): Reflect rename, and drop unused file.
21682         (Depends-on): Drop unused dependency.
21683
21684         passfd: allow compilation on mingw
21685         * modules/sys_socket (Depends-on): Add sys_uio.
21686         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
21687         iovec and a minimal struct msghdr.
21688         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
21689         * tests/test-sys_socket.c (main): Enhance test.
21690         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
21691         guaranteed to provide what we need.
21692         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
21693         * modules/passfd-tests (Depends-on): Add sys_wait.
21694         * tests/test-passfd.c (main): Skip test on mingw, for now.
21695         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
21696         partial 'struct msghdr' implementation.
21697
21698         sys_uio: new module
21699         * modules/sys_uio: New module.
21700         * modules/sys_uio-tests: Likewise.
21701         * lib/sys_uio.in.h: New file.
21702         * m4/sys_uio_h.m4: Likewise.
21703         * tests/test-sys_uio.c: Likewise.
21704         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
21705         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
21706
21707 2011-04-20  Jim Meyering  <meyering@redhat.com>
21708
21709         useless-if-before-free: avoid false-positive
21710         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
21711         disjunct so that it too requires a terminating ";".  Without that,
21712         this script would identify as useless one statement from gcc that
21713         was not:
21714           if (aligned_ptr)
21715             free (((void **) aligned_ptr) [-1]);
21716
21717 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
21718
21719         doc: update users.txt.
21720         * users.txt: Add barcode.
21721
21722 2011-04-19  Bruno Haible  <bruno@clisp.org>
21723
21724         ioctl: Remove link dependency on native Windows.
21725         * lib/fd-hook.h: Renamed from lib/close-hook.h.
21726         (gl_close_fn, gl_ioctl_fn): New types.
21727         (struct fd_hook): Renamed from struct close_hook. Change type of
21728         private_close_fn field. Add private_ioctl_fn field.
21729         (close_hook_fn): Add parameter for primary close method.
21730         (execute_close_hooks, execute_all_close_hooks): Likewise.
21731         (ioctl_hook_fn): New type.
21732         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
21733         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
21734         argument.
21735         (unregister_fd_hook): Renamed from unregister_close_hook.
21736         * lib/fd-hook.c: Renamed from lib/close-hook.c.
21737         Don't include <unistd.h>.
21738         (close): Remove undef.
21739         (anchor): Update.
21740         (execute_close_hooks): Add argument for primary close method.
21741         (execute_all_close_hooks): Likewise.
21742         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
21743         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
21744         argument. Allow each argument to be NULL.
21745         (unregister_fd_hook): Renamed from unregister_close_hook.
21746         * lib/close.c (rpl_close): Pass 'close' function pointer to
21747         execute_all_close_hooks.
21748         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
21749         (primary_ioctl): New function.
21750         (ioctl): Don't call ioctlsocket here. Instead, call
21751         execute_all_ioctl_hooks.
21752         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
21753         close method.
21754         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
21755         (fd_sockets_hook): Renamed from close_sockets_hook.
21756         (gl_sockets_startup, gl_sockets_cleanup): Update.
21757         * modules/fd-hook: Renamed from modules/close-hook. Update.
21758         * modules/close (Depends-on): Add fd-hook, remove close-hook.
21759         * modules/sockets (Depends-on): Likewise.
21760         * modules/ioctl (Depends-on): Add fd-hook.
21761         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
21762         GNULIB_SOCKET.
21763
21764 2011-04-19  Bruno Haible  <bruno@clisp.org>
21765
21766         Move the support of O_NONBLOCK in open() to the 'open' module.
21767         * modules/nonblocking (Depends-on): Remove 'open'.
21768         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
21769         gl_cv_have_open_O_NONBLOCK.
21770         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
21771         O_NONBLOCK support.
21772         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
21773
21774 2011-04-17  Bruno Haible  <bruno@clisp.org>
21775
21776         pipe2: Simplify code.
21777         * lib/pipe2.c (pipe2): Reduce code duplication.
21778
21779 2011-04-17  Bruno Haible  <bruno@clisp.org>
21780
21781         nonblocking: Add comment.
21782         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
21783
21784 2011-04-17  Bruno Haible  <bruno@clisp.org>
21785
21786         nonblocking: Add tests for sockets.
21787         * tests/test-nonblocking-socket.sh: New file.
21788         * tests/test-nonblocking-socket-main.c: New file.
21789         * tests/test-nonblocking-socket-child.c: New file.
21790         * tests/test-nonblocking-socket.h: New file.
21791         * tests/socket-server.h: New file.
21792         * tests/socket-client.h: New file.
21793         * modules/nonblocking-socket-tests: New file.
21794         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
21795
21796 2011-04-17  Bruno Haible  <bruno@clisp.org>
21797
21798         nonblocking: Add tests for pipes.
21799         * tests/test-nonblocking-pipe.sh: New file.
21800         * tests/test-nonblocking-pipe-main.c: New file.
21801         * tests/test-nonblocking-pipe-child.c: New file.
21802         * tests/test-nonblocking-pipe.h: New file.
21803         * tests/test-nonblocking-writer.h: New file.
21804         * tests/test-nonblocking-reader.h: New file.
21805         * tests/test-nonblocking-misc.h: New file.
21806         * modules/nonblocking-pipe-tests: New file.
21807         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
21808
21809 2011-04-16  Bruno Haible  <bruno@clisp.org>
21810
21811         gettext: Clarify the needed programmer actions.
21812         * modules/gettext (Notice): New field.
21813         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
21814
21815 2011-04-16  Bruno Haible  <bruno@clisp.org>
21816
21817         strchrnul: Tweak last commit.
21818         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
21819         bug.
21820         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
21821         as in _GL_FUNCDECL_SYS.
21822         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
21823         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
21824
21825 2011-04-15  Eric Blake  <eblake@redhat.com>
21826
21827         strchrnul: work around cygwin bug
21828         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
21829         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
21830         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
21831         * modules/string (Makefile.am): Substitute it.
21832         * lib/string.in.h (strchrnul): Use it.
21833
21834 2011-04-15  Bruno Haible  <bruno@clisp.org>
21835
21836         Don't require lib/stdio-write.c when only module 'stdio' is used.
21837         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
21838         invocation.
21839         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
21840
21841 2011-04-14  Bruno Haible  <bruno@clisp.org>
21842
21843         Support non-blocking pipe I/O in read() on native Windows.
21844         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
21845         (read): New declaration.
21846         * lib/read.c: New file.
21847         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
21848         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
21849         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
21850         vscanf): New declarations.
21851         * lib/stdio-read.c: New file.
21852         * m4/read.m4: New file.
21853         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
21854         REPLACE_READ.
21855         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
21856         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21857         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
21858         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
21859         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
21860         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21861         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
21862         * modules/read: New file.
21863         * modules/nonblocking (Files): Add lib/stdio-read.c.
21864         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
21865         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
21866         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21867         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
21868         * modules/pread (Depends-on): Add read.
21869         * modules/safe-read (Depends-on): Likewise.
21870         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
21871         gets, scanf, vfscanf, vscanf): Verify signatures.
21872         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
21873         problem with non-blocking pipes.
21874         * doc/posix-functions/fgetc.texi: Likewise.
21875         * doc/posix-functions/fgets.texi: Likewise.
21876         * doc/posix-functions/fread.texi: Likewise.
21877         * doc/posix-functions/fscanf.texi: Likewise.
21878         * doc/posix-functions/getc.texi: Likewise.
21879         * doc/posix-functions/getchar.texi: Likewise.
21880         * doc/posix-functions/gets.texi: Likewise.
21881         * doc/posix-functions/scanf.texi: Likewise.
21882         * doc/posix-functions/vfscanf.texi: Likewise.
21883         * doc/posix-functions/vscanf.texi: Likewise.
21884
21885 2011-04-14  Bruno Haible  <bruno@clisp.org>
21886
21887         Support non-blocking pipe I/O in write() on native Windows.
21888         * lib/write.c (rpl_write): Split a write request that failed merely
21889         because the byte count was larger than the pipe buffer's size.
21890         * doc/posix-functions/write.texi: Mention the problem with large byte
21891         counts.
21892
21893 2011-04-14  Bruno Haible  <bruno@clisp.org>
21894
21895         wchar: Ensure that wchar_t gets defined on uClibc.
21896         * lib/wchar.in.h: On uClibc, include <stddef.h>.
21897         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
21898
21899 2011-04-13  Bruno Haible  <bruno@clisp.org>
21900
21901         safe-write, full-read: Avoid unnecessary compilation units.
21902         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
21903         (Depends-on): Remove safe-read. Add ssize_t.
21904         * modules/full-read (Files): Add lib/full-write.c.
21905         (Depends-on): Add full-write.
21906
21907 2011-04-13  Bruno Haible  <bruno@clisp.org>
21908
21909         Support non-blocking pipe I/O and SIGPIPE in pwrite().
21910         * modules/pwrite (Depends-on): Add 'write'.
21911
21912 2011-04-13  Bruno Haible  <bruno@clisp.org>
21913
21914         Support non-blocking pipe I/O in write() on native Windows.
21915         * lib/unistd.in.h (write): Enable replacement also if
21916         GNULIB_UNISTD_H_NONBLOCKING is 1.
21917         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
21918         (rpl_write): When failing to write on a non-blocking pipe, change
21919         errno from ENOSPC to EAGAIN.
21920         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
21921         putchar, puts, vfprintf, vprintf): Enable replacement also if
21922         GNULIB_STDIO_H_NONBLOCKING is 1.
21923         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
21924         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
21925         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
21926         CALL_WITH_SIGPIPE_EMULATION.
21927         (CALL_WITH_SIGPIPE_EMULATION): Use them.
21928         * m4/nonblocking.m4: New file.
21929         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
21930         for non-blocking I/O support.
21931         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21932         GNULIB_UNISTD_H_NONBLOCKING.
21933         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
21934         required for non-blocking I/O support.
21935         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
21936         * modules/nonblocking (Files): Add m4/nonblocking.m4,
21937         lib/stdio-write.c, m4/asm-underscore.m4.
21938         (Depends-on): Add stdio, unistd.
21939         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
21940         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
21941         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
21942         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
21943         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
21944         problem with non-blocking pipes.
21945         * doc/posix-functions/fputc.texi: Likewise.
21946         * doc/posix-functions/fputs.texi: Likewise.
21947         * doc/posix-functions/fwrite.texi: Likewise.
21948         * doc/posix-functions/printf.texi: Likewise.
21949         * doc/posix-functions/putc.texi: Likewise.
21950         * doc/posix-functions/putchar.texi: Likewise.
21951         * doc/posix-functions/puts.texi: Likewise.
21952         * doc/posix-functions/vfprintf.texi: Likewise.
21953         * doc/posix-functions/vprintf.texi: Likewise.
21954         * doc/posix-functions/write.texi: Likewise.
21955
21956 2011-04-10  Jim Meyering  <meyering@redhat.com>
21957
21958         maint.mk: prohibit doubled words
21959         Detect them also when they're separated by a newline.
21960         There are 3 ways to customize it:
21961           - disable the test on a per file basis, as usual with rules using
21962             $(VC_LIST_EXCEPT)
21963           - replace the default doubled-word-selecting regexp (affects all files)
21964           - ignore a particular file-vs-doubled-word match
21965         I nearly used that last one to ignore the "is is" match in
21966         coreutils' NEWS file, since the text was "ls -is is ..."
21967         To do that, I would have added this line to cfg.mk:
21968           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
21969         but it would have ignored any "is is" match in NEWS.
21970         Low probability, but still...
21971         Instead, I changed the text, slightly:
21972           -  ls -is is now consistent with ls -lis in ignoring values returned
21973           +  "ls -is" is now consistent with ls -lis in ignoring values returned
21974         * top/maint.mk (prohibit_double_word_RE_): Provide default.
21975         (prohibit_doubled_word_): Define.
21976         (sc_prohibit_doubled_word): New rule.
21977         (sc_prohibit_the_the): Remove.  Subsumed by the above.
21978
21979 2011-04-10  Jim Meyering  <meyering@redhat.com>
21980
21981         maint: fix doubled-word typo in comment
21982         * m4/gethostname.m4: s/is is/it is/
21983         * m4/getdomainname.m4: Likewise.
21984
21985 2011-04-10  Jim Meyering  <meyering@redhat.com>
21986
21987         maint: remove doubled word: s/it it/it/
21988         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
21989
21990 2011-04-10  Jim Meyering  <meyering@redhat.com>
21991
21992         maint.mk: remove useless semicolon and backslash
21993         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
21994         semicolon and backslash.
21995
21996 2011-04-10  Bruno Haible  <bruno@clisp.org>
21997
21998         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
21999         * modules/stdint-tests (Depends-on): Add wchar.
22000
22001 2011-04-10  Jim Meyering  <meyering@redhat.com>
22002
22003         maint: remove doubled words in comments, e.g., s/a a/a/
22004         * lib/strptime.c (day_of_the_week): s/the the/the/
22005         * tests/test-chown.h (test_chown): s/a a/a/
22006
22007         test-chown.h: correct a cast
22008         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
22009         when the destination is a stat.st_gid.
22010
22011 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
22012
22013         getaddrinfo: Fix test for sa_len member.
22014         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
22015         include <sys/types.h> before <sys/socket.h>.
22016
22017 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
22018
22019         maint: change "can not" to "cannot"
22020         * doc/posix-functions/iconv.texi (iconv): This one crossed line
22021         boundaries.
22022
22023 2011-04-09  Jim Meyering  <meyering@redhat.com>
22024
22025         maint: change "a a" to "a"
22026         * tests/test-lchown.h (test_lchown): s/a a/a/
22027
22028         maint.mk: prohibit \<the the\>
22029         * top/maint.mk (sc_prohibit_the_the): New rule.
22030
22031         maint: fix "the the" in comment
22032         * lib/count-one-bits.h: s/the the/the/
22033
22034         maint: change "can not" to "cannot"
22035         But do not change the occurrences in maintain.texi or in
22036         build-aux/po/Makefile.in.in, which I presume comes from gettext.
22037         * doc/gnulib-tool.texi: s/can not/cannot/
22038         * doc/posix-functions/accept.texi (accept): Likewise.
22039         * doc/posix-functions/socket.texi (socket): Likewise.
22040         * lib/mbrtowc.c: Likewise.
22041
22042         maint.mk: prohibit use of "can not"
22043         * top/maint.mk (sc_prohibit_can_not): New rule.
22044         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
22045
22046 2011-04-09  Bruno Haible  <bruno@clisp.org>
22047
22048         careadlinkat: Guard against misuse of careadlinkatcwd.
22049         * lib/careadlinkat.c: Include <stdlib.h>.
22050         (careadlinkatcwd): Check that the fd argument is as expected.
22051
22052 2011-04-09  Bruno Haible  <bruno@clisp.org>
22053
22054         careadlinkat: Use common coding style.
22055         * lib/careadlinkat.c: Move gnulib includes after system includes.
22056
22057 2011-04-09  Bruno Haible  <bruno@clisp.org>
22058
22059         careadlinkat: Clarify specification.
22060         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
22061         (careadlinkatcwd): Add comment.
22062         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
22063
22064 2011-04-09  Bruno Haible  <bruno@clisp.org>
22065
22066         areadlinkat: Avoid link error on many platforms.
22067         * modules/areadlinkat (Depends-on): Add areadlink.
22068
22069 2011-04-09  Bruno Haible  <bruno@clisp.org>
22070
22071         allocator, careadlinkat: Fix double-inclusion guard.
22072         * lib/allocator.h: Fix double-inclusion guard.
22073         * lib/careadlinkat.h: Likewise.
22074
22075 2011-04-09  Bruno Haible  <bruno@clisp.org>
22076
22077         relocatable-prog-wrapper: Update after module 'areadlink' changed.
22078         * lib/relocwrapper.c: Update dependencies hierarchy.
22079         * build-aux/install-reloc: Update list of files to be compiled.
22080         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
22081         lib/allocator.[hc].
22082
22083 2011-04-08  Eric Blake  <eblake@redhat.com>
22084
22085         strftime: silence gnulib-tool warning
22086         * modules/strftime-tests (Depends-on): Drop automatic dependency.
22087
22088 2011-04-08  Bruno Haible  <bruno@clisp.org>
22089
22090         verify: Fix syntax error with GCC 4.6 in C++ mode.
22091         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
22092         (HAVE_STATIC_ASSERT): New macro.
22093         (verify_true, verify): Use 'static_assert' if it is supported and
22094         '_Static_assert' is not supported.
22095
22096 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
22097
22098         allocator: New module.
22099         * modules/allocator, lib/allocator.c: New files.
22100         * lib/allocator.h (stdlib_allocator): New decl.
22101         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
22102         Remove.  Do not include <stdlib.h>.
22103         (careadlinkat): Use stdlib_allocator instead of rolling our own.
22104         * modules/careadlinkat (Files): Remove lib/allocator.h.
22105         (Depends-on): Add allocator.
22106
22107         stdlib: let modules use system malloc, realloc
22108         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
22109         if !_GL_USE_STDLIB_ALLOC.
22110         (malloc, realloc): Limit this change to a smaller scope.
22111
22112         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
22113         (malloc, realloc): Don't #undef; no longer needed.
22114         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22115         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22116         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22117         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22118         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22119         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22120         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22121         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22122
22123         careadlinkat: rename members to avoid problem
22124         * lib/allocator.h (struct allocator): Rename members from
22125         malloc/realloc to allocate/reallocate, to avoid problems if malloc
22126         and realloc are #define'd.  Reported by Eric Blake in
22127         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
22128         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
22129
22130 2011-04-08  Eric Blake  <eblake@redhat.com>
22131
22132         nonblocking: reduce dependency
22133         * tests/test-nonblocking.c: Only test sockets when in use.
22134         * modules/nonblocking-tests (Depends-on): Drop socket.
22135         (Makefile.am): Link even if sockets are not present.
22136         * modules/pipe2-tests (Makefile.am): Likewise.
22137         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
22138
22139         pipe2: fix O_NONBLOCK support on mingw
22140         * modules/pipe2 (Depends-on): Add nonblocking.
22141         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
22142         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
22143         * tests/test-nonblocking.c (main): Likewise.
22144         * modules/pipe2-tests (Makefile.am): Avoid link failure.
22145
22146         fcntl-h: fix O_ACCMODE on cygwin
22147         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
22148         * lib/fcntl.in.h (O_ACCMODE): Fix it.
22149
22150         pipe-filter: drop O_NONBLOCK workarounds
22151         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
22152         * modules/pipe-filter-ii (Depends-on): Likewise.
22153         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
22154
22155         nonblocking: provide O_NONBLOCK for mingw
22156         * modules/nonblocking (Depends-on): Add open.
22157         (configure.ac): Set new witness macro.
22158         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
22159         * modules/fcntl-h (Makefile.am): Substitute it.
22160         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
22161         nonblocking module is in use.
22162         * lib/nonblocking.c: Adjust portability test.
22163         * lib/open.c (open): Don't let native open see gnulib flag.
22164         * tests/test-fcntl-h.c (main): Enhance test.
22165         * tests/test-open.h (test_open): Likewise.
22166         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
22167
22168         careadlinkat: fix compilation error on mingw
22169         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
22170         within struct allocator.
22171
22172 2011-04-06  Eric Blake  <eblake@redhat.com>
22173
22174         binary-io: relicense under LGPLv2+
22175         * modules/binary-io (License): Relax to LGPLv2+.
22176         Requested for libvirt, and required by pipe2.
22177
22178 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
22179
22180         verify: use _Static_assert if available
22181         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
22182         (verify_true, verify): Use it if available.  This generates better
22183         diagnostics with GCC 4.6.0 and later.
22184
22185 2011-04-05  Bruno Haible  <bruno@clisp.org>
22186
22187         Remove leftover generated .h files after config.status changed.
22188
22189         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
22190         GL_GENERATE_ALLOCA_H.
22191         * modules/alloca-opt (Makefile.am): Remove alloca.h if
22192         GL_GENERATE_ALLOCA_H evaluates to false.
22193
22194         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
22195         GL_GENERATE_ARGZ_H.
22196         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
22197         evaluates to false.
22198
22199         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
22200         GL_GENERATE_BYTESWAP_H.
22201         * modules/byteswap (Makefile.am): Remove byteswap.h if
22202         GL_GENERATE_BYTESWAP_H evaluates to false.
22203
22204         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
22205         GL_GENERATE_ERRNO_H.
22206         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
22207         evaluates to false.
22208
22209         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
22210         GL_GENERATE_FLOAT_H.
22211         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
22212         evaluates to false.
22213
22214         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
22215         GL_GENERATE_FNMATCH_H.
22216         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
22217         GL_GENERATE_FNMATCH_H evaluates to false.
22218
22219         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
22220         GL_GENERATE_GLOB_H.
22221         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
22222         evaluates to false.
22223
22224         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
22225         automake conditional GL_GENERATE_ICONV_H.
22226         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
22227         evaluates to false.
22228
22229         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
22230         GL_GENERATE_NETINET_IN_H.
22231         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
22232         GL_GENERATE_NETINET_IN_H evaluates to false.
22233
22234         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
22235         conditional GL_GENERATE_PTHREAD_H.
22236         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
22237         * modules/pthread (Makefile.am): Remove pthread.h if
22238         GL_GENERATE_PTHREAD_H evaluates to false.
22239
22240         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
22241         GL_GENERATE_SCHED_H.
22242         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
22243         evaluates to false.
22244
22245         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
22246         conditional GL_GENERATE_SELINUX_CONTEXT_H.
22247         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
22248         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
22249
22250         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
22251         GL_GENERATE_STDARG_H.
22252         * modules/stdarg (Makefile.am): Remove stdarg.h if
22253         GL_GENERATE_STDARG_H evaluates to false.
22254
22255         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
22256         GL_GENERATE_STDBOOL_H.
22257         * modules/stdbool (Makefile.am): Remove stdbool.h if
22258         GL_GENERATE_STDBOOL_H evaluates to false.
22259
22260         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
22261         conditional GL_GENERATE_STDDEF_H.
22262         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
22263         * modules/stddef (Makefile.am): Remove stddef.h if
22264         GL_GENERATE_STDDEF_H evaluates to false.
22265
22266         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
22267         GL_GENERATE_STDINT_H.
22268         * modules/stdint (Makefile.am): Remove stdint.h if
22269         GL_GENERATE_STDINT_H evaluates to false.
22270
22271         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
22272         GL_GENERATE_SYSEXITS_H.
22273         * modules/sysexits (Makefile.am): Remove sysexits.h if
22274         GL_GENERATE_SYSEXITS_H evaluates to false.
22275
22276         Reported by Karl Berry and Ralf Wildenhues.
22277
22278 2011-04-05  Bruno Haible  <bruno@clisp.org>
22279
22280         Ensure to rebuild generated .h files when config.status has changed.
22281         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
22282         config.status.
22283         * modules/ctype (Makefile.am): Likewise.
22284         * modules/dirent (Makefile.am): Likewise.
22285         * modules/errno (Makefile.am): Likewise.
22286         * modules/fcntl-h (Makefile.am): Likewise.
22287         * modules/float (Makefile.am): Likewise.
22288         * modules/getopt-posix (Makefile.am): Likewise.
22289         * modules/glob (Makefile.am): Likewise.
22290         * modules/iconv-h (Makefile.am): Likewise.
22291         * modules/inttypes (Makefile.am): Likewise.
22292         * modules/langinfo (Makefile.am): Likewise.
22293         * modules/locale (Makefile.am): Likewise.
22294         * modules/math (Makefile.am): Likewise.
22295         * modules/netdb (Makefile.am): Likewise.
22296         * modules/netinet_in (Makefile.am): Likewise.
22297         * modules/poll-h (Makefile.am): Likewise.
22298         * modules/pthread (Makefile.am): Likewise.
22299         * modules/pty (Makefile.am): Likewise.
22300         * modules/sched (Makefile.am): Likewise.
22301         * modules/search (Makefile.am): Likewise.
22302         * modules/selinux-h (Makefile.am): Likewise.
22303         * modules/signal (Makefile.am): Likewise.
22304         * modules/spawn (Makefile.am): Likewise.
22305         * modules/stdarg (Makefile.am): Likewise.
22306         * modules/stdbool (Makefile.am): Likewise.
22307         * modules/stddef (Makefile.am): Likewise.
22308         * modules/stdint (Makefile.am): Likewise.
22309         * modules/stdio (Makefile.am): Likewise.
22310         * modules/stdlib (Makefile.am): Likewise.
22311         * modules/string (Makefile.am): Likewise.
22312         * modules/strings (Makefile.am): Likewise.
22313         * modules/sys_file (Makefile.am): Likewise.
22314         * modules/sys_ioctl (Makefile.am): Likewise.
22315         * modules/sys_select (Makefile.am): Likewise.
22316         * modules/sys_socket (Makefile.am): Likewise.
22317         * modules/sys_stat (Makefile.am): Likewise.
22318         * modules/sys_time (Makefile.am): Likewise.
22319         * modules/sys_times (Makefile.am): Likewise.
22320         * modules/sys_utsname (Makefile.am): Likewise.
22321         * modules/sys_wait (Makefile.am): Likewise.
22322         * modules/sysexits (Makefile.am): Likewise.
22323         * modules/termios (Makefile.am): Likewise.
22324         * modules/time (Makefile.am): Likewise.
22325         * modules/unistd (Makefile.am): Likewise.
22326         * modules/wchar (Makefile.am): Likewise.
22327         * modules/wctype-h (Makefile.am): Likewise.
22328         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
22329
22330 2011-04-05  Bruno Haible  <bruno@clisp.org>
22331
22332         pipe2: Relicense under LGPLv2+.
22333         * modules/pipe2 (License): Change to LGPLv2+.
22334         Requested by Eric Blake, for libvirt.
22335
22336 2011-04-05  Bruce Korb  <bkorb@gnu.org>
22337
22338         bootstrap: compute gnulib_extra_files after updating build_aux
22339         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
22340         change build_aux or also supply gnulib_extra_files.  Handle correctly.
22341
22342 2011-04-05  Eric Blake  <eblake@redhat.com>
22343
22344         bootstrap: preserve git whitelist item sorting
22345         * build-aux/bootstrap (sort_patterns): New function.
22346         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
22347
22348 2011-04-05  Simon Josefsson  <simon@josefsson.org>
22349
22350         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
22351         sc_space_tab check.
22352
22353 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
22354
22355         areadlink, areadlinkat: rewrite in terms of careadlinkat
22356         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
22357         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
22358         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
22359         (malloc, realloc): Remove #undefs.
22360         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
22361         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
22362         readlink, ssize_t, stdint, unistd.
22363         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
22364         areadlink, stdint.
22365
22366         careadlinkat: new module
22367         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
22368         * modules/careadlinkat: New files, written by me with
22369         a review and feedback from Ben Pfaff in
22370         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
22371
22372 2011-04-01  Bruno Haible  <bruno@clisp.org>
22373
22374         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
22375         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
22376         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
22377         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
22378         Reported by Bruce Korb <bruce.korb@gmail.com>.
22379
22380 2011-04-01  Bruno Haible  <bruno@clisp.org>
22381
22382         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
22383         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
22384         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
22385         * modules/wcpcpy (Depends-on): Add extensions.
22386         * modules/wcpncpy (Depends-on): Likewise.
22387         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
22388         systems.
22389         * doc/posix-functions/wcpncpy.texi: Likewise.
22390         * doc/posix-functions/wcwidth.texi: Likewise.
22391
22392 2011-03-31  Eric Blake  <eblake@redhat.com>
22393
22394         nonblocking: fix mingw test failures
22395         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
22396         non-blocking flag on regular file.
22397         (get_nonblocking_flag): Set errno on invalid fd.
22398         * tests/test-nonblocking.c (main): Avoid test failure on
22399         directories if fchdir is not active.
22400         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
22401
22402 2011-03-31  Bruno Haible  <bruno@clisp.org>
22403
22404         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
22405         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
22406         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
22407         Reported by Simon Josefsson <simon@josefsson.org>.
22408
22409 2011-03-31  Bruno Haible  <bruno@clisp.org>
22410         and Eric Blake  <eblake@redhat.com>
22411
22412         nonblocking: new module
22413         * modules/nonblocking: New module.
22414         * modules/nonblocking-tests: Likewise.
22415         * lib/nonblocking.h: New file.
22416         * lib/nonblocking.c: Likewise.
22417         * tests/test-nonblocking.c: New test.
22418         * lib/ioctl.c (ioctl) [mingw]: Update comment.
22419
22420 2011-03-30  Bruno Haible  <bruno@clisp.org>
22421
22422         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
22423         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
22424         instead of 'printf' format for GCC >= 4.4.
22425         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
22426         (fprintf, printf, vfprintf, vprintf): Declare with
22427         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
22428         the system's vfprintf() function.
22429         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
22430
22431 2011-03-30  Eric Blake  <eblake@redhat.com>
22432
22433         passfd: fix scoping bug
22434         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
22435         before sendmsg/recvmsg.
22436
22437         passfd: standardize coding conventions
22438         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
22439         can be learned at compile time.
22440         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
22441         ifdefs.
22442         (sendfd, recvfd): Follow gnulib code conventions.
22443
22444         passfd: fix incorrect sendmsg arguments
22445         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
22446         incorrect msg_controllen value.
22447         * modules/passfd-tests (Depends-on): Check for alarm.
22448         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
22449         Reported by Bastien ROUCARIES.
22450
22451 2011-03-30  Bruno Haible  <bruno@clisp.org>
22452
22453         c-strcasestr: Relicense under LGPLv2+.
22454         * modules/c-strcasestr (License): Change to LGPLv2+.
22455         Requested by Eric Blake, for libvirt.
22456
22457 2011-03-30  Simon Josefsson  <simon@josefsson.org>
22458
22459         * users.txt: Add libidn2.  Fix libtasn1 link.
22460
22461 2011-03-30  Jim Meyering  <meyering@redhat.com>
22462
22463         tests: readlink* ("",... fails with EINVAL on newer kernels
22464         readlink and readlinkat have typically failed with ENOENT for
22465         the invalid, empty file name,  "".  However, with the advent
22466         of linux-2.6.39, they fail with EINVAL.
22467         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
22468         when operating on the empty file name.
22469         * tests/test-readlink.h (test_readlink): Likewise.
22470
22471 2011-03-29  Bruno Haible  <bruno@clisp.org>
22472
22473         Relicense some modules under LGPLv2+, for libidn2.
22474         * modules/array-mergesort (License): Change to LGPLv2+.
22475         * modules/c-strcaseeq (License): Likewise.
22476         * modules/striconveh (License): Likewise.
22477         * modules/striconveha (License): Likewise.
22478         * modules/uniconv/base (License): Likewise.
22479         * modules/uniconv/u8-conv-from-enc (License): Likewise.
22480         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
22481         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
22482         * modules/unictype/base (License): Likewise.
22483         * modules/unictype/bidiclass-of (License): Likewise.
22484         * modules/unictype/category-M (License): Likewise.
22485         * modules/unictype/category-none (License): Likewise.
22486         * modules/unictype/category-of (License): Likewise.
22487         * modules/unictype/category-test (License): Likewise.
22488         * modules/unictype/category-test-withtable (License): Likewise.
22489         * modules/unictype/combining-class (License): Likewise.
22490         * modules/unictype/joiningtype-of (License): Likewise.
22491         * modules/unictype/scripts (License): Likewise.
22492         * modules/uninorm/base (License): Likewise.
22493         * modules/uninorm/canonical-decomposition (License): Likewise.
22494         * modules/uninorm/composition (License): Likewise.
22495         * modules/uninorm/decompose-internal (License): Likewise.
22496         * modules/uninorm/decomposition-table (License): Likewise.
22497         * modules/uninorm/nfc (License): Likewise.
22498         * modules/uninorm/nfd (License): Likewise.
22499         * modules/uninorm/u32-normalize (License): Likewise.
22500         * modules/unistr/base (License): Likewise.
22501         * modules/unistr/u32-cpy (License): Likewise.
22502         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
22503         * modules/unistr/u32-to-u8 (License): Likewise.
22504         * modules/unistr/u32-uctomb (License): Likewise.
22505         * modules/unistr/u8-check (License): Likewise.
22506         * modules/unistr/u8-mblen (License): Likewise.
22507         * modules/unistr/u8-mbtouc (License): Likewise.
22508         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
22509         * modules/unistr/u8-mbtoucr (License): Likewise.
22510         * modules/unistr/u8-prev (License): Likewise.
22511         * modules/unistr/u8-strlen (License): Likewise.
22512         * modules/unistr/u8-to-u32 (License): Likewise.
22513         * modules/unistr/u8-uctomb (License): Likewise.
22514         * modules/unitypes (License): Likewise.
22515         Requested by Simon Josefsson.
22516
22517 2011-03-29  Simon Josefsson  <simon@josefsson.org>
22518
22519         lib-symbol-visibility: Add a notice.
22520         * modules/lib-symbol-visibility (Notice): New field.
22521
22522 2011-03-29  Bruno Haible  <bruno@clisp.org>
22523
22524         getaddrinfo: Doc fix.
22525         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
22526         section "fixed in Gnulib".
22527
22528 2011-03-28  Simon Josefsson  <simon@josefsson.org>
22529
22530         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
22531         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
22532
22533 2011-03-26  Bruno Haible  <bruno@clisp.org>
22534
22535         unictype/property-byname: Reduce the number of load-time relocations.
22536         * lib/unictype/pr_byname.c: Include <stdlib.h>.
22537         (UC_PROPERTY_INDEX_*): New enumeration values.
22538         (uc_property_byname): Convert an index from the lookup table to an
22539         uc_property_t.
22540         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
22541         values.
22542
22543 2011-03-26  Bruno Haible  <bruno@clisp.org>
22544
22545         unictype/property-byname: Allow omitted word separators and aliases.
22546         * lib/unictype/pr_byname.gperf: Add property names without word
22547         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
22548         for 'space'.
22549
22550 2011-03-26  Bruno Haible  <bruno@clisp.org>
22551
22552         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
22553         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
22554         also hyphens to space.
22555         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
22556         without spaces.
22557         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
22558
22559 2011-03-26  Bruno Haible  <bruno@clisp.org>
22560
22561         unictype/joiningtype-byname: Recognize long names as well.
22562         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
22563         a long name.
22564         * lib/unictype/joiningtype_byname.c: Include <string.h>,
22565         unictype/joiningtype_byname.h.
22566         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
22567         * lib/unictype/joiningtype_byname.gperf: New file.
22568         * modules/unictype/joiningtype-byname (Files): Add
22569         lib/unictype/joiningtype_byname.gperf.
22570         (Depends-on): Add gperf.
22571         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
22572         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
22573         long names.
22574
22575         Tests for module 'unictype/joiningtype-longname'.
22576         * modules/unictype/joiningtype-longname-tests: New file.
22577         * tests/unictype/test-joiningtype_longname.c: New file.
22578
22579         New module 'unictype/joiningtype-longname'.
22580         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
22581         * lib/unictype/joiningtype_longname.c: New file.
22582         * modules/unictype/joiningtype-longname: New file.
22583         * modules/unictype/joiningtype-all (Depends-on): Add
22584         unictype/joiningtype-longname.
22585
22586 2011-03-26  Bruno Haible  <bruno@clisp.org>
22587
22588         unictype/bidiclass-byname: Recognize long names as well.
22589         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
22590         name.
22591         * lib/unictype/bidi_byname.c: Include <string.h>,
22592         unictype/bidi_byname.h.
22593         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
22594         * lib/unictype/bidi_byname.gperf: New file.
22595         * modules/unictype/bidiclass-byname (Files): Add
22596         lib/unictype/bidi_byname.gperf.
22597         (Depends-on): Add gperf.
22598         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
22599         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
22600         long names.
22601
22602         Tests for module 'unictype/bidiclass-longname'.
22603         * modules/unictype/bidiclass-longname-tests: New file.
22604         * tests/unictype/test-bidi_longname.c: New file.
22605
22606         New module 'unictype/bidiclass-longname'.
22607         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
22608         * lib/unictype/bidi_longname.c: New file.
22609         * modules/unictype/bidiclass-longname: New file.
22610         * modules/unictype/bidiclass-all (Depends-on): Add
22611         unictype/bidiclass-longname.
22612
22613 2011-03-26  Bruno Haible  <bruno@clisp.org>
22614
22615         unictype/bidi*: Rename modules.
22616         * modules/unictype/bidiclass-all: Renamed from
22617         modules/unictype/bidicategory-all.
22618         * modules/unictype/bidiclass-name: Renamed from
22619         modules/unictype/bidiclass-name.
22620         (Description): Update.
22621         * modules/unictype/bidiclass-name-tests: Renamed from
22622         modules/unictype/bidicategory-name-tests.
22623         * modules/unictype/bidiclass-byname: Renamed from
22624         modules/unictype/bidicategory-byname.
22625         (Description): Update.
22626         * modules/unictype/bidiclass-byname-tests: Renamed from
22627         modules/unictype/bidicategory-byname-tests.
22628         * modules/unictype/bidiclass-of: Renamed from
22629         modules/unictype/bidicategory-of.
22630         (Description): Update.
22631         * modules/unictype/bidiclass-of-tests: Renamed from
22632         modules/unictype/bidicategory-of-tests.
22633         * modules/unictype/bidiclass-test: Renamed from
22634         modules/unictype/bidicategory-test.
22635         (Description): Update.
22636         * modules/unictype/bidiclass-test-tests: Renamed from
22637         modules/unictype/bidicategory-test-tests.
22638         * modules/unictype/bidicategory-all: New file, a simple redirection.
22639         * modules/unictype/bidicategory-name: Likewise.
22640         * modules/unictype/bidicategory-byname: Likewise.
22641         * modules/unictype/bidicategory-of: Likewise.
22642         * modules/unictype/bidicategory-test: Likewise.
22643         * modules/unictype/property-bidi-* (Dependencies): Update.
22644         * lib/unictype/bidi_*.c: Update comment.
22645
22646 2011-03-26  Bruno Haible  <bruno@clisp.org>
22647
22648         unictype/bidi*: Rename functions, part 2.
22649         * modules/unictype/bidicategory-name (configure.ac): Update required
22650         libunistring version.
22651         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
22652
22653 2011-03-25  Bruno Haible  <bruno@clisp.org>
22654
22655         New module 'unictype/combining-class-all'.
22656         * modules/unictype/combining-class-all: New file.
22657
22658         Tests for module 'unictype/combining-class-byname'.
22659         * modules/unictype/combining-class-byname-tests: New file.
22660         * tests/unictype/test-combiningclass_byname.c: New file.
22661
22662         New module 'unictype/combining-class-byname'.
22663         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
22664         * lib/unictype/combiningclass_byname.c: New file.
22665         * lib/unictype/combiningclass_byname.gperf: New file.
22666         * modules/unictype/combining-class-byname: New file.
22667
22668         Tests for module 'unictype/combining-class-longname'.
22669         * modules/unictype/combining-class-longname-tests: New file.
22670         * tests/unictype/test-combiningclass_longname.c: New file.
22671
22672         New module 'unictype/combining-class-longname'.
22673         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
22674         * lib/unictype/combiningclass_longname.c: New file.
22675         * modules/unictype/combining-class-longname: New file.
22676
22677         Tests for module 'unictype/combining-class-name'.
22678         * modules/unictype/combining-class-name-tests: New file.
22679         * tests/unictype/test-combiningclass_name.c: New file.
22680
22681         New module 'unictype/combining-class-name'.
22682         * lib/unictype.in.h (uc_combining_class_name): New declaration.
22683         * lib/unictype/combiningclass_name.c: New file.
22684         * modules/unictype/combining-class-name: New file.
22685
22686 2011-03-25  Bruno Haible  <bruno@clisp.org>
22687
22688         unictype/combining-class: Rename source files.
22689         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
22690         of unictype/combining.h.
22691         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
22692         Update.
22693         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
22694         * modules/unictype/combining-class (Description): Fix.
22695         (Files, Makefile.am): Update.
22696         * tests/unictype/test-combiningclass.c: Renamed from
22697         tests/unictype/test-combining.c.
22698         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
22699
22700 2011-03-25  Bruno Haible  <bruno@clisp.org>
22701
22702         unictype: Update list of canonical combining classes.
22703         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
22704
22705 2011-03-25  Bruno Haible  <bruno@clisp.org>
22706
22707         unictype/category-byname: Recognize long names as well.
22708         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
22709         a long name.
22710         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
22711         unictype/categ_byname.h.
22712         (UC_CATEGORY_INDEX_*): New enumeration values.
22713         (uc_general_category_byname): Use uc_general_category_lookup and
22714         convert from index to value.
22715         * lib/unictype/categ_byname.gperf: New file.
22716         * modules/unictype/category-byname (Files): Add
22717         lib/unictype/categ_byname.gperf.
22718         (Depends-on): Add gperf.
22719         (Makefile.am): Add rule for generating unictype/categ_byname.h.
22720         * tests/unictype/test-categ_byname.c (main): Test the recognition of
22721         long names.
22722
22723         Tests for module 'unictype/category-longname'.
22724         * modules/unictype/category-longname-tests: New file.
22725         * tests/unictype/test-categ_longname.c: New file.
22726
22727         New module 'unictype/category-longname'.
22728         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
22729         * lib/unictype/categ_longname.c: New file.
22730         * modules/unictype/category-longname: New file.
22731         * modules/unictype/category-all (Depends-on): Add it.
22732
22733 2011-03-25  Bruno Haible  <bruno@clisp.org>
22734
22735         Tests for module 'unictype/category-LC'.
22736         * modules/unictype/category-LC-tests: New file.
22737         * tests/unictype/test-categ_LC.c: New file, automatically generated.
22738
22739         New module 'unictype/category-LC'.
22740         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
22741         (UC_CATEGORY_LC): New declaration.
22742         (UC_CASED_LETTER): New macro.
22743         * lib/gen-uni-tables.c (is_category_LC): New function.
22744         (output_categories): Also handle category LC.
22745         (UC_CATEGORY_MASK_LC): New enumeration value.
22746         (general_category_byname): Also handle category LC.
22747         * lib/unictype/categ_LC.c: New file.
22748         * lib/unictype/categ_LC.h: New file, automatically generated.
22749         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
22750         category LC.
22751         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
22752         * modules/unictype/category-LC: New file.
22753         * modules/unictype/category-byname (Depends-on): Add
22754         unictype/category-LC.
22755         * modules/unictype/category-all (Depends-on): Likewise.
22756
22757 2011-03-25  Eric Blake  <eblake@redhat.com>
22758
22759         xmalloc: revert yesterday's regression
22760         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
22761         realloc's underlying behavior (allowing allocation of zero-size
22762         objects, especially if malloc-gnu is also in use).
22763
22764 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
22765
22766         maint.mk: add missing version to VC-tag
22767         * top/maint.mk: git tag was missing actual tag name; add it.
22768
22769         valgrind: do leak checking, and exit with code 1 on error (not 0)
22770         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
22771         to VALGRIND.
22772
22773 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
22774
22775         posix-modules: say what it does.
22776         * posix-modules: Add a line to the --help output saying what it does.
22777
22778 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
22779
22780         xmalloc: Do not leak if underlying realloc is C99 compatible.
22781         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
22782         This avoids a leak on C99-based systems.  See
22783         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
22784
22785 2011-03-24  Eric Blake  <eblake@redhat.com>
22786
22787         realloc: document portability problem
22788         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
22789         passing 0 size to realloc.
22790
22791 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
22792
22793         doc: update users.txt
22794         * users.txt: Add cvsps, tmpwatch
22795
22796 2011-03-23  Matt Rice  <ratmice@gmail.com>
22797
22798         doc: update users.txt
22799         * users.txt: Add gdb.
22800
22801 2011-03-23  Jim Meyering  <meyering@redhat.com>
22802
22803         doc: update users.txt
22804         Looking through matches up to the following URL (there are still
22805         several more pages), I found several projects that use gnulib:
22806         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
22807         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
22808         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
22809
22810 2011-03-22  Bruno Haible  <bruno@clisp.org>
22811
22812         unictype/bidi*: Rename functions.
22813         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
22814         uc_bidi_class, uc_is_bidi_class): New declarations.
22815         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
22816         uc_bidi_category_byname.
22817         (uc_bidi_category_byname): New function.
22818         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
22819         u_bidi_category_name.
22820         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
22821         (uc_bidi_category_name): New function.
22822         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
22823         uc_bidi_category.
22824         (uc_bidi_category): New function.
22825         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
22826         uc_is_bidi_category. Invoke uc_bidi_class.
22827         (uc_is_bidi_category): New function.
22828         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
22829         instead of uc_bidi_category_byname.
22830         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
22831         instead of uc_bidi_category_name.
22832         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
22833         uc_bidi_category.
22834         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
22835         instead of uc_is_bidi_category.
22836
22837 2011-03-21  Bruno Haible  <bruno@clisp.org>
22838
22839         New module 'unictype/joininggroup-all'.
22840         * modules/unictype/joininggroup-all: New file.
22841
22842         Tests for module 'unictype/joininggroup-of'.
22843         * modules/unictype/joininggroup-of-tests: New file.
22844         * tests/unictype/test-joininggroup_of.c: New file.
22845         * tests/unictype/test-joininggroup_of.h: New file, automatically
22846         generated by gen-uni-tables.
22847
22848         New module 'unictype/joininggroup-of'.
22849         * modules/unictype/joininggroup-of: New file.
22850         * lib/unictype/joininggroup_of.c: New file.
22851         * lib/unictype/joininggroup_of.h: New file, automatically generated by
22852         gen-uni-tables.
22853
22854         Tests for module 'unictype/joininggroup-byname'.
22855         * modules/unictype/joininggroup-byname-tests: New file.
22856         * tests/unictype/test-joininggroup_byname.c: New file.
22857
22858         New module 'unictype/joininggroup-byname'.
22859         * modules/unictype/joininggroup-byname: New file.
22860         * lib/unictype/joininggroup_byname.c: New file.
22861         * lib/unictype/joininggroup_byname.gperf: New file.
22862
22863         Tests for module 'unictype/joininggroup-name'.
22864         * modules/unictype/joininggroup-name-tests: New file.
22865         * tests/unictype/test-joininggroup_name.c: New file.
22866
22867         New module 'unictype/joininggroup-name'.
22868         * modules/unictype/joininggroup-name: New file.
22869         * lib/unictype/joininggroup_name.c: New file.
22870         * lib/unictype/joininggroup_name.h: New file.
22871
22872         New module 'unictype/joiningtype-all'.
22873         * modules/unictype/joiningtype-all: New file.
22874
22875         Tests for module 'unictype/joiningtype-of'.
22876         * modules/unictype/joiningtype-of-tests: New file.
22877         * tests/unictype/test-joiningtype_of.c: New file.
22878         * tests/unictype/test-joiningtype_of.h: New file, automatically
22879         generated by gen-uni-tables.
22880
22881         New module 'unictype/joiningtype-of'.
22882         * modules/unictype/joiningtype-of: New file.
22883         * lib/unictype/joiningtype_of.c: New file.
22884         * lib/unictype/joiningtype_of.h: New file, automatically generated by
22885         gen-uni-tables.
22886
22887         Tests for module 'unictype/joiningtype-byname'.
22888         * modules/unictype/joiningtype-byname-tests: New file.
22889         * tests/unictype/test-joiningtype_byname.c: New file.
22890
22891         New module 'unictype/joiningtype-byname'.
22892         * modules/unictype/joiningtype-byname: New file.
22893         * lib/unictype/joiningtype_byname.c: New file.
22894
22895         Tests for module 'unictype/joiningtype-name'.
22896         * modules/unictype/joiningtype-name-tests: New file.
22897         * tests/unictype/test-joiningtype_name.c: New file.
22898
22899         New module 'unictype/joiningtype-name'.
22900         * modules/unictype/joiningtype-name: New file.
22901         * lib/unictype/joiningtype_name.c: New file.
22902
22903         unictype: Add support for Arabic shaping properties.
22904         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
22905         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
22906         declarations.
22907         (UC_JOINING_GROUP_*): New enumeration values.
22908         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
22909         declarations.
22910         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
22911         (unicode_joining_type): New variable.
22912         (UC_JOINING_GROUP_*): New enumeration values.
22913         (unicode_joining_group): New variable.
22914         (fill_arabicshaping, joining_type_as_c_identifier,
22915         output_joining_type_test, output_joining_type,
22916         joining_group_as_c_identifier, output_joining_group_test,
22917         output_joining_group): New functions.
22918         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
22919         fill_arabicshaping and output_joining_type_test, output_joining_type,
22920         output_joining_group_test, output_joining_group.
22921         Reported by Simon Josefsson.
22922
22923 2011-03-21  Jim Meyering  <meyering@redhat.com>
22924
22925         strftime: fix a bug in yesterday's change
22926         * lib/strftime.c (add): Accommodate width's initial value of -1.
22927         Otherwise, nstrftime would copy uninitialized data into
22928         the result buffer.
22929
22930 2011-03-21  Jim Meyering  <meyering@redhat.com>
22931
22932         tests: add strftime-tests module
22933         * tests/test-strftime.c: New file.
22934         * modules/strftime-tests: New module.
22935
22936 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22937
22938         strftime: don't assume a byte count fits in 'int'
22939         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
22940         found this problem by static analysis, using gcc -Wstrict-overflow
22941         (GCC 4.5.2, x86-64).  This reported an optimization that depended
22942         on an integer overflow having undefined behavior, but it turns out
22943         that the argument is a size, which might not fit in 'int' anyway,
22944
22945 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22946
22947         stdio: don't require ignore_value around fwrite
22948
22949         This patch works around libc bug 11959
22950         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
22951         Without this patch, applications must often write
22952         ignore_value (fwrite (...)) even though the ignore_value is
22953         not helpful here.  It's common to write many objects, using
22954         fwrite/printf/etc., and then use ferror to detect output error.
22955
22956         I considered making this patch optional, but decided against it,
22957         because libc is obviously being inconsistent here: there is no
22958         reason libc should insist that user code must inspect fwrite
22959         return's value without also insisting that it inspect printf's,
22960         putchar's, etc.  If user code wants to have a strict style where
22961         all these functions' values are checked (so that ferror need not
22962         be checked), we could add support for that style in a new gnulib
22963         module, but in the meantime it's better to be consistent and to
22964         support common usage.
22965
22966         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
22967         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
22968         that we are compiling in checking mode, and if not C++, and
22969         if not already wrapping fwrite for some other reason.
22970         (fwrite): #define to rpl_fwrite if the latter is defined.
22971
22972 2011-03-20  Bruno Haible  <bruno@clisp.org>
22973
22974         verror: Fix compilation error introduced on 2011-02-13.
22975         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
22976         instead of __attribute__.
22977         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22978
22979 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22980             Bruno Haible  <bruno@clisp.org>
22981
22982         socklen: do not depend on sys_socket
22983         While trying to modify Emacs to use gnulib's socklen module,
22984         I discovered a circular dependency: socklen depends on sys_socket
22985         and vice versa.  Emacs can use socklen, but it does not need
22986         sys_socket because it has its own substitute for sys/socket.h.
22987         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
22988         gl_TYPE_SOCKLEN_T.
22989         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
22990         gl_PREREQ_SYS_H_SOCKET.
22991         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
22992         gl_PREREQ_SYS_H_SOCKET.
22993         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
22994         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
22995         * modules/socklen (Depends-on): Do not depend on sys_socket.
22996         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
22997
22998 2011-03-20  Jim Meyering  <meyering@redhat.com>
22999
23000         maint.mk: sort file names *after* new transformation
23001         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
23002         prefix would have led to an unwarranted failure in GNU parted.
23003         Sort after that transformation.
23004
23005 2011-03-19  Jim Meyering  <meyering@redhat.com>
23006
23007         maint.mk: fix po-file syntax-check rule
23008         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
23009         Patch by Bruno Haible.
23010
23011 2011-03-19  Bruno Haible  <bruno@clisp.org>
23012
23013         socklen: Update comment.
23014         * m4/socklen.m4: Update comment about platforms.
23015
23016 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23017             Bruno Haible  <bruno@clisp.org>
23018
23019         inet_ntop, inet_pton: Simplify.
23020         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
23021         documented to provide socklen_t and we already depend on sys_socket.
23022         * modules/inet_pton (Depends-on): Likewise.
23023         * lib/arpa_inet.in.h: Adjust comment.
23024
23025 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23026             Bruno Haible  <bruno@clisp.org>
23027
23028         netdb: Simplify.
23029         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
23030         documented to provide socklen_t and we already depend on sys_socket.
23031         * lib/netdb.in.h: Adjust comment.
23032
23033 2011-03-19  Bruno Haible  <bruno@clisp.org>
23034
23035         sys_socket, netdb: Document problem with socklen_t.
23036         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
23037         platforms.
23038         * doc/posix-headers/netdb.texi: Likewise.
23039
23040 2011-03-18  Eric Blake  <eblake@redhat.com>
23041
23042         maint.mk: let po check work in VPATH build
23043         * top/maint.mk (po_file): Allow cfg.mk override.
23044         (sc_po_check): Allow VPATH use.
23045         Reported by Jiri Denemark.
23046
23047 2011-03-16  Jim Meyering  <meyering@redhat.com>
23048
23049         maint.mk: allow fine-grained syntax-check exclusion via Make variables
23050         Before, you would have had to create one .x-sc_ file per rule in order
23051         to exempt offending files.  Now, you may instead use a Make variable --
23052         usually defined in cfg.mk -- whose name identifies the affected rule.
23053         * top/maint.mk (_sc_excl): Define.
23054         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
23055         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
23056
23057 2011-03-13  Bruno Haible  <bruno@clisp.org>
23058
23059         ignore-value tests: Avoid warnings.
23060         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
23061         empty for gcc < 3.4.
23062
23063 2011-03-13  Bruno Haible  <bruno@clisp.org>
23064
23065         passfd: Fix link error on Solaris.
23066         * modules/passfd (Description): Correct.
23067         (Depends-on): Add socketlib.
23068         (Link): New section.
23069         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
23070
23071 2011-03-13  Bruno Haible  <bruno@clisp.org>
23072
23073         passfd: Fix link error on AIX 5.2.
23074         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
23075
23076 2011-03-13  Bruno Haible  <bruno@clisp.org>
23077
23078         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
23079         * lib/sys_socket.in.h: Include <stddef.h>.
23080         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
23081         CMSG_FIRSTHDR. Remove unused variable.
23082
23083 2011-03-13  Bruno Haible  <bruno@clisp.org>
23084
23085         passfd: Fix compilation error on OpenBSD.
23086         * lib/passfd.c: Include <sys/uio.h>.
23087
23088 2011-03-13  Bruno Haible  <bruno@clisp.org>
23089
23090         passfd test: Fix warnings.
23091         * tests/test-passfd.c: Include <sys/wait.h>.
23092         (main): Fix typo.
23093
23094 2011-03-13  Bruno Haible  <bruno@clisp.org>
23095
23096         passfd module, part 4, tweaks.
23097         * tests/test-passfd.c: Reorder includes.
23098         (main): Fix perror and printf calls.
23099
23100 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23101
23102         passfd module, part 4.
23103         * modules/passfd-tests: New file.
23104         * tests/test-passfd.c: New file.
23105
23106 2011-03-13  Jim Meyering  <meyering@redhat.com>
23107
23108         Makefile: rely on GNU make; derive syntax-check rule names
23109         Rather than requiring that each sc_ rule be listed as a dependent
23110         of "check", use features of GNU make to derive the list.
23111         * Makefile (syntax-check-rules): Define.
23112         (check): Depend on the new variable, not the hard-coded list.
23113
23114 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
23115             Bruno Haible  <bruno@clisp.org>
23116
23117         passfd module, part 3.
23118         * lib/passfd.h (recvfd): Add a flags argument.
23119         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
23120         (recvfd): Add a flags argument.
23121         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
23122         exists.
23123         * modules/passfd (Depends-on): Add cloexec.
23124         Suggested by Eric Blake.
23125
23126 2011-03-13  Bruno Haible  <bruno@clisp.org>
23127
23128         passfd module, part 2, tweaks.
23129         * modules/passfd (Files): Reorder.
23130         (Depends-on): Remove errno.
23131         (Include): Remove <sys/socket.h>, <sys/un.h>.
23132         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
23133         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
23134         specification header. Include <sys/socket.h> always. Don't include
23135         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
23136         (sendfd): Clarify that it sets errno when it fails.
23137         (recvfd): Fix specification.
23138
23139 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23140
23141         passfd module, part 2.
23142         * modules/passfd: New file.
23143         * lib/passfd.h: New file.
23144         * lib/passfd.c: New file.
23145
23146 2011-03-12  Bruno Haible  <bruno@clisp.org>
23147
23148         wcswidth, mbswidth: Avoid integer overflow.
23149         * lib/wcswidth.c: Include <limits.h>.
23150         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
23151         * lib/mbswidth.c: Include <limits.h>.
23152         (mbsnwidth): Avoid 'int' overflow.
23153         Reported by Jim Meyering.
23154
23155 2011-03-12  Bruno Haible  <bruno@clisp.org>
23156
23157         futimens, utimensat: Avoid endless recursion on Solaris 10.
23158         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
23159         Solaris.
23160         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
23161         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
23162
23163 2011-03-11  Jim Meyering  <meyering@redhat.com>
23164
23165         maint.mk: relax a regexp to accommodate other formatting styles
23166         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
23167         between "ngettext" and the following "(".
23168
23169 2011-03-11  Pádraig Brady <P@draigBrady.com>
23170
23171         maint.mk: suppress a false positive warning
23172         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
23173         diagnostics are marked with ngettext.
23174
23175 2011-03-10  Eric Blake  <eblake@redhat.com>
23176
23177         wchar: add explicit dependencies, for Tru64
23178         * modules/mbmemcasecoll (Depends-on): Add wchar.
23179         * modules/mbtowc (Depends-on): Likewise.
23180         * modules/vasnprintf (Depends-on): Likewise.
23181         * modules/unistdio/u-printf-args (Depends-on): Likewise.
23182         * modules/wctomb (Depends-on): Likewise.
23183         Reported by Peter O'Gorman.
23184
23185 2011-03-08  Bruno Haible  <bruno@clisp.org>
23186
23187         passfd module, part 1, tweaks.
23188         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
23189         Improve indentation. Improve AC_MSG_CHECKING messages.
23190         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
23191         gl_SOCKET_FAMILIES.
23192
23193 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23194
23195         passfd module, part 1.
23196         * m4/afunix.m4: New file.
23197         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
23198         sockets.
23199
23200 2011-03-08  Bruno Haible  <bruno@clisp.org>
23201
23202         regex-quote: New API.
23203         * lib/regex-quote.h: Include <stdbool.h>.
23204         (struct regex_quote_spec): New type.
23205         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23206         New declarations.
23207         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23208         'const struct regex_quote_spec *' argument.
23209         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
23210         (pcre_special): New constant.
23211         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23212         New functions.
23213         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23214         'const struct regex_quote_spec *' argument.
23215         * modules/regex-quote (Depends-on): Add stdbool.
23216         * tests/test-regex-quote.c (check): Update for new API. Add test for
23217         anchored results.
23218         * NEWS: Mention the API change.
23219         Reported by Reuben Thomas and Eric Blake.
23220
23221 2011-03-06  Bruno Haible  <bruno@clisp.org>
23222
23223         regex-quote: Fix creation of POSIX extended regular expressions.
23224         * lib/regex-quote.c (ere_special): Add grouping and alternation
23225         operators.
23226
23227 2011-03-05  Bruno Haible  <bruno@clisp.org>
23228
23229         doc: Improve doc regarding autopoint vs. gnulib.
23230         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
23231         disable autopoint while running autoreconf.
23232         Suggested by Ralf Wildenhues.
23233
23234 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23235
23236         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
23237         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
23238
23239 2011-03-03  Bruce Korb  <bkorb@gnu.org>
23240
23241         parse-duration: remove xalloc.h dependency
23242         * lib/parse-duration.c (parse_period): handle NULL return from
23243         strdup instead of calling xstrdup().
23244         * modules/parse-duration: remove "xalloc" dependency
23245
23246 2011-03-03  Matthew Booth  <mbooth@redhat.com>
23247
23248         bootstrap: honor m4_base when running aclocal
23249         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
23250
23251 2011-03-02  Jim Meyering  <meyering@redhat.com>
23252
23253         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
23254         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
23255         on request from Matt Booth.
23256
23257 2011-03-01  Eric Blake  <eblake@redhat.com>
23258
23259         test-link: work on Hurd
23260         * tests/test-link.h (test_link): Hurd rejects linking directories
23261         with EISDIR instead of the POSIX-mandated EPERM.
23262
23263 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
23264
23265         stdio: simplify by moving files to printf-posix, sigpipe
23266         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
23267         since this symbol is needed only if printf is replaced.
23268         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
23269         Require gl_ASM_SYMBOL_PREFIX.
23270         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
23271         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
23272         (Depends-on): Add 'raise'.
23273         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
23274         * modules/stdio (Files): Remove lib/stdio-write.c,
23275         m4/asm-underscore.m4.
23276         (Depends-on): Remove 'raise'.
23277
23278         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
23279         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
23280         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
23281         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
23282
23283 2011-02-28  Bruno Haible  <bruno@clisp.org>
23284
23285         localcharset: Assume ANSI C behaviour of free().
23286         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
23287         calling free().
23288         Suggested by Simon Josefsson <simon@josefsson.org>.
23289
23290 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
23291             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
23292             Bruno Haible  <bruno@clisp.org>  (tiny change)
23293
23294         On Cygwin, use /proc file system instead of win32 API.
23295         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
23296         Win32 file names.
23297         (DllMain): Simplify by removing Cygwin specific code.
23298         (find_shared_library_fullname): Use Linux specific implementation also
23299         for Cygwin.
23300         (get_shared_library_fullname): Update accordingly.
23301         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
23302         Win32 file names.
23303         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
23304         Cygwin specific code.
23305
23306 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
23307             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
23308
23309         Fix OpenMP flag detection for various Fortran compilers.
23310         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
23311         OpenMP-conditional compilation construct, to force compile
23312         failure with missing OpenMP flag.
23313         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
23314
23315 2011-02-25  Eric Blake  <eblake@redhat.com>
23316
23317         strstr: expand test coverage
23318         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
23319         compilation.
23320         * tests/test-memmem.c (main): Duplicate tests.
23321         * tests/test-strcasestr.c (main): Likewise.
23322         * tests/test-c-strcasestr.c (main): Likewise.
23323
23324 2011-02-25  Jim Meyering  <meyering@redhat.com>
23325
23326         maint.mk: detect missing-NL-at-EOF, too
23327         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
23328         it also detects when a file lacks a newline at EOF.
23329         (require_exactly_one_NL_at_EOF_): Renamed from
23330         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
23331         since people may well have .x-sc_... file names tied to the
23332         existing name.  Suggested by Eric Blake.
23333
23334 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
23335
23336         dirname: move m4/dos.m4 functionality into lib/dosname.h
23337
23338         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
23339         extracts symbols from it, puts them into config.h; but it's much
23340         easier to use the symbols directly.  filename.h already does this,
23341         but it disagrees with dos.m4 in some respects.  This patch
23342         introduces a different include file dosname.h that packages up
23343         dos.m4, and then later we can work on merging filename.h and
23344         dosname.h.  Applications that need only the easy-to-configure
23345         symbols should consider including dosname.h rather than dirname.h.
23346         * NEWS: Mention incompatible changes.
23347         * m4/dos.m4: Remove.
23348         * lib/dosname.h, modules/dosname: New files.
23349         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
23350         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
23351         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
23352         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
23353         Include dosname.h, not dirname.h.
23354         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
23355         Include dosname.h, for definitions of symbols like ISSLASH
23356         that used to be in config.h.
23357         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
23358         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23359         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23360         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23361         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
23362         * modules/rmdir (Files): Likewise.
23363         * modules/stat (Files): Likewise.
23364         * modules/unlink (Files): Likewise.
23365         * modules/dirname-lgpl (Depends-on): Add dosname.
23366         * modules/lstat (Depends-on): Likewise.
23367         * modules/openat (Depends-on): Likewise.
23368         * modules/rmdir (Depends-on): Likewise.
23369         * modules/savewd (Depends-on): Likewise.
23370         * modules/stat (Depends-on): Likewise.
23371         * modules/unlink (Depends-on): Likewise.
23372         * modules/openat (Depends-on): Remove dirname-lgpl.
23373         * modules/savewd (Depends-on): Likewise.
23374         * tests/test-dirname.c: Do not use removed symbols like
23375         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
23376         the remaining symbols, e.g., ISSLASH ('\\').
23377
23378 2011-02-25  Eric Blake  <eblake@redhat.com>
23379
23380         strstr: revert patches that introduced bug and pessimization
23381         * lib/str-two-way.h: Add another reference.
23382         (two_way_short_needle, two_way_long_needle): Revert changes from
23383         2011-02-24; they pessimize search speed.
23384         (critical_factorization): Partially revert changes from
23385         2010-06-22; they violate the requirement that the left half of the
23386         needle be smaller than the period of the needle.
23387
23388 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
23389
23390         filenamecat: remove unnecessary dependency on dirname-lgpl
23391         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
23392         is no direct dependency, just an indirect one via filenamecat-lgpl.
23393
23394         remove: remove unnecessary use of m4/dos.m4
23395         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
23396         * modules/remove (FILES): Remove m4/dos.m4.
23397
23398         * lib/openat-proc.c: Don't include dirname.h; not needed.
23399
23400         backupfile: remove unnecessary use of m4/dos.m4
23401         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
23402         of its symbols are used by the backupfile code.  backupfile.c does
23403         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
23404         for the rare case of programs that want all their backup file
23405         names to live within 8+3 limits, and dos.m4 doesn't address that.
23406         * modules/backupfile (Files): Remove m4/dos.m4.
23407
23408 2011-02-24  Jim Meyering  <meyering@redhat.com>
23409
23410         strstr: fix a bug whereby strstr would mistakenly return NULL
23411         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
23412         in period calculation.
23413         (two_way_long_needle): Likewise.
23414         The original problem was reported by Mike Stump in
23415         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
23416         Ralf Wildenhues provided the short needle and haystack.
23417         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
23418         Add a more involved test to trigger the bug in two_way_long_needle.
23419
23420 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23421
23422         gnulib-tool: remove use of bold display in help screen
23423         * gnulib-tool (func_usage): Do not use bold display anymore in the
23424         help screen.  That was just meant to be a temporary emphasis for a
23425         backward-incompatible change.
23426
23427 2011-02-23  Bruno Haible  <bruno@clisp.org>
23428
23429         Fix misindentation of preprocessor directives.
23430         * lib/argp-namefrob.h: Reindent preprocessor directives.
23431         * lib/getopt_int.h (struct _getopt_data): Likewise.
23432         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
23433         * lib/vasnprintf.c (decode_long_double): Likewise.
23434         * tests/test-argmatch.c: Insert blank lines, for clarity.
23435         * tests/test-exclude.c: Likewise.
23436
23437 2011-02-22  Bruno Haible  <bruno@clisp.org>
23438
23439         ioctl: Fix for MacOS X in 64-bit mode.
23440         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
23441         value.
23442         Suggested by Eric Blake.
23443         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
23444
23445 2011-02-22  Jim Meyering  <meyering@redhat.com>
23446
23447         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
23448         * Makefile (sc_cpp_indent_check): Don't limit the check to files
23449         in lib/.
23450
23451 2011-02-22  Eric Blake  <eblake@redhat.com>
23452
23453         maint: avoid any CDPATH issue
23454         * Makefile (sc_cpp_indent_check): Anchor cd argument.
23455
23456         maint: adjust cpp indentation for my modules, as well
23457         * Makefile (sc_cpp_indent_check): Add my name.
23458         * lib/fbufmode.c: Filter through cppi.
23459         * lib/fpurge.c: Likewise.
23460         * lib/freadable.c: Likewise.
23461         * lib/freading.c: Likewise.
23462         * lib/fwritable.c: Likewise.
23463         * lib/fwriting.c: Likewise.
23464         * lib/sigaction.c: Likewise.
23465
23466 2011-02-22  Jim Meyering  <meyering@redhat.com>
23467
23468         maint: adjust cpp indentation to reflect nesting depth
23469         I.e., in a block of code that begins with an unnested "#if",
23470         put one space between the "#" in column 1 and following token.
23471         For example,
23472         -#include <sys/vfs.h>
23473         +# include <sys/vfs.h>
23474         Do this only in .c files that are part of a module I maintain.
23475         * lib/linkat.c: Filter through cppi.
23476         * lib/nanosleep.c: Likewise.
23477         * lib/openat.c: Likewise.
23478         * lib/openat-die.c: Likewise.
23479         * lib/dup3.c: Likewise.
23480         * lib/fchownat.c: Likewise.
23481         * lib/flock.c: Likewise.
23482         * lib/fsync.c: Likewise.
23483         * lib/fts.c: Likewise.
23484         * lib/getpass.c: Likewise.
23485         * lib/gettimeofday.c: Likewise.
23486         * lib/userspec.c: Likewise.
23487         * Makefile (sc_cpp_indent_check): New rule, to check this.
23488
23489 2011-02-22  Bruno Haible  <bruno@clisp.org>
23490
23491         New module 'wctomb'.
23492         * lib/stdlib.in.h (wctomb): New declaration.
23493         * lib/wctomb.c: New file.
23494         * lib/wctomb-impl.h: New file.
23495         * m4/wctomb.m4: New file.
23496         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
23497         REPLACE_WCTOMB.
23498         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
23499         REPLACE_WCTOMB.
23500         * modules/wctomb: New file.
23501         * tests/test-stdlib-c++.cc: Test signature of wctomb.
23502         * doc/posix-functions/wctomb.texi: Mention the new module.
23503         * modules/wctob (Depends-on): Add wctomb.
23504
23505 2011-02-22  Bruno Haible  <bruno@clisp.org>
23506
23507         New module 'mbtowc'.
23508         * lib/stdlib.in.h (mbtowc): New declaration.
23509         * lib/mbtowc.c: New file.
23510         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
23511         * m4/mbtowc.m4: New file.
23512         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
23513         REPLACE_MBTOWC.
23514         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
23515         REPLACE_MBTOWC.
23516         * modules/mbtowc: New file.
23517         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
23518         * doc/posix-functions/mbtowc.texi: Mention the new module.
23519         * modules/btowc (Depends-on): Add mbtowc.
23520
23521 2011-02-22  Bruno Haible  <bruno@clisp.org>
23522
23523         wcrtomb: Add more tests for native Windows platforms.
23524         * tests/test-wcrtomb-w32-1.sh: New file.
23525         * tests/test-wcrtomb-w32-2.sh: New file.
23526         * tests/test-wcrtomb-w32-3.sh: New file.
23527         * tests/test-wcrtomb-w32-4.sh: New file.
23528         * tests/test-wcrtomb-w32-5.sh: New file.
23529         * tests/test-wcrtomb-w32.c: New file.
23530         * modules/wcrtomb-tests (Files): Add them.
23531         (Makefile.am): Arrange to run these tests.
23532         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
23533         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
23534
23535 2011-02-20  Bruno Haible  <bruno@clisp.org>
23536
23537         wcrtomb: Enhance test.
23538         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
23539
23540 2011-02-20  Bruno Haible  <bruno@clisp.org>
23541
23542         mbrtowc: Tiny optimization.
23543         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
23544
23545 2011-02-20  Jim Meyering  <meyering@redhat.com>
23546
23547         test-exclude.c: remove unmatched #endif
23548         * tests/test-exclude.c: Remove stray #endif, left over from
23549         the change of a week ago.
23550
23551 2011-02-19  Jim Meyering  <meyering@redhat.com>
23552
23553         git-version-gen: skip "-dirty" check when appropriate
23554         * build-aux/git-version-gen: Don't run any git commands when the
23555         version string comes from .tarball-version.  Prior to this, we
23556         would run git update-index --refresh even from a just-unpacked
23557         tarball directory, and that could affect a .git/ directory in a
23558         parent of the build directory.  Reported by Mike Frysinger.
23559
23560 2011-02-19  Bruno Haible  <bruno@clisp.org>
23561
23562         unictype/property-byname: Reduce the size of the 'data' segment.
23563         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
23564
23565 2011-02-19  Bruno Haible  <bruno@clisp.org>
23566
23567         unictype/scripts: Reduce the size of the 'data' segment.
23568         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
23569         '%pic'.
23570         * lib/unictype/scripts_byname.gperf: Regenerated.
23571
23572 2011-02-19  Bruno Haible  <bruno@clisp.org>
23573
23574         stdint: Update documentation.
23575         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
23576
23577 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
23578
23579         stdint: omit redundant check for wchar.h
23580         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
23581         always tests whether wchar.h exists, so remove the now-redundant test.
23582
23583 2011-02-18  Bruno Haible  <bruno@clisp.org>
23584
23585         stdint: Cut dependency to module 'wchar'.
23586         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
23587         include the necessary prerequisites.
23588         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
23589         * modules/stdint (Depends-on): Remove wchar.
23590         (Makefile.am): Substitute HAVE_WCHAR_H.
23591         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
23592
23593 2011-02-18  Eric Blake  <eblake@redhat.com>
23594
23595         longlong: skip, rather than fail, on cross-compilation
23596         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
23597         when cross-compiling; regression from 2011-02-16.
23598
23599 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23600
23601         * NEWS: Mention 2011-02-08 change to stdlib.
23602
23603 2011-02-17  Bruno Haible  <bruno@clisp.org>
23604
23605         getloadavg: Add comments about platforms.
23606         * m4/getloadavg.m4: Add comment.
23607         * lib/getloadavg.c: Likewise.
23608
23609 2011-02-17  Bruno Haible  <bruno@clisp.org>
23610
23611         getloadavg: Fix link error on Solaris 2.6.
23612         * modules/getloadavg (Link): New section.
23613         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
23614         linking test-getloadavg.
23615         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
23616         getloadavg.
23617
23618 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23619
23620         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
23621         It was 'int', but this doesn't match the IRIX 6.5 manual.
23622         Suggested by Bruno Haible in
23623         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
23624
23625 2011-02-17  Bruno Haible  <bruno@clisp.org>
23626
23627         havelib: Fix comments.
23628         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
23629         change.
23630
23631 2011-02-17  Bruno Haible  <bruno@clisp.org>
23632
23633         havelib: Update config.rpath.
23634         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
23635
23636 2011-02-17  Bruno Haible  <bruno@clisp.org>
23637
23638         getloadavg test: Add some plausibility checks.
23639         * tests/test-getloadavg.c (check_avg): Print a warning when the value
23640         is improbable.
23641
23642 2011-02-16  Eric Blake  <eblake@redhat.com>
23643
23644         maintainer-makefile: make syntax-check a no-op from tarballs
23645         * top/maint.mk (no-vc-detected): New rule.
23646         (local-checks-available): Use it to avoid hanging if someone tries
23647         'make syntax-check' from a tarball.  Also append to any non-syntax
23648         checks already defined in cfg.mk.
23649
23650 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
23651
23652         longlong: tune, particularly for common case of c99
23653
23654         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
23655         or running anything if c99, or if unsigned long long int does not
23656         work.  In either case, we know the answer without further tests.
23657         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
23658         it at most once, and use its results for both long long int and
23659         unsigned long long int.  This is more likely to be efficient in
23660         the common case where the program wants to check for both long
23661         long int and unsigned long long int.
23662         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
23663         since the answer is already known.
23664
23665 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
23666
23667         getloadavg: set errno
23668         * lib/getloadavg.c: Set errno when returning -1.  If no other
23669         error number looks appropriate, set it to ENOSYS if the getloadavg
23670         looks like it can't possibly ever work, ENOTSUP otherwise.
23671         Suggested by Bruno Haible in
23672         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
23673
23674         getloadavg: trim unused parts and speed up 'configure'
23675         * NEWS: Document this.
23676         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
23677         always compiled if getloadavg is absent.
23678         Move test code to ...
23679         * tests/test-getloadavg.c: New file, containing previous
23680         contents of test from lib/getloadavg.c.  It also contains
23681         suggestions by Bruno Haible in
23682         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
23683         * modules/getloadavg-tests: New file.
23684         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
23685         Do tests in the same order as they're needed for getloadavg.c.
23686         Omit setgid-related tests that generate symbols KMEM_GROUP,
23687         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
23688         Do only the tests that are needed to see whether the system has
23689         getloadavg, moving the other tests into ...
23690         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
23691         NLIST_NAME_UNION; nobody should be using it.  Do not define
23692         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
23693         relevant, as the user of this module shouldn't care how getloadavg
23694         is implemented.
23695
23696         getloadavg: omit unused var
23697         * lib/getloadavg.c (getloadavg): Omit unused local variable.
23698
23699 2011-02-15  Jim Meyering  <meyering@redhat.com>
23700
23701         doc: update users.txt
23702         * users.txt: Update iwhd's URL.
23703
23704 2011-02-13  Bruno Haible  <bruno@clisp.org>
23705
23706         Consistent macro naming for macros that use GCC __attribute__.
23707         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
23708         _ATTRIBUTE_NONNULL_.
23709         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
23710         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
23711         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
23712         ATTRIBUTE_DEPRECATED.
23713         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
23714         ATTRIBUTE_NORETURN.
23715         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23716         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23717         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23718         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23719         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
23720         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
23721         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
23722         ATTRIBUTE_SENTINEL.
23723         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
23724         ATTRIBUTE_RETURN_CHECK.
23725         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
23726         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
23727         ATTRIBUTE_NORETURN.
23728         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
23729         Reported by Paul Eggert.
23730
23731 2011-02-13  Bruno Haible  <bruno@clisp.org>
23732
23733         Don't interfere with a program's definition of __attribute__.
23734         * lib/argp.h (__attribute__): Remove definition.
23735         (_GL_ATTRIBUTE_FORMAT): New macro.
23736         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
23737         * lib/argp-fmtstream.h (__attribute__): Remove definition.
23738         (_GL_ATTRIBUTE_FORMAT): New macro.
23739         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
23740         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
23741         GCC 3 or newer.
23742         * lib/error.h (__attribute__): Remove definition.
23743         (_GL_ATTRIBUTE_FORMAT): New macro.
23744         (error, error_at_line): Use it.
23745         * lib/hash.h (__attribute__): Remove definition.
23746         (ATTRIBUTE_WUR): Update definition. Define always.
23747         * lib/openat.h (__attribute__): Remove definition.
23748         (ATTRIBUTE_NORETURN): Update definition. Define always.
23749         * lib/sigpipe-die.h (__attribute__): Remove definition.
23750         (ATTRIBUTE_NORETURN): Update definition. Define always.
23751         * lib/vasnprintf.h (__attribute__): Remove definition.
23752         (_GL_ATTRIBUTE_FORMAT): New macro.
23753         (asnprintf, vasnprintf): Use it.
23754         * lib/xalloc.h (__attribute__): Remove definition.
23755         (ATTRIBUTE_NORETURN): Update definition. Define always.
23756         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
23757         * lib/xmemdup0.h (__attribute__): Remove definition.
23758         (ATTRIBUTE_NORETURN): Update definition. Define always.
23759         * lib/xprintf.h (__attribute__): Remove definition.
23760         (_GL_ATTRIBUTE_FORMAT): New macro.
23761         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
23762         * lib/xstrtol.h (__attribute__): Remove definition.
23763         (ATTRIBUTE_NORETURN): Update definition. Define always.
23764         * lib/xvasprintf.h (__attribute__): Remove definition.
23765         (_GL_ATTRIBUTE_FORMAT): New macro.
23766         (xasprintf, xvasprintf): Use it.
23767         * tests/test-argmatch.c (__attribute__): Remove definition.
23768         (ATTRIBUTE_NORETURN): Update definition. Define always.
23769         * tests/test-exclude.c (__attribute__): Remove definition.
23770         (ATTRIBUTE_NORETURN): Update definition. Define always.
23771         Reported by Paul Eggert.
23772
23773 2011-02-13  Bruno Haible  <bruno@clisp.org>
23774
23775         mbrtowc: Add more tests for native Windows platforms.
23776         * tests/test-mbrtowc-w32-1.sh: New file.
23777         * tests/test-mbrtowc-w32-2.sh: New file.
23778         * tests/test-mbrtowc-w32-3.sh: New file.
23779         * tests/test-mbrtowc-w32-4.sh: New file.
23780         * tests/test-mbrtowc-w32-5.sh: New file.
23781         * tests/test-mbrtowc-w32.c: New file.
23782         * modules/mbrtowc-tests (Files): Add them.
23783         (Makefile.am): Arrange to run these tests.
23784         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
23785         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
23786
23787 2011-02-13  Bruno Haible  <bruno@clisp.org>
23788
23789         mbrtowc: Work around native Windows bug.
23790         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
23791         guess when no suitable locale for testing was found.
23792         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
23793
23794 2011-02-13  Bruno Haible  <bruno@clisp.org>
23795
23796         mbsinit: Work around mingw bug.
23797         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
23798         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
23799         Windows.
23800         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
23801
23802 2011-02-13  Bruno Haible  <bruno@clisp.org>
23803
23804         mbsinit: Don't crash for a NULL argument.
23805         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
23806         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
23807
23808 2011-02-13  Bruno Haible  <bruno@clisp.org>
23809
23810         Don't interfere with a program's definition of __attribute__.
23811         * lib/stdio.in.h (__attribute__): Remove definition.
23812         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
23813         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
23814         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
23815         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
23816         * lib/string.in.h (__attribute__): Remove definition.
23817         Reported by Paul Eggert.
23818
23819 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
23820
23821         stdlib: don't get in the way of non-GCC __attribute__
23822         See thread starting at
23823         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
23824         Revert previous stdlib change, installing the following instead:
23825         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
23826         to get in the way of a non-GCC compiler that supports __attribute__.
23827         (_GL_ATTRIBUTE_RETURN): New macro.
23828         (_Exit): Use it instead of __attribute__.
23829
23830 2011-02-12  Bruno Haible  <bruno@clisp.org>
23831
23832         quotearg test: Avoid test failure on mingw.
23833         * tests/test-quotearg.sh: Convert the locale identifier from native
23834         Windows syntax to Unix syntax.
23835
23836 2011-02-12  Bruno Haible  <bruno@clisp.org>
23837
23838         setlocale: Prefer gnulib's override over libintl's override.
23839         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
23840         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
23841         GNULIB_defined_setlocale is set.
23842
23843 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
23844
23845         stdlib: support non-GCC __attribute__
23846
23847         Fix a serious and tricky problem encountered when attempting to
23848         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
23849         5.5, but it crashed due to memory corruption on Solaris 10 with
23850         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
23851         bits that are otherwise zero.  This tagging is optional inside
23852         Emacs but is preferred and is used when __attribute__ ((__aligned
23853         (8))) works, as it does with both recent-enough GCC and with Sun C
23854         5.11.  However, Sun C 5.11 is not GCC and does not #define
23855         __GNUC__ and __GNUC_MINOR__.
23856
23857         When I added the getloadavg module to Emacs, it brought in
23858         stdlib.in.h, which contained this fragment:
23859
23860            #ifndef __attribute__
23861            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
23862            #  define __attribute__(Spec)   /* empty */
23863            # endif
23864            #endif
23865
23866         When files that include <stdlib.h> were compiled with Sun C 5.11,
23867         the above code disabled __attribute__ ((__aligned (8))), which
23868         caused variables to not be properly aligned, which eventually led
23869         to the pointer corruption mentioned above.  (This was a bit hard
23870         to diagnose, unfortunately.)
23871
23872         Several "#define __attribute__(X) /* empty */" code snippets need
23873         to be eradicated from Gnulib to work with non-GCC compilers that
23874         support __attribute__.  The Autoconf way to do this is to test for
23875         each kind of attribute that we want support for, and selectively
23876         enable that in source code.
23877
23878         Fix this problem just for stdlib.h, by adding a test for the
23879         __noreturn__ attribute, and change stdlib.in.h to use that test
23880         when needed.  This technique can be easily generalized to the
23881         other *.in.h files and attributes, and a similar technique can be
23882         used for *.h and *.c files.  This patch is enough to solve the
23883         problem for Emacs + getloadavg, and I thought I'd publish it for
23884         feedback before undertaking further, similar fixes in other
23885         modules.
23886
23887         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
23888         because it's not needed for stdlib.h.  It merely substitutes the
23889         value directly into stdlib.h.  We may well need to #define it, or
23890         similar symbols, for other modules, but it's nice to also have an
23891         option to not #define it for applications like Emacs that do not
23892         need it.
23893
23894         * lib/stdlib.in.h (__attribute__): Do not #define.
23895         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
23896         be defined only if the _Exit module is also used.
23897         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
23898         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
23899         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
23900         platforms.
23901         * modules/_Exit (Files): Add m4/attribute.m4.
23902         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
23903         * m4/attribute.m4: New file.
23904
23905 2011-02-12  Bruno Haible  <bruno@clisp.org>
23906
23907         wcsrtombs: Work around bug on native Windows.
23908         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
23909         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
23910         instead of len.
23911         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
23912
23913 2011-02-12  Bruno Haible  <bruno@clisp.org>
23914
23915         mbsrtowcs: Work around bug on native Windows.
23916         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
23917         against mingw bug.
23918         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
23919
23920 2011-02-12  Bruno Haible  <bruno@clisp.org>
23921
23922         Avoid setlocale bugs in tests.
23923         * modules/btowc (Dependencies): Add setlocale.
23924         * modules/c-strcase (Dependencies): Likewise.
23925         * modules/mbmemcasecmp (Dependencies): Likewise.
23926         * modules/mbmemcasecoll (Dependencies): Likewise.
23927         * modules/mbrtowc (Dependencies): Likewise.
23928         * modules/mbscasecmp (Dependencies): Likewise.
23929         * modules/mbscasestr (Dependencies): Likewise.
23930         * modules/mbschr (Dependencies): Likewise.
23931         * modules/mbscspn (Dependencies): Likewise.
23932         * modules/mbsinit (Dependencies): Likewise.
23933         * modules/mbsncasecmp (Dependencies): Likewise.
23934         * modules/mbsnrtowcs (Dependencies): Likewise.
23935         * modules/mbspbrk (Dependencies): Likewise.
23936         * modules/mbspcasecmp (Dependencies): Likewise.
23937         * modules/mbsrchr (Dependencies): Likewise.
23938         * modules/mbsrtowcs (Dependencies): Likewise.
23939         * modules/mbsspn (Dependencies): Likewise.
23940         * modules/mbsstr (Dependencies): Likewise.
23941         * modules/nl_langinfo (Dependencies): Likewise.
23942         * modules/quotearg (Dependencies): Likewise.
23943         * modules/unicase/locale-language (Dependencies): Likewise.
23944         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
23945         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
23946         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
23947         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
23948         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
23949         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
23950         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
23951         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
23952         * modules/vasnprintf-posix (Dependencies): Likewise.
23953         * modules/wcrtomb (Dependencies): Likewise.
23954         * modules/wcsnrtombs (Dependencies): Likewise.
23955         * modules/wcsrtombs (Dependencies): Likewise.
23956
23957 2011-02-12  Bruno Haible  <bruno@clisp.org>
23958
23959         setlocale: Workaround native Windows bug.
23960         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
23961         succeeds but sets LC_CTYPE to "C", report a failure.
23962         * tests/test-setlocale2.sh: New file.
23963         * tests/test-setlocale2.c: New file.
23964         * modules/setlocale-tests (Files): Add the new files.
23965         (Makefile.am): Enable test-setlocale2.sh test.
23966         * doc/posix-functions/setlocale.texi: Mention workaround.
23967
23968 2011-02-11  Bruno Haible  <bruno@clisp.org>
23969
23970         Tests for module 'setlocale'.
23971         * modules/setlocale-tests: New file.
23972         * tests/test-setlocale1.sh: New file.
23973         * tests/test-setlocale1.c: New file.
23974
23975         New module 'setlocale'.
23976         * lib/locale.in.h (setlocale): New declaration.
23977         * lib/setlocale.c: New file, based on
23978         gettext/gettext-runtime/intl/setlocale.c.
23979         * m4/setlocale.m4: New file.
23980         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
23981         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
23982         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
23983         REPLACE_SETLOCALE.
23984         * modules/setlocale: New file.
23985         * tests/test-locale-c++.cc: Test the declaration of setlocale.
23986         * doc/posix-functions/setlocale.texi: Mention the new module.
23987
23988 2011-02-11  Bruno Haible  <bruno@clisp.org>
23989
23990         Prepare for locale dependent tests on mingw.
23991         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
23992         because it has the wrong locale encoding.
23993         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
23994         French_France.1252 instead of "fr".
23995         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
23996         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
23997         because it has the wrong locale encoding.
23998         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
23999         native Windows, try Turkish_Turkey.65001.
24000         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
24001         Chinese_China.54936.
24002
24003         Prepare for locale dependent tests on mingw.
24004         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
24005         differently.
24006         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
24007         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
24008         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
24009         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
24010
24011 2011-02-11  Eric Blake  <eblake@redhat.com>
24012
24013         strptime: avoid compiler warnings
24014         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
24015         compiler warnings about dead code.
24016         Reported by Daniel P. Berrange.
24017
24018 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
24019
24020         doc: update users.txt
24021         * users.txt: Add rcs.
24022
24023 2011-02-10  John W. Eaton  <jwe@gnu.org>
24024
24025         doc: update users.txt
24026         * users.txt: Add octave.
24027
24028 2011-02-10  Jim Meyering  <meyering@redhat.com>
24029
24030         doc: update users.txt
24031         * users.txt: Add iwhd.
24032
24033 2011-02-09  Bruno Haible  <bruno@clisp.org>
24034
24035         gnulib-tool: Make copyright notice adjustment more robust.
24036         * gnulib-tool (func_import): In sed_transform_main_lib_file,
24037         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
24038         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
24039         License".
24040         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
24041
24042 2011-02-06  Bruno Haible  <bruno@clisp.org>
24043
24044         New module 'towctrans'.
24045         * modules/towctrans: New file.
24046         * lib/wctype.in.h (towctrans): New declaration.
24047         * lib/towctrans.c: New file.
24048         * lib/towctrans-impl.h: New file.
24049         * m4/towctrans.m4: New file.
24050         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
24051         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
24052         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
24053         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
24054         * doc/posix-functions/towctrans.texi: Mention the new module.
24055
24056 2011-02-06  Bruno Haible  <bruno@clisp.org>
24057
24058         New module 'wctrans'.
24059         * modules/wctrans: New file.
24060         * lib/wctype.in.h (wctrans): New declaration.
24061         * lib/wctrans.c: New file.
24062         * lib/wctrans-impl.h: New file.
24063         * m4/wctrans.m4: New file.
24064         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
24065         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
24066         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
24067         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
24068         * doc/posix-functions/wctrans.texi: Mention the new module.
24069
24070 2011-02-06  Bruno Haible  <bruno@clisp.org>
24071
24072         New module 'iswctype'.
24073         * modules/iswctype: New file.
24074         * lib/wctype.in.h (iswctype): New declaration.
24075         * lib/iswctype.c: New file.
24076         * lib/iswctype-impl.h: New file.
24077         * m4/iswctype.m4: New file.
24078         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
24079         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
24080         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
24081         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
24082         * doc/posix-functions/iswctype.texi: Mention the new module and the
24083         HP-UX 11.00 problem.
24084
24085 2011-02-06  Bruno Haible  <bruno@clisp.org>
24086
24087         New module 'wctype'.
24088         * modules/wctype: Change to represent the wctype() substitute.
24089         * lib/wctype.in.h (wctype): New declaration.
24090         * lib/wctype.c: New file.
24091         * lib/wctype-impl.h: New file.
24092         * m4/wctype.m4: New file.
24093         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
24094         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
24095         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
24096         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
24097         * doc/posix-functions/wctype.texi: Mention the new module and the
24098         HP-UX 11.00 problem.
24099
24100 2011-02-06  Bruno Haible  <bruno@clisp.org>
24101
24102         wctype-h: Ensure wctype_t and wctrans_t are defined.
24103         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
24104         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24105         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24106         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
24107         HAVE_WCTRANS_T.
24108         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
24109
24110 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
24111
24112         flock: fix license typo
24113
24114         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
24115         omitted.
24116
24117 2011-02-08  Bruno Haible  <bruno@clisp.org>
24118
24119         Split large sed scripts, for HP-UX sed.
24120         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
24121         to avoid HP-UX limit of 99 commands, in the near future.
24122         * modules/stdlib (Makefile.am): Likewise.
24123         * modules/unistd (Makefile.am): Likewise.
24124         * modules/wchar (Makefile.am): Likewise.
24125         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24126         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
24127         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
24128
24129 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24130             Bruno Haible  <bruno@clisp.org>
24131
24132         stdlib: improve random_r modularization
24133         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
24134         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
24135         you also need the random_r module to get this material right.
24136         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
24137         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
24138         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
24139
24140 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24141
24142         stdlib: don't depend on stdint
24143         * lib/stdlib.in.h: Don't include <stdint.h> merely because
24144         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
24145         be independent of whether stdint.h is needed.
24146         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
24147         here, instead of ...
24148         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
24149         struct random_data should be using the random_r module, not just
24150         the stdlib module (which wouldn't make sense: what package needs
24151         just struct random_data without also needing random_r?).
24152         * modules/stdlib (Depends-on): Remove stdint.
24153
24154         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
24155         See the thread rooted at
24156         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
24157         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
24158         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
24159         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
24160         __VMS)); previously it was always included (via fcntl--.h).
24161         (getloadavg): Do not use c_strtod.  Instead, approximate it by
24162         hand; this is good enough for load averages.  Also, do not use
24163         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
24164         flags directly if available and don't bother otherwise.  (Packages
24165         that need the extra reliability should use the modules that define
24166         these flags on older platforms that lack them.)
24167         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
24168         fcntl-safer.
24169
24170 2011-02-08  Jim Meyering  <meyering@redhat.com>
24171
24172         di-set.h, ino-map.h: add multiple-inclusion guard
24173         Technically, the guard is required only for ino-map.h, due to its
24174         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
24175         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
24176         * lib/ino-map.h: Likewise.
24177
24178 2011-02-06  Bruno Haible  <bruno@clisp.org>
24179
24180         iswblank: Ensure declaration on glibc systems.
24181         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
24182         * modules/iswblank (Dependencies): Add 'extensions'.
24183         * doc/posix-functions/iswblank.texi: Document the glibc problem.
24184
24185 2011-02-06  Bruno Haible  <bruno@clisp.org>
24186
24187         New module 'iswblank'.
24188         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
24189         * modules/iswblank: New file.
24190         * modules/wctype-h (Files): Remove lib/iswblank.c.
24191         (Makefile.am): Substitute GNULIB_ISWBLANK.
24192         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
24193         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
24194         (gl_WCTYPE_H_DEFAULTS): New macro.
24195         (gl_WCTYPE_H): Require it. Remove iswblank related code.
24196         * modules/iswblank-tests: New file.
24197         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
24198         * tests/test-wctype-h.c (main): Remove iswblank tests.
24199         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
24200         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
24201         of 'wctype-h'.
24202         * NEWS: Mention the change.
24203         * modules/mbchar (Depends-on): Add iswblank.
24204
24205 2011-02-08  Bruno Haible  <bruno@clisp.org>
24206
24207         di-set tests: Refactor.
24208         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
24209         unnecessary includes.
24210         (ASSERT): Remove macro.
24211         (main): Make C90 compliant by avoiding variable declaration after
24212         statement.
24213         * modules/di-set-tests (Files): Add tests/macros.h.
24214
24215 2011-02-08  Bruno Haible  <bruno@clisp.org>
24216
24217         ino-map tests: Refactor.
24218         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
24219         unnecessary includes.
24220         (ASSERT): Remove macro.
24221         (main): Make C90 compliant by avoiding variable declaration after
24222         statement.
24223         * modules/ino-map-tests (Files): Add tests/macros.h.
24224
24225 2011-02-08  Jim Meyering  <meyering@redhat.com>
24226
24227         di-set: add "const" to a cast
24228         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
24229         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
24230
24231 2011-02-06  Bruno Haible  <bruno@clisp.org>
24232
24233         Rename module 'wctype' to 'wctype-h'.
24234         * modules/wctype-h: Renamed from modules/wctype.
24235         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
24236         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
24237         (Files, Depends-on, Makefile.am): Update.
24238         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
24239         (Files, Makefile.am): Update.
24240         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
24241         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
24242         * doc/posix-headers/wctype.texi: Update.
24243         * doc/posix-functions/iswalnum.texi: Update.
24244         * doc/posix-functions/iswalpha.texi: Update.
24245         * doc/posix-functions/iswblank.texi: Update.
24246         * doc/posix-functions/iswcntrl.texi: Update.
24247         * doc/posix-functions/iswdigit.texi: Update.
24248         * doc/posix-functions/iswgraph.texi: Update.
24249         * doc/posix-functions/iswlower.texi: Update.
24250         * doc/posix-functions/iswprint.texi: Update.
24251         * doc/posix-functions/iswpunct.texi: Update.
24252         * doc/posix-functions/iswspace.texi: Update.
24253         * doc/posix-functions/iswupper.texi: Update.
24254         * doc/posix-functions/iswxdigit.texi: Update.
24255         * doc/posix-functions/towlower.texi: Update.
24256         * doc/posix-functions/towupper.texi: Update.
24257         * NEWS: Mention the change.
24258         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
24259         * modules/mbchar (Dependencies): Likewise.
24260         * modules/mbswidth (Dependencies): Likewise.
24261         * modules/quotearg (Dependencies): Likewise.
24262         * modules/regex (Dependencies): Likewise.
24263         * modules/wcscasecmp (Dependencies): Likewise.
24264         * modules/wcsncasecmp (Dependencies): Likewise.
24265         * modules/wcwidth (Dependencies): Likewise.
24266
24267 2011-02-06  Bruno Haible  <bruno@clisp.org>
24268
24269         New module 'wcswidth'.
24270         * modules/wcswidth: New file.
24271         * lib/wchar.in.h (wcswidth): New declaration.
24272         * lib/wcswidth.c: New file.
24273         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
24274         * m4/wcswidth.m4: New file.
24275         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
24276         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
24277         REPLACE_WCSWIDTH.
24278         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
24279         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
24280         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
24281         * doc/posix-functions/wcswidth.texi: Mention the new module.
24282
24283 2011-02-06  Bruno Haible  <bruno@clisp.org>
24284
24285         New module 'wcstok'.
24286         * modules/wcstok: New file.
24287         * lib/wchar.in.h (wcstok): New declaration.
24288         * lib/wcstok.c: New file.
24289         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
24290         * m4/wcstok.m4: New file.
24291         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
24292         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
24293         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
24294         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
24295         * doc/posix-functions/wcstok.texi: Mention the new module.
24296
24297 2011-02-06  Bruno Haible  <bruno@clisp.org>
24298
24299         New module 'wcsstr'.
24300         * modules/wcsstr: New file.
24301         * lib/wchar.in.h (wcsstr): New declaration.
24302         * lib/wcsstr.c: New file.
24303         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
24304         * m4/wcsstr.m4: New file.
24305         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
24306         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
24307         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
24308         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
24309         * doc/posix-functions/wcsstr.texi: Mention the new module.
24310
24311 2011-02-06  Bruno Haible  <bruno@clisp.org>
24312
24313         New module 'wcspbrk'.
24314         * modules/wcspbrk: New file.
24315         * lib/wchar.in.h (wcspbrk): New declaration.
24316         * lib/wcspbrk.c: New file.
24317         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
24318         * m4/wcspbrk.m4: New file.
24319         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
24320         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
24321         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
24322         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
24323         * doc/posix-functions/wcspbrk.texi: Mention the new module.
24324
24325 2011-02-06  Bruno Haible  <bruno@clisp.org>
24326
24327         New module 'wcsspn'.
24328         * modules/wcsspn: New file.
24329         * lib/wchar.in.h (wcsspn): New declaration.
24330         * lib/wcsspn.c: New file.
24331         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
24332         * m4/wcsspn.m4: New file.
24333         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
24334         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
24335         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
24336         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
24337         * doc/posix-functions/wcsspn.texi: Mention the new module.
24338
24339 2011-02-06  Bruno Haible  <bruno@clisp.org>
24340
24341         New module 'wcscspn'.
24342         * modules/wcscspn: New file.
24343         * lib/wchar.in.h (wcscspn): New declaration.
24344         * lib/wcscspn.c: New file.
24345         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
24346         * m4/wcscspn.m4: New file.
24347         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
24348         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
24349         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
24350         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
24351         * doc/posix-functions/wcscspn.texi: Mention the new module.
24352
24353 2011-02-06  Bruno Haible  <bruno@clisp.org>
24354
24355         New module 'wcsrchr'.
24356         * modules/wcsrchr: New file.
24357         * lib/wchar.in.h (wcsrchr): New declaration.
24358         * lib/wcsrchr.c: New file.
24359         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
24360         * m4/wcsrchr.m4: New file.
24361         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
24362         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
24363         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
24364         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
24365         * doc/posix-functions/wcsrchr.texi: Mention the new module.
24366
24367 2011-02-06  Bruno Haible  <bruno@clisp.org>
24368
24369         New module 'wcschr'.
24370         * modules/wcschr: New file.
24371         * lib/wchar.in.h (wcschr): New declaration.
24372         * lib/wcschr.c: New file.
24373         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
24374         * m4/wcschr.m4: New file.
24375         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
24376         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
24377         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
24378         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
24379         * doc/posix-functions/wcschr.texi: Mention the new module.
24380
24381 2011-02-06  Bruno Haible  <bruno@clisp.org>
24382
24383         New module 'wcsdup'.
24384         * modules/wcsdup: New file.
24385         * lib/wchar.in.h (wcsdup): New declaration.
24386         * lib/wcsdup.c: New file.
24387         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
24388         * m4/wcsdup.m4: New file.
24389         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
24390         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
24391         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
24392         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
24393         * doc/posix-functions/wcsdup.texi: Mention the new module.
24394
24395 2011-02-06  Bruno Haible  <bruno@clisp.org>
24396
24397         New module 'wcsxfrm'.
24398         * modules/wcsxfrm: New file.
24399         * lib/wchar.in.h (wcsxfrm): New declaration.
24400         * lib/wcsxfrm.c: New file.
24401         * lib/wcsxfrm-impl.h: New file.
24402         * m4/wcsxfrm.m4: New file.
24403         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
24404         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
24405         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
24406         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
24407         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
24408
24409 2011-02-06  Bruno Haible  <bruno@clisp.org>
24410
24411         New module 'wcscoll'.
24412         * modules/wcscoll: New file.
24413         * lib/wchar.in.h (wcscoll): New declaration.
24414         * lib/wcscoll.c: New file.
24415         * lib/wcscoll-impl.h: New file.
24416         * m4/wcscoll.m4: New file.
24417         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
24418         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
24419         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
24420         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
24421         * doc/posix-functions/wcscoll.texi: Mention the new module.
24422
24423 2011-02-06  Bruno Haible  <bruno@clisp.org>
24424
24425         New module 'wcsncasecmp'.
24426         * modules/wcsncasecmp: New file.
24427         * lib/wchar.in.h (wcsncasecmp): New declaration.
24428         * lib/wcsncasecmp.c: New file.
24429         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
24430         * m4/wcsncasecmp.m4: New file.
24431         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
24432         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
24433         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
24434         HAVE_WCSNCASECMP.
24435         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
24436         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
24437
24438 2011-02-06  Bruno Haible  <bruno@clisp.org>
24439
24440         New module 'wcscasecmp'.
24441         * modules/wcscasecmp: New file.
24442         * lib/wchar.in.h (wcscasecmp): New declaration.
24443         * lib/wcscasecmp.c: New file.
24444         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
24445         * m4/wcscasecmp.m4: New file.
24446         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
24447         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
24448         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
24449         HAVE_WCSCASECMP.
24450         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
24451         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
24452
24453 2011-02-05  Bruno Haible  <bruno@clisp.org>
24454
24455         New module 'wcsncmp'.
24456         * modules/wcsncmp: New file.
24457         * lib/wchar.in.h (wcsncmp): New declaration.
24458         * lib/wcsncmp.c: New file.
24459         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
24460         * m4/wcsncmp.m4: New file.
24461         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
24462         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
24463         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
24464         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
24465         * doc/posix-functions/wcsncmp.texi: Mention the new module.
24466
24467 2011-02-05  Bruno Haible  <bruno@clisp.org>
24468
24469         New module 'wcscmp'.
24470         * modules/wcscmp: New file.
24471         * lib/wchar.in.h (wcscmp): New declaration.
24472         * lib/wcscmp.c: New file.
24473         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
24474         * m4/wcscmp.m4: New file.
24475         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
24476         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
24477         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
24478         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
24479         * doc/posix-functions/wcscmp.texi: Mention the new module.
24480
24481 2011-02-05  Bruno Haible  <bruno@clisp.org>
24482
24483         New module 'wcsncat'.
24484         * modules/wcsncat: New file.
24485         * lib/wchar.in.h (wcsncat): New declaration.
24486         * lib/wcsncat.c: New file.
24487         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
24488         * m4/wcsncat.m4: New file.
24489         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
24490         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
24491         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
24492         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
24493         * doc/posix-functions/wcsncat.texi: Mention the new module.
24494
24495 2011-02-05  Bruno Haible  <bruno@clisp.org>
24496
24497         New module 'wcscat'.
24498         * modules/wcscat: New file.
24499         * lib/wchar.in.h (wcscat): New declaration.
24500         * lib/wcscat.c: New file.
24501         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
24502         * m4/wcscat.m4: New file.
24503         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
24504         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
24505         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
24506         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
24507         * doc/posix-functions/wcscat.texi: Mention the new module.
24508
24509 2011-02-05  Bruno Haible  <bruno@clisp.org>
24510
24511         New module 'wcpncpy'.
24512         * modules/wcpncpy: New file.
24513         * lib/wchar.in.h (wcpncpy): New declaration.
24514         * lib/wcpncpy.c: New file.
24515         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
24516         * m4/wcpncpy.m4: New file.
24517         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
24518         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
24519         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
24520         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
24521         * doc/posix-functions/wcpncpy.texi: Mention the new module.
24522
24523 2011-02-05  Bruno Haible  <bruno@clisp.org>
24524
24525         New module 'wcsncpy'.
24526         * modules/wcsncpy: New file.
24527         * lib/wchar.in.h (wcsncpy): New declaration.
24528         * lib/wcsncpy.c: New file.
24529         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
24530         * m4/wcsncpy.m4: New file.
24531         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
24532         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
24533         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
24534         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
24535         * doc/posix-functions/wcsncpy.texi: Mention the new module.
24536
24537 2011-02-05  Bruno Haible  <bruno@clisp.org>
24538
24539         New module 'wcpcpy'.
24540         * modules/wcpcpy: New file.
24541         * lib/wchar.in.h (wcpcpy): New declaration.
24542         * lib/wcpcpy.c: New file.
24543         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
24544         * m4/wcpcpy.m4: New file.
24545         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
24546         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
24547         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
24548         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
24549         * doc/posix-functions/wcpcpy.texi: Mention the new module.
24550
24551 2011-02-05  Bruno Haible  <bruno@clisp.org>
24552
24553         New module 'wcscpy'.
24554         * modules/wcscpy: New file.
24555         * lib/wchar.in.h (wcscpy): New declaration.
24556         * lib/wcscpy.c: New file.
24557         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
24558         * m4/wcscpy.m4: New file.
24559         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
24560         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
24561         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
24562         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
24563         * doc/posix-functions/wcscpy.texi: Mention the new module.
24564
24565 2011-02-05  Bruno Haible  <bruno@clisp.org>
24566
24567         New module 'wcsnlen'.
24568         * modules/wcsnlen: New file.
24569         * lib/wchar.in.h (wcsnlen): New declaration.
24570         * lib/wcsnlen.c: New file.
24571         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
24572         * m4/wcsnlen.m4: New file.
24573         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
24574         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
24575         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
24576         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
24577         * doc/posix-functions/wcsnlen.texi: Mention the new module.
24578
24579 2011-02-05  Bruno Haible  <bruno@clisp.org>
24580
24581         New module 'wcslen'.
24582         * modules/wcslen: New file.
24583         * lib/wchar.in.h (wcslen): New declaration.
24584         * lib/wcslen.c: New file.
24585         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
24586         * m4/wcslen.m4: New file.
24587         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
24588         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
24589         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
24590         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
24591         * doc/posix-functions/wcslen.texi: Mention the new module.
24592
24593 2011-02-05  Bruno Haible  <bruno@clisp.org>
24594
24595         New module 'wmemset'.
24596         * modules/wmemset: New file.
24597         * lib/wchar.in.h (wmemset): New declaration.
24598         * lib/wmemset.c: New file.
24599         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
24600         * m4/wmemset.m4: New file.
24601         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
24602         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
24603         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
24604         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
24605         * doc/posix-functions/wmemset.texi: Mention the new module.
24606
24607 2011-02-05  Bruno Haible  <bruno@clisp.org>
24608
24609         New module 'wmemmove'.
24610         * modules/wmemmove: New file.
24611         * lib/wchar.in.h (wmemmove): New declaration.
24612         * lib/wmemmove.c: New file.
24613         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
24614         * m4/wmemmove.m4: New file.
24615         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
24616         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
24617         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
24618         HAVE_WMEMMOVE.
24619         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
24620         * doc/posix-functions/wmemmove.texi: Mention the new module.
24621
24622 2011-02-05  Bruno Haible  <bruno@clisp.org>
24623
24624         New module 'wmemcpy'.
24625         * modules/wmemcpy: New file.
24626         * lib/wchar.in.h (wmemcpy): New declaration.
24627         * lib/wmemcpy.c: New file.
24628         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
24629         * m4/wmemcpy.m4: New file.
24630         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
24631         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
24632         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
24633         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
24634         * doc/posix-functions/wmemcpy.texi: Mention the new module.
24635
24636 2011-02-05  Bruno Haible  <bruno@clisp.org>
24637
24638         New module 'wmemcmp'.
24639         * modules/wmemcmp: New file.
24640         * lib/wchar.in.h (wmemcmp): New declaration.
24641         * lib/wmemcmp.c: New file.
24642         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
24643         * m4/wmemcmp.m4: New file.
24644         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
24645         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
24646         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
24647         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
24648         * doc/posix-functions/wmemcmp.texi: Mention the new module.
24649
24650 2011-02-07  Jim Meyering  <meyering@redhat.com>
24651
24652         di-set, ino-map: new modules, from coreutils
24653         * lib/di-set.c: New file.
24654         * lib/di-set.h: Likewise.
24655         * lib/ino-map.c: Likewise.
24656         * lib/ino-map.h: Likewise.
24657         * modules/di-set: Likewise.
24658         * modules/di-set-tests: Likewise.
24659         * modules/ino-map: Likewise.
24660         * modules/ino-map-tests: Likewise.
24661         * tests/test-di-set.c: Likewise.
24662         * tests/test-ino-map.c: Likewise.
24663
24664 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
24665
24666         getloadavg: merge minor changes from Emacs
24667
24668         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
24669         (getloadavg): Use memset, not bzero.
24670
24671         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
24672         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
24673         clash (bug#86).
24674
24675 2010-11-14  Bruno Haible  <bruno@clisp.org>
24676
24677         Allow multiple gnulib generated replacements to coexist.
24678         * lib/getopt.in.h (struct option): Avoid identical redefinition.
24679         * lib/inttypes.in.h (imaxdiv_t): Likewise.
24680         * lib/langinfo.in.h (nl_item): Likewise.
24681         * lib/math.in.h (_NaN, NAN): Likewise.
24682         * lib/netdb.in.h (struct addrinfo): Likewise.
24683         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
24684         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
24685         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
24686         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
24687         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
24688         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
24689         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
24690         pthread_mutexattr_init, pthread_mutexattr_settype,
24691         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
24692         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
24693         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
24694         pthread_spin_trylock, pthread_spin_unlock): Likewise.
24695         * lib/sched.in.h (struct sched_param): Likewise.
24696         * lib/se-selinux.in.h (security_class_t, security_context_t,
24697         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
24698         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
24699         lsetfilecon, fsetfilecon, security_check_context,
24700         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
24701         Likewise.
24702         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
24703         Likewise.
24704         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
24705         _gl_function_taking_int_returning_void_t, union sigval,
24706         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
24707         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
24708         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
24709         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
24710         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
24711         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
24712         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
24713         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
24714         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
24715         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
24716         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
24717         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
24718         socklen_t, rpl_fd_isset): Likewise.
24719         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
24720         * lib/sys_time.in.h (struct timeval): Likewise.
24721         * lib/sys_times.in.h (struct tms): Likewise.
24722         * lib/sys_utsname.in.h (struct utsname):
24723         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
24724         * lib/unistd.in.h (getpagesize): Likewise.
24725         * lib/wchar.in.h (mbstate_t): Likewise.
24726         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
24727         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
24728         towlower, towupper): Likewise.
24729         Reported by Sam Steingold <sds@gnu.org>.
24730
24731 2011-02-05  Eric Blake  <eblake@redhat.com>
24732
24733         unsetenv: work around Haiku issues
24734         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
24735         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
24736
24737 2010-12-30  Bruce Korb  <bkorb@gnu.org>
24738
24739         libposix: avoid calling error() within libposix
24740         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
24741         is defined.
24742
24743 2011-02-05  Eric Blake  <eblake@redhat.com>
24744
24745         strerror_r-posix: port to cygwin
24746         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
24747         implementation.
24748         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
24749         * tests/test-strerror_r.c (main): Fix test.
24750         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
24751         issue.
24752
24753 2011-02-05  Bruno Haible  <bruno@clisp.org>
24754
24755         New module 'wmemchr'.
24756         * modules/wmemchr: New file.
24757         * lib/wchar.in.h (wmemchr): New declaration.
24758         * lib/wmemchr.c: New file.
24759         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
24760         * m4/wmemchr.m4: New file.
24761         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
24762         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
24763         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
24764         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
24765         * doc/posix-functions/wmemchr.texi: Mention the new module.
24766
24767 2011-02-04  Eric Blake  <eblake@redhat.com>
24768
24769         fdopendir: detect FreeBSD bug
24770         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
24771         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
24772
24773 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
24774
24775         stdbool: do not define HAVE_STDBOOL_H
24776         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
24777         AC_HEADER_STDBOOL.  All uses changed.  Do not define
24778         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
24779         imported from the latest Autoconf git.  It was motivated by Emacs,
24780         which uses gnulib but does not need HAVE_STDBOOL_H.
24781
24782 2011-02-04  Bruno Haible  <bruno@clisp.org>
24783
24784         wcsnrtombs: Prepare for new module wwcsnrtombs.
24785         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
24786         * lib/wcsnrtombs.c: Include it.
24787         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
24788
24789         wcsrtombs: Prepare for new module wwcsrtombs.
24790         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
24791         * lib/wcsrtombs.c: Include it.
24792         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
24793
24794         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
24795         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
24796         * lib/mbsnrtowcs.c: Include it.
24797         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
24798
24799         mbsrtowcs: Prepare for new module mbsrtowwcs.
24800         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
24801         * lib/mbsrtowcs.c: Include it.
24802         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
24803
24804 2011-02-04  Bruno Haible  <bruno@clisp.org>
24805
24806         vasnprintf: Reduce use of malloc for small format strings.
24807         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
24808         (arguments): Add room for the first 7 arguments.
24809         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
24810         (char_directives, u8_directives, u16_directives, u32_directives): Add
24811         room for the first 7 directives.
24812         * lib/printf-parse.c: Include <string.h>.
24813         (PRINTF_PARSE): Change memory handling code so that it uses the first
24814         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
24815         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
24816         Reported by Pádraig Brady <P@draigbrady.com>.
24817
24818 2011-01-31  Eric Blake  <eblake@redhat.com>
24819
24820         dup2: work around Haiku bug
24821         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
24822         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
24823         * doc/posix-functions/dup2.texi (dup2): Document the bug.
24824         * tests/test-dup2.c (main): Enhance test.
24825
24826 2011-01-31  Simon Josefsson  <simon@josefsson.org>
24827
24828         doc: off_t is not available in eglibc 2.11.2 stdio.h.
24829         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
24830         declared by eglibc 2.11.2.
24831         * lib/stdio.in.h: Likewise.
24832
24833 2011-01-31  Eric Blake  <eblake@redhat.com>
24834
24835         ignore-value: add missing test dependency
24836         * tests/test-ignore-value.c: Revert previous change; stdio.h
24837         provides off_t.
24838         * modules/ignore-value-tests (Depends-on): Add missing dependency.
24839
24840 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
24841
24842         mktime: clarify long_int width checking
24843         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
24844         the top level, to make it clearer that the assumption about
24845         long_int width is being checked.  See
24846         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
24847
24848 2011-01-30  Simon Josefsson  <simon@josefsson.org>
24849
24850         ignore-value: Fix self-test.
24851         * tests/test-ignore-value.c: Include sys/types.h for off_t.
24852
24853 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
24854
24855         TYPE_MAXIMUM: avoid theoretically undefined behavior
24856         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
24857         negative number, which the C Standard says has undefined behavior.
24858         In practice this is not a problem, but might as well do it by the book.
24859         Reported by Rich Felker and Eric Blake; see
24860         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
24861         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
24862         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
24863         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24864         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
24865         * m4/stdint.m4 (gl_STDINT_H): Likewise.
24866         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
24867
24868         mktime: #undef mktime before #defining it
24869         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
24870
24871         mktime: systematically normalize tm_isdst comparisons
24872         * lib/mktime.c (isdst_differ): New function.
24873         (__mktime_internal): Use it systematically for all isdst comparisons.
24874         This completes the fix for libc BZ #6723, and removes the need for
24875         normalizing tm_isdst.  See
24876         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
24877         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
24878
24879         mktime: fix some integer overflow issues and sidestep the rest
24880
24881         This was prompted by a bug report by Benjamin Lindner for MinGW
24882         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
24883         His bug is due to signed integer overflow (0 - INT_MIN), and I
24884         I scanned through mktime.c looking for other integer overflow
24885         problems, fixing all the bugs I found.
24886
24887         Although the C Standard says the resulting code is still not safe
24888         in the presence of integer overflow, in practice it should be good
24889         enough for all real-world two's-complement implementations, except
24890         for debugging environments that deliberately trap on integer
24891         overflow (e.g., gcc -ftrapv).
24892
24893         * lib/mktime.c (WRAPV): New macro.
24894         (SHR): Also check that long_int and time_t shift right in the
24895         usual way, before using the fast-but-unportable method.
24896         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
24897         used.  The code already assumed two's complement, so there's
24898         no need to test for alternatives.  All uses removed.
24899         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
24900         the C standard.  Problem reported by Rich Felker in
24901         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
24902         (twos_complement_arithmetic): Also check long_int and time_t.
24903         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
24904         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
24905         (__mktime_internal): Avoid integer overflow with unary subtraction
24906         in two instances where -1 - X is an adequate replacement for -X,
24907         since the calculations are approximate.
24908
24909 2011-01-29  Eric Blake  <eblake@redhat.com>
24910
24911         mktime: avoid infinite loop
24912         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
24913         type; behavior is still undefined but portable to all known targets.
24914         Reported by Rich Felker.
24915
24916 2011-01-29  Simon Josefsson  <simon@josefsson.org>
24917
24918         rename, unlink, same-inode: Relicense.
24919         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
24920         * modules/unlink (License): Likewise.
24921         * modules/same-inode (License): Likewise.
24922
24923 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
24924
24925         mktime: avoid problems on NetBSD 5 / i386
24926         * lib/mktime.c (long_int): New type.  This works around a problem
24927         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
24928         but time_t is 64 bits, and where I expect the existing code is
24929         wrong in some cases.
24930         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
24931         (ydhms_diff): Bring back the compile-time check for wide-enough
24932         year and yday.
24933
24934         mktime: fix misspelling in comment
24935         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
24936         This merges all recent glibc changes of importance.
24937
24938 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24939
24940         move-if-change: cope with concurrent mv of identical file.
24941         * build-aux/move-if-change (CMPPROG): Accept environment
24942         variable as an override for `cmp'.
24943         (usage): Document CMPPROG.
24944         Adjust comparison to drop stdout.  Cope with failure of mv if
24945         the target file exists and is identical to the source, for
24946         parallel builds.
24947         Report from H.J. Lu against binutils in PR binutils/12283.
24948
24949 2011-01-28  Bruce Korb  <bkorb@gnu.org>
24950
24951         * users.txt: Mention sharutils.
24952
24953 2011-01-28  Simon Josefsson  <simon@josefsson.org>
24954
24955         * users.txt: Mention OATH Toolkit.
24956
24957 2011-01-27  Bruno Haible  <bruno@clisp.org>
24958
24959         Prepare for supporting FreeBSD 10.
24960         * build-aux/config.libpath: Remove handling of freebsd1*.
24961
24962 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
24963
24964         Prepare for supporting FreeBSD 10.
24965         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
24966         match FreeBSD 10.0.
24967
24968 2011-01-27  Bruno Haible  <bruno@clisp.org>
24969
24970         vma-iter, get-rusage-as: Add OpenBSD support.
24971         * modules/vma-iter (configure.ac): Test for mquery.
24972         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
24973         * lib/vma-iter.c: Include <sys/mman.h>.
24974         (vma_iterate): Add an implementation based on mquery().
24975         * lib/resource-ext.h (get_rusage_as): Update comments.
24976         * lib/get-rusage-as.c: Likewise.
24977         * lib/get-rusage-data.c: Likewise.
24978
24979 2011-01-26  Karl Berry  <karl@gnu.org>
24980
24981         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
24982         variables to make it easier to override the makeinfo program used.
24983
24984 2011-01-26  Eric Blake  <eblake@redhat.com>
24985
24986         fcntl: work around Haiku F_DUPFD bugs
24987         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
24988         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
24989         cloexec bit on duplication.
24990         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
24991
24992 2011-01-26  Bruno Haible  <bruno@clisp.org>
24993
24994         Enable memory leak tests on AIX.
24995         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
24996         * tests/test-fprintf-posix3.c (main): Likewise.
24997
24998 2011-01-26  Bruno Haible  <bruno@clisp.org>
24999
25000         Tests for module 'get-rusage-data'.
25001         * modules/get-rusage-data-tests: New file.
25002         * tests/test-get-rusage-data.c: New file.
25003
25004         New module 'get-rusage-data'.
25005         * lib/resource-ext.h (get_rusage_data): New declaration.
25006         * lib/get-rusage-data.c: New file.
25007         * modules/get-rusage-data: New file.
25008
25009 2011-01-25  Bruno Haible  <bruno@clisp.org>
25010
25011         get-rusage-as: Allow for easier testing.
25012         * lib/resource-ext.h (get_rusage_as): Add comment.
25013         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
25014         (main): New function for interactive testing.
25015
25016 2011-01-25  Bruno Haible  <bruno@clisp.org>
25017
25018         vma-iter: Treat Haiku like BeOS.
25019         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
25020         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
25021
25022 2011-01-25  Eric Blake  <eblake@redhat.com>
25023
25024         c-stack: fix regression on cygwin when libsigsegv is present
25025         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
25026
25027 2011-01-24  Bruno Haible  <bruno@clisp.org>
25028
25029         vma-iter: Avoid empty intervals.
25030         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
25031         on an empty interval.
25032
25033 2011-01-24  Jim Meyering  <meyering@redhat.com>
25034
25035         u64: remove unnecessary #include
25036         * lib/u64.h: Don't include <stddef.h>.  It was not used.
25037
25038 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
25039
25040         Allow the user to avoid the HAVE_RAW_DECL_* macros.
25041         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
25042
25043 2011-01-23  Bruno Haible  <bruno@clisp.org>
25044
25045         New module 'vma-iter'.
25046         * lib/vma-iter.h: New file.
25047         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
25048         * modules/vma-iter: New file.
25049         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
25050         for get_rusage_as_via_iterator.
25051         (vma_iterate_callback): New function.
25052         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
25053         * modules/get-rusage-as (Depends-on): Add vma-iter.
25054
25055 2011-01-23  Bruno Haible  <bruno@clisp.org>
25056
25057         uninorm: Tweak includes.
25058         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
25059         Reported by Jim Meyering.
25060
25061 2011-01-23  Bruno Haible  <bruno@clisp.org>
25062
25063         get-rusage-as: Improve on NetBSD.
25064         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
25065         /proc, like on FreeBSD.
25066
25067 2011-01-23  Jim Meyering  <meyering@redhat.com>
25068
25069         xreadlink.h: remove unnecessary #include
25070         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
25071
25072         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
25073         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
25074
25075 2011-01-23  Bruno Haible  <bruno@clisp.org>
25076
25077         get-rusage-as: Fix bug.
25078         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
25079         original limit when aborting the first loop.
25080
25081 2011-01-23  Bruno Haible  <bruno@clisp.org>
25082
25083         wctype: Ensure valid C syntax.
25084         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
25085         unconditionally, instead of gl_NEXT_HEADERS conditionally.
25086
25087 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
25088
25089         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
25090         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
25091         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
25092         as they are needed only for configure's test case.
25093         This removes two unnecessary symbols from config.h.
25094
25095         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
25096         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
25097         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
25098         AC_CHECK_HEADERS_ONCE on a header that we also invoke
25099         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
25100         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
25101         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
25102         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
25103         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
25104         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
25105         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
25106         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25107         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25108         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25109         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
25110         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25111         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
25112         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
25113
25114 2011-01-21  Eric Blake  <eblake@redhat.com>
25115
25116         maintainer-makefile: work with older git for submodule check
25117         * top/maint.mk (public-submodule-commit): Rewrite to avoid
25118         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
25119         Reported by Matthias Bolte.
25120
25121         bootstrap: minor portability fixes
25122         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
25123         (usage): Omit leading capital and trailing . on help phrases, per
25124         GNU Coding Standards.
25125         (check_versions, top level): Prefix messages with script name.
25126
25127 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
25128
25129         bootstrap: support --no-git option
25130         * build-aux/bootstrap: Add --no-git option, to be used when
25131         --gnulib-srcdir points to the exact desired checkout.
25132
25133 2011-01-21  Eric Blake  <eblake@redhat.com>
25134
25135         strerror_r-posix: work with glibc 2.13
25136         * lib/strerror_r.c (strerror_r): Fix return type.
25137
25138 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25139             Bruno Haible  <bruno@clisp.org>
25140
25141         uN_strstr: New unit tests.
25142         * modules/unistr/u8-strstr-tests: New file.
25143         * modules/unistr/u16-strstr-tests: New file.
25144         * modules/unistr/u32-strstr-tests: New file.
25145         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
25146         * tests/unistr/test-u8-strstr.c: New file.
25147         * tests/unistr/test-u16-strstr.c: New file.
25148         * tests/unistr/test-u32-strstr.c: New file.
25149
25150 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25151             Bruno Haible  <bruno@clisp.org>
25152
25153         Make uN_strstr functions O(n) worst-case.
25154         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
25155         16-bit and 32-bit unit cases, use the unibyte algorithm from
25156         lib/mbsstr.c.
25157         * lib/unistr/u8-strstr.c: Include <string.h>.
25158         (UNIT_IS_UINT8_T): New macro.
25159         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
25160         (U_STRLEN, U_STRNLEN): New macros.
25161         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
25162         (U_STRLEN, U_STRNLEN): New macros.
25163         * modules/unistr/u8-strstr (Depends-on): Add strstr.
25164         (configure.ac): Update required libunistring version.
25165         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
25166         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
25167         malloca.
25168         (configure.ac): Update required libunistring version.
25169         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
25170         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
25171         malloca.
25172         (configure.ac): Update required libunistring version.
25173
25174 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25175             Bruno Haible  <bruno@clisp.org>
25176
25177         Prepare for faster uN_strstr functions.
25178         * lib/str-kmp.h: Support definable UNITs.
25179         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
25180         needle_len argument.
25181         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
25182         * lib/mbscasestr.c (mbscasestr): Likewise.
25183
25184 2011-01-21  Pádraig Brady <P@draigBrady.com>
25185
25186         malloca-tests: make faster by unsetting MALLOC_PERTURB_
25187         * tests/test-malloca.c (main): Unset the environment variable
25188         to greatly speed up the test.
25189         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
25190         * modules/malloca-tests: Depend on unsetenv.
25191
25192 2011-01-21  Pádraig Brady <P@draigBrady.com>
25193
25194         ignore-value: remove stdint dependency
25195         * lib/ignore-value.h: Remove <stdint.h>
25196         * modules/ignore-value: Remove stdint dependency.
25197
25198 2011-01-21  Jim Meyering  <meyering@redhat.com>
25199
25200         maint.mk: adjust variable name to be consistent with other gl_ vars
25201         * top/maint.mk (gl_public_submodule_commit): Rename the variable
25202         to be lower case.
25203
25204 2011-01-20  Jim Meyering  <meyering@redhat.com>
25205
25206         maint.mk: make "check" depend on public-submodule-commit by default
25207         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
25208
25209 2011-01-20  Bruno Haible  <bruno@clisp.org>
25210
25211         mbfile, mbiter: Complete change from 2008-12-21.
25212         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
25213         * m4/mbiter.m4 (gl_MBITER): Likewise.
25214
25215 2011-01-20  Jim Meyering  <meyering@redhat.com>
25216
25217         init.sh: insert space between each function name and "()"
25218         * tests/init.sh: Make it a little easier to see that a function's
25219         name is "warn_", and not "warn" when looking at the first part of
25220         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
25221
25222 2011-01-20  Jim Meyering  <meyering@redhat.com>
25223
25224         mountlist: clean up code formatting
25225         * lib/mountlist.c (read_file_system_list): Split a long line,
25226         correct bracing style, use NULL in place of "(struct statfs *)0",
25227         don't parenthesize return value, add spaces around "=" and after
25228         ";-in-for-stmt".
25229
25230 2011-01-14  Markus Duft <mduft@gentoo.org>
25231
25232         mountlist: add support for Interix
25233         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
25234         Apply statvfs to all entries of /dev/fs.
25235         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
25236         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
25237
25238 2011-01-20  Jim Meyering  <meyering@redhat.com>
25239
25240         maint.mk: improve the public-submodule-commit rule
25241         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
25242         to suppress printing of its commands... unless V=1.
25243         Add git submodule's --quiet option to suppress printing of e.g.,
25244         "Entering gnulib" output.
25245         "cd" into $(srcdir) before running git submodule.
25246
25247 2011-01-20  Bruno Haible  <bruno@clisp.org>
25248
25249         include_next: Fix bug introduced on 2011-01-18.
25250         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
25251         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
25252         ac_cv_header_... variable if the second argument is not 'check'.
25253         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
25254         gl_NEXT_HEADERS_INTERNAL.
25255
25256 2011-01-20  Bruno Haible  <bruno@clisp.org>
25257
25258         Allow the user to avoid the GNULIB_TEST_* macros.
25259         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
25260         Suggested by Paul Eggert.
25261
25262 2011-01-14  Jim Meyering  <meyering@redhat.com>
25263
25264         bootstrap: avoid failure when there is no .gitmodules file
25265         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
25266         has been assigned to, even when its value is the empty string.
25267         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
25268         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
25269         Reported by John W. Eaton <jwe@gnu.org>.
25270
25271 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
25272
25273         assume <ctype.h>, ..., <time.h> exist
25274         For years gnulib has been assuming the existence of the headers
25275         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
25276         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
25277         them, since they don't appear to be needed.
25278         * README (Portability guidelines): Document this.
25279         * lib/flock.c: Assume <fcntl.h> exists.
25280         * lib/regex_internal.h: Assume <locale.h> exists.
25281         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
25282         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
25283         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
25284         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
25285         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
25286         * m4/regex.m4 (gl_REGEX): Likewise.
25287         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
25288         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
25289         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
25290         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
25291         * tests/test-argp.c: Likewise.
25292         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
25293
25294         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
25295         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
25296         AA_APPLE_UNIVERSAL_BUILD.  See
25297         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
25298         * NEWS: Document this.
25299
25300 2011-01-19  Eric Blake  <eblake@redhat.com>
25301
25302         c-stack: assume stack overflow if SA_SIGINFO unsupported
25303         * lib/c-stack.c (SIGACTION_WORKS): Rename...
25304         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
25305         sigaction will work.
25306         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
25307         behavior match Linux.
25308         * tests/test-c-stack.c (main): Prefer NULL for pointers.
25309
25310         stdbool-tests: accommodate Haiku
25311         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
25312
25313         binary-io: fix O_TEXT on Haiku
25314         * modules/binary-io (Depends-on): Add fcntl-h.
25315         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
25316         than blindly undefining O_TEXT.
25317         Reported by Scott McCreary.
25318
25319 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25320
25321         include_next: do not check for standard headers like stddef.h
25322
25323         I found this problem when modifying Emacs to use gnulib.
25324         I noticed that it added HAVE_STDDEF_H to config.h, even though
25325         gnulib always assumes <stddef.h> exists as per README and this
25326         symbol is unnecessary.
25327         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
25328         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
25329         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
25330         faster for headers like stddef.h that are known to exist.
25331         (gl_CHECK_NEXT_HEADERS): Use it.
25332         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
25333         rather than gl_CHECK_NEXT_HEADERS.
25334         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
25335         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
25336
25337 2011-01-18  Eric Blake  <eblake@redhat.com>
25338
25339         ansi-c++-opt: skip C++ dependency style if C++ is unused
25340         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
25341         tests when we know C++ compilation is not desired.
25342         Reported by Scott McCreary.
25343
25344 2011-01-18  Bruno Haible  <bruno@clisp.org>
25345
25346         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
25347         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
25348         (main): Perform test also when getrlimit and setrlimit don't exist or
25349         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
25350         limiting the address space size using setrlimit, compare the address
25351         space size before and after the the test.
25352         * tests/test-dprintf-posix2.c: Likewise.
25353         * tests/test-fprintf-posix3.sh: Update skip messages.
25354         * tests/test-dprintf-posix2.sh: Likewise.
25355         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
25356         * modules/dprintf-posix-tests (Depends-on): Likewise.
25357         Reported by Bruce Korb <bkorb@gnu.org> and
25358         Gary V. Vaughan <gary@gnu.org>.
25359
25360 2011-01-18  Bruno Haible  <bruno@clisp.org>
25361
25362         get-rusage-as: Improvement for Cygwin.
25363         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
25364         areas that are merely reserved.
25365
25366 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25367
25368         strftime: remove dependencies on multibyte modules
25369
25370         strftime depended on mbrlen, mbsinit, and wchar, but these modules
25371         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
25372         only if __osf__ is defined, and I suspect OSF doesn't need these
25373         other modules.  If my guess is wrong, we'll need to come up with a
25374         variant of strftime that doesn't need the multibyte modules.
25375
25376         I discovered this problem when attempting modify Emacs to use the
25377         strftime module.  With the previous gnulib, this caused Emacs to
25378         need 31 new files, ranging from lib/config.charset to
25379         m4/wint_t.m4.  This was overkill and I expect would be offputting
25380         to the Emacs maintainers.  After this change, only 6 new files are
25381         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
25382         stdbool.m4, and tm_gmtoff.m4.
25383
25384         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
25385         Suggested by Bruno Haible in
25386         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
25387         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
25388         and do not check for wchar.h.
25389         * modules/strftime (Files): Remove m4/mbstate_t.m4.
25390         (Depends-on): Remove mbrlen, mbsinit, wchar.
25391
25392 2011-01-18  Bruno Haible  <bruno@clisp.org>
25393
25394         Tests for module 'get-rusage-as'.
25395         * modules/get-rusage-as-tests: New file.
25396         * tests/test-get-rusage-as.c: New file.
25397
25398         New module 'get-rusage-as'.
25399         * modules/get-rusage-as: New file.
25400         * lib/resource-ext.h: New file.
25401         * lib/get-rusage-as.c: New file.
25402
25403 2011-01-17  Eric Blake  <eblake@redhat.com>
25404
25405         sigaction: relax license from LGPLv3+ to LGPLv2+
25406         * modules/sigaction (License): Relax to LGPLv2+.
25407
25408 2011-01-14  Bruno Haible  <bruno@clisp.org>
25409
25410         filemode: Make function declarations usable in C++ mode.
25411         * lib/filemode.h: Enclose function declarations in extern "C" block.
25412         Reported by John W. Eaton <jwe@gnu.org>.
25413
25414 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
25415
25416         save-cwd: no longer include "xgetcwd.h"
25417         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
25418         This avoids a compilation failure in projects that use save-cwd
25419         without also using the xgetcwd module.
25420
25421 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25422
25423         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
25424         This is so that a program like Emacs, which needs only dtoastr,
25425         does not have to bother with distributing and compiling ftoastr
25426         and ldtoastr.
25427         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
25428         * modules/dtoastr, modules/ldtoastr: New files.
25429         * modules/ftoastr: Now works just for 'float'.
25430         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
25431         (Makefile.am): Remove ftoastr.h (not needed and no effect),
25432         dtoastr.c, ldtoastr.c.
25433
25434 2011-01-11  Jim Meyering  <meyering@redhat.com>
25435
25436         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
25437         There is no need to work around the lack of the fchdir function,
25438         since gnulib can now provide a replacement when required.
25439         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
25440         * modules/save-cwd (Depends-on): Add fchdir.
25441
25442 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25443
25444         openat, save-cwd: avoid xmalloc
25445
25446         This removes a direct (but undocumented) dependency of openat on
25447         xalloc, along with an indirect dependency via save-cwd.  It also
25448         removes a dependency of save-cwd on xgetcwd, and thereby
25449         indirectly on xalloc.  This change causes the openat substitute
25450         to fall back on save_cwd when memory is tight, and for save_cwd to
25451         fail instead of dying when memory is tight, but that's good enough.
25452         Problem and initial idea for fix reported by Bastien Roucaries in
25453         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
25454
25455         * lib/openat-proc.c: Include stdlib.h (for malloc), not
25456         xalloc.h (for xmalloc).
25457         (openat_proc_name): Use malloc, not xmalloc.
25458         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
25459         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
25460
25461         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
25462         This avoids heap allocation for file names whose lengths are in
25463         the range 512..1023, with the upper bound increasing to at most
25464         4031 depending on the platform's PATH_MAX.  (We do not want
25465         pathmax.h here as it might supply a non-constant PATH_MAX.)
25466         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
25467         Perhaps they should be moved to malloca.h?
25468         (OPENAT_BUFFER_SIZE): Use them.
25469
25470 2011-01-10  Bruno Haible  <bruno@clisp.org>
25471
25472         doc: Update users.txt.
25473         * users.txt: Add recutils.
25474
25475 2011-01-09  Karl Berry  <karl@gnu.org>
25476
25477         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
25478
25479         * doc/configmake.texi: New file.
25480         * doc/gnulib.texi: Include it.
25481         * modules/configmake: Move documentation from here.
25482
25483 2011-01-09  Bruno Haible  <bruno@clisp.org>
25484
25485         Update to Unicode 6.0.0.
25486         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
25487         (get_lbp): Update for Unicode 6.0.0.
25488         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
25489         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
25490         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
25491         U+11001, U+11038..U+11046. Remove U+06DE.
25492         (uc_width): Fix bounds of planes.
25493         * tests/uniwidth/test-uc_width2.sh: Same updates as in
25494         lib/uniwidth/width.c.
25495         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
25496         trailing whitespace removed.
25497         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
25498         without comments, but with the original copyright notice.
25499         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
25500         * lib/unicase/ignorable.h: Likewise.
25501         * lib/unicase/tocasefold.h: Likewise.
25502         * lib/unicase/tolower.h: Likewise.
25503         * lib/unicase/totitle.h: Likewise.
25504         * lib/unicase/toupper.h: Likewise.
25505         * lib/unictype/bidi_of.h: Likewise.
25506         * lib/unictype/blocks.h: Likewise.
25507         * lib/unictype/categ_C.h: Likewise.
25508         * lib/unictype/categ_Cn.h: Likewise.
25509         * lib/unictype/categ_L.h: Likewise.
25510         * lib/unictype/categ_Ll.h: Likewise.
25511         * lib/unictype/categ_Lm.h: Likewise.
25512         * lib/unictype/categ_Lo.h: Likewise.
25513         * lib/unictype/categ_Lu.h: Likewise.
25514         * lib/unictype/categ_M.h: Likewise.
25515         * lib/unictype/categ_Mc.h: Likewise.
25516         * lib/unictype/categ_Me.h: Likewise.
25517         * lib/unictype/categ_Mn.h: Likewise.
25518         * lib/unictype/categ_N.h: Likewise.
25519         * lib/unictype/categ_Nd.h: Likewise.
25520         * lib/unictype/categ_No.h: Likewise.
25521         * lib/unictype/categ_P.h: Likewise.
25522         * lib/unictype/categ_Po.h: Likewise.
25523         * lib/unictype/categ_S.h: Likewise.
25524         * lib/unictype/categ_Sc.h: Likewise.
25525         * lib/unictype/categ_Sk.h: Likewise.
25526         * lib/unictype/categ_Sm.h: Likewise.
25527         * lib/unictype/categ_So.h: Likewise.
25528         * lib/unictype/categ_of.h: Likewise.
25529         * lib/unictype/combining.h: Likewise.
25530         * lib/unictype/ctype_alnum.h: Likewise.
25531         * lib/unictype/ctype_alpha.h: Likewise.
25532         * lib/unictype/ctype_graph.h: Likewise.
25533         * lib/unictype/ctype_lower.h: Likewise.
25534         * lib/unictype/ctype_print.h: Likewise.
25535         * lib/unictype/ctype_punct.h: Likewise.
25536         * lib/unictype/ctype_upper.h: Likewise.
25537         * lib/unictype/decdigit.h: Likewise.
25538         * lib/unictype/digit.h: Likewise.
25539         * lib/unictype/numeric.h: Likewise.
25540         * lib/unictype/pr_alphabetic.h: Likewise.
25541         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25542         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
25543         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
25544         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25545         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25546         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25547         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25548         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25549         * lib/unictype/pr_case_ignorable.h: Likewise.
25550         * lib/unictype/pr_cased.h: Likewise.
25551         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
25552         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
25553         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
25554         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
25555         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
25556         * lib/unictype/pr_combining.h: Likewise.
25557         * lib/unictype/pr_composite.h: Likewise.
25558         * lib/unictype/pr_currency_symbol.h: Likewise.
25559         * lib/unictype/pr_decimal_digit.h: Likewise.
25560         * lib/unictype/pr_deprecated.h: Likewise.
25561         * lib/unictype/pr_format_control.h: Likewise.
25562         * lib/unictype/pr_grapheme_base.h: Likewise.
25563         * lib/unictype/pr_grapheme_extend.h: Likewise.
25564         * lib/unictype/pr_grapheme_link.h: Likewise.
25565         * lib/unictype/pr_id_continue.h: Likewise.
25566         * lib/unictype/pr_id_start.h: Likewise.
25567         * lib/unictype/pr_ideographic.h: Likewise.
25568         * lib/unictype/pr_lowercase.h: Likewise.
25569         * lib/unictype/pr_math.h: Likewise.
25570         * lib/unictype/pr_numeric.h: Likewise.
25571         * lib/unictype/pr_other_alphabetic.h: Likewise.
25572         * lib/unictype/pr_other_id_continue.h: Likewise.
25573         * lib/unictype/pr_other_math.h: Likewise.
25574         * lib/unictype/pr_punctuation.h: Likewise.
25575         * lib/unictype/pr_sentence_terminal.h: Likewise.
25576         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25577         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25578         * lib/unictype/pr_unified_ideograph.h: Likewise.
25579         * lib/unictype/pr_uppercase.h: Likewise.
25580         * lib/unictype/pr_xid_continue.h: Likewise.
25581         * lib/unictype/pr_xid_start.h: Likewise.
25582         * lib/unictype/scripts.h: Likewise.
25583         * lib/unictype/scripts_byname.gperf: Likewise.
25584         * lib/unictype/sy_java_ident.h: Likewise.
25585         * lib/unigbrk/gbrkprop.h: Likewise.
25586         * lib/unilbrk/lbrkprop1.h: Likewise.
25587         * lib/unilbrk/lbrkprop2.h: Likewise.
25588         * lib/uninorm/decomposition-table2.h: Likewise.
25589         * lib/uniwbrk/wbrkprop.h: Likewise.
25590         * tests/unicase/test-cased.c: Likewise.
25591         * tests/unicase/test-ignorable.c: Likewise.
25592         * tests/unicase/test-uc_tolower.c: Likewise.
25593         * tests/unicase/test-uc_totitle.c: Likewise.
25594         * tests/unicase/test-uc_toupper.c: Likewise.
25595         * tests/unictype/test-categ_C.c: Likewise.
25596         * tests/unictype/test-categ_Cn.c: Likewise.
25597         * tests/unictype/test-categ_L.c: Likewise.
25598         * tests/unictype/test-categ_Ll.c: Likewise.
25599         * tests/unictype/test-categ_Lm.c: Likewise.
25600         * tests/unictype/test-categ_Lo.c: Likewise.
25601         * tests/unictype/test-categ_Lu.c: Likewise.
25602         * tests/unictype/test-categ_M.c: Likewise.
25603         * tests/unictype/test-categ_Mc.c: Likewise.
25604         * tests/unictype/test-categ_Me.c: Likewise.
25605         * tests/unictype/test-categ_Mn.c: Likewise.
25606         * tests/unictype/test-categ_N.c: Likewise.
25607         * tests/unictype/test-categ_Nd.c: Likewise.
25608         * tests/unictype/test-categ_No.c: Likewise.
25609         * tests/unictype/test-categ_P.c: Likewise.
25610         * tests/unictype/test-categ_Po.c: Likewise.
25611         * tests/unictype/test-categ_S.c: Likewise.
25612         * tests/unictype/test-categ_Sc.c: Likewise.
25613         * tests/unictype/test-categ_Sk.c: Likewise.
25614         * tests/unictype/test-categ_Sm.c: Likewise.
25615         * tests/unictype/test-categ_So.c: Likewise.
25616         * tests/unictype/test-ctype_alnum.c: Likewise.
25617         * tests/unictype/test-ctype_alpha.c: Likewise.
25618         * tests/unictype/test-ctype_graph.c: Likewise.
25619         * tests/unictype/test-ctype_lower.c: Likewise.
25620         * tests/unictype/test-ctype_print.c: Likewise.
25621         * tests/unictype/test-ctype_punct.c: Likewise.
25622         * tests/unictype/test-ctype_upper.c: Likewise.
25623         * tests/unictype/test-decdigit.h: Likewise.
25624         * tests/unictype/test-digit.h: Likewise.
25625         * tests/unictype/test-numeric.h: Likewise.
25626         * tests/unictype/test-pr_alphabetic.c: Likewise.
25627         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
25628         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
25629         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
25630         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
25631         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
25632         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
25633         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
25634         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
25635         * tests/unictype/test-pr_case_ignorable.c: Likewise.
25636         * tests/unictype/test-pr_cased.c: Likewise.
25637         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
25638         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
25639         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
25640         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
25641         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
25642         * tests/unictype/test-pr_combining.c: Likewise.
25643         * tests/unictype/test-pr_composite.c: Likewise.
25644         * tests/unictype/test-pr_currency_symbol.c: Likewise.
25645         * tests/unictype/test-pr_decimal_digit.c: Likewise.
25646         * tests/unictype/test-pr_deprecated.c: Likewise.
25647         * tests/unictype/test-pr_format_control.c: Likewise.
25648         * tests/unictype/test-pr_grapheme_base.c: Likewise.
25649         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
25650         * tests/unictype/test-pr_grapheme_link.c: Likewise.
25651         * tests/unictype/test-pr_id_continue.c: Likewise.
25652         * tests/unictype/test-pr_id_start.c: Likewise.
25653         * tests/unictype/test-pr_ideographic.c: Likewise.
25654         * tests/unictype/test-pr_lowercase.c: Likewise.
25655         * tests/unictype/test-pr_math.c: Likewise.
25656         * tests/unictype/test-pr_numeric.c: Likewise.
25657         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
25658         * tests/unictype/test-pr_other_id_continue.c: Likewise.
25659         * tests/unictype/test-pr_other_math.c: Likewise.
25660         * tests/unictype/test-pr_punctuation.c: Likewise.
25661         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
25662         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
25663         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
25664         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
25665         * tests/unictype/test-pr_uppercase.c: Likewise.
25666         * tests/unictype/test-pr_xid_continue.c: Likewise.
25667         * tests/unictype/test-pr_xid_start.c: Likewise.
25668         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
25669         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
25670         changes.
25671         * lib/unictype/categ_Cc.h: Likewise.
25672         * lib/unictype/categ_Cf.h: Likewise.
25673         * lib/unictype/categ_Co.h: Likewise.
25674         * lib/unictype/categ_Cs.h: Likewise.
25675         * lib/unictype/categ_Lt.h: Likewise.
25676         * lib/unictype/categ_Nl.h: Likewise.
25677         * lib/unictype/categ_Pc.h: Likewise.
25678         * lib/unictype/categ_Pd.h: Likewise.
25679         * lib/unictype/categ_Pe.h: Likewise.
25680         * lib/unictype/categ_Pf.h: Likewise.
25681         * lib/unictype/categ_Pi.h: Likewise.
25682         * lib/unictype/categ_Ps.h: Likewise.
25683         * lib/unictype/categ_Z.h: Likewise.
25684         * lib/unictype/categ_Zl.h: Likewise.
25685         * lib/unictype/categ_Zp.h: Likewise.
25686         * lib/unictype/categ_Zs.h: Likewise.
25687         * lib/unictype/ctype_blank.h: Likewise.
25688         * lib/unictype/ctype_cntrl.h: Likewise.
25689         * lib/unictype/ctype_digit.h: Likewise.
25690         * lib/unictype/ctype_space.h: Likewise.
25691         * lib/unictype/ctype_xdigit.h: Likewise.
25692         * lib/unictype/mirror.h: Likewise.
25693         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
25694         * lib/unictype/pr_bidi_block_separator.h: Likewise.
25695         * lib/unictype/pr_bidi_common_separator.h: Likewise.
25696         * lib/unictype/pr_bidi_control.h: Likewise.
25697         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
25698         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
25699         * lib/unictype/pr_bidi_european_digit.h: Likewise.
25700         * lib/unictype/pr_bidi_pdf.h: Likewise.
25701         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
25702         * lib/unictype/pr_bidi_whitespace.h: Likewise.
25703         * lib/unictype/pr_dash.h: Likewise.
25704         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
25705         * lib/unictype/pr_diacritic.h: Likewise.
25706         * lib/unictype/pr_extender.h: Likewise.
25707         * lib/unictype/pr_hex_digit.h: Likewise.
25708         * lib/unictype/pr_hyphen.h: Likewise.
25709         * lib/unictype/pr_ids_binary_operator.h: Likewise.
25710         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
25711         * lib/unictype/pr_ignorable_control.h: Likewise.
25712         * lib/unictype/pr_iso_control.h: Likewise.
25713         * lib/unictype/pr_join_control.h: Likewise.
25714         * lib/unictype/pr_left_of_pair.h: Likewise.
25715         * lib/unictype/pr_line_separator.h: Likewise.
25716         * lib/unictype/pr_logical_order_exception.h: Likewise.
25717         * lib/unictype/pr_non_break.h: Likewise.
25718         * lib/unictype/pr_not_a_character.h: Likewise.
25719         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
25720         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
25721         * lib/unictype/pr_other_id_start.h: Likewise.
25722         * lib/unictype/pr_other_lowercase.h: Likewise.
25723         * lib/unictype/pr_other_uppercase.h: Likewise.
25724         * lib/unictype/pr_paired_punctuation.h: Likewise.
25725         * lib/unictype/pr_paragraph_separator.h: Likewise.
25726         * lib/unictype/pr_pattern_syntax.h: Likewise.
25727         * lib/unictype/pr_pattern_white_space.h: Likewise.
25728         * lib/unictype/pr_private_use.h: Likewise.
25729         * lib/unictype/pr_quotation_mark.h: Likewise.
25730         * lib/unictype/pr_radical.h: Likewise.
25731         * lib/unictype/pr_soft_dotted.h: Likewise.
25732         * lib/unictype/pr_space.h: Likewise.
25733         * lib/unictype/pr_titlecase.h: Likewise.
25734         * lib/unictype/pr_variation_selector.h: Likewise.
25735         * lib/unictype/pr_white_space.h: Likewise.
25736         * lib/unictype/pr_zero_width.h: Likewise.
25737         * lib/unictype/sy_c_ident.h: Likewise.
25738         * lib/unictype/sy_c_whitespace.h: Likewise.
25739         * lib/unictype/sy_java_whitespace.h: Likewise.
25740         * lib/uninorm/composition-table.gperf: Likewise.
25741         * lib/uninorm/decomposition-table1.h: Likewise.
25742         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
25743         LB8.
25744         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
25745         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
25746         * modules/unictype/*: Bump version number of expected libunistring
25747         version.
25748
25749 2011-01-09  Bruno Haible  <bruno@clisp.org>
25750
25751         Update to Unicode 5.2.0.
25752         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
25753         trailing whitespace removed.
25754
25755 2011-01-09  Bruno Haible  <bruno@clisp.org>
25756
25757         New Unicode character properties, from Unicode 5.2.0.
25758         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
25759         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
25760         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
25761         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
25762         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
25763         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
25764         uc_is_property_cased, uc_is_property_case_ignorable,
25765         uc_is_property_changes_when_lowercased,
25766         uc_is_property_changes_when_uppercased,
25767         uc_is_property_changes_when_titlecased,
25768         uc_is_property_changes_when_casefolded,
25769         uc_is_property_changes_when_casemapped): New declarations.
25770         * lib/unictype/pr_byname.gperf: Add the new properties.
25771         * modules/unictype/property-byname (Depends-on): Depend on the new
25772         properties modules.
25773         * modules/unictype/property-all (Depends-on): Likewise.
25774         * MODULES.html.sh (Unicode string functions): Add
25775         unictype/property-case-ignorable, unictype/property-cased,
25776         unictype/property-changes-when-casefolded,
25777         unictype/property-changes-when-casemapped,
25778         unictype/property-changes-when-lowercased,
25779         unictype/property-changes-when-titlecased,
25780         unictype/property-changes-when-uppercased.
25781
25782         New module 'unictype/property-changes-when-casemapped'.
25783         * modules/unictype/property-changes-when-casemapped: New file.
25784         * lib/unictype/pr_changes_when_casemapped.c: New file.
25785         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
25786         generated by gen-uni-tables.
25787         * modules/unictype/property-changes-when-casemapped-tests: New file.
25788         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
25789         automatically generated by gen-uni-tables.
25790
25791         New module 'unictype/property-changes-when-casefolded'.
25792         * modules/unictype/property-changes-when-casefolded: New file.
25793         * lib/unictype/pr_changes_when_casefolded.c: New file.
25794         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
25795         generated by gen-uni-tables.
25796         * modules/unictype/property-changes-when-casefolded-tests: New file.
25797         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
25798         automatically generated by gen-uni-tables.
25799
25800         New module 'unictype/property-changes-when-titlecased'.
25801         * modules/unictype/property-changes-when-titlecased: New file.
25802         * lib/unictype/pr_changes_when_titlecased.c: New file.
25803         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
25804         generated by gen-uni-tables.
25805         * modules/unictype/property-changes-when-titlecased-tests: New file.
25806         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
25807         automatically generated by gen-uni-tables.
25808
25809         New module 'unictype/property-changes-when-uppercased'.
25810         * modules/unictype/property-changes-when-uppercased: New file.
25811         * lib/unictype/pr_changes_when_uppercased.c: New file.
25812         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
25813         generated by gen-uni-tables.
25814         * modules/unictype/property-changes-when-uppercased-tests: New file.
25815         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
25816         automatically generated by gen-uni-tables.
25817
25818         New module 'unictype/property-changes-when-lowercased'.
25819         * modules/unictype/property-changes-when-lowercased: New file.
25820         * lib/unictype/pr_changes_when_lowercased.c: New file.
25821         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
25822         generated by gen-uni-tables.
25823         * modules/unictype/property-changes-when-lowercased-tests: New file.
25824         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
25825         automatically generated by gen-uni-tables.
25826
25827         New module 'unictype/property-case-ignorable'.
25828         * modules/unictype/property-case-ignorable: New file.
25829         * lib/unictype/pr_case_ignorable.c: New file.
25830         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
25831         by gen-uni-tables.
25832         * modules/unictype/property-case-ignorable-tests: New file.
25833         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
25834         generated by gen-uni-tables.
25835
25836         New module 'unictype/property-cased'.
25837         * modules/unictype/property-cased: New file.
25838         * lib/unictype/pr_cased.c: New file.
25839         * lib/unictype/pr_cased.h: New file, automatically generated by
25840         gen-uni-tables.
25841         * modules/unictype/property-cased-tests: New file.
25842         * tests/unictype/test-pr_cased.c: New file, automatically generated by
25843         gen-uni-tables.
25844
25845 2011-01-09  Bruno Haible  <bruno@clisp.org>
25846
25847         Update to Unicode 5.2.0.
25848         * lib/gen-uni-tables.c (output_predicate, output_category,
25849         output_combclass, output_bidi_category, output_decimal_digit_test,
25850         output_decimal_digit, output_digit_test, output_digit,
25851         output_numeric_test, output_numeric, output_mirror, output_scripts,
25852         output_scripts_byname, output_blocks, output_ident_category): Fix
25853         comment header.
25854         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
25855         get_wbp.
25856         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
25857         items.
25858         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
25859         Changes_When_Lowercased, Changes_When_Uppercased,
25860         Changes_When_Titlecased, Changes_When_Casefolded,
25861         Changes_When_Casemapped.
25862         (is_property_alphabetic, is_property_default_ignorable_code_point):
25863         Update for Unicode 5.2.0.
25864         (is_property_cased, is_property_case_ignorable,
25865         is_property_changes_when_lowercased,
25866         is_property_changes_when_uppercased,
25867         is_property_changes_when_titlecased,
25868         is_property_changes_when_casefolded,
25869         is_property_changes_when_casemapped): New functions.
25870         (output_properties): Output also the properties cased, case_ignorable,
25871         changes_when_lowercased, changes_when_uppercased,
25872         changes_when_titlecased, changes_when_casefolded,
25873         changes_when_casemapped.
25874         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
25875         Unicode TR#11 revision 17 -> 19.
25876         (LBP_CP): New enumeration value.
25877         (LBP_*): Adjust values accordingly.
25878         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
25879         TR#14 revision 22 -> 24.
25880         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
25881         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
25882         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
25883         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
25884         is_WBP_MIDLETTER.
25885         (output_composition_tables): Allow for 24 bits instead of 16 bits in
25886         the code1 and code2 of each composition rule.
25887         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
25888         * lib/unicase/ignorable.h: Likewise.
25889         * lib/unicase/tocasefold.h: Likewise.
25890         * lib/unicase/tolower.h: Likewise.
25891         * lib/unicase/totitle.h: Likewise.
25892         * lib/unicase/toupper.h: Likewise.
25893         * lib/unictype/bidi_of.h: Likewise.
25894         * lib/unictype/blocks.h: Likewise.
25895         * lib/unictype/categ_C.h: Likewise.
25896         * lib/unictype/categ_Cf.h: Likewise.
25897         * lib/unictype/categ_Cn.h: Likewise.
25898         * lib/unictype/categ_L.h: Likewise.
25899         * lib/unictype/categ_Ll.h: Likewise.
25900         * lib/unictype/categ_Lm.h: Likewise.
25901         * lib/unictype/categ_Lo.h: Likewise.
25902         * lib/unictype/categ_Lu.h: Likewise.
25903         * lib/unictype/categ_M.h: Likewise.
25904         * lib/unictype/categ_Mc.h: Likewise.
25905         * lib/unictype/categ_Mn.h: Likewise.
25906         * lib/unictype/categ_N.h: Likewise.
25907         * lib/unictype/categ_Nd.h: Likewise.
25908         * lib/unictype/categ_Nl.h: Likewise.
25909         * lib/unictype/categ_No.h: Likewise.
25910         * lib/unictype/categ_P.h: Likewise.
25911         * lib/unictype/categ_Pd.h: Likewise.
25912         * lib/unictype/categ_Po.h: Likewise.
25913         * lib/unictype/categ_S.h: Likewise.
25914         * lib/unictype/categ_Sc.h: Likewise.
25915         * lib/unictype/categ_So.h: Likewise.
25916         * lib/unictype/categ_of.h: Likewise.
25917         * lib/unictype/combining.h: Likewise.
25918         * lib/unictype/ctype_alnum.h: Likewise.
25919         * lib/unictype/ctype_alpha.h: Likewise.
25920         * lib/unictype/ctype_graph.h: Likewise.
25921         * lib/unictype/ctype_lower.h: Likewise.
25922         * lib/unictype/ctype_print.h: Likewise.
25923         * lib/unictype/ctype_punct.h: Likewise.
25924         * lib/unictype/ctype_upper.h: Likewise.
25925         * lib/unictype/decdigit.h: Likewise.
25926         * lib/unictype/digit.h: Likewise.
25927         * lib/unictype/numeric.h: Likewise.
25928         * lib/unictype/pr_alphabetic.h: Likewise.
25929         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25930         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25931         * lib/unictype/pr_bidi_european_digit.h: Likewise.
25932         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25933         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25934         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25935         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25936         * lib/unictype/pr_combining.h: Likewise.
25937         * lib/unictype/pr_composite.h: Likewise.
25938         * lib/unictype/pr_currency_symbol.h: Likewise.
25939         * lib/unictype/pr_dash.h: Likewise.
25940         * lib/unictype/pr_decimal_digit.h: Likewise.
25941         * lib/unictype/pr_deprecated.h: Likewise.
25942         * lib/unictype/pr_diacritic.h: Likewise.
25943         * lib/unictype/pr_extender.h: Likewise.
25944         * lib/unictype/pr_grapheme_base.h: Likewise.
25945         * lib/unictype/pr_grapheme_extend.h: Likewise.
25946         * lib/unictype/pr_grapheme_link.h: Likewise.
25947         * lib/unictype/pr_id_continue.h: Likewise.
25948         * lib/unictype/pr_id_start.h: Likewise.
25949         * lib/unictype/pr_ideographic.h: Likewise.
25950         * lib/unictype/pr_ignorable_control.h: Likewise.
25951         * lib/unictype/pr_logical_order_exception.h: Likewise.
25952         * lib/unictype/pr_lowercase.h: Likewise.
25953         * lib/unictype/pr_numeric.h: Likewise.
25954         * lib/unictype/pr_other_alphabetic.h: Likewise.
25955         * lib/unictype/pr_punctuation.h: Likewise.
25956         * lib/unictype/pr_sentence_terminal.h: Likewise.
25957         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25958         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25959         * lib/unictype/pr_unified_ideograph.h: Likewise.
25960         * lib/unictype/pr_uppercase.h: Likewise.
25961         * lib/unictype/pr_xid_continue.h: Likewise.
25962         * lib/unictype/pr_xid_start.h: Likewise.
25963         * lib/unictype/pr_zero_width.h: Likewise.
25964         * lib/unictype/scripts.h: Likewise.
25965         * lib/unictype/scripts_byname.gperf: Likewise.
25966         * lib/unictype/sy_java_ident.h: Likewise.
25967         * lib/unigbrk/gbrkprop.h: Likewise.
25968         * lib/unilbrk/lbrkprop1.h: Likewise.
25969         * lib/unilbrk/lbrkprop2.h: Likewise.
25970         * lib/unilbrk/lbrktables.h: Likewise.
25971         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
25972         LBP_CP. Implement rule LB30.
25973         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
25974         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
25975         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
25976         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
25977         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
25978         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
25979         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
25980         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
25981         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
25982         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
25983         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
25984         bits instead of 16 bits in the code1 and code2 of each composition
25985         rule.
25986         (uc_composition): Update for Unicode 5.2.0.
25987         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
25988         * lib/uninorm/decomposition-table2.h: Likewise.
25989         * lib/uniwbrk/wbrkprop.h: Likewise.
25990         * tests/unicase/test-cased.c: Likewise.
25991         * tests/unicase/test-ignorable.c: Likewise.
25992         * tests/unicase/test-uc_tolower.c: Likewise.
25993         * tests/unicase/test-uc_totitle.c: Likewise.
25994         * tests/unicase/test-uc_toupper.c: Likewise.
25995         * tests/unictype/test-categ_C.c: Likewise.
25996         * tests/unictype/test-categ_Cf.c: Likewise.
25997         * tests/unictype/test-categ_Cn.c: Likewise.
25998         * tests/unictype/test-categ_L.c: Likewise.
25999         * tests/unictype/test-categ_Ll.c: Likewise.
26000         * tests/unictype/test-categ_Lm.c: Likewise.
26001         * tests/unictype/test-categ_Lo.c: Likewise.
26002         * tests/unictype/test-categ_Lu.c: Likewise.
26003         * tests/unictype/test-categ_M.c: Likewise.
26004         * tests/unictype/test-categ_Mc.c: Likewise.
26005         * tests/unictype/test-categ_Mn.c: Likewise.
26006         * tests/unictype/test-categ_N.c: Likewise.
26007         * tests/unictype/test-categ_Nd.c: Likewise.
26008         * tests/unictype/test-categ_Nl.c: Likewise.
26009         * tests/unictype/test-categ_No.c: Likewise.
26010         * tests/unictype/test-categ_P.c: Likewise.
26011         * tests/unictype/test-categ_Pd.c: Likewise.
26012         * tests/unictype/test-categ_Po.c: Likewise.
26013         * tests/unictype/test-categ_S.c: Likewise.
26014         * tests/unictype/test-categ_Sc.c: Likewise.
26015         * tests/unictype/test-categ_So.c: Likewise.
26016         * tests/unictype/test-ctype_alnum.c: Likewise.
26017         * tests/unictype/test-ctype_alpha.c: Likewise.
26018         * tests/unictype/test-ctype_graph.c: Likewise.
26019         * tests/unictype/test-ctype_lower.c: Likewise.
26020         * tests/unictype/test-ctype_print.c: Likewise.
26021         * tests/unictype/test-ctype_punct.c: Likewise.
26022         * tests/unictype/test-ctype_upper.c: Likewise.
26023         * tests/unictype/test-decdigit.h: Likewise.
26024         * tests/unictype/test-digit.h: Likewise.
26025         * tests/unictype/test-numeric.h: Likewise.
26026         * tests/unictype/test-pr_alphabetic.c: Likewise.
26027         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
26028         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
26029         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
26030         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
26031         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
26032         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
26033         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
26034         * tests/unictype/test-pr_combining.c: Likewise.
26035         * tests/unictype/test-pr_composite.c: Likewise.
26036         * tests/unictype/test-pr_currency_symbol.c: Likewise.
26037         * tests/unictype/test-pr_dash.c: Likewise.
26038         * tests/unictype/test-pr_decimal_digit.c: Likewise.
26039         * tests/unictype/test-pr_deprecated.c: Likewise.
26040         * tests/unictype/test-pr_diacritic.c: Likewise.
26041         * tests/unictype/test-pr_extender.c: Likewise.
26042         * tests/unictype/test-pr_grapheme_base.c: Likewise.
26043         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
26044         * tests/unictype/test-pr_grapheme_link.c: Likewise.
26045         * tests/unictype/test-pr_id_continue.c: Likewise.
26046         * tests/unictype/test-pr_id_start.c: Likewise.
26047         * tests/unictype/test-pr_ideographic.c: Likewise.
26048         * tests/unictype/test-pr_ignorable_control.c: Likewise.
26049         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
26050         * tests/unictype/test-pr_lowercase.c: Likewise.
26051         * tests/unictype/test-pr_numeric.c: Likewise.
26052         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
26053         * tests/unictype/test-pr_punctuation.c: Likewise.
26054         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
26055         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
26056         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
26057         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
26058         * tests/unictype/test-pr_uppercase.c: Likewise.
26059         * tests/unictype/test-pr_xid_continue.c: Likewise.
26060         * tests/unictype/test-pr_xid_start.c: Likewise.
26061         * tests/unictype/test-pr_zero_width.c: Likewise.
26062         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
26063         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
26064         changed behaviour: line breaking is now disallowed between a letter
26065         or '=' and '('.
26066         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
26067         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
26068         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
26069         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
26070         * tests/uniwidth/test-uc_width2.sh: Same updates as in
26071         lib/uniwidth/width.c.
26072         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
26073         without comments, but with the original copyright notice.
26074         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
26075         changes.
26076         * lib/unictype/categ_Cc.h: Likewise.
26077         * lib/unictype/categ_Co.h: Likewise.
26078         * lib/unictype/categ_Cs.h: Likewise.
26079         * lib/unictype/categ_Lt.h: Likewise.
26080         * lib/unictype/categ_Me.h: Likewise.
26081         * lib/unictype/categ_Pc.h: Likewise.
26082         * lib/unictype/categ_Pe.h: Likewise.
26083         * lib/unictype/categ_Pf.h: Likewise.
26084         * lib/unictype/categ_Pi.h: Likewise.
26085         * lib/unictype/categ_Ps.h: Likewise.
26086         * lib/unictype/categ_Sk.h: Likewise.
26087         * lib/unictype/categ_Sm.h: Likewise.
26088         * lib/unictype/categ_Z.h: Likewise.
26089         * lib/unictype/categ_Zl.h: Likewise.
26090         * lib/unictype/categ_Zp.h: Likewise.
26091         * lib/unictype/categ_Zs.h: Likewise.
26092         * lib/unictype/ctype_blank.h: Likewise.
26093         * lib/unictype/ctype_cntrl.h: Likewise.
26094         * lib/unictype/ctype_digit.h: Likewise.
26095         * lib/unictype/ctype_space.h: Likewise.
26096         * lib/unictype/ctype_xdigit.h: Likewise.
26097         * lib/unictype/mirror.h: Likewise.
26098         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
26099         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
26100         * lib/unictype/pr_bidi_block_separator.h: Likewise.
26101         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
26102         * lib/unictype/pr_bidi_common_separator.h: Likewise.
26103         * lib/unictype/pr_bidi_control.h: Likewise.
26104         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
26105         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
26106         * lib/unictype/pr_bidi_pdf.h: Likewise.
26107         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
26108         * lib/unictype/pr_bidi_whitespace.h: Likewise.
26109         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
26110         * lib/unictype/pr_format_control.h: Likewise.
26111         * lib/unictype/pr_hex_digit.h: Likewise.
26112         * lib/unictype/pr_hyphen.h: Likewise.
26113         * lib/unictype/pr_ids_binary_operator.h: Likewise.
26114         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
26115         * lib/unictype/pr_iso_control.h: Likewise.
26116         * lib/unictype/pr_join_control.h: Likewise.
26117         * lib/unictype/pr_left_of_pair.h: Likewise.
26118         * lib/unictype/pr_line_separator.h: Likewise.
26119         * lib/unictype/pr_math.h: Likewise.
26120         * lib/unictype/pr_non_break.h: Likewise.
26121         * lib/unictype/pr_not_a_character.h: Likewise.
26122         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
26123         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
26124         * lib/unictype/pr_other_id_continue.h: Likewise.
26125         * lib/unictype/pr_other_id_start.h: Likewise.
26126         * lib/unictype/pr_other_lowercase.h: Likewise.
26127         * lib/unictype/pr_other_math.h: Likewise.
26128         * lib/unictype/pr_other_uppercase.h: Likewise.
26129         * lib/unictype/pr_paired_punctuation.h: Likewise.
26130         * lib/unictype/pr_paragraph_separator.h: Likewise.
26131         * lib/unictype/pr_pattern_syntax.h: Likewise.
26132         * lib/unictype/pr_pattern_white_space.h: Likewise.
26133         * lib/unictype/pr_private_use.h: Likewise.
26134         * lib/unictype/pr_quotation_mark.h: Likewise.
26135         * lib/unictype/pr_radical.h: Likewise.
26136         * lib/unictype/pr_soft_dotted.h: Likewise.
26137         * lib/unictype/pr_space.h: Likewise.
26138         * lib/unictype/pr_titlecase.h: Likewise.
26139         * lib/unictype/pr_variation_selector.h: Likewise.
26140         * lib/unictype/pr_white_space.h: Likewise.
26141         * lib/unictype/sy_c_ident.h: Likewise.
26142         * lib/unictype/sy_c_whitespace.h: Likewise.
26143         * lib/unictype/sy_java_whitespace.h: Likewise.
26144         * modules/uni*/*: Bump version number of expected libunistring version.
26145         Reported by Simon Josefsson.
26146
26147 2011-01-09  Karl Heuer  <kwzh@gnu.org>
26148
26149         useless-if-before-free: fix typo in --help and make the internal,
26150         automatic version date update process work once again.
26151         --help output contained a NUL character instead of the
26152         backslash-zero that was intended.  Also, the "must lie within
26153         the first 8 lines" line is on line 9, and hence not getting
26154         automatically updated.
26155         * build-aux/useless-if-before-free: Fix the former by adding a
26156         backslash, and the latter by condensing the three lines of what-it-does
26157         to a single line, leaving one line of slack for the future.
26158
26159 2011-01-09  Bruno Haible  <bruno@clisp.org>
26160
26161         uniwidth/width: Fix width of U+1D173..U+1D17A.
26162         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
26163         symbolic_width, output_width_property_test): New functions.
26164         (main): Invoke output_nonspacing_property, output_width_property_test.
26165         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
26166         U+1D173..U+1D17A.
26167         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
26168         1.
26169         * modules/uniwidth/*: Bump version number of expected libunistring
26170         version.
26171         * modules/unilbrk/*: Likewise.
26172
26173 2011-01-08  Bruno Haible  <bruno@clisp.org>
26174
26175         uninorm tests: Preserve copyright of Unicode data file.
26176         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
26177         Mention modifications.
26178
26179 2011-01-08  Bruno Haible  <bruno@clisp.org>
26180
26181         gen-uni-tables: Prepare for Unicode 5.2.0.
26182         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
26183         (debug_output_lbp, output_lbp): Update.
26184
26185 2011-01-08  Bruno Haible  <bruno@clisp.org>
26186
26187         unilbrk: Clarify gen-uni-tables.c code.
26188         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
26189         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
26190         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
26191
26192 2011-01-07  Bruno Haible  <bruno@clisp.org>
26193
26194         strtod: Restore errno when successfully parsing Infinity or NaN.
26195         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
26196         restore the original errno.
26197
26198 2011-01-07  Bruno Haible  <bruno@clisp.org>
26199
26200         remove test: Avoid failure on HP-UX 11.
26201         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
26202
26203 2011-01-07  Bruno Haible  <bruno@clisp.org>
26204
26205         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
26206         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
26207         error code.
26208
26209 2011-01-07  Pádraig Brady <P@draigBrady.com>
26210
26211         ignore-value: fixup comments, and add Eric Blake
26212         as an author since he rewrote the macros.
26213         * lib/ignore-value.h (ignore_value):  State that
26214         we now support aggregates.  Also specify exactly
26215         when the GCC warn_unused_result feature was added.
26216
26217 2011-01-06  Eric Blake  <eblake@redhat.com>
26218
26219         ignore-value: support aggregate types
26220         * lib/ignore-value.h (ignore_value): Provide separate gcc
26221         definition.
26222         * modules/ignore-value-tests: New test module.
26223         * tests/test-ignore-value.c: New test.
26224
26225         maint.mk: improve sc_prohibit_strcmp regex
26226         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
26227         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
26228         definition of STRNEQ.
26229
26230         signal: work around Haiku issue with SIGBUS
26231         * lib/siglist.h: Add comment.
26232         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
26233         strsignal's favoring of SIGSEGV.
26234         * tests/test-signal.c (main): Avoid test failure.
26235         * doc/posix-headers/signal.texi (signal.h): Document the issue.
26236         Reported by Scott McCreary.
26237
26238         maint.mk: add pre-release check to ensure submodule commits are public
26239         * top/maint.mk (public-submodule-commit): New rule.
26240         (submodule-checks): New variable.
26241         (alpha beta stable): Depend on the variable.
26242
26243 2011-01-05  Pádraig Brady <P@draigBrady.com>
26244         and Jim Meyering  <meyering@redhat.com>
26245
26246         ignore-value: make ignore_value more generic; deprecate ignore_ptr
26247         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
26248         (ATTRIBUTE_DEPRECATED): Define.
26249         (_ignore_case): New function.
26250         (ignore_value): New macro, to replace the old function.
26251         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
26252         * modules/ignore-value (Depends-on): Add stdint.
26253
26254 2011-01-04  Eric Blake  <eblake@redhat.com>
26255
26256         doc: regenerate INSTALL
26257         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
26258         @firstparagraphindent support, now that autoconf dropped it.
26259         (INSTALL_PRELUDE): Reinstate old macro.
26260         * doc/install.texi: Resync from autoconf.
26261         * doc/INSTALL: Reflect recent autoconf update.
26262         * doc/INSTALL.ISO: Likewise.
26263         * doc/INSTALL.UTF-8: Likewise.
26264         Reported by Karl Berry.
26265
26266 2011-01-04  Bruce Korb  <address@hidden>
26267
26268         git-version-gen: avoid a sub-shell
26269         * build-aux/git-version-gen: Redirect stderr in `...` via
26270         "exec 2>...", rather than via an added sub-shell.
26271
26272 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
26273
26274         git-version-gen: use (...) rather than sh -c '...'
26275         * build-aux/git-version-gen: Rather than hard-coding a shell's name
26276         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
26277
26278 2011-01-03  Jim Meyering  <meyering@redhat.com>
26279
26280         git-version-gen: convert leading TABs to spaces
26281         * build-aux/git-version-gen: Expand leading TABs.
26282
26283         git-version-gen: handle failed "git rev-list"
26284         * build-aux/git-version-gen: Rather than leaking a "fatal" error
26285         from git and proceeding as if it had succeeded but printed no SHA1
26286         checksums, suppress the diagnostic and handle the failure.
26287         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
26288
26289         git-version-gen: include command name in one more diagnostic
26290         * build-aux/git-version-gen: When the required .tarball-version file
26291         was missing or unreadable, you might see the diagnostic from "cat",
26292         but no trace of the name of the invoking script.  Now, you still see
26293         the diagnostic from cat, but also get one from "git-version-gen: ".
26294         Inspired by a patch from Bruce Korb.
26295
26296         update-copyright: adjust test to match changed code
26297         * tests/test-update-copyright.sh: Change test's expected output
26298         to match new actual output.
26299
26300 2011-01-02  Bruno Haible  <bruno@clisp.org>
26301
26302         getlogin_r: Avoid test failure on HP-UX 11.
26303         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
26304         ERANGE when the second argument is zero.
26305         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
26306         portability problem.
26307
26308 2011-01-02  Bruce Korb  <bkorb@gnu.org>
26309
26310         * build-aux/update-copyright: doc Simon's changes
26311
26312 2011-01-02  Simon Josefsson  <simon@josefsson.org>
26313
26314         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
26315         environment variable.
26316
26317 2011-01-02  Bruno Haible  <bruno@clisp.org>
26318
26319         unigbrk: Avoid gcc warnings.
26320         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
26321         unused variable.
26322         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
26323         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
26324         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
26325         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
26326         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
26327         Change type of first argument to 'const char *'.
26328         (main): Remove unused variable.
26329         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
26330         type of first argument to 'const char *'.
26331         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
26332         Likewise.
26333         (main): Change type of variable 's'.
26334         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
26335         to 'int'.
26336
26337 2011-01-02  Bruno Haible  <bruno@clisp.org>
26338
26339         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
26340         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
26341         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
26342         bug.
26343         * lib/pwrite.c: Undo 2010-12-31 patch.
26344         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
26345
26346 2011-01-02  Bruno Haible  <bruno@clisp.org>
26347
26348         pread: Fix test whether it works.
26349         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
26350
26351 2011-01-02  Bruno Haible  <bruno@clisp.org>
26352
26353         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
26354         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
26355         ends in "6". Don't require a specific month name. Try also the locale
26356         names found on HP-UX 11 and Solaris 7.
26357
26358 2011-01-02  Bruno Haible  <bruno@clisp.org>
26359
26360         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
26361         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
26362         C linkage.
26363         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
26364
26365 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26366
26367         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
26368         for consistency, since the "cluster" term is not used elsewhere.
26369         * lib/unigbrk.in.h: Update name.
26370         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
26371         * lib/unigbrk/u16-grapheme-next.c: Update name.
26372         * lib/unigbrk/u16-grapheme-prev.c: Update name.
26373         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
26374         * lib/unigbrk/u32-grapheme-next.c: Update name.
26375         * lib/unigbrk/u32-grapheme-prev.c: Update name.
26376         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
26377         * lib/unigbrk/u8-grapheme-next.c: Update name.
26378         * lib/unigbrk/u8-grapheme-prev.c: Update name.
26379         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
26380         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
26381         Suggested by Bruno Haible.
26382
26383 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26384
26385         Remove module 'u8-grapheme-len' as too redundant with
26386         'u8-grapheme-next'.
26387         * modules/unigbrk/u8-grapheme-len: Delete file.
26388         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
26389         * lib/unigbrk.in.h: Remove prototype for deleted function.
26390         * lib/unigbrk/u8-grapheme-len.c: Delete file.
26391         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
26392
26393         Remove module 'u16-grapheme-len' as too redundant with
26394         'u16-grapheme-next'.
26395         * modules/unigbrk/u16-grapheme-len: Delete file.
26396         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
26397         * lib/unigbrk.in.h: Remove prototype for deleted function.
26398         * lib/unigbrk/u16-grapheme-len.c: Delete file.
26399         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
26400
26401         Remove module 'u32-grapheme-len' as too redundant with
26402         'u32-grapheme-next'.
26403         * modules/unigbrk/u32-grapheme-len: Delete file.
26404         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
26405         * lib/unigbrk.in.h: Remove prototype for deleted function.
26406         * lib/unigbrk/u32-grapheme-len.c: Delete file.
26407         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
26408
26409         Suggested by Bruno Haible.
26410
26411 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26412
26413         * unigbrk.in.h: Fix typo: "ben" => "been".
26414         Reported by Bruno Haible.
26415
26416 2011-01-01  Jim Meyering  <meyering@redhat.com>
26417
26418         maint: update almost all copyright ranges to include 2011
26419         Run the new "make update-copyright" rule.
26420
26421 2011-01-01  Jim Meyering  <meyering@redhat.com>
26422
26423         maint: update-copyright: exempt doc/INSTALL*
26424         * Makefile (update-copyright): Also exclude doc/INSTALL*,
26425         since they are generated.  Suggested by Bruno Haible.
26426
26427 2011-01-01  Jim Meyering  <meyering@redhat.com>
26428
26429         maint: refine the update-copyright rule
26430         * Makefile (update-copyright): Also exclude any file that includes
26431         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
26432         code that merely generates the comment.
26433
26434 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26435
26436         New module 'u8-grapheme-len'.
26437         * modules/unigbrk/u8-grapheme-len: New file.
26438         * modules/unigbrk/u8-grapheme-len-tests: New file.
26439         * lib/unigbrk.in.h: Add prototype for new function.
26440         * lib/unigbrk/u8-grapheme-len.c: New file.
26441         * tests/unigbrk/test-u8-grapheme-len.c: New file.
26442
26443         New module 'u16-grapheme-len'.
26444         * modules/unigbrk/u16-grapheme-len: New file.
26445         * modules/unigbrk/u16-grapheme-len-tests: New file.
26446         * lib/unigbrk.in.h: Add prototype for new function.
26447         * lib/unigbrk/u16-grapheme-len.c: New file.
26448         * tests/unigbrk/test-u16-grapheme-len.c: New file.
26449
26450         New module 'u32-grapheme-len'.
26451         * modules/unigbrk/u32-grapheme-len: New file.
26452         * modules/unigbrk/u32-grapheme-len-tests: New file.
26453         * lib/unigbrk.in.h: Add prototype for new function.
26454         * lib/unigbrk/u32-grapheme-len.c: New file.
26455         * tests/unigbrk/test-u32-grapheme-len.c: New file.
26456
26457         New module 'u8-grapheme-next'.
26458         * modules/unigbrk/u8-grapheme-next: New file.
26459         * modules/unigbrk/u8-grapheme-next-tests: New file.
26460         * lib/unigbrk.in.h: Add prototype for new function.
26461         * lib/unigbrk/u8-grapheme-next.c: New file.
26462         * tests/unigbrk/test-u8-grapheme-next.c: New file.
26463
26464         New module 'u16-grapheme-next'.
26465         * modules/unigbrk/u16-grapheme-next: New file.
26466         * modules/unigbrk/u16-grapheme-next-tests: New file.
26467         * lib/unigbrk.in.h: Add prototype for new function.
26468         * lib/unigbrk/u16-grapheme-next.c: New file.
26469         * tests/unigbrk/test-u16-grapheme-next.c: New file.
26470
26471         New module 'u32-grapheme-next'.
26472         * modules/unigbrk/u32-grapheme-next: New file.
26473         * modules/unigbrk/u32-grapheme-next-tests: New file.
26474         * lib/unigbrk.in.h: Add prototype for new function.
26475         * lib/unigbrk/u32-grapheme-next.c: New file.
26476         * tests/unigbrk/test-u32-grapheme-next.c: New file.
26477
26478         New module 'u8-grapheme-prev'.
26479         * modules/unigbrk/u8-grapheme-prev: New file.
26480         * modules/unigbrk/u8-grapheme-prev-tests: New file.
26481         * lib/unigbrk.in.h: Add prototype for new function.
26482         * lib/unigbrk/u8-grapheme-prev.c: New file.
26483         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
26484
26485         New module 'u16-grapheme-prev'.
26486         * modules/unigbrk/u16-grapheme-prev: New file.
26487         * modules/unigbrk/u16-grapheme-prev-tests: New file.
26488         * lib/unigbrk.in.h: Add prototype for new function.
26489         * lib/unigbrk/u16-grapheme-prev.c: New file.
26490         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
26491
26492         New module 'u32-grapheme-prev'.
26493         * modules/unigbrk/u32-grapheme-prev: New file.
26494         * modules/unigbrk/u32-grapheme-prev-tests: New file.
26495         * lib/unigbrk.in.h: Add prototype for new function.
26496         * lib/unigbrk/u32-grapheme-prev.c: New file.
26497         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
26498
26499         New module 'u8-grapheme-breaks'.
26500         * modules/unigbrk/u8-grapheme-breaks: New file.
26501         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
26502         * lib/unigbrk.in.h: Add prototype for new function.
26503         * lib/unigbrk/u8-grapheme-breaks.c: New file.
26504         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
26505
26506         New module 'u16-grapheme-breaks'.
26507         * modules/unigbrk/u16-grapheme-breaks: New file.
26508         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
26509         * lib/unigbrk.in.h: Add prototype for new function.
26510         * lib/unigbrk/u16-grapheme-breaks.c: New file.
26511         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
26512
26513         New module 'u32-grapheme-breaks'.
26514         * modules/unigbrk/u32-grapheme-breaks: New file.
26515         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
26516         * lib/unigbrk.in.h: Add prototype for new function.
26517         * lib/unigbrk/u32-grapheme-breaks.c: New file.
26518         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
26519
26520         New module 'ulc-grapheme-breaks'.
26521         * modules/unigbrk/ulc-grapheme-breaks: New file.
26522         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
26523         * m4/locale-ar.m4: New file.
26524         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
26525         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
26526         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
26527
26528 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26529
26530         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
26531         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
26532         modified how this file was generated before I initially submitted
26533         the module, but failed to regenerate it.  This meant that several
26534         of the level2 entries were wrong.
26535         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
26536         Remove the division-by-2 that is folded into the table now that
26537         gbrkprop.h has been regenerated properly.  Now -1 entries are
26538         handled correctly.
26539
26540         New module 'unigbrk/uc-gbrk-prop-tests'.
26541         * modules/unigbrk/uc-gbrk-prop-tests: New file.
26542         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
26543         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
26544         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
26545
26546 2011-01-01  Bruno Haible  <bruno@clisp.org>
26547
26548         Avoid use of hexadecimal escapes.
26549         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
26550         instead of hexadecimal escapes.
26551
26552 2011-01-01  Jim Meyering  <meyering@redhat.com>
26553
26554         maint: new rule to update copyright year ranges
26555         * Makefile (update-copyright): New rule.
26556
26557         maint: indent with TABs in Makefile
26558         * Makefile: Expand leading sequences of spaces to TABs
26559
26560         version-etc: update the copyright year it reports
26561         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
26562
26563 2010-12-31  Bruno Haible  <bruno@clisp.org>
26564
26565         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
26566         * lib/isfinite.c (zerof, zerod, zerol): New variables.
26567         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
26568         zero.
26569
26570 2010-12-31  Bruno Haible  <bruno@clisp.org>
26571
26572         pwrite: Work around HP-UX 11.11 bug.
26573         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
26574         works and set REPLACE_PWRITE if not.
26575         * lib/pwrite.c (pwrite): Add an implementation that uses the system
26576         function.
26577         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
26578
26579 2010-12-31  Bruno Haible  <bruno@clisp.org>
26580
26581         pread: Work around HP-UX 11 bugs.
26582         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
26583         and set REPLACE_PREAD if not.
26584         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
26585
26586 2010-12-31  Eric Blake  <eblake@redhat.com>
26587
26588         nl_langinfo: fix YESEXPR on Irix 6.5
26589         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
26590         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
26591         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
26592         it.
26593
26594 2010-12-31  Bruno Haible  <bruno@clisp.org>
26595
26596         iconv: Document HP-UX 11 bug.
26597         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
26598
26599 2010-12-31  Bruno Haible  <bruno@clisp.org>
26600
26601         ldexpl: Fix link error on HP-UX 11.
26602         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
26603         LDEXPL_LIBM, using $ISNANL_LIBM.
26604
26605 2010-12-31  Eric Blake  <eblake@redhat.com>
26606
26607         ftello: avoid compilation failure with SunStudio c89
26608         * lib/ftello.c (ftello): Use lseek, not llseek.
26609
26610         tests: avoid failing coreutils tests on cygwin
26611         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
26612         (create_exe_shims_): Return 0 when skipping.
26613
26614 2010-12-31  Bruno Haible  <bruno@clisp.org>
26615
26616         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
26617         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
26618
26619 2010-12-31  Bruno Haible  <bruno@clisp.org>
26620
26621         waitpid: Fix link error in C++ mode.
26622         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
26623
26624 2010-12-31  Bruno Haible  <bruno@clisp.org>
26625
26626         isnan: Use GCC built-ins when possible.
26627         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
26628         __builtin_isnan.
26629         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
26630         (isnan): Define using GCC built-ins for GCC >= 4.0.
26631
26632 2010-12-31  Bruno Haible  <bruno@clisp.org>
26633
26634         isnand: Fix mistake.
26635         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
26636         __builtin_isnand.
26637
26638 2010-12-31  Bruno Haible  <bruno@clisp.org>
26639
26640         open: Avoid C++ error on HP-UX 11.
26641         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
26642
26643 2010-12-31  Bruno Haible  <bruno@clisp.org>
26644
26645         time_r: Add missing declarations on HP-UX 11.
26646         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
26647         instead of HAVE_LOCALTIME_R.
26648         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
26649         HAVE_LOCALTIME_R always.
26650         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
26651         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
26652         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
26653         HAVE_LOCALTIME_R.
26654         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
26655         * doc/posix-functions/localtime_r.texi: Likewise.
26656
26657 2010-12-29  Eric Blake  <eblake@redhat.com>
26658
26659         mountlist: tweak previous commit
26660         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
26661         Reported by Paul Eggert.
26662
26663         mountlist: fix local drive detection on cygwin
26664         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
26665         that works for cygwin.
26666
26667 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
26668
26669         ftoastr, snprintf: ftoastr + snprintf module
26670         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
26671         since the snprintf module now should be good enough here.
26672         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
26673         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
26674         and gl_MODULE_INDICATOR([snprintf]), but the former enables
26675         GNULIB_SNPRINTF only for the test directory, and the latter
26676         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
26677         seems to suffice by itself.
26678
26679 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
26680
26681         alloca: one step towards thread-safety
26682         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
26683         need for a static variable.  All callers changed.  This does not
26684         make the alloca replacement thread-safe, but it's one step.
26685
26686         tests: minor indenting change
26687         * tests/init.sh: Sync from coreutils housekeeping patch
26688         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
26689         to keep lines within 80 columns.
26690
26691 2010-12-28  Jim Meyering  <meyering@redhat.com>
26692
26693         regex: don't infloop on persistent failing calloc
26694         * lib/regexec.c (build_trtable): Return failure indication upon
26695         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
26696         In glibc, this was fixed for version 2.13:
26697         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
26698
26699 2010-12-28  Bruno Haible  <bruno@clisp.org>
26700             Paul Eggert <eggert@cs.ucla.edu>
26701
26702         linkat: Make implementation robust against system behaviour variations.
26703         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
26704         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
26705         way, and to -2 if it needs a generic runtime test.
26706         * lib/linkat.c (solaris_optimized_link_immediate,
26707         solaris_optimized_link_follow): New functions.
26708         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
26709         (check_same_link): Use it.
26710
26711 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
26712
26713         New module 'unigbrk/base'.
26714         * modules/unigbrk/base: New file.
26715         * lib/unigbrk.in.h: New file.
26716
26717         New module 'unigbrk/uc-gbrk-prop'.
26718         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
26719         * modules/unigbrk/uc-gbrk-prop: New file.
26720         * lib/unigbrk/gbrkprop.h: New file.
26721         * lib/unigbrk/uc-gbrk-prop.c: New file.
26722
26723         New module 'unigbrk/uc-is-grapheme-break'.
26724         * modules/unigbrk/uc-is-grapheme-break: New file.
26725         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
26726         * lib/unigbrk/uc-is-grapheme-break.c: New file.
26727         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
26728         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
26729         * tests/unigbrk/GraphemeBreakTest.txt: New file.
26730
26731         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
26732
26733 2010-12-27  Bruno Haible  <bruno@clisp.org>
26734
26735         linkat test: Avoid failure on Solaris 11 2010-11.
26736         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
26737
26738 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26739
26740         utimens: work around glibc rounding bug on more platforms
26741         * lib/utimens.c (fdutimens): Work around rounding bug even if
26742         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
26743         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
26744
26745 2010-12-27  Bruno Haible  <bruno@clisp.org>
26746
26747         select tests: Improve comments.
26748         * tests/test-select.c (do_select): Add comments.
26749
26750 2010-12-27  Bruno Haible  <bruno@clisp.org>
26751
26752         select tests: Safer way of handling timeout.
26753         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
26754         at every invocation.
26755
26756 2010-12-27  Bruno Haible  <bruno@clisp.org>
26757
26758         select tests: Use 'bool' where appropriate.
26759         * tests/test-select.c (connect_to_socket): Change argument type to
26760         'bool'.
26761
26762 2010-12-27  Bruno Haible  <bruno@clisp.org>
26763
26764         select tests: Use existing modules.
26765         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
26766         (configure.ac): Don't test for unistd.h.
26767         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
26768         declared in <unistd.h>.
26769
26770 2010-12-27  Bruno Haible  <bruno@clisp.org>
26771
26772         mbrtowc: Work around a Solaris 7 bug.
26773         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
26774         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
26775         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
26776         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
26777         MBRTOWC_NULL_ARG1_BUG.
26778         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
26779         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
26780         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
26781         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
26782
26783 2010-12-27  Jim Meyering  <meyering@redhat.com>
26784
26785         read-file.c: tweak syntax
26786         * lib/read-file.c (fread_file): Remove space after "*" in function
26787         definitions.
26788
26789 2010-12-27  Bruno Haible  <bruno@clisp.org>
26790
26791         times test: Avoid gcc warnings on OSF/1.
26792         * tests/test-times.c (main): Cast printf arguments from clock_t to
26793         'long int'.
26794
26795 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26796
26797         utimens: work around glibc rounding bug on older Linux kernels
26798         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
26799         on Linux with a glibc whose utimes might not work, then work
26800         around a longstanding glibc bug involving rounding rather than
26801         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
26802         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
26803
26804 2010-12-26  Bruno Haible  <bruno@clisp.org>
26805
26806         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
26807         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
26808         _GL_CXXALIAS_SYS.
26809         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26810
26811 2010-12-26  Bruno Haible  <bruno@clisp.org>
26812
26813         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
26814         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
26815         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
26816         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
26817         looking for the declaration.
26818         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
26819         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
26820         problem.
26821         * doc/posix-functions/inet_pton.texi: Likewise.
26822
26823 2010-12-26  Bruno Haible  <bruno@clisp.org>
26824
26825         arpa_inet: Use the common idioms with C++ support.
26826         * lib/arpa_inet.in.h: Include c++defs.h.
26827         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
26828         support.
26829         * modules/arpa_inet (Depends-on): Add c++defs.
26830         (Makefile.am): Substitute the contents of c++defs.h.
26831         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
26832         * modules/arpa_inet-c++-tests: New file.
26833         * tests/test-arpa_inet-c++.cc: New file.
26834
26835 2010-12-25  Bruno Haible  <bruno@clisp.org>
26836
26837         Fix more C++ link errors on Solaris 8.
26838         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
26839         $(LIB_EACCESS).
26840         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
26841         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
26842         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
26843         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
26844         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
26845
26846 2010-12-25  Bruno Haible  <bruno@clisp.org>
26847
26848         printf-posix: Fix link error when a non-GCC compiler is used.
26849         * lib/stdio.in.h (printf): When not using GCC, override printf
26850         correctly.
26851         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26852
26853 2010-12-25  Bruno Haible  <bruno@clisp.org>
26854
26855         strerror_r-posix: Update doc.
26856         * doc/posix-functions/strerror_r.texi: Update doc about the return
26857         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
26858
26859 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
26860
26861         utimens: simplify the logic of the previous change
26862         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
26863         This should not affect whether the test succeeds or fails.
26864
26865         utimens: configure better on hosts with NFS clock skew
26866         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
26867         uses the clock of the local host.  It might use the clock of the
26868         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
26869         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
26870
26871 2010-12-25  Bruno Haible  <bruno@clisp.org>
26872
26873         ptsname test: Avoid failure on Solaris.
26874         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
26875         open a pseudo-terminal; don't use BSD-style ptys.
26876         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
26877
26878 2010-12-25  Bruno Haible  <bruno@clisp.org>
26879
26880         ptsname: Avoid ERANGE failure on some systems.
26881         * lib/ptsname.c (buffer): Increase size.
26882
26883 2010-12-25  Bruno Haible  <bruno@clisp.org>
26884
26885         rename, renameat: Avoid test failures at NFS mounted locations.
26886         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
26887         so that subsequent mkdir calls succeed.
26888
26889 2010-12-25  Bruno Haible  <bruno@clisp.org>
26890
26891         iswblank: Fix C++ link error on Solaris 8.
26892         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
26893         _GL_FUNCDECL_SYS.
26894
26895 2010-12-25  Bruno Haible  <bruno@clisp.org>
26896
26897         unistd: Fix C++ link error on Solaris 8.
26898         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
26899
26900 2010-12-25  Bruno Haible  <bruno@clisp.org>
26901
26902         readlink doc: Mention an old glibc bug.
26903         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
26904
26905 2010-12-25  Bruno Haible  <bruno@clisp.org>
26906
26907         fcntl-h: Fix for use of C++ on glibc systems.
26908         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
26909         also on glibc systems in C++ mode.
26910         Reported by Gary V. Vaughan <gary@gnu.org>.
26911
26912 2010-12-25  Bruno Haible  <bruno@clisp.org>
26913
26914         roundl-ieee: Make it work on OSF/1 5.1 with cc.
26915         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
26916
26917 2010-12-25  Bruno Haible  <bruno@clisp.org>
26918
26919         truncl-ieee: Make it work on OSF/1 5.1 with cc.
26920         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
26921         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
26922         test whether truncl works according to ISO C 99 with IEC 60559.
26923         * m4/truncl-ieee.m4: New file.
26924         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
26925         m4/signbit.m4.
26926         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
26927
26928 2010-12-25  Bruno Haible  <bruno@clisp.org>
26929
26930         ceill-ieee: Make it work on OSF/1 5.1 with cc.
26931         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
26932         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
26933         test whether ceill works according to ISO C 99 with IEC 60559.
26934         * m4/ceill-ieee.m4: New file.
26935         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
26936         m4/signbit.m4.
26937         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
26938
26939 2010-12-25  Bruno Haible  <bruno@clisp.org>
26940
26941         Ensure all prerequisites of <wchar.h> are included.
26942         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
26943         before <wchar.h>.
26944         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
26945         gl_MBRLEN_NUL_RETVAL): Likewise.
26946         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
26947         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
26948         AC_FUNC_MBRTOWC): Likewise.
26949         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
26950         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
26951         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
26952         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
26953         Likewise.
26954         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
26955         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
26956         (gl_WCHAR_H): Improve comments.
26957         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
26958
26959 2010-12-25  Bruno Haible  <bruno@clisp.org>
26960
26961         strtok_r: Fix C syntax error in autoconf macro.
26962         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
26963         characters in test program.
26964
26965 2010-12-24  Bruno Haible  <bruno@clisp.org>
26966
26967         ceil, trunc, round: Fix gcc warnings.
26968         * lib/ceil.c (MIN): Undefine before redefining.
26969         * lib/trunc.c (MIN): Likewise.
26970         * lib/round.c (MIN): Likewise.
26971         Include <math.h> first.
26972
26973 2010-12-24  Bruno Haible  <bruno@clisp.org>
26974
26975         select tests: Avoid failures on OSF/1 5.1.
26976         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
26977         failure of closing the last socket; it may fail with ECONNRESET.
26978
26979 2010-12-24  Eric Blake  <eblake@redhat.com>
26980
26981         stdint: avoid HP-UX 10.20 preprocessor bug
26982         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
26983         than #if.
26984         * tests/test-floor2.c (main): Likewise.
26985         Reported by Peter O'Gorman.
26986
26987         pipe: make obsoletion transition easier
26988         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
26989         * modules/pipe (Files): Include revived file.
26990         (Include): Drop reference, to mirror getdate's behavior.
26991
26992 2010-12-24  Bruno Haible  <bruno@clisp.org>
26993
26994         sys_socket: Hide mismatch of declarations on NonStop Kernel.
26995         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
26996         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
26997         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26998
26999 2010-12-24  Bruno Haible  <bruno@clisp.org>
27000
27001         gethostname: Ensure declaration on NonStop Kernel.
27002         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
27003         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27004
27005 2010-12-24  Bruno Haible  <bruno@clisp.org>
27006
27007         sys_select: Ensure all necessary types on NonStop Kernel.
27008         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
27009         include <sys/time.h>.
27010         * doc/posix-headers/sys_select.texi: Mention that it's missing on
27011         NonStop Kernel.
27012         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27013
27014 2010-12-24  Bruno Haible  <bruno@clisp.org>
27015
27016         sys_select: Remove unneeded include.
27017         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
27018         have <sys/select.h>.
27019
27020 2010-12-24  Bruno Haible  <bruno@clisp.org>
27021
27022         gethostname: Provide a fallback for HOST_NAME_MAX.
27023         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
27024         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
27025         instead.
27026         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27027
27028 2010-12-24  Bruno Haible  <bruno@clisp.org>
27029
27030         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
27031         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
27032         (SA_RESTART): Likewise.
27033         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27034
27035 2010-12-24  Bruno Haible  <bruno@clisp.org>
27036
27037         signal: Define NSIG.
27038         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
27039         * tests/test-signal.c (nsig): New variable.
27040         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27041
27042 2010-12-24  Bruno Haible  <bruno@clisp.org>
27043
27044         rename, renameat: Avoid test failures on OSF/1 5.1.
27045         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
27046         alternative error codes.
27047         * tests/test-renameat.c (main): Likewise.
27048
27049 2010-12-24  Bruno Haible  <bruno@clisp.org>
27050
27051         *printf: Detect large precisions bug on Solaris 10/SPARC.
27052         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
27053         by Paul Eggert.
27054         * tests/test-snprintf-posix.h (test_function): Add this test code here
27055         too.
27056         * tests/test-sprintf-posix.h (test_function): Likewise.
27057         * tests/test-vasnprintf-posix.c (test_function): Likewise.
27058         * tests/test-vasprintf-posix.c (test_function): Likewise.
27059         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
27060         around by gnulib.
27061         * doc/posix-functions/printf.texi: Likewise.
27062         * doc/posix-functions/snprintf.texi: Likewise.
27063         * doc/posix-functions/sprintf.texi: Likewise.
27064         * doc/posix-functions/vfprintf.texi: Likewise.
27065         * doc/posix-functions/vprintf.texi: Likewise.
27066         * doc/posix-functions/vsnprintf.texi: Likewise.
27067         * doc/posix-functions/vsprintf.texi: Likewise.
27068         * doc/posix-functions/dprintf.texi: Undo last commit.
27069         * doc/posix-functions/vdprintf.texi: Likewise.
27070
27071 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
27072
27073         tests: port test-fdutimensat.c to Solaris 8
27074         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
27075         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
27076         On Solaris 8, it fails with errno == ENOSYS, because there is no
27077         futimens (so it can't use the fd), and there is no lutimens (so it
27078         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
27079
27080         vsnprintf: make more consistent with snprintf; doc fixes
27081
27082         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
27083         the byte count return problem was promoted from the snprintf-posix
27084         to the snprintf module.
27085         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
27086         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
27087         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
27088         * tests/test-snprintf.c (main): Check the byte count returned.
27089         * tests/test-vsnprintf.c (main): Likewise.
27090
27091 2010-12-23  Eric Blake  <eblake@redhat.com>
27092
27093         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
27094         * modules/sigpipe (License): Relax license.
27095
27096 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27097
27098         doc: document Solaris printf bug with large float precisions
27099         * doc/posix-functions/dprintf.texi (dprintf):
27100         * doc/posix-functions/fprintf.texi (fprintf):
27101         * doc/posix-functions/printf.texi (printf):
27102         * doc/posix-functions/snprintf.texi (snprintf):
27103         * doc/posix-functions/sprintf.texi (sprintf):
27104         * doc/posix-functions/vdprintf.texi (vdprintf):
27105         * doc/posix-functions/vfprintf.texi (vfprintf):
27106         * doc/posix-functions/vprintf.texi (vprintf):
27107         * doc/posix-functions/vsnprintf.texi (vsnprintf):
27108         * doc/posix-functions/vsprintf.texi (vsprintf):
27109         Mention that these functions mishandle large floating point
27110         precisions on Solaris 10.  The same bug is also present in Solaris
27111         8, and I assume earlier.  This causes "cd gnulib-tests; make
27112         check" to fail on Solaris 8 (and I assume, later) when building
27113         the latest coreutils, in test-vasprintf-posix's call to
27114         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
27115         the wide flavors (e.g., wprintf) so this patch just updates the
27116         documentation for the narrow ones.
27117
27118         test-posixtm.c: add two tests
27119         * tests/test-posixtm.c: Add two tests, to highlight the
27120         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
27121         around this bug; this is merely to document it.
27122
27123 2010-12-22  Bruno Haible  <bruno@clisp.org>
27124
27125         getlogin_r: Work around portability problem on OSF/1.
27126         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
27127         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
27128         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
27129         test for a truncated result.
27130         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
27131         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
27132         * modules/getlogin_r (Depends-on): Add memchr.
27133         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
27134
27135 2010-12-22  Bruno Haible  <bruno@clisp.org>
27136
27137         ptsname: Avoid test failure on OSF/1 5.1.
27138         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
27139         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
27140         (same_slave): New function.
27141         (main): Use it to compare ptsname's result with the expected file name.
27142
27143 2010-12-22  Bruno Haible  <bruno@clisp.org>
27144
27145         Port extended stdio modules to HP NonStop Kernel.
27146         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
27147         macros.
27148         * lib/fbufmode.c: Update comments.
27149         * lib/fflush.c: Likewise.
27150         * lib/fpurge.c: Likewise.
27151         * lib/freadable.c: Likewise.
27152         * lib/freadahead.c: Likewise.
27153         * lib/freading.c: Likewise.
27154         * lib/freadptr.c: Likewise.
27155         * lib/freadseek.c: Likewise.
27156         * lib/fseeko.c: Likewise.
27157         * lib/fseterr.c: Likewise.
27158         * lib/fwritable.c: Likewise.
27159         * lib/fwriting.c: Likewise.
27160         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27161
27162 2010-12-22  Bruno Haible  <bruno@clisp.org>
27163
27164         ttyname_r: Work around bug on OSF/1 5.1.
27165         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
27166         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
27167         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
27168         present.
27169         * lib/ttyname_r.c (ttyname_r): Update comments.
27170
27171 2010-12-22  Bruno Haible  <bruno@clisp.org>
27172
27173         round: Implement result sign according to IEEE 754.
27174         * lib/round.c (MIN, MINUS_ZERO): New macros.
27175         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
27176         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
27177         * tests/test-round-ieee.c (main): Likewise.
27178         * tests/test-roundl-ieee.c (main): Likewise.
27179
27180         trunc: Implement result sign according to IEEE 754.
27181         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
27182         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
27183         * tests/test-trunc2.c: Include minus-zero.h.
27184         (MINUS_ZERO): New macro.
27185         (trunc_reference): Keep in sync with lib/trunc.c.
27186         * tests/test-truncf2.c: Include minus-zero.h.
27187         (MINUS_ZERO): New macro.
27188         (truncf_reference): Keep in sync with lib/trunc.c.
27189         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
27190         * tests/test-trunc-ieee.c (main): Likewise.
27191         * tests/test-truncl-ieee.c (main): Likewise.
27192
27193         ceil: Implement result sign according to IEEE 754.
27194         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
27195         (FUNC): Return -0.0 for -1 < x < 0.
27196         * tests/test-ceil2.c: Include minus-zero.h.
27197         (MINUS_ZERO): New macro.
27198         (ceil_reference): Keep in sync with lib/ceil.c.
27199         * tests/test-ceilf2.c: Include minus-zero.h.
27200         (MINUS_ZERO): New macro.
27201         (ceilf_reference): Keep in sync with lib/ceil.c.
27202         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
27203         * tests/test-ceil-ieee.c (main): Likewise.
27204         * tests/test-ceill-ieee.c (main): Likewise.
27205
27206         floor: Implement result sign according to IEEE 754.
27207         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
27208         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
27209         * tests/test-floorf2.c (floorf_reference): Likewise.
27210         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
27211         * tests/test-floor-ieee.c (main): Likewise.
27212         * tests/test-floorl-ieee.c (main): Likewise.
27213
27214 2010-12-22  Bruno Haible  <bruno@clisp.org>
27215
27216         getaddrinfo: Update doc.
27217         * doc/posix-functions/gai_strerror.texi: Return type is also different
27218         on AIX and HP-UX.
27219
27220 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27221
27222         getaddrinfo, inet_ntop: Update doc for Solaris.
27223         * doc/posix-functions/gai_strerror.texi: Return type is also an
27224         issue on Solaris 9 and earlier.
27225         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
27226         on Solaris 10 and earlier.
27227
27228 2010-12-21  Bruno Haible  <bruno@clisp.org>
27229
27230         New module 'roundl-ieee'.
27231         * modules/roundl-ieee: New file.
27232         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
27233         test whether roundl works according to ISO C 99 with IEC 60559.
27234         * m4/roundl-ieee.m4: New file.
27235         * modules/roundl-ieee-tests: New file.
27236         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
27237         * tests/test-roundl.c (main): Remove signbit tests.
27238         * modules/roundl-tests (Depends-on): Remove signbit.
27239         * doc/posix-functions/roundl.texi: Mention the new module.
27240
27241 2010-12-21  Bruno Haible  <bruno@clisp.org>
27242
27243         New module 'truncl-ieee'.
27244         * modules/truncl-ieee: New file.
27245         * modules/truncl-ieee-tests: New file.
27246         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
27247         * tests/test-truncl.c (main): Remove signbit tests.
27248         * modules/truncl-tests (Depends-on): Remove signbit.
27249         * doc/posix-functions/truncl.texi: Mention the new module.
27250
27251 2010-12-21  Bruno Haible  <bruno@clisp.org>
27252
27253         New module 'ceill-ieee'.
27254         * modules/ceill-ieee: New file.
27255         * modules/ceill-ieee-tests: New file.
27256         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
27257         * tests/test-ceill.c (main): Remove signbit tests.
27258         * modules/ceill-tests (Depends-on): Remove signbit.
27259         * doc/posix-functions/ceill.texi: Mention the new module.
27260
27261 2010-12-21  Bruno Haible  <bruno@clisp.org>
27262
27263         New module 'floorl-ieee'.
27264         * modules/floorl-ieee: New file.
27265         * modules/floorl-ieee-tests: New file.
27266         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
27267         * tests/test-floorl.c (main): Remove signbit tests.
27268         * modules/floorl-tests (Depends-on): Remove signbit.
27269         * doc/posix-functions/floorl.texi: Mention the new module.
27270
27271 2010-12-21  Bruno Haible  <bruno@clisp.org>
27272
27273         New module 'round-ieee'.
27274         * modules/round-ieee: New file.
27275         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
27276         whether round works according to ISO C 99 with IEC 60559.
27277         * m4/round-ieee.m4: New file.
27278         * modules/round-ieee-tests: New file.
27279         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
27280         * tests/test-round1.c (main): Remove signbit tests.
27281         * modules/round-tests (Depends-on): Remove 'signbit'.
27282         * doc/posix-functions/round.texi: Mention the new module.
27283
27284 2010-12-21  Bruno Haible  <bruno@clisp.org>
27285
27286         New module 'trunc-ieee'.
27287         * modules/trunc-ieee: New file.
27288         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
27289         whether trunc works according to ISO C 99 with IEC 60559.
27290         * m4/trunc-ieee.m4: New file.
27291         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
27292         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
27293         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
27294         * modules/trunc-ieee-tests: New file.
27295         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
27296         * tests/test-trunc1.c (main): Remove signbit tests.
27297         * modules/trunc-tests (Depends-on): Remove 'signbit'.
27298         * doc/posix-functions/trunc.texi: Mention the new module.
27299
27300 2010-12-21  Bruno Haible  <bruno@clisp.org>
27301
27302         New module 'ceil-ieee'.
27303         * modules/ceil-ieee: New file.
27304         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
27305         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
27306         ISO C 99 with IEC 60559.
27307         * m4/ceil-ieee.m4: New file.
27308         * modules/ceil (Files): Add lib/ceil.c.
27309         (Depends-on): Add 'float'.
27310         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27311         * lib/math.in.h (ceil): New declaration.
27312         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
27313         REPLACE_CEIL.
27314         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
27315         * modules/ceil-ieee-tests: New file.
27316         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
27317         * tests/test-math-c++.cc: Check the signature of 'ceil'.
27318         * doc/posix-functions/ceil.texi: Mention the new module.
27319
27320 2010-12-21  Bruno Haible  <bruno@clisp.org>
27321
27322         New module 'floor-ieee'.
27323         * modules/floor-ieee: New file.
27324         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
27325         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
27326         ISO C 99 with IEC 60559.
27327         * m4/floor-ieee.m4: New file.
27328         * modules/floor (Files): Add lib/floor.c.
27329         (Depends-on): Add 'float'.
27330         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27331         * lib/math.in.h (floor): New declaration.
27332         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
27333         REPLACE_FLOOR.
27334         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
27335         * modules/floor-ieee-tests: New file.
27336         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
27337         * tests/test-math-c++.cc: Check the signature of 'floor'.
27338         * doc/posix-functions/floor.texi: Mention the new module.
27339
27340 2010-12-21  Bruno Haible  <bruno@clisp.org>
27341
27342         New module 'roundf-ieee'.
27343         * modules/roundf-ieee: New file.
27344         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
27345         test whether roundf works according to ISO C 99 with IEC 60559.
27346         * m4/roundf-ieee.m4: New file.
27347         * modules/roundf-ieee-tests: New file.
27348         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
27349         * tests/test-roundf1.c (main): Remove signbit tests.
27350         * modules/roundf-tests (Depends-on): Remove 'signbit'.
27351         * doc/posix-functions/roundf.texi: Mention the new module.
27352
27353 2010-12-21  Bruno Haible  <bruno@clisp.org>
27354
27355         New module 'truncf-ieee'.
27356         * modules/truncf-ieee: New file.
27357         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
27358         test whether truncf works according to ISO C 99 with IEC 60559.
27359         * m4/truncf-ieee.m4: New file.
27360         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
27361         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
27362         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
27363         * modules/truncf-ieee-tests: New file.
27364         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
27365         * tests/test-truncf1.c (main): Remove signbit tests.
27366         * modules/truncf-tests (Depends-on): Remove 'signbit'.
27367         * doc/posix-functions/truncf.texi: Mention the new module.
27368
27369 2010-12-21  Bruno Haible  <bruno@clisp.org>
27370
27371         New module 'ceilf-ieee'.
27372         * modules/ceilf-ieee: New file.
27373         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
27374         test whether ceilf works according to ISO C 99 with IEC 60559.
27375         * m4/ceilf-ieee.m4: New file.
27376         * modules/ceilf-ieee-tests: New file.
27377         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
27378         * tests/test-ceilf1.c (main): Remove signbit tests.
27379         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
27380         * doc/posix-functions/ceilf.texi: Mention the new module.
27381
27382 2010-12-21  Bruno Haible  <bruno@clisp.org>
27383
27384         New module 'floorf-ieee'.
27385         * modules/floorf-ieee: New file.
27386         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
27387         test whether floorf works according to ISO C 99 with IEC 60559.
27388         * m4/floorf-ieee.m4: New file.
27389         * modules/floorf-ieee-tests: New file.
27390         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
27391         * tests/test-floorf1.c (main): Remove signbit tests.
27392         * modules/floorf-tests (Depends-on): Remove 'signbit'.
27393         * doc/posix-functions/floorf.texi: Mention the new module.
27394
27395 2010-12-21  Bruno Haible  <bruno@clisp.org>
27396
27397         Support for minus zero in autoconf macros.
27398         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
27399         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
27400         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
27401         * tests/minus-zero.h: Update comments.
27402
27403 2010-12-21  Bruno Haible  <bruno@clisp.org>
27404
27405         Tests for module 'ceil'.
27406         * modules/ceil-tests: New file.
27407         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
27408         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
27409
27410 2010-12-21  Bruno Haible  <bruno@clisp.org>
27411
27412         Tests for module 'floor'.
27413         * modules/floor-tests: New file.
27414         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
27415         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
27416
27417 2010-12-21  Bruno Haible  <bruno@clisp.org>
27418
27419         math: Fix indentation.
27420         * lib/math.in.h (floorf): Fix indentation.
27421
27422 2010-12-21  Bruno Haible  <bruno@clisp.org>
27423
27424         Fix cross-compilation guesses on Solaris.
27425         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
27426         not match "solaris2.10".
27427         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27428         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
27429         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
27430
27431 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
27432
27433         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
27434         This fixes a problem observed with the latest coreutils snapshot
27435         that caused a test to fail on Solaris 8.  src/csplit.c's call
27436         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
27437         earlier, instead of returning the number of bytes that would have
27438         been generated; this causes csplit to incorrectly report memory
27439         exhaustion.
27440         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
27441         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
27442         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
27443         comments to match.
27444         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
27445         Fix typo in matching older versions of Solaris: "solaris2.10"
27446         is matched by the shell pattern "solaris2.[0-9]*".  This matters
27447         only for guessing while cross-compiling.
27448         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
27449
27450 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
27451
27452         ftoastr: fix comment again
27453         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27454         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
27455         Also, simplify example a bit by using flags = 0.
27456
27457 2010-12-20  Bruno Haible  <bruno@clisp.org>
27458
27459         round*, trunc*: Update documentation regarding glibc.
27460         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
27461         * doc/posix-functions/round.texi: Likewise.
27462         * doc/posix-functions/roundl.texi: Likewise.
27463         * doc/posix-functions/truncf.texi: Likewise.
27464         * doc/posix-functions/trunc.texi: Likewise.
27465         * doc/posix-functions/truncl.texi: Likewise.
27466
27467 2010-12-20  Bruno Haible  <bruno@clisp.org>
27468
27469         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
27470         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
27471         * doc/posix-functions/round.texi: Likewise.
27472         * doc/posix-functions/roundl.texi: Likewise.
27473
27474 2010-12-20  Bruno Haible  <bruno@clisp.org>
27475
27476         ttyname_r: Add missing declaration on HP-UX 11.
27477         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
27478         HAVE_TTYNAME_R.
27479         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
27480         declared. Set HAVE_TTYNAME_R always.
27481         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27482         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
27483         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
27484         HAVE_TTYNAME_R.
27485         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
27486
27487 2010-12-20  Bruno Haible  <bruno@clisp.org>
27488
27489         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
27490         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
27491         * doc/posix-functions/getlogin_r.texi: Likewise.
27492         * tests/test-getlogin.c: Include <errno.h>.
27493         (main): Avoid test failure on HP-UX 11.11.
27494         * tests/test-getlogin_r.c (main): Likewise.
27495
27496 2010-12-20  Bruno Haible  <bruno@clisp.org>
27497
27498         getlogin_r: Add missing declaration on HP-UX 11.
27499         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
27500         declared also when it exists as a function.
27501         * doc/posix-functions/getlogin_r.texi: Document this workaround.
27502
27503 2010-12-20  Bruno Haible  <bruno@clisp.org>
27504
27505         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
27506         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
27507         through wcrtomb.
27508
27509 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
27510
27511         ftoastr: fix comment
27512         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27513         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
27514
27515 2010-12-19  Bruno Haible  <bruno@clisp.org>
27516
27517         isnan: Ensure it is a macro.
27518         * lib/math.in.h (isnan): Define as a macro if not already a macro.
27519         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
27520         Solaris.
27521
27522 2010-12-19  Bruno Haible  <bruno@clisp.org>
27523
27524         ldexpl test: Fix link error on OSF/1 5.1.
27525         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
27526
27527 2010-12-19  Bruno Haible  <bruno@clisp.org>
27528
27529         wctype: Make it work in C++ mode on OSF/1 5.1.
27530         * lib/wctype.in.h (iswblank): Declare but not define here.
27531         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
27532         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
27533         * modules/wctype (Files): Add lib/iswblank.c.
27534
27535 2010-12-19  Bruno Haible  <bruno@clisp.org>
27536
27537         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
27538         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
27539         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
27540
27541 2010-12-19  Bruno Haible  <bruno@clisp.org>
27542
27543         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
27544         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
27545         _POSIX_PII_SOCKET.
27546         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
27547         * doc/posix-functions/recvfrom.texi: Likewise.
27548         * doc/posix-functions/send.texi: Likewise.
27549         * doc/posix-functions/sendto.texi: Likewise.
27550
27551 2010-12-19  Bruno Haible  <bruno@clisp.org>
27552
27553         tcgetsid: Add missing declaration on OSF/1 5.1.
27554         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
27555         HAVE_TCGETSID.
27556         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
27557         Don't set HAVE_TCGETSID.
27558         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
27559         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
27560         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
27561         HAVE_TCGETSID.
27562         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
27563
27564 2010-12-19  Bruno Haible  <bruno@clisp.org>
27565
27566         stdio: Fix problem with popen() declaration on OSF/1 5.1.
27567         * lib/stdio.in.h: During the include_next statement, let recursive
27568         includes of this file include only the system header file.
27569
27570 2010-12-19  Bruno Haible  <bruno@clisp.org>
27571
27572         iconv_open: Fix regression from 2010-12-04.
27573         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
27574         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
27575
27576 2010-12-19  Bruno Haible  <bruno@clisp.org>
27577
27578         stdbool test: Avoid a gcc warning.
27579         * tests/test-stdbool.c (main): Fail if e1 is false.
27580         Reported by Jim Meyering.
27581
27582 2010-12-19  Jim Meyering  <meyering@redhat.com>
27583
27584         setenv: restore to working order
27585         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
27586         mistakenly removed.
27587         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
27588         HAVE_SETENV.
27589         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
27590         HAVE_SETENV.
27591
27592 2010-12-19  Bruno Haible  <bruno@clisp.org>
27593
27594         Document some different function declarations on OSF/1 5.1.
27595         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
27596         * doc/posix-functions/inet_ntop.texi: Likewise.
27597         * doc/posix-functions/gethostname.texi: Likewise.
27598         * lib/unistd.in.h (gethostname): Update comment.
27599
27600 2010-12-19  Bruno Haible  <bruno@clisp.org>
27601
27602         doc: Mention vasprintf-posix module.
27603         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
27604         the 'vasprintf-posix' module.
27605         * doc/glibc-functions/vasprintf.texi: Likewise.
27606
27607 2010-12-19  Bruno Haible  <bruno@clisp.org>
27608
27609         unsetenv: Add missing declaration on OSF/1 5.1.
27610         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
27611         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
27612         Don't set HAVE_UNSETENV. In the test program, set _BSD.
27613         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
27614         not HAVE_UNSETENV.
27615         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
27616         HAVE_UNSETENV.
27617         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
27618
27619 2010-12-19  Bruno Haible  <bruno@clisp.org>
27620
27621         setenv: Add missing declaration on OSF/1 5.1.
27622         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
27623         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
27624         declared. Don't set HAVE_SETENV.
27625         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
27626         not HAVE_SETENV.
27627         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
27628         HAVE_SETENV.
27629         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
27630
27631 2010-12-19  Bruno Haible  <bruno@clisp.org>
27632
27633         nl_langinfo tests: Avoid gcc warning.
27634         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
27635
27636 2010-12-19  Bruno Haible  <bruno@clisp.org>
27637
27638         mknod: Avoid error in C++ mode on OSF/1 with GCC.
27639         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
27640         _GL_CXXALIAS_SYS.
27641
27642 2010-12-19  Bruno Haible  <bruno@clisp.org>
27643
27644         stdbool: Relax test.
27645         * tests/test-stdbool.c (e): Don't require that casts from a variable's
27646         address to 'bool' work in static initializer, for compilers other than
27647         GCC.
27648
27649 2010-12-19  Bruno Haible  <bruno@clisp.org>
27650
27651         ftello: Add missing declaration on OSF/1 5.1.
27652         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
27653         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
27654         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
27655         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
27656         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
27657
27658 2010-12-19  Bruno Haible  <bruno@clisp.org>
27659
27660         fseeko: Add missing declaration on OSF/1 5.1.
27661         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
27662         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
27663         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
27664         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
27665         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
27666
27667 2010-12-19  Bruno Haible  <bruno@clisp.org>
27668
27669         fchdir: Add missing declaration on OSF/1 5.1.
27670         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
27671         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
27672         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
27673         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
27674         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
27675
27676 2010-12-19  Bruno Haible  <bruno@clisp.org>
27677
27678         relocatable-prog-wrapper: Separate from relocatable-prog.
27679         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
27680         uninstall-relocwrapper rule here.
27681         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
27682         Reported by Ian Beckwith <ianb@erislabs.net>.
27683
27684 2010-12-19  Bruno Haible  <bruno@clisp.org>
27685
27686         unistr/u8-mbsnlen: Add missing dependency.
27687         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
27688         Reported by Ian Beckwith <ianb@erislabs.net>.
27689
27690 2010-12-19  Bruno Haible  <bruno@clisp.org>
27691
27692         iconv: Make it possible again to use this module without 'iconv-h'.
27693         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
27694         if it is not defined.
27695         Reported by Ian Beckwith <ianb@erislabs.net>.
27696
27697 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
27698
27699         acl: port to Solaris 8 when copying from tmpfs to ufs
27700         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
27701         error number.  Problem observed on Solaris 8 with latest
27702         coreutils, with "mv A B", where A is on a tmpfs file system and B
27703         is on a ufs file system.  This caused coreutils' mv/part-symlink
27704         test to fail.
27705
27706         tests: set fail=0 at start
27707         * tests/init.sh (setup_): Move fail=0 initialization here ...
27708         (mktempd_): ... from here, so that tests can rely on fail being
27709         set to 0 initially.  This fixes a problem in coreutils; see:
27710         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
27711
27712 2010-12-18  Bruno Haible  <bruno@clisp.org>
27713
27714         memmem-simple: Stylistic changes.
27715         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
27716         Fix preprocessor directive indentation.
27717
27718 2010-12-15  Pádraig Brady <P@draigBrady.com>
27719
27720         memmem, memmem-simple: reorganize and expand empty needle check
27721         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
27722         functional checks to memmem-simple so that one has a fully functional
27723         memmem by using just this module.
27724         Restrict the performance only check to the memmem module.
27725         Also expand the empty needle check to ensure the correct
27726         pointer is returned, not just a non NULL pointer.
27727         * doc/glibc-functions/memmem.texi: Rearrange the portability
27728         documentation to correlate with the rearranged checks.
27729         Clarify exactly how the memmem and memmem-simple modules
27730         relate to each other.
27731
27732 2010-12-15  Pádraig Brady <P@draigBrady.com>
27733             Bruno Haible  <bruno@clisp.org>
27734
27735         Improve cross-compilation guesses for uClibc.
27736         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
27737         that uClibc does not have the glibc bug.
27738         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
27739         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
27740
27741 2010-12-14  Eric Blake  <eblake@redhat.com>
27742
27743         configmake: provide fallbacks for oldest supported autotools
27744         * m4/configmake.m4: New file.
27745         * modules/configmake (Files): Ship it.
27746         (configure.ac): Use it to guarantee fallbacks.
27747
27748 2010-12-13  Pádraig Brady <P@draigBrady.com>
27749
27750         read-file: Improve handling of large files
27751         * lib/read-file.c (fread_file): Minimize realloc()s
27752         for regular files, and better manage sizes around SIZE_MAX.
27753
27754 2010-12-13  Eric Blake  <eblake@redhat.com>
27755
27756         cloexec, fcntl: relax license
27757         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
27758         consent from all contributors.
27759         * modules/fcntl (License): Likewise.
27760
27761 2010-12-10  Bruno Haible  <bruno@clisp.org>
27762
27763         Tests for module 'pipe-posix'.
27764         * modules/pipe-posix-tests: New file.
27765         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
27766
27767 2010-12-10  Bruno Haible  <bruno@clisp.org>
27768
27769         pipe-posix: Make it work in C++ mode.
27770         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
27771         (pipe): Use common idiom, not a macro definition.
27772         * lib/pipe.c: New file.
27773         * m4/pipe.m4: New file.
27774         * modules/pipe-posix (Description): Enhance.
27775         (Files): Add lib/pipe.c, m4/pipe.m4.
27776         (configure.ac): Invoke gl_FUNC_PIPE.
27777         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
27778         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
27779         * tests/test-unistd-c++.cc: Check the signature of pipe.
27780
27781 2010-12-10  Bruno Haible  <bruno@clisp.org>
27782
27783         Rename module 'pipe' to 'spawn-pipe'.
27784         * modules/spawn-pipe: New file, renamed from modules/pipe.
27785         (Files, configure.ac, Makefile.am): Update.
27786         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
27787         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
27788         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
27789         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
27790         "spawn-pipe.h" instead of "pipe.h".
27791         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
27792         to gl_SPAWN_PIPE.
27793         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
27794         (Files, Makefile.am): Update.
27795         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
27796         Update.
27797         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
27798         Include "spawn-pipe.h" instead of "pipe.h".
27799         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
27800         * lib/javacomp.c: Likewise.
27801         * lib/javaversion.c: Likewise.
27802         * lib/pipe-filter-gi.c: Likewise.
27803         * lib/pipe-filter-ii.c: Likewise.
27804         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
27805         * modules/javacomp (Depends-on): Likewise.
27806         * modules/javaversion (Depends-on): Likewise.
27807         * modules/pipe-filter-gi (Depends-on): Likewise.
27808         * modules/pipe-filter-ii (Depends-on): Likewise.
27809         * MODULES.html.sh (Executing programs): Update.
27810         * NEWS: Mention the change.
27811
27812 2010-12-10  Eric Blake  <eblake@redhat.com>
27813
27814         pipe-posix: new module
27815         * modules/pipe-posix: New file.
27816         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
27817         (gl_UNISTD_H): Check for declaration.
27818         * modules/unistd (Makefile.am): Substitute it.
27819         * lib/unistd.in.h (pipe): Provide it for mingw.
27820         * doc/posix-functions/pipe.texi (pipe): Update documentation.
27821         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
27822
27823 2010-12-07  Bruno Haible  <bruno@clisp.org>
27824
27825         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
27826         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
27827         u8_strcmp_gnu.
27828         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
27829
27830 2010-12-06  Bruno Haible  <bruno@clisp.org>
27831
27832         Update internal documentation.
27833         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
27834
27835 2010-12-04  Bruno Haible  <bruno@clisp.org>
27836
27837         Put more information about failed tests into the test return codes.
27838         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
27839         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
27840         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
27841         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
27842         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
27843         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
27844         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
27845         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
27846         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
27847         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
27848         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
27849         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
27850         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
27851         * m4/stdint.m4 (gl_STDINT_H): Likewise.
27852         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
27853         returns a bit mask.
27854         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
27855         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
27856         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
27857         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
27858         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
27859         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
27860         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
27861         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
27862         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
27863         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
27864         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
27865         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
27866         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
27867         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
27868         * m4/link.m4 (gl_FUNC_LINK): Likewise.
27869         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
27870         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
27871         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
27872         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27873         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
27874         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27875         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
27876         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
27877         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
27878         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27879         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
27880         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
27881         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
27882         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
27883         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
27884         gl_PRINTF_PRECISION): Likewise.
27885         * m4/regex.m4 (gl_REGEX): Likewise.
27886         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
27887         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
27888         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
27889         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
27890         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
27891         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27892         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
27893         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
27894         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
27895         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
27896         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
27897         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
27898         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
27899         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
27900         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
27901         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
27902         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
27903         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27904         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
27905         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
27906         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
27907         enumerated value.
27908         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
27909
27910 2010-12-04  Bruno Haible  <bruno@clisp.org>
27911
27912         Update for Solaris 11 2010-11.
27913         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
27914         Express, released in November 2010.
27915
27916 2010-12-04  Bruno Haible  <bruno@clisp.org>
27917
27918         nproc: Relax license.
27919         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
27920         and Paul Eggert.
27921         Requested by Ludovic Courtès <ludo@gnu.org>.
27922
27923 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
27924
27925         utimecmp: fine-grained src to nearby coarse-grained dest
27926
27927         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
27928         and the source is on a file system with higher-resolution time
27929         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
27930         not work, and the time stamps are close together, the algorithm to
27931         determine the exact resolution from the read-back mtime was buggy:
27932         it had a "!=" where it should have had an "==".  This bug has been
27933         in the code ever since it was introduced to gnulib.
27934         Problem reported by Dan Jacobson in
27935         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
27936
27937 2010-11-30  Bruno Haible  <bruno@clisp.org>
27938
27939         strerror_r-posix: Fix autoconf test.
27940         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
27941
27942 2010-11-28  Bruno Haible  <bruno@clisp.org>
27943             Paul Eggert  <eggert@cs.ucla.edu>
27944
27945         Tests for module 'getdomainname'.
27946         * modules/getdomainname-tests: New file.
27947         * tests/test-getdomainname.c: New file, based on
27948         tests/test-gethostname.c.
27949
27950 2010-11-28  Bruno Haible  <bruno@clisp.org>
27951             Paul Eggert  <eggert@cs.ucla.edu>
27952
27953         getdomainname: Use the system function when possible.
27954         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
27955         (getdomainname): Replace if needed. Provide the declaration if it is
27956         missing. Don't use _GL_CXXALIAS_SYS_CAST.
27957         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
27958         (getdomainname): When the system has getdomainname, call the system
27959         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
27960         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
27961         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
27962         found in libnsl. Look for the declaration also in <netdb.h>. Replace
27963         the function if its second argument is of type 'int' or if it is found
27964         in libnsl.
27965         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
27966         <sys/systeminfo.h> and sysinfo().
27967         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
27968         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27969         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
27970         HAVE_GETDOMAINNAME.
27971         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
27972         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
27973         * doc/glibc-functions/getdomainname.texi: Document the problems with
27974         the getdomainname declaration.
27975
27976 2010-11-28  Bruno Haible  <bruno@clisp.org>
27977
27978         sys_socket: Ensure ss_family field on AIX.
27979         * lib/sys_socket.in.h (ss_family): New macro definition.
27980         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
27981         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
27982         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
27983         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
27984         * modules/sys_socket (Makefile.am): Substitute
27985         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
27986         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
27987
27988 2010-11-27  Bruno Haible  <bruno@clisp.org>
27989
27990         readline: Improve configure output.
27991         * m4/readline.m4 (gl_FUNC_READLINE): Make the
27992         "checking for readline..." result understandable.
27993
27994 2010-11-27  Bruno Haible  <bruno@clisp.org>
27995
27996         *printf-posix: Detect a bug on Solaris 10/x86.
27997         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
27998         for floating-point output.
27999         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
28000         directive.
28001         * tests/test-snprintf-posix.h (test_function): Likewise.
28002         * tests/test-sprintf-posix.h (test_function): Likewise.
28003         * tests/test-vasprintf-posix.c (test_function): Likewise.
28004         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
28005         * doc/posix-functions/printf.texi: Likewise.
28006         * doc/posix-functions/snprintf.texi: Likewise.
28007         * doc/posix-functions/sprintf.texi: Likewise.
28008         * doc/posix-functions/vfprintf.texi: Likewise.
28009         * doc/posix-functions/vprintf.texi: Likewise.
28010         * doc/posix-functions/vsnprintf.texi: Likewise.
28011         * doc/posix-functions/vsprintf.texi: Likewise.
28012         * doc/glibc-functions/obstack_printf.texi: Likewise.
28013         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
28014
28015 2010-11-27  Bruno Haible  <bruno@clisp.org>
28016
28017         Fix link error when module libunistring-optional is in use.
28018         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
28019         * modules/striconveha-tests (Makefile.am): Likewise.
28020
28021 2010-11-27  Bruno Haible  <bruno@clisp.org>
28022
28023         regex: Mention link dependencies.
28024         * modules/regex (Link): New section.
28025         * modules/rpmatch (Link): Likewise.
28026         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
28027
28028 2010-11-27  Bruno Haible  <bruno@clisp.org>
28029
28030         ftoastr: Fix compilation error on Solaris.
28031         * lib/ftoastr.c: Include <config.h>.
28032
28033 2010-11-27  Bruno Haible  <bruno@clisp.org>
28034
28035         getloadavg: Update documentation.
28036         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
28037
28038 2010-11-27  Bruno Haible  <bruno@clisp.org>
28039
28040         sys_socket: Fix test whether the functions are declared.
28041         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
28042         not <sys/select.h>.
28043
28044 2010-11-27  Bruno Haible  <bruno@clisp.org>
28045
28046         getpass: Make sure to get system declaration on some platforms.
28047         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
28048         gl_USE_SYSTEM_EXTENSIONS.
28049         * modules/getpass (Depends-on): Add extensions.
28050
28051 2010-11-26  Bruno Haible  <bruno@clisp.org>
28052
28053         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
28054         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
28055         'iconv' module is present.
28056         (ICONV_CONST): New macro.
28057         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
28058         ICONV_CONST.
28059         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
28060         set ICONV_CONST.
28061         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
28062         here.
28063         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
28064         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
28065         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
28066         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
28067         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
28068         present.
28069
28070 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
28071
28072         ftoastr: comment fix
28073         * lib/ftoastr.c: "little" -> "little or no" in comment
28074
28075 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
28076
28077         stdint: port to GCC 4.3 + OSX + Octave
28078         On this platform, stdint.h is buggy and defines int64_t to long
28079         long int.  The replacement defined it to long int, causing
28080         problems with C++ style name mangling.  Instead, trust the system
28081         definition if INT64_MAX is defined, and likewise for the unsigned
28082         variant.   Problem reported by Jarno Rajahalme in
28083         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
28084         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
28085         and don't mess with int64_t and INT64_MAX in this case.
28086         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
28087
28088 2010-11-24  Bruno Haible  <bruno@clisp.org>
28089
28090         doc: Corrections regarding MacOS X 10.4 and 10.5.
28091         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
28092         MacOS X.
28093         Reported by Simon Josefsson.
28094
28095 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
28096
28097         Uninstall ".bin" files installed by relocwrapper.
28098         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
28099         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
28100         unless it is already there.
28101
28102 2010-11-21  Bruno Haible  <bruno@clisp.org>
28103
28104         Update for NetBSD 5.0.
28105         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28106         NetBSD; the test fails on NetBSD 5.0.
28107         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28108         about NetBSD.
28109
28110 2010-11-21  Bruno Haible  <bruno@clisp.org>
28111
28112         Update for HP-UX 11.23 and HP-UX 11.31.
28113         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
28114         HP-UX.
28115
28116 2010-11-21  Bruno Haible  <bruno@clisp.org>
28117
28118         Update for MacOS X 10.5.
28119         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28120         MacOS X; the test fails on MacOS X 10.5.8.
28121         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28122         about MacOS X.
28123
28124 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
28125
28126         bootstrap: add bootstrap_sync option.
28127         See discussion at
28128         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
28129         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
28130         * build-aux/bootstrap: Accept --bootstrap-sync to update
28131         bootstrap if it is not identical to the local gnulib's
28132         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
28133         enable this by default.  Accept --no-bootstrap-sync to disable
28134         it.
28135
28136 2010-11-20  Bruno Haible  <bruno@clisp.org>
28137
28138         Ensure that <features.h> is included before __GLIBC__ is tested.
28139         * lib/printf-parse.h: Include <features.h>.
28140         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
28141         Reported by Mike Frysinger <vapier@gentoo.org>.
28142
28143         Ensure that <features.h> is included before __GLIBC__ is tested.
28144         * lib/wchar.in.h: Include <features.h>.
28145         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
28146         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
28147         Reported by Mike Frysinger <vapier@gentoo.org>.
28148
28149         Ensure that <features.h> is included before __GLIBC__ is tested.
28150         * lib/arpa_inet.in.h: Include <features.h>.
28151         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
28152         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
28153         Reported by Mike Frysinger <vapier@gentoo.org>.
28154
28155         Ensure that <features.h> is included before __GLIBC__ is tested.
28156         * build-aux/link-warning.h: Include <features.h>.
28157         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
28158         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
28159         Reported by Mike Frysinger <vapier@gentoo.org>.
28160
28161         Ensure that <features.h> is included before __GLIBC__ is tested.
28162         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
28163         Reported by Mike Frysinger <vapier@gentoo.org>.
28164
28165 2010-11-20  Bruno Haible  <bruno@clisp.org>
28166
28167         memmem: Fix autoconf test.
28168         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
28169
28170 2010-11-20  Bruno Haible  <bruno@clisp.org>
28171
28172         Port to uClibc.
28173         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
28174         * lib/fcntl.in.h: Likewise.
28175         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
28176         * lib/mbrtowc.c (mbrtowc): Likewise.
28177         * lib/relocatable.c (find_shared_library_fullname): Likewise.
28178         * lib/strerror_r.c: Likewise.
28179         * lib/unistr/u8-strnlen.c: Likewise.
28180         * lib/vasnprintf.c (decimal_point_char): Likewise.
28181         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
28182         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
28183         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
28184         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
28185         * tests/test-sigaction.c (handler, main): Likewise.
28186         * lib/freading.h: Treat uClibc like a non-glibc platform.
28187         * lib/freading.c: Likewise.
28188         * lib/gettext.h: Likewise.
28189         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
28190         Likewise.
28191         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
28192         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
28193         * lib/propername.c (proper_name_utf8): Likewise.
28194         * lib/spawn.in.h: Likewise.
28195         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
28196         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
28197         mem_cd_iconveh_internal): Likewise.
28198         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
28199         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
28200         strstr, strcasestr): Likewise.
28201         * lib/unicodeio.c (unicode_to_mb): Likewise.
28202         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
28203         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
28204         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
28205         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
28206         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
28207         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
28208         * lib/unistr/u8-stpncpy.c: Likewise.
28209         * lib/vasnprintf.c (VASNPRINTF): Likewise.
28210         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
28211         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28212         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28213         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
28214         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
28215         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
28216         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
28217         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
28218         Likewise.
28219         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
28220         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
28221         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
28222         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28223         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
28224         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28225         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
28226         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
28227         * tests/test-getopt.h (OPTIND_MIN): Likewise.
28228         * tests/test-striconveha.c (main): Likewise.
28229         * tests/test-vasnprintf-posix.c (test_function): Likewise.
28230         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
28231         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
28232         * doc/posix-functions/getline.texi: Likewise.
28233         Reported by Mike Frysinger <vapier@gentoo.org>.
28234
28235 2010-11-20  Bruno Haible  <bruno@clisp.org>
28236
28237         nproc: Fix condition.
28238         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
28239         HAVE_PTHREAD_AFFINITY_NP.
28240
28241 2010-11-20  Bruno Haible  <bruno@clisp.org>
28242
28243         Fix a comment.
28244         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
28245
28246 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
28247
28248         ftoastr: don't assume snprintf
28249         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
28250         Implement a subset of snprintf here, by using sprintf safely.
28251         * modules/ftoastr (Depends-on): Remove snprintf.
28252
28253 2010-11-19  Jim Meyering  <meyering@redhat.com>
28254
28255         test-rename.h: fix compilation failure
28256         * tests/test-rename.h (test_rename): Add omitted "}".
28257
28258 2010-11-17  Jim Meyering  <meyering@redhat.com>
28259
28260         maint.mk: add a URL discussing the no-@acronym policy
28261         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
28262
28263 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
28264
28265         ftoastr: depend on snprintf, improve comments
28266         * lib/ftoastr.c: Also mention Loitsch's draft.
28267         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
28268         needed in the current implementation, but it might simplify
28269         speeding up the code later.
28270         * modules/ftoastr: Depend on snprintf; this improves portability.
28271         Suggested by Bruno Haible in the same email.
28272
28273         ftoastr: port to hosts lacking strtof and strtold
28274         Problem reported by Bruno Haible in
28275         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
28276         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
28277         environment and strtold (and presumably strtof) are not available.
28278         * modules/ftoastr (Files): Add m4/c-strtod.m4.
28279         (configure.ac): Require gl_C99_STRTOLD.
28280
28281 2010-11-18  Bruno Haible  <bruno@clisp.org>
28282
28283         c-strtold: Avoid link error on AIX 7.
28284         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
28285         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
28286         (gl_C_STRTOLD): Test whether strtold_l exists.
28287         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28288
28289 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
28290
28291         intprops: new macro INT_BITS_STRLEN_BOUND
28292         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
28293         ftoastr.h.  This exposes an internal of intprops.h that was formerly
28294         not exposed.  Also, it uses a slightly tighter bound than before;
28295         though this makes no practical difference, we might as well be as
28296         tight as we easily can.
28297
28298         ftoastr: new module, for lossless conversion of floats to short strings
28299         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
28300         * modules/ftoastr: New files.
28301
28302 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
28303
28304         bootstrap: port to Solaris sed
28305         * build-aux/bootstrap (get_version): Port to Solaris sed.
28306         See Ralf Wildenhues's note in
28307         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
28308
28309 2010-11-14  Jim Meyering  <meyering@redhat.com>
28310
28311         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
28312         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
28313         and move definition closer to sole use.
28314
28315 2010-11-13  Jim Meyering  <meyering@redhat.com>
28316
28317         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
28318         Now we require at least autoconf-2.59, which means the work-around
28319         is no longer needed.
28320         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
28321         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
28322         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
28323         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
28324         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
28325
28326 2010-11-13  Bruno Haible  <bruno@clisp.org>
28327
28328         rename, renameat: Avoid test failures at NFS mounted locations.
28329         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
28330         functions.
28331         (test_rename): Use assert_nonexistent.
28332         * tests/test-rename.c: Include <dirent.h>.
28333         * tests/test-renameat.c: Likewise.
28334         Reported by Gary V. Vaughan <gary@gnu.org>.
28335
28336         rename, renameat: Document Linux bug with NFS
28337         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
28338         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
28339         * doc/posix-functions/renameat.texi: Likewise.
28340         Suggested by Eric Blake.
28341
28342 2010-11-13  Bruno Haible  <bruno@clisp.org>
28343
28344         rename test: Add comments.
28345         * tests/test-rename.h (test_rename): Add structure and comments.
28346
28347 2010-11-13  Eric Blake  <eblake@redhat.com>
28348
28349         maintainer-makefile: cover a few more files
28350         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
28351         scripts generated within C files, for libvirt.
28352
28353 2010-11-13  Bruno Haible  <bruno@clisp.org>
28354
28355         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
28356         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
28357         character, return the number of bytes that belong together, not always
28358         1.
28359         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
28360         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
28361         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
28362         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
28363         number of bytes of an invalid character.
28364         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
28365         (main): Invoke it.
28366         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
28367         results.
28368         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
28369         malformed byte sequences.
28370         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
28371         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
28372         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
28373         Reported by Ben Pfaff and Paolo Bonzini.
28374
28375 2010-11-13  Bruno Haible  <bruno@clisp.org>
28376
28377         openat: Work around glibc bug with fchownat() and empty file names.
28378         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
28379         (gl_FUNC_FCHOWNAT): Invoke it.
28380         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
28381         * doc/posix-functions/fchownat.texi: Document the glibc bug.
28382         Reported by Gary V. Vaughan <gary@gnu.org>.
28383
28384 2010-11-13  Bruno Haible  <bruno@clisp.org>
28385
28386         openat: Ensure autoconf macro ordering.
28387         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
28388         gl_USE_SYSTEM_EXTENSIONS.
28389         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
28390
28391 2010-11-13  Bruno Haible  <bruno@clisp.org>
28392
28393         Update comments.
28394         * lib/unistr/u8-check.c: Update file name in comments.
28395         * lib/unistr/u8-mblen.c: Likewise.
28396         * lib/unistr/u8-prev.c: Likewise.
28397         * lib/unistr/u8-strmblen.c: Likewise.
28398         * lib/unistr/u8-strmbtouc.c: Likewise.
28399
28400 2010-11-13  Jim Meyering  <meyering@redhat.com>
28401
28402         tests: avoid test failure on Solaris 10 due to lack of PATH export
28403         * tests/test-update-copyright.sh: Don't forget to export PATH.
28404
28405         init.sh: ensure that IFS is defined, just in case...
28406         * tests/init.sh (setup_): Ensure that IFS is defined,
28407         so that saving and restoring it works as expected.  This
28408         appears to be useful at least for an old version of dash
28409         from a long time ago (RH 6).  See here for details:
28410         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
28411
28412         maint.mk: tighten "test a == b" check
28413         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
28414         test to files that contain something like #!/bin/sh.
28415         Without this, coreutils would get two false positives in
28416         the comments of C source files.
28417
28418 2010-11-12  Eric Blake  <eblake@redhat.com>
28419
28420         bootstrap: fix typo in previous attempt
28421         * build-aux/bootstrap (buildreq): Correct the grouping.
28422         Reported by Paul Eggert.
28423
28424         maintainer-makefile: prohibit test x == x
28425         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
28426         Based on a report by Matthias Bolte.
28427
28428         bootstrap: allow FreeBSD gzip
28429         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
28430         which has no '.' and goes to stderr.
28431         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
28432         Reported by Matthias Bolte.
28433
28434         maintainer-makefile: check for i18n setup
28435         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
28436         will likely work.
28437
28438 2010-11-12  Bruno Haible  <bruno@clisp.org>
28439
28440         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
28441         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
28442         * lib/nanosleep.c (nanosleep): Likewise.
28443
28444 2010-11-11  Bruno Haible  <bruno@clisp.org>
28445
28446         fcntl-h: Fix for use of C++ on glibc systems.
28447         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
28448         also on glibc systems in C++ mode.
28449         Reported by Gary V. Vaughan <gary@gnu.org>.
28450
28451 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28452
28453         mknod: avoid false failure with dash
28454         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
28455
28456 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
28457
28458         unlink: Fix "is it should" typo in diagnostic.
28459         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
28460         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
28461
28462 2010-11-11  Bruno Haible  <bruno@clisp.org>
28463
28464         Tests for module 'strerror_r-posix'.
28465         * modules/strerror_r-posix-tests: New file.
28466         * tests/test-strerror_r.c: New file.
28467         * tests/test-string-c++.cc: Check the signature of strerror_r.
28468
28469         New module 'strerror_r-posix'.
28470         * lib/string.in.h (strerror_r): New declaration.
28471         * lib/strerror_r.c: New file.
28472         * m4/strerror_r.m4: New file.
28473         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
28474         of strerror_r.
28475         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
28476         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28477         * modules/strerror_r-posix: New file.
28478         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
28479         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28480         * doc/posix-functions/strerror_r.texi: Mention the new module and the
28481         portability problems.
28482
28483 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
28484
28485         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
28486         line is also considered for output. Quoted function name in shell
28487         command, so temporary files for functions like MyClass::operator()
28488         are removed correctly without errors.
28489
28490 2010-11-09  Bruno Haible  <bruno@clisp.org>
28491
28492         * doc/posix-functions/strerror.texi: List more failing platforms.
28493
28494         * doc/posix-functions/strerror.texi: Add a comment.
28495
28496 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
28497
28498         fdopendir: fix bug on MacOS X when low on file descriptors
28499
28500         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
28501         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
28502         All callers changed.
28503         (fdopendir): Invoke save_cwd at the top level, not after using
28504         multiple dup() calls to use up file descriptors.  Then retry
28505         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
28506         less than the maximum number of open file descriptors, because
28507         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
28508         on Mac OS X 10.6.4 for tar 1.24
28509         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
28510         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
28511         and for tar 1.25
28512         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
28513
28514 2010-11-07  Bruno Haible  <bruno@clisp.org>
28515
28516         vasnprintf: Support I flag on glibc systems.
28517         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
28518         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
28519         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
28520         snprintf function.
28521         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
28522         glibc systems.
28523         * tests/test-vasnprintf-posix3.c: New file.
28524         * modules/vasnprintf-posix-tests (Files): Add it.
28525         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
28526
28527 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
28528
28529         [html] Fix copy/paste bug: Use unique name for compiler warnings.
28530         * MODULES.html.sh: For compiler warnings, use name
28531         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
28532
28533 2010-11-05  Eric Blake  <eblake@redhat.com>
28534
28535         ceil, floor: avoid spurious failure with icc
28536         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
28537         [denormals-as-zero] when optimizing without -mieee-fp option.
28538         * tests/test-floorf2.c (floorf_reference): Likewise.
28539         * tests/test-ceilf1.c (dummy): New function.
28540         (main): Use it to outsmart icc's optimization.
28541         * tests/test-floorf1.c (dummy, main): Likewise.
28542
28543         tests: require working signbit
28544         * modules/ceilf-tests (Depends-on): Add signbit.
28545         * modules/ceill-tests (Depends-on): Likewise.
28546         * modules/floorf-tests (Depends-on): Likewise.
28547         * modules/floorl-tests (Depends-on): Likewise.
28548         * modules/round-tests (Depends-on): Likewise.
28549         * modules/roundf-tests (Depends-on): Likewise.
28550         * modules/roundl-tests (Depends-on): Likewise.
28551         * modules/trunc-tests (Depends-on): Likewise.
28552         * modules/truncf-tests (Depends-on): Likewise.
28553         * modules/truncl-tests (Depends-on): Likewise.
28554
28555         strtod: work around icc bug
28556         * lib/strtod.c (minus_zero): Define to working value.
28557         (strtod): Use it to avoid icc bug.
28558
28559         copysign: enhance tests
28560         * modules/copysign-tests (Files): Add minus-zero.h.
28561         * tests/test-copysign.c (main): Also test zeros.
28562
28563 2010-11-04  Eric Blake  <eblake@redhat.com>
28564
28565         ceil, floor, round, trunc: enhance tests of -0
28566         * tests/test-ceilf1.c (main): Ensure correct sign of result.
28567         * tests/test-ceill.c (main): Likewise.
28568         * tests/test-floorf1.c (main): Likewise.
28569         * tests/test-floorl.c (main): Likewise.
28570         * tests/test-round1.c (main): Likewise.
28571         * tests/test-roundf1.c (main): Likewise.
28572         * tests/test-roundl.c (main): Likewise.
28573         * tests/test-trunc1.c (main): Likewise.
28574         * tests/test-truncf1.c (main): Likewise.
28575         * tests/test-truncl.c (main): Likewise.
28576
28577 2010-11-04  Eric Blake  <eblake@redhat.com>
28578
28579         frexp, tests: work around ICC bug with -zero
28580         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
28581         works with more compilers.
28582         * tests/minus-zero.h: New file.
28583         * modules/ceilf-tests (Files): Include it.
28584         * modules/ceill-tests (Files): Likewise.
28585         * modules/floorf-tests (Files): Likewise.
28586         * modules/floorl-tests (Files): Likewise.
28587         * modules/frexp-nolibm-tests (Files): Likewise.
28588         * modules/frexp-tests (Files): Likewise.
28589         * modules/frexpl-nolibm-tests (Files): Likewise.
28590         * modules/frexpl-tests (Files): Likewise.
28591         * modules/isnan-tests (Files): Likewise.
28592         * modules/isnand-nolibm-tests (Files): Likewise.
28593         * modules/isnand-tests (Files): Likewise.
28594         * modules/isnanf-nolibm-tests (Files): Likewise.
28595         * modules/isnanf-tests (Files): Likewise.
28596         * modules/isnanl-nolibm-tests (Files): Likewise.
28597         * modules/isnanl-tests (Files): Likewise.
28598         * modules/round-tests (Files): Likewise.
28599         * modules/roundf-tests (Files): Likewise.
28600         * modules/roundl-tests (Files): Likewise.
28601         * modules/ldexpl-tests (Files): Likewise.
28602         * modules/signbit-tests (Files): Likewise.
28603         * modules/snprintf-posix-tests (Files): Likewise.
28604         * modules/sprintf-posix-tests (Files): Likewise.
28605         * modules/strtod-tests (Files): Likewise.
28606         * modules/trunc-tests (Files): Likewise.
28607         * modules/truncf-tests (Files): Likewise.
28608         * modules/truncl-tests (Files): Likewise.
28609         * modules/vsnprintf-posix-tests (Files): Likewise.
28610         * modules/vsprintf-posix-tests (Files): Likewise.
28611         * modules/vasnprintf-posix-tests (Files): Likewise.
28612         * modules/vasprintf-posix-tests (Files): Likewise.
28613         * tests/test-ceilf1.c (main): Use it.
28614         * tests/test-ceill.c (main): Likewise.
28615         * tests/test-floorf1.c (main): Likewise.
28616         * tests/test-floorl.c (main): Likewise.
28617         * tests/test-frexp.c (main): Likewise.
28618         * tests/test-frexpl.c (main): Likewise.
28619         * tests/test-isnan.c (main): Likewise.
28620         * tests/test-isnand.h (main): Likewise.
28621         * tests/test-isnanf.h (main): Likewise.
28622         * tests/test-isnanl.h (main): Likewise.
28623         * tests/test-ldexpl.c (main): Likewise.
28624         * tests/test-round.c (main): Likewise.
28625         * tests/test-roundf.c (main): Likewise.
28626         * tests/test-roundl.c (main): Likewise.
28627         * tests/test-signbit.c (test_signbitf, test_signbitd)
28628         (test_signbitl): Likewise.
28629         * tests/test-snprintf-posix.h (test_function): Likewise.
28630         * tests/test-sprintf-posix.h (test_function): Likewise.
28631         * tests/test-strtod.c (main): Likewise.
28632         * tests/test-trunc1.c (main): Likewise.
28633         * tests/test-truncf1.c (main): Likewise.
28634         * tests/test-truncl.c (main): Likewise.
28635
28636         isnanl: work around icc bug
28637         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
28638
28639 2010-11-03  Eric Blake  <eblake@redhat.com>
28640
28641         tests: fix compiler warnings
28642         * tests/test-getopt.h (test_getopt): Fix condition.
28643         * tests/test-getopt_long.h (test_getopt_long): Likewise.
28644         * tests/test-pipe2.c (main): Likewise.
28645         * tests/test-quotearg-simple.c (main): Avoid icc warning.
28646
28647         utimens: fix broken m4 test
28648         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
28649
28650 2010-10-28  Bruno Haible  <bruno@clisp.org>
28651
28652         posix_spawn*, getdtablesize: Relax license.
28653         * modules/posix_spawn (License): Change to LGPLv2+.
28654         * modules/posix_spawnp (License): Likewise.
28655         * modules/posix_spawn-internal (License): Likewise.
28656         * modules/posix_spawnattr_init (License): Likewise.
28657         * modules/posix_spawnattr_getflags (License): Likewise.
28658         * modules/posix_spawnattr_setflags (License): Likewise.
28659         * modules/posix_spawnattr_getpgroup (License): Likewise.
28660         * modules/posix_spawnattr_setpgroup (License): Likewise.
28661         * modules/posix_spawnattr_getschedparam (License): Likewise.
28662         * modules/posix_spawnattr_setschedparam (License): Likewise.
28663         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
28664         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
28665         * modules/posix_spawnattr_getsigdefault (License): Likewise.
28666         * modules/posix_spawnattr_setsigdefault (License): Likewise.
28667         * modules/posix_spawnattr_getsigmask (License): Likewise.
28668         * modules/posix_spawnattr_setsigmask (License): Likewise.
28669         * modules/posix_spawnattr_destroy (License): Likewise.
28670         * modules/posix_spawn_file_actions_init (License): Likewise.
28671         * modules/posix_spawn_file_actions_addclose (License): Likewise.
28672         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
28673         * modules/posix_spawn_file_actions_addopen (License): Likewise.
28674         * modules/posix_spawn_file_actions_destroy (License): Likewise.
28675         * modules/getdtablesize (License): Likewise.
28676         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
28677
28678 2010-10-26  Bruno Haible  <bruno@clisp.org>
28679
28680         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
28681         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
28682         Cygwin and mingw.
28683         Suggested by Eric Blake.
28684
28685 2010-10-26  Bruno Haible  <bruno@clisp.org>
28686
28687         stdio: Work around compilation error due to renameat() on Solaris 10.
28688         * lib/stdio.in.h: Include <unistd.h> on Solaris.
28689         * lib/renameat.c: Don't include <unistd.h> here.
28690         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
28691         Reported by Paul Eggert and Eric Blake.
28692
28693 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
28694
28695         renameat: port to Solaris 10, which declares renameat in unistd.h
28696
28697         * lib/renameat.c: Include unistd.h before stdio.h, because
28698         Solaris 10 declares renameat in unistd.h.  Problem encountered
28699         when building GNU tar 1.24 on Solaris 10.
28700
28701 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28702
28703         fdopendir: fix C89 compilation
28704         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
28705         compilers.
28706
28707 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
28708
28709         inttostr: simplify by removing unnecessary redundancy
28710         * lib/anytostr.c: Don't include verify.h.
28711         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
28712         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
28713         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
28714         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
28715         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
28716         Likewise.
28717         * modules/inttostr (Depends-on): Remove 'verify'.
28718
28719 2010-10-23  Bruno Haible  <bruno@clisp.org>
28720
28721         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
28722         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
28723         Reported by Eric Blake.
28724
28725 2010-10-23  Bruno Haible  <bruno@clisp.org>
28726
28727         Tests: Fix LOCALE_JA on MirBSD 10.
28728         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
28729         to an UTF-8 locale.
28730         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
28731         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
28732         Reported by Eric Blake.
28733
28734 2010-10-21  Bruno Haible  <bruno@clisp.org>
28735
28736         nl_langinfo test: Avoid test failure on NetBSD 5.
28737         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
28738         Reported by Eric Blake.
28739
28740 2010-10-21  Eric Blake  <eblake@redhat.com>
28741
28742         c-stack: work around libsigsegv 2.8 bug
28743         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
28744         overflow on at least PowerPC64.
28745
28746 2010-10-17  Bruno Haible  <bruno@clisp.org>
28747
28748         userspec: Drop redundant file.
28749         * modules/userspec (Files): Remove lib/inttostr.h.
28750
28751 2010-10-17  Bruno Haible  <bruno@clisp.org>
28752
28753         nl_langinfo tests: Silence some warnings.
28754         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
28755         Reported by Jim Meyering.
28756
28757 2010-10-17  Bruno Haible  <bruno@clisp.org>
28758
28759         Make use of GCC's attribute __alloc_size__.
28760         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
28761         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
28762         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
28763         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
28764         __alloc_size__.
28765         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
28766         Suggested by Jim Meyering.
28767
28768 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
28769
28770         bootstrap: anchor .gitignore entries.
28771         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
28772         with...
28773         (insert_vc_ignore): ... this new function, which prepends `/' to
28774         all .gitignore entries before passing them to
28775         insert_sorted_if_absent.
28776
28777 2010-10-16  Bruno Haible  <bruno@clisp.org>
28778
28779         nextafter: Fix configure check.
28780         * modules/nextafter (configure.ac): Correct expected prototype.
28781
28782 2010-10-16  Bruno Haible  <bruno@clisp.org>
28783
28784         termios: Update documentation.
28785         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
28786
28787 2010-10-16  Bruno Haible  <bruno@clisp.org>
28788
28789         tests: Make them compile with TinyCC.
28790         * tests/test-strstr.c (main): Remove parentheses around array
28791         initializer.
28792
28793 2010-10-15  Eric Blake  <eblake@redhat.com>
28794
28795         ignore-value: make header idempotent
28796         * lib/ignore-value.h: Add double-inclusion guards.
28797         Reported by Stefan Berger.
28798
28799 2010-10-15  Jim Meyering  <meyering@redhat.com>
28800
28801         GNUmakefile: handle "stable" target, not "major"
28802         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
28803         lists in maint.mk and announce-gen.  Without this, "make stable"
28804         would fail to ensure that $(VERSION) is up to date.
28805
28806 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
28807
28808         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
28809         & co.
28810
28811 2010-10-14  Bruno Haible  <bruno@clisp.org>
28812
28813         vasnprintf: Don't set errno to 0.
28814         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
28815         block that sets it to 0.
28816         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
28817
28818 2010-10-14  Bruno Haible  <bruno@clisp.org>
28819
28820         socketlib: Fix.
28821         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
28822         gl_PREREQ_SYS_H_WINSOCK2.
28823         Reported by Ian Beckwith <ianb@erislabs.net>.
28824
28825 2010-10-13  Jim Meyering  <meyering@redhat.com>
28826
28827         test-select-stdin.c: avoid warn_unused_result warnings
28828         * tests/test-select-stdin.c: Include "macros.h".
28829         ASSERT that read and fflush succeed.
28830
28831 2010-10-13  Jim Meyering  <meyering@redhat.com>
28832
28833         git-version-gen: do require git-VC'd files in cwd
28834         * build-aux/git-version-gen: Reject a git version string
28835         if there are no commits associated with the current directory.
28836         This avoids an unlikely false-positive (unrelated dir whose parent
28837         repository also contains a tag matching v*), as pointed out
28838         by Giuseppe Scrivano in
28839         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
28840
28841 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
28842
28843         argv-iter: omit nonconforming declaration
28844         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
28845         enum arg_iter_err declaration, which doesn't conform to C99.
28846         Solaris 10 cc warns about this.
28847
28848 2010-10-13  Eric Blake  <eblake@redhat.com>
28849
28850         termios: fix compilation on mingw
28851         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
28852         (gl_TERMIOS_H): Adjust it on mingw.
28853         * modules/termios (Makefile.am): Substitute new key.
28854         * lib/termios.in.h (includes): Make include_next conditional.
28855         * doc/posix-headers/termios.texi (termios.h): Update
28856         documentation.
28857         Reported by Daniel P. Berrange.
28858
28859 2010-10-13  Jim Meyering  <meyering@redhat.com>
28860
28861         git-version-gen: don't require that .git/ be in the current dir
28862         * build-aux/git-version-gen: Adjust this script so that it works
28863         when run from any working directory beneath the top-level .git/-
28864         containing directory.  Inspired by a patch from Giuseppe Scrivano,
28865         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
28866
28867         test-select: avoid warn_unused_result warnings
28868         * tests/test-select.c: Include "macros.h".
28869         ASSERT that each call to read, write, and pipe succeeds.
28870         While not technically required, also check each "close".
28871         * modules/select-tests (Files): Add tests/macros.h.
28872
28873         test-symlinkat: remove declaration of unused local
28874         * tests/test-symlinkat.c (main): Remove unused local, "buf".
28875
28876         test-inttostr: avoid shadowing warnings
28877         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
28878         and use malloc rather than the stack for the same reason as
28879         mentioned in the comment justifying the other allocation.
28880
28881 2010-10-11  Bruno Haible  <bruno@clisp.org>
28882
28883         stdlib: Allow multiple gnulib generated replacements to coexist.
28884         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
28885         Reported by Sam Steingold <sds@gnu.org>.
28886
28887 2010-10-11  Jim Meyering  <meyering@redhat.com>
28888
28889         fix a documentation typo
28890         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
28891
28892 2010-10-11  Eric Blake  <eblake@redhat.com>
28893
28894         futimens: work around Solaris 11 bug
28895         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
28896         * tests/test-futimens.h (test_futimens): Enhance, rather than
28897         weaken test.
28898         * doc/posix-functions/futimens.texi (futimens): Document the bug.
28899
28900 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
28901
28902         Indentation.
28903         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
28904         higher-level operators more to the left.
28905
28906 2010-10-11  Jim Meyering  <meyering@redhat.com>
28907
28908         test-futimens: avoid unwarranted test failure on Solaris 5.11
28909         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
28910         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
28911         because it tries to dereference the NULL name argument.
28912
28913 2010-10-11  Bruno Haible  <bruno@clisp.org>
28914
28915         Indentation.
28916         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
28917         indentation.
28918
28919 2010-10-11  Jim Meyering  <meyering@redhat.com>
28920
28921         spawn.in.h: make indentation consistent with parentheses
28922         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
28923         Make indentation consistent with parentheses.
28924
28925 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
28926
28927         Fix mismatched parens in previous commit
28928         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
28929         parens.
28930
28931 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
28932
28933         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
28934
28935         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
28936         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
28937         * lib/malloca.c: Include "verify.h".
28938         (verify1): Remove, replacing with a verify call.
28939         * lib/relocwrapper.c (verify1): Likewise.
28940         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
28941         Likewise.
28942         * modules/malloca (Depends-on): Add 'verify'.
28943         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
28944         * modules/vasnprintf (Depends-on): Add 'verify'.
28945         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
28946         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28947         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28948         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28949         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28950         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28951         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28952
28953         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
28954
28955         Formerly the style was sometimes 2*X - 1, because the C standard
28956         was wrongly thought to disallow ?: in integral constant expressions.
28957         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
28958         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
28959         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
28960         * lib/stdint.in.h (_verify_intmax_size): Likewise.
28961         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
28962         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
28963         verify that time_t cannot be floating.
28964
28965 2010-10-08  Eric Blake  <eblake@redhat.com>
28966
28967         time: enforce recent POSIX ruling that time_t is integral
28968         * lib/time.in.h (__time_t_must_be_integral): Detect any
28969         problematic systems, allowing the rest of gnulib to assume POSIX.
28970
28971 2010-10-08  Jim Meyering  <meyering@redhat.com>
28972
28973         fdopendir: fix a bug on systems lacking openat and /proc support
28974         OpenBSD 4.7 is one such system.  The most noticeable effect was
28975         failure of any application making nontrivial use of fts: rm, du,
28976         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
28977           ./rm: traversal failed: `a': Bad file descriptor
28978         Debugging that, you see that even though FD 6 was closed just
28979         prior to the opendir call in fd_clone_opendir, its resulting
28980         dir->dd_fd was 8, rather than the expected value of 6:
28981
28982         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
28983         93                close (fd);
28984         (gdb) n
28985         94                dir = fd_clone_opendir (dupfd);
28986         (gdb) n
28987         95                saved_errno = errno;
28988         (gdb) p dir->dd_fd
28989         $11 = 8
28990
28991         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
28992         The problem is that on OpenBSD, fd_clone_opendir has to resort
28993         to using the old-style save/restore CWD mechanism, due to its
28994         lack of openat/proc support, and *that* would steal the FD (6)
28995         that opendir was supposed to use.
28996
28997         The fix is to squirrel away the desired FD so that save_cwd uses a
28998         different one, and then free the dest FD right before calling opendir.
28999         That guarantees opendir will use the required file descriptor.
29000
29001         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
29002
29003 2010-10-08  Bruno Haible  <bruno@clisp.org>
29004
29005         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
29006         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
29007
29008 2010-10-08  Bruno Haible  <bruno@clisp.org>
29009
29010         nanosleep: Make replacement POSIX compliant.
29011         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
29012         is out of range.
29013         Reported by Jim Meyering.
29014
29015 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
29016
29017         bootstrap: add hook for altering gnulib.mk, for Bison
29018         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
29019         the Bison bootstrapping process can rewrite file names and variables
29020         in this file before later parts of 'bootstrap' use the file.
29021         Bison wants to include lib/gnulib.mk from the top-level makefile,
29022         so it needs the file names in this file to be relative to the top
29023         level, not relative to lib; plus it needs variable names to be
29024         rewritten.
29025         (slurp): Use the new function.
29026
29027         bootstrap: reformat for readability
29028         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
29029
29030 2010-10-08  Eric Blake  <eblake@redhat.com>
29031
29032         docs: update cygwin progress
29033         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
29034         1.7.7.
29035         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
29036         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
29037         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
29038         * doc/posix-functions/carg.texi (carg): Likewise.
29039         * doc/posix-functions/cargf.texi (cargf): Likewise.
29040         * doc/posix-functions/casin.texi (casin): Likewise.
29041         * doc/posix-functions/casinf.texi (casinf): Likewise.
29042         * doc/posix-functions/casinh.texi (casinh): Likewise.
29043         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
29044         * doc/posix-functions/catan.texi (catan): Likewise.
29045         * doc/posix-functions/catanf.texi (catanf): Likewise.
29046         * doc/posix-functions/catanh.texi (catanh): Likewise.
29047         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
29048         * doc/posix-functions/ccos.texi (ccos): Likewise.
29049         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
29050         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
29051         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
29052         * doc/posix-functions/cexp.texi (cexp): Likewise.
29053         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
29054         * doc/posix-functions/cimag.texi (cimag): Likewise.
29055         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
29056         * doc/posix-functions/clog.texi (clog): Likewise.
29057         * doc/posix-functions/clogf.texi (clogf): Likewise.
29058         * doc/posix-functions/conj.texi (conj): Likewise.
29059         * doc/posix-functions/conjf.texi (conjf): Likewise.
29060         * doc/posix-functions/cpow.texi (cpow): Likewise.
29061         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
29062         * doc/posix-functions/cproj.texi (cproj): Likewise.
29063         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
29064         * doc/posix-functions/creal.texi (creal): Likewise.
29065         * doc/posix-functions/crealf.texi (crealf): Likewise.
29066         * doc/posix-functions/csin.texi (csin): Likewise.
29067         * doc/posix-functions/csinf.texi (csinf): Likewise.
29068         * doc/posix-functions/csinh.texi (csinh): Likewise.
29069         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
29070         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
29071         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
29072         * doc/posix-functions/ctan.texi (ctan): Likewise.
29073         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
29074         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
29075         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
29076         * doc/posix-headers/complex.texi (complex.h): Likewise.
29077
29078 2010-10-07  Jim Meyering  <meyering@redhat.com>
29079
29080         parse-datetime: avoid compilation failure on OpenBSD 4.7
29081         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
29082         This works around a compilation failure on OpenBSD 4.7:
29083         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
29084
29085 2010-10-07  Eric Blake  <eblake@redhat.com>
29086
29087         docs: update cygwin progress
29088         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
29089         1.7.6.
29090         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
29091         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
29092         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
29093         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
29094         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
29095         Likewise.
29096         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
29097         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
29098         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
29099         Likewise.
29100         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
29101         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
29102         Likewise.
29103         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
29104         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
29105         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
29106         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
29107         Likewise.
29108         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
29109         Likewise.
29110         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
29111
29112         docs: update parse-datetime history
29113         * doc/parse-datetime.texi (Authors of parse_datetime): Better
29114         documentation of this function's history and alternatives.
29115
29116         cygwin: use more robust version check
29117         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
29118         exclude an eventual cygwin 1.9.1.
29119         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29120         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29121         (gl_FUNC_STRCASESTR): Likewise.
29122         Reported by Bruno Haible.
29123
29124 2010-10-06  Bruno Haible  <bruno@clisp.org>
29125
29126         string, sys_select: Avoid #including large headers unless necessary.
29127         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
29128         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
29129         OSF/1, BeOS, Haiku.
29130         Reported by Jim Meyering.
29131
29132 2010-10-05  Eric Blake  <eblake@redhat.com>
29133
29134         memmem, strstr, strcasestr: fix bug with long periodic needle
29135         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
29136         periodic needle having false positive.
29137         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
29138         and cygwin 1.7.7.
29139         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
29140         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29141         (gl_FUNC_STRCASESTR): Likewise.
29142         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29143         * tests/test-memmem.c (main): Expose the bug.
29144         * tests/test-strcasestr.c (main): Likewise.
29145         * tests/test-strstr.c (main): Likewise.
29146         * tests/test-c-strcasestr.c (main): Likewise.
29147         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
29148         * doc/posix-functions/strstr.texi (strstr): Likewise.
29149         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
29150         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
29151
29152 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29153
29154         parse-datetime: do some more renaming
29155         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
29156         parse_datetime, not get_date.  Mention the renaming.
29157         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
29158         in comments.
29159         * m4/bison.m4: Likewise.
29160
29161 2010-10-05  Eric Blake  <eblake@redhat.com>
29162
29163         parse-datetime: better name than get_date
29164         * NEWS: Reword the deprecation notice.
29165         * modules/get_date: Rename to modules/parse-datetime.
29166         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
29167         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
29168         * lib/get_date.y: Rename to lib/parse-datetime.y.
29169         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
29170         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
29171         * doc/getdate.texi: Provide fallback wrapper.
29172         * lib/getdate.h: Move guts, and wrap...
29173         * lib/parse-datetime.h: ...new file.
29174         * lib/parse-datetime.y (get_date): Rename...
29175         (parse_datetime): ...to this.
29176         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
29177         (gl_PARSE_DATETIME): ...to this.
29178         * doc/posix-functions/getdate.texi (get_date): Provide fallback
29179         documentation.
29180         * modules/getdate (Files): Provide fallback docs and header.
29181         (Notice, Depends-on): Update references.
29182         * tests/test-parse-datetime.c: Likewise.
29183         * DEPENDENCIES: Likewise.
29184         * MODULES.html.sh (Date and time <time.h>): Likewise.
29185         * doc/parse-datetime.texi (Date input formats)
29186         (Authors of parse_datetime): Likewise.
29187         * modules/parse-datetime (Files, configure.ac, Makefile.am)
29188         (Include): Likewise.
29189         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
29190         * gnulib-tool: Likewise.
29191         * m4/bison.m4 (gl_BISON): Likewise.
29192         Suggested by Bruno Haible.
29193
29194 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29195
29196         more ports to Solaris tr, which needs [] around ranges
29197         * gnulib-tool: Solaris tr needs [] around ranges.
29198         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
29199         * tests/test-pipe-filter-gi1.c (main): Likewise.
29200         * tests/test-pipe-filter-ii1.c (main): Likewise.
29201
29202 2010-10-05  Eric Blake  <eblake@redhat.com>
29203
29204         bootstrap: fix Solaris regression
29205         * build-aux/bootstrap (check_versions): Solaris tr still needs []
29206         around ranges.
29207         Reported by Pádraig Brady.
29208
29209         bootstrap: work with pkg-config
29210         * build-aux/bootstrap (check_versions): Also transliterate - in
29211         prerequisite name.
29212         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
29213         prerequisites that were already found, to avoid confusion.
29214         Reported by Justin Clift.
29215
29216         faccessat: remove unused wrappers
29217         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
29218         presence of these wrappers dragged in -lgen on Solaris.
29219         Reported by Clemens Brogi; fix suggested by Paul Eggert.
29220
29221 2010-10-05  Jim Meyering  <meyering@redhat.com>
29222
29223         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
29224         * Makefile (sc_pragma_columns): New syntax-check rule.
29225
29226 2010-10-04  Bruno Haible  <bruno@clisp.org>
29227
29228         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
29229         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
29230         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
29231         Reported by Bruce Korb and Eric Blake.
29232
29233 2010-10-04  Bruno Haible  <bruno@clisp.org>
29234
29235         threadlib: Make option --with-libpth-prefix work.
29236         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
29237         use $LIBPTH, not just -lpth.
29238
29239 2010-10-04  Bruno Haible  <bruno@clisp.org>
29240
29241         Avoid line length limitation from HP NonStop system header files.
29242         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
29243         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
29244         * lib/ctype.in.h: Likewise.
29245         * lib/dirent.in.h: Likewise.
29246         * lib/errno.in.h: Likewise.
29247         * lib/fcntl.in.h: Likewise.
29248         * lib/float.in.h: Likewise.
29249         * lib/getopt.in.h: Likewise.
29250         * lib/iconv.in.h: Likewise.
29251         * lib/inttypes.in.h: Likewise.
29252         * lib/langinfo.in.h: Likewise.
29253         * lib/locale.in.h: Likewise.
29254         * lib/math.in.h: Likewise.
29255         * lib/netdb.in.h: Likewise.
29256         * lib/netinet_in.in.h: Likewise.
29257         * lib/poll.in.h: Likewise.
29258         * lib/pthread.in.h: Likewise.
29259         * lib/pty.in.h: Likewise.
29260         * lib/sched.in.h: Likewise.
29261         * lib/se-selinux.in.h: Likewise.
29262         * lib/search.in.h: Likewise.
29263         * lib/signal.in.h: Likewise.
29264         * lib/spawn.in.h: Likewise.
29265         * lib/stdarg.in.h: Likewise.
29266         * lib/stddef.in.h: Likewise.
29267         * lib/stdint.in.h: Likewise.
29268         * lib/stdio.in.h: Likewise.
29269         * lib/stdlib.in.h: Likewise.
29270         * lib/string.in.h: Likewise.
29271         * lib/strings.in.h: Likewise.
29272         * lib/sys_file.in.h: Likewise.
29273         * lib/sys_ioctl.in.h: Likewise.
29274         * lib/sys_select.in.h: Likewise.
29275         * lib/sys_socket.in.h: Likewise.
29276         * lib/sys_stat.in.h: Likewise.
29277         * lib/sys_time.in.h: Likewise.
29278         * lib/sys_times.in.h: Likewise.
29279         * lib/sys_utsname.in.h: Likewise.
29280         * lib/sys_wait.in.h: Likewise.
29281         * lib/sysexits.in.h: Likewise.
29282         * lib/termios.in.h: Likewise.
29283         * lib/time.in.h: Likewise.
29284         * lib/unistd.in.h: Likewise.
29285         * lib/wchar.in.h: Likewise.
29286         * lib/wctype.in.h: Likewise.
29287         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
29288         * modules/ctype (Makefile.am): Likewise.
29289         * modules/dirent (Makefile.am): Likewise.
29290         * modules/errno (Makefile.am): Likewise.
29291         * modules/fcntl-h (Makefile.am): Likewise.
29292         * modules/float (Makefile.am): Likewise.
29293         * modules/getopt-posix (Makefile.am): Likewise.
29294         * modules/iconv-h (Makefile.am): Likewise.
29295         * modules/inttypes (Makefile.am): Likewise.
29296         * modules/langinfo (Makefile.am): Likewise.
29297         * modules/locale (Makefile.am): Likewise.
29298         * modules/math (Makefile.am): Likewise.
29299         * modules/netdb (Makefile.am): Likewise.
29300         * modules/netinet_in (Makefile.am): Likewise.
29301         * modules/poll-h (Makefile.am): Likewise.
29302         * modules/pthread (Makefile.am): Likewise.
29303         * modules/pty (Makefile.am): Likewise.
29304         * modules/sched (Makefile.am): Likewise.
29305         * modules/search (Makefile.am): Likewise.
29306         * modules/selinux-h (Makefile.am): Likewise.
29307         * modules/signal (Makefile.am): Likewise.
29308         * modules/spawn (Makefile.am): Likewise.
29309         * modules/stdarg (Makefile.am): Likewise.
29310         * modules/stddef (Makefile.am): Likewise.
29311         * modules/stdint (Makefile.am): Likewise.
29312         * modules/stdio (Makefile.am): Likewise.
29313         * modules/stdlib (Makefile.am): Likewise.
29314         * modules/string (Makefile.am): Likewise.
29315         * modules/strings (Makefile.am): Likewise.
29316         * modules/sys_file (Makefile.am): Likewise.
29317         * modules/sys_ioctl (Makefile.am): Likewise.
29318         * modules/sys_select (Makefile.am): Likewise.
29319         * modules/sys_socket (Makefile.am): Likewise.
29320         * modules/sys_stat (Makefile.am): Likewise.
29321         * modules/sys_time (Makefile.am): Likewise.
29322         * modules/sys_times (Makefile.am): Likewise.
29323         * modules/sys_utsname (Makefile.am): Likewise.
29324         * modules/sys_wait (Makefile.am): Likewise.
29325         * modules/sysexits (Makefile.am): Likewise.
29326         * modules/termios (Makefile.am): Likewise.
29327         * modules/time (Makefile.am): Likewise.
29328         * modules/unistd (Makefile.am): Likewise.
29329         * modules/wchar (Makefile.am): Likewise.
29330         * modules/wctype (Makefile.am): Likewise.
29331
29332 2010-10-04  Bruno Haible  <bruno@clisp.org>
29333
29334         read-file tests: Avoid a test failure on NonStop Kernel.
29335         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
29336         a regular file.
29337         Reported by Joachim Schmitz <schmitz@hp.com>.
29338
29339 2010-10-03  Bruno Haible  <bruno@clisp.org>
29340
29341         gnulib-tool: Fixes for --create-testdir with --libtool.
29342         * gnulib-tool (func_get_automake_snippet): Don't augment
29343         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
29344         an executable.
29345         (func_create_testdir): Handle module 'alloca' like func_import.
29346         Reported by Bruce Korb <bruce.korb@gmail.com>.
29347
29348 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
29349
29350         Avoid some lines longer than 80 characters.
29351         * lib/stdint.in.h: Break long comment lines.
29352         * lib/math.in.h: Likewise.
29353         (_GL_NUM_UINT_WORDS): New macro, for readability.
29354         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
29355         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
29356         * lib/stdlib.in.h: Likewise.
29357         * lib/spawn.in.h: Likewise.
29358         * lib/sys_socket.in.h: Update an URL.
29359         * lib/sys_stat.in.h: Break long line.
29360
29361 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
29362
29363         Improve pmccabe2html.
29364         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
29365         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
29366         when the sources change. Remove the line in the HTML about "Used
29367         ranges" (which implied that there might be other unused ranges),
29368         rename "Resume" to "Summary" (easier to understand for more users).
29369         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
29370         styles, and some unnecessary blank lines.
29371
29372 2010-10-03  Bruno Haible  <bruno@clisp.org>
29373             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
29374
29375         acl: Add support for ACLs on NonStop Kernel.
29376         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
29377         Check whether the function aclsort() exists.
29378         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
29379         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
29380         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29381         (acl_nontrivial [HAVE_ACLSORT]: New function.
29382         (file_has_acl): Implement for NonStop Kernel.
29383         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29384         (qset_acl): Implement for NonStop Kernel.
29385         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
29386         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29387         (main): Implement for NonStop Kernel.
29388         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
29389         Kernel. Handle this flavor.
29390         * tests/test-set-mode-acl.sh: Likewise.
29391         * tests/test-copy-acl.sh: Likewise.
29392         * tests/test-copy-file.sh: Likewise.
29393
29394 2010-10-03  Bruno Haible  <bruno@clisp.org>
29395
29396         Info about ACLs on NonStop Kernel.
29397         * doc/acl-resources.txt: Add info about NonStop Kernel.
29398         References by Joachim Schmitz <schmitz@hp.com>.
29399
29400 2010-10-02  Bruno Haible  <bruno@clisp.org>
29401
29402         Define missing EDQUOT on NonStop Kernel.
29403         * lib/errno.in.h (EDQUOT): Assign a value if missing.
29404         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
29405         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
29406         missing.
29407         * doc/posix-headers/errno.texi: Mention the NSK bug.
29408         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
29409         Reported by Joachim Schmitz <schmitz@hp.com>.
29410
29411 2010-10-02  Bruno Haible  <bruno@clisp.org>
29412
29413         Update doc for POSIX:2008.
29414         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
29415         Update URL of POSIX specification.
29416
29417 2010-10-02  Bruno Haible  <bruno@clisp.org>
29418
29419         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
29420         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
29421         from gnulib, not from Automake.
29422
29423 2010-10-02  Bruno Haible  <bruno@clisp.org>
29424
29425         New module 'system-posix'.
29426         * modules/system-posix: New file.
29427         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
29428         module is present.
29429         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
29430         GNULIB_SYSTEM_POSIX.
29431         * modules/stdlib (Depends-on): Remove sys_wait.
29432         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
29433         * doc/posix-functions/system.texi: Mention the new module.
29434         * doc/posix-headers/stdlib.texi: Likewise.
29435         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
29436         define test_sys_wait_macros to a no-op.
29437         Reported by Sam Steingold <sds@gnu.org>.
29438
29439 2010-09-30  Bruno Haible  <bruno@clisp.org>
29440
29441         More renaming from 'getdate' to 'get_date'.
29442         * doc/get_date.texi: Renamed from doc/getdate.texi.
29443         * modules/get_date (Files): Update.
29444         * MODULES.html.sh (Date and time <time.h>): Update.
29445         * DEPENDENCIES: Update.
29446         * gnulib-tool: Update comment.
29447         * m4/bison.m4 (gl_BISON): Likewise.
29448         * m4/get_date.m4 (gl_GET_DATE): Likewise.
29449
29450 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
29451
29452         bootstrap: support ACLOCAL_FLAGS during aclocal
29453         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
29454         can add additional -I dir for third-party .m4 files.
29455
29456 2010-09-30  Eric Blake  <eblake@redhat.com>
29457
29458         bootstrap: use glibtoolize on MacOS
29459         * build-aux/bootstrap (check_versions): Convert libtool into
29460         libtoolize.
29461         (tool search): Move libtool check earlier, and look for
29462         glibtoolize for MacOS.
29463         (gnulib_tool_options): Auto-add --libtool when appropriate.
29464         Reported by Justin Clift.
29465
29466         poll: fix typo that broke test on MacOS
29467         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
29468         Reported by Justin Clift.
29469
29470         getdate: rename to get_date
29471         Note: getdate.h is not renamed, to minimize client impact.
29472         * modules/getdate: Mark obsolete.  Move old contents...
29473         * modules/get_date: ...to new module name.
29474         * modules/getdate-tests: Move...
29475         * modules/get_date-tests: ...here.
29476         * m4/getdate.m4: Move...
29477         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
29478         * lib/getdate.y: Move...
29479         * lib/get_date.y: ...here.
29480         * tests/test-getdate.c: Move...
29481         * tests/test-get_date.c: ...here.
29482         * doc/posix-functions/getdate.texi (getdate): Update name.
29483         * NEWS: Mention the change.
29484
29485 2010-09-29  Bruno Haible  <bruno@clisp.org>
29486
29487         Separate the module 'waitpid' from the module 'sys_wait'.
29488         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
29489         present.
29490         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
29491         gl_MODULE_INDICATOR_FOR_TESTS.
29492         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
29493         * modules/sys_wait (Depends-on): Remove waitpid.
29494         (Makefile.am): Substitute GNULIB_WAITPID.
29495         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
29496         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
29497         signature only if the 'waitpid' module is present.
29498         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
29499         * NEWS: Mention the change.
29500         * modules/grantpt (Depends-on): Add waitpid.
29501         * modules/wait-process (Depends-on): Likewise.
29502
29503 2010-09-29  Bruno Haible  <bruno@clisp.org>
29504
29505         More tests for module 'sys_wait'.
29506         * modules/sys_wait-c++-tests: New file.
29507         * tests/test-sys_wait-c++.cc: New file.
29508         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
29509         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29510
29511 2010-09-29  Bruno Haible  <bruno@clisp.org>
29512
29513         New module 'waitpid'.
29514         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
29515         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
29516         Don't include <process.h>.
29517         (waitpid): Declare only, using modern idiom.
29518         * m4/waitpid.m4: New file.
29519         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
29520         * modules/waitpid: New file.
29521         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
29522         (Makefile.am): Update.
29523         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29524
29525 2010-09-28  Bruno Haible  <bruno@clisp.org>
29526
29527         poll: Assume ANSI C.
29528         * lib/poll.c (poll): Use an ANSI C declaration.
29529
29530 2010-09-28  Bruno Haible  <bruno@clisp.org>
29531
29532         poll-h: Create poll.h on all platforms.
29533         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
29534         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
29535         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
29536         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
29537         (gl_REPLACE_POLL_H): Don't set POLL_H.
29538         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
29539         * modules/poll-h (Depends-on): Add include_next.
29540         (Makefile.am): Create poll.h unconditionally. Substitute also
29541         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
29542
29543 2010-09-28  Bruno Haible  <bruno@clisp.org>
29544
29545         Tests for module 'poll-h'.
29546         * modules/poll-h-c++-tests: New file.
29547         * tests/test-poll-h-c++.cc: New file.
29548
29549         Tests for module 'poll-h'.
29550         * modules/poll-h-tests: New file.
29551         * tests/test-poll-h.c: New file.
29552
29553 2010-09-28  Bruno Haible  <bruno@clisp.org>
29554
29555         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
29556         * modules/poll-h (Depends-on): Add 'extensions'.
29557
29558 2010-09-28  Bruno Haible  <bruno@clisp.org>
29559
29560         New module 'poll-h'.
29561         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
29562         (poll): Use modern idiom.
29563         * modules/poll-h: New file.
29564         * modules/poll (Files): Remove lib/poll.in.h.
29565         (Depends-on): Add poll-h.
29566         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
29567         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
29568         * m4/poll_h.m4: New file.
29569         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
29570         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
29571         and invoke gl_REPLACE_POLL_H.
29572         * lib/poll.c: Use common idiom.
29573         * tests/test-poll.c: Likewise.
29574         * doc/posix-headers/poll.texi: Mention the poll-h module.
29575         Suggested by Eric Blake.
29576
29577 2010-09-26  Bruno Haible  <bruno@clisp.org>
29578
29579         sys_wait: Implement WSTOPSIG.
29580         * lib/sys_wait.in.h (WSTOPSIG): New macro.
29581         Reported by Simon Josefsson.
29582
29583 2010-09-26  Simon Josefsson  <simon@josefsson.org>
29584
29585         stdlib, sys_wait: Avoid compilation error on mingw.
29586         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
29587
29588 2010-09-26  Bruno Haible  <bruno@clisp.org>
29589
29590         stdlib tests: Avoid code duplication.
29591         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
29592         * modules/sys_wait-tests (Files): Likewise.
29593         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
29594         * tests/test-stdlib.c: Include test-sys_wait.h.
29595         (main): Invoke test_sys_wait_macros.
29596         * tests/test-sys_wait.c: Include test-sys_wait.h.
29597         (main): Invoke test_sys_wait_macros.
29598
29599 2010-09-25  Simon Josefsson  <simon@josefsson.org>
29600
29601         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
29602         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
29603         sure Windows sockets are working before calling getaddrinfo.
29604         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
29605         * doc/gnulib.texi (Windows sockets): Fix typo.
29606
29607 2010-09-25  Bruno Haible  <bruno@clisp.org>
29608
29609         Tests for module 'regex-quote'.
29610         * modules/regex-quote-tests: New file.
29611         * tests/test-regex-quote.c: New file.
29612
29613         New module 'regex-quote'.
29614         * lib/regex-quote.h: New file.
29615         * lib/regex-quote.c: New file.
29616         * modules/regex-quote: New file.
29617         Suggested by Reuben Thomas <rrt@sc3d.org>.
29618
29619 2010-09-24  Bruno Haible  <bruno@clisp.org>
29620
29621         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
29622         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
29623
29624 2010-09-23  Bruno Haible  <bruno@clisp.org>
29625
29626         setenv: Relax license.
29627         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
29628         Blake.
29629         Requested by Eric Blake.
29630
29631 2010-09-22  Bruno Haible  <bruno@clisp.org>
29632
29633         termios: Relax license.
29634         * modules/termios (License): Change to LGPLv2+.
29635         Requested by Eric Blake.
29636
29637 2010-09-22  Bruno Haible  <bruno@clisp.org>
29638
29639         threadlib: Allow the package to change the default to 'no'.
29640         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
29641         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
29642         Reported by Paul Eggert.
29643
29644 2010-09-22  Pádraig Brady  <P@draigbrady.com>
29645             Bruno Haible  <bruno@clisp.org>
29646
29647         Fix endless loop in mbmemcasecoll.
29648         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
29649         byte.
29650         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
29651
29652 2010-09-22  Bruno Haible  <bruno@clisp.org>
29653
29654         Tests for module 'memcoll'.
29655         * modules/memcoll-tests: New file.
29656         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
29657
29658         memcoll, xmemcoll: Clarify size vs. length.
29659         * modules/memcoll.c (memcoll0): Clarify specification.
29660         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
29661         passed to collate_error.
29662
29663 2010-09-22  Bruno Haible  <bruno@clisp.org>
29664
29665         Tests for module 'memcasecmp'.
29666         * modules/memcasecmp-tests: New file.
29667         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
29668
29669 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
29670
29671         * lib/pthread.in.h: Add split double-inclusion guard, and include
29672         system <pthread.h> if there is one.  Use @@-style as in other
29673         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
29674         pthread.h doesn't.
29675         (pthread_mutexattr_destroy, pthread_mutexattr_init):
29676         (pthread_mutexattr_settype, pthread_mutex_trylock):
29677         New static inline functions, if there's no system <pthread.h>.
29678         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
29679         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
29680         Approximate with mutexes if the system lacks spinlocks, as in
29681         MacOS.
29682         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
29683         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
29684         @@-style.  Check for spinlocks separately.
29685         (gl_PTHREAD_DEFAULTS): New macro.
29686         * modules/pthread: Redo to use a more typical style for in.h files.
29687
29688 2010-09-21  Eric Blake  <eblake@redhat.com>
29689
29690         net_if: enhance tests
29691         * tests/test-net_if.c (main): Move signature checks earlier.
29692         Print failures to stderr.
29693         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
29694         Document the bug that we do not yet fix.
29695
29696 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
29697
29698         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
29699         about gnulib, not GSS.
29700
29701 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
29702
29703         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
29704         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
29705         for Emacs.
29706         * build-aux/pmccabe2html: Make Makefile.am example code more
29707         cut-and-paste friendly.
29708
29709 2010-09-21  Simon Josefsson  <simon@josefsson.org>
29710
29711         * tests/test-net_if.c: New file.
29712         * modules/net_if-tests: New file.
29713
29714 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
29715
29716         pthread: add pthread_spin_destroy
29717         * lib/pthread.in.h (pthread_spin_destroy): New function.
29718
29719 2010-09-19  Bruno Haible  <bruno@clisp.org>
29720
29721         gnulib-tool: Fix --help output.
29722         * gnulib-tool (func_usage): Fix help message.
29723         Reported by Reuben Thomas <rrt@sc3d.org>.
29724
29725 2010-09-18  Jim Meyering  <meyering@redhat.com>
29726
29727         maint.mk: avoid unexpanded \n in two diagnostics
29728         * top/maint.mk (sc_prohibit_always_true_header_tests):
29729         Don't use a literal \n in a halt=... assignment.  It would not be
29730         expanded, and the two \n bytes would appear in the diagnostic output
29731         rather than the desired newline.  Use halt=$$(printf ... instead.
29732         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
29733
29734 2010-09-18  Bruno Haible  <bruno@clisp.org>
29735
29736         netinet_in: Doc tweak.
29737         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
29738         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29739
29740 2010-09-18  Jim Meyering  <meyering@redhat.com>
29741
29742         init.sh: correct an outdated comment
29743         * tests/init.sh (create_exe_shims_):  s/function/alias/
29744
29745         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
29746         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
29747         a file named "*.exe" is removed between the glob expansion and the
29748         processing of that oddly named file.
29749
29750 2010-09-17  Eric Blake  <eblake@redhat.com>
29751
29752         mirbsd: add some more support
29753         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
29754         in BSD family.
29755         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
29756         devices as OpenBSD.
29757         * m4/host-os.m4 (mirbsd): Add MirBSD.
29758
29759         tests: fix unportable assumption on sys/wait.h
29760         * tests/test-sys_wait.c (main): Relax test.
29761         * tests/test-stdlib.c (main): Likewise.
29762
29763         init.sh: accommodate directory with no .exes
29764         * tests/init.sh: Accomodate directory containing only scripts.
29765
29766         tests: avoid compiler warning
29767         * tests/test-stdlib.c (main): Use the variable.
29768
29769         fdutimens, fdutimensat: update signature, again
29770         * lib/utimens.h (gl_futimens): Delete, and move signature...
29771         (fdutimens): ...here.
29772         (fdutimensat): Rearrange signature.
29773         (lutimensat): Rename variable for clarity.
29774         * lib/fdutimensat.c (fdutimensat): Update signature.
29775         * lib/utimens.c (fdutimens): Likewise.
29776         (gl_futimens): Delete.
29777         (utimens, lutimens): Update callers.
29778         * lib/futimens.c (futimens): Likewise.
29779         * tests/test-fdutimensat.c: Likewise.
29780         * tests/test-utimens.c: Likewise.
29781         * tests/test-futimens.h: Update comment.
29782         * NEWS: Mention this.
29783         Suggested by Paul Eggert.
29784
29785 2010-09-17  Bruno Haible  <bruno@clisp.org>
29786
29787         Take over the maintenance of some older macros from Autoconf.
29788         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
29789         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
29790         GNU Autoconf.
29791         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
29792         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
29793
29794 2010-09-17  Eric Blake  <eblake@redhat.com>
29795
29796         fdutimensat: drop atflag validation
29797         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
29798         with valid fd, to close a race scenario where futimens is
29799         unsupported and FILE was replaced by a symlink.
29800         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
29801         accordingly.
29802         Suggested by Paul Eggert.
29803
29804 2010-09-16  Bruno Haible  <bruno@clisp.org>
29805
29806         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
29807         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
29808
29809 2010-09-16  Bruno Haible  <bruno@clisp.org>
29810
29811         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
29812         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
29813         login_tty exists.
29814         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29815
29816 2010-09-16  Bruno Haible  <bruno@clisp.org>
29817
29818         login_tty: Make the replacement code work on BSD systems.
29819         * lib/login_tty.c: Include <sys/ioctl.h>.
29820         (login_tty): Use ioctl TIOCSCTTY when available.
29821         * modules/login_tty (Depends-on): Add sys_ioctl.
29822         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29823
29824 2010-09-16  Bruno Haible  <bruno@clisp.org>
29825
29826         login_tty: Stricter unit test.
29827         * modules/login_tty-tests (Depends-on): Add tcgetsid.
29828         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
29829         and tcgetsid() after login_tty.
29830         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29831
29832 2010-09-16  Bruno Haible  <bruno@clisp.org>
29833
29834         New module 'tcgetsid'.
29835         * lib/tcgetsid.c: New file.
29836         * m4/tcgetsid.m4: New file.
29837         * modules/tcgetsid: New file.
29838         * modules/termios (Depends-on): Add c++defs, warn-on-use.
29839         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
29840         GNULIB_TCGETSID, HAVE_TCGETSID.
29841         * lib/termios.in.h: Include <sys/types.h>.
29842         (tcgetsid): New declaration.
29843         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
29844         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
29845         * doc/posix-functions/tcgetsid.texi: Mention the new module.
29846         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
29847
29848 2010-09-16  Bruno Haible  <bruno@clisp.org>
29849
29850         Tests for module 'termios'.
29851         * modules/termios-c++-tests: New file.
29852         * modules/termios-tests: New file.
29853         * tests/test-termios-c++.cc: New file.
29854         * tests/test-termios.c: New file.
29855
29856         New module 'termios'.
29857         * modules/termios: New file.
29858         * lib/termios.in.h: New file.
29859         * m4/termios_h.m4: New file.
29860         * doc/posix-headers/termios.texi: Mention the new module.
29861
29862 2010-09-16  Eric Blake  <eblake@redhat.com>
29863
29864         fdutimensat: add an atflag parameter
29865         * lib/fdutimensat.c (fdutimensat): Add new parameter.
29866         * lib/utimens.h (fdutimensat): Update prototype.
29867         * tests/test-fdutimensat.c: Adjust test to match.
29868         * NEWS: Document the change.
29869         Suggested by Paul Eggert.
29870
29871 2010-09-16  Bruno Haible  <bruno@clisp.org>
29872
29873         Fix typos in comments.
29874         * lib/striconveh.h: Fix typo in comment.
29875         * lib/login_tty.c (login_tty): Likewise.
29876
29877 2010-09-15  Bruno Haible  <bruno@clisp.org>
29878
29879         stdlib: clarify MirBSD WEXITSTATUS bug
29880         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
29881         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29882
29883 2010-09-15  Eric Blake  <eblake@redhat.com>
29884
29885         stdlib: work around MirBSD WEXITSTATUS bug
29886         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
29887         * modules/stdlib (Depends-on): Add sys_wait.
29888         * tests/test-sys_wait.c (main): Enhance test.
29889         * tests/test-stdlib.c (main): Likewise.
29890         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
29891
29892         docs: mention MacOS issue with WEXITSTATUS(constant)
29893         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
29894         issue.
29895         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29896
29897         strnlen: add tests
29898         * modules/strnlen-tests: New file.
29899         * tests/test-strnlen.c: Likewise.
29900
29901 2010-09-14  Bruno Haible  <bruno@clisp.org>
29902
29903         unistr/base: Avoid link errors when module 'libunistring' is also used.
29904         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
29905         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
29906         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
29907         Declare also when HAVE_LIBUNISTRING is set.
29908         Reported by Pádraig Brady <P@draigbrady.com>.
29909
29910 2010-09-14  Eric Blake  <eblake@redhat.com>
29911
29912         test-rawmemchr: make more robust
29913         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
29914         (Depends-on, configure.ac): Add needed prerequisites to use it.
29915         * modules/memchr-tests (Files, Depends-on, configure.ac):
29916         Likewise, to avoid implicit reliance on memchr module prereqs.
29917         * tests/test-memchr.c (main): Ensure proper masking.
29918         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
29919         reads.
29920
29921         memchr: detect glibc Alpha bug
29922         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
29923         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
29924         Alpha.
29925         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
29926         * tests/test-memchr.c (main): Enhance test.
29927         Reported by Nelson H. F. Beebe.
29928
29929 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
29930
29931         fts, getcwd, glob: audit for dirfd returning -1
29932         * lib/fts.c (opendir): Remove #define; no longer used.
29933         (opendirat): New arg PDIR_FD.  All callers changed.
29934         (fts_build, _opendir2): Use new opendirat to avoid the need for
29935         dirfd, or for checking whether dirfd returns a negative value.
29936         Don't use opendir; always use openat followed by fdopendir.
29937         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
29938         it.
29939         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
29940         returns -1 here.
29941         * modules/fts (Depends-on): Remove dirfd.
29942         * modules/getcwd (Depends-on): Likewise.
29943
29944 2010-09-13  Eric Blake  <eblake@redhat.com>
29945
29946         float: fix broken MirBSD header
29947         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
29948         * doc/posix-headers/float.texi (float.h): Document it.
29949
29950 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
29951
29952         fts: use O_NOFOLLOW to avoid race condition when opening a directory
29953         * lib/fts.c (opendirat): New arg extra_flags.
29954         (__opendir2): Use it to avoid following symlinks when opening
29955         a directory, if symlinks are not supposed to be followed.  See
29956         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
29957
29958         fdopendir: preserve argument fd before returning
29959         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
29960         (fdopendir_with_dup, fd_clone_opendir): New static functions.
29961         (fdopendir): Use them, arranging for FD to be open to the same
29962         directory that it was when it started.  (It might be temporarily
29963         closed while fdopendir is running, so this not thread- or
29964         signal-safe.)  Be careful to do the right thing even when file
29965         descriptors are scarce and dup fails with errno == EMFILE.  See
29966         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
29967
29968 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
29969
29970         regex: Pass the system regex if its only problem is 32-bit regoff_t.
29971         * NEWS: Document change.
29972         * m4/regex.m4: Disable test for regoff_t size.
29973
29974 2010-09-13  Jim Meyering  <meyering@redhat.com>
29975
29976         fts: don't operate on an invalid file descriptor after failed dup
29977         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
29978         negative file descriptor.
29979
29980 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
29981
29982         savedir: add streamsavedir, deprecate fdsavedir
29983         * NEWS: Mention deprecation of fdsavedir.
29984         * lib/savedir.c (streamsavedir): New extern function, whose name
29985         ends in "savedir" to be consistent with the others.  This differs
29986         from savedirstream in that it doesn't close its argument.  The
29987         next version of GNU tar will use this instead of fdsavedir, to
29988         avoid some race conditions and conserve file descriptors.
29989         (savedirstream): Reimplement as a wrapper around streamsavedir.
29990         (fdsavedir): Add a comment deprecating this function.  As far as
29991         I know, only GNU tar used it, and GNU tar doesn't need it any more.
29992         * lib/savedir.h (streamsavedir): New decl.
29993         (fdsavedir): Add a comment deprecating this.
29994
29995 2010-09-10  Bruno Haible  <bruno@clisp.org>
29996
29997         langinfo: Fix last commit.
29998         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
29999         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
30000         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30001
30002 2010-09-10  Bruno Haible  <bruno@clisp.org>
30003
30004         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
30005         * lib/progreloc.c (O_EXEC): Define fallback.
30006
30007 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
30008
30009         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
30010         * NEWS: Document recent changes to fcntl-h.
30011         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
30012         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
30013         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
30014         Similarly for O_SEARCH; this last was already true, but not documented.
30015         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
30016         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
30017         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
30018         Likewise.
30019         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
30020         is zero, not whether it is defined.
30021         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
30022         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
30023         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
30024
30025 2010-09-10  Bruno Haible  <bruno@clisp.org>
30026
30027         langinfo, nl_langinfo: Fix for IRIX 5.3.
30028         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
30029         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
30030         HAVE_LANGINFO_YESEXPR.
30031         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
30032         HAVE_LANGINFO_YESEXPR.
30033         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
30034         HAVE_LANGINFO_T_FMT_AMPM is 0.
30035         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
30036         HAVE_LANGINFO_YESEXPR is 0.
30037         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
30038         NOEXPR.
30039         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
30040         * doc/posix-functions/nl_langinfo.texi: Likewise.
30041         Reported by Eric Blake.
30042
30043 2010-09-10  Bruno Haible  <bruno@clisp.org>
30044
30045         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
30046         * doc/glibc-functions/login_tty.texi: Mention the include file problem
30047         on FreeBSD 8.0 and OpenBSD 4.6.
30048         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
30049         * m4/pty_h.m4 (gl_PTY_H): Likewise.
30050         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
30051         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
30052         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
30053         ac_includes_default.
30054         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30055
30056 2010-09-09  Eric Blake  <eblake@redhat.com>
30057
30058         strsignal: work around NetBSD bug
30059         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
30060         * lib/string.in.h (includes): Likewise.
30061         * doc/posix-functions/strsignal.texi (strsignal): Document the
30062         bug.
30063         Reported by Nelson H. F. Beebe.
30064
30065         gnulib-tool: work with NetBSD /bin/sh
30066         * gnulib-tool (func_cache_var, func_cache_lookup_module)
30067         (func_get_description, func_get_comment, func_get_status)
30068         (func_get_notice, func_get_applicability, func_get_filelist)
30069         (func_get_dependencies, func_get_autoconf_early_snippet)
30070         (func_get_autoconf_snippet, func_get_automake_snippet)
30071         (func_get_include_directive, func_get_link_directive)
30072         (func_get_license, func_get_maintainer, func_import): Avoid
30073         shell syntax errors from parsing syntax extensions.
30074
30075 2010-09-09  Bruno Haible  <bruno@clisp.org>
30076
30077         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30078         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
30079         a reliable way to determine whether the 'alias' command works.
30080
30081 2010-09-08  Jim Meyering  <meyering@redhat.com>
30082
30083         init.sh: penalize a set-x-impaired shell; don't disqualify it
30084         * tests/init.sh: Too many shells corrupt application stderr when
30085         you set -x, so we can't afford to disqualify them, since at least
30086         on Irix-6.5, that would disqualify all bourne shells.
30087         Instead, use a two-pass approach.
30088         On the first pass, try to find a shell that meets the stricter
30089         condition that set -x does not corrupt stderr.
30090         If no shell meets the stricter condition, retest each candidate
30091         shell, but without that extra condition.  Finally, when
30092         VERBOSE=yes is requested and set -x might cause trouble, simply
30093         issue a warning and refrain from enabling debug output.
30094
30095 2010-09-08  Eric Blake  <eblake@redhat.com>
30096
30097         unsetenv: fix OpenBSD bug
30098         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
30099         * doc/posix-functions/unsetenv.texi (unsetenv): Update
30100         documentation.
30101         Reported by Jim Meyering.
30102
30103         strtod: work around IRIX 6.5 bug
30104         * lib/strtod.c (strtod): Reparse number on shorter string if
30105         exponent parse was invalid.
30106         * tests/test-strtod.c (main): Add check for "0x1p 2".
30107         Reported by Tom G. Christensen.
30108
30109         getopt: optimize previous patch
30110         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
30111         empty variable.  Speed up awk script.
30112         Reported by Paolo Bonzini.
30113
30114 2010-09-08  Jim Meyering  <meyering@redhat.com>
30115
30116         test.sh: disqualify shells for which set -x corrupts stderr
30117         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
30118         and OpenBSD 4.7.  They make it so with "set -x", environment settings
30119         appear in stderr output.  For example, this command:
30120             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
30121         prints "P=1" on those two systems:
30122
30123 2010-09-08  Bruno Haible  <bruno@clisp.org>
30124
30125         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30126         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
30127         commands, because some shells ignore redirections when there is an
30128         error in the command lookup.
30129         Reported by Eric Blake.
30130
30131 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
30132
30133         * lib/regex.h: Fix a mention of `regex_compile' (should be
30134         `re_compile_pattern').
30135         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
30136         (re_set_registers): Correct name of parameter in comment.
30137
30138         * doc/regex.texi: Add documentation for missing syntax flags.
30139         Remove commented-out documentation of defunct syntax option
30140         RE_NO_EMPTY_ALTS.
30141         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
30142         Add documentation of re_set_registers.
30143         Document trick to re-use a pattern buffer by setting fastmap manually.
30144         Update documentation of struct re_pattern_buffer per public members.
30145         Uncomment documentation of equivalence class operators and
30146         collating symbol operators, since they are now implemented,
30147         Explain leftmost-longest matching in relation to alternatives.
30148         Tidy documentation of substring matching.
30149         Remove POSIX documentation, which is done better in
30150         glibc, and refer the reader there. Keep BSD API documentation, as
30151         that is not readily available elsewhere.
30152
30153 2010-09-07  Eric Blake  <eblake@redhat.com>
30154
30155         getopt: handle POSIXLY_CORRECT set but not exported
30156         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
30157         export state of POSIXLY_CORRECT, due to bash set -o posix.
30158         Reported by Dustin J. Mitchell.
30159
30160 2010-09-05  Bruno Haible  <bruno@clisp.org>
30161
30162         gnulib-tool: Highlight the changed options.
30163         * gnulib-tool (func_usage): Display the --import, --add-import,
30164         --remove-import explanations in bold font.
30165
30166 2010-09-06  Karl Berry  <karl@gnu.org>
30167
30168         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
30169
30170 2010-09-05  Bruno Haible  <bruno@clisp.org>
30171
30172         uniwidth/width: Update comment.
30173         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
30174         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
30175
30176 2010-09-05  Bruno Haible  <bruno@clisp.org>
30177
30178         isinf, isnan: Relax license.
30179         * modules/isinf (License): Change from GPL to LGPL, with consent from
30180         Ben Pfaff.
30181         * modules/isnan (License): Likewise.
30182         Requested by Ludovic Courtès.
30183
30184 2010-09-04  Bruno Haible  <bruno@clisp.org>
30185
30186         gnulib-tool: Help migration from --import to --add-import or --update.
30187         * gnulib-tool: Emit a verbose error message when --import is used
30188         without any module name.
30189
30190 2010-09-04  Bruno Haible  <bruno@clisp.org>
30191
30192         Update doc about gnulib-tool.
30193         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
30194         'gnulib-tool --update' in more detail.
30195         Reported by Eric Blake.
30196
30197 2010-09-04  Bruno Haible  <bruno@clisp.org>
30198
30199         gnulib-tool: Change --import. New options --add/remove-import.
30200         * gnulib-tool: New options --add-import, --remove-import.
30201         (func_usage): Document them.
30202         (have_associative): Define always.
30203         (func_import): In import mode, don't merge the specified settings with
30204         the cached settings. Implement remove-import mode.
30205         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
30206         Explain when to use them versus --import.
30207         (Simple update): Use --add-import instead of --import.
30208         * NEWS: Mention the change.
30209
30210 2010-09-04  Bruno Haible  <bruno@clisp.org>
30211
30212         * doc/gnulib-tool.texi (Initial import): Update paragraph about
30213         separate gnulib.mk.
30214
30215 2010-09-04  Bruno Haible  <bruno@clisp.org>
30216
30217         gnulib-tool: Don't talk about CVS any more.
30218         * gnulib-tool (func_usage, func_import): Write "version control"
30219         instead of CVS.
30220
30221 2010-09-04  Jim Meyering  <meyering@redhat.com>
30222
30223         maint.mk: avoid obscure sc_copyright_check failure in coreutils
30224         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
30225         false positives (whose names may be ill-chosen) when searching
30226         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
30227         would cause a false-positive.
30228
30229         avoid coreutils "make distcheck" failure
30230         Coreutils tests with an absolute build directory name that contains
30231         a space.  Not quoting this directory name caused a failure.
30232         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
30233         * tests/test-vc-list-files-cvs.sh: Likewise.
30234
30235 2010-09-04  Bruno Haible  <bruno@clisp.org>
30236
30237         gnulib-tool: Avoid error when run in a package without Makefile.am.
30238         * gnulib-tool: When collecting the m4dirs in a package that does not
30239         have a Makefile.am, eliminate those directories that contain no
30240         gnulib-cache.m4. Fix expression that counts these directories.
30241
30242 2010-09-04  Bruno Haible  <bruno@clisp.org>
30243
30244         update-copyright test: Improve output when perl is missing or too old.
30245         * tests/test-update-copyright.sh: Move test of Perl version down after
30246         the test whether Perl exists. Provide an explanation relating Perl's
30247         error message to Automake's SKIP: message.
30248
30249 2010-09-04  Bruno Haible  <bruno@clisp.org>
30250
30251         Don't augment PATH in TESTS_ENVIRONMENT.
30252         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
30253         set abs_aux_dir instead of augmenting PATH.
30254         * modules/vc-list-files-tests (Makefile.am): Likewise.
30255         * tests/test-update-copyright.sh: Augment PATH here.
30256         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
30257         path_prepend_.
30258         * tests/test-vc-list-files-git.sh: Likewise.
30259
30260 2010-09-04  Jim Meyering  <meyering@redhat.com>
30261
30262         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
30263         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
30264
30265 2010-09-04  Bruno Haible  <bruno@clisp.org>
30266
30267         strdup: Fix compilation error in C++ mode.
30268         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
30269         the macro.
30270
30271 2010-09-04  Bruno Haible  <bruno@clisp.org>
30272
30273         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
30274         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
30275         macro into a function.
30276         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30277
30278 2010-09-04  Bruno Haible  <bruno@clisp.org>
30279
30280         Set PATH_SEPARATOR the same way autoconf does.
30281         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
30282         the value of PATH_SEPARATOR the same way autoconf-generated configure
30283         scripts do.
30284         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
30285         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
30286
30287 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
30288
30289         Set PATH_SEPARATOR the same way autoconf does.
30290         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
30291         the same way autoconf-generated configure scripts do.
30292         * posix-modules: Likewise.
30293
30294 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
30295
30296         hash: fix safe_hasher const typo
30297         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
30298         const; otherwise, there is a type error later.
30299
30300 2010-09-02  Jim Meyering  <meyering@redhat.com>
30301
30302         test-update-copyright.sh: require perl 5.8.0
30303         * tests/test-update-copyright.sh: Require 5.8.0,
30304         which Tom G. Christensen has confirmed is adequate,
30305         while 5.6.1 is not.
30306
30307 2010-09-02  Eric Blake  <eblake@redhat.com>
30308
30309         tests: init.sh improvements for re-exec'ing with zsh
30310         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
30311         -vx through shell re-exec.
30312         Reported by Tom G. Christensen.
30313
30314         wctype: fix typo in previous commit
30315         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
30316         Reported by Ludovic Courtès.
30317
30318 2010-09-02  Jim Meyering  <meyering@redhat.com>
30319
30320         test-update-copyright.sh: skip test if Perl is too old
30321         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
30322         Reported by Tom G. Christensen.
30323
30324 2010-09-02  Bruno Haible  <bruno@clisp.org>
30325
30326         wctype: Avoid compilation error on IRIX 6.5.30.
30327         * lib/wctype.in.h (iswblank): Declare with a replacement if
30328         REPLACE_ISWBLANK is set.
30329         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
30330         declared. Set REPLACE_ISWBLANK.
30331         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
30332         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
30333         * doc/posix-headers/wctype.texi: Likewise.
30334         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30335
30336 2010-09-01  Bruno Haible  <bruno@clisp.org>
30337
30338         New module 'socketlib'.
30339         * modules/socketlib: New file.
30340         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
30341         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
30342         * modules/sockets (Depends-on): Add socketlib.
30343         Suggested by Sam Steingold <sds@gnu.org>.
30344
30345 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
30346
30347         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
30348
30349         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
30350         when one needs search access to a directory but not read access.
30351         On systems where it is available, it works in some cases where
30352         O_RDONLY does not, namely on directories that are searchable but
30353         not readable, and which need only to be searchable.  If O_SEARCH
30354         is not available, fall back to the traditional method of using
30355         O_RDONLY.
30356
30357         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
30358         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
30359         when opening a directory that needs only to be searchable.
30360         * lib/chdir-safer.c (chdir_no_follow): Likewise.
30361         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
30362         * lib/openat-proc.c (openat_proc_name): Likewise.
30363         * lib/openat.c (openat_needs_fchdir): Likewise.
30364         * lib/save-cwd.c (save_cwd): Likewise.
30365         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
30366
30367 2010-08-28  Bruno Haible  <bruno@clisp.org>
30368
30369         New module 'host-cpu-c-abi'.
30370         * modules/host-cpu-c-abi: New file.
30371         * m4/host-cpu-c-abi.m4: New file, based on part of
30372         clisp/src/m4/general.m4.
30373         Requested by Sam Steingold <sds@gnu.org>.
30374
30375 2010-08-31  Eric Blake  <eblake@redhat.com>
30376         and Jim Meyering  <meyering@redhat.com>
30377
30378         hash: factor, and guard against misbehaving hasher function
30379         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
30380         of table->hasher's return value.  Also protect against a hash value
30381         so large that adding it to table->bucket results in a NULL pointer.
30382         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
30383         Use it in place of open-coded check-and-abort.
30384
30385 2010-08-30  Bruno Haible  <bruno@clisp.org>
30386
30387         hash: silence spurious clang warning
30388         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
30389         Reported by Eric Blake.
30390
30391 2010-08-30  Eric Blake  <eblake@redhat.com>
30392
30393         strstr, memmem, strcasestr: avoid leaked shell message
30394         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
30395         FreeBSD.
30396         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
30397         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
30398
30399         tests: silence clang warning
30400         * tests/test-malloca.c (do_allocation): Avoid dead store.
30401
30402 2010-08-29  Bruno Haible  <bruno@clisp.org>
30403
30404         gettext: Fix recent mistake.
30405         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
30406
30407 2010-08-29  Bruno Haible  <bruno@clisp.org>
30408
30409         selinux-h: Offer a --without-selinux option.
30410         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
30411         --without-selinux was specified, skip all tests and define
30412         HAVE_SELINUX_SELINUX_H to 0.
30413         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
30414         set LIB_SELINUX to empty.
30415         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
30416         gl_LIBSELINUX. If --without-selinux was specified, replace
30417         selinux/context.h.
30418         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
30419
30420 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30421             Bruno Haible  <bruno@clisp.org>
30422
30423         Make the module 'realloc-gnu' work again on AIX and OSF/1.
30424         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
30425         of HAVE_REALLOC.
30426         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
30427         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
30428         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
30429         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30430
30431 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30432             Bruno Haible  <bruno@clisp.org>
30433
30434         Make the module 'calloc-gnu' work again on AIX and OSF/1.
30435         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
30436         HAVE_CALLOC.
30437         * lib/xmalloc.c: Update accordingly.
30438         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
30439         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
30440         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
30441
30442 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30443             Bruno Haible  <bruno@clisp.org>
30444
30445         Make the module 'malloc-gnu' work again on AIX and OSF/1.
30446         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
30447         HAVE_MALLOC.
30448         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
30449         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
30450         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30451
30452 2010-08-29  Bruno Haible  <bruno@clisp.org>
30453
30454         Update modules list.
30455         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
30456         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
30457         (String handling <string.h>): Add astrxfrm.
30458         (File system functions): Add readlinkat.
30459
30460 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30461
30462         Tests for module 'realloc-gnu'.
30463         * modules/realloc-gnu-tests: New file.
30464         * tests/test-realloc-gnu.c: New file.
30465
30466         Tests for module 'calloc-gnu'.
30467         * modules/calloc-gnu-tests: New file.
30468         * tests/test-calloc-gnu.c: New file.
30469
30470         Tests for module 'malloc-gnu'.
30471         * modules/malloc-gnu-tests: New file.
30472         * tests/test-malloc-gnu.c: New file.
30473
30474 2010-08-28  Bruno Haible  <bruno@clisp.org>
30475
30476         Rename module 'realloc' -> 'realloc-gnu'.
30477         * modules/realloc-gnu: New file, copied from modules/realloc.
30478         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
30479         obsolete.
30480         * modules/mgetgroups (Depends-on): Update.
30481         * doc/posix-functions/realloc.texi: Update.
30482         * NEWS: Mention the change.
30483
30484         Rename module 'calloc' -> 'calloc-gnu'.
30485         * modules/calloc-gnu: New file, copied from modules/calloc.
30486         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
30487         obsolete.
30488         * doc/posix-functions/calloc.texi: Update.
30489         * NEWS: Mention the change.
30490
30491         Rename module 'malloc' -> 'malloc-gnu'.
30492         * modules/malloc-gnu: New file, copied from modules/malloc.
30493         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
30494         obsolete.
30495         * modules/argp (Depends-on): Update.
30496         * modules/regex (Depends-on): Update.
30497         * doc/posix-functions/malloc.texi: Update.
30498         * NEWS: Mention the change.
30499
30500 2010-08-28  Eric Blake  <eblake@redhat.com>
30501
30502         pread, pwrite: add missing dependency
30503         * modules/pread (Depends-on): Add extensions.
30504         * modules/pwrite (Depends-on): Likewise.
30505
30506 2010-08-28  Bruno Haible  <bruno@clisp.org>
30507
30508         unistr/u*-strchr: Fix tests dependencies.
30509         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
30510         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
30511         Reported by Ian Beckwith <ianb@erislabs.net>.
30512
30513 2010-08-28  Bruno Haible  <bruno@clisp.org>
30514
30515         read-file: Don't occupy too much unused memory.
30516         * lib/read-file.c (fread_file): Shrink the buffer at the end.
30517
30518 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
30519             Eric Blake  <eblake@redhat.com>
30520             Bruno Haible  <bruno@clisp.org>
30521
30522         read-file: Avoid memory reallocations with regular files.
30523         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
30524         (fread_file): With regular files, use the remaining length as the
30525         initial buffer size.  Check against overflow.
30526         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
30527         sys_stat.
30528
30529 2010-08-28  Bruno Haible  <bruno@clisp.org>
30530
30531         ftello: Relax license.
30532         * modules/ftello (License): Relax to LGPLv2+.
30533         Reported by Eric Blake.
30534
30535 2010-08-28  Bruno Haible  <bruno@clisp.org>
30536
30537         Avoid relocwrapper link errors due to gnulib replacement functions.
30538         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
30539         function.
30540         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30541
30542 2010-08-28  Bruno Haible  <bruno@clisp.org>
30543
30544         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
30545         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
30546         defined.
30547         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
30548         Suggested by Eric Blake.
30549
30550 2010-08-28  Bruno Haible  <bruno@clisp.org>
30551
30552         sys_socket, netdb: Ensure socklen_t gets defined.
30553         * modules/sys_socket (Depends-on): Add socklen.
30554         * modules/netdb (Depends-on): Likewise.
30555         * modules/getaddrinfo (Depends-on): Remove socklen.
30556         * modules/getsockopt (Depends-on): Likewise.
30557         * modules/setsockopt (Depends-on): Likewise.
30558         * tests/test-sys_socket.c: Check that socklen_t is defined.
30559         * tests/test-netdb.c: Likewise.
30560         * m4/socklen.m4: Update comments.
30561         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30562
30563 2010-08-27  Eric Blake  <eblake@redhat.com>
30564
30565         login_tty: add missing dependency
30566         * modules/login_tty (Depends-on): Add pty.
30567
30568 2010-08-26  Eric Blake  <eblake@redhat.com>
30569
30570         lib-symbol-versions: fix m4 quoting
30571         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
30572         format for AC_LINK_IFELSE.
30573
30574         glob: fix compile test
30575         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
30576
30577         btowc: fix missing file
30578         * modules/btowc (Files): Also ship locale-fr.m4.
30579
30580         lseek: fix link test
30581         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
30582         AC_LINK_IFELSE.
30583
30584         include_next: silence autoconf 2.68 warning
30585         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
30586         AC_COMPILE_IFELSE as special.
30587         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
30588         autoconf < 2.68.
30589
30590         acl: fix compilation test
30591         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
30592         AC_COMPILE_IFELSE.
30593
30594 2010-08-26  Bruno Haible  <bruno@clisp.org>
30595
30596         Modernize AC_TRY_RUN invocations.
30597         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
30598         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
30599         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
30600         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
30601         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
30602         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
30603         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
30604         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
30605         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30606         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30607         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
30608         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
30609         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
30610         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
30611         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
30612         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
30613         gl_MBRLEN_NUL_RETVAL): Likewise.
30614         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
30615         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
30616         Likewise.
30617         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
30618         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
30619         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
30620         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
30621         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
30622         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
30623         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
30624         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
30625         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
30626         Likewise.
30627         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
30628         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
30629         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
30630         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30631         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30632         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
30633         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
30634         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
30635         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
30636         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
30637
30638 2010-08-26  Bruno Haible  <bruno@clisp.org>
30639
30640         Modernize AC_TRY_LINK invocations.
30641         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
30642         AC_TRY_LINK.
30643         * m4/argp.m4 (gl_ARGP): Likewise.
30644         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
30645         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
30646         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
30647         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
30648         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
30649         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
30650         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
30651         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
30652         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
30653         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
30654         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
30655         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
30656         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
30657         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30658         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
30659         * m4/hostent.m4 (gl_HOSTENT): Likewise.
30660         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30661         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
30662         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
30663         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
30664         Likewise.
30665         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
30666         Likewise.
30667         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
30668         Likewise.
30669         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
30670         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
30671         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
30672         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
30673         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
30674         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
30675         * m4/servent.m4 (gl_SERVENT): Likewise.
30676         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
30677         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
30678         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
30679         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
30680         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30681         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
30682         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
30683         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30684         * modules/tsearch-tests (configure.ac): Likewise.
30685
30686 2010-08-26  Bruno Haible  <bruno@clisp.org>
30687
30688         Modernize AC_TRY_COMPILE invocations.
30689         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
30690         AC_TRY_COMPILE.
30691         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
30692         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
30693         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
30694         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
30695         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
30696         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
30697         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
30698         * m4/lock.m4 (gl_LOCK): Likewise.
30699         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
30700         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
30701         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
30702         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
30703         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
30704         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
30705         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
30706         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
30707         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
30708         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
30709         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
30710         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
30711         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
30712         extraneous semicolon.
30713
30714 2010-08-26  Jim Meyering  <meyering@redhat.com>
30715
30716         stat-time: relax license LGPL
30717         * modules/stat-time (License): Change from GPL to LGPL,
30718         with consent from all contributors, for use in libguile.
30719         Requested by Ludovic Courtès.
30720
30721 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
30722
30723         poll: return immediately on POLLHUP.
30724         * lib/poll.c (poll): Always set timeout before wait_timeout is
30725         computed.
30726
30727 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30728
30729         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
30730         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
30731         rmdir ("dir/.//"), unlinkat.
30732
30733 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
30734
30735         stdbool: avoid spurious failure with modern xlc
30736         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
30737
30738 2010-08-24  Bruno Haible  <bruno@clisp.org>
30739
30740         getloadavg: simplify code
30741         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
30742         gl_have_func. Update comments.
30743
30744 2010-08-24  Eric Blake  <eblake@redhat.com>
30745
30746         getloadavg: don't define SVR4 on cygwin
30747         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
30748         only define SVR4 when -lkvm is required.
30749         Reported by Yaakov Selkowitz.
30750
30751 2010-08-24  Bruno Haible  <bruno@clisp.org>
30752
30753         priv-set: fix comment
30754         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
30755
30756 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
30757
30758         priv-set: fix comments
30759         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
30760         to match code, as suggested by David Bartley in:
30761         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
30762
30763 2010-08-23  Eric Blake  <eblake@redhat.com>
30764
30765         stdbool: avoid rejecting clang
30766         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
30767         * tests/test-stdbool.c: Enable more tests if using the system
30768         <stdbool.h> instead of the gnulib replacement.
30769         (main): Move xlc bug test to a runtime test for all compilers.
30770         Reported by Anders Kaseorg.
30771
30772         argz: fix shell quoting issue
30773         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
30774         Reported by Charles Wilson.
30775
30776 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
30777             Erik Faye-Lund <kusmabite@gmail.com>
30778
30779         poll, select: handle ERROR_BROKEN_PIPE.
30780         * lib/poll.c (win32_compute_revents): Return POLLHUP when
30781         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
30782         * lib/select.c (win32_compute_revents): Do not mark a pipe
30783         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
30784
30785 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
30786
30787         fts: allow compilation with C++
30788         * lib/fts_.h: Specify extern "C" linkage with C++.
30789
30790 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30791
30792         Fix gnulib-tool sed script de-commentation for AIX sed.
30793         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
30794         sed.
30795
30796 2010-08-17  Eric Blake  <eblake@redhat.com>
30797
30798         test-stddef: test for (some) offsetof bugs
30799         * tests/test-stddef.c: Enhance test to ensure correct type of
30800         offsetof.
30801         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
30802         that we are not fixing at this time.
30803
30804 2010-08-15  Bruno Haible  <bruno@clisp.org>
30805
30806         stpncpy: Allow stpncpy to be defined as a macro.
30807         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
30808         if it's already correctly declared.
30809         * lib/string.in.h (stpncpy): Undefine before redefining.
30810         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
30811
30812 2010-08-14  Bruno Haible  <bruno@clisp.org>
30813
30814         Rename module 'memxfrm' to 'amemxfrm'.
30815         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
30816         (amemxfrm): Renamed from memxfrm.
30817         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
30818         (amemxfrm): Renamed from memxfrm.
30819         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
30820         * NEWS: Mention the change.
30821         * MODULES.html.sh (String handling <string.h>): Update.
30822         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
30823         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
30824         * lib/unicase/u16-casexfrm.c: Likewise.
30825         * lib/unicase/u32-casexfrm.c: Likewise.
30826         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
30827         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
30828         * lib/uninorm/u16-normxfrm.c: Likewise.
30829         * lib/uninorm/u32-normxfrm.c: Likewise.
30830         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
30831         memxfrm.
30832         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
30833         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
30834         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
30835         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
30836         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
30837         Suggested by Paul Eggert.
30838
30839 2010-08-14  Bruno Haible  <bruno@clisp.org>
30840
30841         Tests for module 'astrxfrm'.
30842         * modules/astrxfrm-tests: New file.
30843         * tests/test-astrxfrm.c: New file.
30844
30845         New module 'astrxfrm'.
30846         * lib/astrxfrm.h: New file.
30847         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
30848         * modules/astrxfrm: New file.
30849
30850 2010-08-14  Reuben Thomas <rrt@sc3d.org>
30851
30852         regex: Tweak doc.
30853         * doc/regex.texi (Overview): Don't mention regex.c.
30854         (GNU Regular Expression Compiling): Likewise.
30855         (Match-end-of-line Operator): Mention 'not_eol'.
30856
30857 2010-08-14  Brian Gough  <bjg@gnu.org>
30858             Bruno Haible  <bruno@clisp.org>
30859
30860         git-merge-changelog: add doc relating to use with bzr and hg.
30861         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
30862
30863 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
30864
30865         pthread: fix pthread.h creation for srcdir != builddir
30866         * modules/pthread (Makefile.am): Fix the rule to work also in a
30867         non-srcdir build.
30868
30869 2010-08-13  Karl Berry  <karl@gnu.org>
30870
30871         * doc/regex.texi (Predefined Syntaxes): @smallexample.
30872         * doc/posix-*/*: force line break before @url of POSIX
30873         specifications.
30874         Suggested by Werner Lemberg.
30875
30876 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
30877
30878         strtod: fix const diagnostic
30879         * lib/strtod.c (strtod): Don't assign const char * to char *,
30880         as this elicits a warning from GCC when warnings are enabled.
30881
30882 2010-08-10  Pádraig Brady <P@draigbrady.com>
30883         and Eric Blake  <eblake@redhat.com>
30884
30885         copy-acl: ignore ENOTSUP on HP-UX
30886         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
30887         so that it is available for HP-UX.
30888         * lib/copy-acl.c (qcopy_acl): Use it.
30889         Reported by Patrick M. Callahan.
30890
30891 2010-08-10  Eric Blake  <eblake@redhat.com>
30892
30893         open, chown: relax license
30894         * modules/open (License): Change to LGPLv2+, with consent by all
30895         authors, for use in augeas.
30896         * modules/chown (License): Likewise.
30897         * modules/lchown (Likewise): Likewise.
30898         Requested by Adam Stokes.
30899
30900 2010-08-09  Karl Berry  <karl@gnu.org>
30901
30902         * build-aux/ar-lib: new file, import from Automake.
30903         * config/srclist.txt: autocheck for updates.
30904
30905 2010-08-09  Eric Blake  <eblake@redhat.com>
30906
30907         readlinkat: adjust client modules
30908         * modules/areadlinkat (Depends-on): Use readlinkat, not
30909         symlinkat.
30910         * modules/areadlinkat-with-size (Depends-on): Likewise.
30911
30912         mknod: be more vocal about danger of running tests as root
30913         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
30914         root, since that is just asking for problems.
30915         Suggested by Bruno Haible, based on a report by Rainer Tammer.
30916
30917         readlinkat: split into its own module
30918         * modules/symlinkat: Split readlinkat...
30919         * modules/readlinkat: ...into separate module.
30920         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
30921         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
30922         * lib/symlinkat.c (readlinkat): Move...
30923         * lib/readlinkat.c: ...into new file.
30924         * modules/symlinkat-tests: Split readlinkat test...
30925         * modules/readlinkat-tests: ...into separate module.
30926         * tests/test-symlinkat.c: Split...
30927         * tests/test-readlinkat.c: ...into new file.
30928         * NEWS: Document the split.
30929         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
30930         * lib/unistd.in.h (readlinkat): Likewise.
30931         Suggested by Bruno Haible.
30932
30933 2010-08-08  Bruno Haible  <bruno@clisp.org>
30934
30935         memxfrm: Speed up.
30936         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
30937         that usually only one call to strxfrm is necessary for each string
30938         part.
30939         Reported by Paul Eggert <eggert@cs.ucla.edu>.
30940
30941 2010-08-07  Karl Berry  <karl@gnu.org>
30942
30943         * doc/posix-headers/limits.texi,
30944         * doc/posix-functions/malloc.texi,
30945         * doc/posix-functions/strsignal.texi: missing @item.
30946         * doc/ld-version-script.texi: spurious leading i.
30947         * doc/regex.texi (Interval Operators): no commas inside @var.
30948
30949 2010-08-01  Bruno Haible  <bruno@clisp.org>
30950
30951         Integrate the regex documentation.
30952         * doc/gnulib.texi: Define 'cn' index.
30953         (Regular expressions): New a chapter that includes regex.texi and
30954         regexprops-generic.texi.
30955         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
30956         syntax.
30957
30958         Whitespace cleanup.
30959         * doc/regex.texi: Remove trailing spaces.
30960
30961         Add regex documentation.
30962         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
30963         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
30964         Written by Kathy A. Hargreaves and Karl Berry.
30965
30966 2010-08-01  Bruno Haible  <bruno@clisp.org>
30967
30968         link: Update documentation.
30969         * doc/posix-functions/link.texi: Update regarding Solaris.
30970
30971 2010-07-31  Bruno Haible  <bruno@clisp.org>
30972
30973         Update modules list.
30974         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
30975         (String handling <string.h>): Add memcmp2, memxfrm.
30976         (Container data structures): Add xlist, xsublist, xoset.
30977         (Core language properties): Add alignof, unused-parameter.
30978         (Process control, Numeric conversion functions <stdlib.h>): Renamed
30979         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
30980         (Unibyte characters <ctype.h>): New section.
30981         (String handling <string.h>): New section.
30982         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
30983         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
30984         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
30985         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
30986         tan, tanh, tanl, y0, y1, yn.
30987         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
30988         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
30989         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
30990         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
30991         unlockpt, vdprintf, vdprintf-posix.
30992         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
30993         (File system functions): Add concat-filename, sys_file, sys_ioctl,
30994         xconcat-filename.
30995         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
30996         getdtablesize, pipe2, pipe2-safer.
30997         (Security): New section.
30998         (Networking functions): Add accept4.
30999         (Signal handling): Add sigpipe.
31000         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
31001         mbmemcasecoll.
31002         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
31003         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
31004         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
31005         pipe-filter-ii.
31006         (Misc): Add argp-version-etc, login_tty, parse-duration.
31007
31008 2010-07-31  Bruno Haible  <bruno@clisp.org>
31009
31010         Improve doc in MODULES.html.
31011         * modules/linkat (Description): Add the word "function".
31012         * modules/mkfifo (Description): Likewise.
31013         * modules/mknod (Description): Likewise.
31014         * modules/remove (Description): Likewise.
31015         * modules/renameat (Description): Likewise.
31016         * modules/stat (Description): Likewise.
31017         * modules/symlink (Description): Likewise.
31018         * modules/unlink (Description): Likewise.
31019
31020 2010-07-31  Bruno Haible  <bruno@clisp.org>
31021
31022         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
31023         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
31024         option --enable/disable-c++ instead of --enable/disable-cxx.
31025         * NEWS: Mention the change.
31026
31027 2010-07-31  Bruno Haible  <bruno@clisp.org>
31028
31029         readlink, areadlink: Relax test a bit.
31030         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
31031         alternative to ENOTDIR.
31032         * tests/test-areadlink.h (test_areadlink): Likewise.
31033         Reported by Rainer Tammer.
31034
31035 2010-07-31  Bruno Haible  <bruno@clisp.org>
31036
31037         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
31038         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
31039         character, perform the search using U_STRCHR.
31040         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
31041         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
31042         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
31043         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
31044         Suggested by Paolo Bonzini.
31045
31046 2010-07-31  Bruno Haible  <bruno@clisp.org>
31047
31048         unistr/u*-strstr: Fix dependencies.
31049         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
31050         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
31051         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
31052
31053 2010-07-31  Bruno Haible  <bruno@clisp.org>
31054
31055         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
31056         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
31057         the beginning of the loop.
31058         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
31059         cases in 'switch' statement.
31060
31061         unistr/u8-strchr: Fix several bugs.
31062         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
31063         the string. When not found, return NULL, not a pointer near the end.
31064
31065         More tests for unistr/u8-strchr.
31066         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
31067         that the function does not read past the first occurrence of the byte
31068         being searched.
31069         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
31070         * tests/unistr/test-u16-strchr.c (main): New function.
31071         * tests/unistr/test-u32-strchr.c (main): New function.
31072
31073 2010-07-31  Bruno Haible  <bruno@clisp.org>
31074
31075         posix-modules: Ignore backup files of documentation files.
31076         * posix-modules: grep only through files named *.texi.
31077
31078 2010-07-31  Bruno Haible  <bruno@clisp.org>
31079
31080         symlinkat: Fix documentation.
31081         * doc/posix-functions/readlinkat.texi: Fix module name.
31082
31083 2010-07-31  Bruno Haible  <bruno@clisp.org>
31084
31085         fchownat: Replace also when chown has the trailing slash bug.
31086         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
31087         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
31088         introduced on 2010-04-10.
31089         Reported by Rainer Tammer.
31090
31091 2010-07-31  Bruno Haible  <bruno@clisp.org>
31092
31093         linkat: Work around AIX 7.1 bug.
31094         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
31095         whether linkat handles trailing slash correctly. If not, replace linkat
31096         and define LINKAT_TRAILING_SLASH_BUG.
31097         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
31098         check whether (fd1,file1) points to a directory if file1 or file2 ends
31099         in a slash. Code taken from lib/link.c.
31100         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
31101         Reported by Rainer Tammer.
31102
31103 2010-07-31  Bruno Haible  <bruno@clisp.org>
31104
31105         Correctly determine whether pow is available in libc on AIX 7 with xlc.
31106         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
31107         This disables an xlc optimization that was causing wrong test results.
31108         Reported by Rainer Tammer.
31109
31110 2010-07-31  Bruno Haible  <bruno@clisp.org>
31111
31112         iconv: Work around AIX 6.1..7.1 bug.
31113         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
31114         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
31115         cross-compiling, guess no on all versions of AIX.
31116         Reported by Rainer Tammer.
31117
31118 2010-07-31  Bruno Haible  <bruno@clisp.org>
31119
31120         readlink: Relax test a bit.
31121         * tests/test-readlink.h (test_readlink): Allow different errno value
31122         when readlink is called with a file name that ends in / and refers to
31123         a file.
31124         Suggested by Eric Blake.
31125         Reported by Rainer Tammer.
31126
31127 2010-07-31  Bruno Haible  <bruno@clisp.org>
31128
31129         copysign: Does not require -lm on glibc systems.
31130         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
31131         gl_COMMON_DOUBLE_MATHFUNC.
31132         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
31133
31134 2010-07-31  Bruno Haible  <bruno@clisp.org>
31135
31136         duplocale: Work around AIX 7.1 bug.
31137         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
31138         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
31139         * lib/duplocale.c (rpl_duplocale): Update comment.
31140         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
31141         Reported by Rainer Tammer.
31142
31143 2010-07-30  Bruno Haible  <bruno@clisp.org>
31144
31145         dirfd: Avoid link error on AIX 7.1.
31146         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
31147         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
31148         exist, set REPLACE_DIRFD.
31149         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
31150         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
31151         * doc/posix-functions/dirfd.texi: Update.
31152         Reported by Rainer Tammer.
31153
31154 2010-07-30  Eric Blake  <eblake@redhat.com>
31155
31156         strtod: next round of AIX fixes
31157         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
31158         exponent.
31159         * tests/test-strtod.c (main): Enhance tests.
31160         * doc/posix-functions/strtod.texi (strtod): Document next bug.
31161         Reported by Rainer Tammer.
31162
31163         futimens: fix configure check
31164         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
31165         Reported by Bruno Haible.
31166
31167 2010-07-30  Bruno Haible  <bruno@clisp.org>
31168
31169         getline: Update regarding AIX.
31170         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
31171         Reported by Rainer Tammer.
31172
31173 2010-07-30  Bruno Haible  <bruno@clisp.org>
31174
31175         wcwidth: Drop replacement on AIX 7.
31176         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
31177         AIX 7.
31178         Reported by Rainer Tammer.
31179
31180 2010-07-30  Bruno Haible  <bruno@clisp.org>
31181
31182         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
31183         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
31184         a 'char *'.
31185         Reported by Rainer Tammer.
31186
31187 2010-07-30  Bruno Haible  <bruno@clisp.org>
31188
31189         unlink: Update regarding AIX.
31190         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
31191         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
31192         Reported by Rainer Tammer.
31193
31194 2010-07-30  Bruno Haible  <bruno@clisp.org>
31195
31196         symlink: Update regarding AIX.
31197         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
31198         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
31199         Reported by Rainer Tammer.
31200
31201 2010-07-30  Bruno Haible  <bruno@clisp.org>
31202
31203         strndup: Update regarding AIX.
31204         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
31205         AIX 7.
31206         Reported by Rainer Tammer.
31207
31208 2010-07-30  Bruno Haible  <bruno@clisp.org>
31209
31210         stat: Update regarding AIX.
31211         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
31212         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
31213         Reported by Rainer Tammer.
31214
31215 2010-07-30  Bruno Haible  <bruno@clisp.org>
31216
31217         truncl: Fix autoconf test.
31218         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
31219         whether truncl works.
31220         Reported by Rainer Tammer.
31221
31222 2010-07-30  Bruno Haible  <bruno@clisp.org>
31223
31224         round: Update regarding AIX.
31225         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
31226         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
31227         Reported by Rainer Tammer.
31228
31229 2010-07-30  Bruno Haible  <bruno@clisp.org>
31230
31231         rename: Update regarding AIX.
31232         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
31233         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
31234         Reported by Rainer Tammer.
31235
31236 2010-07-30  Bruno Haible  <bruno@clisp.org>
31237
31238         printf.m4: Update regarding AIX.
31239         * m4/printf.m4: Update comments regarding AIX.
31240         Reported by Rainer Tammer.
31241
31242 2010-07-30  Bruno Haible  <bruno@clisp.org>
31243
31244         iconv: Update regarding AIX.
31245         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
31246         AIX 7.
31247         Reported by Rainer Tammer.
31248
31249 2010-07-30  Bruno Haible  <bruno@clisp.org>
31250
31251         getopt: Update regarding AIX.
31252         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
31253         no on AIX.
31254         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
31255         Reported by Rainer Tammer.
31256
31257 2010-07-30  Bruno Haible  <bruno@clisp.org>
31258
31259         ldexpl; Update regarding AIX.
31260         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
31261         on AIX 7.
31262         Reported by Rainer Tammer.
31263
31264 2010-07-30  Bruno Haible  <bruno@clisp.org>
31265
31266         frexpl: Update regarding AIX.
31267         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
31268         on AIX 7.
31269         Reported by Rainer Tammer.
31270
31271 2010-07-30  Bruno Haible  <bruno@clisp.org>
31272
31273         open, fopen: Update regarding AIX.
31274         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
31275         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
31276         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
31277         * doc/posix-functions/fopen.texi: Likewise.
31278         Reported by Rainer Tammer.
31279
31280 2010-07-30  Bruno Haible  <bruno@clisp.org>
31281
31282         chown: Update doc regarding AIX.
31283         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
31284         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
31285         Reported by Rainer Tammer.
31286
31287 2010-07-30  Eric Blake  <eblake@redhat.com>
31288
31289         strtod: fix bug in replacement function on AIX
31290         * lib/strtod.c (strtod): Special case broken "0x" parse in
31291         underlying strtod.
31292         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
31293         * doc/posix-functions/strtod.texi (strtod): Likewise.
31294         Reported by Rainer Tammer.
31295
31296 2010-07-30  Bruno Haible  <bruno@clisp.org>
31297
31298         mbrlen: Fix cross-compilation guess for AIX.
31299         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
31300         guess. Leftover from 2008-12-22.
31301
31302 2010-07-30  Bruno Haible  <bruno@clisp.org>
31303
31304         mbrtowc: Fix cross-compilation guess for AIX.
31305         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
31306         guess. Leftover from 2008-12-21.
31307
31308 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
31309
31310         init.sh: work around trap limitation of some shells
31311         * tests/init.sh (setup_): Move exit trap outside of shell function.
31312
31313 2010-07-29  Eric Blake  <eblake@redhat.com>
31314
31315         strtod: aid debugging
31316         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
31317         understanding why strtod is rejected.
31318
31319 2010-07-28  Bruno Haible  <bruno@clisp.org>
31320
31321         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
31322         * lib/unistr/u8-chr.c: Include <string.h>.
31323         * tests/unistr/test-u8-chr.c: Likewise.
31324         * tests/unistr/test-u16-chr.c: Likewise.
31325         * tests/unistr/test-u32-chr.c: Likewise.
31326         * tests/unistr/test-u8-strchr.c: Likewise.
31327         * tests/unistr/test-u16-strchr.c: Likewise.
31328         * tests/unistr/test-u32-strchr.c: Likewise.
31329         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
31330         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
31331         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
31332         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
31333
31334 2010-07-28  Bruno Haible  <bruno@clisp.org>
31335
31336         Use spaces for indentation, not tabs.
31337         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31338
31339 2010-07-27  Bruno Haible  <bruno@clisp.org>
31340
31341         mbspcasecmp: Fix function specification.
31342         * lib/string.in.h (mbspcasecmp): Fix specification comment.
31343         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
31344         Reported by Eric Blake <eblake@redhat.com>.
31345
31346 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
31347
31348         timespec: use cast and not conditional, as truncation isn't possible
31349         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
31350         instead of a conditional.  Comment about the situation in more detail.
31351         This undoes most of the 2009-10-29 patch.
31352
31353 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
31354
31355         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
31356         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
31357         * lib/unistr/u8-strchr.c: Likewise.
31358         * modules/unistr/u8-chr: Depend on memchr.
31359
31360         unistr/u*-strchr: add tests
31361         * modules/unistr/u8-strchr-tests: New file.
31362         * modules/unistr/u16-strchr-tests: New file.
31363         * modules/unistr/u32-strchr-tests: New file.
31364         * tests/unistr/test-strchr.h: New file.
31365         * tests/unistr/test-u8-strchr.c: New file.
31366         * tests/unistr/test-u16-strchr.c: New file.
31367         * tests/unistr/test-u32-strchr.c: New file.
31368
31369         unistr/u*-chr: test multibyte sequences more
31370         * tests/unistr/test-chr.h: Do complete testing of the characters in the
31371         test vector.
31372         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
31373         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
31374         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
31375
31376         unistr/u*-chr: test multibyte sequences
31377         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
31378
31379         unistr/u*-chr: prepare for multibyte tests
31380         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
31381         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
31382         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
31383         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
31384         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
31385         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
31386
31387 2010-07-18  Bruno Haible  <bruno@clisp.org>
31388
31389         unistr/u8-strchr: Optimize non-ASCII argument case.
31390         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
31391         because the first byte often matches anyway.
31392         Reported by Pádraig Brady <P@draigbrady.com>.
31393
31394 2010-07-15  Karl Berry  <karl@gnu.org>
31395
31396         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
31397
31398 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
31399
31400         getcwd: on Solaris, work better if ancestors are inaccessible
31401         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
31402         buffer and size, try again with a large buffer.  This works better
31403         on Solaris, since its getcwd succeeds even if the path to the root
31404         is inaccessible, and this is helpful in common cases such as .zfs
31405         hidden directories.  Problem reported by J Chapman Flack in
31406         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
31407         Use system getcwd if it's declared, not merely if it's partly
31408         working; use the partly-working test only to avoid needless effort
31409         if the system getcwd fails.
31410         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
31411         comment that was already obsolete and is now even more obsolete.
31412         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
31413         now might call strdup.
31414
31415 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
31416
31417         pthread: Add enough so that coreutils/src/sort.c compiles.
31418         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
31419         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
31420         gnulib. Include <sched.h> and <time.h>, as per POSIX.
31421         Include <sys/types.h>, in case it defines pthread_t.
31422         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
31423         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
31424         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
31425         (pthread_rwlockattr_t, pthread_spinlock_t):
31426         New typedefs, if HAVE_PTHREAD_T is not defined.
31427         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
31428         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
31429         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
31430         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
31431         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
31432         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
31433         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
31434         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
31435         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
31436         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
31437         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
31438         New macros.
31439         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
31440         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
31441         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
31442         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
31443         (pthread_spin_unlock): New dummy functions.
31444         (pthread_create): Return EAGAIN; don't set errno.
31445         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
31446         require AC_C_INLINE.
31447         * modules/pthread (Depends-on): Add sched, time.
31448         (pthread.h): Use AM_V_GEN.
31449
31450 2010-07-13  Bruno Haible  <bruno@clisp.org>
31451
31452         striconveh: Don't malloc memory if the result buffer is sufficient.
31453         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
31454         buffer if its size is sufficient.
31455         Reported by Ludovic Courtès <ludo@gnu.org>.
31456
31457 2010-07-13  Bruno Haible  <bruno@clisp.org>
31458
31459         strtod: Add safety check.
31460         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
31461
31462 2010-07-12  Bruno Haible  <bruno@clisp.org>
31463
31464         Unify tests that set gl_cv_func_ldexpl_no_libm.
31465         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
31466         gl_FUNC_LDEXPL.
31467         (gl_FUNC_LDEXPL): Invoke it.
31468         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31469
31470 2010-07-12  Bruno Haible  <bruno@clisp.org>
31471
31472         Unify tests that set gl_cv_func_ldexp_no_libm.
31473         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
31474         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
31475         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
31476         (configure.ac): Simply invoke gl_FUNC_LDEXP.
31477         * modules/strtod (Files): Add m4/ldexp.m4.
31478
31479 2010-07-12  Bruno Haible  <bruno@clisp.org>
31480
31481         Unify tests that set gl_cv_func_frexpl_no_libm.
31482         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
31483         gl_FUNC_FREXPL_NO_LIBM.
31484         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
31485         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31486
31487 2010-07-12  Bruno Haible  <bruno@clisp.org>
31488
31489         Unify tests that set gl_cv_func_frexp_no_libm.
31490         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
31491         gl_FUNC_FREXP_NO_LIBM.
31492         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
31493         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
31494
31495 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31496
31497         memcoll: clarify sizes versus lengths, document better, and tweak perf
31498         * lib/memcoll.c (strcoll_loop, memcoll0):
31499         Improve quality of descriptive comments.  Name variables
31500         consistently as to whether they are lengths (which do not include
31501         terminating null) versus sizes (which do).
31502         * lib/xmemcoll.c (xmemcoll0): Likewise.
31503         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
31504         returned when s1size == 0; this is easier to compile and saves
31505         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
31506
31507 2010-07-12  Bruno Haible  <bruno@clisp.org>
31508
31509         Tests for module '_Exit'.
31510         * modules/_Exit-tests: New file.
31511         * tests/test-_Exit.sh: New file.
31512         * tests/test-_Exit.c: New file.
31513
31514         New module '_Exit'.
31515         * lib/stdlib.in.h (__attribute__): New macro.
31516         (_Exit): New declaration.
31517         * lib/_Exit.c: New file.
31518         * m4/_Exit.m4: New file.
31519         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
31520         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
31521         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
31522         * modules/_Exit: New file.
31523         * tests/test-stdlib-c++.cc (_Exit): Check signature.
31524         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
31525
31526 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31527
31528         strtod: make it more-accurate typically, and don't require libm
31529         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
31530         Include limits.h.  Don't include string.h.
31531         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
31532         (locale_isspace): New function, so that no casts are needed to
31533         check whether *s is a space.
31534         (ldexp): Provide an unused dummy if not available.
31535         (scale_radix_exp, parse_number, underlying_strtod): New functions.
31536         (strtod): Use them.  This implementation prefers to use the
31537         underlying strtod if available, falling back on our own code
31538         only to fix known bugs.  This is more likely to produce an
31539         accurate result.  Also, it avoids the use of libm functions.
31540         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
31541         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
31542         was absent, but it caused a test failure with coreutils.
31543         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
31544         with libm.
31545         * modules/strtod (Makefile.am, Link): libm is no longer needed.
31546         * modules/strtod-tests (Makefile.am): Likewise.
31547
31548 2010-07-11  Pádraig Brady  <P@draigBrady.com>
31549             Bruno Haible  <bruno@clisp.org>
31550
31551         unistr/u8-strchr: Optimize ASCII argument case.
31552         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
31553
31554 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
31555
31556         (x)memcoll: minor tweaks
31557         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
31558         is after the type that it qualifies.
31559         (memcoll0): Likewise.
31560         * lib/memcoll.h (memcoll0): Likewise.
31561         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
31562         * lib/xmemcoll.h (xmemcoll0): Likewise.
31563         * lib/memcoll.c (memcoll0): Correct the comment.  This function
31564         differs from memcoll in that the NUL byte is part of the argument.
31565         Omit the abort-checks, as performance is a real issue here.  Plus,
31566         the checks were wrong anyway (an off-by-one error).  Omit local
31567         variable 'diff', as it's a bit clearer that way.
31568         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
31569         no longer needed.
31570
31571 2010-07-08  Chen Guo <chenguo4@yahoo.com>
31572
31573         (x)memcoll: speedup when input is known to be NUL delimited
31574         * lib/memcoll.c: Include stdlib.
31575         (memcoll0): New function.
31576         (strcoll_loop): New function, refactored for use in both memcoll
31577         and memcoll0.
31578         * lib/memcoll.h (memcoll0): Add prototype.
31579         * lib/xmemcoll.c (xmemcoll0): New function.
31580         (collate_error): New function, refactored for use in both xmemcoll
31581         and xmemcoll0.
31582         * lib/xmemcoll.h (xmemcoll0): Add prototype.
31583         * m4/memcoll.m4: add inline invocation.
31584
31585 2010-07-06  Pádraig Brady  <P@draigBrady.com>
31586
31587         * build-aux/bootstrap: Remove any local translations
31588         from the translation project synchronization directory,
31589         so that local only translations are not distributed.
31590
31591 2010-07-04  Bruno Haible  <bruno@clisp.org>
31592
31593         fsusage: Clarify which code applies to which platforms.
31594         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
31595         platform.
31596         * lib/fsusage.c (get_fs_usage): Likewise.
31597
31598 2010-07-04  Bruno Haible  <bruno@clisp.org>
31599
31600         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
31601         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
31602         Reported by Martin Lambers <marlam@marlam.de>.
31603
31604 2010-07-04  Jim Meyering  <meyering@redhat.com>
31605
31606         hash: once again explicitly disallow insertion of NULL
31607         * lib/hash.c (hash_insert0): Reinstate just-removed test:
31608         inserting a NULL pointer cannot work with these functions.
31609         Add a comment with details.
31610         This reverts part of the 2010-07-01 commit, 5bef1a35
31611         "hash: extend module to deal with non-pointer keys".
31612
31613 2010-07-01  Bruno Haible  <bruno@clisp.org>
31614
31615         stdbool: Update doc.
31616         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
31617         Info from Christian Weisgerber <naddy@mips.inka.de>.
31618
31619 2010-07-01  Jim Meyering  <meyering@redhat.com>
31620
31621         hash: extend module to deal with non-pointer keys
31622         * lib/hash.c (hash_insert0): New interface, much like hash_insert
31623         but that allows insertion of non-pointer entries.
31624         Do not disallow an ENTRY value of NULL.
31625         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
31626         * lib/hash.h (hash_insert0): Declare.
31627
31628 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
31629
31630         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
31631         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
31632         not present (i.e. with autoconf 2.59 and when using gettextize, not
31633         gnulib), require AC_GNU_SOURCE instead.
31634
31635 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
31636
31637         idpriv-drop: Fix tests.
31638         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
31639         not to the test-idpriv-droptemp program.
31640
31641 2010-06-29  Bruno Haible  <bruno@clisp.org>
31642
31643         string: Fix syntax error with g++ 2.96.
31644         * lib/string.in.h (__pure__): Remove definition.
31645         (_GL_ATTRIBUTE_PURE): New macro.
31646         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
31647         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
31648         Reported by Christian Weisgerber <naddy@mips.inka.de>.
31649
31650 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
31651
31652         unitypes: Fix bug introduced on 2010-05-18.
31653         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
31654
31655 2010-06-22  Eric Blake  <eblake@redhat.com>
31656
31657         memmem: slight optimization
31658         * lib/str-two-way.h (critical_factorization): Update comments.
31659         Reduce work during factorization phase.
31660         Reported by Carlos Bueno <carlos@bueno.org>.
31661
31662 2010-06-21  Bruno Haible  <bruno@clisp.org>
31663
31664         Fix HAVE_CALLOC_POSIX misnomer.
31665         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
31666         !HAVE_CALLOC_POSIX.
31667         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
31668         HAVE_CALLOC_POSIX.
31669         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
31670         instead of HAVE_CALLOC_POSIX.
31671         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
31672         HAVE_CALLOC_POSIX.
31673
31674         Use modern idiom for calloc() replacement.
31675         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
31676         AC_FUNC_CALLOC.
31677         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
31678         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
31679         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31680         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
31681         (gl_REPLACE_CALLOC): New macro.
31682
31683 2010-06-21  Bruno Haible  <bruno@clisp.org>
31684
31685         Fix HAVE_REALLOC_POSIX misnomer.
31686         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
31687         !HAVE_REALLOC_POSIX.
31688         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
31689         HAVE_REALLOC_POSIX.
31690         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
31691         instead of HAVE_REALLOC_POSIX.
31692         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
31693         HAVE_REALLOC_POSIX.
31694
31695         Use modern idiom for realloc() replacement.
31696         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
31697         AC_FUNC_REALLOC.
31698         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
31699         Autoconf's AC_FUNC_REALLOC.
31700         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31701         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
31702         (gl_REPLACE_REALLOC): New macro.
31703         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
31704
31705 2010-06-21  Bruno Haible  <bruno@clisp.org>
31706
31707         Fix HAVE_MALLOC_POSIX misnomer.
31708         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
31709         !HAVE_MALLOC_POSIX.
31710         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
31711         HAVE_MALLOC_POSIX.
31712         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
31713         instead of HAVE_MALLOC_POSIX.
31714         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
31715         HAVE_MALLOC_POSIX.
31716
31717         Use modern idiom for malloc() replacement.
31718         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
31719         AC_FUNC_MALLOC.
31720         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
31721         Autoconf's AC_FUNC_MALLOC.
31722         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31723         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
31724         (gl_REPLACE_MALLOC): New macro.
31725         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
31726
31727 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
31728
31729         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
31730         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
31731         This macro takes 3 arguments, not 4.
31732
31733 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
31734
31735         ipv6: fix detection under mingw
31736         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
31737         in6_addr.
31738
31739 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
31740
31741         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
31742         that strtod() works when cross-compiling to a glibc version known
31743         to work.
31744
31745 2010-06-15  Bruno Haible  <bruno@clisp.org>
31746
31747         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
31748
31749 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
31750
31751         select: Correct timeout.
31752         * lib/select.c (rpl_select): Compute wait_timeout correctly.
31753
31754 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
31755
31756         git-version-gen: init shell var to avoid env var influence
31757         * build-aux/git-version-gen (v): Init shell var to empty.
31758
31759 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
31760
31761         priv-set: Don't assume that priv.h exists merely because getppriv does.
31762         See Jan Andersen's bug report about AIX 5L in
31763         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
31764         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
31765         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
31766         * lib/priv-set.h: Likewise.
31767         * tests/test-priv-set.c: Likewise.
31768
31769 2010-06-13  Bruno Haible  <bruno@clisp.org>
31770
31771         relocatable: Make it easier to test whether to install wrappers.
31772         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
31773         RELOCATABLE_VIA_WRAPPER.
31774
31775 2010-06-13  Bruno Haible  <bruno@clisp.org>
31776
31777         gnulib-tool: Display specified modules and dependencies differently.
31778         * gnulib-tool (func_show_module_list): New function.
31779         (func_import, func_create_testdir): Invoke it.
31780         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
31781
31782 2010-06-13  Bruno Haible  <bruno@clisp.org>
31783
31784         gnulib-tool: Align code of func_import and func_create_testdir.
31785         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
31786         specified_modules.
31787
31788 2010-06-12  Jim Meyering  <meyering@redhat.com>
31789
31790         test-inttostr: avoid spurious failure on Solaris 9
31791         * tests/test-inttostr.c (main): Skip the test when snprintf fails
31792         to accept "%ju".  Reported by Bruno Haible.
31793
31794 2010-06-11  Jim Meyering  <meyering@redhat.com>
31795
31796         test-sys_socket: mark variables as used more readably
31797         * tests/test-sys_socket.c (main): Mark otherwise unused variables
31798         as "used" explicitly via (void) statement casts.  This is more
31799         readable than using them in an artificial return expression.
31800         Suggestion from Bruno Haible.
31801
31802 2010-06-11  Bruno Haible  <bruno@clisp.org>
31803
31804         Avoid some more warnings from "gcc -Wwrite-strings".
31805         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
31806         to 'const char *'.
31807         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
31808         * tests/test-c-strcasestr.c (main): Likewise.
31809         * tests/test-mbscasestr1.c (main): Likewise.
31810         * tests/test-mbscasestr2.c (main): Likewise.
31811         * tests/test-memmem.c (main): Likewise.
31812         * tests/test-strstr.c (main): Likewise.
31813         * tests/test-strcasestr.c (main): Likewise.
31814
31815 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31816
31817         init.sh: change framework_failure_ to fail with status 99, not 1
31818         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
31819         automake's parallel-tests rule that this is an unexpected failure,
31820         even if the test is listed in XFAIL_TESTS.
31821
31822 2010-06-11  Jim Meyering  <meyering@redhat.com>
31823
31824         test-inttostr: avoid warnings about 4-6KB literal strings
31825         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
31826         Include "macros.h", for its definition of ASSERT.
31827         (CK): s/assert/ASSERT/
31828         * modules/inttostr-tests (Files): Add macros.h.
31829
31830         init.sh: don't use $ME_ or skip_ before they are defined
31831         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
31832         their first uses.  Also hoist their companions: warn_, fail_,
31833         framework_failure_, $stderr_fileno.  Prompted by a patch from
31834         Stefano Lattarini.
31835
31836         test-sys_socket: avoid set-but-not-used warnings from gcc
31837         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
31838         avoid warning about set-but-not-used variables.
31839
31840         test-xvasprintf: avoid 'const' discard warnings
31841         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
31842         "const" when assigning from literal strings.
31843         (test_xasprintf): Add "void" in function argument list to placate
31844         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
31845
31846         tests: avoid compilation warnings in argmatch and exclude tests...
31847         in packages that define ARGMATCH_DIE_DECL, like coreutils.
31848         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
31849         Since it always exits, declare with the "noreturn" attribute.
31850         * tests/test-argmatch.c: Likewise.
31851
31852         tests: avoid 'const' discard warnings in mbsstr tests
31853         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
31854         * tests/test-mbsstr2.c (main): Likewise.
31855
31856         test-verify: avoid warning from gcc's -Wmissing-declarations
31857         * tests/test-verify.c (function): Declare to be static.
31858
31859         test-inttostr.c: include <string.h> for use of strcmp
31860         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
31861
31862         test-linkat: avoid failed assertion on "other" architectures
31863         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
31864         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
31865         sparc: https://bugs.launchpad.net/bugs/591968
31866
31867 2010-06-11  Jim Meyering  <meyering@redhat.com>
31868
31869         printf.m4: avoid autoconf's "Expanded Before Required" warning
31870         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
31871         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
31872         autoconf warning.
31873
31874 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
31875
31876         Replacement header templates are now named with ".in", not "_".
31877         * doc/gnulib-intro.texi: Correct.
31878
31879 2010-06-10  Jim Meyering  <meyering@redhat.com>
31880
31881         inttostr-tests: depend on snprintf, not snprintf-posix
31882         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
31883         snprintf-posix, to avoid this aclocal failure:
31884           missing file gnulib-tests/vasnprintf.c
31885           configure.ac:45: error: expected source file, required through \
31886           AC_LIBSOURCES, not found
31887
31888 2010-06-10  Jim Meyering  <meyering@redhat.com>
31889
31890         inttostr: add a new function, inttostr, and tests
31891         The namesake function was not available.  The existence of the
31892         template file, inttostr.c makes its addition nontrivial.
31893         * lib/anytostr.c: Rename from inttostr.c.
31894         (anytostr): Rename from inttostr.
31895         * lib/inttostr.c: New file.
31896         * modules/inttostr (Files): Add anytostr.c.
31897         (Makefile.am): Set lib_SOURCES instead of ...
31898         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
31899         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
31900         * lib/offtostr.c: Likewise.
31901         * lib/uinttostr.c: Likewise.
31902         * lib/umaxtostr.c: Likewise.
31903         * modules/inttostr-tests: New file.
31904         * tests/test-inttostr.c: New file.  Test these functions.
31905
31906 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
31907             Bruno Haible  <bruno@clisp.org>
31908
31909         Add "Extending Gnulib" chapter to manual.
31910         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
31911         chapter.
31912         (Extending Gnulib): New chapter.
31913         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
31914         chapter.
31915
31916 2010-06-09  Bruno Haible  <bruno@clisp.org>
31917
31918         Avoid relocwrapper link errors due to gnulib replacement functions.
31919         * lib/areadlink.c: Use the system's malloc, realloc functions.
31920         (areadlink): Set errno to ENOMEM explicitly.
31921         * modules/areadlink (Depends-on): Remove malloc-posix.
31922         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31923
31924 2010-06-09  Bruno Haible  <bruno@clisp.org>
31925
31926         Avoid relocwrapper link errors due to gnulib replacement functions.
31927         * lib/canonicalize-lgpl.c: Use the system's malloc function.
31928         * lib/malloca.c: Likewise.
31929         * lib/relocatable.c: Likewise.
31930         * lib/progreloc.c: Use the system's malloc, sprintf functions.
31931         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
31932         * lib/setenv.c: Use the system's malloc, realloc functions.
31933         * lib/strerror.c: Use the system's sprintf function.
31934         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31935
31936 2010-06-04  Bruno Haible  <bruno@clisp.org>
31937
31938         Prefer documented low-level autoconf macro names.
31939         * m4/lib-link.m4: Use m4_translit instead of translit.
31940         * m4/environ.m4: Likewise.
31941         * m4/mathfunc.m4: Likewise.
31942         * m4/onceonly.m4: Likewise.
31943         * m4/stdint.m4: Likewise.
31944         Suggested by Eric Blake.
31945
31946 2010-06-04  Martin Lambers  <marlam@marlam.de>
31947             Bruno Haible  <bruno@clisp.org>
31948
31949         havelib: Allow library names with '+' characters.
31950         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
31951         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
31952
31953 2010-06-09  Bruno Haible  <bruno@clisp.org>
31954
31955         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
31956         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
31957         realloc failed.
31958
31959 2010-06-08  Peter Simons  <simons@cryp.to>
31960
31961         maint.mk: make the news-check rule more configurable
31962         * top/maint.mk (news-check-lines-spec): New variable.
31963         (news-check): Use "sed -n 1,10p" in place of "head".
31964
31965 2010-06-07  Jim Meyering  <meyering@redhat.com>
31966
31967         do-release-commit-and-tag: fix typo in --help
31968         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
31969
31970         regex: avoid new dead-code warning with gcc-4.6.0
31971         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
31972         if-block containing a while-loop.  It's been unused for at least
31973         5 years.
31974
31975 2010-06-05  Bruno Haible  <bruno@clisp.org>
31976
31977         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
31978         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
31979
31980 2010-06-04  Bruno Haible  <bruno@clisp.org>
31981
31982         Update to GNU gettext 0.18.1.
31983         * modules/gettext (configure.ac): Require gettext infrastructure from
31984         version 0.18.1.
31985
31986 2010-06-03  Bruno Haible  <bruno@clisp.org>
31987
31988         Don't use AC_LIBOBJ with file names in subdirectories.
31989         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
31990         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
31991         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
31992         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
31993         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
31994         gl_LIBUNISTRING_LIBSOURCE.
31995         (Makefile.am): Augment lib_SOURCES here, conditionally.
31996         * NEWS: Drop requirement for Automake option 'subdir-objects'.
31997
31998 2010-06-03  Bruno Haible  <bruno@clisp.org>
31999
32000         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
32001         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
32002         expansion does not end with a newline.
32003         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
32004         unnecessary newline.
32005
32006 2010-06-03  Bruno Haible  <bruno@clisp.org>
32007
32008         Reduce dependencies.
32009         * tests/test-quotearg.h: New file, extracted from
32010         tests/test-quotearg.c.
32011         * tests/test-quotearg-simple.c: New file, extracted from
32012         tests/test-quotearg.c.
32013         * tests/test-quotearg.c: Don't include <ctype.h>.
32014         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
32015         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
32016         use_quote_double_quotes, use_quotearg_colon): Moved to
32017         tests/test-quotearg.h.
32018         (results_g, flag_results, custom_quotes, custom_results): Moved
32019         to tests/test-quotearg-simple.c.
32020         (main): Moved the part that does not depend on gettext to
32021         tests/test-quotearg-simple.c. Return 77 if the test cannot be
32022         performed.
32023         * modules/quotearg-simple: New file.
32024         * modules/quotearg-simple-tests: New file.
32025         * modules/quotearg (Depends-on): Add quotearg-simple.
32026         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
32027         (Files): Add tests/test-quotearg.h.
32028         Reported by Paolo Bonzini.
32029
32030 2010-06-03  Bruno Haible  <bruno@clisp.org>
32031
32032         Reduce dependencies.
32033         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
32034
32035 2010-06-03  Bruno Haible  <bruno@clisp.org>
32036
32037         time: Undefine more broken macros.
32038         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
32039         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
32040         Reported by Eric Blake.
32041
32042 2010-06-03  Bruno Haible  <bruno@clisp.org>
32043
32044         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
32045         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
32046         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
32047         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
32048         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
32049         Reported by Ludovic Courtès <ludo@gnu.org>.
32050
32051 2010-06-02  Eric Blake  <eblake@redhat.com>
32052
32053         time: work with mingw + pthreads-win32 library
32054         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
32055         if timespec is defined only in pthread.h.
32056         * modules/time (Makefile.am): Substitute it.
32057         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
32058         <pthread.h>, when needed.
32059         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
32060         from the library.
32061
32062 2010-05-31  Bruno Haible  <bruno@clisp.org>
32063
32064         Avoid expanding two macros in the wrong order.
32065         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
32066         gl_LIBUNISTRING if it is defined.
32067         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
32068         autoconf >= 2.64.
32069         Reported by Ludovic Courtès <ludo@gnu.org>.
32070
32071 2010-05-27  Jim Meyering  <meyering@redhat.com>
32072
32073         maint.mk: also prohibit "#undef" of always-defined symbols
32074         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
32075         Allow more than one space before the symbol name.
32076         (sc_prohibit_always-defined_macros): Use grep's -E, now that
32077         the regexp uses alternation.
32078
32079 2010-05-26  Eric Blake  <eblake@redhat.com>
32080
32081         maint.mk: avoid echo -e
32082         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
32083         Convert all uses of echo -* to printf.
32084         Reported by Matthias Bolte.
32085
32086 2010-05-25  Bruno Haible  <bruno@clisp.org>
32087
32088         Update to GNU gettext 0.18, part 2.
32089         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
32090         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
32091
32092 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32093
32094         Add missing include in test-pwrite.c.
32095         * tests/test-pwrite.c: Include string.h, for strcmp.
32096
32097 2010-05-24  Bruno Haible  <bruno@clisp.org>
32098
32099         * NEWS: Mention requirement for Automake option 'subdir-objects'.
32100
32101 2010-05-24  Bruno Haible  <bruno@clisp.org>
32102
32103         Don't use conversion with transliteration in u{8,16,32}_strcoll.
32104         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
32105         iconveh_error argument.
32106         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
32107         U_STRCONV_TO_LOCALE.
32108         * lib/unistr/u16-strcoll.c: Likewise.
32109         * lib/unistr/u32-strcoll.c: Likewise.
32110         * modules/unistr/u8-strcoll (Depends-on): Add
32111         uniconv/u8-strconv-to-enc, localcharset. Remove
32112         uniconv/u8-strconv-to-locale.
32113         (configure.ac): Bump version number.
32114         * modules/unistr/u16-strcoll (Depends-on): Add
32115         uniconv/u16-strconv-to-enc, localcharset. Remove
32116         uniconv/u16-strconv-to-locale.
32117         (configure.ac): Bump version number.
32118         * modules/unistr/u32-strcoll (Depends-on): Add
32119         uniconv/u32-strconv-to-enc, localcharset. Remove
32120         uniconv/u32-strconv-to-locale.
32121         (configure.ac): Bump version number.
32122
32123 2010-05-24  Bruno Haible  <bruno@clisp.org>
32124
32125         Avoid a test failure on NetBSD 5.0.
32126         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
32127         an iconv() bug.
32128
32129 2010-05-24  Bruno Haible  <bruno@clisp.org>
32130
32131         Adjust #include directive style.
32132         * modules/regex (Includes): Recommend to write <regex.h>.
32133
32134 2010-05-24  Bruno Haible  <bruno@clisp.org>
32135
32136         regex: Don't require alloca.
32137         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
32138         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
32139         only inside if (0).
32140
32141 2010-05-23  Jim Meyering  <meyering@redhat.com>
32142
32143         test-renameat.c: include <sys/stat.h>
32144         * tests/test-renameat.c: Include <sys/stat.h>; required for
32145         definition of S_IS* macros.
32146
32147 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
32148
32149         Update maintainer documentation for 'relocatable-prog' module.
32150         * doc/relocatable-maint.texi: Update.
32151         Comments by Bruno Haible.
32152
32153 2010-05-23  Bruno Haible  <bruno@clisp.org>
32154
32155         git-merge-changelog: Enable --split-merged-entry by default.
32156         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
32157         (usage): Don't mention this option any more.
32158         Reported by Ralf Wildenhues.
32159
32160 2010-05-23  Jim Meyering  <meyering@redhat.com>
32161
32162         test-pwrite: do not leave behind a test file named "out"
32163         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
32164         The trivial-looking use of init.sh is really necessary.
32165         It ensures that the temporary file, "out", is created in
32166         a temporary directory, and removed upon termination.
32167         * tests/test-pwrite.sh: Re-add file.
32168         * modules/pwrite-tests: Reference it.
32169
32170 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32171
32172         Fix output redirection buglet in init.sh.
32173         * tests/init.sh: Fix redirection of stderr.
32174
32175 2010-05-20  Simon Josefsson  <simon@josefsson.org>
32176
32177         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
32178
32179 2010-05-17  Simon Josefsson  <simon@josefsson.org>
32180
32181         * modules/valgrind-tests: New file.
32182         * m4/valgrind-tests.m4: New file.
32183         * doc/valgrind-tests.texi: New file.
32184         * doc/gnulib.texi (Running self-tests under valgrind): New
32185         section.
32186
32187 2010-05-19  Bruno Haible  <bruno@clisp.org>
32188
32189         Clean up dead code in recent commit.
32190         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
32191         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
32192         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
32193         Suggested by Paolo Bonzini.
32194
32195 2010-05-19  Bruno Haible  <bruno@clisp.org>
32196
32197         Avoid valgrind error reports from libunistring.
32198         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
32199         * modules/libunistring (Files): Add it.
32200         * modules/libunistring-optional (Files): Likewise.
32201
32202 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
32203             Bruno Haible  <bruno@clisp.org>
32204
32205         New module 'libunistring-optional'.
32206         * modules/libunistring-optional: New file.
32207         * m4/libunistring-base.m4: New file.
32208         * m4/libunistring-optional.m4: New file.
32209         * lib/unicase.in.h: Renamed from lib/unicase.h.
32210         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
32211         * lib/unictype.in.h: Renamed from lib/unictype.h.
32212         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
32213         * lib/uniname.in.h: Renamed from lib/uniname.h.
32214         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
32215         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
32216         * lib/unistr.in.h: Renamed from lib/unistr.h.
32217         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
32218         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
32219         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
32220         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
32221         gl_LIBUNISTRING. If the library was found, determine the installed
32222         version and set LIBUNISTRING_VERSION.
32223         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
32224         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
32225         handle a configuration option --with-included-libunistring.
32226         * modules/libunistring (Files): Add m4/absolute-header.m4.
32227         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
32228         Add m4/libunistring-base.m4.
32229         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32230         (Makefile.am): Build unicase.h from unicase.in.h.
32231         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
32232         Add m4/libunistring-base.m4.
32233         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32234         (Makefile.am): Build uniconv.h from uniconv.in.h.
32235         * modules/unictype/base (Files): Use unictype.in.h instead of
32236         unictype.h. Add m4/libunistring-base.m4.
32237         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32238         (Makefile.am): Build unictype.h from unictype.in.h.
32239         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
32240         Add m4/libunistring-base.m4.
32241         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32242         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
32243         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
32244         Add m4/libunistring-base.m4.
32245         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32246         (Makefile.am): Build uniname.h from uniname.in.h.
32247         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
32248         Add m4/libunistring-base.m4.
32249         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32250         (Makefile.am): Build uninorm.h from uninorm.in.h.
32251         * modules/unistdio/base (Files): Use unistdio.in.h instead of
32252         unistdio.h. Add m4/libunistring-base.m4.
32253         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32254         (Makefile.am): Build unistdio.h from unistdio.in.h.
32255         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
32256         Add m4/libunistring-base.m4.
32257         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32258         (Makefile.am): Build unistr.h from unistr.in.h.
32259         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
32260         Add m4/libunistring-base.m4.
32261         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32262         (Makefile.am): Build unitypes.h from unitypes.in.h.
32263         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
32264         Add m4/libunistring-base.m4.
32265         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32266         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
32267         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
32268         uniwidth.h. Add m4/libunistring-base.m4.
32269         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32270         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
32271         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
32272         instead of augmenting lib_SOURCES.
32273         * modules/unicase/empty-suffix-context: Likewise.
32274         * modules/unicase/locale-language: Likewise.
32275         * modules/unicase/tolower: Likewise.
32276         * modules/unicase/totitle: Likewise.
32277         * modules/unicase/toupper: Likewise.
32278         * modules/unicase/u8-casecmp: Likewise.
32279         * modules/unicase/u8-casecoll: Likewise.
32280         * modules/unicase/u8-casefold: Likewise.
32281         * modules/unicase/u8-casexfrm: Likewise.
32282         * modules/unicase/u8-ct-casefold: Likewise.
32283         * modules/unicase/u8-ct-tolower: Likewise.
32284         * modules/unicase/u8-ct-totitle: Likewise.
32285         * modules/unicase/u8-ct-toupper: Likewise.
32286         * modules/unicase/u8-is-cased: Likewise.
32287         * modules/unicase/u8-is-casefolded: Likewise.
32288         * modules/unicase/u8-is-lowercase: Likewise.
32289         * modules/unicase/u8-is-titlecase: Likewise.
32290         * modules/unicase/u8-is-uppercase: Likewise.
32291         * modules/unicase/u8-prefix-context: Likewise.
32292         * modules/unicase/u8-suffix-context: Likewise.
32293         * modules/unicase/u8-tolower: Likewise.
32294         * modules/unicase/u8-totitle: Likewise.
32295         * modules/unicase/u8-toupper: Likewise.
32296         * modules/unicase/u16-casecmp: Likewise.
32297         * modules/unicase/u16-casecoll: Likewise.
32298         * modules/unicase/u16-casefold: Likewise.
32299         * modules/unicase/u16-casexfrm: Likewise.
32300         * modules/unicase/u16-ct-casefold: Likewise.
32301         * modules/unicase/u16-ct-tolower: Likewise.
32302         * modules/unicase/u16-ct-totitle: Likewise.
32303         * modules/unicase/u16-ct-toupper: Likewise.
32304         * modules/unicase/u16-is-cased: Likewise.
32305         * modules/unicase/u16-is-casefolded: Likewise.
32306         * modules/unicase/u16-is-lowercase: Likewise.
32307         * modules/unicase/u16-is-titlecase: Likewise.
32308         * modules/unicase/u16-is-uppercase: Likewise.
32309         * modules/unicase/u16-prefix-context: Likewise.
32310         * modules/unicase/u16-suffix-context: Likewise.
32311         * modules/unicase/u16-tolower: Likewise.
32312         * modules/unicase/u16-totitle: Likewise.
32313         * modules/unicase/u16-toupper: Likewise.
32314         * modules/unicase/u32-casecmp: Likewise.
32315         * modules/unicase/u32-casecoll: Likewise.
32316         * modules/unicase/u32-casefold: Likewise.
32317         * modules/unicase/u32-casexfrm: Likewise.
32318         * modules/unicase/u32-ct-casefold: Likewise.
32319         * modules/unicase/u32-ct-tolower: Likewise.
32320         * modules/unicase/u32-ct-totitle: Likewise.
32321         * modules/unicase/u32-ct-toupper: Likewise.
32322         * modules/unicase/u32-is-cased: Likewise.
32323         * modules/unicase/u32-is-casefolded: Likewise.
32324         * modules/unicase/u32-is-lowercase: Likewise.
32325         * modules/unicase/u32-is-titlecase: Likewise.
32326         * modules/unicase/u32-is-uppercase: Likewise.
32327         * modules/unicase/u32-prefix-context: Likewise.
32328         * modules/unicase/u32-suffix-context: Likewise.
32329         * modules/unicase/u32-tolower: Likewise.
32330         * modules/unicase/u32-totitle: Likewise.
32331         * modules/unicase/u32-toupper: Likewise.
32332         * modules/unicase/ulc-casecmp: Likewise.
32333         * modules/unicase/ulc-casecoll: Likewise.
32334         * modules/unicase/ulc-casexfrm: Likewise.
32335         * modules/uniconv/u8-conv-from-enc: Likewise.
32336         * modules/uniconv/u8-conv-to-enc: Likewise.
32337         * modules/uniconv/u8-strconv-from-enc: Likewise.
32338         * modules/uniconv/u8-strconv-from-locale: Likewise.
32339         * modules/uniconv/u8-strconv-to-enc: Likewise.
32340         * modules/uniconv/u8-strconv-to-locale: Likewise.
32341         * modules/uniconv/u16-conv-from-enc: Likewise.
32342         * modules/uniconv/u16-conv-to-enc: Likewise.
32343         * modules/uniconv/u16-strconv-from-enc: Likewise.
32344         * modules/uniconv/u16-strconv-from-locale: Likewise.
32345         * modules/uniconv/u16-strconv-to-enc: Likewise.
32346         * modules/uniconv/u16-strconv-to-locale: Likewise.
32347         * modules/uniconv/u32-conv-from-enc: Likewise.
32348         * modules/uniconv/u32-conv-to-enc: Likewise.
32349         * modules/uniconv/u32-strconv-from-enc: Likewise.
32350         * modules/uniconv/u32-strconv-from-locale: Likewise.
32351         * modules/uniconv/u32-strconv-to-enc: Likewise.
32352         * modules/uniconv/u32-strconv-to-locale: Likewise.
32353         * modules/unictype/bidicategory-byname: Likewise.
32354         * modules/unictype/bidicategory-name: Likewise.
32355         * modules/unictype/bidicategory-of: Likewise.
32356         * modules/unictype/bidicategory-test: Likewise.
32357         * modules/unictype/block-list: Likewise.
32358         * modules/unictype/block-test: Likewise.
32359         * modules/unictype/category-C: Likewise.
32360         * modules/unictype/category-Cc: Likewise.
32361         * modules/unictype/category-Cf: Likewise.
32362         * modules/unictype/category-Cn: Likewise.
32363         * modules/unictype/category-Co: Likewise.
32364         * modules/unictype/category-Cs: Likewise.
32365         * modules/unictype/category-L: Likewise.
32366         * modules/unictype/category-Ll: Likewise.
32367         * modules/unictype/category-Lm: Likewise.
32368         * modules/unictype/category-Lo: Likewise.
32369         * modules/unictype/category-Lt: Likewise.
32370         * modules/unictype/category-Lu: Likewise.
32371         * modules/unictype/category-M: Likewise.
32372         * modules/unictype/category-Mc: Likewise.
32373         * modules/unictype/category-Me: Likewise.
32374         * modules/unictype/category-Mn: Likewise.
32375         * modules/unictype/category-N: Likewise.
32376         * modules/unictype/category-Nd: Likewise.
32377         * modules/unictype/category-Nl: Likewise.
32378         * modules/unictype/category-No: Likewise.
32379         * modules/unictype/category-P: Likewise.
32380         * modules/unictype/category-Pc: Likewise.
32381         * modules/unictype/category-Pd: Likewise.
32382         * modules/unictype/category-Pe: Likewise.
32383         * modules/unictype/category-Pf: Likewise.
32384         * modules/unictype/category-Pi: Likewise.
32385         * modules/unictype/category-Po: Likewise.
32386         * modules/unictype/category-Ps: Likewise.
32387         * modules/unictype/category-S: Likewise.
32388         * modules/unictype/category-Sc: Likewise.
32389         * modules/unictype/category-Sk: Likewise.
32390         * modules/unictype/category-Sm: Likewise.
32391         * modules/unictype/category-So: Likewise.
32392         * modules/unictype/category-Z: Likewise.
32393         * modules/unictype/category-Zl: Likewise.
32394         * modules/unictype/category-Zp: Likewise.
32395         * modules/unictype/category-Zs: Likewise.
32396         * modules/unictype/category-and: Likewise.
32397         * modules/unictype/category-and-not: Likewise.
32398         * modules/unictype/category-byname: Likewise.
32399         * modules/unictype/category-name: Likewise.
32400         * modules/unictype/category-none: Likewise.
32401         * modules/unictype/category-of: Likewise.
32402         * modules/unictype/category-or: Likewise.
32403         * modules/unictype/category-test: Likewise.
32404         * modules/unictype/combining-class: Likewise.
32405         * modules/unictype/ctype-alnum: Likewise.
32406         * modules/unictype/ctype-alpha: Likewise.
32407         * modules/unictype/ctype-blank: Likewise.
32408         * modules/unictype/ctype-cntrl: Likewise.
32409         * modules/unictype/ctype-digit: Likewise.
32410         * modules/unictype/ctype-graph: Likewise.
32411         * modules/unictype/ctype-lower: Likewise.
32412         * modules/unictype/ctype-print: Likewise.
32413         * modules/unictype/ctype-punct: Likewise.
32414         * modules/unictype/ctype-space: Likewise.
32415         * modules/unictype/ctype-upper: Likewise.
32416         * modules/unictype/ctype-xdigit: Likewise.
32417         * modules/unictype/decimal-digit: Likewise.
32418         * modules/unictype/digit: Likewise.
32419         * modules/unictype/mirror: Likewise.
32420         * modules/unictype/numeric: Likewise.
32421         * modules/unictype/property-alphabetic: Likewise.
32422         * modules/unictype/property-ascii-hex-digit: Likewise.
32423         * modules/unictype/property-bidi-arabic-digit: Likewise.
32424         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
32425         * modules/unictype/property-bidi-block-separator: Likewise.
32426         * modules/unictype/property-bidi-boundary-neutral: Likewise.
32427         * modules/unictype/property-bidi-common-separator: Likewise.
32428         * modules/unictype/property-bidi-control: Likewise.
32429         * modules/unictype/property-bidi-embedding-or-override: Likewise.
32430         * modules/unictype/property-bidi-eur-num-separator: Likewise.
32431         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
32432         * modules/unictype/property-bidi-european-digit: Likewise.
32433         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
32434         * modules/unictype/property-bidi-left-to-right: Likewise.
32435         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
32436         * modules/unictype/property-bidi-other-neutral: Likewise.
32437         * modules/unictype/property-bidi-pdf: Likewise.
32438         * modules/unictype/property-bidi-segment-separator: Likewise.
32439         * modules/unictype/property-bidi-whitespace: Likewise.
32440         * modules/unictype/property-byname: Likewise.
32441         * modules/unictype/property-combining: Likewise.
32442         * modules/unictype/property-composite: Likewise.
32443         * modules/unictype/property-currency-symbol: Likewise.
32444         * modules/unictype/property-dash: Likewise.
32445         * modules/unictype/property-decimal-digit: Likewise.
32446         * modules/unictype/property-default-ignorable-code-point: Likewise.
32447         * modules/unictype/property-deprecated: Likewise.
32448         * modules/unictype/property-diacritic: Likewise.
32449         * modules/unictype/property-extender: Likewise.
32450         * modules/unictype/property-format-control: Likewise.
32451         * modules/unictype/property-grapheme-base: Likewise.
32452         * modules/unictype/property-grapheme-extend: Likewise.
32453         * modules/unictype/property-grapheme-link: Likewise.
32454         * modules/unictype/property-hex-digit: Likewise.
32455         * modules/unictype/property-hyphen: Likewise.
32456         * modules/unictype/property-id-continue: Likewise.
32457         * modules/unictype/property-id-start: Likewise.
32458         * modules/unictype/property-ideographic: Likewise.
32459         * modules/unictype/property-ids-binary-operator: Likewise.
32460         * modules/unictype/property-ids-trinary-operator: Likewise.
32461         * modules/unictype/property-ignorable-control: Likewise.
32462         * modules/unictype/property-iso-control: Likewise.
32463         * modules/unictype/property-join-control: Likewise.
32464         * modules/unictype/property-left-of-pair: Likewise.
32465         * modules/unictype/property-line-separator: Likewise.
32466         * modules/unictype/property-logical-order-exception: Likewise.
32467         * modules/unictype/property-lowercase: Likewise.
32468         * modules/unictype/property-math: Likewise.
32469         * modules/unictype/property-non-break: Likewise.
32470         * modules/unictype/property-not-a-character: Likewise.
32471         * modules/unictype/property-numeric: Likewise.
32472         * modules/unictype/property-other-alphabetic: Likewise.
32473         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
32474         * modules/unictype/property-other-grapheme-extend: Likewise.
32475         * modules/unictype/property-other-id-continue: Likewise.
32476         * modules/unictype/property-other-id-start: Likewise.
32477         * modules/unictype/property-other-lowercase: Likewise.
32478         * modules/unictype/property-other-math: Likewise.
32479         * modules/unictype/property-other-uppercase: Likewise.
32480         * modules/unictype/property-paired-punctuation: Likewise.
32481         * modules/unictype/property-paragraph-separator: Likewise.
32482         * modules/unictype/property-pattern-syntax: Likewise.
32483         * modules/unictype/property-pattern-white-space: Likewise.
32484         * modules/unictype/property-private-use: Likewise.
32485         * modules/unictype/property-punctuation: Likewise.
32486         * modules/unictype/property-quotation-mark: Likewise.
32487         * modules/unictype/property-radical: Likewise.
32488         * modules/unictype/property-sentence-terminal: Likewise.
32489         * modules/unictype/property-soft-dotted: Likewise.
32490         * modules/unictype/property-space: Likewise.
32491         * modules/unictype/property-terminal-punctuation: Likewise.
32492         * modules/unictype/property-test: Likewise.
32493         * modules/unictype/property-titlecase: Likewise.
32494         * modules/unictype/property-unassigned-code-value: Likewise.
32495         * modules/unictype/property-unified-ideograph: Likewise.
32496         * modules/unictype/property-uppercase: Likewise.
32497         * modules/unictype/property-variation-selector: Likewise.
32498         * modules/unictype/property-white-space: Likewise.
32499         * modules/unictype/property-xid-continue: Likewise.
32500         * modules/unictype/property-xid-start: Likewise.
32501         * modules/unictype/property-zero-width: Likewise.
32502         * modules/unictype/scripts: Likewise.
32503         * modules/unictype/syntax-c-ident: Likewise.
32504         * modules/unictype/syntax-c-whitespace: Likewise.
32505         * modules/unictype/syntax-java-ident: Likewise.
32506         * modules/unictype/syntax-java-whitespace: Likewise.
32507         * modules/unilbrk/u8-possible-linebreaks: Likewise.
32508         * modules/unilbrk/u8-width-linebreaks: Likewise.
32509         * modules/unilbrk/u16-possible-linebreaks: Likewise.
32510         * modules/unilbrk/u16-width-linebreaks: Likewise.
32511         * modules/unilbrk/u32-possible-linebreaks: Likewise.
32512         * modules/unilbrk/u32-width-linebreaks: Likewise.
32513         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
32514         * modules/unilbrk/ulc-width-linebreaks: Likewise.
32515         * modules/uniname/uniname: Likewise.
32516         * modules/uninorm/canonical-decomposition: Likewise.
32517         * modules/uninorm/composition: Likewise.
32518         * modules/uninorm/decomposing-form: Likewise.
32519         * modules/uninorm/decomposition: Likewise.
32520         * modules/uninorm/filter: Likewise.
32521         * modules/uninorm/nfc: Likewise.
32522         * modules/uninorm/nfd: Likewise.
32523         * modules/uninorm/nfkc: Likewise.
32524         * modules/uninorm/nfkd: Likewise.
32525         * modules/uninorm/u8-normalize: Likewise.
32526         * modules/uninorm/u8-normcmp: Likewise.
32527         * modules/uninorm/u8-normcoll: Likewise.
32528         * modules/uninorm/u8-normxfrm: Likewise.
32529         * modules/uninorm/u16-normalize: Likewise.
32530         * modules/uninorm/u16-normcmp: Likewise.
32531         * modules/uninorm/u16-normcoll: Likewise.
32532         * modules/uninorm/u16-normxfrm: Likewise.
32533         * modules/uninorm/u32-normalize: Likewise.
32534         * modules/uninorm/u32-normcmp: Likewise.
32535         * modules/uninorm/u32-normcoll: Likewise.
32536         * modules/uninorm/u32-normxfrm: Likewise.
32537         * modules/unistdio/u8-asnprintf: Likewise.
32538         * modules/unistdio/u8-asprintf: Likewise.
32539         * modules/unistdio/u8-snprintf: Likewise.
32540         * modules/unistdio/u8-sprintf: Likewise.
32541         * modules/unistdio/u8-u8-asnprintf: Likewise.
32542         * modules/unistdio/u8-u8-asprintf: Likewise.
32543         * modules/unistdio/u8-u8-snprintf: Likewise.
32544         * modules/unistdio/u8-u8-sprintf: Likewise.
32545         * modules/unistdio/u8-u8-vasnprintf: Likewise.
32546         * modules/unistdio/u8-u8-vasprintf: Likewise.
32547         * modules/unistdio/u8-u8-vsnprintf: Likewise.
32548         * modules/unistdio/u8-u8-vsprintf: Likewise.
32549         * modules/unistdio/u8-vasnprintf: Likewise.
32550         * modules/unistdio/u8-vasprintf: Likewise.
32551         * modules/unistdio/u8-vsnprintf: Likewise.
32552         * modules/unistdio/u8-vsprintf: Likewise.
32553         * modules/unistdio/u16-asnprintf: Likewise.
32554         * modules/unistdio/u16-asprintf: Likewise.
32555         * modules/unistdio/u16-snprintf: Likewise.
32556         * modules/unistdio/u16-sprintf: Likewise.
32557         * modules/unistdio/u16-u16-asnprintf: Likewise.
32558         * modules/unistdio/u16-u16-asprintf: Likewise.
32559         * modules/unistdio/u16-u16-snprintf: Likewise.
32560         * modules/unistdio/u16-u16-sprintf: Likewise.
32561         * modules/unistdio/u16-u16-vasnprintf: Likewise.
32562         * modules/unistdio/u16-u16-vasprintf: Likewise.
32563         * modules/unistdio/u16-u16-vsnprintf: Likewise.
32564         * modules/unistdio/u16-u16-vsprintf: Likewise.
32565         * modules/unistdio/u16-vasnprintf: Likewise.
32566         * modules/unistdio/u16-vasprintf: Likewise.
32567         * modules/unistdio/u16-vsnprintf: Likewise.
32568         * modules/unistdio/u16-vsprintf: Likewise.
32569         * modules/unistdio/u32-asnprintf: Likewise.
32570         * modules/unistdio/u32-asprintf: Likewise.
32571         * modules/unistdio/u32-snprintf: Likewise.
32572         * modules/unistdio/u32-sprintf: Likewise.
32573         * modules/unistdio/u32-u32-asnprintf: Likewise.
32574         * modules/unistdio/u32-u32-asprintf: Likewise.
32575         * modules/unistdio/u32-u32-snprintf: Likewise.
32576         * modules/unistdio/u32-u32-sprintf: Likewise.
32577         * modules/unistdio/u32-u32-vasnprintf: Likewise.
32578         * modules/unistdio/u32-u32-vasprintf: Likewise.
32579         * modules/unistdio/u32-u32-vsnprintf: Likewise.
32580         * modules/unistdio/u32-u32-vsprintf: Likewise.
32581         * modules/unistdio/u32-vasnprintf: Likewise.
32582         * modules/unistdio/u32-vasprintf: Likewise.
32583         * modules/unistdio/u32-vsnprintf: Likewise.
32584         * modules/unistdio/u32-vsprintf: Likewise.
32585         * modules/unistdio/ulc-asnprintf: Likewise.
32586         * modules/unistdio/ulc-asprintf: Likewise.
32587         * modules/unistdio/ulc-fprintf: Likewise.
32588         * modules/unistdio/ulc-snprintf: Likewise.
32589         * modules/unistdio/ulc-sprintf: Likewise.
32590         * modules/unistdio/ulc-vasnprintf: Likewise.
32591         * modules/unistdio/ulc-vasprintf: Likewise.
32592         * modules/unistdio/ulc-vfprintf: Likewise.
32593         * modules/unistdio/ulc-vsnprintf: Likewise.
32594         * modules/unistdio/ulc-vsprintf: Likewise.
32595         * modules/unistr/u8-check: Likewise.
32596         * modules/unistr/u8-chr: Likewise.
32597         * modules/unistr/u8-cmp: Likewise.
32598         * modules/unistr/u8-cmp2: Likewise.
32599         * modules/unistr/u8-cpy: Likewise.
32600         * modules/unistr/u8-cpy-alloc: Likewise.
32601         * modules/unistr/u8-endswith: Likewise.
32602         * modules/unistr/u8-mblen: Likewise.
32603         * modules/unistr/u8-mbsnlen: Likewise.
32604         * modules/unistr/u8-mbtouc: Likewise.
32605         * modules/unistr/u8-mbtouc-unsafe: Likewise.
32606         * modules/unistr/u8-mbtoucr: Likewise.
32607         * modules/unistr/u8-move: Likewise.
32608         * modules/unistr/u8-next: Likewise.
32609         * modules/unistr/u8-prev: Likewise.
32610         * modules/unistr/u8-set: Likewise.
32611         * modules/unistr/u8-startswith: Likewise.
32612         * modules/unistr/u8-stpcpy: Likewise.
32613         * modules/unistr/u8-stpncpy: Likewise.
32614         * modules/unistr/u8-strcat: Likewise.
32615         * modules/unistr/u8-strchr: Likewise.
32616         * modules/unistr/u8-strcmp: Likewise.
32617         * modules/unistr/u8-strcoll: Likewise.
32618         * modules/unistr/u8-strcpy: Likewise.
32619         * modules/unistr/u8-strcspn: Likewise.
32620         * modules/unistr/u8-strdup: Likewise.
32621         * modules/unistr/u8-strlen: Likewise.
32622         * modules/unistr/u8-strmblen: Likewise.
32623         * modules/unistr/u8-strmbtouc: Likewise.
32624         * modules/unistr/u8-strncat: Likewise.
32625         * modules/unistr/u8-strncmp: Likewise.
32626         * modules/unistr/u8-strncpy: Likewise.
32627         * modules/unistr/u8-strnlen: Likewise.
32628         * modules/unistr/u8-strpbrk: Likewise.
32629         * modules/unistr/u8-strrchr: Likewise.
32630         * modules/unistr/u8-strspn: Likewise.
32631         * modules/unistr/u8-strstr: Likewise.
32632         * modules/unistr/u8-strtok: Likewise.
32633         * modules/unistr/u8-to-u16: Likewise.
32634         * modules/unistr/u8-to-u32: Likewise.
32635         * modules/unistr/u8-uctomb: Likewise.
32636         * modules/unistr/u16-check: Likewise.
32637         * modules/unistr/u16-chr: Likewise.
32638         * modules/unistr/u16-cmp: Likewise.
32639         * modules/unistr/u16-cmp2: Likewise.
32640         * modules/unistr/u16-cpy: Likewise.
32641         * modules/unistr/u16-cpy-alloc: Likewise.
32642         * modules/unistr/u16-endswith: Likewise.
32643         * modules/unistr/u16-mblen: Likewise.
32644         * modules/unistr/u16-mbsnlen: Likewise.
32645         * modules/unistr/u16-mbtouc: Likewise.
32646         * modules/unistr/u16-mbtouc-unsafe: Likewise.
32647         * modules/unistr/u16-mbtoucr: Likewise.
32648         * modules/unistr/u16-move: Likewise.
32649         * modules/unistr/u16-next: Likewise.
32650         * modules/unistr/u16-prev: Likewise.
32651         * modules/unistr/u16-set: Likewise.
32652         * modules/unistr/u16-startswith: Likewise.
32653         * modules/unistr/u16-stpcpy: Likewise.
32654         * modules/unistr/u16-stpncpy: Likewise.
32655         * modules/unistr/u16-strcat: Likewise.
32656         * modules/unistr/u16-strchr: Likewise.
32657         * modules/unistr/u16-strcmp: Likewise.
32658         * modules/unistr/u16-strcoll: Likewise.
32659         * modules/unistr/u16-strcpy: Likewise.
32660         * modules/unistr/u16-strcspn: Likewise.
32661         * modules/unistr/u16-strdup: Likewise.
32662         * modules/unistr/u16-strlen: Likewise.
32663         * modules/unistr/u16-strmblen: Likewise.
32664         * modules/unistr/u16-strmbtouc: Likewise.
32665         * modules/unistr/u16-strncat: Likewise.
32666         * modules/unistr/u16-strncmp: Likewise.
32667         * modules/unistr/u16-strncpy: Likewise.
32668         * modules/unistr/u16-strnlen: Likewise.
32669         * modules/unistr/u16-strpbrk: Likewise.
32670         * modules/unistr/u16-strrchr: Likewise.
32671         * modules/unistr/u16-strspn: Likewise.
32672         * modules/unistr/u16-strstr: Likewise.
32673         * modules/unistr/u16-strtok: Likewise.
32674         * modules/unistr/u16-to-u32: Likewise.
32675         * modules/unistr/u16-to-u8: Likewise.
32676         * modules/unistr/u16-uctomb: Likewise.
32677         * modules/unistr/u32-check: Likewise.
32678         * modules/unistr/u32-chr: Likewise.
32679         * modules/unistr/u32-cmp: Likewise.
32680         * modules/unistr/u32-cmp2: Likewise.
32681         * modules/unistr/u32-cpy: Likewise.
32682         * modules/unistr/u32-cpy-alloc: Likewise.
32683         * modules/unistr/u32-endswith: Likewise.
32684         * modules/unistr/u32-mblen: Likewise.
32685         * modules/unistr/u32-mbsnlen: Likewise.
32686         * modules/unistr/u32-mbtouc: Likewise.
32687         * modules/unistr/u32-mbtouc-unsafe: Likewise.
32688         * modules/unistr/u32-mbtoucr: Likewise.
32689         * modules/unistr/u32-move: Likewise.
32690         * modules/unistr/u32-next: Likewise.
32691         * modules/unistr/u32-prev: Likewise.
32692         * modules/unistr/u32-set: Likewise.
32693         * modules/unistr/u32-startswith: Likewise.
32694         * modules/unistr/u32-stpcpy: Likewise.
32695         * modules/unistr/u32-stpncpy: Likewise.
32696         * modules/unistr/u32-strcat: Likewise.
32697         * modules/unistr/u32-strchr: Likewise.
32698         * modules/unistr/u32-strcmp: Likewise.
32699         * modules/unistr/u32-strcoll: Likewise.
32700         * modules/unistr/u32-strcpy: Likewise.
32701         * modules/unistr/u32-strcspn: Likewise.
32702         * modules/unistr/u32-strdup: Likewise.
32703         * modules/unistr/u32-strlen: Likewise.
32704         * modules/unistr/u32-strmblen: Likewise.
32705         * modules/unistr/u32-strmbtouc: Likewise.
32706         * modules/unistr/u32-strncat: Likewise.
32707         * modules/unistr/u32-strncmp: Likewise.
32708         * modules/unistr/u32-strncpy: Likewise.
32709         * modules/unistr/u32-strnlen: Likewise.
32710         * modules/unistr/u32-strpbrk: Likewise.
32711         * modules/unistr/u32-strrchr: Likewise.
32712         * modules/unistr/u32-strspn: Likewise.
32713         * modules/unistr/u32-strstr: Likewise.
32714         * modules/unistr/u32-strtok: Likewise.
32715         * modules/unistr/u32-to-u16: Likewise.
32716         * modules/unistr/u32-to-u8: Likewise.
32717         * modules/unistr/u32-uctomb: Likewise.
32718         * modules/uniwbrk/u8-wordbreaks: Likewise.
32719         * modules/uniwbrk/u16-wordbreaks: Likewise.
32720         * modules/uniwbrk/u32-wordbreaks: Likewise.
32721         * modules/uniwbrk/ulc-wordbreaks: Likewise.
32722         * modules/uniwbrk/wordbreak-property: Likewise.
32723         * modules/uniwidth/u8-strwidth: Likewise.
32724         * modules/uniwidth/u8-width: Likewise.
32725         * modules/uniwidth/u16-strwidth: Likewise.
32726         * modules/uniwidth/u16-width: Likewise.
32727         * modules/uniwidth/u32-strwidth: Likewise.
32728         * modules/uniwidth/u32-width: Likewise.
32729         * modules/uniwidth/width: Likewise.
32730         * modules/unicase/cased-tests (Makefile.am): Link all test programs
32731         with $(LIBUNISTRING).
32732         * modules/unicase/ignorable-tests: Likewise.
32733         * modules/unicase/locale-language-tests: Likewise.
32734         * modules/unicase/tolower-tests: Likewise.
32735         * modules/unicase/totitle-tests: Likewise.
32736         * modules/unicase/toupper-tests: Likewise.
32737         * modules/unicase/u8-casecmp-tests: Likewise.
32738         * modules/unicase/u8-casecoll-tests: Likewise.
32739         * modules/unicase/u8-casefold-tests: Likewise.
32740         * modules/unicase/u8-is-cased-tests: Likewise.
32741         * modules/unicase/u8-is-casefolded-tests: Likewise.
32742         * modules/unicase/u8-is-lowercase-tests: Likewise.
32743         * modules/unicase/u8-is-titlecase-tests: Likewise.
32744         * modules/unicase/u8-is-uppercase-tests: Likewise.
32745         * modules/unicase/u8-tolower-tests: Likewise.
32746         * modules/unicase/u8-totitle-tests: Likewise.
32747         * modules/unicase/u8-toupper-tests: Likewise.
32748         * modules/unicase/u16-casecmp-tests: Likewise.
32749         * modules/unicase/u16-casecoll-tests: Likewise.
32750         * modules/unicase/u16-casefold-tests: Likewise.
32751         * modules/unicase/u16-is-cased-tests: Likewise.
32752         * modules/unicase/u16-is-casefolded-tests: Likewise.
32753         * modules/unicase/u16-is-lowercase-tests: Likewise.
32754         * modules/unicase/u16-is-titlecase-tests: Likewise.
32755         * modules/unicase/u16-is-uppercase-tests: Likewise.
32756         * modules/unicase/u16-tolower-tests: Likewise.
32757         * modules/unicase/u16-totitle-tests: Likewise.
32758         * modules/unicase/u16-toupper-tests: Likewise.
32759         * modules/unicase/u32-casecmp-tests: Likewise.
32760         * modules/unicase/u32-casecoll-tests: Likewise.
32761         * modules/unicase/u32-casefold-tests: Likewise.
32762         * modules/unicase/u32-is-cased-tests: Likewise.
32763         * modules/unicase/u32-is-casefolded-tests: Likewise.
32764         * modules/unicase/u32-is-lowercase-tests: Likewise.
32765         * modules/unicase/u32-is-titlecase-tests: Likewise.
32766         * modules/unicase/u32-is-uppercase-tests: Likewise.
32767         * modules/unicase/u32-tolower-tests: Likewise.
32768         * modules/unicase/u32-totitle-tests: Likewise.
32769         * modules/unicase/u32-toupper-tests: Likewise.
32770         * modules/unicase/ulc-casecmp-tests: Likewise.
32771         * modules/unicase/ulc-casecoll-tests: Likewise.
32772         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
32773         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
32774         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
32775         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
32776         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
32777         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
32778         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
32779         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
32780         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
32781         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
32782         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
32783         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
32784         * modules/unictype/bidicategory-byname-tests: Likewise.
32785         * modules/unictype/bidicategory-name-tests: Likewise.
32786         * modules/unictype/bidicategory-of-tests: Likewise.
32787         * modules/unictype/bidicategory-test-tests: Likewise.
32788         * modules/unictype/block-list-tests: Likewise.
32789         * modules/unictype/block-of-tests: Likewise.
32790         * modules/unictype/block-test-tests: Likewise.
32791         * modules/unictype/category-C-tests: Likewise.
32792         * modules/unictype/category-Cc-tests: Likewise.
32793         * modules/unictype/category-Cf-tests: Likewise.
32794         * modules/unictype/category-Cn-tests: Likewise.
32795         * modules/unictype/category-Co-tests: Likewise.
32796         * modules/unictype/category-Cs-tests: Likewise.
32797         * modules/unictype/category-L-tests: Likewise.
32798         * modules/unictype/category-Ll-tests: Likewise.
32799         * modules/unictype/category-Lm-tests: Likewise.
32800         * modules/unictype/category-Lo-tests: Likewise.
32801         * modules/unictype/category-Lt-tests: Likewise.
32802         * modules/unictype/category-Lu-tests: Likewise.
32803         * modules/unictype/category-M-tests: Likewise.
32804         * modules/unictype/category-Mc-tests: Likewise.
32805         * modules/unictype/category-Me-tests: Likewise.
32806         * modules/unictype/category-Mn-tests: Likewise.
32807         * modules/unictype/category-N-tests: Likewise.
32808         * modules/unictype/category-Nd-tests: Likewise.
32809         * modules/unictype/category-Nl-tests: Likewise.
32810         * modules/unictype/category-No-tests: Likewise.
32811         * modules/unictype/category-P-tests: Likewise.
32812         * modules/unictype/category-Pc-tests: Likewise.
32813         * modules/unictype/category-Pd-tests: Likewise.
32814         * modules/unictype/category-Pe-tests: Likewise.
32815         * modules/unictype/category-Pf-tests: Likewise.
32816         * modules/unictype/category-Pi-tests: Likewise.
32817         * modules/unictype/category-Po-tests: Likewise.
32818         * modules/unictype/category-Ps-tests: Likewise.
32819         * modules/unictype/category-S-tests: Likewise.
32820         * modules/unictype/category-Sc-tests: Likewise.
32821         * modules/unictype/category-Sk-tests: Likewise.
32822         * modules/unictype/category-Sm-tests: Likewise.
32823         * modules/unictype/category-So-tests: Likewise.
32824         * modules/unictype/category-Z-tests: Likewise.
32825         * modules/unictype/category-Zl-tests: Likewise.
32826         * modules/unictype/category-Zp-tests: Likewise.
32827         * modules/unictype/category-Zs-tests: Likewise.
32828         * modules/unictype/category-and-not-tests: Likewise.
32829         * modules/unictype/category-and-tests: Likewise.
32830         * modules/unictype/category-byname-tests: Likewise.
32831         * modules/unictype/category-name-tests: Likewise.
32832         * modules/unictype/category-none-tests: Likewise.
32833         * modules/unictype/category-of-tests: Likewise.
32834         * modules/unictype/category-or-tests: Likewise.
32835         * modules/unictype/category-test-withtable-tests: Likewise.
32836         * modules/unictype/combining-class-tests: Likewise.
32837         * modules/unictype/ctype-alnum-tests: Likewise.
32838         * modules/unictype/ctype-alpha-tests: Likewise.
32839         * modules/unictype/ctype-blank-tests: Likewise.
32840         * modules/unictype/ctype-cntrl-tests: Likewise.
32841         * modules/unictype/ctype-digit-tests: Likewise.
32842         * modules/unictype/ctype-graph-tests: Likewise.
32843         * modules/unictype/ctype-lower-tests: Likewise.
32844         * modules/unictype/ctype-print-tests: Likewise.
32845         * modules/unictype/ctype-punct-tests: Likewise.
32846         * modules/unictype/ctype-space-tests: Likewise.
32847         * modules/unictype/ctype-upper-tests: Likewise.
32848         * modules/unictype/ctype-xdigit-tests: Likewise.
32849         * modules/unictype/decimal-digit-tests: Likewise.
32850         * modules/unictype/digit-tests: Likewise.
32851         * modules/unictype/mirror-tests: Likewise.
32852         * modules/unictype/numeric-tests: Likewise.
32853         * modules/unictype/property-alphabetic-tests: Likewise.
32854         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
32855         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
32856         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
32857         * modules/unictype/property-bidi-block-separator-tests: Likewise.
32858         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
32859         * modules/unictype/property-bidi-common-separator-tests: Likewise.
32860         * modules/unictype/property-bidi-control-tests: Likewise.
32861         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
32862         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
32863         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
32864         * modules/unictype/property-bidi-european-digit-tests: Likewise.
32865         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
32866         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
32867         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
32868         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
32869         * modules/unictype/property-bidi-pdf-tests: Likewise.
32870         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
32871         * modules/unictype/property-bidi-whitespace-tests: Likewise.
32872         * modules/unictype/property-byname-tests: Likewise.
32873         * modules/unictype/property-combining-tests: Likewise.
32874         * modules/unictype/property-composite-tests: Likewise.
32875         * modules/unictype/property-currency-symbol-tests: Likewise.
32876         * modules/unictype/property-dash-tests: Likewise.
32877         * modules/unictype/property-decimal-digit-tests: Likewise.
32878         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
32879         * modules/unictype/property-deprecated-tests: Likewise.
32880         * modules/unictype/property-diacritic-tests: Likewise.
32881         * modules/unictype/property-extender-tests: Likewise.
32882         * modules/unictype/property-format-control-tests: Likewise.
32883         * modules/unictype/property-grapheme-base-tests: Likewise.
32884         * modules/unictype/property-grapheme-extend-tests: Likewise.
32885         * modules/unictype/property-grapheme-link-tests: Likewise.
32886         * modules/unictype/property-hex-digit-tests: Likewise.
32887         * modules/unictype/property-hyphen-tests: Likewise.
32888         * modules/unictype/property-id-continue-tests: Likewise.
32889         * modules/unictype/property-id-start-tests: Likewise.
32890         * modules/unictype/property-ideographic-tests: Likewise.
32891         * modules/unictype/property-ids-binary-operator-tests: Likewise.
32892         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
32893         * modules/unictype/property-ignorable-control-tests: Likewise.
32894         * modules/unictype/property-iso-control-tests: Likewise.
32895         * modules/unictype/property-join-control-tests: Likewise.
32896         * modules/unictype/property-left-of-pair-tests: Likewise.
32897         * modules/unictype/property-line-separator-tests: Likewise.
32898         * modules/unictype/property-logical-order-exception-tests: Likewise.
32899         * modules/unictype/property-lowercase-tests: Likewise.
32900         * modules/unictype/property-math-tests: Likewise.
32901         * modules/unictype/property-non-break-tests: Likewise.
32902         * modules/unictype/property-not-a-character-tests: Likewise.
32903         * modules/unictype/property-numeric-tests: Likewise.
32904         * modules/unictype/property-other-alphabetic-tests: Likewise.
32905         * modules/unictype/property-other-default-ignorable-code-point-tests:
32906         Likewise.
32907         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
32908         * modules/unictype/property-other-id-continue-tests: Likewise.
32909         * modules/unictype/property-other-id-start-tests: Likewise.
32910         * modules/unictype/property-other-lowercase-tests: Likewise.
32911         * modules/unictype/property-other-math-tests: Likewise.
32912         * modules/unictype/property-other-uppercase-tests: Likewise.
32913         * modules/unictype/property-paired-punctuation-tests: Likewise.
32914         * modules/unictype/property-paragraph-separator-tests: Likewise.
32915         * modules/unictype/property-pattern-syntax-tests: Likewise.
32916         * modules/unictype/property-pattern-white-space-tests: Likewise.
32917         * modules/unictype/property-private-use-tests: Likewise.
32918         * modules/unictype/property-punctuation-tests: Likewise.
32919         * modules/unictype/property-quotation-mark-tests: Likewise.
32920         * modules/unictype/property-radical-tests: Likewise.
32921         * modules/unictype/property-sentence-terminal-tests: Likewise.
32922         * modules/unictype/property-soft-dotted-tests: Likewise.
32923         * modules/unictype/property-space-tests: Likewise.
32924         * modules/unictype/property-terminal-punctuation-tests: Likewise.
32925         * modules/unictype/property-test-tests: Likewise.
32926         * modules/unictype/property-titlecase-tests: Likewise.
32927         * modules/unictype/property-unassigned-code-value-tests: Likewise.
32928         * modules/unictype/property-unified-ideograph-tests: Likewise.
32929         * modules/unictype/property-uppercase-tests: Likewise.
32930         * modules/unictype/property-variation-selector-tests: Likewise.
32931         * modules/unictype/property-white-space-tests: Likewise.
32932         * modules/unictype/property-xid-continue-tests: Likewise.
32933         * modules/unictype/property-xid-start-tests: Likewise.
32934         * modules/unictype/property-zero-width-tests: Likewise.
32935         * modules/unictype/scripts-tests: Likewise.
32936         * modules/unictype/syntax-c-ident-tests: Likewise.
32937         * modules/unictype/syntax-c-whitespace-tests: Likewise.
32938         * modules/unictype/syntax-java-ident-tests: Likewise.
32939         * modules/unictype/syntax-java-whitespace-tests: Likewise.
32940         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
32941         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
32942         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
32943         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
32944         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
32945         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
32946         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
32947         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
32948         * modules/uniname/uniname-tests: Likewise.
32949         * modules/uninorm/canonical-decomposition-tests: Likewise.
32950         * modules/uninorm/compat-decomposition-tests: Likewise.
32951         * modules/uninorm/composition-tests: Likewise.
32952         * modules/uninorm/decomposing-form-tests: Likewise.
32953         * modules/uninorm/decomposition-tests: Likewise.
32954         * modules/uninorm/filter-tests: Likewise.
32955         * modules/uninorm/nfc-tests: Likewise.
32956         * modules/uninorm/nfd-tests: Likewise.
32957         * modules/uninorm/nfkc-tests: Likewise.
32958         * modules/uninorm/nfkd-tests: Likewise.
32959         * modules/uninorm/u8-normcmp-tests: Likewise.
32960         * modules/uninorm/u8-normcoll-tests: Likewise.
32961         * modules/uninorm/u16-normcmp-tests: Likewise.
32962         * modules/uninorm/u16-normcoll-tests: Likewise.
32963         * modules/uninorm/u32-normcmp-tests: Likewise.
32964         * modules/uninorm/u32-normcoll-tests: Likewise.
32965         * modules/unistdio/u8-asnprintf-tests: Likewise.
32966         * modules/unistdio/u8-vasnprintf-tests: Likewise.
32967         * modules/unistdio/u8-vasprintf-tests: Likewise.
32968         * modules/unistdio/u8-vsnprintf-tests: Likewise.
32969         * modules/unistdio/u8-vsprintf-tests: Likewise.
32970         * modules/unistdio/u16-asnprintf-tests: Likewise.
32971         * modules/unistdio/u16-vasnprintf-tests: Likewise.
32972         * modules/unistdio/u16-vasprintf-tests: Likewise.
32973         * modules/unistdio/u16-vsnprintf-tests: Likewise.
32974         * modules/unistdio/u16-vsprintf-tests: Likewise.
32975         * modules/unistdio/u32-asnprintf-tests: Likewise.
32976         * modules/unistdio/u32-vasnprintf-tests: Likewise.
32977         * modules/unistdio/u32-vasprintf-tests: Likewise.
32978         * modules/unistdio/u32-vsnprintf-tests: Likewise.
32979         * modules/unistdio/u32-vsprintf-tests: Likewise.
32980         * modules/unistdio/ulc-asnprintf-tests: Likewise.
32981         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
32982         * modules/unistdio/ulc-vasprintf-tests: Likewise.
32983         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
32984         * modules/unistdio/ulc-vsprintf-tests: Likewise.
32985         * modules/unistr/u8-check-tests: Likewise.
32986         * modules/unistr/u8-chr-tests: Likewise.
32987         * modules/unistr/u8-cmp-tests: Likewise.
32988         * modules/unistr/u8-cmp2-tests: Likewise.
32989         * modules/unistr/u8-cpy-alloc-tests: Likewise.
32990         * modules/unistr/u8-cpy-tests: Likewise.
32991         * modules/unistr/u8-mblen-tests: Likewise.
32992         * modules/unistr/u8-mbsnlen-tests: Likewise.
32993         * modules/unistr/u8-mbtouc-tests: Likewise.
32994         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
32995         * modules/unistr/u8-mbtoucr-tests: Likewise.
32996         * modules/unistr/u8-move-tests: Likewise.
32997         * modules/unistr/u8-next-tests: Likewise.
32998         * modules/unistr/u8-prev-tests: Likewise.
32999         * modules/unistr/u8-set-tests: Likewise.
33000         * modules/unistr/u8-stpcpy-tests: Likewise.
33001         * modules/unistr/u8-stpncpy-tests: Likewise.
33002         * modules/unistr/u8-strcat-tests: Likewise.
33003         * modules/unistr/u8-strcmp-tests: Likewise.
33004         * modules/unistr/u8-strcoll-tests: Likewise.
33005         * modules/unistr/u8-strcpy-tests: Likewise.
33006         * modules/unistr/u8-strdup-tests: Likewise.
33007         * modules/unistr/u8-strlen-tests: Likewise.
33008         * modules/unistr/u8-strmblen-tests: Likewise.
33009         * modules/unistr/u8-strmbtouc-tests: Likewise.
33010         * modules/unistr/u8-strncat-tests: Likewise.
33011         * modules/unistr/u8-strncmp-tests: Likewise.
33012         * modules/unistr/u8-strncpy-tests: Likewise.
33013         * modules/unistr/u8-strnlen-tests: Likewise.
33014         * modules/unistr/u8-to-u16-tests: Likewise.
33015         * modules/unistr/u8-to-u32-tests: Likewise.
33016         * modules/unistr/u8-uctomb-tests: Likewise.
33017         * modules/unistr/u16-check-tests: Likewise.
33018         * modules/unistr/u16-chr-tests: Likewise.
33019         * modules/unistr/u16-cmp-tests: Likewise.
33020         * modules/unistr/u16-cmp2-tests: Likewise.
33021         * modules/unistr/u16-cpy-alloc-tests: Likewise.
33022         * modules/unistr/u16-cpy-tests: Likewise.
33023         * modules/unistr/u16-mblen-tests: Likewise.
33024         * modules/unistr/u16-mbsnlen-tests: Likewise.
33025         * modules/unistr/u16-mbtouc-tests: Likewise.
33026         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
33027         * modules/unistr/u16-mbtoucr-tests: Likewise.
33028         * modules/unistr/u16-move-tests: Likewise.
33029         * modules/unistr/u16-next-tests: Likewise.
33030         * modules/unistr/u16-prev-tests: Likewise.
33031         * modules/unistr/u16-set-tests: Likewise.
33032         * modules/unistr/u16-stpcpy-tests: Likewise.
33033         * modules/unistr/u16-stpncpy-tests: Likewise.
33034         * modules/unistr/u16-strcat-tests: Likewise.
33035         * modules/unistr/u16-strcmp-tests: Likewise.
33036         * modules/unistr/u16-strcoll-tests: Likewise.
33037         * modules/unistr/u16-strcpy-tests: Likewise.
33038         * modules/unistr/u16-strdup-tests: Likewise.
33039         * modules/unistr/u16-strlen-tests: Likewise.
33040         * modules/unistr/u16-strmblen-tests: Likewise.
33041         * modules/unistr/u16-strmbtouc-tests: Likewise.
33042         * modules/unistr/u16-strncat-tests: Likewise.
33043         * modules/unistr/u16-strncmp-tests: Likewise.
33044         * modules/unistr/u16-strncpy-tests: Likewise.
33045         * modules/unistr/u16-strnlen-tests: Likewise.
33046         * modules/unistr/u16-to-u32-tests: Likewise.
33047         * modules/unistr/u16-to-u8-tests: Likewise.
33048         * modules/unistr/u16-uctomb-tests: Likewise.
33049         * modules/unistr/u32-check-tests: Likewise.
33050         * modules/unistr/u32-chr-tests: Likewise.
33051         * modules/unistr/u32-cmp-tests: Likewise.
33052         * modules/unistr/u32-cmp2-tests: Likewise.
33053         * modules/unistr/u32-cpy-alloc-tests: Likewise.
33054         * modules/unistr/u32-cpy-tests: Likewise.
33055         * modules/unistr/u32-mblen-tests: Likewise.
33056         * modules/unistr/u32-mbsnlen-tests: Likewise.
33057         * modules/unistr/u32-mbtouc-tests: Likewise.
33058         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
33059         * modules/unistr/u32-mbtoucr-tests: Likewise.
33060         * modules/unistr/u32-move-tests: Likewise.
33061         * modules/unistr/u32-next-tests: Likewise.
33062         * modules/unistr/u32-prev-tests: Likewise.
33063         * modules/unistr/u32-set-tests: Likewise.
33064         * modules/unistr/u32-stpcpy-tests: Likewise.
33065         * modules/unistr/u32-stpncpy-tests: Likewise.
33066         * modules/unistr/u32-strcat-tests: Likewise.
33067         * modules/unistr/u32-strcmp-tests: Likewise.
33068         * modules/unistr/u32-strcoll-tests: Likewise.
33069         * modules/unistr/u32-strcpy-tests: Likewise.
33070         * modules/unistr/u32-strdup-tests: Likewise.
33071         * modules/unistr/u32-strlen-tests: Likewise.
33072         * modules/unistr/u32-strmblen-tests: Likewise.
33073         * modules/unistr/u32-strmbtouc-tests: Likewise.
33074         * modules/unistr/u32-strncat-tests: Likewise.
33075         * modules/unistr/u32-strncmp-tests: Likewise.
33076         * modules/unistr/u32-strncpy-tests: Likewise.
33077         * modules/unistr/u32-strnlen-tests: Likewise.
33078         * modules/unistr/u32-to-u16-tests: Likewise.
33079         * modules/unistr/u32-to-u8-tests: Likewise.
33080         * modules/unistr/u32-uctomb-tests: Likewise.
33081         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
33082         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
33083         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
33084         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
33085         * modules/uniwidth/u8-strwidth-tests: Likewise.
33086         * modules/uniwidth/u8-width-tests: Likewise.
33087         * modules/uniwidth/u16-strwidth-tests: Likewise.
33088         * modules/uniwidth/u16-width-tests: Likewise.
33089         * modules/uniwidth/u32-strwidth-tests: Likewise.
33090         * modules/uniwidth/u32-width-tests: Likewise.
33091         * modules/uniwidth/width-tests: Likewise.
33092
33093 2010-05-18  Richard Jones  <rjones@redhat.com>
33094
33095         doc: users.txt: list hivex
33096         * users.txt: Add hivex.
33097
33098 2010-05-18  Richard Jones  <rjones@redhat.com>
33099
33100         doc: users.txt: list febootstrap
33101         * users.txt: Add febootstrap.
33102
33103 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
33104
33105         bootstrap: fix an error when gnulib is not used as a git submodule
33106         * build-aux/bootstrap (gnulib_path): If its length is zero then
33107         assign "gnulib" to it.
33108         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
33109
33110 2010-05-16  Bruno Haible  <bruno@clisp.org>
33111
33112         Avoid autoconf warnings about AM_ICONV.
33113         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
33114         2.64.
33115
33116 2010-05-16  Bruno Haible  <bruno@clisp.org>
33117
33118         absolute-header: Make the macro usable in more situations.
33119         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
33120         from gl_ABSOLUTE_HEADER.
33121         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
33122
33123 2010-05-16  James Youngman  <jay@gnu.org>
33124
33125         doc: update users.txt
33126         * users.txt: Add CSSC.
33127
33128 2010-05-16  Jim Meyering  <meyering@redhat.com>
33129
33130         init.sh: fix an error in the previous change; add more comments
33131         * tests/init.sh: Compare exit code in loop against 9, not 2.
33132         Patch by Bruno Haible.
33133         Make the two tests more similar by adding an empty "then" clause.
33134         Add comments.
33135
33136         init.sh: avoid unnecessary shell re-exec
33137         * tests/init.sh: Improve the re-exec-required check to first test the
33138         current shell.  If it passes the test, do not search for a shell that
33139         does pass, and do not re-exec.  This test is particularly contorted to
33140         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
33141         of $(...) evokes a syntax error and causes immediate shell exit with
33142         status 2.  Bruno Haible reported that the re-exec made it impossible
33143         to single-step through any init.sh-using script.
33144
33145 2010-05-16  Bruno Haible  <bruno@clisp.org>
33146
33147         Fix collision between gnulib's and libintl's printf replacements.
33148         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
33149         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
33150         (printf): When using GNU C, map the __printf__ function to rpl_printf
33151         via __asm__. When not using GNU C, define rpl_printf instead of
33152         __printf__.
33153         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
33154         commit.
33155         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
33156         commit.
33157         * m4/asm-underscore.m4: New file.
33158         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
33159         * modules/stdio (Files): Add m4/asm-underscore.m4.
33160         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
33161         Reported by Ben Pfaff.
33162
33163 2010-05-16  Bruno Haible  <bruno@clisp.org>
33164
33165         verify: Avoid skipping the test on openSUSE 11.0.
33166         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
33167
33168 2010-05-13  Bruno Haible  <bruno@clisp.org>
33169
33170         Avoid useless warnings from G++.
33171         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
33172         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
33173         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33174
33175 2010-05-11  Jim Meyering  <meyering@redhat.com>
33176
33177         maint.mk: tweak preceding change
33178         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
33179         regexps tighter by anchoring at EOL, and make the new group "shy"
33180         for slightly decreased overhead.
33181
33182 2010-05-11  Eric Blake  <eblake@redhat.com>
33183
33184         maint.mk: gnulib doesn't guarantee NSIG
33185         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
33186
33187 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33188
33189         test-pwrite.c: Remove unused variable declaration.
33190         * tests/test-pwrite.c (main): Remove read_buf declaration.
33191
33192         Remove useless test-pwrite.sh file.
33193         * tests/test-pwrite.sh: Delete file.
33194         * modules/pwrite-tests: Remove references.
33195         Reported by Bruno Haible.
33196
33197 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33198
33199         init.sh: fix a typo
33200         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
33201
33202 2010-05-10  Jim Meyering  <meyering@redhat.com>
33203
33204         maint.mk: avoid using a temporary file in the always-defined-macros check
33205         * top/maint.mk (.re-defmac): Remove rule.
33206         (gl_trap_): Remove definition.
33207         (sc_prohibit_always-defined_macros): Rewrite not to create and
33208         depend on a temporary file.  Instead, depend on GNU grep's ability
33209         to read a list of regular expressions from stdin when given "-f -".
33210
33211 2010-05-09  Bruno Haible  <bruno@clisp.org>
33212
33213         Update to GNU gettext 0.18, part 1.
33214         * m4/gettext.m4: Update to GNU gettext 0.18.
33215         * m4/intl.m4: Likewise.
33216         * m4/po.m4: Likewise.
33217         * modules/gettext (Files): Add m4/fcntl-o.m4.
33218         (configure.ac): Require gettext infrastructure from version 0.18.
33219
33220 2010-05-09  Jim Meyering  <meyering@redhat.com>
33221
33222         init.sh: enable MALLOC_PERTURB_
33223         * tests/init.sh: Enable glibc's malloc-perturbing option.
33224
33225         maint.mk: improve sc_cross_check_PATH_usage_in_tests
33226         With my recent change in init.sh from the two-line form:
33227             -#   : ${srcdir=.}
33228             -#   . "$srcdir/init.sh"; path_prepend_ .
33229             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
33230         I noticed that using the one-line form would cause this test
33231         to fail with a false-positive, or to stop working altogether,
33232         depending on whether help-version changed or all the tests did.
33233         * top/maint.mk (_hv_regex): Remove this definition.
33234         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
33235         (_hv_regex_strong): Use a stronger regex to check for conformance.
33236         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
33237         Give a separate diagnostic for lack of conforming use.
33238
33239         maint.mk: prohibit definition of symbols defined by gnulib
33240         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
33241         definition of symbols defined by gnulib.
33242
33243 2010-05-09  Bruno Haible  <bruno@clisp.org>
33244
33245         acl: Avoid test failure on Cygwin-hosted mingw.
33246         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
33247
33248 2010-05-09  Bruno Haible  <bruno@clisp.org>
33249
33250         error: Use system's fcntl function.
33251         * lib/error.c (fcntl): Undefine.
33252
33253 2010-05-09  Jim Meyering  <meyering@redhat.com>
33254
33255         verify: adjust formatting to be more consistent
33256         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
33257         argument-list '('s, and after one comma.
33258
33259 2010-05-09  Bruno Haible  <bruno@clisp.org>
33260
33261         error: More reliable output on mingw.
33262         * lib/error.c: Include <windows.h>.
33263         (is_open): New function.
33264         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
33265         defined.
33266
33267 2010-05-09  Bruno Haible  <bruno@clisp.org>
33268
33269         vasnprintf: Fix syntax errors in libintl build on mingw.
33270         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
33271         pad_ourselves and prec_ourselves after use.
33272
33273 2010-05-08  Bruno Haible  <bruno@clisp.org>
33274
33275         * lib/config.charset: Update comments for Cygwin 1.7.
33276         * lib/localcharset.c: Likewise.
33277
33278 2010-05-07  Jim Meyering  <meyering@redhat.com>
33279
33280         init.sh: improve comments
33281         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
33282         . "${srcdir=.}/init.sh"; path_prepend_ .
33283         Add a note about path_prepend_ and the alternative of using
33284         TESTS_ENVIRONMENT.
33285
33286 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
33287
33288         exclude: Unescape hashed patterns in wildcard mode.
33289         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
33290         to the hash list.
33291         * tests/test-exclude8.sh: New test case.
33292         * modules/exclude-tests: Add new test.
33293
33294 2010-05-05  Eric Blake  <eblake@redhat.com>
33295
33296         verify: automate tests
33297         * modules/verify-tests: New module.
33298         * tests/test-verify.sh: New file.
33299         * tests/test-verify.c: Guard each negative test with a unique id.
33300         Also avoid warning about unused left hand of comma expressions.
33301
33302 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
33303
33304         Further improvements to verify.h, suggested by Eric Blake.
33305         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
33306         the GL_* versions, to avoid collision with OpenGL.
33307         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
33308         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
33309         than testing merely whether it's defined.
33310
33311         Modify verify.h to pacify gcc -Wredundant_decls.
33312         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
33313         These use the prefix "GL_" since they're likely to be useful elsewhere.
33314         We may need to break them out into a different .h file.
33315         (__COUNTER__): Define to 0 if the compiler doesn't support it.
33316         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
33317         of verify_function__.
33318
33319 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33320
33321         Tests for module pwrite.
33322         * modules/pwrite-tests: New file.
33323         * tests/test-pwrite.sh: New file.
33324         * tests/test-pwrite.c: New file.
33325
33326         New module pwrite.
33327         * lib/unistd.in.h (pwrite): New declaration.
33328         * lib/pwrite.c: New file, from glibc with modifications.
33329         * m4/pwrite.m4: New file.
33330         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
33331         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
33332         REPLACE_PWRITE.
33333         * modules/pwrite: New file.
33334         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
33335         REPLACE_PWRITE.
33336         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
33337         * doc/posix-functions/pwrite.texi: Mention the new module.
33338
33339 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33340
33341         pread: Update documentation.
33342         * doc/posix-functions/pread.texi: Mention the 'pread' module.
33343
33344 2010-05-04  Eric Blake  <eblake@redhat.com>
33345
33346         docs: update cygwin progress
33347         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
33348         this bug.
33349         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
33350         Added in cygwin 1.7.2.
33351         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
33352         Likewise.
33353         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
33354         Likewise.
33355         * doc/glibc-functions/dup3.texi (dup3): Likewise.
33356         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
33357         * doc/glibc-functions/accept4.texi (accept4): Likewise.
33358         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
33359         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
33360         Mention nproc module.
33361         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
33362         bug in cygwin 1.7.5 addition.
33363         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
33364         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
33365         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
33366         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
33367         1.7.5.
33368         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
33369         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
33370         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
33371         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
33372         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
33373         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
33374         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
33375         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
33376         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
33377         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
33378         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
33379         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
33380         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
33381         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
33382         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
33383         Likewise.
33384         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
33385         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
33386         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
33387         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
33388         Likewise.
33389         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
33390         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
33391         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
33392         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
33393         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
33394         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
33395         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
33396         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
33397         Likewise.
33398         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
33399         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
33400         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
33401         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
33402         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
33403         Likewise.
33404         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
33405         Likewise.
33406         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
33407         Likewise.
33408         * doc/glibc-functions/xdrrec_endofrecord.texi
33409         (xdrrec_endofrecord): Likewise.
33410         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
33411         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
33412         Likewise.
33413         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
33414         Likewise.
33415
33416 2010-05-04  Jim Meyering  <meyering@redhat.com>
33417
33418         gendocs.sh: make its "-s FILE" option more useful
33419         * build-aux/gendocs.sh: When honoring the -s FILE option, update
33420         $PACKAGE to reflect the probably-different basename of "FILE".
33421
33422 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
33423
33424         bootstrap: don't ignore download_po_files failure
33425         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
33426         failure.
33427
33428 2010-05-03  Jim Meyering  <meyering@redhat.com>
33429
33430         maint.mk: allow to pass options to gendocs.sh
33431         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
33432         (gendocs_options_): New overridable variable.
33433
33434         gnu-web-doc-update: don't ignore configure or build failure
33435         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
33436
33437         announce-gen: backslash-escape '@'s in --help output
33438         * build-aux/announce-gen: Fix syntax errors.
33439
33440         maint.mk, announce-gen: allow project-specific announcement mail headers
33441         * top/maint.mk (translation_project_): Define default.
33442         (announcement_Cc_, announcement_mail_headers_): Likewise.
33443         (announcement): Invoke announce-gen with new --mail-headers option.
33444         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
33445
33446         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
33447         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
33448         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
33449         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
33450         line in the "err2" output file when running "make check" in verbose
33451         mode (i.e., with set -x enabled).
33452
33453 2010-05-03  Bruno Haible  <bruno@clisp.org>
33454
33455         wctob: Fix for weird platforms.
33456         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
33457         argument value.
33458
33459 2010-05-03  Jim Meyering  <meyering@redhat.com>
33460
33461         maint.mk: prohibit unwarranted use of <strings.h>
33462         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
33463         strings.h in a file that does not also use strcasecmp, strncasecmp,
33464         ffs or ffsll.
33465
33466         maint.mk: remove obsolete comments
33467         * top/maint.mk: Remove stale, commented-out rules.
33468
33469 2010-05-02  Bruno Haible  <bruno@clisp.org>
33470
33471         wcwidth: Declare also when it's aliased.
33472         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
33473         macro.
33474
33475 2010-05-02  Bruno Haible  <bruno@clisp.org>
33476
33477         Fix regression from 2010-04-25.
33478         * gnulib-tool (func_modules_transitive_closure): Check the status of
33479         all modules, not only of the tests that are of the form foo-tests where
33480         foo is a module.
33481
33482 2010-05-02  Bruno Haible  <bruno@clisp.org>
33483
33484         wctob: Work around nasty Cygwin 1.7.2 bug.
33485         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
33486         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
33487
33488 2010-05-01  Bruno Haible  <bruno@clisp.org>
33489
33490         fpurge: Sharper test.
33491         * tests/test-fpurge.c (main): Add one more ftell check.
33492         * modules/fpurge-tests (Depends-on): Add ftell.
33493         Suggested by Eric Blake.
33494
33495 2010-05-01  Bruno Haible  <bruno@clisp.org>
33496
33497         ftello: Another test.
33498         * tests/test-ftello3.c: New file.
33499         * modules/ftello-tests (Files): Add it.
33500         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33501         MOSTLYCLEANFILES.
33502
33503         ftell: Another test.
33504         * tests/test-ftell3.c: New file.
33505         * modules/ftell-tests (Files): Add it.
33506         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33507         MOSTLYCLEANFILES.
33508
33509 2010-05-01  Bruno Haible  <bruno@clisp.org>
33510
33511         ftell, ftello: Work around Solaris bug.
33512         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
33513         * lib/ftello.c: Include stdio-impl.h.
33514         (ftello): On Solaris, when _IOWRT is set, compute the result without
33515         looking at _IOREAD.
33516         * modules/ftello (Files): Add lib/stdio-impl.h.
33517         * doc/posix-functions/ftell.texi: Mention Solaris bug.
33518         * doc/posix-functions/ftello.texi: Likewise.
33519         Reported by Eric Blake.
33520
33521 2010-05-01  Bruno Haible  <bruno@clisp.org>
33522
33523         freading: Adapt to special meaning of _IOREAD flag on Solaris.
33524         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
33525         the _IOWRT flag is also set.
33526
33527 2010-05-01  Bruno Haible  <bruno@clisp.org>
33528
33529         Fix doc about a HP-UX stdio bug.
33530         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
33531         * doc/posix-functions/ftello.texi: Likewise.
33532
33533 2010-05-01  Bruno Haible  <bruno@clisp.org>
33534
33535         lseek test: Fix failure on Solaris.
33536         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
33537         output.
33538
33539 2010-04-30  Jim Meyering  <meyering@redhat.com>
33540
33541         bootstrap: don't ignore failure to generate po*/Makevars
33542         * build-aux/bootstrap (with_gettext): Don't ignore failure
33543         to create po/Makevars or runtime-po/Makevars.
33544
33545 2010-04-29  Eric Blake  <eblake@redhat.com>
33546
33547         headers: relax license to LGPLv2+
33548         * modules/fcntl-h (License): Relax license.
33549         * modules/getopt-posix (License): Likewise.
33550         * modules/locale (License): Likewise.
33551         * modules/math (License): Likewise.
33552         * modules/pty (License): Likewise.
33553         * modules/sched (License): Likewise.
33554         * modules/search (License): Likewise.
33555         * modules/spawn (License): Likewise.
33556         * modules/stdarg (License): Likewise.
33557         * modules/sysexits (License): Likewise.
33558
33559 2010-04-29  Jim Meyering  <meyering@redhat.com>
33560
33561         inttypes: relax license to LGPLv2+
33562         * modules/inttypes (License): Relax license.
33563
33564 2010-04-29  Simon Josefsson  <simon@josefsson.org>
33565
33566         * top/maint.mk (indent): Run twice to produce idempotent results.
33567
33568 2010-04-28  Bruno Haible  <bruno@clisp.org>
33569
33570         getdate: Generate getdate.c in the source directory.
33571         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
33572         MOSTLYCLEANFILES.
33573         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
33574
33575 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
33576
33577         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
33578         is not declared as a const *; avoid warnings in that case.
33579
33580 2010-04-28  Eric Blake  <eblake@redhat.com>
33581
33582         canonicalize-lgpl: avoid compiler warning
33583         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
33584         declaration' / 'extraneous semicolon' warning with some compilers.
33585         Reported by Andreas Gruenbacher.
33586
33587 2010-04-28  Jim Meyering  <meyering@redhat.com>
33588
33589         init.sh: ensure a more reliable exit status when exiting via trap
33590         * tests/init.sh (setup_): Don't rely on $? in signal handler.
33591         Inspired by patches from Dmitry V. Levin.
33592         Also trap on signal 3 (SIGQUIT).
33593
33594 2010-04-27  Bruno Haible  <bruno@clisp.org>
33595
33596         Update doc about utimes().
33597         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
33598         'utimens' module.
33599         Reported by Andreas Gruenbacher <agruen@suse.de>.
33600
33601 2010-04-27  Eric Blake  <eblake@redhat.com>
33602
33603         full-read, full-write: relax license
33604         * modules/full-read (License): Drop to LGPLv2+.
33605         * modules/full-write (License): Likewise.
33606         * modules/safe-read (License): Likewise.
33607         * modules/safe-write (License): Likewise.
33608
33609         pthread: mention library for linking
33610         * modules/pthread (Link): Mention $(LIB_PTHREAD).
33611
33612 2010-04-27  Jim Meyering  <meyering@redhat.com>
33613
33614         maint.mk: fix a bug introduced in last change
33615         * top/maint.mk (gl_assured_headers_): Now that all names are on
33616         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
33617         is not anchored to end of word, it should be adequate.
33618
33619         maint.mk: avoid side-effect in latest syntax-check
33620         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
33621         to run commands via $(shell...), and hence to incur cost only when
33622         the new rule is actually run.
33623
33624         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
33625         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
33626         and use that to create a regexp used to detect all #if HAVE_..._H uses.
33627         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
33628         (gl_assured_headers_, az_, AZ_): Define.
33629         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
33630
33631 2010-04-26  Jim Meyering  <jim@meyering.net>
33632             Bruno Haible  <bruno@clisp.org>
33633
33634         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
33635         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
33636         Prompted by an exchange with Gilles Espinasse.
33637
33638 2010-04-26  Jim Meyering  <meyering@redhat.com>
33639
33640         git-version-gen: aesthetic tweak
33641         * build-aux/git-version-gen: Use "$nl" rather than a literal,
33642         so that the command remains on a single line.
33643
33644 2010-04-26  Eric Blake  <eblake@redhat.com>
33645
33646         git-version-gen: allow use on EBCDIC hosts
33647         * build-aux/git-version-gen (dirty): Use literal rather than tying
33648         ourselves to ascii.
33649         Reported by Steve Goetze.
33650
33651 2010-04-25  Bruno Haible  <bruno@clisp.org>
33652
33653         netdb: Add support for GNULIB_POSIXCHECK.
33654         * lib/netdb.in.h: Include warn-on-use.h.
33655         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
33656         functions are used when GNULIB_POSIXCHECK is defined and the
33657         getaddrinfo module is not in use.
33658         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
33659         freeaddrinfo, gai_strerror, getnameinfo are declared.
33660         * modules/netdb (Depends-on): Add warn-on-use.
33661         (Makefile.am): Include warn-on-use.h in netdb.h.
33662
33663 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
33664
33665         build: avoid "make check" failure without .git/ directory
33666         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
33667         there is no .git/ directory.
33668
33669 2010-04-25  Bruno Haible  <bruno@clisp.org>
33670
33671         ptsname: Fix misuse of ttyname_r.
33672         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
33673         of errno.
33674
33675 2010-04-25  Bruno Haible  <bruno@clisp.org>
33676
33677         ttyname_r: Make it work on Solaris 10.
33678         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
33679         if the system function has the POSIX declaration. Test whether the
33680         function fails if the buffer is less than 128 bytes large.
33681         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
33682         system's ttyname_r function. Provide a reasonably large buffer.
33683         * modules/ttyname_r (Depends-on): Add extensions.
33684         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
33685
33686 2010-04-25  Bruno Haible  <bruno@clisp.org>
33687
33688         Use the 'extensions' module for some more functions on Solaris.
33689         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
33690         module.
33691         * doc/posix-functions/ctime_r.texi: Likewise.
33692         * doc/posix-functions/getgrgid_r.texi: Likewise.
33693         * doc/posix-functions/getgrnam_r.texi: Likewise.
33694         * doc/posix-functions/getpwnam_r.texi: Likewise.
33695         * doc/posix-functions/getpwuid_r.texi: Likewise.
33696         * doc/posix-functions/readdir_r.texi: Likewise.
33697         * doc/posix-functions/sigwait.texi: Likewise.
33698         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
33699         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
33700
33701 2010-04-25  Bruno Haible  <bruno@clisp.org>
33702
33703         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
33704         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
33705         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
33706         * lib/ttyname_r.c: Include <limits.h>.
33707         (ttyname_r): Define using the system's ttyname_r function, if it exists
33708         and not on Solaris.
33709         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
33710         set.
33711         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
33712         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
33713         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
33714         Reported by Simon Josefsson.
33715
33716 2010-04-25  Bruno Haible  <bruno@clisp.org>
33717
33718         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
33719         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
33720         * doc/posix-functions/ctime_r.texi: Likewise.
33721         * doc/posix-functions/getgrgid_r.texi: Likewise.
33722         * doc/posix-functions/getgrnam_r.texi: Likewise.
33723         * doc/posix-functions/getlogin_r.texi: Likewise.
33724         * doc/posix-functions/getpwnam_r.texi: Likewise.
33725         * doc/posix-functions/getpwuid_r.texi: Likewise.
33726         * doc/posix-functions/readdir_r.texi: Likewise.
33727         * doc/posix-functions/sigwait.texi: Likewise.
33728         * doc/posix-functions/ttyname_r.texi: Likewise.
33729         Reported by Simon Josefsson.
33730
33731 2010-04-25  Bruno Haible  <bruno@clisp.org>
33732
33733         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
33734         * gnulib-tool (func_usage): Document that --with-*-tests options apply
33735         also to --create-testdir.
33736         (func_acceptable): Don't consider the status of *-tests modules here.
33737         (func_modules_transitive_closure): Consider it here, before including a
33738         test module.
33739         (func_import, func_create_testdir): Set inc_all_direct_tests,
33740         inc_all_indirect_tests.
33741         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
33742         --create-testdir and --create-megatestdir.
33743
33744 2010-04-25  Bruno Haible  <bruno@clisp.org>
33745
33746         gnulib-tool: Add --without-*-tests options.
33747         * gnulib-tool (func_usage): Document the --without-*-tests options.
33748         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
33749         excl_unportable_tests): New variables.
33750         Fail if they are specified with --import or --update.
33751         (func_acceptable): Respect the excl_*_tests variables.
33752         (func_import): Set the excl_*_tests variables to empty.
33753
33754 2010-04-25  Simon Josefsson  <simon@josefsson.org>
33755             Bruno Haible  <bruno@clisp.org>
33756
33757         Work around a MacOS X 10.4 bug with openpty.
33758         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
33759         * tests/test-openpty.c (main): Close the master side explicitly.
33760
33761 2010-04-25  Bruno Haible  <bruno@clisp.org>
33762
33763         strnlen: Fix a C++ test error on MacOS X and Solaris.
33764         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
33765         the function is not declared.
33766         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
33767         Simon Josefsson.
33768
33769 2010-04-24  Bruno Haible  <bruno@clisp.org>
33770
33771         Avoid a gcc warning.
33772         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
33773         of correct type for %08lx directive.
33774         Reported by Eric Blake.
33775
33776 2010-04-24  Bruno Haible  <bruno@clisp.org>
33777
33778         vasnprintf: Correct errno value in case of out-of-memory.
33779         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
33780         or sprintf. Use the errno value from SNPRINTF or sprintf.
33781         Reported by Ian Beckwith <ianb@erislabs.net>.
33782
33783 2010-04-24  Bruno Haible  <bruno@clisp.org>
33784
33785         ansi-c++-opt: Find correct compiler when cross-compiling.
33786         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
33787         AC_CHECK_PROGS.
33788         Reported by Simon Josefsson.
33789
33790 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
33791
33792         vc-list-files: Add support for subversion
33793         * build-aux/vc-list-files: Use "svn list" to generate the list of
33794         files controlled by subversion.
33795
33796 2010-04-23  Jim Meyering  <meyering@redhat.com>
33797
33798         vc-list-files tests: convert to use init.sh
33799         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
33800         path_prepend_.
33801         Use Exit, not exit.
33802         Use skip_ rather than open coding it.
33803         Remove trap set-up and compare definitions.
33804         * tests/test-vc-list-files-git.sh: Likewise.
33805         * modules/vc-list-files-tests (Files): Add tests/init.sh.
33806
33807 2010-04-22  Simon Josefsson  <simon@josefsson.org>
33808
33809         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
33810         backup files.
33811
33812 2010-04-21  Simon Josefsson  <simon@josefsson.org>
33813
33814         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
33815
33816 2010-04-20  Eric Blake  <eblake@redhat.com>
33817
33818         tests: be robust to ignored SIGPIPE
33819         * tests/test-select-in.sh: Consume all output.
33820         * tests/test-lseek.sh: Check correct exit status, while avoiding
33821         EPIPE.
33822
33823 2010-04-20  Simon Josefsson  <simon@josefsson.org>
33824             Bruno Haible  <bruno@clisp.org>
33825
33826         visibility: Don't use -fvisibility if it leads to a warning.
33827         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
33828         yes, don't pretend that visibility works if it leads to a warning.
33829         Reported by Mike Gran <spk121@yahoo.com>.
33830
33831 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
33832
33833         * build-aux/bootstrap: Use "git -h" for testing for supported options
33834         instead of "git --help".  The short-form option only shows a summary,
33835         and doesn't layout the full man page.  Grep for the full option name
33836         in the summary, too.
33837
33838 2010-04-19  Bruno Haible  <bruno@clisp.org>
33839
33840         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
33841         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
33842         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
33843         mention of RELOCATABLE_STRIP.
33844         Reported by Sylvain Beucler <beuc@beuc.net>.
33845
33846 2010-04-19  Bruno Haible  <bruno@clisp.org>
33847
33848         * lib/diffseq.h: Fix typo in comment.
33849         Reported by Eric Blake.
33850
33851 2010-04-19  Bruno Haible  <bruno@clisp.org>
33852
33853         ioctl: Move autoconf macro to a .m4 file.
33854         * m4/ioctl.m4: New file, extracted from modules/ioctl.
33855         * modules/ioctl (Files): Add it.
33856         (configure.ac): Simply invoke gl_FUNC_IOCTL.
33857         Reported by Ian Beckwith <ianb@erislabs.net>.
33858
33859 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
33860             Bruno Haible  <bruno@clisp.org>
33861
33862         diffseq: Accommodate use-case with abstract arrays.
33863         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
33864         is not defined.
33865         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
33866         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
33867
33868 2010-04-18  Bruno Haible  <bruno@clisp.org>
33869
33870         * doc/posix-headers/stdbool.texi: More precise wording.
33871
33872 2010-04-17  Jim Meyering  <meyering@redhat.com>
33873
33874         maint.mk: use gnu-style indentation in an embedded perl script
33875         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
33876         Rename variable: s/two/last_two_bytes/
33877
33878 2010-04-16  Eric Blake  <eblake@redhat.com>
33879
33880         test-stdbool: skip test that fails with Solaris CC
33881         * tests/test-stdbool.c (f): Skip test that causes compilation
33882         error under buggy C++ compiler.
33883         * lib/stdbool.in.h: Document the limitation.
33884         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
33885
33886         setenv: allow compilation with C++
33887         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
33888         register keyword.
33889
33890         stdint: allow test to pass with C++
33891         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
33892
33893         getopt: allow compilation with C++
33894         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
33895         struct.
33896         * lib/getopt.c (_getopt_internal_r): Use correct type.
33897         Reported by Dagobert Michelson, via Joel E. Denny.
33898
33899 2010-04-16  Bruno Haible  <bruno@clisp.org>
33900
33901         Override netdb.h always.
33902         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
33903         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
33904         Reported by Ludovic Courtès <ludo@gnu.org>.
33905
33906 2010-04-15  Bruno Haible  <bruno@clisp.org>
33907
33908         openpty: Fix mistake from 2010-03-21.
33909         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
33910         Reported by Simon Josefsson.
33911
33912 2010-04-15  Eric Blake  <eblake@redhat.com>
33913
33914         test-forkpty: fix expected signature
33915         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
33916         Reported by Simon Josefsson.
33917
33918 2010-04-15  Jim Meyering  <meyering@redhat.com>
33919
33920         maint.mk: texinfo_suffix_re_: correct the default regexp
33921         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
33922
33923         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
33924         make it configurable via texinfo_suffix_re_.
33925
33926 2010-04-14  Eric Blake  <eblake@redhat.com>
33927
33928         strtok_r: relax license to LGPLv2+
33929         * modules/strtok_r (License): Relax license.
33930         Reported by Matthias Bolte.
33931
33932 2010-04-14  Simon Josefsson  <simon@josefsson.org>
33933
33934         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
33935         version 1.4.4 by default instead of requiring the libgcrypt
33936         version used during build.  This makes it possible to use the
33937         application with older but still binary compatible libgcrypt
33938         versions.
33939
33940 2010-04-13  Eric Blake  <eblake@redhat.com>
33941
33942         getopt-gnu: match recent glibc fixes and posix ruling
33943         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
33944         '+' handling, when requesting extensions.
33945         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
33946         'W;' handling.
33947         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
33948         * doc/posix-functions/getopt.texi (getopt): Document this.
33949         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
33950         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33951         Likewise.
33952
33953         getopt: merge bug fixes from glibc
33954         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
33955         diagnostics.  Honor '+:' correctly.  Reject ';'.
33956
33957         getopt-posix: detect MacOS bug
33958         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
33959         optind when missing a required argument.
33960         * doc/posix-functions/getopt.texi (getopt): Document the bug.
33961         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
33962         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33963         Likewise.
33964
33965         getopt-posix: avoid spurious failure on Solaris
33966         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
33967         an indicator that setting optind=1 is sufficient for reset.
33968
33969         getopt-posix: avoid spurious failure on FreeBSD
33970         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
33971         in POSIX mode, since the m4 test uses it.
33972
33973         gnulib-tool: silence warning on BSD sh
33974         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
33975
33976 2010-04-13  Jim Meyering  <meyering@redhat.com>
33977
33978         doc: users.txt: GNU patch now uses gnulib
33979         * users.txt: Add patch.
33980
33981 2010-04-12  Jim Meyering  <meyering@redhat.com>
33982
33983         maint.mk: generate more concise timing data for syntax-check rules
33984         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
33985         " done" from each line that reports a syntax-check test duration.
33986
33987 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
33988
33989         git-version-gen: use "git update-index..." rather than "git status"
33990         * build-aux/git-version-gen: Use git update-index --refresh, not
33991         "git status".  With some versions of git, "git status" would fail
33992         to update the index and result in an unwarranted "-dirty" suffix.
33993
33994 2010-04-11  Jim Meyering  <meyering@redhat.com>
33995
33996         openat: correct formatting (no semantic change)
33997         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
33998         Suggested by Bruno Haible.
33999
34000 2010-04-11  Bruno Haible  <bruno@clisp.org>
34001
34002         Stricter declaration checking in testdirs.
34003         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34004         If for_tests is true, augment AM_CPPFLAGS to define
34005         GNULIB_STRICT_CHECKING.
34006         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
34007         GNULIB_STRICT_CHECKING is defined, verify that the function is
34008         declared.
34009
34010 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
34011             Bruno Haible  <bruno@clisp.org>
34012
34013         libunistring: Improve configure output.
34014         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
34015         Don't say "consider installing GNU libunistring" when checking again
34016         with libiconv.
34017
34018 2010-04-11  Bruno Haible  <bruno@clisp.org>
34019
34020         libunistring: Correct value of $LTLIBUNISTRING.
34021         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
34022         correct the value of $LTLIBUNISTRING.
34023
34024 2010-04-11  Bruno Haible  <bruno@clisp.org>
34025
34026         havelib: Add static libraries to LIBS in the right order.
34027         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
34028         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
34029
34030 2010-04-11  Bruno Haible  <bruno@clisp.org>
34031
34032         libunistring: Detect libunistring also when it depends on libiconv.
34033         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
34034         the second AC_LIB_HAVE_LINKFLAGS invocation.
34035
34036 2010-04-11  James Youngman  <jay@gnu.org>
34037
34038         close-stream: declare local scalars to be "const"
34039         * lib/close-stream.c (close_stream): Make boolean variables const
34040         to document the fact that we set but do not change them.
34041
34042 2010-04-11  Bruno Haible  <bruno@clisp.org>
34043
34044         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
34045
34046 2010-04-11  Jim Meyering  <meyering@redhat.com>
34047
34048         maint.mk: don't include dist-check.mk
34049         * top/maint.mk: Remove bogus include directive.
34050
34051         maint.mk: improve empty-line-at-EOF check
34052         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
34053         solution, rather than tail+Perl-based one.  The latter would read
34054         a few kilobytes from the end of each file, and did not handle empty
34055         files properly.
34056
34057         maint.mk: print the elapsed time for each syntax-check rule
34058         * top/maint.mk (sc_m_rules_): Save start time in a file.
34059         (sc_z_rules_): New rules: remove temp file and print elapsed time.
34060         (local-check): Interpose the .z rules
34061
34062 2010-04-11  Jim Meyering  <meyering@redhat.com>
34063
34064         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
34065         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
34066         empty file with one that ends in an empty line.
34067
34068 2010-04-10  Bruno Haible  <bruno@clisp.org>
34069
34070         mkdir: Make it work on mingw64.
34071         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
34072         * lib/mkdir.c: Update comment.
34073         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
34074
34075 2010-04-10  Bruno Haible  <bruno@clisp.org>
34076
34077         Don't override improved macro from newer autoconf.
34078         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
34079         autoconf >= 2.62.
34080         Reported by Joel E. Denny <jdenny@clemson.edu>.
34081
34082 2010-04-10  Jim Meyering  <meyering@redhat.com>
34083
34084         maint.mk: new syntax-check rule: prohibit empty lines at end of file
34085         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
34086
34087         maint.mk: correct a diagnostic
34088         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
34089         in diagnostic; now use $prohibit.
34090
34091 2010-04-10  Bruno Haible  <address@hidden>
34092
34093         fchownat: Fix a C++ test error on Solaris 8.
34094         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
34095         the function does not exist.
34096
34097 2010-04-10  Bruno Haible  <bruno@clisp.org>
34098
34099         vasnprintf: Add more tests.
34100         * tests/test-vasnprintf-posix.c: Include <errno.h>.
34101         (test_function): Test converting an invalid wide string.
34102
34103         vasnprintf: Correct handling of unconvertible wide string arguments.
34104         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
34105         VASNPRINTF.
34106         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
34107         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
34108         smaller than the expected maximum need for the directive. Set errno to
34109         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
34110         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
34111         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
34112         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
34113         * modules/vasnprintf (Files): Add m4/printf.m4.
34114         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34115
34116 2010-04-10  Bruno Haible  <bruno@clisp.org>
34117
34118         vasnprintf: Fix crash in %ls directive.
34119         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
34120         string is passed as argument to %ls, with no precision and no width.
34121         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34122
34123 2010-04-10  Bruno Haible  <bruno@clisp.org>
34124
34125         vasnprintf: Fix multiple test failures on mingw.
34126         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
34127         _snprintf, or snwprintf, not _snwprintf.
34128
34129 2010-04-10  Bruno Haible  <bruno@clisp.org>
34130
34131         write: Fix a C++ test error on mingw.
34132         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
34133
34134 2010-04-10  Bruno Haible  <bruno@clisp.org>
34135
34136         vasnprintf test: Reduce code duplication.
34137         * tests/test-vasnprintf.c (test_function): New function, extracted from
34138         test_vasnprintf.
34139         (test_vasnprintf, test_asnprintf): Invoke it.
34140
34141 2010-04-10  Bruno Haible  <bruno@clisp.org>
34142
34143         strnlen: Fix warning in C++ mode on MacOS X.
34144         * lib/string.in.h (strnlen): Use the modern idiom.
34145         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
34146         defining strnlen as a macro already in <config.h>.
34147         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34148         REPLACE_STRNLEN.
34149         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
34150         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34151
34152 2010-04-08  James Youngman  <jay@gnu.org>
34153
34154         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
34155         the example.
34156
34157 2010-04-09  Jim Meyering  <meyering@redhat.com>
34158
34159         maint.mk: print better diagnostic when there is no $(_hv_file)
34160         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
34161         announce that when $(_hv_file) (aka help-version) does not exist.
34162
34163         init.sh: run tr in the "C" locale to avoid multibyte interpretation
34164         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
34165         not try to interpret its random input bytes.  Jarno Rajahalme reported
34166         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
34167         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
34168         (mktempd_): Likewise, just in case.
34169
34170         ftruncate: add two years to projected module removal date: 2012
34171         * m4/ftruncate.m4: Adjust comments.
34172
34173         ftruncate: mark module as obsolete; even MinGW provides it, now
34174         * modules/ftruncate (Status): Obsolete.
34175         (Notice): Say that.
34176         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
34177         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
34178
34179 2010-04-08  Bruno Haible  <bruno@clisp.org>
34180
34181         Fix side effects from tests-related modules.
34182         * modules/dprintf-posix (Comment): New section.
34183         * modules/fprintf-posix (Comment): Likewise.
34184         * modules/obstack-printf-posix (Comment): Likewise.
34185         * modules/printf-posix (Comment): Likewise.
34186         * modules/snprintf-posix (Comment): Likewise.
34187         * modules/sprintf-posix (Comment): Likewise.
34188         * modules/vasnprintf-posix (Comment): Likewise.
34189         * modules/vasprintf-posix (Comment): Likewise.
34190         * modules/vdprintf-posix (Comment): Likewise.
34191         * modules/vfprintf-posix (Comment): Likewise.
34192         * modules/vprintf-posix (Comment): Likewise.
34193         * modules/vsnprintf-posix (Comment): Likewise.
34194         * modules/vsprintf-posix (Comment): Likewise.
34195         * modules/xprintf-posix (Comment): Likewise.
34196         * modules/xvasprintf-posix (Comment): Likewise.
34197         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
34198         * modules/floorf-tests (Depends-on): Likewise.
34199         * modules/round-tests (Depends-on): Likewise.
34200         * modules/roundf-tests (Depends-on): Likewise.
34201         * modules/trunc-tests (Depends-on): Likewise.
34202         * modules/truncf-tests (Depends-on): Likewise.
34203         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
34204         'fprintf-posix' module is not present.
34205         * tests/test-floorf2.c (check): Likewise.
34206         * tests/test-trunc2.c (check): Likewise.
34207         * tests/test-truncf2.c (check): Likewise.
34208         * tests/test-round2.c (equal): Likewise.
34209         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34210
34211 2010-04-07  Karl Berry  <karl@gnu.org>
34212
34213         * config/srclist.txt,
34214         * config/srclistvars.sh,
34215         * config/srclist-update: doc fixes.
34216
34217 2010-04-07  Jim Meyering  <meyering@redhat.com>
34218
34219         maint.mk: add a PATH crosschecking syntax-check rule
34220         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
34221         Useful if you use a test like the one in help-version (coreutils,
34222         diffutils, grep, gzip) that ensures $(VERSION) matches what is
34223         printed by prog --version.
34224
34225 2010-04-06  Bruno Haible  <bruno@clisp.org>
34226
34227         Fix link error on mingw.
34228         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
34229         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
34230
34231 2010-04-06  Bruno Haible  <bruno@clisp.org>
34232
34233         Assume rmdir exists.
34234         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
34235
34236 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
34237
34238         doc: update users.txt
34239         * users.txt: Add gcal.
34240
34241 2010-04-06  Jim Meyering  <meyering@redhat.com>
34242
34243         init.sh: simply unset TMPDIR rather than risking env -i
34244         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
34245         although it probably works fine on all Unix-based systems, some
34246         systems (Cygwin?) cannot tolerate a totally cleared environment.
34247         Suggestion from Eric Blake.
34248
34249 2010-04-06  Jim Meyering  <meyering@redhat.com>
34250
34251         init.sh: portability fix: use env's POSIX-specified -i option not -u
34252         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
34253         than unportable env -u.  Solaris 5.11's env lacks support for -u.
34254
34255 2010-04-05  Bruno Haible  <bruno@clisp.org>
34256
34257         btowc: Work around Cygwin 1.7.2 bug.
34258         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
34259         does not map NUL to 0.
34260         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
34261
34262 2010-04-05  Bruno Haible  <bruno@clisp.org>
34263
34264         Make the multithread modules work on Cygwin 1.7.2.
34265         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
34266         imported symbols can be declared weak, so that it returns "no" on
34267         Cygwin 1.7.2.
34268
34269 2010-04-05  Bruno Haible  <bruno@clisp.org>
34270
34271         Use the module 'strncat'.
34272         * modules/unistr/u8-strncat (Depends-on): Add strncat.
34273
34274         Tests for module 'strncat'.
34275         * modules/strncat-tests: New file.
34276         * tests/test-strncat.c: New file.
34277
34278         New module 'strncat'.
34279         * lib/string.in.h (strncat): New declaration.
34280         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
34281         * m4/strncat.m4: New file, based on m4/memchr.m4.
34282         * modules/strncat: New file.
34283         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
34284         is declared.
34285         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
34286         REPLACE_STRNCAT.
34287         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
34288         REPLACE_STRNCAT.
34289         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
34290         module.
34291         * tests/test-string-c++.cc: Check signature of strncat.
34292
34293 2010-04-05  Jim Meyering  <meyering@redhat.com>
34294
34295         xstrtoumax-tests: convert to use init.sh
34296         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
34297         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34298         Use Exit, not exit.
34299         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34300
34301         xstrtoimax-tests: convert to use init.sh
34302         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
34303         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34304         Use Exit, not exit.
34305         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34306
34307 2010-04-05  Bruno Haible  <bruno@clisp.org>
34308
34309         sys_socket: Avoid #define replacements in C++ mode.
34310         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
34311         warning to the function if possible, rather than #defining the symbol
34312         to a dysfunctional alias.
34313
34314 2010-04-05  Bruno Haible  <bruno@clisp.org>
34315
34316         fseeko: Fix C++ test error on mingw.
34317         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
34318         gl_FUNC_FSEEKO.
34319         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
34320         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
34321         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
34322         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
34323
34324 2010-04-05  Bruno Haible  <bruno@clisp.org>
34325
34326         duplocale: Improve test output.
34327         * tests/test-duplocale.c (main): Print reason for skipped test.
34328
34329 2010-04-05  Bruno Haible  <bruno@clisp.org>
34330
34331         Assume rmdir exists.
34332         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
34333         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
34334
34335 2010-04-05  Bruno Haible  <bruno@clisp.org>
34336
34337         Fix link error on Solaris 8 with cc.
34338         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
34339
34340 2010-04-05  Bruno Haible  <bruno@clisp.org>
34341
34342         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34343         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
34344
34345 2010-04-05  Bruno Haible  <bruno@clisp.org>
34346
34347         vasprintf: Update documentation.
34348         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
34349
34350 2010-04-05  Bruno Haible  <bruno@clisp.org>
34351
34352         ptsname: Improve test.
34353         * tests/test-ptsname.c (main): Also try the various master names of BSD
34354         systems.
34355
34356 2010-04-05  Bruno Haible  <bruno@clisp.org>
34357
34358         memchr: Avoid a possible C++ test error.
34359         * lib/string.in.h (memchr): Provide declaration if function is missing.
34360         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
34361         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
34362         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
34363         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
34364
34365 2010-04-05  Bruno Haible  <bruno@clisp.org>
34366
34367         strtok_r: Improve idiom.
34368         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
34369         AC_LIBOBJ is used.
34370
34371 2010-04-05  Bruno Haible  <bruno@clisp.org>
34372
34373         strdup: Improve idiom.
34374         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
34375         AC_LIBOBJ is used.
34376         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
34377         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
34378         when AC_LIBOBJ is used.
34379
34380 2010-04-05  Bruno Haible  <bruno@clisp.org>
34381
34382         mbsinit, mbrtowc, wcrtomb: Improve idioms.
34383         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
34384         don't set REPLACE_MBSINIT to 1.
34385         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
34386         don't set REPLACE_MBRTOWC to 1.
34387         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
34388         exist, don't set REPLACE_MBSRTOWCS to 1.
34389         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
34390         exist, don't set REPLACE_MBSNRTOWCS to 1.
34391         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
34392         don't set REPLACE_WCRTOMB to 1.
34393         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
34394         exist, don't set REPLACE_WCSRTOMBS to 1.
34395         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
34396         exist, don't set REPLACE_WCSNRTOMBS to 1.
34397
34398 2010-04-05  Bruno Haible  <bruno@clisp.org>
34399
34400         ldexpl: Improve idiom.
34401         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
34402         make sure to set HAVE_DECL_LDEXPL to 0.
34403
34404 2010-04-05  Jim Meyering  <meyering@redhat.com>
34405
34406         xstrtol-tests: convert to use init.sh
34407         * modules/xstrtol-tests (Files): Add tests/init.sh.
34408         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34409         Use Exit, not exit.
34410         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34411
34412         atexit-tests: convert to use init.sh
34413         * modules/atexit-tests (Files): Add tests/init.sh.
34414         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34415         Use Exit, not exit.
34416         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34417
34418         init.sh: fix typo
34419         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
34420
34421         init.sh: make it easier for a test script to write to the tty, ...
34422         when using automake's parallel-tests mode.
34423         * tests/init.sh (stderr_fileno_): Define overridable variable.
34424         (warn_): New function, to use it.
34425         (fail_, skip_, framework_failure_): Use warn_.
34426
34427 2010-04-04  Bruno Haible  <bruno@clisp.org>
34428
34429         btowc: Avoid warning.
34430         * lib/btowc.c: Include <stdlib.h>.
34431         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
34432
34433 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34434             Bruno Haible  <bruno@clisp.org>
34435
34436         wchar: Port to NetBSD 1.5.
34437         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
34438         * lib/wctype.in.h (WEOF): Likewise.
34439
34440 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34441             Bruno Haible  <bruno@clisp.org>
34442
34443         Port extended stdio to NetBSD 1.5.
34444         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
34445         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
34446         older.
34447
34448 2010-04-04  Bruno Haible  <bruno@clisp.org>
34449
34450         string: Remove unused substitution.
34451         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
34452         HAVE_DECL_STRERROR.
34453         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
34454
34455 2010-04-04  Bruno Haible  <bruno@clisp.org>
34456
34457         strtod: Avoid a possible C++ test error.
34458         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
34459         set REPLACE_STRTOD.
34460
34461 2010-04-04  Bruno Haible  <bruno@clisp.org>
34462
34463         strerror: Update documentation.
34464         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
34465
34466 2010-04-04  Bruno Haible  <bruno@clisp.org>
34467
34468         stdio: Fix some C++ test errors on Solaris 8 with GCC.
34469         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
34470         _GL_CXXALIAS_SYS_CAST.
34471
34472 2010-04-04  Bruno Haible  <bruno@clisp.org>
34473
34474         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34475         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
34476         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
34477         REPLACE_FREXPL to 1.
34478         * doc/posix-functions/frexpl.texi: Update documentation.
34479
34480 2010-04-04  Bruno Haible  <bruno@clisp.org>
34481
34482         math: Fix some C++ test errors on Solaris 8 and Cygwin.
34483         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
34484
34485 2010-04-04  Bruno Haible  <bruno@clisp.org>
34486
34487         Implement nanosleep for native Windows.
34488         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
34489
34490 2010-04-04  Bruno Haible  <bruno@clisp.org>
34491
34492         math: Fix some C++ test errors on Solaris 8.
34493         * lib/math.in.h (truncf, trunc): Use simpler idiom.
34494
34495 2010-04-04  Bruno Haible  <bruno@clisp.org>
34496
34497         math: Fix some C++ test errors on Cygwin.
34498         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
34499         truncl): Provide declaration if the system does not have it.
34500         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
34501         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
34502         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
34503         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
34504         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
34505         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
34506         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
34507         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
34508         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
34509         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
34510         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
34511         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
34512         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
34513         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
34514         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
34515         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
34516         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
34517         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34518         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34519         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
34520         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34521         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34522
34523 2010-04-04  Bruno Haible  <bruno@clisp.org>
34524
34525         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
34526         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
34527         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
34528         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
34529         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
34530         * m4/isinf.m4 (gl_ISINF): Likewise.
34531         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
34532
34533 2010-04-04  Bruno Haible  <bruno@clisp.org>
34534
34535         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
34536         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
34537
34538 2010-04-04  Bruno Haible  <bruno@clisp.org>
34539
34540         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
34541         * modules/tmpfile (configure.ac): Update.
34542
34543         tmpfile: Fix C++ test error on mingw.
34544         * lib/stdio.in.h (tmpfile): New declaration.
34545         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
34546         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
34547         * modules/tmpfile (Depends-on): Add stdio.
34548         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
34549         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
34550         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
34551         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
34552         REPLACE_TMPFILE.
34553         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
34554
34555 2010-04-04  Bruno Haible  <bruno@clisp.org>
34556
34557         ioctl: Fix C++ test error on mingw.
34558         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
34559         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
34560         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
34561
34562 2010-04-03  Bruno Haible  <bruno@clisp.org>
34563
34564         wcwidth: Fix C++ test error on mingw.
34565         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
34566         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
34567         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
34568
34569 2010-04-03  Bruno Haible  <bruno@clisp.org>
34570
34571         nanosleep: Fix C++ test error on mingw.
34572         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
34573         * lib/time.in.h (nanosleep): Use modern idiom.
34574         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
34575         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
34576         REPLACE_NANOSLEEP to 1.
34577         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
34578         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
34579
34580 2010-04-03  Bruno Haible  <bruno@clisp.org>
34581
34582         strptime: Fix C++ test error on mingw.
34583         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
34584         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
34585         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
34586         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
34587         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
34588         not REPLACE_STRPTIME.
34589         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
34590         REPLACE_STRPTIME.
34591
34592 2010-04-03  Bruno Haible  <bruno@clisp.org>
34593
34594         timegm: Fix C++ test error on mingw.
34595         * lib/time.in.h (timegm): Use modern idiom.
34596         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
34597         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
34598         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
34599         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
34600
34601 2010-04-03  Bruno Haible  <bruno@clisp.org>
34602
34603         timegm: Assume declaration if function exists.
34604         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
34605         if it exists. Don't clobber ac_cv_func_timegm.
34606
34607 2010-04-03  Bruno Haible  <bruno@clisp.org>
34608
34609         time_r: Fix C++ test error on mingw.
34610         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
34611         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
34612         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
34613         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
34614         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
34615
34616 2010-04-03  Bruno Haible  <bruno@clisp.org>
34617
34618         time_r: Minor updates.
34619         * modules/time_r (Description): Mention the provided functions.
34620         * lib/time_r.c: Don't include <string.h>.
34621         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
34622         * doc/posix-functions/localtime_r.texi: Likewise.
34623
34624 2010-04-03  Bruno Haible  <bruno@clisp.org>
34625
34626         time: Fix regression introduced on 2010-03-08.
34627         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
34628         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
34629
34630 2010-04-03  Jim Meyering  <meyering@redhat.com>
34631
34632         maint.mk: don't silently disable project-specific syntax-check rules
34633         * top/maint.mk (_prohibit_regexp): Define, to help people realize
34634         that they need to convert their project-specific syntax-check rules
34635         to use the new _sc_search_regexp.
34636
34637 2010-04-03  Bruno Haible  <bruno@clisp.org>
34638
34639         fchdir: Fix regression introduced on 2010-03-08.
34640         * lib/unistd.in.h (fchdir): Fix declaration.
34641         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
34642         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
34643         REPLACE_FCHDIR.
34644         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
34645         REPLACE_FCHDIR.
34646
34647 2010-04-03  Bruno Haible  <bruno@clisp.org>
34648
34649         getpagesize: Fix C++ test error on mingw.
34650         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
34651         system does not declare the function.
34652         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
34653         declared.
34654         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34655         HAVE_DECL_GETPAGESIZE.
34656         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
34657
34658 2010-04-03  Bruno Haible  <bruno@clisp.org>
34659
34660         stdio: Make C++ tests work on mingw.
34661         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
34662         does not declare the function.
34663
34664 2010-04-03  Bruno Haible  <bruno@clisp.org>
34665
34666         ftello: Fix C++ test error on mingw.
34667         * lib/stdio.in.h (ftello): Use modern idiom.
34668         * lib/ftello.c (ftello): Renamed from rpl_ftello.
34669         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
34670         is missing and that it needs to be replaced.
34671         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
34672         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
34673         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
34674
34675 2010-04-03  Bruno Haible  <bruno@clisp.org>
34676
34677         fseeko: Fix C++ test error on mingw.
34678         * lib/stdio.in.h (fseeko): Use modern idiom.
34679         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
34680         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
34681         is missing and that it needs to be replaced.
34682         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
34683         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
34684         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
34685
34686 2010-04-03  Bruno Haible  <bruno@clisp.org>
34687
34688         mkstemp: Fix C++ test error on mingw.
34689         * lib/stdlib.in.h (mkstemp): Use modern idiom.
34690         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
34691         function is missing and that it needs to be replaced.
34692         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
34693         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
34694
34695 2010-04-03  Bruno Haible  <bruno@clisp.org>
34696
34697         stpncpy: Fix C++ test error on mingw.
34698         * lib/string.in.h (stpncpy): Use modern idiom.
34699         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
34700         function is missing and that it needs to be replaced.
34701         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34702         REPLACE_STPNCPY.
34703         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
34704
34705 2010-04-03  Bruno Haible  <bruno@clisp.org>
34706
34707         sys_stat: Fix C++ test error on mingw.
34708         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
34709         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
34710
34711 2010-04-03  Bruno Haible  <bruno@clisp.org>
34712
34713         pty: Update doc.
34714         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
34715
34716 2010-04-03  Bruno Haible  <bruno@clisp.org>
34717
34718         unistd: Fix C++ test error on mingw.
34719         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
34720
34721 2010-04-03  Bruno Haible  <bruno@clisp.org>
34722
34723         Update doc regarding mingw.
34724         * doc/glibc-functions/openpty.texi: Update regarding mingw.
34725         * doc/glibc-functions/login_tty.texi: Likewise.
34726         * doc/glibc-functions/forkpty.texi: Likewise.
34727
34728 2010-04-03  Bruno Haible  <bruno@clisp.org>
34729
34730         stdlib: Avoid compilation failure of c-strtold on mingw.
34731         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
34732
34733 2010-04-03  Bruno Haible  <bruno@clisp.org>
34734
34735         locale: Make C++ tests work on Cygwin and mingw.
34736         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
34737         cannot provide the function.
34738         Reported by Simon Josefsson.
34739
34740 2010-04-03  Bruno Haible  <bruno@clisp.org>
34741
34742         localename: Port to MacOS X 10.6.
34743         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
34744         memory layout of the locales in MacOS X 10.6 as well.
34745         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
34746
34747 2010-04-02  Bruno Haible  <bruno@clisp.org>
34748
34749         gnulib-tool: Ensure that long-running tests are executed last.
34750         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
34751         running tests after the one for the other tests.
34752
34753 2010-04-02  Bruno Haible  <bruno@clisp.org>
34754
34755         gnulib-tool: Ensure the tests in the main directory are executed first.
34756         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
34757         start with the current directory.
34758
34759 2010-04-02  Bruno Haible  <bruno@clisp.org>
34760
34761         Tests for module 'havelib', moved here from GNU gettext.
34762         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
34763         modifications.
34764         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
34765         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
34766         with modifications.
34767         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
34768         modifications.
34769         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
34770         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
34771         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
34772         with modifications.
34773         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
34774         with modifications.
34775         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
34776         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
34777         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
34778         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
34779         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
34780         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
34781         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
34782         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
34783         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
34784         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
34785         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
34786         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
34787         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
34788         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
34789         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
34790         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
34791         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
34792         with modifications.
34793         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
34794         with modifications.
34795         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
34796         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
34797         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
34798         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
34799         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
34800         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
34801         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
34802         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
34803         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
34804         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
34805         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
34806         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
34807         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
34808         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
34809         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
34810         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
34811         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
34812         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
34813         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
34814         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
34815         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
34816         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
34817         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
34818         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
34819         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
34820         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
34821         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
34822         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
34823         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
34824         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
34825         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
34826         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
34827         * tests/havelib/rpathx/rpathx.c: New file, from
34828         gettext/autoconf-lib-link.
34829         * tests/havelib/rpathx/Makefile.am: New file, from
34830         gettext/autoconf-lib-link.
34831         * tests/havelib/rpathx/configure.ac: New file, from
34832         gettext/autoconf-lib-link with modifications.
34833         * tests/havelib/rpathy/rpathy.c: New file, from
34834         gettext/autoconf-lib-link.
34835         * tests/havelib/rpathy/Makefile.am: New file, from
34836         gettext/autoconf-lib-link.
34837         * tests/havelib/rpathy/configure.ac: New file, from
34838         gettext/autoconf-lib-link with modifications.
34839         * tests/havelib/rpathz/rpathz.c: New file, from
34840         gettext/autoconf-lib-link.
34841         * tests/havelib/rpathz/Makefile.am: New file, from
34842         gettext/autoconf-lib-link.
34843         * tests/havelib/rpathz/configure.ac: New file, from
34844         gettext/autoconf-lib-link with modifications.
34845         * tests/havelib/rpathlx/usex.c: New file, from
34846         gettext/autoconf-lib-link.
34847         * tests/havelib/rpathlx/Makefile.am: New file, from
34848         gettext/autoconf-lib-link.
34849         * tests/havelib/rpathlx/configure.ac: New file, from
34850         gettext/autoconf-lib-link with modifications.
34851         * tests/havelib/rpathly/usey.c: New file, from
34852         gettext/autoconf-lib-link.
34853         * tests/havelib/rpathly/Makefile.am: New file, from
34854         gettext/autoconf-lib-link.
34855         * tests/havelib/rpathly/configure.ac: New file, from
34856         gettext/autoconf-lib-link with modifications.
34857         * tests/havelib/rpathlz/usez.c: New file, from
34858         gettext/autoconf-lib-link.
34859         * tests/havelib/rpathlz/Makefile.am: New file, from
34860         gettext/autoconf-lib-link.
34861         * tests/havelib/rpathlz/configure.ac: New file, from
34862         gettext/autoconf-lib-link with modifications.
34863         * tests/havelib/rpathlyx/usey.c: New file, from
34864         gettext/autoconf-lib-link.
34865         * tests/havelib/rpathlyx/Makefile.am: New file, from
34866         gettext/autoconf-lib-link.
34867         * tests/havelib/rpathlyx/configure.ac: New file, from
34868         gettext/autoconf-lib-link with modifications.
34869         * tests/havelib/rpathlzyx/usez.c: New file, from
34870         gettext/autoconf-lib-link.
34871         * tests/havelib/rpathlzyx/Makefile.am: New file, from
34872         gettext/autoconf-lib-link.
34873         * tests/havelib/rpathlzyx/configure.ac: New file, from
34874         gettext/autoconf-lib-link with modifications.
34875         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
34876         with modifications.
34877
34878 2010-04-02  Bruno Haible  <bruno@clisp.org>
34879
34880         gnulib-tool: Create distributed built sources also for the tests.
34881         * gnulib-tool (func_create_testdir): Also generate distributed built
34882         sources in the tests directory.
34883
34884 2010-04-02  Bruno Haible  <bruno@clisp.org>
34885
34886         gnulib-tool: Obey user's environment variables.
34887         * gnulib-tool (func_create_testdir): When creating built sources,
34888         respect the environment variables for autoconf, automake, etc. given by
34889         the user.
34890
34891 2010-04-02  Bruno Haible  <bruno@clisp.org>
34892
34893         gnulib-tool: Provide the value of --m4-base to modules.
34894         * gnulib-tool (func_import, func_create_testdir): Emit a definition
34895         of gl_m4_base.
34896
34897 2010-04-02  Eric Blake  <eblake@redhat.com>
34898
34899         maint.mk: fix some fallout
34900         * NEWS: Document the incompatible change, and its effect on cfg.mk.
34901         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
34902
34903 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
34904
34905         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
34906         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
34907         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
34908         (sc_cast_of_x_alloc_return_value): Likewise.
34909         (sc_cast_of_alloca_return_value): Likewise.
34910         (sc_space_tab): Likewise.
34911         (sc_prohibit_atoi_atof): Likewise.
34912         (sc_prohibit_magic_number_exit): Likewise.
34913         (sc_error_exit_success): Likewise.
34914         (sc_file_system): Likewise.
34915         (sc_prohibit_have_config_h): Likewise.
34916         (sc_require_config_h): Likewise.
34917         (sc_prohibit_HAVE_MBRTOWC): Likewise.
34918         (sc_obsolete_symbols): Likewise.
34919         (sc_changelog): Likewise.
34920         (sc_program_name): Likewise.
34921         (sc_the_the): Likewise.
34922         (sc_trailing_blank): Likewise.
34923         (sc_two_space_separator_in_usage): Likewise.
34924         (sc_useless_cpp_parens): Likewise.
34925         (sc_GPL_version): Likewise.
34926         (sc_GFDL_version): Likewise.
34927         (sc_texinfo_acronym): Likewise.
34928         (sc_prohibit_cvs_keyword): Likewise.
34929         (sc_prohibit_stat_st_blocks): Likewise.
34930         (sc_prohibit_S_IS_definition): Likewise.
34931         (sc_redundant_const): Likewise.
34932         (sc_makefile_TAB_only_indentation): Likewise.
34933         (sc_m4_quote_check): Likewise.
34934         (sc_makefile_path_separator_check): Likewise.
34935         (sc_copyright_check): Likewise.
34936         (sc_Wundef_boolean): Likewise.
34937         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
34938
34939         maint.mk: match 0 or more whitespace-before-function-call '('
34940         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
34941         that have zero or two-and-more spaces between the function name
34942         and the open parenthesis.
34943         (sc_error_message_warn_fatal): Likewise.
34944         (sc_error_message_uppercase): Likewise.
34945         (sc_error_message_period): Likewise.
34946
34947 2010-03-31  Eric Blake  <eblake@redhat.com>
34948
34949         maint.mk: check for [ as well as test
34950         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
34951         Based on a libvirt report by Matthias Bolte.
34952
34953         gnumakefile: don't squelch _version output
34954         * top/GNUmakefile (_version): Create one-shot dependency rather
34955         than using $(shell) when version must be regenerated.
34956         (_autoreconf): Run verbosely, by default.
34957
34958         sys_time: avoid compiler warnings
34959         * lib/sys_time.in.h (includes): Ensure gcc pragma is
34960         unconditional, fixing regression from 2010-03-29.
34961         Reported by Simon Josefsson.
34962
34963 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
34964
34965         maint.mk: s/_header_without_use/_sc_header_without_use/
34966         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
34967         (sc_prohibit_assert_without_use): Use the new name.
34968         (sc_prohibit_close_stream_without_use): Likewise.
34969         (sc_prohibit_getopt_without_use): Likewise.
34970         (sc_prohibit_quotearg_without_use): Likewise.
34971         (sc_prohibit_quote_without_use): Likewise.
34972         (sc_prohibit_long_options_without_use): Likewise.
34973         (sc_prohibit_inttostr_without_use): Likewise.
34974         (sc_prohibit_ignore_value_without_use): Likewise.
34975         (sc_prohibit_error_without_use): Likewise.
34976         (sc_prohibit_xalloc_without_use): Likewise.
34977         (sc_prohibit_hash_without_use): Likewise.
34978         (sc_prohibit_hash_pjw_without_use): Likewise.
34979         (sc_prohibit_safe_read_without_use): Likewise.
34980         (sc_prohibit_argmatch_without_use): Likewise.
34981         (sc_prohibit_canonicalize_without_use): Likewise.
34982         (sc_prohibit_root_dev_ino_without_use): Likewise.
34983         (sc_prohibit_openat_without_use): Likewise.
34984         (sc_prohibit_c_ctype_without_use): Likewise.
34985         (sc_prohibit_signal_without_use): Likewise.
34986         (sc_prohibit_intprops_without_use): Likewise.
34987
34988 2010-03-30  Eric Blake  <eblake@redhat.com>
34989
34990         maint: improve module indicators
34991         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
34992         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
34993         columns, and avoid extra macro expansion.
34994
34995         fdopendir: work around FreeBSD bug
34996         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
34997         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
34998         * modules/dirent (Makefile.am): Substitute it.
34999         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
35000         declaration.
35001         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
35002         fix.
35003         Reported by Christian Weisgerber <naddy@mips.inka.de>.
35004
35005 2010-03-29  Bruno Haible  <bruno@clisp.org>
35006
35007         Emit #pragma system_header after the inclusion guard, not before.
35008         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
35009         guard that spans the entire file, not before. This enables an
35010         optimization in GCC's preprocessor.
35011         * lib/ctype.in.h: Likewise.
35012         * lib/dirent.in.h: Likewise.
35013         * lib/errno.in.h: Likewise.
35014         * lib/float.in.h: Likewise.
35015         * lib/getopt.in.h: Likewise.
35016         * lib/iconv.in.h: Likewise.
35017         * lib/langinfo.in.h: Likewise.
35018         * lib/locale.in.h: Likewise.
35019         * lib/math.in.h: Likewise.
35020         * lib/netdb.in.h: Likewise.
35021         * lib/netinet_in.in.h: Likewise.
35022         * lib/pty.in.h: Likewise.
35023         * lib/sched.in.h: Likewise.
35024         * lib/se-selinux.in.h: Likewise.
35025         * lib/search.in.h: Likewise.
35026         * lib/spawn.in.h: Likewise.
35027         * lib/stdarg.in.h: Likewise.
35028         * lib/stdint.in.h: Likewise.
35029         * lib/string.in.h: Likewise.
35030         * lib/strings.in.h: Likewise.
35031         * lib/sys_file.in.h: Likewise.
35032         * lib/sys_ioctl.in.h: Likewise.
35033         * lib/sys_time.in.h: Likewise.
35034         * lib/sys_times.in.h: Likewise.
35035         * lib/sys_utsname.in.h: Likewise.
35036         * lib/sys_wait.in.h: Likewise.
35037         * lib/sysexits.in.h: Likewise.
35038         * lib/wctype.in.h: Likewise.
35039
35040 2010-03-28  James Youngman  <jay@gnu.org>
35041
35042         save-cwd: don't leak a file descriptor when the caller execs.
35043         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
35044         saved file descriptor.
35045         * modules/save-cwd (Depends-on): Depend on cloexec.
35046
35047 2010-03-29  Bruno Haible  <bruno@clisp.org>
35048
35049         Remove vestiges of fts-lgpl module.
35050         * lib/fts_.h: Assume GNULIB_FTS is 1.
35051         * lib/fts.c: Likewise.
35052         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35053
35054 2010-03-28  Bruno Haible  <bruno@clisp.org>
35055
35056         Fix definition of tests witness macro.
35057         * gnulib-tool (func_import): Fix definition of witness macro.
35058
35059 2010-03-28  Bruno Haible  <bruno@clisp.org>
35060
35061         Fix ioctl's protoype on glibc systems.
35062         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
35063         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
35064         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
35065         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
35066         signature. If not, arrange to replace the ioctl function.
35067         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
35068         REPLACE_IOCTL.
35069         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
35070         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
35071         Reported by Ludovic Courtès <ludo@gnu.org>.
35072
35073 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
35074
35075         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
35076         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
35077         made it so grep -r --include=GLOB* ... did not work.
35078
35079 2010-03-26  Jim Meyering  <meyering@redhat.com>
35080             Eric Blake  <eblake@redhat.com>
35081
35082         maint.mk: prohibit use of test's -o and -a operators
35083         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
35084
35085 2010-03-28  Bruno Haible  <bruno@clisp.org>
35086
35087         Remove unused GNULIB_XYZ macro definitions.
35088         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
35089         invocation.
35090
35091 2010-03-28  Bruno Haible  <bruno@clisp.org>
35092
35093         Mark privileged tests modules.
35094         * modules/idpriv-drop-tests (Status): New section.
35095         * modules/idpriv-droptemp-tests (Status): New section.
35096
35097 2010-03-28  Bruno Haible  <bruno@clisp.org>
35098
35099         Split C++ tests into separate tests modules.
35100         * modules/dirent-c++-tests: New file, extracted from
35101         modules/dirent-tests.
35102         * modules/dirent-tests: Depend on it.
35103         * modules/fcntl-h-c++-tests: New file, extracted from
35104         modules/fcntl-h-tests.
35105         * modules/fcntl-h-tests: Depend on it.
35106         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
35107         * modules/glob-tests: Depend on it.
35108         * modules/iconv-h-c++-tests: New file, extracted from
35109         modules/iconv-h-tests.
35110         * modules/iconv-h-tests: Depend on it.
35111         * modules/langinfo-c++-tests: New file, extracted from
35112         modules/langinfo-tests.
35113         * modules/langinfo-tests: Depend on it.
35114         * modules/locale-c++-tests: New file, extracted from
35115         modules/locale-tests.
35116         * modules/locale-tests: Depend on it.
35117         * modules/math-c++-tests: New file, extracted from modules/math-tests.
35118         * modules/math-tests: Depend on it.
35119         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
35120         * modules/pty-tests: Depend on it.
35121         * modules/search-c++-tests: New file, extracted from
35122         modules/search-tests.
35123         * modules/search-tests: Depend on it.
35124         * modules/signal-c++-tests: New file, extracted from
35125         modules/signal-tests.
35126         * modules/signal-tests: Depend on it.
35127         * modules/spawn-c++-tests: New file, extracted from
35128         modules/spawn-tests.
35129         * modules/spawn-tests: Depend on it.
35130         * modules/stdio-c++-tests: New file, extracted from
35131         modules/stdio-tests.
35132         * modules/stdio-tests: Depend on it.
35133         * modules/stdlib-c++-tests: New file, extracted from
35134         modules/stdlib-tests.
35135         * modules/stdlib-tests: Depend on it.
35136         * modules/string-c++-tests: New file, extracted from
35137         modules/string-tests.
35138         * modules/string-tests: Depend on it.
35139         * modules/sys_ioctl-c++-tests: New file, extracted from
35140         modules/sys_ioctl-tests.
35141         * modules/sys_ioctl-tests: Depend on it.
35142         * modules/sys_select-c++-tests: New file, extracted from
35143         modules/sys_select-tests.
35144         * modules/sys_select-tests: Depend on it.
35145         * modules/sys_socket-c++-tests: New file, extracted from
35146         modules/sys_socket-tests.
35147         * modules/sys_socket-tests: Depend on it.
35148         * modules/sys_stat-c++-tests: New file, extracted from
35149         modules/sys_stat-tests.
35150         * modules/sys_stat-tests: Depend on it.
35151         * modules/sys_time-c++-tests: New file, extracted from
35152         modules/sys_time-tests.
35153         * modules/sys_time-tests: Depend on it.
35154         * modules/time-c++-tests: New file, extracted from modules/time-tests.
35155         * modules/time-tests: Depend on it.
35156         * modules/unistd-c++-tests: New file, extracted from
35157         modules/unistd-tests.
35158         * modules/unistd-tests: Depend on it.
35159         * modules/wchar-c++-tests: New file, extracted from
35160         modules/wchar-tests.
35161         * modules/wchar-tests: Depend on it.
35162         * modules/wctype-c++-tests: New file, extracted from
35163         modules/wctype-tests.
35164         * modules/wctype-tests: Depend on it.
35165         Reported by Simon Josefsson.
35166
35167 2010-03-28  Bruno Haible  <bruno@clisp.org>
35168
35169         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
35170         * gnulib-tool (func_exists_module): New function, extracted from
35171         func_verify_module.
35172         (func_verify_module): Use it.
35173         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
35174         'foo' only if 'foo' exists.
35175         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
35176         module.
35177
35178 2010-03-28  Bruno Haible  <bruno@clisp.org>
35179
35180         gnulib-tool: Add support for special categories of tests.
35181         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
35182         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
35183         (func_usage): Document them.
35184         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
35185         inc_unportable_tests, inc_all_tests): New variables.
35186         (func_acceptable): Consider these variables.
35187         (func_modules_transitive_closure): Make it work when the 'Status' field
35188         consists of multiple words.
35189         (func_import): Store and restore the values of inc_cxx_tests,
35190         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
35191         inc_all_tests in gnulib-comp.m4.
35192         (func_create_testdir): Set inc_all_tests to true.
35193         * doc/gnulib.texi (Extra tests modules): New section.
35194         Suggested by Jim Meyering.
35195
35196 2010-03-28  Bruno Haible  <bruno@clisp.org>
35197
35198         ansi-c++-opt: Allow turning off the C++ build by default.
35199         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
35200         gl_CXX_CHOICE_DEFAULT_NO is defined.
35201         Requested by Eric Blake.
35202
35203 2010-03-28  Bruno Haible  <bruno@clisp.org>
35204
35205         unistd: Avoid #define replacements in C++ mode.
35206         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
35207         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
35208         setsockopt, shutdown, select): In C++, attach a warning to the function
35209         if possible, rather than #defining the symbol to a dysfunctional alias.
35210         Reported by John W. Eaton <jwe@gnu.org>.
35211
35212 2010-03-28  Bruno Haible  <bruno@clisp.org>
35213
35214         Fix link errors on mingw.
35215         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
35216         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
35217         $(LIBSOCKET).
35218         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
35219         $(LIBSOCKET).
35220
35221 2010-03-28  Bruno Haible  <bruno@clisp.org>
35222             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35223
35224         lib-ignore: Determine different options for different compilers.
35225         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
35226         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
35227         Add comments.
35228         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
35229         * NEWS: Mention the change.
35230
35231 2010-03-27  Bruno Haible  <bruno@clisp.org>
35232
35233         Remove unused GNULIB_XYZ macro definitions.
35234         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35235         * modules/fseek (configure.ac): Likewise.
35236         * modules/ioctl (configure.ac): Likewise.
35237         * modules/open (configure.ac): Likewise.
35238         * modules/stdlib-safer (configure.ac): Likewise.
35239
35240 2010-03-27  Bruno Haible  <bruno@clisp.org>
35241
35242         Add a remark about certain modules.
35243         * modules/malloc (Comment): New section.
35244         * modules/realloc (Comment): Likewise.
35245         * modules/sigpipe (Comment): Likewise.
35246
35247 2010-03-27  Bruno Haible  <bruno@clisp.org>
35248
35249         Resolve conflict between the two kinds of module indicators.
35250         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
35251         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
35252         * modules/canonicalize (configure.ac): Invoke
35253         gl_MODULE_INDICATOR_FOR_TESTS.
35254         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
35255         GNULIB_XYZ.
35256         * tests/test-dirent-c++.cc: Likewise.
35257         * tests/test-dirent-safer.c: Likewise.
35258         * tests/test-dup2.c: Likewise.
35259         * tests/test-fchdir.c: Likewise.
35260         * tests/test-fcntl-h-c++.cc: Likewise.
35261         * tests/test-getopt.c: Likewise.
35262         * tests/test-getopt.h: Likewise.
35263         * tests/test-langinfo-c++.cc: Likewise.
35264         * tests/test-locale-c++.cc: Likewise.
35265         * tests/test-math-c++.cc: Likewise.
35266         * tests/test-pty-c++.cc: Likewise.
35267         * tests/test-search-c++.cc: Likewise.
35268         * tests/test-signal-c++.cc: Likewise.
35269         * tests/test-spawn-c++.cc: Likewise.
35270         * tests/test-stdio-c++.cc: Likewise.
35271         * tests/test-stdlib-c++.cc: Likewise.
35272         * tests/test-string-c++.cc: Likewise.
35273         * tests/test-sys_ioctl-c++.cc: Likewise.
35274         * tests/test-sys_select-c++.cc: Likewise.
35275         * tests/test-sys_socket-c++.cc: Likewise.
35276         * tests/test-sys_stat-c++.cc: Likewise.
35277         * tests/test-sys_time-c++.cc: Likewise.
35278         * tests/test-time-c++.cc: Likewise.
35279         * tests/test-unistd-c++.cc: Likewise.
35280         * tests/test-wchar-c++.cc: Likewise.
35281         * tests/uninorm/test-u8-nfc.c: Likewise.
35282         * tests/uninorm/test-u8-nfd.c: Likewise.
35283         * tests/uninorm/test-u8-nfkc.c: Likewise.
35284         * tests/uninorm/test-u8-nfkd.c: Likewise.
35285         * tests/uninorm/test-u16-nfc.c: Likewise.
35286         * tests/uninorm/test-u16-nfd.c: Likewise.
35287         * tests/uninorm/test-u16-nfkc.c: Likewise.
35288         * tests/uninorm/test-u16-nfkd.c: Likewise.
35289         * tests/uninorm/test-u32-nfc.c: Likewise.
35290         * tests/uninorm/test-u32-nfc-big.c: Likewise.
35291         * tests/uninorm/test-u32-nfd.c: Likewise.
35292         * tests/uninorm/test-u32-nfd-big.c: Likewise.
35293         * tests/uninorm/test-u32-nfkc.c: Likewise.
35294         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
35295         * tests/uninorm/test-u32-nfkd.c: Likewise.
35296         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
35297         * tests/uninorm/test-u32-normalize-big.c: Likewise.
35298
35299 2010-03-27  Bruno Haible  <bruno@clisp.org>
35300
35301         Distinguish two kinds of module indicators.
35302         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
35303         gl_MODULE_INDICATOR.
35304         (gl_MODULE_INDICATOR): New macro.
35305         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
35306         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
35307         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35308         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35309         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35310         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35311         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35312         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35313         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35314         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35315         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35316         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35317         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35318         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35319         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35320         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35321         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35322         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35323         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35324         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35325         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35326         * modules/cloexec (configure.ac): Likewise.
35327         * modules/getopt-gnu (configure.ac): Likewise.
35328         * modules/uninorm/u8-normalize (configure.ac): Likewise.
35329         * modules/uninorm/u16-normalize (configure.ac): Likewise.
35330         * modules/uninorm/u32-normalize (configure.ac): Likewise.
35331         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
35332
35333 2010-03-27  Bruno Haible  <bruno@clisp.org>
35334
35335         New module description field 'Comment'.
35336         * gnulib-tool: New option --extract-comment.
35337         (func_usage): Document it.
35338         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
35339         (func_get_comment): New function.
35340         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
35341
35342 2010-03-27  Bruno Haible  <bruno@clisp.org>
35343
35344         Addendum to 2010-02-07 commit.
35345         * gnulib-tool (func_usage): Document --extract-applicability option.
35346
35347 2010-03-27  Bruno Haible  <bruno@clisp.org>
35348
35349         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
35350         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
35351         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
35352         rather than link errors.
35353
35354 2010-03-27  Bruno Haible  <bruno@clisp.org>
35355
35356         Avoid side effects from tests-related modules on the compilation of lib.
35357         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
35358         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
35359         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
35360         parameter. Emit into AM_CPPFLAGS a definition of the designated C
35361         macro.
35362         (func_import): Define a witness macro. Assign it a value that depends
35363         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
35364         tests-related modules.
35365         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
35366         Reported by Jim Meyering.
35367
35368 2010-03-27  Bruno Haible  <bruno@clisp.org>
35369
35370         Factorize common .m4 code.
35371         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
35372         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
35373         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
35374         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
35375         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35376         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
35377         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
35378         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35379         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35380         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35381         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
35382         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35383         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35384         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35385         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35386         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
35387         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35388         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35389         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35390         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
35391         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
35392         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35393         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35394         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35395         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35396         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35397         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
35398         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
35399         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
35400         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35401         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35402         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35403
35404 2010-03-27  Bruno Haible  <bruno@clisp.org>
35405
35406         Fix a compilation error on Cygwin with g++ >= 4.3.
35407         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
35408         if it is undefined or if we alias it to chmod.
35409         (lstat): Don't warn about the use of this function if it is undefined
35410         or if we alias it to stat.
35411         Reported by Simon Josefsson.
35412
35413 2010-03-27  Bruno Haible  <bruno@clisp.org>
35414
35415         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
35416         * modules/getlogin (configure.ac): Update.
35417
35418         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
35419         * modules/getlogin_r (configure.ac): Update.
35420
35421         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
35422         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
35423         * modules/inet_ntop (configure.ac): Update.
35424
35425         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
35426         * modules/inet_pton (configure.ac): Update.
35427
35428         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
35429         * modules/mbslen (configure.ac): Update.
35430
35431         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
35432         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
35433         * modules/forkpty (configure.ac): Update.
35434         * modules/openpty (configure.ac): Update.
35435
35436 2010-03-26  Simon Josefsson  <simon@josefsson.org>
35437
35438         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
35439         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
35440
35441 2010-03-25  Eric Blake  <eblake@redhat.com>
35442
35443         maint: use pragma consistently across replacement headers
35444         * lib/ctype.in.h (system_header): Hoist for consistent placement.
35445         * lib/dirent.in.h (system_header): Likewise.
35446         * lib/errno.in.h (system_header): Likewise.
35447         * lib/float.in.h (system_header): Likewise.
35448         * lib/getopt.in.h (system_header): Likewise.
35449         * lib/iconv.in.h (system_header): Likewise.
35450         * lib/inttypes.in.h (system_header): Likewise.
35451         * lib/langinfo.in.h (system_header): Likewise.
35452         * lib/locale.in.h (system_header): Likewise.
35453         * lib/math.in.h (system_header): Likewise.
35454         * lib/netdb.in.h (system_header): Likewise.
35455         * lib/netinet_in.in.h (system_header): Likewise.
35456         * lib/pty.in.h (system_header): Likewise.
35457         * lib/sched.in.h (system_header): Likewise.
35458         * lib/se-selinux.in.h (system_header): Likewise.
35459         * lib/search.in.h (system_header): Likewise.
35460         * lib/spawn.in.h (system_header): Likewise.
35461         * lib/stdarg.in.h (system_header): Likewise.
35462         * lib/stdint.in.h (system_header): Likewise.
35463         * lib/string.in.h (system_header): Likewise.
35464         * lib/strings.in.h (system_header): Likewise.
35465         * lib/sys_file.in.h (system_header): Likewise.
35466         * lib/sys_ioctl.in.h (system_header): Likewise.
35467         * lib/sys_socket.in.h (system_header): Likewise.
35468         * lib/sys_times.in.h (system_header): Likewise.
35469         * lib/sys_utsname.in.h (system_header): Likewise.
35470         * lib/sys_wait.in.h (system_header): Likewise.
35471         * lib/sysexits.in.h (system_header): Likewise.
35472         * lib/unistd.in.h (system_header): Likewise.
35473         * lib/wctype.in.h (system_header): Likewise.
35474
35475         arpa/inet: fix mingw compilation warning
35476         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
35477         Reported by Matthew Bolte.
35478
35479 2010-03-25  Bruno Haible  <bruno@clisp.org>
35480
35481         Avoid collision between gnulib wrapper and libintl wrapper.
35482         * lib/printf.c (printf): Don't define if a printf wrapper is already
35483         defined in intl/printf.c.
35484         Reported by Michel Boaventura <michel@michelboaventura.com>.
35485
35486 2010-03-25  Bruno Haible  <bruno@clisp.org>
35487
35488         Use ANSI C.
35489         * lib/readutmp.h (getutent): Provide ANSI C prototype.
35490
35491 2010-03-25  Bruno Haible  <bruno@clisp.org>
35492
35493         Minor formatting changes.
35494         * lib/acosl.c: Insert space before function argument list.
35495         * lib/argz.c: Likewise.
35496         * lib/asinl.c: Likewise.
35497         * lib/expl.c: Likewise.
35498         * lib/gen-uni-tables.c: Likewise.
35499         * lib/gettext.h: Likewise.
35500         * lib/glthread/lock.h: Likewise.
35501         * lib/tanl.c: Likewise.
35502         * lib/uniname/uniname.c: Likewise.
35503         * tests/test-idpriv-drop.c: Likewise.
35504         * tests/test-idpriv-droptemp.c: Likewise.
35505         * tests/test-lock.c: Likewise.
35506         * tests/test-tls.c: Likewise.
35507         * lib/argp-help.c: Insert space before function-like macro argument
35508         list.
35509         * lib/memcmp.c: Likewise.
35510         * tests/test-base64.c: Likewise.
35511         * lib/localename.c: Insert space before sizeof's argument list.
35512         * lib/safe-alloc.h: Likewise.
35513         * lib/file-set.h: Insert space before macro argument list.
35514         * tests/test-argp.c: Likewise.
35515         * lib/argp-namefrob.h: Insert space before function parameter list.
35516         * lib/getaddrinfo.c: Likewise.
35517         * lib/netdb.in.h: Likewise.
35518         * lib/parse-duration.h: Likewise.
35519         * lib/parse-duration.c: Likewise.
35520         * lib/poll.c: Likewise.
35521         * lib/select.c: Likewise.
35522         * lib/trim.h: Likewise.
35523         * tests/test-usleep.c: Likewise.
35524         * lib/ldexpl.c: Insert space before function parameter list and before
35525         function argument list.
35526         * lib/logl.c: Likewise.
35527         * lib/sqrtl.c: Likewise.
35528         * lib/trim.c: Likewise.
35529         * lib/cosl.c: Use GNU style indentation. Insert space before function
35530         argument list.
35531         * lib/sinl.c: Likewise.
35532         * lib/tsearch.c: Insert space after 'for'.
35533         Reported by Jim Meyering.
35534
35535 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
35536
35537         * maint.mk (sc_Wundef_boolean): Check for the presence of the
35538         config header before grepping, as it's not present before
35539         autoreconf/configure are run.  Reported by Simon Josefsson.
35540
35541 2010-03-23  Bruno Haible  <bruno@clisp.org>
35542
35543         pt_chown: Make it work with automake < 1.11.
35544         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
35545         Reported by Simon Josefsson.
35546
35547 2010-03-23  Bruno Haible  <bruno@clisp.org>
35548
35549         pt_chown: Don't depend on GPLed modules.
35550         * lib/pt_chown.c: Don't include idpriv.h.
35551         (main): Don't drop privileges.
35552         * modules/pt_chown (Depends-on): Remove idpriv-drop.
35553         Reported by Simon Josefsson.
35554
35555 2010-03-24  Simon Josefsson  <simon@josefsson.org>
35556
35557         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
35558         suggestions from karl@freefriends.org (Karl Berry).
35559
35560 2010-03-22  Eric Blake  <eblake@redhat.com>
35561
35562         gethostname: further tweaks
35563         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
35564         are overriding gethostname.
35565         Suggested by Bruno Haible.
35566
35567 2010-03-21  Bruno Haible  <bruno@clisp.org>
35568
35569         Fix comments.
35570         * lib/forkpty.c (rpl_forkpty): Fix comment.
35571         * lib/openpty.c (rpl_openpty): Likewise.
35572         Reported by Eric Blake.
35573
35574 2010-03-22  Eric Blake  <eblake@redhat.com>
35575
35576         gethostname: fix build on mingw
35577         * lib/unistd.in.h (includes): Work around fact that mingw
35578         <winsock2.h> re-includes <unistd.h>, by avoiding any
35579         redeclarations if we are being included by <winsock2.h>.
35580         Reported by Matthias Bolte.
35581
35582 2010-03-21  Bruno Haible  <bruno@clisp.org>
35583
35584         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35585         * lib/forkpty.c (forkpty): New replacement function, from glibc with
35586         modifications.
35587         * lib/pty.in.h (forkpty): Update declaration. Add comments.
35588         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
35589         provide the replacement.
35590         * modules/forkpty (Depends-on): Add openpty, login_tty.
35591         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
35592         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
35593         * doc/glibc-functions/forkpty.texi: More supported platforms.
35594         * config/srclist.txt: Add forkpty.c (commented).
35595
35596 2010-03-21  Bruno Haible  <bruno@clisp.org>
35597
35598         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
35599         (Makefile.am): Verify that PTY_LIB is defined.
35600
35601         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
35602
35603 2010-03-21  Bruno Haible  <bruno@clisp.org>
35604
35605         Tests for module 'login_tty'.
35606         * modules/login_tty-tests: New file.
35607         * tests/test-login_tty.c: New file.
35608
35609         New module 'login_tty'.
35610         * lib/login_tty.c: New file.
35611         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
35612         * modules/login_tty: New file.
35613         * doc/glibc-functions/login_tty.texi: Mention the new module.
35614
35615 2010-03-21  Bruno Haible  <bruno@clisp.org>
35616
35617         login_tty: Documentation.
35618         * doc/glibc-functions/login_tty.texi: New file.
35619         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
35620
35621 2010-03-21  Bruno Haible  <bruno@clisp.org>
35622
35623         pty: Consistent macro naming.
35624         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
35625         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
35626         * modules/pty (configure.ac): Update.
35627
35628 2010-03-21  Bruno Haible  <bruno@clisp.org>
35629
35630         Tests for openpty: Make stricter.
35631         * tests/test-openpty.c (main): Add test of canonical processing and
35632         erase.
35633         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
35634
35635         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35636         * lib/openpty.c (openpty): New replacement function.
35637         * lib/pty.in.h: Include <termios.h>.
35638         (openpty): Update declaration. Add comments.
35639         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
35640         is not declared, arrange to provide the replacement. Check for _getpty
35641         and posix_openpt.
35642         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
35643         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
35644         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
35645         * modules/pty-tests (test_pty_c___LDADD): New variable.
35646         * doc/glibc-functions/openpty.texi: More supported platforms.
35647
35648 2010-03-21  Bruno Haible  <bruno@clisp.org>
35649
35650         setenv: Tweaks.
35651         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
35652         the test program.
35653         * doc/posix-functions/setenv.texi: Update platforms list.
35654
35655 2010-03-21  Bruno Haible  <bruno@clisp.org>
35656
35657         New module 'unlockpt'.
35658         * lib/unlockpt.c: New file, from glibc with modifications.
35659         * m4/unlockpt.m4: New file.
35660         * modules/unlockpt: New file.
35661         * lib/stdlib.in.h (unlockpt): New declaration.
35662         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
35663         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
35664         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
35665         HAVE_UNLOCKPT.
35666         * doc/posix-functions/unlockpt.texi: Mention the new module.
35667         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
35668         * config/srclist.txt: Add unlockpt.c (commented).
35669
35670 2010-03-21  Jim Meyering  <meyering@redhat.com>
35671
35672         maint.mk: prohibit inclusion of "intprops.h" without use
35673         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
35674
35675 2010-03-21  Bruno Haible  <bruno@clisp.org>
35676
35677         New module 'grantpt'.
35678         * lib/grantpt.c: New file, from glibc with modifications.
35679         * m4/grantpt.m4: New file.
35680         * modules/grantpt: New file.
35681         * lib/stdlib.in.h (grantpt): New declaration.
35682         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
35683         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
35684         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
35685         HAVE_GRANTPT.
35686         * doc/posix-functions/grantpt.texi: Mention the new module.
35687         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
35688         * config/srclist.txt: Add grantpt.c (commented).
35689
35690 2010-03-21  Bruno Haible  <bruno@clisp.org>
35691
35692         New module 'pt_chown'.
35693         * lib/pt_chown.c: New file, from glibc with modifications.
35694         * lib/pty-private.h: New file, from glibc with modifications.
35695         * modules/pt_chown: New file.
35696         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
35697
35698 2010-03-21  Bruno Haible  <bruno@clisp.org>
35699
35700         Tests for module 'ptsname'.
35701         * modules/ptsname-tests: New file.
35702         * tests/test-ptsname.c: New file.
35703
35704         New module 'ptsname'.
35705         * lib/ptsname.c: New file, from glibc with modifications.
35706         * m4/ptsname.m4: New file.
35707         * modules/ptsname: New file.
35708         * lib/stdlib.in.h (ptsname): New declaration.
35709         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
35710         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
35711         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
35712         HAVE_PTSNAME.
35713         * doc/posix-functions/ptsname.texi: Mention the new module.
35714         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
35715         * config/srclist.txt: Add ptsname.c (commented).
35716
35717 2010-03-21  Bruno Haible  <bruno@clisp.org>
35718
35719         Tests for module 'ttyname_r'.
35720         * modules/ttyname_r-tests: New file.
35721         * tests/test-ttyname_r.c: New file.
35722
35723         New module 'ttyname_r'.
35724         * lib/ttyname_r.c: New file.
35725         * m4/ttyname_r.m4: New file.
35726         * modules/ttyname_r: New file.
35727         * lib/unistd.in.h (ttyname_r): New declaration.
35728         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
35729         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
35730         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
35731         HAVE_TTYNAME_R.
35732         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
35733         * doc/posix-functions/ttyname_r.texi: Mention the new module.
35734
35735 2010-03-20  Bruno Haible  <bruno@clisp.org>
35736
35737         signal: Undefine macro definitions in C++ mode.
35738         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
35739         sigfillset): Undefine macro definitions from the system header in C++
35740         mode.
35741         Reported by John W. Eaton <jwe@gnu.org>.
35742
35743 2010-03-20  Bruno Haible  <bruno@clisp.org>
35744
35745         Ensure no #include statements inside extern "C" { ... }.
35746         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
35747         contain #include statements.
35748         * lib/time.in.h: Likewise.
35749
35750 2010-03-20  Bruno Haible  <bruno@clisp.org>
35751
35752         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
35753         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
35754         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
35755         Reported by John W. Eaton <jwe@gnu.org>.
35756
35757 2010-03-20  Bruno Haible  <bruno@clisp.org>
35758
35759         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
35760         Reported by Jim Meyering.
35761
35762 2010-03-20  Bruno Haible  <bruno@clisp.org>
35763
35764         pipe: Set errno upon failure.
35765         * lib/pipe.h: Specify that when -1 is returned, errno is set.
35766         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
35767         errno value in error message.
35768
35769 2010-03-20  Bruno Haible  <bruno@clisp.org>
35770             Jim Meyering  <meyering@redhat.com>
35771
35772         lchown: Avoid "unused variable" warning.
35773         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
35774
35775 2010-03-20  Bruno Haible  <bruno@clisp.org>
35776
35777         Work around unlink() bug on MacOS X 10.5.6.
35778         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
35779         attempting to unlink a parent directory.
35780         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
35781         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
35782         activate for the replacement function.
35783         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
35784
35785 2010-03-20  Bruno Haible  <bruno@clisp.org>
35786
35787         Fix link errors on Solaris 8.
35788         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
35789         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
35790
35791 2010-03-19  Jim Meyering  <meyering@redhat.com>
35792
35793         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
35794         The _LIBC implementation of build_range_exp correctly honors the
35795         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
35796         However, the non-_LIBC implementation would ignore that syntax-bit
35797         flag and return REG_ERANGE unconditionally.
35798         This change makes it honor that flag.
35799         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
35800         Make two pointer parameters "const".
35801         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
35802         (parse_bracket_exp): Update caller.
35803
35804         regex.m4: correct the reversed range endpoint ([b-a]) test
35805         * m4/regex.m4: When requiring that [b-a] evoke failure,
35806         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
35807         test pass once again for x86-based systems.
35808
35809 2010-03-19  Bruno Haible  <bruno@clisp.org>
35810
35811         scandir: Fix link error on Solaris 8.
35812         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
35813         macros.
35814
35815 2010-03-19  Bruno Haible  <bruno@clisp.org>
35816
35817         getusershell: Fix documentation.
35818         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
35819         module.
35820         * doc/glibc-functions/setusershell.texi: Likewise.
35821
35822         getusershell: Provide declaration, missing on Solaris 9.
35823         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
35824         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
35825         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
35826         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
35827         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35828         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
35829         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
35830         HAVE_GETUSERSHELL.
35831         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
35832
35833 2010-03-19  Bruno Haible  <bruno@clisp.org>
35834
35835         wctype: Provide iswblank function.
35836         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
35837         exists and is fine.
35838         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
35839         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
35840         * tests/test-wctype.c (main): Re-enable the iswblank tests.
35841         * doc/posix-functions/iswblank.texi: Update.
35842
35843 2010-03-19  Bruno Haible  <bruno@clisp.org>
35844
35845         Tests of module 'pty' in C++ mode.
35846         * modules/pty-tests: New file.
35847         * tests/test-pty-c++.cc: New file.
35848         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
35849
35850 2010-03-19  Eric Blake  <eblake@redhat.com>
35851
35852         logb: fix documentation
35853         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
35854         1.5 declaration bug.
35855
35856         forkpty, openpty: prefer glibc's const-safe prototype
35857         * lib/forkpty.c (rpl_forkpty): New file.
35858         * lib/openpty.c (rpl_openpty): Likewise.
35859         * modules/forkpty (Files): Distribute it.
35860         * modules/openpty (Files): Likewise.
35861         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
35862         check...
35863         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
35864         replacement for for non-const BSD signature.
35865         * modules/pty (Makefile.am): Substitute witnesses.
35866         * lib/pty.in.h (forkpty, openpty): Declare replacements.
35867         * tests/test-forkpty.c: Update signature check.
35868         * tests/test-openpty.c: Likewise.
35869         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
35870         * doc/glibc-functions/openpty.texi (openpty): Likewise.
35871
35872         forkpty, openpty: split functions into new modules
35873         * modules/pty (Makefile.am): Substitute new witnesses.
35874         (Libraries): Move library detection...
35875         * modules/forkpty: ...into new module.
35876         * modules/openpty: Another new module.
35877         * modules/pty-tests: Rename and split...
35878         * modules/forkpty-tests: ...to this...
35879         * modules/openpty-tests: ...and this.
35880         * tests/test-pty.c: Rename and split...
35881         * tests/test-forkpty.c: ...to this...
35882         * tests/test-openpty.c: ...and this.
35883         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
35884         (gl_PTY): Split library searching...
35885         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
35886         (gl_FORKPTY, gl_OPENPTY): New macros.
35887         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
35888         * NEWS: Mention the split.
35889         * MODULES.html.sh (Misc): Document the modules.
35890         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
35891         * doc/glibc-functions/openpty.texi (openpty): Likewise.
35892
35893         pty: improve replacement header
35894         * lib/pty.in.h: New file.
35895         * modules/pty (Files): Ship it.
35896         (Makefile.am): Always build replacement.
35897         * m4/pty.m4: Rename...
35898         * m4/pty_h.m4: ...to this.
35899         (gl_PTY): Modernize setting of witness macros; update check of
35900         forkpty to take proper advantage of cache.
35901         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
35902
35903         getopt: avoid compiler warning
35904         * lib/getopt.c (attribute_hidden): Remove unused macro.
35905
35906 2010-03-18  Bruno Haible  <bruno@clisp.org>
35907
35908         Fix link errors on Solaris 8.
35909         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
35910         * modules/search-tests (test_search_c___LDADD): Likewise.
35911         * modules/signal-tests (test_signal_c___LDADD): Likewise.
35912         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
35913         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
35914         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
35915         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
35916         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
35917         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
35918
35919 2010-03-18  Bruno Haible  <bruno@clisp.org>
35920
35921         Fix bug introduced on 2010-03-14.
35922         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
35923         (gl_SPAWN_H): Require it.
35924         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
35925         Reported by Simon Josefsson.
35926
35927 2010-03-18  Bruno Haible  <bruno@clisp.org>
35928
35929         Fix typo introduced on 2009-12-31.
35930         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
35931         posix_spawn_file_actions_adddup2.
35932
35933 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
35934         and Eric Blake  <eblake@redhat.com>
35935
35936         test-vc-list-files-git: make more robust
35937         * tests/test-vc-list-files-git.sh: Unset problematic environment
35938         variables.  Chain commands together.
35939
35940 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
35941
35942         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
35943         `AC_CHECK_DECL' invocation.
35944
35945 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
35946
35947         * lib/inttostr.c (inttostr): Make sure the invocation of verify
35948         appears before executable statements. Suggested by Petr Sumbera
35949         <Petr.Sumbera@Sun.COM>.
35950
35951 2010-03-14  Bruno Haible  <bruno@clisp.org>
35952
35953         * tests/test-flock.c (test_exclusive): Comment out a test that causes
35954         portability problems. Instead use a simpler test.
35955         (main): Check that invalid arguments are rejected only on Linux.
35956
35957 2010-03-14  Bruno Haible  <bruno@clisp.org>
35958
35959         Fix bug introduced on 2009-12-31.
35960         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
35961         gl_PREREQ_SYS_H_WINSOCK2 always.
35962         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
35963         SYS_SOCKET_H variable.
35964         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
35965         Update comments.
35966         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
35967         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
35968         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
35969         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
35970         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
35971
35972 2010-03-14  Bruno Haible  <bruno@clisp.org>
35973
35974         Fix values returned by sinl, cosl.
35975         * lib/trigl.h: Add specification comments.
35976         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
35977         that combines the values from the precomputed table with the values of
35978         the Chebyshev polynomials.
35979
35980 2010-03-14  Bruno Haible  <bruno@clisp.org>
35981
35982         Fix compilation error when modules 'posix_spawn[p]' are not used.
35983         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
35984         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
35985
35986 2010-03-14  Bruno Haible  <bruno@clisp.org>
35987
35988         Fix compilation error on mingw when module 'time_r' is not used.
35989         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
35990         is 1.
35991         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
35992         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
35993         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
35994         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
35995
35996 2010-03-14  Bruno Haible  <bruno@clisp.org>
35997
35998         Fix compilation error with Sun C.
35999         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
36000         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
36001         instead of GCC specific ULONG_LONG_MAX.
36002         * lib/xstrtoll.c: Likewise.
36003         * lib/xstrtoull.c: Likewise.
36004
36005 2010-03-13  Bruno Haible  <bruno@clisp.org>
36006
36007         Allow the user to disable C++ code and tests.
36008         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
36009         (gl_PROG_ANSI_CXX): Require it.
36010
36011 2010-03-13  Bruno Haible  <bruno@clisp.org>
36012
36013         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
36014         cases.
36015
36016 2010-03-13  Bruno Haible  <bruno@clisp.org>
36017
36018         Test that gnulib does not break the standard C++ headers.
36019         * tests/test-locale-c++2.cc: New file.
36020         * modules/locale-tests (Files): Add it.
36021         (Makefile.am): Compile it for test-locale-c++.
36022         * tests/test-math-c++2.cc: New file.
36023         * modules/math-tests (Files): Add it.
36024         (Makefile.am): Compile it for test-math-c++.
36025         * tests/test-signal-c++2.cc: New file.
36026         * modules/signal-tests (Files): Add it.
36027         (Makefile.am): Compile it for test-signal-c++.
36028         * tests/test-stdio-c++2.cc: New file.
36029         * modules/stdio-tests (Files): Add it.
36030         (Makefile.am): Compile it for test-stdio-c++.
36031         * tests/test-stdlib-c++2.cc: New file.
36032         * modules/stdlib-tests (Files): Add it.
36033         (Makefile.am): Compile it for test-stdlib-c++.
36034         * tests/test-string-c++2.cc: New file.
36035         * modules/string-tests (Files): Add it.
36036         (Makefile.am): Compile it for test-string-c++.
36037         * tests/test-time-c++2.cc: New file.
36038         * modules/time-tests (Files): Add it.
36039         (Makefile.am): Compile it for test-time-c++.
36040         Reported by John W. Eaton <jwe@gnu.org>.
36041
36042 2010-03-13  Bruno Haible  <bruno@clisp.org>
36043
36044         * gnulib-tool (func_usage): Clarify which options are available for
36045         --create-testdir and --create-megatestdir.
36046
36047 2010-03-13  Bruno Haible  <bruno@clisp.org>
36048
36049         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
36050         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
36051         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
36052         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
36053         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
36054         when appropriate.
36055         Reported by Jim Meyering.
36056
36057 2010-03-12  Simon Josefsson  <simon@josefsson.org>
36058
36059         * gnulib-tool (func_import): Explain origin of code.
36060
36061 2010-03-12  Bruno Haible  <bruno@clisp.org>
36062
36063         Fix problem with automake's definition of CXXLINK.
36064         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
36065         Reported by Simon Josefsson and Ludovic Courtès.
36066
36067 2010-03-12  Bruno Haible  <bruno@clisp.org>
36068
36069         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
36070         stable releases.
36071
36072 2010-03-11  Bruno Haible  <bruno@clisp.org>
36073
36074         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
36075         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
36076         whether the system provides one variant or multiple variants of the
36077         function.
36078         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
36079         C++ compilers.
36080         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
36081         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
36082         Reported by Jim Meyering.
36083
36084 2010-03-09  Simon Josefsson  <simon@josefsson.org>
36085
36086         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
36087
36088 2010-03-08  Bruno Haible  <bruno@clisp.org>
36089
36090         gnulib-tool: Add support for --libtool in --create-testdir.
36091         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
36092         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
36093
36094 2010-03-08  Eric Blake  <eblake@redhat.com>
36095
36096         gnulib-tool.texi: mention possibility of git submodule
36097         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
36098         submodules.
36099         * doc/.gitignore: Ignore another generated file.
36100
36101 2010-03-08  Karl Berry  <karl@gnu.org>
36102
36103         * doc/gnulib-tool.texi (VCS Issues): Mention third option
36104         of committing gnulib files while skipping others.
36105
36106 2010-03-07  Bruno Haible  <bruno@clisp.org>
36107
36108         Tests of module 'wctype' in C++ mode.
36109         * tests/test-wctype-c++.cc: New file.
36110         * modules/wctype-tests (Files): Add it and tests/signature.h.
36111         (Depends-on): Add ansi-c++-opt.
36112         (Makefile.am): Arrange to compile and run test-wctype-c++.
36113
36114         Tests of module 'wchar' in C++ mode.
36115         * tests/test-wchar-c++.cc: New file.
36116         * modules/wchar-tests (Files): Add it and tests/signature.h.
36117         (Depends-on): Add ansi-c++-opt.
36118         (Makefile.am): Arrange to compile and run test-wchar-c++.
36119         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
36120         gl_MODULE_INDICATOR.
36121
36122         Tests of module 'unistd' in C++ mode.
36123         * tests/test-unistd-c++.cc: New file.
36124         * modules/unistd-tests (Files): Add it and tests/signature.h.
36125         (Depends-on): Add ansi-c++-opt.
36126         (Makefile.am): Arrange to compile and run test-unistd-c++.
36127         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
36128         gl_MODULE_INDICATOR.
36129
36130         Tests of module 'time' in C++ mode.
36131         * tests/test-time-c++.cc: New file.
36132         * modules/time-tests (Files): Add it and tests/signature.h.
36133         (Depends-on): Add ansi-c++-opt.
36134         (Makefile.am): Arrange to compile and run test-time-c++.
36135         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36136
36137         Tests of module 'sys_time' in C++ mode.
36138         * tests/test-sys_time-c++.cc: New file.
36139         * modules/sys_time-tests (Files): Add it and tests/signature.h.
36140         (Depends-on): Add ansi-c++-opt.
36141         (Makefile.am): Arrange to compile and run test-sys_time-c++.
36142         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
36143         gl_MODULE_INDICATOR.
36144
36145         Tests of module 'sys_stat' in C++ mode.
36146         * tests/test-sys_stat-c++.cc: New file.
36147         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
36148         (Depends-on): Add ansi-c++-opt.
36149         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
36150         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
36151         gl_MODULE_INDICATOR.
36152
36153         Tests of module 'sys_socket' in C++ mode.
36154         * tests/test-sys_socket-c++.cc: New file.
36155         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
36156         (Depends-on): Add ansi-c++-opt.
36157         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
36158         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
36159         gl_MODULE_INDICATOR.
36160
36161         Tests of module 'sys_select' in C++ mode.
36162         * tests/test-sys_select-c++.cc: New file.
36163         * modules/sys_select-tests (Files): Add it and tests/signature.h.
36164         (Depends-on): Add ansi-c++-opt.
36165         (Makefile.am): Arrange to compile and run test-sys_select-c++.
36166         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
36167         gl_MODULE_INDICATOR.
36168
36169         Tests of module 'sys_ioctl' in C++ mode.
36170         * tests/test-sys_ioctl-c++.cc: New file.
36171         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
36172         (Depends-on): Add ansi-c++-opt.
36173         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
36174         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
36175         gl_MODULE_INDICATOR.
36176
36177         Tests of module 'string' in C++ mode.
36178         * tests/test-string-c++.cc: New file.
36179         * modules/string-tests (Files): Add it and tests/signature.h.
36180         (Depends-on): Add ansi-c++-opt.
36181         (Makefile.am): Arrange to compile and run test-string-c++.
36182         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
36183         gl_MODULE_INDICATOR.
36184
36185         Tests of module 'stdlib' in C++ mode.
36186         * tests/test-stdlib-c++.cc: New file.
36187         * modules/stdlib-tests (Files): Add it and tests/signature.h.
36188         (Depends-on): Add ansi-c++-opt.
36189         (Makefile.am): Arrange to compile and run test-stdlib-c++.
36190         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
36191         gl_MODULE_INDICATOR.
36192
36193         Tests of module 'stdio' in C++ mode.
36194         * tests/test-stdio-c++.cc: New file.
36195         * modules/stdio-tests (Files): Add it and tests/signature.h.
36196         (Depends-on): Add ansi-c++-opt.
36197         (Makefile.am): Arrange to compile and run test-stdio-c++.
36198         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
36199         gl_MODULE_INDICATOR.
36200
36201         Tests of module 'spawn' in C++ mode.
36202         * tests/test-spawn-c++.cc: New file.
36203         * modules/spawn-tests (Files): Add it and tests/signature.h.
36204         (Depends-on): Add ansi-c++-opt.
36205         (Makefile.am): Arrange to compile and run test-spawn-c++.
36206         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
36207         gl_MODULE_INDICATOR.
36208
36209         Tests of module 'signal' in C++ mode.
36210         * tests/test-signal-c++.cc: New file.
36211         * modules/signal-tests (Files): Add it and tests/signature.h.
36212         (Depends-on): Add ansi-c++-opt.
36213         (Makefile.am): Arrange to compile and run test-signal-c++.
36214         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
36215         gl_MODULE_INDICATOR.
36216
36217         Tests of module 'search' in C++ mode.
36218         * tests/test-search-c++.cc: New file.
36219         * modules/search-tests (Files): Add it and tests/signature.h.
36220         (Depends-on): Add ansi-c++-opt.
36221         (Makefile.am): Arrange to compile and run test-search-c++.
36222         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
36223         gl_MODULE_INDICATOR.
36224
36225         Tests of module 'math' in C++ mode.
36226         * tests/test-math-c++.cc: New file.
36227         * modules/math-tests (Files): Add it and tests/signature.h.
36228         (Depends-on): Add ansi-c++-opt.
36229         (Makefile.am): Arrange to compile and run test-math-c++.
36230         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36231
36232         Tests of module 'locale' in C++ mode.
36233         * tests/test-locale-c++.cc: New file.
36234         * modules/locale-tests (Files): Add it and tests/signature.h.
36235         (Depends-on): Add ansi-c++-opt.
36236         (Makefile.am): Arrange to compile and run test-locale-c++.
36237         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
36238         gl_MODULE_INDICATOR.
36239
36240         Tests of module 'langinfo' in C++ mode.
36241         * tests/test-langinfo-c++.cc: New file.
36242         * modules/langinfo-tests (Files): Add it and tests/signature.h.
36243         (Depends-on): Add ansi-c++-opt.
36244         (Makefile.am): Arrange to compile and run test-langinfo-c++.
36245         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
36246         gl_MODULE_INDICATOR.
36247
36248         Tests of module 'iconv-h' in C++ mode.
36249         * tests/test-iconv-h-c++.cc: New file.
36250         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
36251         (Depends-on): Add ansi-c++-opt.
36252         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
36253
36254         Tests of module 'glob' in C++ mode.
36255         * tests/test-glob-c++.cc: New file.
36256         * modules/glob-tests (Files): Add it.
36257         (Depends-on): Add ansi-c++-opt.
36258         (Makefile.am): Arrange to compile and run test-glob-c++.
36259
36260         Tests of module 'fcntl-h' in C++ mode.
36261         * tests/test-fcntl-h-c++.cc: New file.
36262         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
36263         (Depends-on): Add ansi-c++-opt.
36264         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
36265         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
36266         gl_MODULE_INDICATOR.
36267
36268         Tests of module 'dirent' in C++ mode.
36269         * tests/test-dirent-c++.cc: New file.
36270         * modules/dirent-tests (Files): Add it and tests/signature.h.
36271         (Depends-on): Add ansi-c++-opt.
36272         (Makefile.am): Arrange to compile and run test-dirent-c++.
36273         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
36274         gl_MODULE_INDICATOR.
36275
36276         New module 'ansi-c++-opt'.
36277         * modules/ansi-c++-opt: New file.
36278         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
36279
36280         Document C++ namespace mode.
36281         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
36282
36283         wctype: Avoid #define replacements in C++ mode.
36284         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
36285         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
36286         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
36287         In C++, define a namespaced alias symbol.
36288         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
36289         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
36290         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
36291         rule.
36292
36293         wchar: Avoid #define replacements in C++ mode.
36294         * lib/wchar.in.h: Include c++defs.h.
36295         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
36296         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
36297         symbol.
36298         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
36299         * modules/wchar (Depends-on): Add c++defs.
36300         (Makefile.am): Update wchar.h rule.
36301
36302         unistd: Avoid #define replacements in C++ mode.
36303         * lib/unistd.in.h: Include c++defs.h.
36304         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
36305         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
36306         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
36307         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
36308         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
36309         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
36310         symbol.
36311         (environ): Update.
36312         * modules/unistd (Depends-on): Add c++defs.
36313         (Makefile.am): Update unistd.h rule.
36314
36315         time: Avoid #define replacements in C++ mode.
36316         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
36317         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
36318         define a namespaced alias symbol.
36319         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
36320         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
36321         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
36322         * modules/time (Depends-on): Add c++defs, warn-on-use.
36323         (Makefile.am): Update time.h rule.
36324         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36325         * modules/nanosleep (configure.ac): Likewise.
36326         * modules/strptime (configure.ac): Likewise.
36327         * modules/timegm (configure.ac): Likewise.
36328
36329         sys_time: Avoid #define replacements in C++ mode.
36330         * lib/sys_time.in.h: Include c++defs.h.
36331         (gettimeofday): In C++, define a namespaced alias symbol.
36332         * modules/sys_time (Depends-on): Add c++defs.
36333         (Makefile.am): Update sys/time.h rule.
36334
36335         sys_stat: Avoid #define replacements in C++ mode.
36336         * lib/sys_stat.in.h: Include c++defs.h.
36337         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
36338         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
36339         namespaced alias symbol.
36340         In C++, define a namespaced alias symbol.
36341         * modules/sys_stat (Depends-on): Add c++defs.
36342         (Makefile.am): Update sys/stat.h rule.
36343
36344         sys_socket: Avoid #define replacements in C++ mode.
36345         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
36346         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
36347         definitions also when the system has a <sys/socket.h>.
36348         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
36349         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
36350         In C++, define a namespaced alias symbol.
36351         * modules/sys_socket (Depends-on): Add c++defs.
36352         (Makefile.am): Update sys/socket.h rule.
36353
36354         sys_select: Avoid #define replacements in C++ mode.
36355         * lib/sys_select.in.h: Include c++defs.h. Enable the function
36356         definitions also when the system has a <sys/select.h>.
36357         (select): In C++, define a namespaced alias symbol.
36358         * modules/sys_select (Depends-on): Add c++defs.
36359         (Makefile.am): Update sys/select.h rule.
36360
36361         sys_ioctl: Avoid #define replacements in C++ mode.
36362         * lib/sys_ioctl.in.h: Include c++defs.h.
36363         (ioctl): In C++, define a namespaced alias symbol.
36364         * modules/sys_ioctl (Depends-on): Add c++defs.
36365         (Makefile.am): Update sys/ioctl.h rule.
36366
36367         string: Avoid #define replacements in C++ mode.
36368         * lib/string.in.h: Include c++defs.h.
36369         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
36370         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
36371         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
36372         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
36373         strsignal, strverscmp): In C++, define a namespaced alias symbol.
36374         * modules/string (Depends-on): Add c++defs.
36375         (Makefile.am): Update string.h rule.
36376
36377         stdlib: Avoid #define replacements in C++ mode.
36378         * lib/stdlib.in.h: Include c++defs.h.
36379         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
36380         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
36381         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
36382         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
36383         symbol.
36384         * modules/stdlib (Depends-on): Add c++defs.
36385         (Makefile.am): Update stdlib.h rule.
36386
36387         stdio: Avoid #define replacements in C++ mode.
36388         * lib/stdio.in.h: Include c++defs.h.
36389         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
36390         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
36391         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
36392         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
36393         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
36394         namespaced alias symbol.
36395         * modules/stdio (Depends-on): Add c++defs.
36396         (Makefile.am): Update stdio.h rule.
36397
36398         spawn: Avoid #define replacements in C++ mode.
36399         * lib/spawn.in.h: Include c++defs.h.
36400         (posix_spawn, posix_spawnp, posix_spawnattr_init,
36401         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
36402         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
36403         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
36404         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
36405         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
36406         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
36407         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
36408         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
36409         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
36410         In C++, define a namespaced alias symbol.
36411         * modules/spawn (Depends-on): Add c++defs.
36412         (Makefile.am): Update spawn.h rule.
36413
36414         signal: Avoid #define replacements in C++ mode.
36415         * lib/signal.in.h: Include c++defs.h.
36416         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
36417         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
36418         namespaced alias symbol.
36419         * modules/signal (Depends-on): Add c++defs.
36420         (Makefile.am): Update signal.h rule.
36421
36422         search: Avoid #define replacements in C++ mode.
36423         * lib/search.in.h: Include c++defs.h.
36424         (_gl_search_compar_fn, _gl_search_action_fn): New types.
36425         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
36426         symbol.
36427         * modules/search (Depends-on): Add c++defs.
36428         (Makefile.am): Update search.h rule.
36429
36430         math: Avoid #define replacements in C++ mode.
36431         * lib/math.in.h: Include c++defs.h.
36432         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
36433         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
36434         trunc, truncl): In C++, define a namespaced alias symbol.
36435         * modules/math (Depends-on): Add c++defs.
36436         (Makefile.am): Update math.h rule.
36437
36438         locale: Avoid #define replacements in C++ mode.
36439         * lib/locale.in.h: Include c++defs.h.
36440         (duplocale): In C++, define a namespaced alias symbol.
36441         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
36442         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
36443         * modules/locale (Depends-on): Add c++defs.
36444         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
36445
36446         langinfo: Avoid #define replacements in C++ mode.
36447         * lib/langinfo.in.h: Include c++defs.h.
36448         (nl_langinfo): In C++, define a namespaced alias symbol.
36449         * modules/langinfo (Depends-on): Add c++defs.
36450         (Makefile.am): Update langinfo.h rule.
36451
36452         iconv-h: Avoid #define replacements in C++ mode.
36453         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
36454         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
36455         symbol.
36456         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
36457         whenever iconv is present.
36458         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
36459         (Makefile.am): Update iconv.h rule.
36460
36461         glob: Avoid #define replacements in C++ mode.
36462         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
36463         (_gl_glob_errfunc_fn): New type.
36464         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
36465         symbol.
36466         * modules/glob (Depends-on): Add c++defs, warn-on-use.
36467         (Makefile.am): Update glob.h rule.
36468
36469         fcntl-h: Avoid #define replacements in C++ mode.
36470         * lib/fcntl.in.h: Include c++defs.h.
36471         (fcntl, open, openat): In C++, define a namespaced alias symbol.
36472         * modules/fcntl-h (Depends-on): Add c++defs.
36473         (Makefile.am): Update fcntl.h rule.
36474
36475         dirent: Avoid #define replacements in C++ mode.
36476         * lib/dirent.in.h: Include c++defs.h.
36477         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
36478         namespaced alias symbol.
36479         (dirfd): Update declaration.
36480         * modules/dirent (Depends-on): Add c++defs.
36481         (Makefile.am): Update dirent.h rule.
36482
36483         ctype: Make it usable in C++ code.
36484         * lib/ctype.in.h: Include c++defs.h.
36485         (isblank): Declare as extern "C".
36486         * modules/ctype (Depends-on): Add c++defs.
36487         (Makefile.am): Update ctype.h rule.
36488
36489         New module 'c++defs'.
36490         * modules/c++defs: New file.
36491         * build-aux/c++defs.h: New file.
36492         Reported by John W. Eaton <jwe@gnu.org>.
36493
36494 2010-03-07  Bruno Haible  <bruno@clisp.org>
36495
36496         logb: Provide missing declaration for Cygwin.
36497         * lib/math.in.h (logb): New declaration.
36498         * m4/logb.m4: New file.
36499         * modules/logb (Files): Add m4/logb.m4.
36500         (Depends-on): Add math.
36501         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
36502         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
36503         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
36504         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
36505         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
36506
36507 2010-03-07  Bruno Haible  <bruno@clisp.org>
36508
36509         Fix test-cond link error.
36510         * tests/test-cond.c: Include <stdio.h>.
36511
36512 2010-03-07  Bruno Haible  <bruno@clisp.org>
36513
36514         Fix test-dirent-safer link error.
36515         * modules/dirent-safer-tests (Makefile.am): Define
36516         test_dirent_safer_LDADD.
36517
36518 2010-03-07  Bruno Haible  <bruno@clisp.org>
36519
36520         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
36521         among default module list.
36522
36523 2010-03-07  Bruno Haible  <bruno@clisp.org>
36524
36525         Fix link error on platforms with GNU libiconv.
36526         * modules/unistr/u8-strcoll-tests (Makefile): Define
36527         test_u8_strcoll_LDADD.
36528         * modules/unistr/u16-strcoll-tests (Makefile): Define
36529         test_u16_strcoll_LDADD.
36530         * modules/unistr/u32-strcoll-tests (Makefile): Define
36531         test_u32_strcoll_LDADD.
36532
36533 2010-03-07  Bruno Haible  <bruno@clisp.org>
36534
36535         Use POSIX declarations for socket functions.
36536         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
36537         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
36538         rpl_sendto): Change declaration to match POSIX.
36539         * lib/connect.c (rpl_connect): Likewise.
36540         * lib/accept.c (rpl_accept): Likewise.
36541         * lib/bind.c (rpl_bind): Likewise.
36542         * lib/getpeername.c (rpl_getpeername): Likewise.
36543         * lib/getsockname.c (rpl_getsockname): Likewise.
36544         * lib/recv.c (rpl_recv): Likewise.
36545         * lib/send.c (rpl_send): Likewise.
36546         * lib/recvfrom.c (rpl_recvfrom): Likewise.
36547         * lib/sendto.c (rpl_sendto): Likewise.
36548
36549 2010-03-06  Bruno Haible  <bruno@clisp.org>
36550
36551         Clarify access, euidaccess, faccessat.
36552         * doc/posix-functions/faccessat.texi: Mention security problem under
36553         "Other problems", not "Portability problems".
36554         * doc/posix-functions/access.texi: Likewise. Mention a related security
36555         problem.
36556         * doc/glibc-functions/euidaccess.texi: Mention security problems.
36557         * lib/euidaccess.c: Add comments about platforms.
36558         * lib/unistd.in.h (access, euidaccess): Add warnings.
36559
36560 2010-03-07  Bruno Haible  <bruno@clisp.org>
36561
36562         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
36563         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
36564         (POSIX_SPAWN_SETSCHEDULER): Likewise.
36565         (POSIX_SPAWN_USEVFORK): Define in a way that works when
36566         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36567         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
36568         declare when POSIX_SPAWN_SETSCHEDULER is zero.
36569         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
36570         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
36571         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
36572         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
36573         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
36574         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
36575         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
36576         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
36577         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
36578         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
36579         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
36580         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
36581         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
36582         Likewise.
36583         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
36584         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
36585         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
36586         Likewise.
36587         * tests/test-spawn.c (main): Make it work when
36588         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36589
36590 2010-03-07  Bruno Haible  <bruno@clisp.org>
36591
36592         Fix incorrect Makefile.am generation in German locale.
36593         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36594         Execute sed command with character range in C locale.
36595
36596 2010-03-06  Bruno Haible  <bruno@clisp.org>
36597
36598         Tests for module 'iconv-h'.
36599         * modules/iconv-h-tests: New file.
36600         * tests/test-iconv-h.c: New file.
36601
36602         New module 'iconv-h'.
36603         * modules/iconv-h: New file.
36604         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
36605         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
36606         (configure.ac): Remove gl_ICONV_H.
36607         (Makefile.am): Remove rule for iconv.h.
36608
36609 2010-03-06  Bruno Haible  <bruno@clisp.org>
36610
36611         More consistent naming of *.m4 files.
36612         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
36613         * modules/wctype (Files): Update.
36614
36615         More consistent naming of *.m4 files.
36616         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
36617         * modules/wchar (Files): Update.
36618
36619 2010-03-06  Jim Meyering  <meyering@redhat.com>
36620
36621         euidaccess: relax license to LGPLv2+
36622         * modules/euidaccess (License): Relax to LGPLv2+.
36623
36624 2010-03-06  Bruno Haible  <bruno@clisp.org>
36625
36626         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
36627         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
36628         (Makefile.am): Augment lib_SOURCES instead.
36629
36630 2010-03-04  Jim Meyering  <meyering@redhat.com>
36631
36632         utime: remove obsolete module
36633         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
36634         unnecessary for years, and has been marked as obsolete for 10 months.
36635         * modules/utime: Remove file.
36636         * lib/utime.c: Remove file.
36637         * m4/utime.m4: Remove file.
36638         * m4/utimes-null.m4: Remove file.
36639         * doc/posix-functions/utime.texi (utime): Remove reference to
36640         the module.  Move the sole "fixed by gnulib" item into the
36641         "problems not fixed by Gnulib" list.
36642         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
36643
36644 2010-03-05  Simon Josefsson  <simon@josefsson.org>
36645
36646         * modules/exit (License): Relax license to LGPLv2+.
36647         (Status): Mark as obsolete.
36648         * NEWS: Mention deprecated 'exit' module.
36649         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
36650         of now obsolete 'exit'.
36651
36652 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36653
36654         fts-lgpl: remove unused module
36655         * modules/fts-lgpl: Remove.
36656         * MODULES.html.sh (func_all_modules): Adjust.
36657         * check-module (find_included_lib_files): Adjust.
36658         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
36659
36660 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
36661
36662         copy-acl: enhance Solaris ACL error handling
36663         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
36664         * lib/set-mode-acl.c (qset_acl): Likewise.
36665
36666 2010-03-02  Bruno Haible  <bruno@clisp.org>
36667
36668         spawn: Don't override the system defined values on FreeBSD 8.
36669         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
36670         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
36671         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
36672         if HAVE_POSIX_SPAWN is 1.
36673         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
36674
36675 2010-03-01  Bruno Haible  <bruno@clisp.org>
36676
36677         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
36678         regarding Automake.
36679
36680 2010-02-25  Bruno Haible  <bruno@clisp.org>
36681
36682         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
36683         * gnulib-tool: Define 'echo' as a function only before the ksh alias
36684         setting, not afterwards.
36685         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
36686
36687 2010-02-24  Eric Blake  <eblake@redhat.com>
36688
36689         bootstrap, git-version-gen: use timestamp
36690         * build-aux/git-version-gen (scriptversion): Force UTC.
36691         * build-aux/bootstrap (scriptversion): New variable.
36692
36693         bootstrap: allow older git
36694         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
36695         older than 1.6.4.  Requested by the libvirt project.
36696
36697 2010-02-23  Eric Blake  <eblake@redhat.com>
36698
36699         warn-on-use: work with old autoconf
36700         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
36701         AS_VAR semantics of autoconf 2.60.
36702         Reported by Bruno Haible.
36703
36704         bootstrap: improve some comments
36705         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
36706         clarification comments.
36707
36708         gettimeofday: provide correct function
36709         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
36710         when replacement is declared, otherwise provide gettimeofday.
36711         Reported by Michael Goffioul.
36712
36713 2010-02-23  Jim Meyering  <meyering@redhat.com>
36714
36715         lib-ignore: relax license to "unlimited", not LGPLv2+
36716         * modules/lib-ignore (License): Relax to "unlimited".
36717
36718 2010-02-23  Jim Meyering  <meyering@redhat.com>
36719
36720         lib-ignore: relax license to LGPLv2+
36721         * modules/lib-ignore (License): Relax to LGPLv2+.
36722
36723 2010-02-22  Eric Blake  <eblake@redhat.com>
36724
36725         lseek: avoid bash 3.2 broken pipe bug
36726         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
36727         warning from bash 3.2.
36728         Reported by Ben Pfaff, with analysis from Bruno Haible.
36729
36730         bootstrap: support non-FSF copyright holder
36731         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
36732         bootstrap.conf override of COPYRIGHT_HOLDER.
36733         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
36734
36735         bootstrap: interoperate with gettext 0.14.1
36736         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
36737
36738         bootstrap: allow for alternate submodule location
36739         * build-aux/bootstrap (gnulib_path): New variable; use instead of
36740         hardcoding submodule location.
36741         (gnulib_mk): Allow direct use of Makefile.am.
36742
36743         bootstrap: use GNULIB_SRCDIR to reduce disk usage
36744         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
36745         rather than reconfiguring where the submodule points.
36746
36747         gettimeofday: restore support for platforms that lack function
36748         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
36749         replacement if function is missing.
36750         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
36751         * modules/sys_time (Makefile.am): Substitute it.
36752         * lib/sys_time.in.h (gettimeofday): Check it.
36753         Reported by Michael Goffioul.
36754
36755 2010-02-21  Bruno Haible  <bruno@clisp.org>
36756
36757         * lib/stdio.in.h (obstack_printf): Fix typo.
36758
36759 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
36760
36761         vc-list-files: use bzr ls's -R option
36762         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
36763         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
36764
36765 2010-02-21  Jim Meyering  <meyering@redhat.com>
36766
36767         init.sh: fix EXEEXT shims to work also for names like test-prog
36768         * tests/init.sh: Re-exec a better shell, when needed.
36769         If the current shell lacks support for posix $(...), an init.sh-using
36770         test will now try to find a shell that supports that.  If EXEEXT is
36771         nonempty, we also require support for hyphen-in-alias-name and shell
36772         substitutions like ${var#glob}.  Failure to find such a shell results
36773         in a skipped test.
36774
36775 2010-02-21  Bruno Haible  <bruno@clisp.org>
36776
36777         Really work around around "broken pipe" error message from bash 3.2.
36778         * gnulib-tool (func_reset_sigpipe): Remove function.
36779         (echo): In bash 3.2, define to a function that uses printf.
36780         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
36781
36782 2010-02-20  Bruno Haible  <bruno@clisp.org>
36783
36784         Restore support for automake 1.9.6 with autoconf 2.61.
36785         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
36786         Reported by James Youngman <jay@gnu.org>.
36787
36788 2010-02-20  Bruno Haible  <bruno@clisp.org>
36789
36790         Improve *printf warning condition.
36791         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
36792         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
36793         and the function is overridden due to SIGPIPE emulation.
36794
36795 2010-02-20  Bruno Haible  <bruno@clisp.org>
36796
36797         * lib/stdio.in.h: Tweak comments.
36798
36799 2010-02-19  Bruno Haible  <bruno@clisp.org>
36800
36801         Make it easier to find modules. New gnulib-tool option '--find'.
36802         * gnulib-tool: New option --find.
36803         (func_usage): Document it.
36804         (func_sanitize_modulelist): New function, extracted from
36805         func_all_modules.
36806         (func_all_modules): Invoke it.
36807         * doc/gnulib-tool.texi (Which modules?): New node.
36808
36809 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
36810
36811         * lib/sys_select.in.h: Provide select replacement even if
36812         sys/select.h exists on a system, for Interix.
36813
36814 2010-02-18  Jim Meyering  <meyering@redhat.com>
36815
36816         init.sh: don't use $(...) just yet
36817         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
36818         to accommodate e.g., Solaris' /bin/sh.
36819
36820 2010-02-17  Bruno Haible  <bruno@clisp.org>
36821
36822         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
36823         Reported by Ludovic Courtès <ludo@gnu.org>.
36824
36825 2010-02-16  Simon Josefsson  <simon@josefsson.org>
36826
36827         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
36828         linking with -lintl.
36829
36830 2010-02-17  Simon Josefsson  <simon@josefsson.org>
36831
36832         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
36833         if not provided by the system's netdb.h.  Reported by
36834         ludo@gnu.org (Ludovic Courtès).
36835
36836 2010-02-15  Jim Meyering  <meyering@redhat.com>
36837
36838         init.sh: improve portability and efficiency
36839         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
36840         "dummy" in a for loop.
36841         Use '!', not '^' to select the complement of a character set used
36842         in a "case" statement.
36843         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
36844         Suggestions from Eric Blake.
36845
36846         init.sh: automatically accommodate programs with the .exe suffix
36847         Automatically arrange for an invocation of "prog" to execute the
36848         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
36849         may use the simpler "prog", yet still work when built on a system
36850         that requires specifying the added suffix.
36851         Do this by constructing a function named "prog" that invokes
36852         "prog.exe" for each .exe file in selected directories.
36853         * tests/init.sh (find_exe_basenames_): New function.
36854         (create_exe_shim_functions_): New function.
36855         (path_prepend_): Use it.
36856
36857         maint.mk: mark syntax-check sc_*.m rules as .PHONY
36858         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
36859         "make -t syntax-check" doesn't create a ton of sc_*.m files.
36860
36861 2010-02-14  Jim Meyering  <meyering@redhat.com>
36862
36863         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
36864         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
36865         (sc_prohibit_hash_pjw_without_use): New rule.
36866
36867         maint.mk: allow the default upload destination dir to be overridden
36868         * top/maint.mk (upload_dest_dir_): Define with a default that
36869         preserves the status quo.
36870         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
36871         Reported by Peter Simons.
36872
36873         maint.mk: prohibit inclusion of "hash.h" without_use
36874         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
36875
36876 2010-02-10  Jim Meyering  <meyering@redhat.com>
36877
36878         maint.mk: prohibit inclusion of "ignore-value.h" without_use
36879         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
36880
36881 2010-02-09  Eric Blake  <ebb9@byu.net>
36882         and Bruno Haible  <bruno@clisp.org>
36883
36884         obstack-printf-posix: ensure declaration
36885         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
36886         extracted from gl_FUNC_OBSTACK_PRINTF.
36887         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
36888         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
36889         Likewise.
36890         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
36891         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
36892         0.
36893
36894 2010-02-08  Bruno Haible  <bruno@clisp.org>
36895
36896         gnulib-tool: Fix typo in 2010-02-07 commit.
36897         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
36898         Reported by Eric Blake.
36899
36900 2010-02-07  Bruno Haible  <bruno@clisp.org>
36901
36902         gnulib-tool: Fix up caching patches.
36903         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
36904         option --no-cache. Use associative arrays when supported by the shell.
36905         (sed_comments): New variable.
36906         (modcache): Renamed from do_cache.
36907         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
36908         abbreviate unnecessarily.
36909         (have_associative): New variable.
36910         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
36911         way also for ksh and zsh.
36912         (func_init_sed_convert_to_cache_statements): New function, extracted
36913         from func_cache_lookup_module. Add support for associative arrays.
36914         Don't set the c_MODULE_cached variable here. Ignore all lines before
36915         the first field header. Remove only the final newline, not all trailing
36916         newlines. Support empty fields correctly. Limit the use of 'eval' to
36917         assignments.
36918         (func_get_description, func_get_status, func_get_notice,
36919         func_get_applicability, func_get_filelist, func_get_dependencies,
36920         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
36921         func_get_automake_snippet, func_get_include_directive,
36922         func_get_link_directive, func_get_license, func_get_maintainer):
36923         Update documentation. List the unoptimized code first. Add support for
36924         associative arrays. Limit the use of 'eval' to assignments.
36925         (func_get_applicability): Undo stylistic pessimisations.
36926         (func_get_automake_snippet, func_get_include_directive): Reduce code
36927         duplication.
36928         (func_modules_transitive_closure, func_modules_add_dummy,
36929         func_modules_notice, func_modules_to_filelist, func_add_file,
36930         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
36931         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
36932         func_create_testdir, func_create_megatestdir): Update documentation.
36933
36934 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36935
36936         * gnulib-tool (func_cache_lookup_module): Store the module name
36937         belonging to the cache variable; error out if two different
36938         module names map to the same cache variable name.
36939
36940 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36941
36942         gnulib-tool: Make caching optional.
36943         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
36944         Update matching short versions of --no-changelog.
36945         (func_usage): Update.
36946         (sed_extract_cache_prog): Renamed from ...
36947         (sed_extract_prog): ... this; revert to old extraction script.
36948         (func_get_description, func_get_status)
36949         (func_get_notice, func_get_applicability, func_get_filelist)
36950         (func_get_dependencies, func_get_autoconf_early_snippet)
36951         (func_get_autoconf_snippet, func_get_automake_snippet)
36952         (func_get_include_directive, func_get_link_directive)
36953         (func_get_license, func_get_maintainer): If $do_cache is false,
36954         use old, non-caching extraction scripts.
36955         Suggestion by Bruno Haible.
36956
36957 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36958
36959         gnulib-tool: cache module metainformation.
36960         * gnulib-tool (sed_extract_prog): Match newline before each
36961         header, and rewrite header to a shell variable suffix.
36962         (func_cache_var, func_cache_lookup_module): New functions,
36963         to turn a module name into a cache variable prefix, and to
36964         look up and cache module metainformation.
36965         (func_get_description, func_get_status)
36966         (func_get_notice, func_get_applicability, func_get_filelist)
36967         (func_get_dependencies, func_get_autoconf_early_snippet)
36968         (func_get_autoconf_snippet, func_get_automake_snippet)
36969         (func_get_include_directive, func_get_link_directive)
36970         (func_get_license, func_get_maintainer): Use
36971         func_cache_lookup_module.
36972
36973 2010-02-07  Bruno Haible  <bruno@clisp.org>
36974
36975         fnctl: Fix missing dependency.
36976         * modules/fcntl (Depends-on): Add getdtablesize.
36977         Reported by John W. Eaton <jwe@gnu.org>.
36978
36979 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
36980
36981         Argp: fix recognition of short alias options.
36982
36983         * lib/argp-parse.c (convert_options): Fix improper use of
36984         `|' between character values.
36985         * tests/test-argp.c (group1_option): New alias option
36986         --read (-r).
36987         (group1_parser): Special handling for 'r'.
36988         (test15): New test case.
36989         (test_fun): Add test15.
36990         * tests/test-argp-2.sh: Update expected --help and --usage
36991         outputs.
36992
36993 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
36994
36995         * tests/test-argp.c: Fix indentation.
36996
36997 2010-02-04  Eric Blake  <ebb9@byu.net>
36998
36999         gettimeofday: expose type of second argument
37000         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
37001         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
37002         * tests/test-gettimeofday.c: Use it to silence warning.
37003         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
37004         the issue.
37005
37006 2010-02-03  Jim Meyering  <meyering@redhat.com>
37007
37008         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
37009         * lib/regcomp.c (TYPE_SIGNED): Define.
37010         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
37011
37012         regcomp.c: avoid a new -Wshadow warning
37013         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
37014
37015 2010-02-01  Jim Meyering  <meyering@redhat.com>
37016
37017         removing useless parentheses in cpp #define directives
37018         For motivation, see commit c0221df4, "define STREQ(a,b)
37019         consistently, removing useless parentheses"
37020         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
37021         * lib/mountlist.c (MNT_IGNORE): Likewise.
37022         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
37023
37024 2010-02-01  Eric Blake  <ebb9@byu.net>
37025
37026         sys_time: use link-warning
37027         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
37028         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
37029         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
37030         * modules/sys_time (Depends-on): Add warn-on-use.
37031         (Makefile.am): Always build replacement.
37032         (configure.ac): Update substitutions.
37033         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
37034         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
37035         bother with SYS_TIME_H.
37036         * modules/gettimeofday (configure.ac): Declare indicator.
37037         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
37038         in use.
37039
37040         closein-tests: silence compiler warning
37041         * tests/test-closein.c (main): Ignore fread result.
37042         * modules/closein-tests (Depends-on): Add ignore-value.
37043
37044         tests: silence warning about system return
37045         * tests/test-areadlink-with-size.c (main): Ignore system result.
37046         * tests/test-areadlink.c (main): Likewise.
37047         * tests/test-areadlinkat-with-size.c (main): Likewise.
37048         * tests/test-areadlinkat.c (main): Likewise.
37049         * tests/test-canonicalize-lgpl.c (main): Likewise.
37050         * tests/test-canonicalize.c (main): Likewise.
37051         * tests/test-chown.c (main): Likewise.
37052         * tests/test-fchownat.c (main): Likewise.
37053         * tests/test-fdutimensat.c (main): Likewise.
37054         * tests/test-fstatat.c (main): Likewise.
37055         * tests/test-futimens.c (main): Likewise.
37056         * tests/test-lchown.c (main): Likewise.
37057         * tests/test-link.c (main): Likewise.
37058         * tests/test-linkat.c (main): Likewise.
37059         * tests/test-lstat.c (main): Likewise.
37060         * tests/test-mkdir.c (main): Likewise.
37061         * tests/test-mkdirat.c (main): Likewise.
37062         * tests/test-mkfifo.c (main): Likewise.
37063         * tests/test-mkfifoat.c (main): Likewise.
37064         * tests/test-mknod.c (main): Likewise.
37065         * tests/test-readlink.c (main): Likewise.
37066         * tests/test-remove.c (main): Likewise.
37067         * tests/test-rename.c (main): Likewise.
37068         * tests/test-renameat.c (main): Likewise.
37069         * tests/test-rmdir.c (main): Likewise.
37070         * tests/test-symlink.c (main): Likewise.
37071         * tests/test-symlinkat.c (main): Likewise.
37072         * tests/test-unlink.c (main): Likewise.
37073         * tests/test-unlinkat.c (main): Likewise.
37074         * tests/test-utimens.c (main): Likewise.
37075         * tests/test-utimensat.c (main): Likewise.
37076         * modules/areadlink-tests (Depends-on): Add ignore-value.
37077         * modules/areadlink-with-size-tests (Depends-on): Likewise.
37078         * modules/areadlinkat-tests (Depends-on): Likewise.
37079         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
37080         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37081         * modules/canonicalize-tests (Depends-on): Likewise.
37082         * modules/chown-tests (Depends-on): Likewise.
37083         * modules/fdutimensat-tests (Depends-on): Likewise.
37084         * modules/futimens-tests (Depends-on): Likewise.
37085         * modules/lchown-tests (Depends-on): Likewise.
37086         * modules/link-tests (Depends-on): Likewise.
37087         * modules/linkat-tests (Depends-on): Likewise.
37088         * modules/lstat-tests (Depends-on): Likewise.
37089         * modules/mkdir-tests (Depends-on): Likewise.
37090         * modules/mkfifo-tests (Depends-on): Likewise.
37091         * modules/mkfifoat-tests (Depends-on): Likewise.
37092         * modules/mknod-tests (Depends-on): Likewise.
37093         * modules/openat-tests (Depends-on): Likewise.
37094         * modules/readlink-tests (Depends-on): Likewise.
37095         * modules/remove-tests (Depends-on): Likewise.
37096         * modules/rename-tests (Depends-on): Likewise.
37097         * modules/renameat-tests (Depends-on): Likewise.
37098         * modules/rmdir-tests (Depends-on): Likewise.
37099         * modules/symlink-tests (Depends-on): Likewise.
37100         * modules/symlinkat-tests (Depends-on): Likewise.
37101         * modules/unlink-tests (Depends-on): Likewise.
37102         * modules/utimens-tests (Depends-on): Likewise.
37103         * modules/utimensat-tests (Depends-on): Likewise.
37104
37105 2010-01-31  Bruno Haible  <bruno@clisp.org>
37106
37107         Perform the same test for many <math.h> functions.
37108         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
37109         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
37110         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
37111         of gl_MATHFUNC.
37112         * modules/acos (configure.ac): Likewise.
37113         * modules/asin (configure.ac): Likewise.
37114         * modules/atan (configure.ac): Likewise.
37115         * modules/atan2 (configure.ac): Likewise.
37116         * modules/cbrt (configure.ac): Likewise.
37117         * modules/copysign (configure.ac): Likewise.
37118         * modules/cos (configure.ac): Likewise.
37119         * modules/cosh (configure.ac): Likewise.
37120         * modules/erf (configure.ac): Likewise.
37121         * modules/erfc (configure.ac): Likewise.
37122         * modules/exp (configure.ac): Likewise.
37123         * modules/fmod (configure.ac): Likewise.
37124         * modules/hypot (configure.ac): Likewise.
37125         * modules/j0 (configure.ac): Likewise.
37126         * modules/j1 (configure.ac): Likewise.
37127         * modules/jn (configure.ac): Likewise.
37128         * modules/lgamma (configure.ac): Likewise.
37129         * modules/log (configure.ac): Likewise.
37130         * modules/log10 (configure.ac): Likewise.
37131         * modules/log1p (configure.ac): Likewise.
37132         * modules/pow (configure.ac): Likewise.
37133         * modules/remainder (configure.ac): Likewise.
37134         * modules/sin (configure.ac): Likewise.
37135         * modules/sinh (configure.ac): Likewise.
37136         * modules/tan (configure.ac): Likewise.
37137         * modules/tanh (configure.ac): Likewise.
37138         * modules/y0 (configure.ac): Likewise.
37139         * modules/y1 (configure.ac): Likewise.
37140         * modules/yn (configure.ac): Likewise.
37141         Suggested by Paolo Bonzini.
37142
37143 2010-01-31  Bruno Haible  <bruno@clisp.org>
37144
37145         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
37146
37147 2010-01-31  Bruno Haible  <bruno@clisp.org>
37148
37149         Work around getdelim() bug on FreeBSD 8.0.
37150         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
37151         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
37152         not work.
37153         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
37154         is 1.
37155         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
37156         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
37157         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
37158         a non-zero size.
37159         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
37160
37161 2010-01-31  Bruno Haible  <bruno@clisp.org>
37162
37163         Work around getline() bug on FreeBSD 8.0.
37164         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
37165         and a non-zero size.
37166         * tests/test-getline.c (main): Likewise.
37167         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
37168         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
37169
37170 2010-01-28  Eric Blake  <ebb9@byu.net>
37171
37172         regex: fix build failure
37173         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
37174         platforms.
37175
37176 2010-01-28  Jim Meyering  <meyering@redhat.com>
37177
37178         regex: do not ignore memory allocation failure
37179         * lib/regex_internal.c (create_cd_newstate): Detect
37180         re_node_set_init_copy failure.   Extracted from glibc commit
37181         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37182
37183         regex: sync more white-space changes from libc
37184         * lib/regex_internal.c: White-space only changes.
37185         * lib/regexec.c: Likewise.
37186
37187         regex: add many uses of __attribute_warn_unused_result__
37188         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
37189         * lib/regexec.c: Likewise.
37190         Extracted from a messy glibc commit.
37191
37192         regcomp.c: spelling and merge-artifact from glibc
37193         * lib/regcomp.c: Merge remainder of glibc's
37194         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37195
37196         regcomp.c: sync white-space changes from glibc
37197         * lib/regcomp.c: Merge to accommodate white space
37198         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37199
37200         regcomp.c: do not ignore internal return values
37201         * lib/regcomp.c: Do not ignore internal return values.
37202         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
37203         but without its white-space changes and spelling fixes.
37204
37205         regex_internal.h: define __attribute_warn_unused_result__
37206         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
37207
37208         maint: add a syntax-check rule to check for vulnerable Makefile.in
37209         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
37210
37211 2010-01-27  Jim Meyering  <meyering@redhat.com>
37212
37213         ncftpput-ftp: clean up spaces
37214         * build-aux/ncftpput-ftp: Make Copyright line consistent.
37215         Remove trailing blanks.
37216
37217 2010-01-27  Simon Josefsson  <simon@josefsson.org>
37218
37219         * build-aux/git-version-gen: Fix copyright statement.
37220         * build-aux/gnupload: Likewise.
37221         * tests/test-arcfour.c: Likewise.
37222         * tests/test-arctwo.c: Likewise.
37223         * tests/test-count-one-bits.c: Likewise.
37224         * tests/test-crc.c: Likewise.
37225         * tests/test-des.c: Likewise.
37226         * tests/test-gc-arcfour.c: Likewise.
37227         * tests/test-gc-arctwo.c: Likewise.
37228         * tests/test-gc-des.c: Likewise.
37229         * tests/test-gc-hmac-md5.c: Likewise.
37230         * tests/test-gc-hmac-sha1.c: Likewise.
37231         * tests/test-gc-md2.c: Likewise.
37232         * tests/test-gc-md4.c: Likewise.
37233         * tests/test-gc-md5.c: Likewise.
37234         * tests/test-gc-pbkdf2-sha1.c: Likewise.
37235         * tests/test-gc-rijndael.c: Likewise.
37236         * tests/test-gc-sha1.c: Likewise.
37237         * tests/test-gc.c: Likewise.
37238         * tests/test-gethostname.c: Likewise.
37239         * tests/test-gettimeofday.c: Likewise.
37240         * tests/test-hash.c: Likewise.
37241         * tests/test-hmac-md5.c: Likewise.
37242         * tests/test-hmac-sha1.c: Likewise.
37243         * tests/test-md2.c: Likewise.
37244         * tests/test-md4.c: Likewise.
37245         * tests/test-md5.c: Likewise.
37246         * tests/test-memchr.c: Likewise.
37247         * tests/test-memchr2.c: Likewise.
37248         * tests/test-memcmp.c: Likewise.
37249         * tests/test-memmem.c: Likewise.
37250         * tests/test-memrchr.c: Likewise.
37251         * tests/test-rawmemchr.c: Likewise.
37252         * tests/test-read-file.c: Likewise.
37253         * tests/test-rijndael.c: Likewise.
37254         * tests/test-sockets.c: Likewise.
37255         * tests/test-strchrnul.c: Likewise.
37256         * tests/test-strstr.c: Likewise.
37257         * tests/test-strtod.c: Likewise.
37258         * build-aux/ncftpput-ftp: Likewise.
37259
37260 2010-01-26  Eric Blake  <ebb9@byu.net>
37261
37262         ignore-value: update recommended header name
37263         * modules/ignore-value (Include): Only use <> for headers that
37264         exist in glibc.
37265
37266 2010-01-26  Jim Meyering  <meyering@redhat.com>
37267
37268         test-userspec.c: avoid compiler warnings
37269         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
37270         and "initialization discards qualifiers..." warnings.
37271         Put the first "uid" in its own scope, and make char* members "const".
37272
37273 2010-01-25  Bruno Haible  <bruno@clisp.org>
37274
37275         gnulib-tool: Make warning diagnostics consistent.
37276         * gnulib-tool (func_warning): New function.
37277         Use it everywhere where gnulib-tool produces output to stderr and it is
37278         not a fatal error.
37279
37280 2010-01-25  Bruno Haible  <bruno@clisp.org>
37281
37282         Fix test dependencies.
37283         * modules/xstrtol-tests (Depends-on): Add inttypes.
37284         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
37285
37286 2010-01-25 Pádraig Brady <P@draigBrady.com>
37287
37288         syntax-check: detect incorrect boolean macro values in config.h
37289         * modules/maintainer-makefile (configure.ac): Parameterize the location
37290         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
37291         The logic is from Eric Blake and the location indicated by Jim Meyering.
37292         Note the more natural CONFIG_HEADER name is prohibited by automake
37293         for backwards compatibility reasons.
37294         * top/maint.mk (sc_Wundef_boolean): New rule.
37295
37296 2010-01-25  Jim Meyering  <meyering@redhat.com>
37297
37298         bootstrap: detect MacOS 10.6's shasum, too
37299         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
37300         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
37301
37302 2010-01-23  Jim Meyering  <meyering@redhat.com>
37303
37304         xstrtoll: new module
37305         * modules/xstrtoll: New file.
37306         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
37307         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
37308         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
37309         ./configure fails if you use this module and lack "long long".
37310         * modules/xstrtoll-tests: New module.
37311         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
37312         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
37313         new init.sh-based test framework.
37314
37315 2010-01-24  Bruno Haible  <bruno@clisp.org>
37316
37317         Tests for module 'yn'.
37318         * modules/yn-tests: New file.
37319         * tests/test-yn.c: New file.
37320
37321         Tests for module 'y1'.
37322         * modules/y1-tests: New file.
37323         * tests/test-y1.c: New file.
37324
37325         Tests for module 'y0'.
37326         * modules/y0-tests: New file.
37327         * tests/test-y0.c: New file.
37328
37329         Tests for module 'tanh'.
37330         * modules/tanh-tests: New file.
37331         * tests/test-tanh.c: New file.
37332
37333         Tests for module 'tan'.
37334         * modules/tan-tests: New file.
37335         * tests/test-tan.c: New file.
37336
37337         Tests for module 'sqrt'.
37338         * modules/sqrt-tests: New file.
37339         * tests/test-sqrt.c: New file.
37340
37341         Tests for module 'sinh'.
37342         * modules/sinh-tests: New file.
37343         * tests/test-sinh.c: New file.
37344
37345         Tests for module 'sin'.
37346         * modules/sin-tests: New file.
37347         * tests/test-sin.c: New file.
37348
37349         Tests for module 'rint'.
37350         * modules/rint-tests: New file.
37351         * tests/test-rint.c: New file.
37352
37353         Tests for module 'remainder'.
37354         * modules/remainder-tests: New file.
37355         * tests/test-remainder.c: New file.
37356
37357         Tests for module 'pow'.
37358         * modules/pow-tests: New file.
37359         * tests/test-pow.c: New file.
37360
37361         Tests for module 'nextafter'.
37362         * modules/nextafter-tests: New file.
37363         * tests/test-nextafter.c: New file.
37364
37365         Tests for module 'modf'.
37366         * modules/modf-tests: New file.
37367         * tests/test-modf.c: New file.
37368
37369         Tests for module 'logb'.
37370         * modules/logb-tests: New file.
37371         * tests/test-logb.c: New file.
37372
37373         Tests for module 'log1p'.
37374         * modules/log1p-tests: New file.
37375         * tests/test-log1p.c: New file.
37376
37377         Tests for module 'log10'.
37378         * modules/log10-tests: New file.
37379         * tests/test-log10.c: New file.
37380
37381         Tests for module 'log'.
37382         * modules/log-tests: New file.
37383         * tests/test-log.c: New file.
37384
37385         Tests for module 'lgamma'.
37386         * modules/lgamma-tests: New file.
37387         * tests/test-lgamma.c: New file.
37388
37389         Tests for module 'ldexp'.
37390         * modules/ldexp-tests: New file.
37391         * tests/test-ldexp.c: New file.
37392
37393         Tests for module 'jn'.
37394         * modules/jn-tests: New file.
37395         * tests/test-jn.c: New file.
37396
37397         Tests for module 'j1'.
37398         * modules/j1-tests: New file.
37399         * tests/test-j1.c: New file.
37400
37401         Tests for module 'j0'.
37402         * modules/j0-tests: New file.
37403         * tests/test-j0.c: New file.
37404
37405         Tests for module 'hypot'.
37406         * modules/hypot-tests: New file.
37407         * tests/test-hypot.c: New file.
37408
37409         Tests for module 'fmod'.
37410         * modules/fmod-tests: New file.
37411         * tests/test-fmod.c: New file.
37412
37413         Tests for module 'fabs'.
37414         * modules/fabs-tests: New file.
37415         * tests/test-fabs.c: New file.
37416
37417         Tests for module 'exp'.
37418         * modules/exp-tests: New file.
37419         * tests/test-exp.c: New file.
37420
37421         Tests for module 'erfc'.
37422         * modules/erfc-tests: New file.
37423         * tests/test-erfc.c: New file.
37424
37425         Tests for module 'erf'.
37426         * modules/erf-tests: New file.
37427         * tests/test-erf.c: New file.
37428
37429         Tests for module 'cosh'.
37430         * modules/cosh-tests: New file.
37431         * tests/test-cosh.c: New file.
37432
37433         Tests for module 'cos'.
37434         * modules/cos-tests: New file.
37435         * tests/test-cos.c: New file.
37436
37437         Tests for module 'copysign'.
37438         * modules/copysign-tests: New file.
37439         * tests/test-copysign.c: New file.
37440
37441         Tests for module 'cbrt'.
37442         * modules/cbrt-tests: New file.
37443         * tests/test-cbrt.c: New file.
37444
37445         Tests for module 'atan2'.
37446         * modules/atan2-tests: New file.
37447         * tests/test-atan2.c: New file.
37448
37449         Tests for module 'atan'.
37450         * modules/atan-tests: New file.
37451         * tests/test-atan.c: New file.
37452
37453         Tests for module 'asin'.
37454         * modules/asin-tests: New file.
37455         * tests/test-asin.c: New file.
37456
37457         Tests for module 'acos'.
37458         * modules/acos-tests: New file.
37459         * tests/test-acos.c: New file.
37460
37461 2010-01-24  Bruno Haible  <bruno@clisp.org>
37462
37463         Fix tests for common <math.h> functions.
37464         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
37465         code snippet that references the function pointer, rather than merely
37466         calling the function. Substitute the FUNC_LIBM variable.
37467         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
37468         * modules/acos (configure.ac): Likewise.
37469         * modules/asin (configure.ac): Likewise.
37470         * modules/atan (configure.ac): Likewise.
37471         * modules/atan2 (configure.ac): Likewise.
37472         * modules/cbrt (configure.ac): Likewise.
37473         * modules/copysign (configure.ac): Likewise.
37474         * modules/cos (configure.ac): Likewise.
37475         * modules/cosh (configure.ac): Likewise.
37476         * modules/erf (configure.ac): Likewise.
37477         * modules/erfc (configure.ac): Likewise.
37478         * modules/exp (configure.ac): Likewise.
37479         * modules/fabs (configure.ac): Likewise.
37480         * modules/fmod (configure.ac): Likewise.
37481         * modules/hypot (configure.ac): Likewise.
37482         * modules/j0 (configure.ac): Likewise.
37483         * modules/j1 (configure.ac): Likewise.
37484         * modules/jn (configure.ac): Likewise.
37485         * modules/ldexp (configure.ac): Likewise.
37486         * modules/lgamma (configure.ac): Likewise.
37487         * modules/log (configure.ac): Likewise.
37488         * modules/log10 (configure.ac): Likewise.
37489         * modules/log1p (configure.ac): Likewise.
37490         * modules/logb (configure.ac): Likewise.
37491         * modules/modf (configure.ac): Likewise.
37492         * modules/nextafter (configure.ac): Likewise.
37493         * modules/pow (configure.ac): Likewise.
37494         * modules/remainder (configure.ac): Likewise.
37495         * modules/rint (configure.ac): Likewise.
37496         * modules/sin (configure.ac): Likewise.
37497         * modules/sinh (configure.ac): Likewise.
37498         * modules/tan (configure.ac): Likewise.
37499         * modules/tanh (configure.ac): Likewise.
37500         * modules/y0 (configure.ac): Likewise.
37501         * modules/y1 (configure.ac): Likewise.
37502         * modules/yn (configure.ac): Likewise.
37503
37504 2010-01-24  Bruno Haible  <bruno@clisp.org>
37505
37506         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
37507         * tests/test-acosl.c (x): New variable.
37508         (main): Store argument in x and fetch it from x.
37509         * tests/test-asinl.c (x): New variable.
37510         (main): Store argument in x and fetch it from x.
37511         * tests/test-atanl.c (x): New variable.
37512         (main): Store argument in x and fetch it from x.
37513         * tests/test-cosl.c (x): New variable.
37514         (main): Store argument in x and fetch it from x.
37515         * tests/test-expl.c (x): New variable.
37516         (main): Store argument in x and fetch it from x.
37517         * tests/test-logl.c (x): New variable.
37518         (main): Store argument in x and fetch it from x.
37519         * tests/test-sinl.c (x): New variable.
37520         (main): Store argument in x and fetch it from x.
37521         * tests/test-sqrtl.c (x): New variable.
37522         (main): Store argument in x and fetch it from x.
37523         * tests/test-tanl.c (x): New variable.
37524         (main): Store argument in x and fetch it from x.
37525
37526 2010-01-24  Bruno Haible  <bruno@clisp.org>
37527
37528         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
37529         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
37530         assignments to the initial TESTS_ENVIRONMENT.
37531         * doc/gnulib.texi (Unit test modules): Document it.
37532         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
37533         TESTS_ENVIRONMENT.
37534         * modules/btowc-tests (Makefile.am): Likewise.
37535         * modules/c-stack-tests (Makefile.am): Likewise.
37536         * modules/c-strcase-tests (Makefile.am): Likewise.
37537         * modules/copy-file-tests (Makefile.am): Likewise.
37538         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
37539         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
37540         * modules/mbrtowc-tests (Makefile.am): Likewise.
37541         * modules/mbscasecmp-tests (Makefile.am): Likewise.
37542         * modules/mbscasestr-tests (Makefile.am): Likewise.
37543         * modules/mbschr-tests (Makefile.am): Likewise.
37544         * modules/mbscspn-tests (Makefile.am): Likewise.
37545         * modules/mbsinit-tests (Makefile.am): Likewise.
37546         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
37547         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
37548         * modules/mbspbrk-tests (Makefile.am): Likewise.
37549         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
37550         * modules/mbsrchr-tests (Makefile.am): Likewise.
37551         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
37552         * modules/mbsspn-tests (Makefile.am): Likewise.
37553         * modules/mbsstr-tests (Makefile.am): Likewise.
37554         * modules/nl_langinfo-tests (Makefile.am): Likewise.
37555         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
37556         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
37557         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
37558         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
37559         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
37560         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
37561         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
37562         * modules/wcrtomb-tests (Makefile.am): Likewise.
37563         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
37564         * modules/wcsrtombs-tests (Makefile.am): Likewise.
37565         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
37566         assignments from TESTS_ENVIRONMENT.
37567         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
37568         augmentation.
37569         * modules/argp-version-etc-tests (Makefile.am): Likewise.
37570         * modules/atexit-tests (Makefile.am): Likewise.
37571         * modules/binary-io-tests (Makefile.am): Likewise.
37572         * modules/closein-tests (Makefile.am): Likewise.
37573         * modules/dprintf-posix-tests (Makefile.am): Likewise.
37574         * modules/exclude-tests (Makefile.am): Likewise.
37575         * modules/fflush-tests (Makefile.am): Likewise.
37576         * modules/fpending-tests (Makefile.am): Likewise.
37577         * modules/fprintf-posix-tests (Makefile.am): Likewise.
37578         * modules/freadahead-tests (Makefile.am): Likewise.
37579         * modules/freadptr-tests (Makefile.am): Likewise.
37580         * modules/freadseek-tests (Makefile.am): Likewise.
37581         * modules/fseek-tests (Makefile.am): Likewise.
37582         * modules/fseeko-tests (Makefile.am): Likewise.
37583         * modules/ftell-tests (Makefile.am): Likewise.
37584         * modules/ftello-tests (Makefile.am): Likewise.
37585         * modules/idpriv-drop-tests (Makefile.am): Likewise.
37586         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
37587         * modules/lseek-tests (Makefile.am): Likewise.
37588         * modules/parse-duration-tests (Makefile.am): Likewise.
37589         * modules/perror-tests (Makefile.am): Likewise.
37590         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
37591         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
37592         * modules/pipe-tests (Makefile.am): Likewise.
37593         * modules/pread-tests (Makefile.am): Likewise.
37594         * modules/printf-posix-tests (Makefile.am): Likewise.
37595         * modules/select-tests (Makefile.am): Likewise.
37596         * modules/sigpipe-tests (Makefile.am): Likewise.
37597         * modules/tsearch-tests (Makefile.am): Likewise.
37598         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
37599         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
37600         * modules/uniname/uniname-tests (Makefile.am): Likewise.
37601         * modules/uniwidth/width-tests (Makefile.am): Likewise.
37602         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
37603         * modules/version-etc-tests (Makefile.am): Likewise.
37604         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
37605         * modules/vprintf-posix-tests (Makefile.am): Likewise.
37606         * modules/xalloc-die-tests (Makefile.am): Likewise.
37607         * modules/xprintf-posix-tests (Makefile.am): Likewise.
37608         * modules/xstrtoimax-tests (Makefile.am): Likewise.
37609         * modules/xstrtol-tests (Makefile.am): Likewise.
37610         * modules/xstrtoumax-tests (Makefile.am): Likewise.
37611         * modules/yesno-tests (Makefile.am): Likewise.
37612         Suggested by Jim Meyering.
37613
37614 2010-01-24  Bruno Haible  <bruno@clisp.org>
37615
37616         More documentation.
37617         * doc/gnulib.texi (Writing modules): New chapter.
37618         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
37619         the new chapter.
37620
37621 2010-01-24  Jim Meyering  <meyering@redhat.com>
37622
37623         maint.mk: do not prepend "./" after filtering
37624         * top/maint.mk (_prepend_srcdir_prefix): New variable
37625         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
37626         "./" when $(srcdir) is ".".
37627
37628         define STREQ(a,b) consistently, removing useless parentheses
37629         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
37630         since the only risk is that "a" or "b" contains an unparenthesized
37631         comma, but if either did that, STREQ would have 3 or more arguments.
37632         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
37633         * lib/fts.c (STREQ): Remove unnecessary parentheses.
37634         * lib/hash-triple.c (STREQ): Likewise.
37635         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
37636         * lib/getugroups.c (STREQ): Likewise.
37637
37638 2010-01-23  Jim Meyering  <meyering@redhat.com>
37639
37640         maint.mk: fix syntax-check in a non-srcdir build directory
37641         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
37642         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
37643
37644 2010-01-22  Jim Meyering  <meyering@redhat.com>
37645
37646         userspec: add unit tests
37647         * tests/test-userspec.c: New file.
37648         * modules/userspec-tests: Likewise.
37649
37650 2010-01-21  Jim Meyering  <meyering@redhat.com>
37651
37652         maint.mk: handle source file names containing "." robustly
37653         * top/maint.mk (_dot_escaped_srcdir): Define.
37654         (VC_LIST): Use it in LHS of sed substitution.
37655
37656 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
37657
37658         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
37659         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
37660         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
37661         from a non-srcdir build.
37662
37663 2010-01-20  Eric Blake  <ebb9@byu.net>
37664
37665         warn-on-use: use instead of link-warning
37666         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
37667         * modules/unistd (Depends-on, Makefile.am): Likewise.
37668         * modules/arpa_inet (Depends-on): Replace link-warning with
37669         warn-on-use.
37670         (Makefile.am): Update rules accordingly.
37671         * modules/ctype (Depends-on, Makefile.am): Likewise.
37672         * modules/dirent (Depends-on, Makefile.am): Likewise.
37673         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
37674         * modules/inttypes (Depends-on, Makefile.am): Likewise.
37675         * modules/langinfo (Depends-on, Makefile.am): Likewise.
37676         * modules/locale (Depends-on, Makefile.am): Likewise.
37677         * modules/math (Depends-on, Makefile.am): Likewise.
37678         * modules/search (Depends-on, Makefile.am): Likewise.
37679         * modules/signal (Depends-on, Makefile.am): Likewise.
37680         * modules/spawn (Depends-on, Makefile.am): Likewise.
37681         * modules/stdlib (Depends-on, Makefile.am): Likewise.
37682         * modules/string (Depends-on, Makefile.am): Likewise.
37683         * modules/strings (Depends-on, Makefile.am): Likewise.
37684         * modules/sys_file (Depends-on, Makefile.am): Likewise.
37685         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
37686         * modules/sys_select (Depends-on, Makefile.am): Likewise.
37687         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
37688         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
37689         * modules/sys_times (Depends-on, Makefile.am): Likewise.
37690         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
37691         * modules/wchar (Depends-on, Makefile.am): Likewise.
37692         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
37693         should be poisoned.
37694         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
37695         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
37696         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
37697         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
37698         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
37699         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
37700         * m4/math_h.m4 (gl_MATH_H): Likewise.
37701         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
37702         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
37703         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
37704         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
37705         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
37706         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
37707         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
37708         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
37709         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
37710         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37711         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
37712         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
37713         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
37714         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
37715         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
37716         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37717         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
37718         GL_LINK_WARNING.
37719         * lib/ctype.in.h: Likewise.
37720         * lib/dirent.in.h: Likewise.
37721         * lib/fcntl.in.h: Likewise.
37722         * lib/inttypes.in.h: Likewise.
37723         * lib/langinfo.in.h: Likewise.
37724         * lib/locale.in.h: Likewise.
37725         * lib/math.in.h: Likewise.
37726         * lib/search.in.h: Likewise.
37727         * lib/signal.in.h: Likewise.
37728         * lib/spawn.in.h: Likewise.
37729         * lib/stdio.in.h: Likewise.
37730         * lib/stdlib.in.h: Likewise.
37731         * lib/string.in.h: Likewise.
37732         * lib/strings.in.h: Likewise.
37733         * lib/sys_file.in.h: Likewise.
37734         * lib/sys_ioctl.in.h: Likewise.
37735         * lib/sys_select.in.h: Likewise.
37736         * lib/sys_socket.in.h: Likewise.
37737         * lib/sys_stat.in.h: Likewise.
37738         * lib/sys_times.in.h: Likewise.
37739         * lib/sys_utsname.in.h: Likewise.
37740         * lib/unistd.in.h: Likewise.
37741         * lib/wchar.in.h: Likewise.
37742
37743 2010-01-20  Bruno Haible  <bruno@clisp.org>
37744
37745         Avoid duplicate -lm.
37746         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
37747         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
37748         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
37749         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
37750         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
37751         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
37752         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
37753         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
37754         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
37755         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
37756         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
37757         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
37758         Reported by Paolo Bonzini.
37759
37760 2010-01-19  Bruno Haible  <bruno@clisp.org>
37761
37762         langinfo, nl_langinfo: Relicense under LGPLv2+.
37763         * modules/langinfo (License): Change to LGPLv2+.
37764         * modules/nl_langinfo (License): Likewise.
37765         Patch by David Lutterkort <lutter@redhat.com>.
37766
37767 2010-01-19  Bruno Haible  <bruno@clisp.org>
37768
37769         Avoid compilation error with cc on OSF/1 5.1.
37770         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
37771         statement, not before.
37772         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37773
37774 2010-01-18  Bruno Haible  <bruno@clisp.org>
37775
37776         Avoid a link error due to the __printf__ symbol.
37777         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
37778         and 2.6.x.
37779         (__format__, __printf__): Remove definitions.
37780         * lib/argp-fmtstream.h: Likewise.
37781         * lib/argp.h: Likewise.
37782         * lib/error.h: Likewise.
37783         * lib/vasnprintf.h: Likewise.
37784         * lib/xprintf.h: Likewise.
37785         * lib/xvasprintf.h: Likewise.
37786         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37787
37788 2010-01-18  Bruno Haible  <bruno@clisp.org>
37789
37790         Tests for module 'tanl'.
37791         * modules/tanl-tests: New file.
37792         * tests/test-tanl.c: New file.
37793
37794         Tests for module 'sqrtl'.
37795         * modules/sqrtl-tests: New file.
37796         * tests/test-sqrtl.c: New file.
37797
37798         Tests for module 'sinl'.
37799         * modules/sinl-tests: New file.
37800         * tests/test-sinl.c: New file.
37801
37802         Tests for module 'logl'.
37803         * modules/logl-tests: New file.
37804         * tests/test-logl.c: New file.
37805
37806         Tests for module 'expl'.
37807         * modules/expl-tests: New file.
37808         * tests/test-expl.c: New file.
37809
37810         Tests for module 'cosl'.
37811         * modules/cosl-tests: New file.
37812         * tests/test-cosl.c: New file.
37813
37814         Tests for module 'atanl'.
37815         * modules/atanl-tests: New file.
37816         * tests/test-atanl.c: New file.
37817
37818         Tests for module 'asinl'.
37819         * modules/asinl-tests: New file.
37820         * tests/test-asinl.c: New file.
37821
37822         Tests for module 'acosl'.
37823         * modules/acosl-tests: New file.
37824         * tests/test-acosl.c: New file.
37825
37826         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
37827         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
37828         tanl): Use the standard gnulib idiom.
37829         * lib/cosl.c: Don't include trigl.c and sincosl.c.
37830         * lib/sinl.c: Likewise.
37831         * lib/tanl.c: Don't include trigl.c.
37832         (kernel_tanl): Make static.
37833         * lib/sincosl.c: Include trigl.h first.
37834         * lib/trigl.c: Likewise.
37835         * m4/acosl.m4: New file.
37836         * m4/asinl.m4: New file.
37837         * m4/atanl.m4: New file.
37838         * m4/cosl.m4: New file.
37839         * m4/expl.m4: New file.
37840         * m4/logl.m4: New file.
37841         * m4/sinl.m4: New file.
37842         * m4/sqrtl.m4: New file.
37843         * m4/tanl.m4: New file.
37844         * m4/mathl.m4: Remove file.
37845         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
37846         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
37847         Don't initialize GNULIB_MATHL.
37848         * modules/acosl: New file.
37849         * modules/asinl: New file.
37850         * modules/atanl: New file.
37851         * modules/cosl: New file.
37852         * modules/expl: New file.
37853         * modules/logl: New file.
37854         * modules/sinl: New file.
37855         * modules/sqrtl: New file.
37856         * modules/tanl: New file.
37857         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
37858         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
37859         substitute GNULIB_MATHL.
37860         * modules/mathl: Rewritten.
37861         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
37862         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
37863         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
37864         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
37865         * doc/posix-functions/expl.texi: Mention the 'expl' module.
37866         * doc/posix-functions/logl.texi: Mention the 'logl' module.
37867         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
37868         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
37869         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
37870
37871 2010-01-18  Bruno Haible  <bruno@clisp.org>
37872
37873         sqrt: Make gl_FUNC_SQRT requirable.
37874         * m4/sqrt.m4: New file.
37875         * modules/sqrt (Files): Add it.
37876         (configure.ac): Invoke gl_FUNC_SQRT.
37877
37878 2010-01-18  Bruno Haible  <bruno@clisp.org>
37879
37880         New modules for common <math.h> functions.
37881         * m4/mathfunc.m4: New file.
37882         * modules/acos: New file.
37883         * modules/asin: New file.
37884         * modules/atan: New file.
37885         * modules/atan2: New file.
37886         * modules/cbrt: New file.
37887         * modules/copysign: New file.
37888         * modules/cos: New file.
37889         * modules/cosh: New file.
37890         * modules/erf: New file.
37891         * modules/erfc: New file.
37892         * modules/exp: New file.
37893         * modules/fabs: New file.
37894         * modules/fmod: New file.
37895         * modules/hypot: New file.
37896         * modules/j0: New file.
37897         * modules/j1: New file.
37898         * modules/jn: New file.
37899         * modules/ldexp: New file.
37900         * modules/lgamma: New file.
37901         * modules/log: New file.
37902         * modules/log10: New file.
37903         * modules/log1p: New file.
37904         * modules/logb: New file.
37905         * modules/modf: New file.
37906         * modules/nextafter: New file.
37907         * modules/pow: New file.
37908         * modules/remainder: New file.
37909         * modules/rint: New file.
37910         * modules/sin: New file.
37911         * modules/sinh: New file.
37912         * modules/sqrt: New file.
37913         * modules/tan: New file.
37914         * modules/tanh: New file.
37915         * modules/y0: New file.
37916         * modules/y1: New file.
37917         * modules/yn: New file.
37918         * doc/posix-functions/acos.texi: Mention the 'acos' module.
37919         * doc/posix-functions/asin.texi: Mention the 'asin' module.
37920         * doc/posix-functions/atan.texi: Mention the 'atan' module.
37921         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
37922         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
37923         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
37924         * doc/posix-functions/cos.texi: Mention the 'cos' module.
37925         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
37926         * doc/posix-functions/erf.texi: Mention the 'erf' module.
37927         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
37928         * doc/posix-functions/exp.texi: Mention the 'exp' module.
37929         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
37930         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
37931         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
37932         * doc/posix-functions/j0.texi: Mention the 'j0' module.
37933         * doc/posix-functions/j1.texi: Mention the 'j1' module.
37934         * doc/posix-functions/jn.texi: Mention the 'jn' module.
37935         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
37936         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
37937         * doc/posix-functions/log.texi: Mention the 'log' module.
37938         * doc/posix-functions/log10.texi: Mention the 'log10' module.
37939         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
37940         * doc/posix-functions/logb.texi: Mention the 'logb' module.
37941         * doc/posix-functions/modf.texi: Mention the 'modf' module.
37942         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
37943         * doc/posix-functions/pow.texi: Mention the 'pow' module.
37944         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
37945         * doc/posix-functions/rint.texi: Mention the 'rint' module.
37946         * doc/posix-functions/sin.texi: Mention the 'sin' module.
37947         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
37948         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
37949         * doc/posix-functions/tan.texi: Mention the 'tan' module.
37950         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
37951         * doc/posix-functions/y0.texi: Mention the 'y0' module.
37952         * doc/posix-functions/y1.texi: Mention the 'y1' module.
37953         * doc/posix-functions/yn.texi: Mention the 'yn' module.
37954
37955 2010-01-18  Jim Meyering  <meyering@redhat.com>
37956
37957         ignore-value: relax license to LGPLv2+
37958         * modules/ignore-value (License): Relax to LGPLv2+.
37959
37960         getdate: don't leak when TZ contains two or more '"'s
37961         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
37962         double quote in TZ after the first one.
37963
37964         readtokens: do not leak internal token_lengths buffer
37965         * lib/readtokens.c (readtokens): Free the local, lengths,
37966         when the supplied "token_lengths" parameter is NULL.
37967
37968 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37969
37970         Fix a couple of missing LIBTHREAD link failures on AIX.
37971         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
37972         $(LIBTHREAD).
37973         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
37974
37975         Link test-poll against INET_PTON_LIB.
37976         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
37977         for inet_pton on Solaris 10.
37978
37979 2010-01-17  Bruno Haible  <bruno@clisp.org>
37980
37981         unistdio/*-sprintf: Fix typo in module description.
37982         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
37983         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
37984         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
37985         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
37986         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
37987         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
37988         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
37989         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37990
37991 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37992
37993         gnulib-tool: fix filelist for AIX, HP-UX ksh.
37994         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
37995         variables in shell case patterns, for AIX and HP-UX ksh.
37996
37997         Split large sed scripts, for HP-UX sed.
37998         * modules/stdio: Split sed scripts around 50 sed commands,
37999         to avoid HP-UX limit of 99 commands, in the near future.
38000         * modules/string: Likewise.
38001         * modules/unistd: Likewise.
38002
38003         gnulib-tool: avoid writing in the current directory.
38004         * gnulib-tool (func_emit_lib_Makefile_am)
38005         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
38006         not in the current directory, so concurrent gnulib-tool
38007         instances do not interfere.
38008
38009 2010-01-16  Jim Meyering  <meyering@redhat.com>
38010
38011         doc: update users.txt
38012         * users.txt: Add grep.
38013         (diffutils, gzip): Update URLs.
38014
38015 2010-01-12  Bruno Haible  <bruno@clisp.org>
38016
38017         posix_spawn: Avoid test failure on Cygwin.
38018         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
38019         characters.
38020         Reported by Simon Josefsson.
38021
38022 2010-01-12  Bruno Haible  <bruno@clisp.org>
38023
38024         * tests/test-cond.c (main): When skipping the test, show the reason.
38025
38026 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38027
38028         * lib/striconv.c (str_cd_iconv): Avoid if before free.
38029
38030 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38031
38032         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
38033         VC_LIST_ALWAYS_EXCLUDE_REGEX.
38034
38035 2010-01-12  Eric Blake  <ebb9@byu.net>
38036
38037         build: guarantee AS_VAR_IF
38038         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
38039         (gl_AS_VAR_IF): Move...
38040         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
38041         Reported by Simon Josefsson.
38042
38043 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38044
38045         * lib/stdio.in.h: Fix typo.
38046
38047 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38048
38049         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
38050         libgpg-error.
38051
38052 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38053
38054         * tests/test-xalloc-die.sh: Use $EXEEXT.
38055
38056 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38057             Bruno Haible  <bruno@clisp.org>
38058
38059         getlogin, getlogin_r: Avoid test failure.
38060         * tests/test-getlogin.c: Include <stdio.h>.
38061         (main): Skip the test when the function fails because stdin is not a
38062         tty.
38063         * tests/test-getlogin_r.c: Include <stdio.h>.
38064         (main): Skip the test when the function fails because stdin is not a
38065         tty.
38066
38067 2010-01-11  Eric Blake  <ebb9@byu.net>
38068
38069         tests: avoid more large file warnings
38070         * tests/test-fflush.c: Avoid warning about ftell use.
38071         * tests/test-fseek.c: Avoid warning about fseek use.
38072
38073 2010-01-10  Bruno Haible  <bruno@clisp.org>
38074
38075         nproc: Work better on Linux when /proc and /sys are not mounted.
38076         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
38077         as lower bound when, on glibc/Linux systems,
38078         sysconf (_SC_NPROCESSORS_CONF) returns 1.
38079         Suggested by Pádraig Brady <P@draigbrady.com>.
38080         Reported by Dmitry V. Levin <ldv@altlinux.org>.
38081
38082         nproc: Refactor.
38083         * lib/nproc.c (num_processors_via_affinity_mask): New function,
38084         extracted from num_processors.
38085         (num_processors): Call it.
38086
38087 2010-01-11  Jim Meyering  <meyering@redhat.com>
38088
38089         utimecmp: avoid new warning from upcoming gcc-4.5.0
38090         * lib/utimecmp.c (BILLION): Define using #define rather than an
38091         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
38092
38093 2010-01-11  Eric Blake  <ebb9@byu.net>
38094
38095         math: add portability warnings for classification macros
38096         * modules/math (Depends-on): Add warn-on-use.
38097         (Makefile.am): Provide new substitutions.
38098         * m4/math_h.m4 (gl_MATH_H): Require inline.
38099         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
38100         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
38101         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
38102         implement warnings.
38103
38104         unistd: warn on use of environ without module
38105         * modules/unistd (Depends-on): Add warn-on-use.
38106         (Makefile.am): Provide new substitutions.
38107         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
38108         * lib/unistd.in.h (environ): Wrap with a warning helper function.
38109
38110         stdio: warn on suspicious uses
38111         * modules/stdio (Depends-on): Add warn-on-use.
38112         (Makefile.am): Provide new substitutions.
38113         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
38114         fseeko.
38115         * lib/stdio.in.h (gets): Always warn on use.
38116         (fseek, ftell): Adjust when warnings are issued, and honor
38117         _GL_NO_LARGE_FILES as a way to silence the warning.
38118         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
38119         any warning about large file offsets.
38120         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
38121         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
38122         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
38123         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
38124         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
38125         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
38126         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
38127         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
38128
38129         warn-on-use: new module
38130         * modules/warn-on-use: New file.
38131         * build-aux/warn-on-use.h: Likewise.
38132         * m4/warn-on-use.m4: Likewise.
38133         * MODULES.html.sh (Support for building): Mention it.
38134
38135 2010-01-10  Bruno Haible  <bruno@clisp.org>
38136
38137         Tests for module 'unistr/u32-strdup'.
38138         * modules/unistr/u32-strdup-tests: New file.
38139         * tests/unistr/test-u32-strdup.c: New file.
38140
38141         Tests for module 'unistr/u16-strdup'.
38142         * modules/unistr/u16-strdup-tests: New file.
38143         * tests/unistr/test-u16-strdup.c: New file.
38144
38145         Tests for module 'unistr/u8-strdup'.
38146         * modules/unistr/u8-strdup-tests: New file.
38147         * tests/unistr/test-u8-strdup.c: New file.
38148         * tests/unistr/test-strdup.h: New file.
38149
38150         Tests for module 'unistr/u32-strncmp'.
38151         * modules/unistr/u32-strncmp-tests: New file.
38152         * tests/unistr/test-u32-strncmp.c: New file.
38153
38154         Tests for module 'unistr/u16-strncmp'.
38155         * modules/unistr/u16-strncmp-tests: New file.
38156         * tests/unistr/test-u16-strncmp.c: New file.
38157
38158         Tests for module 'unistr/u8-strncmp'.
38159         * modules/unistr/u8-strncmp-tests: New file.
38160         * tests/unistr/test-u8-strncmp.c: New file.
38161         * tests/unistr/test-strncmp.h: New file.
38162
38163         Tests for module 'unistr/u32-strcoll'.
38164         * modules/unistr/u32-strcoll-tests: New file.
38165         * tests/unistr/test-u32-strcoll.c: New file.
38166
38167         Tests for module 'unistr/u16-strcoll'.
38168         * modules/unistr/u16-strcoll-tests: New file.
38169         * tests/unistr/test-u16-strcoll.c: New file.
38170
38171         Tests for module 'unistr/u8-strcoll'.
38172         * modules/unistr/u8-strcoll-tests: New file.
38173         * tests/unistr/test-u8-strcoll.c: New file.
38174
38175         Tests for module 'unistr/u32-strcmp'.
38176         * modules/unistr/u32-strcmp-tests: New file.
38177         * tests/unistr/test-u32-strcmp.c: New file.
38178         * tests/unistr/test-u32-strcmp.h: New file.
38179
38180         Tests for module 'unistr/u16-strcmp'.
38181         * modules/unistr/u16-strcmp-tests: New file.
38182         * tests/unistr/test-u16-strcmp.c: New file.
38183         * tests/unistr/test-u16-strcmp.h: New file.
38184
38185         Tests for module 'unistr/u8-strcmp'.
38186         * modules/unistr/u8-strcmp-tests: New file.
38187         * tests/unistr/test-u8-strcmp.c: New file.
38188         * tests/unistr/test-u8-strcmp.h: New file.
38189         * tests/unistr/test-strcmp.h: New file.
38190
38191         Tests for module 'unistr/u32-strncat'.
38192         * modules/unistr/u32-strncat-tests: New file.
38193         * tests/unistr/test-u32-strncat.c: New file.
38194
38195         Tests for module 'unistr/u16-strncat'.
38196         * modules/unistr/u16-strncat-tests: New file.
38197         * tests/unistr/test-u16-strncat.c: New file.
38198
38199         Tests for module 'unistr/u8-strncat'.
38200         * modules/unistr/u8-strncat-tests: New file.
38201         * tests/unistr/test-u8-strncat.c: New file.
38202         * tests/unistr/test-strncat.h: New file.
38203
38204         Tests for module 'unistr/u32-strcat'.
38205         * modules/unistr/u32-strcat-tests: New file.
38206         * tests/unistr/test-u32-strcat.c: New file.
38207
38208         Tests for module 'unistr/u16-strcat'.
38209         * modules/unistr/u16-strcat-tests: New file.
38210         * tests/unistr/test-u16-strcat.c: New file.
38211
38212         Tests for module 'unistr/u8-strcat'.
38213         * modules/unistr/u8-strcat-tests: New file.
38214         * tests/unistr/test-u8-strcat.c: New file.
38215         * tests/unistr/test-strcat.h: New file.
38216
38217         Tests for module 'unistr/u32-stpncpy'.
38218         * modules/unistr/u32-stpncpy-tests: New file.
38219         * tests/unistr/test-u32-stpncpy.c: New file.
38220
38221         Tests for module 'unistr/u16-stpncpy'.
38222         * modules/unistr/u16-stpncpy-tests: New file.
38223         * tests/unistr/test-u16-stpncpy.c: New file.
38224
38225         Tests for module 'unistr/u8-stpncpy'.
38226         * modules/unistr/u8-stpncpy-tests: New file.
38227         * tests/unistr/test-u8-stpncpy.c: New file.
38228         * tests/unistr/test-stpncpy.h: New file.
38229
38230         Tests for module 'unistr/u32-strncpy'.
38231         * modules/unistr/u32-strncpy-tests: New file.
38232         * tests/unistr/test-u32-strncpy.c: New file.
38233
38234         Tests for module 'unistr/u16-strncpy'.
38235         * modules/unistr/u16-strncpy-tests: New file.
38236         * tests/unistr/test-u16-strncpy.c: New file.
38237
38238         Tests for module 'unistr/u8-strncpy'.
38239         * modules/unistr/u8-strncpy-tests: New file.
38240         * tests/unistr/test-u8-strncpy.c: New file.
38241         * tests/unistr/test-strncpy.h: New file.
38242
38243         Tests for module 'unistr/u32-stpcpy'.
38244         * modules/unistr/u32-stpcpy-tests: New file.
38245         * tests/unistr/test-u32-stpcpy.c: New file.
38246
38247         Tests for module 'unistr/u16-stpcpy'.
38248         * modules/unistr/u16-stpcpy-tests: New file.
38249         * tests/unistr/test-u16-stpcpy.c: New file.
38250
38251         Tests for module 'unistr/u8-stpcpy'.
38252         * modules/unistr/u8-stpcpy-tests: New file.
38253         * tests/unistr/test-u8-stpcpy.c: New file.
38254         * tests/unistr/test-stpcpy.h: New file.
38255
38256         Tests for module 'unistr/u32-strcpy'.
38257         * modules/unistr/u32-strcpy-tests: New file.
38258         * tests/unistr/test-u32-strcpy.c: New file.
38259
38260         Tests for module 'unistr/u16-strcpy'.
38261         * modules/unistr/u16-strcpy-tests: New file.
38262         * tests/unistr/test-u16-strcpy.c: New file.
38263
38264         Tests for module 'unistr/u8-strcpy'.
38265         * modules/unistr/u8-strcpy-tests: New file.
38266         * tests/unistr/test-u8-strcpy.c: New file.
38267         * tests/unistr/test-strcpy.h: New file.
38268
38269         Tests for module 'unistr/u32-strnlen'.
38270         * modules/unistr/u32-strnlen-tests: New file.
38271         * tests/unistr/test-u32-strnlen.c: New file.
38272
38273         Tests for module 'unistr/u16-strnlen'.
38274         * modules/unistr/u16-strnlen-tests: New file.
38275         * tests/unistr/test-u16-strnlen.c: New file.
38276
38277         Tests for module 'unistr/u8-strnlen'.
38278         * modules/unistr/u8-strnlen-tests: New file.
38279         * tests/unistr/test-u8-strnlen.c: New file.
38280         * tests/unistr/test-strnlen.h: New file.
38281
38282         Tests for module 'unistr/u32-strlen'.
38283         * modules/unistr/u32-strlen-tests: New file.
38284         * tests/unistr/test-u32-strlen.c: New file.
38285
38286         Tests for module 'unistr/u16-strlen'.
38287         * modules/unistr/u16-strlen-tests: New file.
38288         * tests/unistr/test-u16-strlen.c: New file.
38289
38290         Tests for module 'unistr/u8-strlen'.
38291         * modules/unistr/u8-strlen-tests: New file.
38292         * tests/unistr/test-u8-strlen.c: New file.
38293
38294         Tests for module 'unistr/u32-prev'.
38295         * modules/unistr/u32-prev-tests: New file.
38296         * tests/unistr/test-u32-prev.c: New file.
38297
38298         Tests for module 'unistr/u16-prev'.
38299         * modules/unistr/u16-prev-tests: New file.
38300         * tests/unistr/test-u16-prev.c: New file.
38301
38302         Tests for module 'unistr/u8-prev'.
38303         * modules/unistr/u8-prev-tests: New file.
38304         * tests/unistr/test-u8-prev.c: New file.
38305
38306         Tests for module 'unistr/u32-next'.
38307         * modules/unistr/u32-next-tests: New file.
38308         * tests/unistr/test-u32-next.c: New file.
38309
38310         Tests for module 'unistr/u16-next'.
38311         * modules/unistr/u16-next-tests: New file.
38312         * tests/unistr/test-u16-next.c: New file.
38313
38314         Tests for module 'unistr/u8-next'.
38315         * modules/unistr/u8-next-tests: New file.
38316         * tests/unistr/test-u8-next.c: New file.
38317
38318         Tests for module 'unistr/u32-strmbtouc'.
38319         * modules/unistr/u32-strmbtouc-tests: New file.
38320         * tests/unistr/test-u32-strmbtouc.c: New file.
38321
38322         Tests for module 'unistr/u16-strmbtouc'.
38323         * modules/unistr/u16-strmbtouc-tests: New file.
38324         * tests/unistr/test-u16-strmbtouc.c: New file.
38325
38326         Tests for module 'unistr/u8-strmbtouc'.
38327         * modules/unistr/u8-strmbtouc-tests: New file.
38328         * tests/unistr/test-u8-strmbtouc.c: New file.
38329
38330         Tests for module 'unistr/u32-strmblen'.
38331         * modules/unistr/u32-strmblen-tests: New file.
38332         * tests/unistr/test-u32-strmblen.c: New file.
38333
38334         Tests for module 'unistr/u16-strmblen'.
38335         * modules/unistr/u16-strmblen-tests: New file.
38336         * tests/unistr/test-u16-strmblen.c: New file.
38337
38338         Tests for module 'unistr/u8-strmblen'.
38339         * modules/unistr/u8-strmblen-tests: New file.
38340         * tests/unistr/test-u8-strmblen.c: New file.
38341
38342         Tests for module 'unistr/u32-cpy-alloc'.
38343         * modules/unistr/u32-cpy-alloc-tests: New file.
38344         * tests/unistr/test-u32-cpy-alloc.c: New file.
38345
38346         Tests for module 'unistr/u16-cpy-alloc'.
38347         * modules/unistr/u16-cpy-alloc-tests: New file.
38348         * tests/unistr/test-u16-cpy-alloc.c: New file.
38349
38350         Tests for module 'unistr/u8-cpy-alloc'.
38351         * modules/unistr/u8-cpy-alloc-tests: New file.
38352         * tests/unistr/test-u8-cpy-alloc.c: New file.
38353         * tests/unistr/test-cpy-alloc.h: New file.
38354
38355         Tests for module 'unistr/u32-mbsnlen'.
38356         * modules/unistr/u32-mbsnlen-tests: New file.
38357         * tests/unistr/test-u32-mbsnlen.c: New file.
38358
38359         Tests for module 'unistr/u16-mbsnlen'.
38360         * modules/unistr/u16-mbsnlen-tests: New file.
38361         * tests/unistr/test-u16-mbsnlen.c: New file.
38362
38363         Tests for module 'unistr/u8-mbsnlen'.
38364         * modules/unistr/u8-mbsnlen-tests: New file.
38365         * tests/unistr/test-u8-mbsnlen.c: New file.
38366
38367         Tests for module 'unistr/u32-chr'.
38368         * modules/unistr/u32-chr-tests: New file.
38369         * tests/unistr/test-u32-chr.c: New file.
38370
38371         Tests for module 'unistr/u16-chr'.
38372         * modules/unistr/u16-chr-tests: New file.
38373         * tests/unistr/test-u16-chr.c: New file.
38374
38375         Tests for module 'unistr/u8-chr'.
38376         * modules/unistr/u8-chr-tests: New file.
38377         * tests/unistr/test-u8-chr.c: New file.
38378         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
38379
38380         Tests for module 'unistr/u32-cmp2'.
38381         * modules/unistr/u32-cmp2-tests: New file.
38382         * tests/unistr/test-u32-cmp2.c: New file.
38383
38384         Tests for module 'unistr/u16-cmp2'.
38385         * modules/unistr/u16-cmp2-tests: New file.
38386         * tests/unistr/test-u16-cmp2.c: New file.
38387
38388         Tests for module 'unistr/u8-cmp2'.
38389         * modules/unistr/u8-cmp2-tests: New file.
38390         * tests/unistr/test-u8-cmp2.c: New file.
38391         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
38392
38393         Tests for module 'unistr/u32-cmp'.
38394         * modules/unistr/u32-cmp-tests: New file.
38395         * tests/unistr/test-u32-cmp.c: New file.
38396
38397         Tests for module 'unistr/u16-cmp'.
38398         * modules/unistr/u16-cmp-tests: New file.
38399         * tests/unistr/test-u16-cmp.c: New file.
38400
38401         Tests for module 'unistr/u8-cmp'.
38402         * modules/unistr/u8-cmp-tests: New file.
38403         * tests/unistr/test-u8-cmp.c: New file.
38404         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
38405
38406         Tests for module 'unistr/u32-set'.
38407         * modules/unistr/u32-set-tests: New file.
38408         * tests/unistr/test-u32-set.c: New file.
38409
38410         Tests for module 'unistr/u16-set'.
38411         * modules/unistr/u16-set-tests: New file.
38412         * tests/unistr/test-u16-set.c: New file.
38413
38414         Tests for module 'unistr/u8-set'.
38415         * modules/unistr/u8-set-tests: New file.
38416         * tests/unistr/test-u8-set.c: New file.
38417         * tests/unistr/test-set.h: New file.
38418
38419         Tests for module 'unistr/u32-move'.
38420         * modules/unistr/u32-move-tests: New file.
38421         * tests/unistr/test-u32-move.c: New file.
38422
38423         Tests for module 'unistr/u16-move'.
38424         * modules/unistr/u16-move-tests: New file.
38425         * tests/unistr/test-u16-move.c: New file.
38426
38427         Tests for module 'unistr/u8-move'.
38428         * modules/unistr/u8-move-tests: New file.
38429         * tests/unistr/test-u8-move.c: New file.
38430         * tests/unistr/test-move.h: New file.
38431
38432         Tests for module 'unistr/u32-cpy'.
38433         * modules/unistr/u32-cpy-tests: New file.
38434         * tests/unistr/test-u32-cpy.c: New file.
38435
38436         Tests for module 'unistr/u16-cpy'.
38437         * modules/unistr/u16-cpy-tests: New file.
38438         * tests/unistr/test-u16-cpy.c: New file.
38439
38440         Tests for module 'unistr/u8-cpy'.
38441         * modules/unistr/u8-cpy-tests: New file.
38442         * tests/unistr/test-u8-cpy.c: New file.
38443         * tests/unistr/test-cpy.h: New file.
38444
38445 2010-01-09  Bruno Haible  <bruno@clisp.org>
38446
38447         Tests for module 'unistr/u32-uctomb'.
38448         * modules/unistr/u32-uctomb-tests: New file.
38449         * tests/unistr/test-u32-uctomb.c: New file.
38450
38451         Tests for module 'unistr/u16-uctomb'.
38452         * modules/unistr/u16-uctomb-tests: New file.
38453         * tests/unistr/test-u16-uctomb.c: New file.
38454
38455         Tests for module 'unistr/u8-uctomb'.
38456         * modules/unistr/u8-uctomb-tests: New file.
38457         * tests/unistr/test-u8-uctomb.c: New file.
38458
38459         Tests for module 'unistr/u32-mbtoucr'.
38460         * modules/unistr/u32-mbtoucr-tests: New file.
38461         * tests/unistr/test-u32-mbtoucr.c: New file.
38462
38463         Tests for module 'unistr/u16-mbtoucr'.
38464         * modules/unistr/u16-mbtoucr-tests: New file.
38465         * tests/unistr/test-u16-mbtoucr.c: New file.
38466
38467         Tests for module 'unistr/u8-mbtoucr'.
38468         * modules/unistr/u8-mbtoucr-tests: New file.
38469         * tests/unistr/test-u8-mbtoucr.c: New file.
38470
38471         Tests for module 'unistr/u32-mbtouc'.
38472         * modules/unistr/u32-mbtouc-tests: New file.
38473         * tests/unistr/test-u32-mbtouc.c: New file.
38474
38475         Tests for module 'unistr/u16-mbtouc'.
38476         * modules/unistr/u16-mbtouc-tests: New file.
38477         * tests/unistr/test-u16-mbtouc.c: New file.
38478
38479         Tests for module 'unistr/u8-mbtouc'.
38480         * modules/unistr/u8-mbtouc-tests: New file.
38481         * tests/unistr/test-u8-mbtouc.c: New file.
38482
38483         Tests for module 'unistr/u32-mbtouc-unsafe'.
38484         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
38485         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
38486         * tests/unistr/test-u32-mbtouc.h: New file.
38487
38488         Tests for module 'unistr/u16-mbtouc-unsafe'.
38489         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
38490         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
38491         * tests/unistr/test-u16-mbtouc.h: New file.
38492
38493         Tests for module 'unistr/u8-mbtouc-unsafe'.
38494         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
38495         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
38496         * tests/unistr/test-u8-mbtouc.h: New file.
38497
38498         Tests for module 'unistr/u32-mblen'.
38499         * modules/unistr/u32-mblen-tests: New file.
38500         * tests/unistr/test-u32-mblen.c: New file.
38501
38502         Tests for module 'unistr/u16-mblen'.
38503         * modules/unistr/u16-mblen-tests: New file.
38504         * tests/unistr/test-u16-mblen.c: New file.
38505
38506         Tests for module 'unistr/u8-mblen'.
38507         * modules/unistr/u8-mblen-tests: New file.
38508         * tests/unistr/test-u8-mblen.c: New file.
38509
38510         Tests for module 'unistr/u32-to-u16'.
38511         * modules/unistr/u32-to-u16-tests: New file.
38512         * tests/unistr/test-u32-to-u16.c: New file.
38513
38514         Tests for module 'unistr/u32-to-u8'.
38515         * modules/unistr/u32-to-u8-tests: New file.
38516         * tests/unistr/test-u32-to-u8.c: New file.
38517
38518         Tests for module 'unistr/u16-to-u32'.
38519         * modules/unistr/u16-to-u32-tests: New file.
38520         * tests/unistr/test-u16-to-u32.c: New file.
38521
38522         Tests for module 'unistr/u16-to-u8'.
38523         * modules/unistr/u16-to-u8-tests: New file.
38524         * tests/unistr/test-u16-to-u8.c: New file.
38525
38526         Tests for module 'unistr/u8-to-u32'.
38527         * modules/unistr/u8-to-u32-tests: New file.
38528         * tests/unistr/test-u8-to-u32.c: New file.
38529
38530         Tests for module 'unistr/u8-to-u16'.
38531         * modules/unistr/u8-to-u16-tests: New file.
38532         * tests/unistr/test-u8-to-u16.c: New file.
38533
38534         Tests for module 'unistr/u32-check'.
38535         * modules/unistr/u32-check-tests: New file.
38536         * tests/unistr/test-u32-check.c: New file.
38537
38538         Tests for module 'unistr/u16-check'.
38539         * modules/unistr/u16-check-tests: New file.
38540         * tests/unistr/test-u16-check.c: New file.
38541
38542         Tests for module 'unistr/u8-check'.
38543         * modules/unistr/u8-check-tests: New file.
38544         * tests/unistr/test-u8-check.c: New file.
38545
38546         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
38547         (category_equals): New function.
38548         (main): Add more tests.
38549         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
38550
38551         * tests/unictype/test-bidi_byname.c (main): Add more tests.
38552
38553 2010-01-10  Bruno Haible  <bruno@clisp.org>
38554
38555         unistr/u*-strcoll: Try harder to distinguish different strings.
38556         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
38557         compare s1 and s2 to see if they are different.
38558
38559 2010-01-10  Bruno Haible  <bruno@clisp.org>
38560
38561         unistr/u*-stpncpy: Fix the return value.
38562         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
38563         description of the return value consistent with stpncpy in glibc.
38564         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
38565         written non-NUL unit.
38566
38567 2010-01-10  Bruno Haible  <bruno@clisp.org>
38568
38569         unistr/u*-next: Add missing dependencies.
38570         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
38571         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
38572         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
38573
38574 2010-01-10  Bruno Haible  <bruno@clisp.org>
38575
38576         unistr/u8-mbsnlen: Fix return value for incomplete character.
38577         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
38578         u8_mblen.
38579         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
38580         Remove unistr/u8-mblen.
38581         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
38582         u16_mblen.
38583         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
38584         Remove unistr/u16-mblen.
38585
38586 2010-01-10  Bruno Haible  <bruno@clisp.org>
38587
38588         wchar: Fix compilation error when <wchar.h> is used from coreutils.
38589         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
38590         Reported by Brian Gough <bjg@gnu.org> and
38591         Chris Clayton <chris2553@googlemail.com> via
38592         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
38593
38594 2010-01-09  Bruno Haible  <bruno@clisp.org>
38595
38596         unistr/u16-to-u32: Reject invalid input.
38597         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
38598         u16_mbtouc.
38599         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
38600         Remove unistr/u16-mbtouc.
38601
38602         unistr/u16-to-u8: Reject invalid input.
38603         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
38604         u16_mbtouc.
38605         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
38606         Remove unistr/u16-mbtouc.
38607
38608         unistr/u8-to-u32: Reject invalid input.
38609         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
38610         u8_mbtouc.
38611         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
38612         Remove unistr/u8-mbtouc.
38613
38614         unistr/u8-to-u16: Reject invalid input.
38615         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
38616         u8_mbtouc.
38617         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
38618         Remove unistr/u8-mbtouc.
38619
38620 2010-01-09  Bruno Haible  <bruno@clisp.org>
38621
38622         Tests for module 'getlogin'.
38623         * modules/getlogin-tests: New file.
38624         * tests/test-getlogin.c: New file.
38625
38626         New module 'getlogin'.
38627         * lib/unistd.in.h (getlogin): New declaration.
38628         * lib/getlogin.c: New file.
38629         * m4/getlogin.m4: New file.
38630         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
38631         HAVE_GETLOGIN.
38632         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
38633         HAVE_GETLOGIN.
38634         * modules/getlogin: New file.
38635         * doc/posix-functions/getlogin.texi: Mention the new module.
38636         Reported by John W. Eaton <jwe@gnu.org>.
38637
38638 2010-01-09  Bruno Haible  <bruno@clisp.org>
38639
38640         getlogin_r: Support for native Windows.
38641         * lib/getlogin_r.c: Include <windows.h>
38642         (getlogin_r): Implement for native Windows.
38643         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
38644         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
38645         via John W. Eaton <jwe@gnu.org>.
38646
38647 2010-01-09  Bruno Haible  <bruno@clisp.org>
38648
38649         getlogin_r: Small fixes.
38650         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
38651         succeeds.
38652         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
38653         before testing whether getlogin_r is declared. No need to set
38654         HAVE_DECL_GETLOGIN_R to 1.
38655         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
38656
38657 2010-01-09  Bruno Haible  <bruno@clisp.org>
38658
38659         * lib/unistd.in.h (getlogin_r): Add comment.
38660
38661 2010-01-09  Bruno Haible  <bruno@clisp.org>
38662
38663         Tests for module 'getlogin_r'.
38664         * modules/getlogin_r-tests: New file.
38665         * tests/test-getlogin_r.c: New file.
38666
38667 2010-01-09  Jim Meyering  <meyering@redhat.com>
38668
38669         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
38670         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
38671         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
38672
38673 2010-01-08  Simon Josefsson  <simon@josefsson.org>
38674
38675         * lib/dup2.c (rpl_dup2): Improve comment.
38676
38677 2010-01-08  Eric Blake  <ebb9@byu.net>
38678
38679         maint.mk: allow packages to add makefile @@ exceptions
38680         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
38681         (sc_makefile_check): Rename...
38682         (sc_makefile_at_at_check): ...to this, and use hook.
38683
38684         dup2: work around mingw bug
38685         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
38686         Reported by Simon Josefsson.
38687
38688 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
38689
38690         glob: Fix C++ compilation.
38691         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
38692         C++.
38693
38694 2010-01-07  Bruno Haible  <bruno@clisp.org>
38695
38696         Fix indentation of wctype.in.h, broken since 2007-01-06.
38697         * lib/wctype.in.h: Fix indentation of preprocessor directives.
38698
38699 2010-01-07  Bruno Haible  <bruno@clisp.org>
38700
38701         mbslen: Avoid collision with system function.
38702         * lib/string.in.h [MirBSD]: Include <wchar.h>.
38703         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
38704         * m4/mbslen.m4: New file.
38705         * modules/mbslen (Files): Add it.
38706         (configure.ac): Invoke gl_MBSLEN.
38707         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
38708         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
38709         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
38710         via Ian Beckwith <ianb@erislabs.net>.
38711
38712 2010-01-07  Bruno Haible  <bruno@clisp.org>
38713
38714         dirent: Document the last fix.
38715         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
38716
38717 2010-01-07  Bruno Haible  <bruno@clisp.org>
38718
38719         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
38720         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
38721         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
38722         va_list are defined.
38723         * doc/posix-headers/stdio.texi: Document the bug of missing types.
38724         Reported by Eric Blake.
38725
38726 2010-01-07  Bruno Haible  <bruno@clisp.org>
38727
38728         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
38729         * modules/xlist (Depends-on): Add 'list',
38730         * modules/xoset (Depends-on): Add 'oset'.
38731         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38732
38733 2010-01-07  Bruno Haible  <bruno@clisp.org>
38734
38735         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
38736         * doc/posix-functions/strncasecmp.texi: Likewise.
38737
38738 2010-01-07  Bruno Haible  <bruno@clisp.org>
38739
38740         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
38741
38742 2010-01-07  John W. Eaton  <jwe@octave.org>
38743
38744         wctype: allow C++ use
38745         * lib/wctype.in.h: Add extern "C" block for C++.
38746
38747 2010-01-06  Eric Blake  <ebb9@byu.net>
38748
38749         maint.mk: detect incorrect GFDL usage
38750         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
38751
38752 2010-01-06  Jim Meyering  <meyering@redhat.com>
38753         and Eric Blake  <ebb9@byu.net>
38754
38755         maint.mk: ignore multi-line copyright in NEWS
38756         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
38757
38758 2010-01-06  Eric Blake  <ebb9@byu.net>
38759
38760         select: add missing dependency
38761         * modules/select-tests (Depends-on): Move sockets dependency...
38762         * modules/select (Depends-on): ...here.
38763         Reported by Ian Beckwith.
38764
38765         doc: regenerate INSTALL
38766         * doc/INSTALL: Reflect recent autoconf update.
38767         * doc/INSTALL.ISO: Likewise.
38768         * doc/INSTALL.UTF-8: Likewise.
38769
38770         pread: fix compilation on glibc
38771         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
38772         Reported by Ralf Wildenhues.
38773
38774         dirent: fix test failure
38775         * lib/dirent.in.h (includes): Guarantee ino_t.
38776         Reported by Ralf Wildenhues.
38777
38778 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
38779
38780         linkat, renameat: avoid bad free
38781         * lib/at-func2.c (at_func2): Fix typo.
38782         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
38783
38784 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38785
38786         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
38787         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
38788         to avoid failure of symlink test later.
38789
38790 2010-01-06  Eric Blake  <ebb9@byu.net>
38791
38792         stdio, unistd: guarantee ssize_t
38793         * lib/unistd.in.h (includes): Ensure that types required by POSIX
38794         2008 are exposed when needed.
38795         * lib/stdio.in.h (includes): Likewise.
38796         Reported by Ralf Wildenhues.
38797
38798 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
38799
38800         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
38801         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
38802         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
38803
38804 2010-01-06  Jim Meyering  <meyering@redhat.com>
38805
38806         readtokens: this module *does* require xalloc.h
38807         It uses only functions that were omitted by the old syntax-check rule.
38808         * lib/readtokens.c: Include "xalloc.h" once again.
38809         * modules/readtokens (Depends-on): Add xalloc.
38810         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
38811
38812 2010-01-05  Eric Blake  <ebb9@byu.net>
38813
38814         maint: support 'make announcement' from a VPATH build
38815         * top/maint.mk (announcement): Look for correct NEWS file.
38816
38817 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
38818
38819         utimens (fdutimens): ignore a negative FD, per contract
38820         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
38821         when we have a valid file descriptor.  Otherwise, using a brand
38822         new glibc (with just-patched futimens that now fails with EBADF)
38823         would cause this function to fail with ENOSYS.
38824         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
38825         See also http://bugzilla.redhat.com/552320.
38826
38827 2010-01-05  Eric Blake  <ebb9@byu.net>
38828
38829         strcase: document what it provides
38830         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
38831         gnulib module.
38832         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
38833         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
38834
38835 2010-01-05  Jim Meyering  <meyering@redhat.com>
38836
38837         maint: remove useless inclusions of "xalloc.h"
38838         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
38839         * lib/readtokens.c: Likewise.
38840         * lib/same.c: Likewise.
38841         * modules/getloadavg (Depends-on): Remove xalloc.
38842         * modules/readtokens: Likewise.
38843         * modules/same: Likewise.
38844
38845         maint.mk: include 4 more function names in alloca.h-checking regexp
38846         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
38847         regexp.  Before, we would give a false-positive (saying alloca.h
38848         is included unnecessarily) when the only uses involved omitted symbols.
38849
38850         xalloc.h: use consistent formatting
38851         * lib/xalloc.h: Move declarations to start in the first column.
38852
38853 2010-01-05  Eric Blake  <ebb9@byu.net>
38854
38855         mkdir: avoid xalloc
38856         * lib/mkdir.c (includes): Drop unused header.
38857         Reported by John W. Eaton.
38858
38859 2010-01-04  Jim Meyering  <meyering@redhat.com>
38860
38861         nl_langinfo: avoid configure-time syntax error
38862         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
38863         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
38864         the empty string.  Don't let that provoke a shell syntax error.
38865
38866         regcomp, regexec, fnmatch: avoid array bounds read error
38867         * lib/regcomp.c (build_equiv_class): From glibc:
38868         Use only the low 24 bits of a findidx return value as an index
38869         into the weights array.  Patch by Ulrich Drepper:
38870         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
38871         * lib/regexec.c (check_node_accept_bytes): Likewise.
38872         * lib/fnmatch_loop.c (FCT): Likewise.
38873
38874         regcomp: skip collseq lookup when there are no rules
38875         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
38876         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
38877
38878         regcomp: recognize ill-formed { } expressions
38879         * lib/regcomp.c (parse_dup_op): From glibc:
38880         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
38881
38882         regcomp: fix typo in comment
38883         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
38884         s/satisfy/satisfies/.
38885
38886         regcomp: sync from glibc: remove dead store
38887         * lib/regcomp.c (duplicate_node_closure): Remove useless
38888         search_duplicated_node call and dead store.
38889
38890         regcomp: sync from glibc; always use nl_langinfo
38891         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
38892         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
38893         * modules/regex (Depends-on): Add nl_langinfo.
38894
38895 2010-01-04  Eric Blake  <ebb9@byu.net>
38896
38897         fdopendir: fix configure test
38898         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
38899
38900 2010-01-01  Bruno Haible  <bruno@clisp.org>
38901
38902         wchar: Remove unused configure check.
38903         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
38904
38905 2010-01-01  Eric Blake  <ebb9@byu.net>
38906
38907         headers: make check of system header explicit
38908         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
38909         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
38910         ourselves.
38911         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
38912         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38913         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
38914         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
38915         internals.
38916         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
38917         missing.
38918         Suggested by Bruno Haible.
38919
38920 2010-01-01  Jim Meyering  <meyering@redhat.com>
38921
38922         ChangeLog: tweak to eliminate unnecessary copyright line
38923         * ChangeLog: Remove a copyright line that was mistakenly updated
38924         by today's update-copyright run.  Reported by Eric Blake.
38925
38926         test-update-copyright: don't let envvar setting cause test failure
38927         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
38928
38929 2010-01-01  Bruno Haible  <bruno@clisp.org>
38930
38931         localename: Avoid gcc warning.
38932         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
38933         function if it is not used.
38934
38935 2010-01-01  Jim Meyering  <meyering@redhat.com>
38936
38937         update nearly all FSF copyright year lists to include 2010
38938         Use the same procedure as for 2009, outlined in
38939         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
38940
38941         version-etc: set COPYRIGHT_YEAR to 2010
38942         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
38943
38944 2009-12-31  Eric Blake  <ebb9@byu.net>
38945
38946         doc: correct availability of cygwin 1.5.x getopt
38947         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
38948         variables.
38949         * doc/posix-functions/opterr.texi (opterr): Likewise.
38950         * doc/posix-functions/optind.texi (optind): Likewise.
38951         * doc/posix-functions/optopt.texi (optopt): Likewise.
38952         * doc/posix-functions/tzname.texi (tzname): Likewise.
38953
38954         openat: update maintainer
38955         * modules/openat (Maintainer): Add myself.
38956
38957         utimens: avoid shadowing warning
38958         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
38959         buffers into one, to avoid shadowing, as well as avoiding a
38960         redundant stat.
38961         Reported by Jim Meyering.
38962
38963         test-dup2: avoid compiler warning
38964         * tests/test-dup2.c (is_inheritable): Only define if used.
38965
38966 2010-01-01  Bruno Haible  <bruno@clisp.org>
38967
38968         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
38969         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
38970         defined, use wctomb instead of wcrtomb.
38971
38972 2010-01-01  Bruno Haible  <bruno@clisp.org>
38973
38974         iconv: Reject native Solaris iconv.
38975         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
38976         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
38977
38978 2009-12-31  Bruno Haible  <bruno@clisp.org>
38979
38980         * tests/test-signal.c (main): Remove test of 'SIG'.
38981
38982 2009-12-31  Bruno Haible  <bruno@clisp.org>
38983
38984         spawn: Fix incomplete fix.
38985         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
38986         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
38987         warnings for GNULIB_POSIXCHECK again.
38988         Reported by Eric Blake.
38989
38990 2009-12-31  Bruno Haible  <bruno@clisp.org>
38991
38992         Avoid namespace pollution on glibc systems.
38993         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
38994         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
38995         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
38996         glibc systems.
38997
38998 2009-12-31  Bruno Haible  <bruno@clisp.org>
38999
39000         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
39001         (gl_REPLACE_WCHAR_H): Turn into a no-op.
39002         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
39003         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
39004         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
39005         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
39006         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
39007
39008 2009-12-31  Bruno Haible  <bruno@clisp.org>
39009
39010         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
39011         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
39012         afterwards.
39013
39014 2009-12-31  Bruno Haible  <bruno@clisp.org>
39015
39016         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
39017         SYS_UTSNAME_H.
39018
39019 2009-12-31  Bruno Haible  <bruno@clisp.org>
39020
39021         spawn: Fix misapplied patch.
39022         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
39023         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
39024         warnings for GNULIB_POSIXCHECK.
39025
39026 2009-12-31  Bruno Haible  <bruno@clisp.org>
39027
39028         times: Update after sys_times changed.
39029         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
39030         * modules/times (Files): Add it.
39031         (configure.ac): Invoke gl_FUNC_TIMES.
39032
39033 2009-12-31  Bruno Haible  <bruno@clisp.org>
39034
39035         Use AC_C_INLINE where necessary.
39036         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
39037         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
39038         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
39039         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
39040         * m4/mbfile.m4 (gl_MBFILE): Likewise.
39041         * m4/mbiter.m4 (gl_MBITER): Likewise.
39042         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
39043         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
39044         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
39045         * modules/u64 (configure.ac): Likewise.
39046
39047 2009-12-31  Bruno Haible  <bruno@clisp.org>
39048
39049         Use AC_C_INLINE instead of module 'inline' where possible.
39050         * modules/inline (Description): Clarify purpose.
39051         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
39052         * modules/count-one-bits (Depends-on): Remove inline.
39053         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
39054         * modules/openat (Depends-on): Remove inline.
39055         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
39056         instead of depending on module 'inline'.
39057         * modules/filevercmp (Depends-on, configure.ac): Likewise.
39058         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
39059         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
39060         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
39061         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
39062         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
39063         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
39064         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
39065         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
39066         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
39067         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
39068         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
39069         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
39070         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
39071         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
39072         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
39073         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
39074         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
39075         Likewise.
39076         * modules/unictype/property-ascii-hex-digit (Depends-on,
39077         configure.ac): Likewise.
39078         * modules/unictype/property-bidi-arabic-digit (Depends-on,
39079         configure.ac): Likewise.
39080         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
39081         configure.ac): Likewise.
39082         * modules/unictype/property-bidi-block-separator (Depends-on,
39083         configure.ac): Likewise.
39084         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
39085         configure.ac): Likewise.
39086         * modules/unictype/property-bidi-common-separator (Depends-on,
39087         configure.ac): Likewise.
39088         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
39089         Likewise.
39090         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
39091         configure.ac): Likewise.
39092         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
39093         configure.ac): Likewise.
39094         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
39095         configure.ac): Likewise.
39096         * modules/unictype/property-bidi-european-digit (Depends-on,
39097         configure.ac): Likewise.
39098         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
39099         configure.ac): Likewise.
39100         * modules/unictype/property-bidi-left-to-right (Depends-on,
39101         configure.ac): Likewise.
39102         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
39103         configure.ac): Likewise.
39104         * modules/unictype/property-bidi-other-neutral (Depends-on,
39105         configure.ac): Likewise.
39106         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
39107         Likewise.
39108         * modules/unictype/property-bidi-segment-separator (Depends-on,
39109         configure.ac): Likewise.
39110         * modules/unictype/property-bidi-whitespace (Depends-on,
39111         configure.ac): Likewise.
39112         * modules/unictype/property-combining (Depends-on, configure.ac):
39113         Likewise.
39114         * modules/unictype/property-composite (Depends-on, configure.ac):
39115         Likewise.
39116         * modules/unictype/property-currency-symbol (Depends-on,
39117         configure.ac): Likewise.
39118         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
39119         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
39120         Likewise.
39121         * modules/unictype/property-default-ignorable-code-point (Depends-on,
39122         configure.ac): Likewise.
39123         * modules/unictype/property-deprecated (Depends-on, configure.ac):
39124         Likewise.
39125         * modules/unictype/property-diacritic (Depends-on, configure.ac):
39126         Likewise.
39127         * modules/unictype/property-extender (Depends-on, configure.ac):
39128         Likewise.
39129         * modules/unictype/property-format-control (Depends-on, configure.ac):
39130         Likewise.
39131         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
39132         Likewise.
39133         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
39134         Likewise.
39135         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
39136         Likewise.
39137         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
39138         Likewise.
39139         * modules/unictype/property-hyphen (Depends-on, configure.ac):
39140         Likewise.
39141         * modules/unictype/property-id-continue (Depends-on, configure.ac):
39142         Likewise.
39143         * modules/unictype/property-id-start (Depends-on, configure.ac):
39144         Likewise.
39145         * modules/unictype/property-ideographic (Depends-on, configure.ac):
39146         Likewise.
39147         * modules/unictype/property-ids-binary-operator (Depends-on,
39148         configure.ac): Likewise.
39149         * modules/unictype/property-ids-trinary-operator (Depends-on,
39150         configure.ac): Likewise.
39151         * modules/unictype/property-ignorable-control (Depends-on,
39152         configure.ac): Likewise.
39153         * modules/unictype/property-iso-control (Depends-on, configure.ac):
39154         Likewise.
39155         * modules/unictype/property-join-control (Depends-on, configure.ac):
39156         Likewise.
39157         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
39158         Likewise.
39159         * modules/unictype/property-line-separator (Depends-on, configure.ac):
39160         Likewise.
39161         * modules/unictype/property-logical-order-exception (Depends-on,
39162         configure.ac): Likewise.
39163         * modules/unictype/property-lowercase (Depends-on, configure.ac):
39164         Likewise.
39165         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
39166         * modules/unictype/property-non-break (Depends-on, configure.ac):
39167         Likewise.
39168         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
39169         Likewise.
39170         * modules/unictype/property-numeric (Depends-on, configure.ac):
39171         Likewise.
39172         * modules/unictype/property-other-alphabetic (Depends-on,
39173         configure.ac): Likewise.
39174         * modules/unictype/property-other-default-ignorable-code-point
39175         (Depends-on, configure.ac): Likewise.
39176         * modules/unictype/property-other-grapheme-extend (Depends-on,
39177         configure.ac): Likewise.
39178         * modules/unictype/property-other-id-continue (Depends-on,
39179         configure.ac): Likewise.
39180         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
39181         Likewise.
39182         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
39183         Likewise.
39184         * modules/unictype/property-other-math (Depends-on, configure.ac):
39185         Likewise.
39186         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
39187         Likewise.
39188         * modules/unictype/property-paired-punctuation (Depends-on,
39189         configure.ac): Likewise.
39190         * modules/unictype/property-paragraph-separator (Depends-on,
39191         configure.ac): Likewise.
39192         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
39193         Likewise.
39194         * modules/unictype/property-pattern-white-space (Depends-on,
39195         configure.ac): Likewise.
39196         * modules/unictype/property-private-use (Depends-on, configure.ac):
39197         Likewise.
39198         * modules/unictype/property-punctuation (Depends-on, configure.ac):
39199         Likewise.
39200         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
39201         Likewise.
39202         * modules/unictype/property-radical (Depends-on, configure.ac):
39203         Likewise.
39204         * modules/unictype/property-sentence-terminal (Depends-on,
39205         configure.ac): Likewise.
39206         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
39207         Likewise.
39208         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
39209         * modules/unictype/property-terminal-punctuation (Depends-on,
39210         configure.ac): Likewise.
39211         * modules/unictype/property-titlecase (Depends-on, configure.ac):
39212         Likewise.
39213         * modules/unictype/property-unassigned-code-value (Depends-on,
39214         configure.ac): Likewise.
39215         * modules/unictype/property-unified-ideograph (Depends-on,
39216         configure.ac): Likewise.
39217         * modules/unictype/property-uppercase (Depends-on, configure.ac):
39218         Likewise.
39219         * modules/unictype/property-variation-selector (Depends-on,
39220         configure.ac): Likewise.
39221         * modules/unictype/property-white-space (Depends-on, configure.ac):
39222         Likewise.
39223         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
39224         Likewise.
39225         * modules/unictype/property-xid-start (Depends-on, configure.ac):
39226         Likewise.
39227         * modules/unictype/property-zero-width (Depends-on, configure.ac):
39228         Likewise.
39229         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
39230         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
39231         Likewise.
39232
39233 2009-12-31  Bruno Haible  <bruno@clisp.org>
39234
39235         Remove unnecessary AC_C_INLINE invocation.
39236         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
39237         since 2009-08-21.
39238
39239 2009-12-31  Jim Meyering  <meyering@redhat.com>
39240
39241         maint.mk: don't require explicit gpg_key_ID in cfg.mk
39242         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
39243         With this change, we can all remove the gpg_key_ID = ... definition
39244         from our respective cfg.mk files.
39245
39246         maint.mk: create announcement template in ~/, not in /tmp
39247         * top/maint.mk (emit_upload_commands): Adjust.
39248         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
39249         Remove temporary file, .ci-msg.
39250
39251 2009-12-31  Eric Blake  <ebb9@byu.net>
39252
39253         link-warning: always build headers with link warnings
39254         * modules/arpa_inet (Makefile.am): Always build replacement
39255         header.
39256         * modules/ctype (Makefile.am): Likewise.
39257         * modules/dirent (Makefile.am): Likewise.
39258         * modules/inttypes (Makefile.am): Likewise.
39259         * modules/langinfo (Makefile.am): Likewise.
39260         * modules/locale (Makefile.am): Likewise.
39261         * modules/spawn (Makefile.am): Likewise.
39262         * modules/sys_file (Makefile.am): Likewise.
39263         * modules/sys_ioctl (Makefile.am): Likewise.
39264         * modules/sys_select (Makefile.am): Likewise.
39265         * modules/sys_socket (Makefile.am): Likewise.
39266         * modules/sys_times (Makefile.am): Likewise.
39267         * modules/sys_utsname (Makefile.am): Likewise.
39268         * modules/sys_wait (Makefile.am): Likewise.
39269         * modules/wchar (Makefile.am): Likewise.
39270         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
39271         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
39272         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
39273         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
39274         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
39275         Likewise.
39276         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
39277         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
39278         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
39279         Likewise.
39280         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
39281         Likewise.
39282         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
39283         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
39284         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
39285         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39286         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
39287         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39288         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39289         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
39290         (gl_WCHAR_H_DEFAULTS): Likewise.
39291
39292 2009-12-31  Eric Blake  <ebb9@byu.net>
39293
39294         signal, spawn: use link warnings
39295         * lib/signal.in.h (sigset_t): Make unconditional.
39296         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
39297         (sigpending, sigprocmask, sigaction): Add link warnings.
39298         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
39299         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
39300         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
39301         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
39302         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
39303         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
39304         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
39305         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
39306         (posix_spawn_file_actions_destroy)
39307         (posix_spawn_file_actions_addopen)
39308         (posix_spawn_file_actions_addclose)
39309         (posix_spawn_file_actions_adddup2): Likewise.
39310         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
39311         * tests/test-signal.c (main): Enhance test.
39312
39313         spawn: improve wrapper support
39314         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
39315         (gl_SPAWN_H_DEFAULTS): New defaults.
39316         * modules/spawn (Makefile.am): Substitute them.
39317         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
39318         Only declare if missing or broken.
39319
39320         sys_times, sys_utsname: use include_next
39321         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
39322         header.
39323         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
39324         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39325         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39326         * modules/sys_times (Depends-on): Add include_next.
39327         (Makefile.am): Substitute additional values.
39328         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
39329         * lib/sys_times.in.h (includes): Include native header, if
39330         available.
39331         * lib/sys_utsname.in.h (includes): Likewise.
39332         * tests/test-sys_times.c (main): Enhance test.
39333
39334         fdutimensat: revert prior patch
39335         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
39336         utimens.h.
39337         Reported by Bruno Haible.
39338
39339 2009-12-30  Eric Blake  <ebb9@byu.net>
39340
39341         sys_wait: drop link-warning dependency
39342         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
39343         link-warning efforts.
39344         * lib/sys_wait.in.h: Likewise.
39345
39346         fdutimensat: remove bogus dependency
39347         * modules/fdutimensat (Depends-on): Drop inline.
39348
39349         unistd: fix typo
39350         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
39351
39352 2009-12-30  Bruno Haible  <bruno@clisp.org>
39353
39354         Fix compilation error with Solaris cc.
39355         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
39356         * lib/unicase/u16-is-invariant.c: Likewise.
39357         * lib/unicase/u32-is-invariant.c: Likewise.
39358         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39359
39360 2009-12-30  Bruno Haible  <bruno@clisp.org>
39361
39362         Fix test crash.
39363         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
39364         locales.
39365         Reported by Simon Josefsson <simon@josefsson.org>.
39366
39367 2009-12-30  Bruno Haible  <bruno@clisp.org>
39368
39369         Fix compilation error on most platforms.
39370         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
39371         Reported by Simon Josefsson <simon@josefsson.org>
39372         and Nelson H. F. Beebe <beebe@math.utah.edu>.
39373
39374 2009-12-30  Eric Blake  <ebb9@byu.net>
39375
39376         futimens, utimensat: work around ntfs-3g bug
39377         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
39378         a ctime bug is present, and expand workaround to cover ntfs-3g.
39379         * lib/utimens.c (fdutimens, lutimens): Likewise.
39380         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
39381         (validate_timespec): Adjust return value.
39382         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
39383         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
39384         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
39385
39386 2009-12-29  Eric Blake  <ebb9@byu.net>
39387
39388         link-warning: make usage consistent
39389         * modules/ctype (Depends-on): Add link-warning.
39390         (Makefile.am): Update rules accordingly.
39391         * modules/langinfo (Depends-on, Makefile.am): Likewise.
39392         * modules/locale (Depends-on, Makefile.am): Likewise.
39393         * modules/sys_file (Makefile.am): Likewise.
39394         * modules/getopt-posix (Makefile.am): Delete unused link warning
39395         efforts.
39396         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
39397         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
39398         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
39399         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
39400
39401         stdio: remove unused variables
39402         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
39403         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
39404         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
39405
39406         tests: test more substitute headers
39407         * modules/ctype-tests: New file.
39408         * modules/dirent-tests: Likewise.
39409         * modules/spawn-tests: Likewise.
39410         * modules/sys_file-tests: Likewise.
39411         * modules/sys_ioctl-tests: Likewise.
39412         * modules/sys_wait-tests: Likewise.
39413         * tests/test-ctype.c: Likewise.
39414         * tests/test-dirent.c: Likewise.
39415         * tests/test-spawn.c: Likewise.
39416         * tests/test-sys_file.c: Likewise.
39417         * tests/test-sys_ioctl.c: Likewise.
39418         * tests/test-sys_wait.c: Likewise.
39419         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
39420         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
39421         whether or not flock is in use.
39422
39423         tests: remove License section from module
39424         * modules/arpa_inet-tests: Remove unneeded section.
39425         * modules/byteswap-tests: Likewise.
39426         * modules/ceilf-tests: Likewise.
39427         * modules/ceill-tests: Likewise.
39428         * modules/crypto/des-tests: Likewise.
39429         * modules/crypto/gc-arcfour-tests: Likewise.
39430         * modules/crypto/gc-arctwo-tests: Likewise.
39431         * modules/crypto/gc-des-tests: Likewise.
39432         * modules/crypto/gc-hmac-md5-tests: Likewise.
39433         * modules/crypto/gc-hmac-sha1-tests: Likewise.
39434         * modules/crypto/gc-md2-tests: Likewise.
39435         * modules/crypto/gc-md4-tests: Likewise.
39436         * modules/crypto/gc-md5-tests: Likewise.
39437         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
39438         * modules/crypto/gc-rijndael-tests: Likewise.
39439         * modules/crypto/gc-sha1-tests: Likewise.
39440         * modules/crypto/gc-tests: Likewise.
39441         * modules/crypto/md2-tests: Likewise.
39442         * modules/crypto/md4-tests: Likewise.
39443         * modules/fcntl-h-tests: Likewise.
39444         * modules/floorf-tests: Likewise.
39445         * modules/floorl-tests: Likewise.
39446         * modules/frexp-nolibm-tests: Likewise.
39447         * modules/frexp-tests: Likewise.
39448         * modules/frexpl-nolibm-tests: Likewise.
39449         * modules/frexpl-tests: Likewise.
39450         * modules/getaddrinfo-tests: Likewise.
39451         * modules/inttypes-tests: Likewise.
39452         * modules/isfinite-tests: Likewise.
39453         * modules/isinf-tests: Likewise.
39454         * modules/ldexpl-tests: Likewise.
39455         * modules/locale-tests: Likewise.
39456         * modules/math-tests: Likewise.
39457         * modules/netdb-tests: Likewise.
39458         * modules/netinet_in-tests: Likewise.
39459         * modules/printf-frexp-tests: Likewise.
39460         * modules/printf-frexpl-tests: Likewise.
39461         * modules/priv-set-tests: Likewise.
39462         * modules/random_r-tests: Likewise.
39463         * modules/round-tests: Likewise.
39464         * modules/roundf-tests: Likewise.
39465         * modules/roundl-tests: Likewise.
39466         * modules/search-tests: Likewise.
39467         * modules/select-tests: Likewise.
39468         * modules/signal-tests: Likewise.
39469         * modules/stdbool-tests: Likewise.
39470         * modules/stddef-tests: Likewise.
39471         * modules/stdint-tests: Likewise.
39472         * modules/stdio-tests: Likewise.
39473         * modules/stdlib-tests: Likewise.
39474         * modules/string-tests: Likewise.
39475         * modules/strings-tests: Likewise.
39476         * modules/sys_select-tests: Likewise.
39477         * modules/sys_socket-tests: Likewise.
39478         * modules/sys_stat-tests: Likewise.
39479         * modules/sys_time-tests: Likewise.
39480         * modules/sys_utsname-tests: Likewise.
39481         * modules/sysexits-tests: Likewise.
39482         * modules/time-tests: Likewise.
39483         * modules/trunc-tests: Likewise.
39484         * modules/truncf-tests: Likewise.
39485         * modules/truncl-tests: Likewise.
39486         * modules/tsearch-tests: Likewise.
39487         * modules/unistd-tests: Likewise.
39488         * modules/wchar-tests: Likewise.
39489         * modules/wctype-tests: Likewise.
39490
39491         tests: fix license on several tests
39492         * tests/test-des.c: Update to GPLv3+.
39493         * tests/test-flock.c: Likewise.
39494         * tests/test-fsync.c: Likewise.
39495         * tests/test-futimens.h: Likewise.
39496         * tests/test-gc-arcfour.c: Likewise.
39497         * tests/test-gc-arctwo.c: Likewise.
39498         * tests/test-gc-des.c: Likewise.
39499         * tests/test-gc-hmac-md5.c: Likewise.
39500         * tests/test-gc-hmac-sha1.c: Likewise.
39501         * tests/test-gc-md2.c: Likewise.
39502         * tests/test-gc-md4.c: Likewise.
39503         * tests/test-gc-md5.c: Likewise.
39504         * tests/test-gc-pbkdf2-sha1.c: Likewise.
39505         * tests/test-gc-rijndael.c: Likewise.
39506         * tests/test-gc-sha1.c: Likewise.
39507         * tests/test-gc.c: Likewise.
39508         * tests/test-getcwd.c: Likewise.
39509         * tests/test-link.c: Likewise.
39510         * tests/test-link.h: Likewise.
39511         * tests/test-lutimens.h: Likewise.
39512         * tests/test-md2.c: Likewise.
39513         * tests/test-md4.c: Likewise.
39514         * tests/test-mkdir.h: Likewise.
39515         * tests/test-rename.c: Likewise.
39516         * tests/test-rename.h: Likewise.
39517         * tests/test-safe-alloc.c: Likewise.
39518         * tests/test-utimens-common.h: Likewise.
39519         * tests/test-utimens.h: Likewise.
39520
39521         maint: sync license texts
39522         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
39523         * doc/gpl-3.0.texi: Revert copyright year update.
39524         * doc/lgpl-3.0.texi: Likewise.
39525
39526 2009-12-29  Jim Meyering  <meyering@redhat.com>
39527
39528         update nearly all FSF copyright year lists to include 2009
39529         The files named by the following are exempted:
39530             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
39531               test -f "$dst" && { echo "$dst"; continue; }
39532               test -d "$dst" || continue
39533               echo "$dst"/$(basename "$src")
39534             done > exempt
39535             git ls-files tests/unictype >> exempt
39536         In the remaining files, convert to all-interval notation if
39537         - there is already at least one year interval like 2000-2003
39538         - the file is maintained by me
39539         - the file is in lib/uni*/, where that style already prevails
39540         Otherwise, use update-copyright's default.
39541
39542 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39543         and Eric Blake  <ebb9@byu.net>
39544
39545         tests: don't require debug system() to pass
39546         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
39547         * tests/test-rmdir.h (test_rmdir_func): Likewise.
39548         * tests/test-unlink.h (test_unlink_func): Likewise.
39549         * tests/test-fstatat.c (main): ...into callers.
39550         * tests/test-lstat.c (main): Likewise.
39551         * tests/test-rmdir.c (main): Likewise.
39552         * tests/test-unlink.c (main): Likewise.
39553         * tests/test-unlinkat.c (main): Likewise.
39554         * tests/test-areadlink-with-size.c (main): Don't require a
39555         debug-only system call to pass, aiding cross-testing to mingw.
39556         * tests/test-areadlink.c (main): Likewise.
39557         * tests/test-areadlinkat-with-size.c (main): Likewise.
39558         * tests/test-areadlinkat.c (main): Likewise.
39559         * tests/test-canonicalize-lgpl.c (main): Likewise.
39560         * tests/test-canonicalize.c (main): Likewise.
39561         * tests/test-chown.c (main): Likewise.
39562         * tests/test-fchownat.c (main): Likewise.
39563         * tests/test-lchown.c (main): Likewise.
39564         * tests/test-fdutimensat.c (main): Likewise.
39565         * tests/test-futimens.c (main): Likewise.
39566         * tests/test-link.c (main): Likewise.
39567         * tests/test-linkat.c (main): Likewise.
39568         * tests/test-mkdir.c (main): Likewise.
39569         * tests/test-mkdirat.c (main): Likewise.
39570         * tests/test-mkfifo.c (main): Likewise.
39571         * tests/test-mkfifoat.c (main): Likewise.
39572         * tests/test-mknod.c (main): Likewise.
39573         * tests/test-readlink.c (main): Likewise.
39574         * tests/test-remove.c (main): Likewise.
39575         * tests/test-rename.c (main): Likewise.
39576         * tests/test-renameat.c (main): Likewise.
39577         * tests/test-symlink.c (main): Likewise.
39578         * tests/test-symlinkat.c (main): Likewise.
39579         * tests/test-utimens.c (main): Likewise.
39580         * tests/test-utimensat.c (main): Likewise.
39581
39582 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39583
39584         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
39585         on $(UNUSED_PARAMETER_H) to avoid build failure.
39586
39587 2009-12-28  Jim Meyering  <meyering@redhat.com>
39588
39589         update-copyright: you may specify a max. line length other than 72
39590         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
39591
39592         maint: use consistent FSF copyright line syntax
39593         * lib/posixtm.c: Add missing comma in FSF copyright line.
39594         * lib/posixtm.h: Likewise.
39595         * lib/getugroups.c: Add missing ", Inc.".
39596
39597         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
39598         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
39599         FSF copyright line.  Remove trailing blanks.
39600
39601 2009-12-28  Eric Blake  <ebb9@byu.net>
39602
39603         test-dup2: reduce dependencies
39604         * modules/cloexec (Configure.ac): Set witness.
39605         * modules/dup2-tests (Depends-on): Drop cloexec.
39606         * tests/test-dup2.c (main): Skip portion of test if cloexec module
39607         not present.
39608         Suggested by Bruno Haible.
39609
39610 2009-12-26  Bruno Haible  <bruno@clisp.org>
39611
39612         Remove an unneeded dependency.
39613         * modules/fseterr (Depends-on): Remove dup2.
39614
39615 2009-12-26  Eric Blake  <ebb9@byu.net>
39616
39617         tests: use macros.h in more places
39618         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
39619         (ASSERT_STREAM): Provide default of stderr.
39620         * tests/test-dirent-safer.c: Include macros.h, using alternate
39621         stream for assertions.
39622         * tests/test-dup-safer.c: Likewise.
39623         * tests/test-freopen-safer.c: Likewise.
39624         * tests/test-getopt.c: Likewise.
39625         * tests/test-openat-safer.c: Likewise.
39626         * tests/test-pipe.c: Likewise.
39627         * tests/test-popen-safer.c: Likewise.
39628         * modules/dirent-safer-tests (Files): Include macros.h.
39629         * modules/unistd-safer-tests (Files): Likewise.
39630         * modules/freopen-safer-tests (Files): Likewise.
39631         * modules/getopt-posix-tests (Files): Likewise.
39632         * modules/openat-safer-tests (Files): Likewise.
39633         * modules/pipe-tests (Files): Likewise.
39634
39635 2009-12-26  Bruno Haible  <bruno@clisp.org>
39636
39637         javacomp: Portability fix.
39638         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
39639         that it also works on Solaris.
39640
39641 2009-12-26  Bruno Haible  <bruno@clisp.org>
39642
39643         localename: Fix storage allocation of gl_locale_name_thread's result.
39644         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
39645         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
39646         all platforms that have 'uselocale'.
39647         (gl_locale_name_thread_unsafe): New function, extracted from
39648         gl_locale_name_thread.
39649         (gl_locale_name_thread): Call struniq on all platforms that have
39650         'uselocale'.
39651         * tests/test-localename.c (test_locale_name_thread): Check that the
39652         resulting strings are permanently allocated.
39653         * modules/localename-tests (Depends-on): Add strdup.
39654
39655 2009-12-26  Bruno Haible  <bruno@clisp.org>
39656
39657         * tests/test-localename.c (categories): Fill in the strings.
39658
39659 2009-12-26  Jim Meyering  <meyering@redhat.com>
39660
39661         isdir: complete the removal of m4/isdir.m4
39662         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
39663
39664         isdir: clean up, since at least grep still uses it
39665         * lib/isdir.c: Include "isdir.h".
39666         (S_ISDIR): Remove now-unneeded definition.
39667         * modules/isdir (Files): Add lib/isdir.h.
39668         * lib/isdir.h: New file, with declaration.
39669         * m4/isdir.m4: Remove file -- unneeded.
39670
39671 2009-12-25  Bruno Haible  <bruno@clisp.org>
39672
39673         selinux-h: Make generated .h files standalone.
39674         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
39675         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
39676         * lib/se-selinux.in.h: Likewise.
39677         * modules/selinux-h (Depends-on): Add unused-parameter.
39678         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
39679         selinux/selinux.h and selinux/context.h.
39680         Suggested by Eric Blake.
39681
39682 2009-12-25  Bruno Haible  <bruno@clisp.org>
39683
39684         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
39685         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
39686         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
39687         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
39688         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
39689
39690 2009-12-24  Bruno Haible  <bruno@clisp.org>
39691
39692         openat: Fix warning.
39693         * lib/openat-proc.c: Include <unistd.h>.
39694
39695 2009-12-24  Bruno Haible  <bruno@clisp.org>
39696
39697         New module 'unused-parameter'.
39698         * build-aux/unused-parameter.h: New file, extracted from earlier
39699         gnulib-common.m4.
39700         * modules/unused-parameter: New file.
39701         * lib/unistr.h: Include unused-parameter.h.
39702         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
39703         _GL_UNUSED.
39704         * modules/unistr/base (Depends-on): Add unused-parameter.
39705
39706 2009-12-24  Bruno Haible  <bruno@clisp.org>
39707
39708         Add missing dependencies to 'extensions' module.
39709         * m4/extensions.m4: Add comment.
39710         * modules/accept4 (Depends-on): Add extensions.
39711         * modules/dup3 (Depends-on): Likewise.
39712         * modules/fcntl (Depends-on): Likewise.
39713         * modules/futimens (Depends-on): Likewise.
39714         * modules/mknod (Depends-on): Likewise.
39715         * modules/pipe2 (Depends-on): Likewise.
39716         * modules/stat-time (Depends-on): Likewise.
39717         * modules/strcasestr-simple (Depends-on): Likewise.
39718         * modules/strsignal (Depends-on): Likewise.
39719         * modules/utimensat (Depends-on): Likewise.
39720         * modules/localcharset (Depends-on): Likewise. Needed because of
39721         gl_FCNTL_O_FLAGS.
39722         * modules/wcrtomb (Depends-on): Likewise. Needed because of
39723         AC_TYPE_MBSTATE_T.
39724         * modules/wcsnrtombs (Depends-on): Likewise.
39725         * modules/wcsrtombs (Depends-on): Likewise.
39726
39727 2009-12-24  Bruno Haible  <bruno@clisp.org>
39728
39729         binary-io: Avoid gcc warning due to SET_BINARY.
39730         * lib/binary-io.h (SET_BINARY): Cast the result to void.
39731         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
39732
39733 2009-12-24  Bruno Haible  <bruno@clisp.org>
39734
39735         Avoid future namespace pollution on glibc systems.
39736         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
39737         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
39738         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
39739         glibc systems.
39740
39741 2009-12-24  Bruno Haible  <bruno@clisp.org>
39742
39743         Refactor common macros used in tests.
39744         * tests/macros.h: New file.
39745         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
39746         and/or <stdlib.h>, if appropriate.
39747         (ASSERT, SIZEOF): Remove macros.
39748         * tests/test-areadlink-with-size.c: Likewise.
39749         * tests/test-areadlinkat.c: Likewise.
39750         * tests/test-areadlinkat-with-size.c: Likewise.
39751         * tests/test-argmatch.c: Likewise.
39752         * tests/test-argv-iter.c: Likewise.
39753         * tests/test-array-mergesort.c: Likewise.
39754         * tests/test-array_list.c: Likewise.
39755         * tests/test-array_oset.c: Likewise.
39756         * tests/test-avltree_list.c: Likewise.
39757         * tests/test-avltree_oset.c: Likewise.
39758         * tests/test-avltreehash_list.c: Likewise.
39759         * tests/test-base64.c: Likewise.
39760         * tests/test-binary-io.c: Likewise.
39761         * tests/test-bitrotate.c: Likewise.
39762         * tests/test-btowc.c: Likewise.
39763         * tests/test-byteswap.c: Likewise.
39764         * tests/test-c-ctype.c: Likewise.
39765         * tests/test-c-stack.c: Likewise.
39766         * tests/test-c-strcasecmp.c: Likewise.
39767         * tests/test-c-strcasestr.c: Likewise.
39768         * tests/test-c-strncasecmp.c: Likewise.
39769         * tests/test-c-strstr.c: Likewise.
39770         * tests/test-canonicalize-lgpl.c: Likewise.
39771         * tests/test-canonicalize.c: Likewise.
39772         * tests/test-carray_list.c: Likewise.
39773         * tests/test-ceilf1.c: Likewise.
39774         * tests/test-ceilf2.c: Likewise.
39775         * tests/test-ceill.c: Likewise.
39776         * tests/test-chown.c: Likewise.
39777         * tests/test-cloexec.c: Likewise.
39778         * tests/test-copy-acl.c: Likewise.
39779         * tests/test-copy-file.c: Likewise.
39780         * tests/test-count-one-bits.c: Likewise.
39781         * tests/test-dprintf-posix.c: Likewise.
39782         * tests/test-dup2.c: Likewise.
39783         * tests/test-dup3.c: Likewise.
39784         * tests/test-duplocale.c: Likewise.
39785         * tests/test-fbufmode.c: Likewise.
39786         * tests/test-fchdir.c: Likewise.
39787         * tests/test-fchownat.c: Likewise.
39788         * tests/test-fcntl-safer.c: Likewise.
39789         * tests/test-fcntl.c: Likewise.
39790         * tests/test-fdopendir.c: Likewise.
39791         * tests/test-fdutimensat.c: Likewise.
39792         * tests/test-fflush2.c: Likewise.
39793         * tests/test-file-has-acl.c: Likewise.
39794         * tests/test-filevercmp.c: Likewise.
39795         * tests/test-flock.c: Likewise.
39796         * tests/test-floorf1.c: Likewise.
39797         * tests/test-floorf2.c: Likewise.
39798         * tests/test-floorl.c: Likewise.
39799         * tests/test-fnmatch.c: Likewise.
39800         * tests/test-fopen.h: Likewise.
39801         * tests/test-fpending.c: Likewise.
39802         * tests/test-fprintf-posix.c: Likewise.
39803         * tests/test-fpurge.c: Likewise.
39804         * tests/test-freadable.c: Likewise.
39805         * tests/test-freadahead.c: Likewise.
39806         * tests/test-freading.c: Likewise.
39807         * tests/test-freadptr.c: Likewise.
39808         * tests/test-freadptr2.c: Likewise.
39809         * tests/test-freadseek.c: Likewise.
39810         * tests/test-freopen.c: Likewise.
39811         * tests/test-frexp.c: Likewise.
39812         * tests/test-frexpl.c: Likewise.
39813         * tests/test-fseek.c: Likewise.
39814         * tests/test-fseeko.c: Likewise.
39815         * tests/test-fstatat.c: Likewise.
39816         * tests/test-fstrcmp.c: Likewise.
39817         * tests/test-fsync.c: Likewise.
39818         * tests/test-ftell.c: Likewise.
39819         * tests/test-ftello.c: Likewise.
39820         * tests/test-func.c: Likewise.
39821         * tests/test-futimens.c: Likewise.
39822         * tests/test-fwritable.c: Likewise.
39823         * tests/test-fwriting.c: Likewise.
39824         * tests/test-getcwd.c: Likewise.
39825         * tests/test-getdate.c: Likewise.
39826         * tests/test-getdelim.c: Likewise.
39827         * tests/test-getdtablesize.c: Likewise.
39828         * tests/test-getgroups.c: Likewise.
39829         * tests/test-getline.c: Likewise.
39830         * tests/test-getndelim2.c: Likewise.
39831         * tests/test-glob.c: Likewise.
39832         * tests/test-hash.c: Likewise.
39833         * tests/test-i-ring.c: Likewise.
39834         * tests/test-iconv-utf.c: Likewise.
39835         * tests/test-iconv.c: Likewise.
39836         * tests/test-idpriv-drop.c: Likewise.
39837         * tests/test-idpriv-droptemp.c: Likewise.
39838         * tests/test-inet_ntop.c: Likewise.
39839         * tests/test-inet_pton.c: Likewise.
39840         * tests/test-isblank.c: Likewise.
39841         * tests/test-isfinite.c: Likewise.
39842         * tests/test-isinf.c: Likewise.
39843         * tests/test-isnan.c: Likewise.
39844         * tests/test-isnand.h: Likewise.
39845         * tests/test-isnanf.h: Likewise.
39846         * tests/test-isnanl.h: Likewise.
39847         * tests/test-lchown.c: Likewise.
39848         * tests/test-ldexpl.c: Likewise.
39849         * tests/test-link.c: Likewise.
39850         * tests/test-linkat.c: Likewise.
39851         * tests/test-linked_list.c: Likewise.
39852         * tests/test-linkedhash_list.c: Likewise.
39853         * tests/test-localename.c: Likewise.
39854         * tests/test-lseek.c: Likewise.
39855         * tests/test-lstat.c: Likewise.
39856         * tests/test-mbmemcasecmp.c: Likewise.
39857         * tests/test-mbmemcasecoll.c: Likewise.
39858         * tests/test-mbrtowc.c: Likewise.
39859         * tests/test-mbscasecmp.c: Likewise.
39860         * tests/test-mbscasestr1.c: Likewise.
39861         * tests/test-mbscasestr2.c: Likewise.
39862         * tests/test-mbscasestr3.c: Likewise.
39863         * tests/test-mbscasestr4.c: Likewise.
39864         * tests/test-mbschr.c: Likewise.
39865         * tests/test-mbscspn.c: Likewise.
39866         * tests/test-mbsinit.c: Likewise.
39867         * tests/test-mbsncasecmp.c: Likewise.
39868         * tests/test-mbsnrtowcs.c: Likewise.
39869         * tests/test-mbspbrk.c: Likewise.
39870         * tests/test-mbspcasecmp.c: Likewise.
39871         * tests/test-mbsrchr.c: Likewise.
39872         * tests/test-mbsrtowcs.c: Likewise.
39873         * tests/test-mbsspn.c: Likewise.
39874         * tests/test-mbsstr1.c: Likewise.
39875         * tests/test-mbsstr2.c: Likewise.
39876         * tests/test-mbsstr3.c: Likewise.
39877         * tests/test-memchr.c: Likewise.
39878         * tests/test-memchr2.c: Likewise.
39879         * tests/test-memcmp.c: Likewise.
39880         * tests/test-memmem.c: Likewise.
39881         * tests/test-memrchr.c: Likewise.
39882         * tests/test-mkdir.c: Likewise.
39883         * tests/test-mkdirat.c: Likewise.
39884         * tests/test-mkfifo.c: Likewise.
39885         * tests/test-mkfifoat.c: Likewise.
39886         * tests/test-mknod.c: Likewise.
39887         * tests/test-nanosleep.c: Likewise.
39888         * tests/test-nl_langinfo.c: Likewise.
39889         * tests/test-obstack-printf.c: Likewise.
39890         * tests/test-open.c: Likewise.
39891         * tests/test-openat.c: Likewise.
39892         * tests/test-pipe-filter-gi1.c: Likewise.
39893         * tests/test-pipe-filter-gi2-main.c: Likewise.
39894         * tests/test-pipe-filter-ii1.c: Likewise.
39895         * tests/test-pipe-filter-ii2-main.c: Likewise.
39896         * tests/test-pipe2.c: Likewise.
39897         * tests/test-popen.h: Likewise.
39898         * tests/test-posixtm.c: Likewise.
39899         * tests/test-pread.c: Likewise.
39900         * tests/test-printf-frexp.c: Likewise.
39901         * tests/test-printf-frexpl.c: Likewise.
39902         * tests/test-printf-posix.c: Likewise.
39903         * tests/test-priv-set.c: Likewise.
39904         * tests/test-quotearg.c: Likewise.
39905         * tests/test-random_r.c: Likewise.
39906         * tests/test-rawmemchr.c: Likewise.
39907         * tests/test-rbtree_list.c: Likewise.
39908         * tests/test-rbtree_oset.c: Likewise.
39909         * tests/test-rbtreehash_list.c: Likewise.
39910         * tests/test-readlink.c: Likewise.
39911         * tests/test-remove.c: Likewise.
39912         * tests/test-rename.c: Likewise.
39913         * tests/test-renameat.c: Likewise.
39914         * tests/test-rmdir.c: Likewise.
39915         * tests/test-round1.c: Likewise.
39916         * tests/test-roundf1.c: Likewise.
39917         * tests/test-roundl.c: Likewise.
39918         * tests/test-safe-alloc.c: Likewise.
39919         * tests/test-sameacls.c: Likewise.
39920         * tests/test-set-mode-acl.c: Likewise.
39921         * tests/test-setenv.c: Likewise.
39922         * tests/test-sigaction.c: Likewise.
39923         * tests/test-signbit.c: Likewise.
39924         * tests/test-sleep.c: Likewise.
39925         * tests/test-snprintf-posix.c: Likewise.
39926         * tests/test-snprintf.c: Likewise.
39927         * tests/test-sprintf-posix.c: Likewise.
39928         * tests/test-stat-time.c: Likewise.
39929         * tests/test-stat.c: Likewise.
39930         * tests/test-strcasestr.c: Likewise.
39931         * tests/test-strchrnul.c: Likewise.
39932         * tests/test-strerror.c: Likewise.
39933         * tests/test-striconv.c: Likewise.
39934         * tests/test-striconveh.c: Likewise.
39935         * tests/test-striconveha.c: Likewise.
39936         * tests/test-strsignal.c: Likewise.
39937         * tests/test-strstr.c: Likewise.
39938         * tests/test-strtod.c: Likewise.
39939         * tests/test-strverscmp.c: Likewise.
39940         * tests/test-symlink.c: Likewise.
39941         * tests/test-symlinkat.c: Likewise.
39942         * tests/test-trunc1.c: Likewise.
39943         * tests/test-trunc2.c: Likewise.
39944         * tests/test-truncf1.c: Likewise.
39945         * tests/test-truncf2.c: Likewise.
39946         * tests/test-truncl.c: Likewise.
39947         * tests/test-uname.c: Likewise.
39948         * tests/test-unlink.c: Likewise.
39949         * tests/test-unlinkat.c: Likewise.
39950         * tests/test-unsetenv.c: Likewise.
39951         * tests/test-usleep.c: Likewise.
39952         * tests/test-utimens.c: Likewise.
39953         * tests/test-utimensat.c: Likewise.
39954         * tests/test-vasnprintf-posix.c: Likewise.
39955         * tests/test-vasnprintf-posix2.c: Likewise.
39956         * tests/test-vasnprintf.c: Likewise.
39957         * tests/test-vasprintf-posix.c: Likewise.
39958         * tests/test-vasprintf.c: Likewise.
39959         * tests/test-vdprintf-posix.c: Likewise.
39960         * tests/test-vfprintf-posix.c: Likewise.
39961         * tests/test-vprintf-posix.c: Likewise.
39962         * tests/test-vsnprintf-posix.c: Likewise.
39963         * tests/test-vsnprintf.c: Likewise.
39964         * tests/test-vsprintf-posix.c: Likewise.
39965         * tests/test-wcrtomb.c: Likewise.
39966         * tests/test-wcsnrtombs.c: Likewise.
39967         * tests/test-wcsrtombs.c: Likewise.
39968         * tests/test-wctype.c: Likewise.
39969         * tests/test-wcwidth.c: Likewise.
39970         * tests/test-xfprintf-posix.c: Likewise.
39971         * tests/test-xmemdup0.c: Likewise.
39972         * tests/test-xprintf-posix.c: Likewise.
39973         * tests/test-xvasprintf.c: Likewise.
39974         * tests/unicase/test-locale-language.c: Likewise.
39975         * tests/unicase/test-mapping-part1.h: Likewise.
39976         * tests/unicase/test-predicate-part1.h: Likewise.
39977         * tests/unicase/test-u8-casecmp.c: Likewise.
39978         * tests/unicase/test-u8-casecoll.c: Likewise.
39979         * tests/unicase/test-u8-casefold.c: Likewise.
39980         * tests/unicase/test-u8-is-cased.c: Likewise.
39981         * tests/unicase/test-u8-is-casefolded.c: Likewise.
39982         * tests/unicase/test-u8-is-lowercase.c: Likewise.
39983         * tests/unicase/test-u8-is-titlecase.c: Likewise.
39984         * tests/unicase/test-u8-is-uppercase.c: Likewise.
39985         * tests/unicase/test-u8-tolower.c: Likewise.
39986         * tests/unicase/test-u8-totitle.c: Likewise.
39987         * tests/unicase/test-u8-toupper.c: Likewise.
39988         * tests/unicase/test-u16-casecmp.c: Likewise.
39989         * tests/unicase/test-u16-casecoll.c: Likewise.
39990         * tests/unicase/test-u16-casefold.c: Likewise.
39991         * tests/unicase/test-u16-is-cased.c: Likewise.
39992         * tests/unicase/test-u16-is-casefolded.c: Likewise.
39993         * tests/unicase/test-u16-is-lowercase.c: Likewise.
39994         * tests/unicase/test-u16-is-titlecase.c: Likewise.
39995         * tests/unicase/test-u16-is-uppercase.c: Likewise.
39996         * tests/unicase/test-u16-tolower.c: Likewise.
39997         * tests/unicase/test-u16-totitle.c: Likewise.
39998         * tests/unicase/test-u16-toupper.c: Likewise.
39999         * tests/unicase/test-u32-casecmp.c: Likewise.
40000         * tests/unicase/test-u32-casecoll.c: Likewise.
40001         * tests/unicase/test-u32-casefold.c: Likewise.
40002         * tests/unicase/test-u32-is-cased.c: Likewise.
40003         * tests/unicase/test-u32-is-casefolded.c: Likewise.
40004         * tests/unicase/test-u32-is-lowercase.c: Likewise.
40005         * tests/unicase/test-u32-is-titlecase.c: Likewise.
40006         * tests/unicase/test-u32-is-uppercase.c: Likewise.
40007         * tests/unicase/test-u32-tolower.c: Likewise.
40008         * tests/unicase/test-u32-totitle.c: Likewise.
40009         * tests/unicase/test-u32-toupper.c: Likewise.
40010         * tests/unicase/test-ulc-casecmp.c: Likewise.
40011         * tests/unicase/test-ulc-casecoll.c: Likewise.
40012         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
40013         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
40014         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
40015         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
40016         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
40017         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
40018         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
40019         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
40020         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
40021         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
40022         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
40023         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
40024         * tests/unictype/test-bidi_byname.c: Likewise.
40025         * tests/unictype/test-bidi_name.c: Likewise.
40026         * tests/unictype/test-bidi_of.c: Likewise.
40027         * tests/unictype/test-bidi_test.c: Likewise.
40028         * tests/unictype/test-block_list.c: Likewise.
40029         * tests/unictype/test-block_of.c: Likewise.
40030         * tests/unictype/test-block_test.c: Likewise.
40031         * tests/unictype/test-categ_and.c: Likewise.
40032         * tests/unictype/test-categ_and_not.c: Likewise.
40033         * tests/unictype/test-categ_byname.c: Likewise.
40034         * tests/unictype/test-categ_name.c: Likewise.
40035         * tests/unictype/test-categ_none.c: Likewise.
40036         * tests/unictype/test-categ_of.c: Likewise.
40037         * tests/unictype/test-categ_or.c: Likewise.
40038         * tests/unictype/test-categ_test_withtable.c: Likewise.
40039         * tests/unictype/test-combining.c: Likewise.
40040         * tests/unictype/test-decdigit.c: Likewise.
40041         * tests/unictype/test-digit.c: Likewise.
40042         * tests/unictype/test-mirror.c: Likewise.
40043         * tests/unictype/test-numeric.c: Likewise.
40044         * tests/unictype/test-pr_byname.c: Likewise.
40045         * tests/unictype/test-pr_test.c: Likewise.
40046         * tests/unictype/test-predicate-part1.h: Likewise.
40047         * tests/unictype/test-scripts.c: Likewise.
40048         * tests/unictype/test-sy_c_ident.c: Likewise.
40049         * tests/unictype/test-sy_java_ident.c: Likewise.
40050         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
40051         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
40052         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
40053         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
40054         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
40055         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
40056         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
40057         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
40058         * tests/uninorm/test-canonical-decomposition.c: Likewise.
40059         * tests/uninorm/test-compat-decomposition.c: Likewise.
40060         * tests/uninorm/test-composition.c: Likewise.
40061         * tests/uninorm/test-decomposing-form.c: Likewise.
40062         * tests/uninorm/test-decomposition.c: Likewise.
40063         * tests/uninorm/test-u8-nfc.c: Likewise.
40064         * tests/uninorm/test-u8-nfd.c: Likewise.
40065         * tests/uninorm/test-u8-nfkc.c: Likewise.
40066         * tests/uninorm/test-u8-nfkd.c: Likewise.
40067         * tests/uninorm/test-u8-normcmp.c: Likewise.
40068         * tests/uninorm/test-u8-normcoll.c: Likewise.
40069         * tests/uninorm/test-u16-nfc.c: Likewise.
40070         * tests/uninorm/test-u16-nfd.c: Likewise.
40071         * tests/uninorm/test-u16-nfkc.c: Likewise.
40072         * tests/uninorm/test-u16-nfkd.c: Likewise.
40073         * tests/uninorm/test-u16-normcmp.c: Likewise.
40074         * tests/uninorm/test-u16-normcoll.c: Likewise.
40075         * tests/uninorm/test-u32-nfc.c: Likewise.
40076         * tests/uninorm/test-u32-nfd.c: Likewise.
40077         * tests/uninorm/test-u32-nfkc.c: Likewise.
40078         * tests/uninorm/test-u32-nfkd.c: Likewise.
40079         * tests/uninorm/test-u32-normalize-big.c: Likewise.
40080         * tests/uninorm/test-u32-normcmp.c: Likewise.
40081         * tests/uninorm/test-u32-normcoll.c: Likewise.
40082         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
40083         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
40084         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
40085         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
40086         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
40087         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
40088         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
40089         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
40090         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
40091         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
40092         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
40093         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
40094         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
40095         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
40096         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
40097         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
40098         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
40099         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
40100         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
40101         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
40102         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
40103         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
40104         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
40105         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
40106         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
40107         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
40108         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
40109         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
40110         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
40111         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
40112         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
40113         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
40114         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
40115         * tests/uniwidth/test-u8-strwidth.c: Likewise.
40116         * tests/uniwidth/test-u8-width.c: Likewise.
40117         * tests/uniwidth/test-u16-strwidth.c: Likewise.
40118         * tests/uniwidth/test-u16-width.c: Likewise.
40119         * tests/uniwidth/test-u32-strwidth.c: Likewise.
40120         * tests/uniwidth/test-u32-width.c: Likewise.
40121         * tests/uniwidth/test-uc_width.c: Likewise.
40122         * tests/uniwidth/test-uc_width2.c: Likewise.
40123         * modules/acl-tests (Files): Add tests/macros.h.
40124         * modules/areadlink-tests (Files): Likewise.
40125         * modules/areadlink-with-size-tests (Files): Likewise.
40126         * modules/areadlinkat-tests (Files): Likewise.
40127         * modules/areadlinkat-with-size-tests (Files): Likewise.
40128         * modules/argmatch-tests (Files): Likewise.
40129         * modules/argv-iter-tests (Files): Likewise.
40130         * modules/array-list-tests (Files): Likewise.
40131         * modules/array-mergesort-tests (Files): Likewise.
40132         * modules/array-oset-tests (Files): Likewise.
40133         * modules/avltree-list-tests (Files): Likewise.
40134         * modules/avltree-oset-tests (Files): Likewise.
40135         * modules/avltreehash-list-tests (Files): Likewise.
40136         * modules/base64-tests (Files): Likewise.
40137         * modules/binary-io-tests (Files): Likewise.
40138         * modules/bitrotate-tests (Files): Likewise.
40139         * modules/btowc-tests (Files): Likewise.
40140         * modules/byteswap-tests (Files): Likewise.
40141         * modules/c-ctype-tests (Files): Likewise.
40142         * modules/c-stack-tests (Files): Likewise.
40143         * modules/c-strcase-tests (Files): Likewise.
40144         * modules/c-strcasestr-tests (Files): Likewise.
40145         * modules/c-strstr-tests (Files): Likewise.
40146         * modules/canonicalize-lgpl-tests (Files): Likewise.
40147         * modules/canonicalize-tests (Files): Likewise.
40148         * modules/carray-list-tests (Files): Likewise.
40149         * modules/ceilf-tests (Files): Likewise.
40150         * modules/ceill-tests (Files): Likewise.
40151         * modules/chown-tests (Files): Likewise.
40152         * modules/cloexec-tests (Files): Likewise.
40153         * modules/copy-file-tests (Files): Likewise.
40154         * modules/count-one-bits-tests (Files): Likewise.
40155         * modules/dprintf-posix-tests (Files): Likewise.
40156         * modules/dup2-tests (Files): Likewise.
40157         * modules/dup3-tests (Files): Likewise.
40158         * modules/duplocale-tests (Files): Likewise.
40159         * modules/fbufmode-tests (Files): Likewise.
40160         * modules/fchdir-tests (Files): Likewise.
40161         * modules/fcntl-safer-tests (Files): Likewise.
40162         * modules/fcntl-tests (Files): Likewise.
40163         * modules/fdopendir-tests (Files): Likewise.
40164         * modules/fdutimensat-tests (Files): Likewise.
40165         * modules/fflush-tests (Files): Likewise.
40166         * modules/filevercmp-tests (Files): Likewise.
40167         * modules/flock-tests (Files): Likewise.
40168         * modules/floorf-tests (Files): Likewise.
40169         * modules/floorl-tests (Files): Likewise.
40170         * modules/fnmatch-tests (Files): Likewise.
40171         * modules/fopen-safer-tests (Files): Likewise.
40172         * modules/fopen-tests (Files): Likewise.
40173         * modules/fpending-tests (Files): Likewise.
40174         * modules/fprintf-posix-tests (Files): Likewise.
40175         * modules/fpurge-tests (Files): Likewise.
40176         * modules/freadable-tests (Files): Likewise.
40177         * modules/freadahead-tests (Files): Likewise.
40178         * modules/freading-tests (Files): Likewise.
40179         * modules/freadptr-tests (Files): Likewise.
40180         * modules/freadseek-tests (Files): Likewise.
40181         * modules/freopen-tests (Files): Likewise.
40182         * modules/frexp-nolibm-tests (Files): Likewise.
40183         * modules/frexp-tests (Files): Likewise.
40184         * modules/frexpl-nolibm-tests (Files): Likewise.
40185         * modules/frexpl-tests (Files): Likewise.
40186         * modules/fseek-tests (Files): Likewise.
40187         * modules/fseeko-tests (Files): Likewise.
40188         * modules/fstrcmp-tests (Files): Likewise.
40189         * modules/fsync-tests (Files): Likewise.
40190         * modules/ftell-tests (Files): Likewise.
40191         * modules/ftello-tests (Files): Likewise.
40192         * modules/func-tests (Files): Likewise.
40193         * modules/futimens-tests (Files): Likewise.
40194         * modules/fwritable-tests (Files): Likewise.
40195         * modules/fwriting-tests (Files): Likewise.
40196         * modules/getcwd-tests (Files): Likewise.
40197         * modules/getdate-tests (Files): Likewise.
40198         * modules/getdelim-tests (Files): Likewise.
40199         * modules/getdtablesize-tests (Files): Likewise.
40200         * modules/getgroups-tests (Files): Likewise.
40201         * modules/getline-tests (Files): Likewise.
40202         * modules/getndelim2-tests (Files): Likewise.
40203         * modules/glob-tests (Files): Likewise.
40204         * modules/hash-tests (Files): Likewise.
40205         * modules/i-ring-tests (Files): Likewise.
40206         * modules/iconv-tests (Files): Likewise.
40207         * modules/iconv_open-utf-tests (Files): Likewise.
40208         * modules/idpriv-drop-tests (Files): Likewise.
40209         * modules/idpriv-droptemp-tests (Files): Likewise.
40210         * modules/inet_ntop-tests (Files): Likewise.
40211         * modules/inet_pton-tests (Files): Likewise.
40212         * modules/isblank-tests (Files): Likewise.
40213         * modules/isfinite-tests (Files): Likewise.
40214         * modules/isinf-tests (Files): Likewise.
40215         * modules/isnan-tests (Files): Likewise.
40216         * modules/isnand-nolibm-tests (Files): Likewise.
40217         * modules/isnand-tests (Files): Likewise.
40218         * modules/isnanf-nolibm-tests (Files): Likewise.
40219         * modules/isnanf-tests (Files): Likewise.
40220         * modules/isnanl-nolibm-tests (Files): Likewise.
40221         * modules/isnanl-tests (Files): Likewise.
40222         * modules/lchown-tests (Files): Likewise.
40223         * modules/ldexpl-tests (Files): Likewise.
40224         * modules/link-tests (Files): Likewise.
40225         * modules/linkat-tests (Files): Likewise.
40226         * modules/linked-list-tests (Files): Likewise.
40227         * modules/linkedhash-list-tests (Files): Likewise.
40228         * modules/localename-tests (Files): Likewise.
40229         * modules/lseek-tests (Files): Likewise.
40230         * modules/lstat-tests (Files): Likewise.
40231         * modules/mbmemcasecmp-tests (Files): Likewise.
40232         * modules/mbmemcasecoll-tests (Files): Likewise.
40233         * modules/mbrtowc-tests (Files): Likewise.
40234         * modules/mbscasecmp-tests (Files): Likewise.
40235         * modules/mbscasestr-tests (Files): Likewise.
40236         * modules/mbschr-tests (Files): Likewise.
40237         * modules/mbscspn-tests (Files): Likewise.
40238         * modules/mbsinit-tests (Files): Likewise.
40239         * modules/mbsncasecmp-tests (Files): Likewise.
40240         * modules/mbsnrtowcs-tests (Files): Likewise.
40241         * modules/mbspbrk-tests (Files): Likewise.
40242         * modules/mbspcasecmp-tests (Files): Likewise.
40243         * modules/mbsrchr-tests (Files): Likewise.
40244         * modules/mbsrtowcs-tests (Files): Likewise.
40245         * modules/mbsspn-tests (Files): Likewise.
40246         * modules/mbsstr-tests (Files): Likewise.
40247         * modules/memchr-tests (Files): Likewise.
40248         * modules/memchr2-tests (Files): Likewise.
40249         * modules/memcmp-tests (Files): Likewise.
40250         * modules/memmem-tests (Files): Likewise.
40251         * modules/memrchr-tests (Files): Likewise.
40252         * modules/mkdir-tests (Files): Likewise.
40253         * modules/mkfifo-tests (Files): Likewise.
40254         * modules/mkfifoat-tests (Files): Likewise.
40255         * modules/mknod-tests (Files): Likewise.
40256         * modules/nanosleep-tests (Files): Likewise.
40257         * modules/nl_langinfo-tests (Files): Likewise.
40258         * modules/obstack-printf-tests (Files): Likewise.
40259         * modules/open-tests (Files): Likewise.
40260         * modules/openat-tests (Files): Likewise.
40261         * modules/pipe-filter-gi-tests (Files): Likewise.
40262         * modules/pipe-filter-ii-tests (Files): Likewise.
40263         * modules/pipe2-tests (Files): Likewise.
40264         * modules/popen-safer-tests (Files): Likewise.
40265         * modules/popen-tests (Files): Likewise.
40266         * modules/posixtm-tests (Files): Likewise.
40267         * modules/pread-tests (Files): Likewise.
40268         * modules/printf-frexp-tests (Files): Likewise.
40269         * modules/printf-frexpl-tests (Files): Likewise.
40270         * modules/printf-posix-tests (Files): Likewise.
40271         * modules/priv-set-tests (Files): Likewise.
40272         * modules/quotearg-tests (Files): Likewise.
40273         * modules/random_r-tests (Files): Likewise.
40274         * modules/rawmemchr-tests (Files): Likewise.
40275         * modules/rbtree-list-tests (Files): Likewise.
40276         * modules/rbtree-oset-tests (Files): Likewise.
40277         * modules/rbtreehash-list-tests (Files): Likewise.
40278         * modules/readlink-tests (Files): Likewise.
40279         * modules/remove-tests (Files): Likewise.
40280         * modules/rename-tests (Files): Likewise.
40281         * modules/renameat-tests (Files): Likewise.
40282         * modules/rmdir-tests (Files): Likewise.
40283         * modules/round-tests (Files): Likewise.
40284         * modules/roundf-tests (Files): Likewise.
40285         * modules/roundl-tests (Files): Likewise.
40286         * modules/safe-alloc-tests (Files): Likewise.
40287         * modules/setenv-tests (Files): Likewise.
40288         * modules/sigaction-tests (Files): Likewise.
40289         * modules/signbit-tests (Files): Likewise.
40290         * modules/sleep-tests (Files): Likewise.
40291         * modules/snprintf-posix-tests (Files): Likewise.
40292         * modules/snprintf-tests (Files): Likewise.
40293         * modules/sprintf-posix-tests (Files): Likewise.
40294         * modules/stat-tests (Files): Likewise.
40295         * modules/stat-time-tests (Files): Likewise.
40296         * modules/strcasestr-tests (Files): Likewise.
40297         * modules/strchrnul-tests (Files): Likewise.
40298         * modules/strerror-tests (Files): Likewise.
40299         * modules/striconv-tests (Files): Likewise.
40300         * modules/striconveh-tests (Files): Likewise.
40301         * modules/striconveha-tests (Files): Likewise.
40302         * modules/strsignal-tests (Files): Likewise.
40303         * modules/strstr-tests (Files): Likewise.
40304         * modules/strtod-tests (Files): Likewise.
40305         * modules/strverscmp-tests (Files): Likewise.
40306         * modules/symlink-tests (Files): Likewise.
40307         * modules/symlinkat-tests (Files): Likewise.
40308         * modules/trunc-tests (Files): Likewise.
40309         * modules/truncf-tests (Files): Likewise.
40310         * modules/truncl-tests (Files): Likewise.
40311         * modules/uname-tests (Files): Likewise.
40312         * modules/unicase/cased-tests (Files): Likewise.
40313         * modules/unicase/ignorable-tests (Files): Likewise.
40314         * modules/unicase/locale-language-tests (Files): Likewise.
40315         * modules/unicase/tolower-tests (Files): Likewise.
40316         * modules/unicase/totitle-tests (Files): Likewise.
40317         * modules/unicase/toupper-tests (Files): Likewise.
40318         * modules/unicase/u8-casecmp-tests (Files): Likewise.
40319         * modules/unicase/u8-casecoll-tests (Files): Likewise.
40320         * modules/unicase/u8-casefold-tests (Files): Likewise.
40321         * modules/unicase/u8-is-cased-tests (Files): Likewise.
40322         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
40323         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
40324         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
40325         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
40326         * modules/unicase/u8-tolower-tests (Files): Likewise.
40327         * modules/unicase/u8-totitle-tests (Files): Likewise.
40328         * modules/unicase/u8-toupper-tests (Files): Likewise.
40329         * modules/unicase/u16-casecmp-tests (Files): Likewise.
40330         * modules/unicase/u16-casecoll-tests (Files): Likewise.
40331         * modules/unicase/u16-casefold-tests (Files): Likewise.
40332         * modules/unicase/u16-is-cased-tests (Files): Likewise.
40333         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
40334         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
40335         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
40336         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
40337         * modules/unicase/u16-tolower-tests (Files): Likewise.
40338         * modules/unicase/u16-totitle-tests (Files): Likewise.
40339         * modules/unicase/u16-toupper-tests (Files): Likewise.
40340         * modules/unicase/u32-casecmp-tests (Files): Likewise.
40341         * modules/unicase/u32-casecoll-tests (Files): Likewise.
40342         * modules/unicase/u32-casefold-tests (Files): Likewise.
40343         * modules/unicase/u32-is-cased-tests (Files): Likewise.
40344         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
40345         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
40346         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
40347         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
40348         * modules/unicase/u32-tolower-tests (Files): Likewise.
40349         * modules/unicase/u32-totitle-tests (Files): Likewise.
40350         * modules/unicase/u32-toupper-tests (Files): Likewise.
40351         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
40352         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
40353         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
40354         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
40355         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
40356         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
40357         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
40358         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
40359         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
40360         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
40361         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
40362         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
40363         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
40364         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
40365         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
40366         * modules/unictype/bidicategory-name-tests (Files): Likewise.
40367         * modules/unictype/bidicategory-of-tests (Files): Likewise.
40368         * modules/unictype/bidicategory-test-tests (Files): Likewise.
40369         * modules/unictype/block-list-tests (Files): Likewise.
40370         * modules/unictype/block-of-tests (Files): Likewise.
40371         * modules/unictype/block-test-tests (Files): Likewise.
40372         * modules/unictype/category-C-tests (Files): Likewise.
40373         * modules/unictype/category-Cc-tests (Files): Likewise.
40374         * modules/unictype/category-Cf-tests (Files): Likewise.
40375         * modules/unictype/category-Cn-tests (Files): Likewise.
40376         * modules/unictype/category-Co-tests (Files): Likewise.
40377         * modules/unictype/category-Cs-tests (Files): Likewise.
40378         * modules/unictype/category-L-tests (Files): Likewise.
40379         * modules/unictype/category-Ll-tests (Files): Likewise.
40380         * modules/unictype/category-Lm-tests (Files): Likewise.
40381         * modules/unictype/category-Lo-tests (Files): Likewise.
40382         * modules/unictype/category-Lt-tests (Files): Likewise.
40383         * modules/unictype/category-Lu-tests (Files): Likewise.
40384         * modules/unictype/category-M-tests (Files): Likewise.
40385         * modules/unictype/category-Mc-tests (Files): Likewise.
40386         * modules/unictype/category-Me-tests (Files): Likewise.
40387         * modules/unictype/category-Mn-tests (Files): Likewise.
40388         * modules/unictype/category-N-tests (Files): Likewise.
40389         * modules/unictype/category-Nd-tests (Files): Likewise.
40390         * modules/unictype/category-Nl-tests (Files): Likewise.
40391         * modules/unictype/category-No-tests (Files): Likewise.
40392         * modules/unictype/category-P-tests (Files): Likewise.
40393         * modules/unictype/category-Pc-tests (Files): Likewise.
40394         * modules/unictype/category-Pd-tests (Files): Likewise.
40395         * modules/unictype/category-Pe-tests (Files): Likewise.
40396         * modules/unictype/category-Pf-tests (Files): Likewise.
40397         * modules/unictype/category-Pi-tests (Files): Likewise.
40398         * modules/unictype/category-Po-tests (Files): Likewise.
40399         * modules/unictype/category-Ps-tests (Files): Likewise.
40400         * modules/unictype/category-S-tests (Files): Likewise.
40401         * modules/unictype/category-Sc-tests (Files): Likewise.
40402         * modules/unictype/category-Sk-tests (Files): Likewise.
40403         * modules/unictype/category-Sm-tests (Files): Likewise.
40404         * modules/unictype/category-So-tests (Files): Likewise.
40405         * modules/unictype/category-Z-tests (Files): Likewise.
40406         * modules/unictype/category-Zl-tests (Files): Likewise.
40407         * modules/unictype/category-Zp-tests (Files): Likewise.
40408         * modules/unictype/category-Zs-tests (Files): Likewise.
40409         * modules/unictype/category-and-not-tests (Files): Likewise.
40410         * modules/unictype/category-and-tests (Files): Likewise.
40411         * modules/unictype/category-byname-tests (Files): Likewise.
40412         * modules/unictype/category-name-tests (Files): Likewise.
40413         * modules/unictype/category-none-tests (Files): Likewise.
40414         * modules/unictype/category-of-tests (Files): Likewise.
40415         * modules/unictype/category-or-tests (Files): Likewise.
40416         * modules/unictype/category-test-withtable-tests (Files): Likewise.
40417         * modules/unictype/combining-class-tests (Files): Likewise.
40418         * modules/unictype/ctype-alnum-tests (Files): Likewise.
40419         * modules/unictype/ctype-alpha-tests (Files): Likewise.
40420         * modules/unictype/ctype-blank-tests (Files): Likewise.
40421         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
40422         * modules/unictype/ctype-digit-tests (Files): Likewise.
40423         * modules/unictype/ctype-graph-tests (Files): Likewise.
40424         * modules/unictype/ctype-lower-tests (Files): Likewise.
40425         * modules/unictype/ctype-print-tests (Files): Likewise.
40426         * modules/unictype/ctype-punct-tests (Files): Likewise.
40427         * modules/unictype/ctype-space-tests (Files): Likewise.
40428         * modules/unictype/ctype-upper-tests (Files): Likewise.
40429         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
40430         * modules/unictype/decimal-digit-tests (Files): Likewise.
40431         * modules/unictype/digit-tests (Files): Likewise.
40432         * modules/unictype/mirror-tests (Files): Likewise.
40433         * modules/unictype/numeric-tests (Files): Likewise.
40434         * modules/unictype/property-alphabetic-tests (Files): Likewise.
40435         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
40436         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
40437         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
40438         Likewise.
40439         * modules/unictype/property-bidi-block-separator-tests (Files):
40440         Likewise.
40441         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
40442         Likewise.
40443         * modules/unictype/property-bidi-common-separator-tests (Files):
40444         Likewise.
40445         * modules/unictype/property-bidi-control-tests (Files): Likewise.
40446         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
40447         Likewise.
40448         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
40449         Likewise.
40450         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
40451         Likewise.
40452         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
40453         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
40454         Likewise.
40455         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
40456         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
40457         Likewise.
40458         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
40459         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
40460         * modules/unictype/property-bidi-segment-separator-tests (Files):
40461         Likewise.
40462         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
40463         * modules/unictype/property-byname-tests (Files): Likewise.
40464         * modules/unictype/property-combining-tests (Files): Likewise.
40465         * modules/unictype/property-composite-tests (Files): Likewise.
40466         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
40467         * modules/unictype/property-dash-tests (Files): Likewise.
40468         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
40469         * modules/unictype/property-default-ignorable-code-point-tests (Files):
40470         Likewise.
40471         * modules/unictype/property-deprecated-tests (Files): Likewise.
40472         * modules/unictype/property-diacritic-tests (Files): Likewise.
40473         * modules/unictype/property-extender-tests (Files): Likewise.
40474         * modules/unictype/property-format-control-tests (Files): Likewise.
40475         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
40476         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
40477         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
40478         * modules/unictype/property-hex-digit-tests (Files): Likewise.
40479         * modules/unictype/property-hyphen-tests (Files): Likewise.
40480         * modules/unictype/property-id-continue-tests (Files): Likewise.
40481         * modules/unictype/property-id-start-tests (Files): Likewise.
40482         * modules/unictype/property-ideographic-tests (Files): Likewise.
40483         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
40484         * modules/unictype/property-ids-trinary-operator-tests (Files):
40485         Likewise.
40486         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
40487         * modules/unictype/property-iso-control-tests (Files): Likewise.
40488         * modules/unictype/property-join-control-tests (Files): Likewise.
40489         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
40490         * modules/unictype/property-line-separator-tests (Files): Likewise.
40491         * modules/unictype/property-logical-order-exception-tests (Files):
40492         Likewise.
40493         * modules/unictype/property-lowercase-tests (Files): Likewise.
40494         * modules/unictype/property-math-tests (Files): Likewise.
40495         * modules/unictype/property-non-break-tests (Files): Likewise.
40496         * modules/unictype/property-not-a-character-tests (Files): Likewise.
40497         * modules/unictype/property-numeric-tests (Files): Likewise.
40498         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
40499         * modules/unictype/property-other-default-ignorable-code-point-tests
40500         (Files): Likewise.
40501         * modules/unictype/property-other-grapheme-extend-tests (Files):
40502         Likewise.
40503         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
40504         * modules/unictype/property-other-id-start-tests (Files): Likewise.
40505         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
40506         * modules/unictype/property-other-math-tests (Files): Likewise.
40507         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
40508         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
40509         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
40510         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
40511         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
40512         * modules/unictype/property-private-use-tests (Files): Likewise.
40513         * modules/unictype/property-punctuation-tests (Files): Likewise.
40514         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
40515         * modules/unictype/property-radical-tests (Files): Likewise.
40516         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
40517         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
40518         * modules/unictype/property-space-tests (Files): Likewise.
40519         * modules/unictype/property-terminal-punctuation-tests (Files):
40520         Likewise.
40521         * modules/unictype/property-test-tests (Files): Likewise.
40522         * modules/unictype/property-titlecase-tests (Files): Likewise.
40523         * modules/unictype/property-unassigned-code-value-tests (Files):
40524         Likewise.
40525         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
40526         * modules/unictype/property-uppercase-tests (Files): Likewise.
40527         * modules/unictype/property-variation-selector-tests (Files): Likewise.
40528         * modules/unictype/property-white-space-tests (Files): Likewise.
40529         * modules/unictype/property-xid-continue-tests (Files): Likewise.
40530         * modules/unictype/property-xid-start-tests (Files): Likewise.
40531         * modules/unictype/property-zero-width-tests (Files): Likewise.
40532         * modules/unictype/scripts-tests (Files): Likewise.
40533         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
40534         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
40535         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
40536         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
40537         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
40538         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
40539         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
40540         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
40541         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
40542         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
40543         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
40544         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
40545         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
40546         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
40547         * modules/uninorm/composition-tests (Files): Likewise.
40548         * modules/uninorm/decomposing-form-tests (Files): Likewise.
40549         * modules/uninorm/decomposition-tests (Files): Likewise.
40550         * modules/uninorm/filter-tests (Files): Likewise.
40551         * modules/uninorm/nfc-tests (Files): Likewise.
40552         * modules/uninorm/nfd-tests (Files): Likewise.
40553         * modules/uninorm/nfkc-tests (Files): Likewise.
40554         * modules/uninorm/nfkd-tests (Files): Likewise.
40555         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
40556         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
40557         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
40558         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
40559         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
40560         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
40561         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
40562         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
40563         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
40564         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
40565         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
40566         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
40567         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
40568         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
40569         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
40570         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
40571         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
40572         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
40573         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
40574         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
40575         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
40576         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
40577         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
40578         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
40579         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
40580         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
40581         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
40582         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
40583         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
40584         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
40585         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
40586         * modules/uniwidth/u8-width-tests (Files): Likewise.
40587         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
40588         * modules/uniwidth/u16-width-tests (Files): Likewise.
40589         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
40590         * modules/uniwidth/u32-width-tests (Files): Likewise.
40591         * modules/uniwidth/width-tests (Files): Likewise.
40592         * modules/unlink-tests (Files): Likewise.
40593         * modules/unsetenv-tests (Files): Likewise.
40594         * modules/usleep-tests (Files): Likewise.
40595         * modules/utimens-tests (Files): Likewise.
40596         * modules/utimensat-tests (Files): Likewise.
40597         * modules/vasnprintf-posix-tests (Files): Likewise.
40598         * modules/vasnprintf-tests (Files): Likewise.
40599         * modules/vasprintf-posix-tests (Files): Likewise.
40600         * modules/vasprintf-tests (Files): Likewise.
40601         * modules/vdprintf-posix-tests (Files): Likewise.
40602         * modules/vfprintf-posix-tests (Files): Likewise.
40603         * modules/vprintf-posix-tests (Files): Likewise.
40604         * modules/vsnprintf-posix-tests (Files): Likewise.
40605         * modules/vsnprintf-tests (Files): Likewise.
40606         * modules/vsprintf-posix-tests (Files): Likewise.
40607         * modules/wcrtomb-tests (Files): Likewise.
40608         * modules/wcsnrtombs-tests (Files): Likewise.
40609         * modules/wcsrtombs-tests (Files): Likewise.
40610         * modules/wctype-tests (Files): Likewise.
40611         * modules/wcwidth-tests (Files): Likewise.
40612         * modules/xmemdup0-tests (Files): Likewise.
40613         * modules/xprintf-posix-tests (Files): Likewise.
40614         * modules/xvasprintf-tests (Files): Likewise.
40615
40616 2009-12-24  Eric Blake  <ebb9@byu.net>
40617
40618         test-nanosleep: fix typo
40619         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
40620         patch.
40621         Reported by Bruno Haible.
40622
40623 2009-12-24  Bruno Haible  <bruno@clisp.org>
40624
40625         Reduce namespace pollution on glibc systems.
40626         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
40627         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
40628         systems.
40629         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
40630         <getopt.h> on glibc systems.
40631         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
40632         systems.
40633         * lib/fcntl.c: Include <unistd.h> here instead.
40634
40635 2009-12-24  Bruno Haible  <bruno@clisp.org>
40636
40637         * lib/stdlib.in.h (includes): Fix typo in today's commit.
40638
40639 2009-12-24  Eric Blake  <ebb9@byu.net>
40640
40641         tests: add signature checks
40642         * tests/signature.h (SIGNATURE_CHECK): New file.
40643         * modules/atexit-tests (Files): Use it.
40644         * modules/btowc-tests (Files): Likewise.
40645         * modules/canonicalize-lgpl-tests (Files): Likewise.
40646         * modules/ceilf-tests (Files): Likewise.
40647         * modules/ceill-tests (Files): Likewise.
40648         * modules/chown-tests (Files): Likewise.
40649         * modules/dprintf-posix-tests (Files): Likewise.
40650         * modules/dup2-tests (Files): Likewise.
40651         * modules/dup3-tests (Files): Likewise.
40652         * modules/duplocale-tests (Files): Likewise.
40653         * modules/fchdir-tests (Files): Likewise.
40654         * modules/fcntl-tests (Files): Likewise.
40655         * modules/fdopendir-tests (Files): Likewise.
40656         * modules/fflush-tests (Files): Likewise.
40657         * modules/flock-tests (Files): Likewise.
40658         * modules/floorf-tests (Files): Likewise.
40659         * modules/floorl-tests (Files): Likewise.
40660         * modules/fnmatch-tests (Files): Likewise.
40661         * modules/fopen-tests (Files): Likewise.
40662         * modules/fprintf-posix-tests (Files): Likewise.
40663         * modules/freopen-tests (Files): Likewise.
40664         * modules/frexp-nolibm-tests (Files): Likewise.
40665         * modules/frexp-tests (Files): Likewise.
40666         * modules/frexpl-nolibm-tests (Files): Likewise.
40667         * modules/frexpl-tests (Files): Likewise.
40668         * modules/fseek-tests (Files): Likewise.
40669         * modules/fseeko-tests (Files): Likewise.
40670         * modules/fsync-tests (Files): Likewise.
40671         * modules/ftell-tests (Files): Likewise.
40672         * modules/ftello-tests (Files): Likewise.
40673         * modules/futimens-tests (Files): Likewise.
40674         * modules/getaddrinfo-tests (Files): Likewise.
40675         * modules/getcwd-tests (Files): Likewise.
40676         * modules/getdelim-tests (Files): Likewise.
40677         * modules/getdtablesize-tests (Files): Likewise.
40678         * modules/getgroups-tests (Files): Likewise.
40679         * modules/gethostname-tests (Files): Likewise.
40680         * modules/getline-tests (Files): Likewise.
40681         * modules/getopt-posix-tests (Files): Likewise.
40682         * modules/gettimeofday-tests (Files): Likewise.
40683         * modules/glob-tests (Files): Likewise.
40684         * modules/iconv-tests (Files): Likewise.
40685         * modules/inet_ntop-tests (Files): Likewise.
40686         * modules/inet_pton-tests (Files): Likewise.
40687         * modules/isblank-tests (Files): Likewise.
40688         * modules/lchown-tests (Files): Likewise.
40689         * modules/ldexpl-tests (Files): Likewise.
40690         * modules/link-tests (Files): Likewise.
40691         * modules/linkat-tests (Files): Likewise.
40692         * modules/lseek-tests (Files): Likewise.
40693         * modules/lstat-tests (Files): Likewise.
40694         * modules/mbrtowc-tests (Files): Likewise.
40695         * modules/mbsinit-tests (Files): Likewise.
40696         * modules/mbsnrtowcs-tests (Files): Likewise.
40697         * modules/mbsrtowcs-tests (Files): Likewise.
40698         * modules/memchr-tests (Files): Likewise.
40699         * modules/memcmp-tests (Files): Likewise.
40700         * modules/memmem-tests (Files): Likewise.
40701         * modules/memrchr-tests (Files): Likewise.
40702         * modules/mkdir-tests (Files): Likewise.
40703         * modules/mkfifo-tests (Files): Likewise.
40704         * modules/mkfifoat-tests (Files): Likewise.
40705         * modules/mknod-tests (Files): Likewise.
40706         * modules/nanosleep-tests (Files): Likewise.
40707         * modules/nl_langinfo-tests (Files): Likewise.
40708         * modules/obstack-printf-tests (Files): Likewise.
40709         * modules/open-tests (Files): Likewise.
40710         * modules/openat-tests (Files): Likewise.
40711         * modules/perror-tests (Files): Likewise.
40712         * modules/pipe2-tests (Files): Likewise.
40713         * modules/poll-tests (Files): Likewise.
40714         * modules/popen-tests (Files): Likewise.
40715         * modules/posix_spawn-tests (Files): Likewise.
40716         * modules/posix_spawnp-tests (Files): Likewise.
40717         * modules/pread-tests (Files): Likewise.
40718         * modules/printf-posix-tests (Files): Likewise.
40719         * modules/pty-tests (Files): Likewise.
40720         * modules/random_r-tests (Files): Likewise.
40721         * modules/rawmemchr-tests (Files): Likewise.
40722         * modules/readlink-tests (Files): Likewise.
40723         * modules/remove-tests (Files): Likewise.
40724         * modules/rename-tests (Files): Likewise.
40725         * modules/renameat-tests (Files): Likewise.
40726         * modules/rmdir-tests (Files): Likewise.
40727         * modules/round-tests (Files): Likewise.
40728         * modules/roundf-tests (Files): Likewise.
40729         * modules/roundl-tests (Files): Likewise.
40730         * modules/select-tests (Files): Likewise.
40731         * modules/setenv-tests (Files): Likewise.
40732         * modules/sigaction-tests (Files): Likewise.
40733         * modules/sleep-tests (Files): Likewise.
40734         * modules/snprintf-posix-tests (Files): Likewise.
40735         * modules/snprintf-tests (Files): Likewise.
40736         * modules/sprintf-posix-tests (Files): Likewise.
40737         * modules/stat-tests (Files): Likewise.
40738         * modules/strcasestr-tests (Files): Likewise.
40739         * modules/strchrnul-tests (Files): Likewise.
40740         * modules/strerror-tests (Files): Likewise.
40741         * modules/strsignal-tests (Files): Likewise.
40742         * modules/strstr-tests (Files): Likewise.
40743         * modules/strtod-tests (Files): Likewise.
40744         * modules/strverscmp-tests (Files): Likewise.
40745         * modules/symlink-tests (Files): Likewise.
40746         * modules/symlinkat-tests (Files): Likewise.
40747         * modules/times-tests (Files): Likewise.
40748         * modules/trunc-tests (Files): Likewise.
40749         * modules/truncf-tests (Files): Likewise.
40750         * modules/truncl-tests (Files): Likewise.
40751         * modules/tsearch-tests (Files): Likewise.
40752         * modules/uname-tests (Files): Likewise.
40753         * modules/unlink-tests (Files): Likewise.
40754         * modules/unsetenv-tests (Files): Likewise.
40755         * modules/usleep-tests (Files): Likewise.
40756         * modules/utimensat-tests (Files): Likewise.
40757         * modules/vasprintf-tests (Files): Likewise.
40758         * modules/vdprintf-posix-tests (Files): Likewise.
40759         * modules/vfprintf-posix-tests (Files): Likewise.
40760         * modules/vprintf-posix-tests (Files): Likewise.
40761         * modules/vsnprintf-posix-tests (Files): Likewise.
40762         * modules/vsnprintf-tests (Files): Likewise.
40763         * modules/vsprintf-posix-tests (Files): Likewise.
40764         * modules/wcrtomb-tests (Files): Likewise.
40765         * modules/wcsnrtombs-tests (Files): Likewise.
40766         * modules/wcsrtombs-tests (Files): Likewise.
40767         * modules/wcwidth-tests (Files): Likewise.
40768         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
40769         * tests/test-isinf.c (isinf): Likewise.
40770         * tests/test-isnan.c (isnan): Likewise.
40771         * tests/test-signbit.c (signbit): Likewise.
40772         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
40773         declaration, either as macro or with correct signature.
40774         (select): Ensure function under test is declared with correct
40775         signature in correct header.
40776         * tests/test-atexit.c (atexit): Likewise.
40777         * tests/test-btowc.c (btowc): Likewise.
40778         * tests/test-canonicalize-lgpl.c (realpath)
40779         (canonicalize_file_name): Likewise.
40780         * tests/test-ceilf1.c (ceilf): Likewise.
40781         * tests/test-ceill.c (ceill): Likewise.
40782         * tests/test-chown.c (chown): Likewise.
40783         * tests/test-dprintf-posix.c (dprintf): Likewise.
40784         * tests/test-dup2.c (dup2): Likewise.
40785         * tests/test-dup3.c (dup3): Likewise.
40786         * tests/test-duplocale.c (duplocale): Likewise.
40787         * tests/test-fchdir.c (fchdir): Likewise.
40788         * tests/test-fchownat.c (fchownat): Likewise.
40789         * tests/test-fcntl.c (fcntl): Likewise.
40790         * tests/test-fdopendir.c (fdopendir): Likewise.
40791         * tests/test-fflush.c (fflush): Likewise.
40792         * tests/test-flock.c (flock): Likewise.
40793         * tests/test-floorf1.c (floorf): Likewise.
40794         * tests/test-floorl.c (floorl): Likewise.
40795         * tests/test-fnmatch.c (fnmatch): Likewise.
40796         * tests/test-fopen.c (fopen): Likewise.
40797         * tests/test-fprintf-posix.c (fprintf): Likewise.
40798         * tests/test-freopen.c (freopen): Likewise.
40799         * tests/test-frexp.c (frexp): Likewise.
40800         * tests/test-frexpl.c (frexpl): Likewise.
40801         * tests/test-fseek.c (fseek): Likewise.
40802         * tests/test-fseeko.c (fseeko): Likewise.
40803         * tests/test-fstatat.c (fstatat): Likewise.
40804         * tests/test-fsync.c (fsync): Likewise.
40805         * tests/test-ftell.c (ftell): Likewise.
40806         * tests/test-ftello.c (ftello): Likewise.
40807         * tests/test-futimens.c (futimens): Likewise.
40808         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
40809         (gai_strerror): Likewise.
40810         * tests/test-getcwd.c (getcwd): Likewise.
40811         * tests/test-getdelim.c (getdelim): Likewise.
40812         * tests/test-getdtablesize.c (getdtablesize): Likewise.
40813         * tests/test-getgroups.c (getgroups): Likewise.
40814         * tests/test-gethostname.c (gethostname): Likewise.
40815         * tests/test-getline.c (getline): Likewise.
40816         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
40817         Likewise.
40818         * tests/test-gettimeofday.c (gettimeofday): Likewise.
40819         * tests/test-glob.c (glob, globfree): Likewise.
40820         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
40821         * tests/test-inet_ntop.c (inet_ntop): Likewise.
40822         * tests/test-inet_pton.c (inet_pton): Likewise.
40823         * tests/test-isblank.c (isblank): Likewise.
40824         * tests/test-lchown.c (lchown): Likewise.
40825         * tests/test-ldexpl.c (ldexpl): Likewise.
40826         * tests/test-link.c (link): Likewise.
40827         * tests/test-linkat.c (linkat): Likewise.
40828         * tests/test-lseek.c (lseek): Likewise.
40829         * tests/test-lstat.c (lstat): Likewise.
40830         * tests/test-mbrtowc.c (mbrtowc): Likewise.
40831         * tests/test-mbsinit.c (mbsinit): Likewise.
40832         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
40833         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
40834         * tests/test-memchr.c (memchr): Likewise.
40835         * tests/test-memcmp.c (memcmp): Likewise.
40836         * tests/test-memmem.c (memmem): Likewise.
40837         * tests/test-memrchr.c (memrchr): Likewise.
40838         * tests/test-mkdir.c (mkdir): Likewise.
40839         * tests/test-mkdirat.c (mkdirat): Likewise.
40840         * tests/test-mkfifo.c (mkfifo): Likewise.
40841         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
40842         * tests/test-mknod.c (mknod): Likewise.
40843         * tests/test-nanosleep.c (nanosleep): Likewise.
40844         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
40845         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
40846         Likewise.
40847         * tests/test-open.c (open): Likewise.
40848         * tests/test-openat.c (openat): Likewise.
40849         * tests/test-perror.c (perror): Likewise.
40850         * tests/test-pipe2.c (pipe2): Likewise.
40851         * tests/test-poll.c (poll): Likewise.
40852         * tests/test-popen.c (popen, pclose): Likewise.
40853         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
40854         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
40855         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
40856         (posix_spawn_file_actions_destroy)
40857         (posix_spawn_file_actions_addclose)
40858         (posix_spawn_file_actions_addopen)
40859         (posix_spawn_file_actions_adddup2): Likewise.
40860         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
40861         * tests/test-pread.c (pread): Likewise.
40862         * tests/test-printf-posix.c (printf): Likewise.
40863         * tests/test-pty.c (openpty, forkpty): Likewise.
40864         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
40865         (random_r): Likewise.
40866         * tests/test-rawmemchr.c (rawmemchr): Likewise.
40867         * tests/test-readlink.c (readlink): Likewise.
40868         * tests/test-remove.c (remove): Likewise.
40869         * tests/test-rename.c (rename): Likewise.
40870         * tests/test-renameat.c (renameat): Likewise.
40871         * tests/test-rmdir.c (rmdir): Likewise.
40872         * tests/test-round1.c (round): Likewise.
40873         * tests/test-roundf1.c (roundf): Likewise.
40874         * tests/test-roundl.c (roundl): Likewise.
40875         * tests/test-setenv.c (setenv): Likewise.
40876         * tests/test-sigaction.c (sigaction): Likewise.
40877         * tests/test-sleep.c (sleep): Likewise.
40878         * tests/test-snprintf.c (snprintf): Likewise.
40879         * tests/test-sprintf-posix.c (sprintf): Likewise.
40880         * tests/test-stat.c (stat): Likewise.
40881         * tests/test-stpncpy.c (stpncpy): Likewise.
40882         * tests/test-strcasestr.c (strcasestr): Likewise.
40883         * tests/test-strchrnul.c (strchrnul): Likewise.
40884         * tests/test-strerror.c (strerror): Likewise.
40885         * tests/test-strsignal.c (strsignal): Likewise.
40886         * tests/test-strstr.c (strstr): Likewise.
40887         * tests/test-strtod.c (strtod): Likewise.
40888         * tests/test-strverscmp.c (strverscmp): Likewise.
40889         * tests/test-symlink.c (symlink): Likewise.
40890         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
40891         * tests/test-times.c (times): Likewise.
40892         * tests/test-trunc1.c (trunc): Likewise.
40893         * tests/test-truncf1.c (truncf): Likewise.
40894         * tests/test-truncl.c (truncl): Likewise.
40895         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
40896         Likewise.
40897         * tests/test-uname.c (uname): Likewise.
40898         * tests/test-unlink.c (unlink): Likewise.
40899         * tests/test-unlinkat.c (unlinkat): Likewise.
40900         * tests/test-unsetenv.c (unsetenv): Likewise.
40901         * tests/test-usleep.c (usleep): Likewise.
40902         * tests/test-utimensat.c (utimensat): Likewise.
40903         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
40904         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
40905         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
40906         * tests/test-vprintf-posix.c (vprintf): Likewise.
40907         * tests/test-vsnprintf.c (vsnprintf): Likewise.
40908         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
40909         * tests/test-wcrtomb.c (wcrtomb): Likewise.
40910         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
40911         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
40912         * tests/test-wcwidth.c (wcwidth): Likewise.
40913
40914         build: pull in conditional headers during GNULIB_POSIXCHECK
40915         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
40916         definitions from any conditionally-included headers.
40917         * lib/stdlib.in.h (includes): Likewise.
40918         * lib/unistd.in.h (includes): Likewise.
40919
40920 2009-12-24  Bruno Haible  <bruno@clisp.org>
40921
40922         * tests/test-argv-iter.c: Include header file being tested immediately
40923         after config.h.
40924         * tests/test-base64.c: Likewise.
40925         * tests/test-flock.c: Likewise.
40926         * tests/test-fsync.c: Likewise.
40927         * tests/test-getdate.c: Likewise.
40928         * tests/test-getndelim2.c: Likewise.
40929         * tests/test-isfinite.c: Likewise.
40930         * tests/test-isinf.c: Likewise.
40931         * tests/test-strerror.c: Likewise.
40932         * tests/test-strsignal.c: Likewise.
40933
40934 2009-12-23  Eric Blake  <ebb9@byu.net>
40935
40936         unistd: work around cygwin bug
40937         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
40938         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
40939         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40940
40941 2009-12-23  Bruno Haible  <bruno@clisp.org>
40942
40943         localename: More tests.
40944         * tests/test-localename.c (SIZEOF): New macro.
40945         (categories): New variable.
40946         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
40947         test_locale_name_default): Add test w.r.t. thread locale.
40948         (test_locale_name_thread): New function.
40949         (main): Invoke it.
40950
40951         localename: Make aware of thread locale.
40952         * lib/localename.h (gl_locale_name_thread): New declaration.
40953         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
40954         behaviour with respect to thread locale.
40955         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
40956         <langinfo.h>, glthread/lock.h.
40957         (SIZE_BITS): New macro.
40958         (string_hash): New function.
40959         (struct hash_node): New type.
40960         (HASH_TABLE_SIZE): New macro.
40961         (struniq_hash_table, struniq_lock): New variables.
40962         (struniq): New function.
40963         (gl_locale_name_thread): New function.
40964         (gl_locale_name): Invoke it.
40965         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
40966         * modules/localename (Depends-on): Add lock.
40967         Reported by Mike Gran <spk121@yahoo.com>.
40968
40969 2009-12-23  Eric Blake  <ebb9@byu.net>
40970
40971         va-args: new module
40972         * modules/va-args: New file.
40973         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
40974         * MODULES.html.sh (Core language properties): Mention it.
40975
40976         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
40977         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
40978         named alias for __attribute__((__unused__)).
40979         * lib/chown.c: Update client.
40980         * lib/fchmodat.c: Likewise.
40981         * lib/fts.c: Likewise.
40982         * lib/getdate.y: Likewise.
40983         * lib/getgroups.c: Likewise.
40984         * lib/getopt.c: Likewise.
40985         * lib/getugroups.c: Likewise.
40986         * lib/mkdir.c: Likewise.
40987         * lib/mkfifo.c: Likewise.
40988         * lib/mkfifoat.c: Likewise.
40989         * lib/mknod.c: Likewise.
40990         * lib/mknodat.c: Likewise.
40991         * lib/readlink.c: Likewise.
40992         * lib/se-context.in.h: Likewise.
40993         * lib/se-selinux.in.h: Likewise.
40994         * lib/sockets.c: Likewise.
40995         * lib/symlink.c: Likewise.
40996         * lib/symlinkat.c: Likewise.
40997         * lib/unicodeio.c: Likewise.
40998         * lib/unistr.h: Likewise.
40999         * tests/test-areadlink.c: Likewise.
41000         * tests/test-areadlinkat.c: Likewise.
41001         * tests/test-filenamecat.c: Likewise.
41002         * tests/test-fseeko.c: Likewise.
41003         * tests/test-ftello.c: Likewise.
41004         * tests/test-getdate.c: Likewise.
41005         * tests/test-getgroups.c: Likewise.
41006         * tests/test-gethostname.c: Likewise.
41007         * tests/test-quotearg.c: Likewise.
41008         * tests/test-version-etc.c: Likewise.
41009         * tests/test-xalloc-die.c: Likewise.
41010         * tests/test-xfprintf-posix.c: Likewise.
41011         * tests/test-xprintf-posix.c: Likewise.
41012         * tests/test-xvasprintf.c: Likewise.
41013
41014         tests: avoid compiler warnings
41015         * tests/test-fcntl.c (main): Delete unused parameters.
41016         * tests/test-freopen-safer.c (main): Likewise.
41017         * tests/test-xalloc-die.c (main): Mark unused parameters.
41018         * tests/test-fseeko.c (main): Likewise.
41019         * tests/test-ftello.c (main): Likewise.
41020         * tests/test-nanosleep.c (main): Avoid declaration warning.
41021         * tests/test-sleep.c (main): Likewise.
41022         * tests/test-unsetenv.c (main): Silence warning about string
41023         literal.
41024         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
41025
41026 2009-12-23  Bruno Haible  <bruno@clisp.org>
41027
41028         * tests/test-localename.c (test_locale_name): New function, extracted
41029         from main. Also test mixed situations.
41030         (test_locale_name_posix, test_locale_name_environ,
41031         test_locale_name_default): New functions.
41032         (main): Invoke them all.
41033         * modules/localename-tests (configure.ac): Test for newlocale.
41034
41035 2009-12-23  Bruno Haible  <bruno@clisp.org>
41036
41037         unistd: Ensure getcwd gets declared before being overridden.
41038         * lib/unistd.in.h: Conditionally include <io.h>.
41039
41040 2009-12-22  Bruno Haible  <bruno@clisp.org>
41041
41042         wchar: Diagnose broken combination of glibc and gcc versions and flags.
41043         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
41044         (gl_WCHAR_H): Invoke it.
41045         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
41046         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
41047         Reported by Karl Berry <karl@freefriends.org>.
41048
41049 2009-12-22  Eric Blake  <ebb9@byu.net>
41050
41051         math, unistd: avoid redundant includes
41052         * lib/math.in.h (isnan): No need to re-include <math.h>.
41053         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
41054
41055         getsubopt: work around cygwin bug
41056         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
41057         avoid conflicting with system getsubopt.
41058         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
41059         bug.
41060
41061         getopt: synchronize from glibc
41062         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
41063         parameter order.  Adjust all callers.
41064         (_getopt_internal_r, main): Adjust quoting in error messages.
41065         Drop considerations for outdated POSIX 1003.2 error message.
41066         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
41067         callers.
41068         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
41069
41070         test-getopt: test stderr behavior
41071         * modules/getopt-posix-tests (Depends-on): Add dup2.
41072         * tests/test-getopt.c (ASSERT): Avoid stderr.
41073         (main): Move stderr to a temporary file.
41074         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
41075         Instead, add parameter to inform caller if output occurred.
41076         (test_getopt): Adjust all existing tests to expect silence, and
41077         add new tests of leading ":".
41078         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41079         glibc shortcomings with leading "-:" or "+:" in optstring.
41080         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41081         Likewise.
41082         * doc/posix-functions/getopt.texi (getopt): Likewise.
41083
41084         test-getopt: enhance test
41085         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
41086         supports optind=0.
41087         * tests/test-getopt.c (OPTIND_MIN): Move...
41088         * tests/test-getopt.h (OPTIND_MIN): ...here.
41089         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
41090         Require that optind=0 works, since modern BSD supports it in
41091         addition to optreset, and since coreutils expects it.
41092         (test_getopt_long_only): New test.
41093         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41094         glibc shortcomings with 'W;', and enforcement of optind=0.
41095         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41096         Likewise.
41097
41098 2009-12-21  Bruno Haible  <bruno@clisp.org>
41099
41100         localename: Improvements for MacOS X and Cygwin.
41101         * lib/localename.h (gl_locale_name_environ): New declaration.
41102         * lib/localename.c (gl_locale_name_environ): New function, extracted from
41103         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
41104         (gl_locale_name_posix): Invoke it.
41105         (gl_locale_name_default): Add comments. Use Windows native API also on
41106         Cygwin.
41107
41108 2009-12-21  Bruno Haible  <bruno@clisp.org>
41109
41110         Update list of Win32 locale ids.
41111         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
41112         (LANG_SAMI): Renamed from LANG_SAAMI.
41113         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
41114         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
41115         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
41116         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
41117         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
41118         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
41119         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
41120         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
41121         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
41122         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
41123         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
41124         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
41125         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
41126         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
41127         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
41128         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
41129         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
41130         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
41131         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
41132         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
41133         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
41134         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
41135         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
41136         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
41137         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
41138         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
41139         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
41140         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
41141         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
41142         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
41143         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
41144         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
41145         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
41146         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
41147         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
41148         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
41149         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
41150         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
41151         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
41152         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
41153         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
41154         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
41155         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
41156         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
41157         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
41158         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
41159         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
41160         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
41161         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
41162         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
41163         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
41164         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
41165         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
41166         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
41167         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
41168         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
41169         Add more languages and countries for Sami, Sorbian. Add more countries
41170         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
41171         for Pashto. Change country for Syriac, Tswana.
41172
41173 2009-12-21  Eric Blake  <ebb9@byu.net>
41174
41175         test-utimens: avoid spurious failure
41176         * tests/test-chown.h (nap): Factor...
41177         * tests/nap.h: ...into new file.
41178         * tests/test-lchown.h (nap): Avoid duplication.
41179         * tests/test-utimens-common.h (nap): Use shared implementation,
41180         necessary on file systems with 1-second resolution.
41181         * modules/chown-tests (Files): Include new file.
41182         * modules/fdutimensat-tests (Files): Likewise.
41183         * modules/futimens-tests (Files): Likewise.
41184         * modules/lchown-tests (Files): Likewise.
41185         * modules/openat-tests (Files): Likewise.
41186         * modules/utimens-tests (Files): Likewise.
41187         * modules/utimensat-tests (Files): Likewise.
41188
41189 2009-12-19  Eric Blake  <ebb9@byu.net>
41190
41191         futimens, utimensat: work around Linux bug
41192         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
41193         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
41194         * lib/utimensat.c (rpl_utimensat): Work around it.
41195         * lib/futimens.c (rpl_futimens): Adjust comment.
41196
41197         utimens: work around Linux ctime bug
41198         * lib/utimens.c (detect_ctime_bug): New helper function.
41199         (update_timespec): Differentiate between workaround needed for
41200         this bug vs. what is needed for systems that lack utimensat.
41201         (fdutimens, lutimens): Work around bug.
41202
41203         utimens: check for ctime update
41204         * tests/test-utimens-common.h (check_ctime): Define.
41205         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
41206         * tests/test-futimens.h (test_futimens): Likewise.
41207         * tests/test-lutimens.h (test_lutimens): Likewise.
41208         * doc/posix-functions/futimens.texi (futimens): Document the bug.
41209         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41210
41211 2009-12-19  Bruno Haible  <bruno@clisp.org>
41212
41213         dprintf-posix: Check against memory leak fixed on 2009-12-15.
41214         * tests/test-dprintf-posix2.sh: New file.
41215         * tests/test-dprintf-posix2.c: New file.
41216         * modules/dprintf-posix-tests (Files): Add them.
41217         (configure.ac): Check for getrlimit and setrlimit.
41218         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41219
41220 2009-12-19  Bruno Haible  <bruno@clisp.org>
41221
41222         fprintf-posix: Check against memory leak fixed on 2009-12-15.
41223         * tests/test-fprintf-posix3.sh: New file.
41224         * tests/test-fprintf-posix3.c: New file.
41225         * modules/fprintf-posix-tests (Files): Add them.
41226         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41227
41228 2009-12-19  Eric Blake  <ebb9@byu.net>
41229
41230         dirfd: fix prototype
41231         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
41232         * lib/dirfd.c (dirfd): Likewise.
41233
41234         canonicalize: reduce memory usage
41235         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
41236         allocation to size.
41237         Reported by Solar Designer <solar@openwall.com>.
41238
41239 2009-12-19  Bruno Haible  <bruno@clisp.org>
41240
41241         New module attribute 'Applicability'.
41242         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
41243         * gnulib-tool: New option --extract-applicability.
41244         (func_usage): Document it.
41245         (sed_extract_prog): Recognize it.
41246         (func_get_applicability): New function.
41247         (func_import): Generalize handling of 'link-warning' module.
41248         * modules/link-warning (Applicability): New section.
41249         * modules/arg-nonnull (Applicability): New section.
41250         Repoted by Simon Josefsson <simon@josefsson.org>.
41251
41252 2009-12-19  Bruno Haible  <bruno@clisp.org>
41253
41254         fflush: tweak
41255         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
41256         * lib/fseeko.c (rpl_fseeko): Likewise.
41257
41258 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
41259
41260         * lib/gl_list.h: Fix typo in comment.
41261
41262 2009-12-16  Eric Blake  <ebb9@byu.net>
41263
41264         fcntl: use to simplify other modules
41265         * modules/cloexec (Depends-on): Add fcntl.
41266         * modules/fchdir (Depends-on): Likewise.
41267         * modules/fd-safer-flag (Depends-on): Likewise.
41268         * modules/unistd-safer (Depends-on): Likewise.
41269         * modules/dup3 (configure.ac): Set module indicator.
41270         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
41271         missing.
41272         * lib/fchdir.c (_gl_register_dup): Fix comment.
41273         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
41274         * lib/dup-safer.c (dup_safer): Likewise.
41275         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
41276         * lib/dup3.c (dup3): Likewise.
41277         * tests/test-fchdir.c (main): Enhance test.
41278         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
41279
41280         fcntl: port portions of fcntl to mingw
41281         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
41282         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
41283         replacement for mingw.
41284         * modules/fcntl (Description): Update.
41285         (Depends-on): Add dup2.
41286         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
41287         * modules/fcntl-h (Makefile.am): Substitute it.
41288         * lib/fcntl.in.h (fcntl): Update declaration.
41289         (F_DUPFD, F_GETFD): New macros, when needed.
41290         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
41291         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
41292         * tests/test-fcntl.c (check_flags, main): Enhance test for items
41293         we now guarantee.
41294
41295         fcntl: work around cygwin bug in F_DUPFD
41296         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
41297         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
41298         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
41299         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
41300         * doc/posix-functions/fcntl.texi (fcntl): Document it.
41301
41302         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
41303         * modules/fcntl (Files): List new files.
41304         (configure.ac): Run a test.
41305         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
41306         * lib/fcntl.c (rpl_fcntl): Likewise.
41307         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
41308         (gl_FCNTL_H): Always replace fcntl.h.
41309         * modules/fcntl-h (Makefile.am): Substitute witnesses.
41310         * lib/fcntl.in.h (fcntl): Declare replacement.
41311         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
41312         needed, plus a witness.
41313         * doc/posix-functions/fcntl.texi (fcntl): Document this.
41314         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
41315         * tests/test-fcntl.c: New file.
41316         * modules/fcntl-tests: Likewise.
41317
41318         binary-io: avoid potential compilation warning
41319         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
41320         directives.
41321
41322         fflush: avoid compilation error on NetBSD
41323         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
41324         between off_t and fpos_t, since the latter is sometimes a struct.
41325         * lib/fseeko.c (rpl_fseeko): Likewise.
41326         Reported by Alexander Nasonov <alnsn@yandex.ru>.
41327
41328 2009-12-15  Eric Blake  <ebb9@byu.net>
41329
41330         fcntl-h, stdio, sys_ioctl: fix declarations
41331         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
41332         function must not take arguments.
41333         * lib/sys_ioctl.in.h (ioctl): Likewise.
41334         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
41335         (open): Add a link warning.
41336
41337 2009-12-15  Jim Meyering  <meyering@redhat.com>
41338
41339         areadlink, areadlink-with-size: relax license to LGPLv2+
41340         * modules/areadlink (License): Relax to LGPLv2+.
41341         * modules/areadlink-with-size (License): Likewise.
41342
41343 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
41344             Bruno Haible  <bruno@clisp.org>
41345
41346         *printf: Fix memory leak.
41347         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
41348         * lib/vfprintf.c (vfprintf): Likewise.
41349         * lib/dprintf.c (dprintf): Likewise.
41350         * lib/vdprintf.c (vdprintf): Likewise.
41351
41352 2009-12-14  Eric Blake  <ebb9@byu.net>
41353
41354         accept4: adjust module dependencies
41355         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
41356
41357         utimens: one more try at avoiding compiler warning
41358         * lib/utimens.c (lutimens): Lower scope of result.
41359
41360 2009-12-13  Bruno Haible  <bruno@clisp.org>
41361
41362         Move the malloc checking from module 'list' to new module 'xlist'.
41363         * modules/xlist: New file.
41364         * lib/gl_xlist.h: New file.
41365         * lib/gl_xlist.c: New file.
41366         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
41367         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
41368         gl_list_add_last, gl_list_add_before, gl_list_add_after,
41369         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
41370         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
41371         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
41372         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
41373         gl_sortedlist_nx_add): New declarations.
41374         (struct gl_list_implementation): Rename and change methods accordingly.
41375         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
41376         (gl_list_nx_create): Renamed from gl_list_create.
41377         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41378         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41379         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41380         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41381         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41382         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41383         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41384         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41385         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
41386         gl_list_create_empty.
41387         (gl_list_nx_create): Renamed from gl_list_create.
41388         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41389         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41390         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41391         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41392         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41393         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41394         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41395         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41396         * lib/gl_array_list.c: Don't include xalloc.h.
41397         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
41398         NULL upon out-of-memory.
41399         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
41400         out-of-memory.
41401         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
41402         Change return type to 'int'.
41403         (gl_array_nx_set_at): Renamed from gl_array_set_at.
41404         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41405         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
41406         upon out-of-memory.
41407         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
41408         upon out-of-memory.
41409         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
41410         upon out-of-memory.
41411         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
41412         upon out-of-memory.
41413         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
41414         out-of-memory.
41415         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
41416         Update.
41417         (gl_array_list_implementation): Update.
41418         * lib/gl_carray_list.c: Don't include xalloc.h.
41419         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
41420         Return NULL upon out-of-memory.
41421         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
41422         out-of-memory.
41423         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
41424         Change return type to 'int'.
41425         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
41426         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41427         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
41428         upon out-of-memory.
41429         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
41430         upon out-of-memory.
41431         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
41432         out-of-memory.
41433         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
41434         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
41435         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
41436         Update.
41437         (gl_carray_list_implementation): Update.
41438         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
41439         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
41440         gl_linked_create_empty. Return NULL upon out-of-memory.
41441         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
41442         out-of-memory.
41443         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
41444         Change return type to 'int'. Return -1 upon out-of-memory.
41445         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
41446         out-of-memory.
41447         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
41448         upon out-of-memory.
41449         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
41450         upon out-of-memory.
41451         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
41452         NULL upon out-of-memory.
41453         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
41454         upon out-of-memory.
41455         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
41456         out-of-memory.
41457         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
41458         Update.
41459         * lib/gl_linked_list.c: Don't include xalloc.h.
41460         (gl_linked_list_implementation): Update.
41461         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
41462         (add_to_bucket): Change return type to 'int'.
41463         (gl_linkedhash_list_implementation): Update.
41464         * lib/gl_anytree_list1.h (free_subtree): New function.
41465         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
41466         gl_tree_create_empty. Return NULL upon out-of-memory.
41467         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
41468         Change return type to 'int'. Return -1 upon out-of-memory.
41469         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
41470         out-of-memory.
41471         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
41472         (gl_tree_remove_node): New function, moved here from
41473         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
41474         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
41475         Update.
41476         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
41477         malloc, not xmalloc. Return NULL upon out-of-memory.
41478         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41479         out-of-memory.
41480         (gl_tree_remove_node_from_tree): New function, extracted from
41481         gl_tree_remove_node.
41482         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41483         upon out-of-memory.
41484         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41485         out-of-memory.
41486         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41487         upon out-of-memory.
41488         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41489         upon out-of-memory.
41490         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41491         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
41492         not xmalloc. Return NULL upon out-of-memory.
41493         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41494         out-of-memory.
41495         (gl_tree_remove_node_from_tree): New function, extracted from
41496         gl_tree_remove_node.
41497         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41498         upon out-of-memory.
41499         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41500         out-of-memory.
41501         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41502         upon out-of-memory.
41503         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41504         upon out-of-memory.
41505         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41506         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
41507         gl_anytree_list1.h before gl_anyavltree_list2.h.
41508         (gl_avltree_list_implementation): Update.
41509         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
41510         gl_anytree_list1.h before gl_anyavltree_list2.h.
41511         (gl_rbtree_list_implementation): Update.
41512         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
41513         Change return type to 'int'. Return -1 upon out-of-memory. Use
41514         __builtin_expect.
41515         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
41516         (gl_avltreehash_list_implementation): Update.
41517         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
41518         (gl_rbtreehash_list_implementation): Update.
41519         * modules/array-list (Depends-on): Remove xalloc.
41520         * modules/carray-list (Depends-on): Likewise.
41521         * modules/linked-list (Depends-on): Likewise.
41522         * modules/linkedhash-list (Depends-on): Likewise.
41523         * modules/avltree-list (Depends-on): Likewise.
41524         * modules/rbtree-list (Depends-on): Likewise.
41525         * modules/avltreehash-list (Depends-on): Likewise.
41526         * modules/rbtreehash-list (Depends-on): Likewise.
41527
41528         * modules/xsublist: New file.
41529         * lib/gl_xsublist.h: New file.
41530         * lib/gl_xsublist.c: New file.
41531         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
41532         (gl_sublist_nx_create): New declaration.
41533         * lib/gl_sublist.c: Don't include xalloc.h.
41534         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
41535         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
41536         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
41537         Change return type to 'int'. Return -1 upon out-of-memory.
41538         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
41539         upon out-of-memory.
41540         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
41541         NULL upon out-of-memory.
41542         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
41543         upon out-of-memory.
41544         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
41545         NULL upon out-of-memory.
41546         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
41547         NULL upon out-of-memory.
41548         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
41549         upon out-of-memory.
41550         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
41551         (gl_sublist_list_implementation): Update.
41552         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
41553         upon out-of-memory.
41554         * modules/sublist (Depends-on): Remove xalloc.
41555
41556         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
41557         * tests/test-carray_list.c: Likewise.
41558         * tests/test-linked_list.c: Likewise.
41559         * tests/test-linkedhash_list.c: Likewise.
41560         * tests/test-avltree_list.c: Likewise.
41561         * tests/test-rbtree_list.c: Likewise.
41562         * tests/test-avltreehash_list.c: Likewise.
41563         * tests/test-rbtreehash_list.c: Likewise.
41564         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
41565         * modules/carray-list-tests (Makefile.am): Likewise.
41566         * modules/linked-list-tests (Makefile.am): Likewise.
41567         * modules/linkedhash-list-tests (Makefile.am): Likewise.
41568         * modules/avltree-list-tests (Makefile.am): Likewise.
41569         * modules/rbtree-list-tests (Makefile.am): Likewise.
41570         * modules/avltreehash-list-tests (Makefile.am): Likewise.
41571         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
41572
41573         * NEWS: Mention the changes.
41574
41575         * lib/clean-temp.c: Include gl_xlist.h.
41576         * modules/clean-temp (Depends-on): Add xlist.
41577
41578         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
41579         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
41580
41581         * tests/test-array_oset.c: Include gl_xlist.h.
41582         * modules/array-oset-tests (Depends-on): Add xlist.
41583
41584         Reported by José E. Marchesi <jemarch@gnu.org>.
41585
41586 2009-12-13  Bruno Haible  <bruno@clisp.org>
41587
41588         Move the malloc checking from module 'oset' to new module 'xoset'.
41589         * modules/xoset: New file.
41590         * lib/gl_xoset.h: New file.
41591         * lib/gl_xoset.c: New file.
41592         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
41593         declarations.
41594         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
41595         (struct gl_oset_implementation): Rename and change methods accordingly.
41596         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
41597         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41598         'int'. Mark as __warn_unused_result__.
41599         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
41600         gl_oset_create_empty.
41601         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41602         'int'.
41603         * lib/gl_array_oset.c: Don't include xalloc.h.
41604         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
41605         malloc, not xmalloc.
41606         (grow): Change return type to 'int'. Don't call xalloc_die.
41607         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
41608         to 'int'.
41609         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
41610         'int'.
41611         (gl_array_oset_implementation): Update.
41612         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
41613         gl_tree_create_empty.
41614         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
41615         'int'.
41616         * lib/gl_avltree_oset.c: Don't include xalloc.h.
41617         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41618         xmalloc.
41619         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41620         not xmalloc.
41621         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41622         xmalloc.
41623         (gl_avltree_oset_implementation): Update.
41624         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
41625         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41626         xmalloc.
41627         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41628         not xmalloc.
41629         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41630         xmalloc.
41631         (gl_rbtree_oset_implementation): Update.
41632         * modules/array-oset (Depends-on): Remove xalloc.
41633         * modules/avltree-oset (Depends-on): Likewise.
41634         * modules/rbtree-oset (Depends-on): Likewise.
41635         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
41636         * tests/test-avltree_oset.c: Likewise.
41637         * tests/test-rbtree_oset.c: Likewise.
41638         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
41639         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
41640         * modules/rbtree-oset-tests (Makefile.am): Likewise.
41641         * NEWS: Mention the change.
41642
41643 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
41644
41645         maint.mk: allow a project to override release-prep commands
41646         * top/maint.mk (alpha, beta, stable): Move release-preparatory
41647         commands into a new rule.
41648         (release-prep): New rule.
41649         (release-prep-hook): New overridable variable.
41650
41651 2009-12-13  Bruno Haible  <bruno@clisp.org>
41652
41653         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
41654
41655 2009-12-13  Jim Meyering  <meyering@redhat.com>
41656
41657         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
41658         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
41659
41660 2009-12-12  Bruno Haible  <bruno@clisp.org>
41661
41662         duplocale: Tweak.
41663         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
41664
41665 2009-12-12  Karl Berry  <karl@gnu.org>
41666
41667         * config/srclist.txt (strtoll.c): tab changes, no more sync.
41668
41669 2009-12-12  Bruno Haible  <bruno@clisp.org>
41670
41671         * m4/po.m4: Undo incorrect untabification.
41672
41673 2009-12-12  Bruno Haible  <bruno@clisp.org>
41674
41675         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
41676         * modules/c-strtod (Depends-on): Add locale.
41677         * modules/c-strtold (Depends-on): Likewise.
41678
41679 2009-12-12  Bruno Haible  <bruno@clisp.org>
41680
41681         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
41682
41683 2009-12-11  Eric Blake  <ebb9@byu.net>
41684
41685         setenv: relax requirement in light of POSIX ruling
41686         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
41687         not NULL.
41688         * tests/test-setenv.c (main): Relax test.
41689         * tests/test-unsetenv.c (main): Likewise.
41690         * doc/posix-functions/setenv.texi (setenv): Document this.
41691         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
41692
41693 2009-12-11  Bruno Haible  <bruno@clisp.org>
41694
41695         New module 'fd-safer-flag'.
41696         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
41697         * lib/dup-safer.c (dup_safer_flag): Remove function.
41698         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
41699         * lib/fd-safer.c (fd_safer_flag): Remove function.
41700         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
41701         * modules/cloexec (configure.ac): Drop indicator macro.
41702         * modules/fd-safer-flag: New file.
41703         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
41704         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
41705         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
41706
41707 2009-12-11  Bruno Haible  <bruno@clisp.org>
41708
41709         Tests for module 'nl_langinfo'.
41710         * modules/nl_langinfo-tests: New file.
41711         * tests/test-nl_langinfo.sh: New file.
41712         * tests/test-nl_langinfo.c: New file.
41713
41714         New module 'nl_langinfo'.
41715         * lib/nl_langinfo.c: New file.
41716         * m4/nl_langinfo.m4: New file.
41717         * modules/nl_langinfo: New file.
41718         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
41719
41720 2009-12-11  Bruno Haible  <bruno@clisp.org>
41721
41722         Tests for module 'langinfo'.
41723         * modules/langinfo-tests: New file.
41724         * tests/test-langinfo.c: New file.
41725
41726         New module 'langinfo'.
41727         * lib/langinfo.in.h: New file.
41728         * m4/langinfo_h.m4: New file.
41729         * modules/langinfo: New file.
41730         * doc/posix-headers/langinfo.texi: Mention the new module.
41731
41732 2009-12-11  Bruno Haible  <bruno@clisp.org>
41733
41734         * lib/config.charset: Untabify.
41735
41736 2009-12-11  Bruno Haible  <bruno@clisp.org>
41737
41738         * modules/unistd-safer (configure.ac): Drop indicator macro.
41739
41740 2009-12-11  Bruno Haible  <bruno@clisp.org>
41741
41742         Move pipe2-safer code to its own file.
41743         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
41744         * lib/pipe-safer.c (pipe2_safer): Remove function.
41745         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
41746         (Makefile.am): Add it to lib_SOURCES.
41747
41748 2009-12-10  Bruno Haible  <bruno@clisp.org>
41749
41750         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
41751
41752 2009-12-10  Bruno Haible  <bruno@clisp.org>
41753
41754         Declare which arguments expect non-NULL values, for GCC and clang.
41755         * build-aux/arg-nonnull.h: New file.
41756         * modules/arg-nonnull: New file.
41757         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
41758         (inet_ntop, inet_pton): Use it.
41759         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
41760         (closedir, dirfd, opendir, scandir, alphasort): Use it.
41761         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
41762         (open, openat): Use it.
41763         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
41764         (fnmatch): Use it.
41765         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
41766         (getopt, getopt_long, getopt_long_only): Use it.
41767         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
41768         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
41769         Use it.
41770         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
41771         (iconv_open): Use it.
41772         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
41773         (strtoimax, strtoumax): Use it.
41774         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
41775         (duplocale): Use it.
41776         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
41777         (frexp, frexpl): Use it.
41778         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
41779         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
41780         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
41781         (tsearch, tfind, tdelete, twalk): Use it.
41782         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
41783         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
41784         sigpending): Use it.
41785         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
41786         (posix_spawn, posix_spawnp, posix_spawnattr_init,
41787         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
41788         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
41789         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
41790         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
41791         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
41792         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
41793         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
41794         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
41795         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
41796         Use it.
41797         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
41798         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
41799         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
41800         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
41801         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
41802         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
41803         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
41804         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
41805         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
41806         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
41807         strtoull, unsetenv): Use it.
41808         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
41809         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
41810         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
41811         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
41812         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
41813         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
41814         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
41815         (strcasecmp, strncasecmp): Use it.
41816         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
41817         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
41818         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
41819         rpl_setsockopt): Use it.
41820         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
41821         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
41822         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
41823         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
41824         (gettimeofday): Use it.
41825         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
41826         (times): Use it.
41827         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
41828         (uname): Use it.
41829         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
41830         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
41831         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
41832         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
41833         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
41834         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
41835         unlinkat, write): Use it.
41836         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
41837         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
41838         * lib/argv-iter.h: Include arg-nonnull.h.
41839         (_ATTRIBUTE_NONNULL_): Remove macro.
41840         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
41841         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
41842         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
41843         optimization.
41844         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
41845         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
41846         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
41847         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
41848         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
41849         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
41850         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
41851         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
41852         * modules/arpa_inet (Depends-on): Add arg-nonnull.
41853         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
41854         * modules/dirent (Depends-on): Add arg-nonnull.
41855         (Makefile.am): Insert arg-nonnull.h into dirent.h.
41856         * modules/fcntl-h (Depends-on): Add arg-nonnull.
41857         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
41858         * modules/fnmatch (Depends-on): Add arg-nonnull.
41859         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
41860         * modules/getopt-posix (Depends-on): Add arg-nonnull.
41861         (Makefile.am): Insert arg-nonnull.h into getopt.h.
41862         * modules/glob (Depends-on): Add arg-nonnull.
41863         (Makefile.am): Insert arg-nonnull.h into glob.h.
41864         * modules/iconv_open (Depends-on): Add arg-nonnull.
41865         (Makefile.am): Insert arg-nonnull.h into iconv.h.
41866         * modules/inttypes (Depends-on): Add arg-nonnull.
41867         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
41868         * modules/locale (Depends-on): Add arg-nonnull.
41869         (Makefile.am): Insert arg-nonnull.h into locale.h.
41870         * modules/math (Depends-on): Add arg-nonnull.
41871         (Makefile.am): Insert arg-nonnull.h into math.h.
41872         * modules/netdb (Depends-on): Add arg-nonnull.
41873         (Makefile.am): Insert arg-nonnull.h into netdb.h.
41874         * modules/search (Depends-on): Add arg-nonnull.
41875         (Makefile.am): Insert arg-nonnull.h into search.h.
41876         * modules/signal (Depends-on): Add arg-nonnull.
41877         (Makefile.am): Insert arg-nonnull.h into signal.h.
41878         * modules/spawn (Depends-on): Add arg-nonnull.
41879         (Makefile.am): Insert arg-nonnull.h into spawn.h.
41880         * modules/stdio (Depends-on): Add arg-nonnull.
41881         (Makefile.am): Insert arg-nonnull.h into stdio.h.
41882         * modules/stdlib (Depends-on): Add arg-nonnull.
41883         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
41884         * modules/string (Depends-on): Add arg-nonnull.
41885         (Makefile.am): Insert arg-nonnull.h into string.h.
41886         * modules/strings (Depends-on): Add arg-nonnull.
41887         (Makefile.am): Insert arg-nonnull.h into strings.h.
41888         * modules/sys_socket (Depends-on): Add arg-nonnull.
41889         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
41890         * modules/sys_stat (Depends-on): Add arg-nonnull.
41891         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
41892         * modules/sys_time (Depends-on): Add arg-nonnull.
41893         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
41894         * modules/sys_times (Depends-on): Add arg-nonnull.
41895         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
41896         * modules/sys_utsname (Depends-on): Add arg-nonnull.
41897         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
41898         * modules/time (Depends-on): Add arg-nonnull.
41899         (Makefile.am): Insert arg-nonnull.h into time.h.
41900         * modules/unistd (Depends-on): Add arg-nonnull.
41901         (Makefile.am): Insert arg-nonnull.h into unistd.h.
41902         * modules/wchar (Depends-on): Add arg-nonnull.
41903         (Makefile.am): Insert arg-nonnull.h into wchar.h.
41904         * modules/argv-iter (Depends-on): Add arg-nonnull.
41905         * tests/test-canonicalize.c (null_ptr): New function.
41906         (main): Use it.
41907         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
41908         (main): Use it.
41909         * tests/test-memmem.c (null_ptr): New function.
41910         (main): Use it.
41911         Reported by Jim Meyering.
41912
41913 2009-12-10  Bruno Haible  <bruno@clisp.org>
41914
41915         Use spaces for indentation, not tabs.
41916         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
41917         * m4/*.m4: Untabify.
41918         * build-aux/*.h: Untabify.
41919         * tests/**/*.[hc]: Untabify.
41920         * README: New section "Indent with spaces, not TABs", based on
41921         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
41922         * NEWS: Mention the change.
41923
41924 2009-12-10  Bruno Haible  <bruno@clisp.org>
41925
41926         pty test: Fix link error.
41927         * modules/pty-tests (Makefile.am): Add the default LDADD value to
41928         test_pty_LDADD.
41929
41930 2009-12-07  Simon Josefsson  <simon@josefsson.org>
41931
41932         * modules/pty: New file.
41933         * modules/pty-tests: New file.
41934         * m4/pty.m4: New file.
41935         * tests/test-pty.c: New file.
41936         * doc/glibc-headers/pty.texi: Modified.
41937         * doc/glibc-functions/forkpty.texi: Modified.
41938         * doc/glibc-functions/openpty.texi: Modified.
41939
41940 2009-12-10  Bruno Haible  <bruno@clisp.org>
41941
41942         Avoid syntax error in C++ mode.
41943         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
41944
41945 2009-12-10  Bruno Haible  <bruno@clisp.org>
41946
41947         Use sed with option -e.
41948         * gnulib-tool (func_version, func_emit_copyright_notice,
41949         func_emit_initmacro_end, func_import, func_create_testdir): Pass
41950         option -e to sed.
41951         * modules/link-warning (Makefile.am): Likewise.
41952
41953 2009-12-10  Jim Meyering  <meyering@redhat.com>
41954
41955         mgetgroups: do not write bytes beyond end of malloc'd buffer
41956         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
41957         username, we call getgroups with a one-element-shorter buffer,
41958         but still told it the length was original, max_n_groups.
41959
41960 2009-12-09  Eric Blake  <ebb9@byu.net>
41961
41962         cloexec: relax license
41963         * modules/cloexec (Maintainer): Add myself.
41964         (License): Use LGPL, not GPL.
41965
41966         link-warning: optimize generation
41967         * modules/link-warning (Makefile.am): Reduce process usage.
41968
41969 2009-12-09  Bruno Haible  <bruno@clisp.org>
41970
41971         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
41972         workaround was added on 2009-11-17.
41973
41974 2009-12-09  Jim Meyering  <meyering@redhat.com>
41975             Bruno Haible  <bruno@clisp.org>
41976
41977         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
41978         * modules/link-warning (Makefile.am): Make the comment-removing sed
41979         command more robust in the face of bootstrap-prepended comment lines.
41980
41981 2009-12-09  Bruno Haible  <bruno@clisp.org>
41982
41983         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
41984         most one group.
41985
41986 2009-12-09  Simon Josefsson <simon@josefsson.org>
41987             Bruno Haible  <bruno@clisp.org>
41988
41989         * build-aux/link-warning.h: Add copyright notice.
41990         * modules/link-warning (Makefile.am): Generate link-warning.h from
41991         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
41992         * NEWS: Mention change in link-warning module.
41993         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
41994         * modules/dirent (Makefile.am): Add dependency to dirent.h.
41995         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
41996         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
41997         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
41998         * modules/math (Makefile.am): Add dependency to math.h.
41999         * modules/search (Makefile.am): Add dependency to search.h.
42000         * modules/signal (Makefile.am): Add dependency to signal.h.
42001         * modules/spawn (Makefile.am): Add dependency to spawn.h.
42002         * modules/stdio (Makefile.am): Add dependency to stdio.h.
42003         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
42004         * modules/string (Makefile.am): Add dependency to string.h.
42005         * modules/strings (Makefile.am): Add dependency to strings.h.
42006         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
42007         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
42008         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
42009         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
42010         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
42011         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
42012         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
42013         * modules/unistd (Makefile.am): Add dependency to unistd.h.
42014         * modules/wchar (Makefile.am): Add dependency to wchar.h.
42015
42016 2009-12-09  Bruno Haible  <bruno@clisp.org>
42017
42018         fchdir: Optimize away rpl_fstat when possible.
42019         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
42020         REPLACE_OPEN_DIRECTORY.
42021         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
42022
42023 2009-12-09  Bruno Haible  <bruno@clisp.org>
42024
42025         * lib/fchdir.c: Update comment.
42026
42027 2009-12-09  Bruno Haible  <bruno@clisp.org>
42028
42029         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
42030
42031 2009-12-08  Eric Blake  <ebb9@byu.net>
42032
42033         fchdir: avoid memory leak on re-registration.
42034         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
42035
42036 2009-12-08  Jim Meyering  <meyering@redhat.com>
42037
42038         init.sh: avoid Solaris 10 /bin/sh portability problem
42039         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
42040         sourced script:
42041           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
42042           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
42043           bar
42044         tests/init.sh relied on that, accepting a --set-path=DIR argument,
42045         and two tests used that idiom.
42046         * tests/init.sh: Update suggested usage comments.
42047         (path_prepend_): New function, to be used in place
42048         of the --src-path=DIR option.
42049         (setup_): Move PATH-prepending code into path_prepend_.
42050         * tests/test-pread.sh: Adapt to new usage.
42051         * tests/test-xalloc-die.sh: Likewise.
42052
42053 2009-12-08  Simon Josefsson  <simon@josefsson.org>
42054
42055         * doc/gnulib.texi (Glibc pty.h): Add.
42056         * doc/glibc-functions/forkpty.texi: Add.
42057         * doc/glibc-functions/openpty.texi: Add.
42058         Suggested by Bruno Haible.
42059
42060 2009-12-08  Eric Blake  <ebb9@byu.net>
42061
42062         fchdir: fix logic bugs
42063         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
42064         * tests/test-fchdir.c (main): Enhance test.
42065         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
42066         is in use.
42067
42068         dup2: fix logic bugs
42069         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
42070         REPLACE_DUP2 to decide when rpl_dup2 is needed.
42071         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
42072         exists.
42073         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
42074
42075 2009-12-07  Eric Blake  <ebb9@byu.net>
42076
42077         unlink: fix m4 detection
42078         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
42079
42080         unistd-safer: add unit test
42081         * modules/unistd-safer-tests: New file.
42082         * tests/test-dup-safer.c: Likewise.
42083         * tests/test-cloexec.c (setmode): Avoid compiler warning.
42084         * tests/test-dup2.c (setmode): Likewise.
42085         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
42086
42087         cloexec: preserve text vs. binary across dup_cloexec
42088         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
42089         mode.
42090         * modules/dup2-tests (Depends-on): Add binary-io.
42091         * modules/cloexec-tests (Depends-on): Likewise.
42092         * tests/test-dup2.c (setmode, is_mode): New helpers.
42093         (main): Add tests that translation mode is preserved.
42094         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
42095         Reported by Bruno Haible.
42096
42097         mgetgroups: reduce duplicate listings
42098         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
42099         resulting array.
42100         * tests/test-chown.h (test_chown): Simplify client.
42101         * tests/test-lchown.h (test_lchown): Likewise.
42102
42103 2009-12-06  Bruno Haible  <bruno@clisp.org>
42104
42105         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
42106         value.
42107
42108 2009-12-06  Bruno Haible  <bruno@clisp.org>
42109
42110         * lib/progname.c: Include stdio.h, stdlib.h.
42111         (set_program_name): Reject a NULL argument.
42112
42113 2009-12-05  Eric Blake  <ebb9@byu.net>
42114
42115         pipe2-safer: new module
42116         * modules/pipe2-safer: New file.
42117         * lib/unistd-safer.h (pipe2_safer): New prototype.
42118         * lib/unistd--.h (pipe2): New wrapper.
42119         * lib/pipe-safer.c (pipe2_safer): New function.
42120         * modules/pipe (Depends-on): Add pipe2-safer.
42121         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
42122
42123         stdlib-safer: preserve cloexec flag for mkostemp[s]
42124         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
42125         fd_safer_flag.
42126
42127         unistd-safer: allow preservation of cloexec status via flag
42128         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
42129         prototypes.
42130         * lib/dup-safer.c (dup_safer_flag): New function.
42131         * lib/fd-safer.c (fd_safer_flag): Likewise.
42132         * modules/cloexec (configure.ac): Set witness.
42133
42134         test-dup2: enhance test
42135         * modules/dup2-tests (Depends-on): Add cloexec.
42136         * tests/test-dup2.c (main): Enhance test.
42137
42138         cloexec: add dup_cloexec
42139         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
42140         header and comments.
42141         * lib/cloexec.c (set_cloexec_flag): Add comments.
42142         (dup_cloexec): New function, with mingw implementation borrowed
42143         from...
42144         * lib/w32spawn.h (dup_noinherit): ...here.
42145         * modules/execute (Depends-on): Add cloexec.
42146         * modules/pipe (Depends-on): Likewise.
42147         * modules/cloexec (Depends-on): Add dup2.
42148         * modules/cloexec-tests (Files): New file.
42149         * tests/test-cloexec.c: Likewise.
42150
42151         test-xalloc-die: fix test for mingw
42152         * modules/xalloc-die-tests (Files): Add tests/init.sh.
42153         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
42154         directory and .exe suffix off argv[0] output.
42155
42156         test-fseeko: fix test for mingw
42157         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
42158         than undefining fseek, so test will pass on mingw.
42159
42160 2009-12-05  Bruno Haible  <bruno@clisp.org>
42161
42162         * lib/progname.h (set_program_name): Clarify specification.
42163         * lib/progname.c (set_program_name): Likewise.
42164         Reported by Jim Meyering.
42165
42166 2009-12-05  Jim Meyering  <meyering@redhat.com>
42167
42168         maint.mk: backslash-escape parens in default regexp
42169         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
42170         backslash-escape the literal parentheses.
42171
42172         maint.mk: news-date-check: use grep -E
42173         * top/maint.mk (today): Define a Make variable, not a...
42174         (news-date-check): ...shell variable.
42175         (news-date-regexp): Use the Make variable.
42176         Use grep's -E option.  Change the failing diagnostic to mention
42177         the variable, $(news-date-regexp).
42178
42179 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
42180
42181         maintainer-makefile: allow customization of NEWS entry format
42182         * top/maint.mk (news-date-regexp): New overridable variable.
42183         (news-date-check): Use it.
42184
42185 2009-12-04  Eric Blake  <ebb9@byu.net>
42186
42187         mgetgroups: add xgetgroups, and avoid ENOSYS failures
42188         * lib/mgetgroups.h (xgetgroups): New prototype.
42189         * lib/mgetgroups.c (xgetgroups): New wrapper.
42190         (mgetgroups): Handle ENOSYS.
42191         * modules/mgetgroups (Depends-on): Add realloc.
42192         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
42193
42194         mgetgroups: avoid argument promotion issues with -1
42195         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
42196         for invalid gid_t.
42197         * tests/test-chown.h (getegid, test_chown): Likewise.
42198         * tests/test-lchown.h (getegid, test_lchown): Likewise.
42199
42200 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
42201
42202         exclude: Fix header file problems.
42203         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
42204
42205 2009-12-01  Jim Meyering  <meyering@redhat.com>
42206
42207         fts: fts_open: do not let an empty string cause immediate failure
42208         This is required in support of GNU rm, for which the command
42209         "rm A '' B" must process and remove both A and B, in spite of
42210         the empty string argument.
42211         * lib/fts.c (fts_open): Do not let the presence of an empty string
42212         cause fts_open to fail immediately.  Most fts-using tools must be
42213         able to process all arguments, in order, and can be expected to
42214         diagnose such arguments themselves.
42215
42216 2009-11-30  Eric Blake  <ebb9@byu.net>
42217
42218         utimens: fix compilation error
42219         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
42220         Declare variable at right scope.
42221
42222 2009-11-29  Jim Meyering  <meyering@redhat.com>
42223
42224         bootstrap: handle perl-5.11's changed --version output
42225         * build-aux/bootstrap (get_version): Handle perl separately,
42226         since perl-5.11's --version output is different.
42227
42228 2009-11-28  Jim Meyering  <meyering@redhat.com>
42229
42230         userspec: depend on the inttostr module, too
42231         * modules/userspec (Depends-on): Add inttostr.
42232
42233         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
42234         * lib/userspec.c (parse_with_separator): Do not accept a user ID
42235         number of MAXUID when it evaluates to (uid_t) -1.
42236         Likewise for group ID.  Reported by Matt McCutchen in
42237         <http://savannah.gnu.org/bugs/?28113>
42238
42239         userspec: reformat to use spaces, not TABs
42240         * lib/userspec.c: Expand TABs to spaces.
42241         Add Emacs' "indent-tabs-mode: nil" hint.
42242
42243 2009-11-27  Eric Blake  <ebb9@byu.net>
42244
42245         getopt-gnu: flush out another BSD bug
42246         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
42247         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
42248         flush out BSD bug.
42249         * tests/test-getopt.h (test_getopt): End lists with NULL.
42250         * tests/test-getopt_long.h (test_getopt_long): Likewise.
42251         (test_getopt_long_posix): Enhance test.
42252         * modules/getopt-posix-tests (Depends-on): Add stdbool.
42253         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
42254         getopt-gnu.
42255         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
42256         Likewise.
42257
42258 2009-11-27  Simon Josefsson  <simon@josefsson.org>
42259
42260         * modules/idpriv-droptemp-tests (Notice): Fix text.
42261
42262 2009-11-27  Jim Meyering  <meyering@redhat.com>
42263
42264         test-xalloc-die: avoid spurious failure due to libtool argv difference
42265         In a libtool-enabled project, this test would fail due to a difference
42266         in the emitted program name, e.g.,
42267         -test-xalloc-die: memory exhausted
42268         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
42269         Use program to avoid that.
42270         * modules/xalloc-die-tests (Depends-on): Add progname.
42271         * tests/test-xalloc-die.c: Include progname.h".
42272         (program_name): Remove decl.
42273         (main): Call set_program_name.
42274         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
42275
42276 2009-11-26  Richard Jones  <rjones@redhat.com>
42277
42278         w32sock: leave win32 error in place.
42279         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
42280
42281 2009-11-26  Eric Blake  <ebb9@byu.net>
42282
42283         init.sh: suggest to use skip_ and fail_ functions in comments
42284         * tests/init.sh: Add a sentence.
42285
42286 2009-11-25  Bruno Haible  <bruno@clisp.org>
42287
42288         init.sh: add documentation in comments
42289         * tests/init.sh: Add some developer and user documentation.
42290
42291 2009-11-26  Jim Meyering  <meyering@redhat.com>
42292
42293         init.sh: accommodate even those who specify bogus srcdir manually
42294         * tests/init.sh: Normally, srcdir is guaranteed by automake and
42295         configure-time tests to be sanitized, so that there is no need to
42296         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
42297         (with no double quotes) suffices.  However, since tests may be
42298         invoked manually, and since you may explicitly set srcdir to the
42299         name of a directory containing spaces, do quote its uses here.
42300         * tests/test-pread.sh: Likewise.
42301         Suggested by Bruno Haible.
42302
42303         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
42304         * tests/test-pread.sh: Write no data into the pipe, because
42305         test-pread actually reads none.  This avoids a diagnostic,
42306         "bash: echo: write error: Broken pipe", that arises in the unusual
42307         event something is ignoring SIGPIPE, and might be interpreted
42308         as some sort of failure.  Reported by Bruno Haible.
42309
42310 2009-11-25  Jim Meyering  <meyering@redhat.com>
42311
42312         test-pread: cover failure with ESPIPE and EINVAL
42313         * tests/test-pread.c (main): Test for failure, too.
42314         * tests/test-pread.sh: Invoke with stdin on a pipe.
42315         Suggested by Eric Blake.
42316
42317         pread: improvement and fix
42318         * modules/pread (Depends-on): Depend on lseek, for portability to
42319         e.g., mingw.  Suggested by Eric Blake.
42320         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
42321
42322         unistd.in.h: correct declaration of pread
42323         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
42324         Reported by Richard W.M. Jones.
42325
42326         test-pread.sh: distribute the test script
42327         * modules/pread-tests (Files): Include test-pread.sh.
42328
42329         test-pread.sh: clean up
42330         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
42331         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
42332         That is unnecessary, since it's always ".".
42333         Suggestion from Eric Blake.
42334
42335         test-pread.sh: make executable
42336         * tests/test-pread.sh: Set executable bit.
42337         Reported by Eric Blake.
42338
42339         correct typo in test-pread.sh
42340         * tests/test-pread.sh: Add #! line.
42341
42342         test pread
42343         * tests/test-pread.c: New file.
42344         * tests/test-pread.sh: Likewise.
42345         * modules/pread-tests: Likewise.
42346
42347         pread: new module
42348         * modules/pread: New file.
42349         * lib/unistd.in.h (pread): Define/declare.
42350         * lib/pread.c (pread): New file.
42351         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
42352         * modules/unistd (Makefile.am): Substitute witnesses.
42353         * doc/posix-functions/pread.texi (pread): Update.
42354         * MODULES.html.sh: Add pread.
42355
42356 2009-11-25  Jim Meyering  <meyering@redhat.com>
42357
42358         tests/init.sh: new file to be used via most *.sh tests
42359         * tests/init.sh: New file.
42360
42361 2009-11-25  Eric Blake  <ebb9@byu.net>
42362
42363         utimens: work around older Linux failure with symlinks
42364         * lib/utimens.c (lutimensat_works_really): New variable.
42365         (fdutimens, lutimens): Use it to manage kernels that support
42366         nanosecond times on files, but not on symlinks.
42367         Reported by OndÅ™ej Vašík.
42368
42369         utimes: fix configure grammar
42370         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
42371
42372 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
42373
42374         regex: Fix fastmap for multibyte character ranges.
42375         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
42376         characters when a multibyte character range is included.
42377
42378 2009-11-22  Andy Wingo  <wingo@pobox.com>
42379
42380         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
42381         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
42382
42383 2009-11-24  Bruno Haible  <bruno@clisp.org>
42384
42385         doc: Most *_l functions exist in MacOS X 10.5.
42386         * doc/posix-functions/duplocale.texi: Update platforms list.
42387         * doc/posix-functions/freelocale.texi: Likewise.
42388         * doc/posix-functions/newlocale.texi: Likewise.
42389         * doc/posix-functions/uselocale.texi: Likewise.
42390         * doc/posix-functions/isalnum_l.texi: Likewise.
42391         * doc/posix-functions/isalpha_l.texi: Likewise.
42392         * doc/posix-functions/isblank_l.texi: Likewise.
42393         * doc/posix-functions/iscntrl_l.texi: Likewise.
42394         * doc/posix-functions/isdigit_l.texi: Likewise.
42395         * doc/posix-functions/isgraph_l.texi: Likewise.
42396         * doc/posix-functions/islower_l.texi: Likewise.
42397         * doc/posix-functions/isprint_l.texi: Likewise.
42398         * doc/posix-functions/ispunct_l.texi: Likewise.
42399         * doc/posix-functions/isspace_l.texi: Likewise.
42400         * doc/posix-functions/isupper_l.texi: Likewise.
42401         * doc/posix-functions/iswalnum_l.texi: Likewise.
42402         * doc/posix-functions/iswalpha_l.texi: Likewise.
42403         * doc/posix-functions/iswblank_l.texi: Likewise.
42404         * doc/posix-functions/iswcntrl_l.texi: Likewise.
42405         * doc/posix-functions/iswctype_l.texi: Likewise.
42406         * doc/posix-functions/iswdigit_l.texi: Likewise.
42407         * doc/posix-functions/iswgraph_l.texi: Likewise.
42408         * doc/posix-functions/iswlower_l.texi: Likewise.
42409         * doc/posix-functions/iswprint_l.texi: Likewise.
42410         * doc/posix-functions/iswpunct_l.texi: Likewise.
42411         * doc/posix-functions/iswspace_l.texi: Likewise.
42412         * doc/posix-functions/iswupper_l.texi: Likewise.
42413         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42414         * doc/posix-functions/isxdigit_l.texi: Likewise.
42415         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
42416         * doc/posix-functions/strcasecmp_l.texi: Likewise.
42417         * doc/posix-functions/strcoll_l.texi: Likewise.
42418         * doc/posix-functions/strfmon_l.texi: Likewise.
42419         * doc/posix-functions/strftime_l.texi: Likewise.
42420         * doc/posix-functions/strncasecmp_l.texi: Likewise.
42421         * doc/posix-functions/strxfrm_l.texi: Likewise.
42422         * doc/posix-functions/tolower_l.texi: Likewise.
42423         * doc/posix-functions/toupper_l.texi: Likewise.
42424         * doc/posix-functions/towctrans_l.texi: Likewise.
42425         * doc/posix-functions/towlower_l.texi: Likewise.
42426         * doc/posix-functions/towupper_l.texi: Likewise.
42427         * doc/posix-functions/wcscoll_l.texi: Likewise.
42428         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42429         * doc/posix-functions/wctrans_l.texi: Likewise.
42430         * doc/posix-functions/wctype_l.texi: Likewise.
42431         * doc/glibc-functions/strptime_l.texi: Likewise.
42432         * doc/glibc-functions/strtod_l.texi: Likewise.
42433         * doc/glibc-functions/strtof_l.texi: Likewise.
42434         * doc/glibc-functions/strtol_l.texi: Likewise.
42435         * doc/glibc-functions/strtold_l.texi: Likewise.
42436         * doc/glibc-functions/strtoll_l.texi: Likewise.
42437         * doc/glibc-functions/strtoul_l.texi: Likewise.
42438         * doc/glibc-functions/strtoull_l.texi: Likewise.
42439         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42440         * doc/glibc-functions/wcstod_l.texi: Likewise.
42441         * doc/glibc-functions/wcstof_l.texi: Likewise.
42442         * doc/glibc-functions/wcstol_l.texi: Likewise.
42443         * doc/glibc-functions/wcstold_l.texi: Likewise.
42444         * doc/glibc-functions/wcstoll_l.texi: Likewise.
42445         * doc/glibc-functions/wcstoul_l.texi: Likewise.
42446         * doc/glibc-functions/wcstoull_l.texi: Likewise.
42447
42448 2009-11-24  Bruno Haible  <bruno@clisp.org>
42449
42450         duplocale: Fix logic bug.
42451         * lib/duplocale.c: Don't include <langinfo.h>.
42452         (_NL_LOCALE_NAME): Remove macro.
42453         (rpl_duplocale): Use setlocale instead of nl_langinfo.
42454         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
42455
42456 2009-11-23  Jim Meyering  <meyering@redhat.com>
42457
42458         test-update-copyright: don't hard-code /usr/bin/perl
42459         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
42460         perl to print the current year.  Gilles Espinasse reported that
42461         the replaced use of perl was hard-coded as /usr/bin/perl.
42462
42463 2009-11-23  Bruno Haible  <bruno@clisp.org>
42464
42465         duplocale: Add support for glibc 2.3.x.
42466         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
42467
42468 2009-11-22  Bruno Haible  <bruno@clisp.org>
42469
42470         vasnprintf: Tiny optimization.
42471         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
42472         MacOS X.
42473
42474 2009-11-22  Bruno Haible  <bruno@clisp.org>
42475
42476         Tests for module 'duplocale'.
42477         * modules/duplocale-tests: New file.
42478         * tests/test-duplocale.c: New file.
42479
42480         New module 'duplocale'.
42481         * m4/duplocale.m4: New file.
42482         * lib/locale.in.h (duplocale): New declaration.
42483         * lib/duplocale.c: New file.
42484         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
42485         gl_LOCALE_H_DEFAULTS): New macros.
42486         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
42487         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
42488         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
42489         REPLACE_DUPLOCALE.
42490         * modules/duplocale: New file.
42491         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
42492
42493 2009-11-22  Bruno Haible  <bruno@clisp.org>
42494
42495         * modules/locale-tests (configure.ac): Test for newlocale function.
42496         * tests/test-locale.c: When the system has extended locale functions,
42497         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
42498
42499         locale: Make locale_t available when possible.
42500         * lib/locale.in.h: Include <xlocale.h> when it exists.
42501         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
42502         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
42503         * modules/locale (Depends-on): Add extensions.
42504         (Makefile.am): Also substitute HAVE_XLOCALE_H.
42505         * doc/posix-headers/locale.texi: Document the problem with locale_t.
42506
42507 2009-11-22  Bruno Haible  <bruno@clisp.org>
42508
42509         Add comments.
42510         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
42511         invocation.
42512         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
42513         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
42514         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
42515
42516 2009-11-22  Bruno Haible  <bruno@clisp.org>
42517
42518         error: account for the possibility of freopen (stdout).
42519         * lib/error.c: Include <unistd.h>.
42520         (flush_stdout): New function, extracted from error and error_at_line.
42521         Determine stdout's fd dynamically.
42522         (error, error_at_line): Invoke flush_stdout.
42523         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
42524         * modules/error (Depends-on): Add unistd.
42525
42526 2009-11-22  Bruno Haible  <bruno@clisp.org>
42527
42528         diffseq: Add comment.
42529         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
42530
42531 2009-11-22  Jim Meyering  <meyering@redhat.com>
42532
42533         c-stack: avoid defining an unused static function
42534         * lib/c-stack.c (find_stack_direction): Do not define this function
42535         when it will not be used.
42536
42537         diffseq: avoid spurious gcc warnings
42538         * lib/diffseq.h (IF_LINT2): Define.
42539         (compareseq): Use it to initialize two members of "part".
42540         This avoids two used-uninitialized warnings.
42541
42542 2009-11-21  Jim Meyering  <meyering@redhat.com>
42543
42544         c-stack: avoid "ignoring return value of `write'" warning
42545         * lib/c-stack.c: Include "ignore-value.h".
42546         (die): Explicitly ignore each write return value.
42547         * modules/c-stack (Depends-on): Add ignore-value.
42548
42549 2009-11-21  Bruno Haible  <bruno@clisp.org>
42550
42551         diffseq: reduce scope of variable 'best'.
42552         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
42553         variable, earlier used for two different purposes.
42554
42555 2009-11-21  Jim Meyering  <meyering@redhat.com>
42556
42557         diffseq: remove useless assignment to "best"
42558         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
42559         assignment.  At that point "best" is already guaranteed to be zero.
42560
42561 2009-11-20  Eric Blake  <ebb9@byu.net>
42562
42563         build: mention ftp redirector in release announcements
42564         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
42565         values that used to come from cfg.mk; mention FTP redirect URL.
42566         * build-aux/announce-gen: Mention the mirror list.
42567         Suggested by Karl Berry.
42568
42569         nanosleep: improve port to mingw
42570         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
42571         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
42572         LIB_NANOSLEEP, but only when needed.
42573         * modules/select (Link): Document LIBSOCKET.
42574         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
42575         enough.
42576
42577         nanosleep: work around cygwin bug
42578         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
42579         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
42580         bug.
42581         (getnow): Delete, not needed.
42582         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
42583         LIB_CLOCK_GETTIME.
42584         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
42585         clock-time, gettime.
42586         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
42587         bug.
42588         * modules/nanosleep-tests: New test.
42589         * tests/test-nanosleep.c: New file.
42590
42591         sleep: work around cygwin bug
42592         * lib/sleep.c (rpl_sleep): Work around the bug.
42593         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
42594         (gl_PREREQ_SLEEP): Delete unused macro.
42595         * modules/sleep (Depends-on): Add verify.
42596         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
42597         * modules/unistd (Makefile.am): Substitute witness.
42598         * lib/unistd.in.h (sleep): Update prototype.
42599         * doc/posix-functions/sleep.texi (sleep): Document the bug.
42600         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
42601         * modules/sleep-tests (Depends-on): Check for alarm.
42602
42603 2009-11-20  Jim Meyering  <meyering@redhat.com>
42604
42605         maint.mk: improve sc_prohibit_magic_number_exit
42606         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
42607         so it does not match uses like System.exit(1).
42608         Add comments showing how to correct all offenders.
42609
42610 2009-11-19  Eric Blake  <ebb9@byu.net>
42611
42612         xalloc-die-tests: add missing library
42613         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
42614
42615         test-xvasprintf: silence compiler warnings
42616         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
42617         empty string from gcc.
42618
42619 2009-11-19  Jim Meyering  <meyering@redhat.com>
42620
42621         xfreopen: new module, from coreutils
42622         * modules/xfreopen: New module.
42623         * lib/xfreopen.c: New file.
42624         * lib/xfreopen.h: New file.
42625         * MODULES.html.sh (File stream based Input/Output"): Add it.
42626
42627 2009-11-19  Eric Blake  <ebb9@byu.net>
42628
42629         manywarnings: depend on warnings
42630         * modules/manywarnings (Depends-on): Add warnings.
42631
42632         build: avoid compiler warnings
42633         * lib/select.c (rpl_select): Delete unused variable.
42634         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
42635
42636 2009-11-18  Eric Blake  <ebb9@byu.net>
42637
42638         tests: avoid false negative with --with-packager
42639         * tests/test-version-etc.sh: Discard packager information.
42640         * tests/test-argp-version-etc-1.sh: Likewise.
42641         Reported by Mike Frysinger.
42642
42643         utimens: fix regression on Solaris
42644         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
42645         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
42646         can only change fd timestamps via futimesat.  Instead, use an
42647         additional witness macro to avoid BSD bug.
42648         Reported by Jim Meyering.
42649
42650 2009-11-17  Eric Blake  <ebb9@byu.net>
42651
42652         usleep: use it to simplify tests
42653         * modules/stat-time-tests (Depends-on): Add usleep.
42654         (configure.ac): Drop usleep check.
42655         * modules/chown-tests (Depends-on, configure.ac): Likewise.
42656         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
42657         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
42658         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
42659         * modules/openat-tests (Depends-on, configure.ac): Likewise.
42660         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
42661         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
42662         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
42663         Likewise.
42664         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
42665         * tests/test-lchown.h (nap): Likewise.
42666         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
42667         * tests/test-stat-time.c (nap): Likewise.
42668         * tests/test-utimens-common.h (nap): Update comments.
42669
42670         usleep: new module
42671         * modules/usleep: New file.
42672         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
42673         * lib/usleep.c (usleep): Likewise.
42674         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
42675         * modules/unistd (Makefile.am): Substitute witnesses.
42676         * lib/unistd.in.h (usleep): Add declaration.
42677         * doc/pastposix-functions/usleep.texi (usleep): Document this.
42678         * MODULES.html.sh (Date and time): Likewise.
42679         * modules/usleep-tests (Depends-on): New test.
42680         * tests/test-usleep.c: New file.
42681
42682         chown: work around OpenBSD bug
42683         * lib/chown.c (rpl_chown): Work around the bug.
42684         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
42685         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
42686         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
42687         * modules/chown (Depends-on): Add stdbool.
42688         * modules/lchown (Depends-on): Likewise.
42689         * doc/posix-functions/chown.texi (chown): Document the bug.
42690         * doc/posix-functions/lchown.texi (lchown): Likewise.
42691         * tests/test-lchown.h (test_chown): Relax test.
42692
42693         mkstemp: avoid conflict with C++ keyword template
42694         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
42695         * lib/mkostemp.c (mkostemp): Likewise.
42696         * lib/mkostemps.c (mkostemps): Likewise.
42697         * lib/mkstemp.c (mkstemp): Likewise.
42698         * lib/mkstemps.c (mkstemps): Likewise.
42699
42700         xalloc-die-tests: optimize
42701         * tests/test-xalloc-die.sh: Reduce number of processes.
42702
42703 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42704
42705         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
42706         patch from ludo@gnu.org (Ludovic Courtès).
42707
42708 2009-11-17  Jim Meyering  <meyering@redhat.com>
42709
42710         version-etc: use proper license string
42711         * modules/version-etc (License): Use LGPL, not LGPLv3+.
42712         * modules/version-etc-fsf: Likewise.
42713
42714 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42715
42716         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
42717         printed to stdout.  Deal with EOL differences.
42718
42719 2009-11-17  Eric Blake  <ebb9@byu.net>
42720
42721         unsetenv: work around Solaris bug
42722         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
42723         * lib/unsetenv.c (rpl_unsetenv): Work around it.
42724         Reported by Jim Meyering.
42725
42726         vasnprintf: avoid compiler warnings
42727         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
42728         variables.
42729         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
42730
42731 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42732
42733         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
42734         settings since xalloc-die is no longer the self test,
42735         xalloc-die.sh is.
42736
42737 2009-11-17  Jim Meyering  <meyering@redhat.com>
42738
42739         test-xalloc-die.sh: make the code agree with the commit log
42740         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
42741         at the end, just in case you happen to have a test-xalloc-die
42742         program in some other PATH directory.
42743
42744         test-xalloc-die.sh: fix a portability bug
42745         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
42746         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
42747         Otherwise, argv[0] (as often seen in diagnostics) would be too
42748         system-dependent, sometimes with, and sometimes without the leading "./".
42749
42750         version-etc-fsf: relax license to LGPLv3+
42751         * modules/version-etc-fsf (License): Relax license.
42752
42753 2009-11-16  Eric Blake  <ebb9@byu.net>
42754
42755         xalloc-die-tests: avoid printing null pointer
42756         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
42757         shell script.
42758         * tests/test-xalloc-die.c (program_name): Declare.
42759         * tests/test-xalloc-die.sh (tmpfiles): New file.
42760
42761         setenv, unsetenv: work around various bugs
42762         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
42763         (setenv) [HAVE_SETENV]: Work around bugs.
42764         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
42765         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
42766         for bugs.
42767         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
42768         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
42769         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
42770         * modules/stdlib (Makefile.am): Update substitutions.
42771         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
42772         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
42773         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
42774         * modules/setenv-tests: New test.
42775         * modules/unsetenv-tests: Likewise.
42776         * tests/test-setenv.c: New file.
42777         * tests/test-unsetenv.c: Likewise.
42778
42779 2009-11-16  Jim Meyering  <meyering@redhat.com>
42780
42781         version-etc: relax license to LGPLv3+
42782         * modules/version-etc (License): Relax license.
42783
42784         better AC_REQUIRE expanded-before-required-warning avoidance
42785         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
42786         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
42787         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
42788         which is no longer needed.
42789
42790 2009-11-16  Eric Blake  <ebb9@byu.net>
42791
42792         test-freading: clean up temporary file
42793         * tests/test-freading.c (main): Remove file on success, and use
42794         ASSERT more liberally.
42795         Reported by Jim Meyering.
42796
42797 2009-11-16  Jim Meyering  <meyering@redhat.com>
42798
42799         avoid new AC_REQUIRE expanded-before-required warnings
42800         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
42801         merely using it.
42802         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
42803         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
42804
42805 2009-11-15  Simon Josefsson  <simon@josefsson.org>
42806
42807         * tests/test-xalloc-die.c: New file.
42808         * modules/xalloc-die-tests: New file.
42809         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
42810         XFAIL_TESTS so it can be appended by modules.
42811
42812 2009-11-15  Simon Josefsson  <simon@josefsson.org>
42813
42814         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
42815         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
42816
42817 2009-11-14  Eric Blake  <ebb9@byu.net>
42818
42819         fnmatch: avoid compiler warning
42820         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
42821         to silence compiler warning about mismatch signedness in ?:.
42822         Reported by Robert Millan.
42823
42824         intprops: add double-inclusion guard
42825         * lib/intprops.h: Allow idempotent includes.
42826         Suggested by Bruce Korb.
42827
42828         openat: detect Solaris fchownat bug
42829         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
42830         penalizing glibc chownat when only lchownat is broken.
42831         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
42832         trailing slash bugs.
42833         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
42834         * modules/openat-tests (Files): Include more files.
42835         (Depends-on): Add mgetgroups, sleep, stat-time.
42836         (configure.ac): Add additional checks.
42837         (Makefile.am): Build new test.
42838         * tests/test-fchownat.c: New file.
42839
42840         lchown: detect Solaris and FreeBSD bug
42841         * lib/lchown.c (rpl_lchown): Work around bug.
42842         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
42843         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42844         * modules/unistd (Makefile.am): Populate it.
42845         * lib/unistd.in.h (lchown): Update declaration.
42846         * doc/posix-functions/lchown.texi (lchown): Document the bug.
42847         * modules/lchown-tests: New file.
42848         * tests/test-lchown.h (test_lchown): Likewise.
42849         * tests/test-lchown.c (main): Likewise.
42850
42851         chown: detect Solaris and FreeBSD bug
42852         * lib/chown.c (rpl_chown): Work around bug.
42853         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
42854         (gl_PREREQ_CHOWN): Delete.
42855         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42856         * modules/unistd (Makefile.am): Populate it.
42857         * lib/unistd.in.h (chown): Update declaration.
42858         * lib/lchown.c (chown): Update client.
42859         * modules/lchown (Depends-on): Add lstat.
42860         * doc/posix-functions/chown.texi (chown): Document the bug.
42861         * doc/posix-functions/getgroups.texi (getgroups): Document
42862         getgroups pitfall.
42863         * modules/chown-tests: New file.
42864         * tests/test-chown.h (test_chown): Likewise.
42865         * tests/test-chown.c (main): Likewise.
42866
42867 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
42868
42869         gnulib-tool: correctly detect absence of m4 directories
42870         * gnulib-tool: Avoid extra newline on data passed to wc -l.
42871
42872 2009-11-14  Jim Meyering  <meyering@redhat.com>
42873
42874         maint.mk: Prohibit inclusion of "xalloc.h" without use.
42875         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
42876
42877 2009-11-14  John W. Eaton  <jwe@gnu.org>
42878
42879         strftime.h: wrap function declaration in extern "C" block
42880         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
42881
42882 2009-11-13  Eric Blake  <ebb9@byu.net>
42883
42884         getgroups: avoid compiler warning
42885         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
42886
42887         getgroups: work around FreeBSD bug
42888         * lib/getgroups.c (rpl_getgroups): Work around the bug.
42889         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
42890         * doc/posix-functions/getgroups.texi (getgroups): Document it.
42891         * tests/test-getgroups.c (main): Fix buffer overrun.
42892
42893         getgroups: avoid compilation failure
42894         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
42895         * modules/getgroups (Depends-on): Add stdint.
42896
42897 2009-11-13  Jim Meyering  <meyering@redhat.com>
42898
42899         test-getgroups: avoid compilation failure
42900         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
42901
42902 2009-11-13  Eric Blake  <ebb9@byu.net>
42903
42904         mgetgroups: new module, taken from coreutils
42905         * modules/mgetgroups: New file.
42906         * lib/mgetgroups.h: Likewise.
42907         * lib/mgetgroups.c (mgetgroups): Likewise.
42908         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
42909         * MODULES.html.sh (Users and groups): Mention it.
42910
42911         getgroups: don't expose GETGROUPS_T to user
42912         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
42913         an element at a time if GETGROUPS_T is wrong size.
42914         * lib/getugroups.h (getugroups): Change signature.
42915         * lib/unistd.in.h (getgroups): Likewise.
42916         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
42917         signature needs fixing.
42918         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
42919         AC_TYPE_GETGROUPS.
42920         * modules/group-member (Depends-on): Add getgroups.
42921         * lib/group-member.c (group_info, get_group_info): Use gid_t.
42922         (group_member): Rely on getgroups replacement.
42923         * lib/getugroups.c (getugroups): Use gid_t.
42924         * tests/test-getgroups.c (main): Likewise.
42925         * NEWS: Mention the signature change.
42926         * doc/posix-functions/getgroups.texi (getgroups): Mention the
42927         problem with signature.
42928         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
42929         GETGROUPS_T is still useful for setgroups.
42930
42931         getgroups, getugroups: provide stubs for mingw
42932         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
42933         * lib/getugroups.c (getugroups): Likewise.
42934         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
42935         function.  Modernize replacement scheme.
42936         (gl_PREREQ_GETGROUPS): Delete.
42937         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
42938         * modules/getgroups (configure.ac): Declare witness.
42939         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
42940         * modules/unistd (Depends-on): Substitute witness.
42941         * lib/unistd.in.h (getgroups): Declare replacement.
42942
42943         getgroups: avoid calling exit
42944         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
42945         drop xalloc.
42946         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
42947         dependencies.
42948         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
42949         exiting, in the rare case of malloc failure.
42950
42951         getgroups: fix logic error
42952         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
42953         has more than 20 groups.
42954         * modules/getgroups-tests: New test.
42955         * tests/test-getgroups.c: New file.
42956
42957 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42958
42959         * tests/test-base64.c: Improve.
42960
42961 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42962
42963         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
42964         Blake <ebb9@byu.net>.
42965
42966 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42967
42968         * tests/test-xvasprintf.c: Add %s%s related checks.
42969
42970 2009-11-12  Eric Blake  <ebb9@byu.net>
42971
42972         version-etc: match standards.texi style
42973         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
42974         and use <> only for URLs.
42975
42976 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
42977
42978         fts: do not fail on a submount during traversal
42979         * lib/fts.c (fts_build): Read the stat info again after opening
42980         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
42981         Original report at http://bugzilla.redhat.com/501848.
42982
42983 2009-11-12  Jim Meyering  <meyering@redhat.com>
42984
42985         bootstrap: sync from coreutils
42986         * build-aux/bootstrap (bootstrap_epilogue): New function.
42987         Use git_modules_config in one more place.  This make bootstrap's
42988         --gnulib-srcdir option more useful for testing.
42989
42990         bootstrap: generalize autoheader check
42991         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
42992         AC_CONFIG_HEADERS.
42993
42994 2009-11-11  Eric Blake  <ebb9@byu.net>
42995
42996         mkfifoat: use new modules for Solaris and BSD bugs
42997         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
42998         * lib/mkfifoat.c (mknodat): Split...
42999         * lib/mknodat.c (mknodat): ...into new file.
43000         * modules/mkfifoat (Files): Ship new file.
43001         (Depends-on): Add mkfifo, mknod.
43002         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
43003         (Depends-on): Add symlink.
43004         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
43005         redundant with test_mkfifo.h.
43006         (do_mkfifoat, do_mknodat): New helpers.
43007
43008         mknod: new module
43009         * modules/mknod: New file.
43010         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
43011         * lib/mknod.c (mknod): Likewise.
43012         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
43013         defaults.
43014         * modules/sys_stat (Makefile.am): Substitute them.
43015         * lib/sys_stat.in.h (mknod): Declare replacement.
43016         * MODULES.html.sh (Support for systems lacking POSIX:2008):
43017         Document it.
43018         * doc/posix-functions/mknod.texi (mknod): Likewise.
43019         * modules/mknod-tests: New test.
43020         * tests/test-mknod.c: Likewise.
43021
43022         mkfifo: new module
43023         * modules/mkfifo: New file.
43024         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
43025         * lib/mkfifo.c (mkfifo): Likewise.
43026         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
43027         defaults.
43028         * modules/sys_stat (Makefile.am): Substitute them.
43029         * lib/sys_stat.in.h (mkfifo): Declare replacement.
43030         * MODULES.html.sh (Support for systems lacking POSIX:2008):
43031         Document it.
43032         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
43033         * modules/mkfifo-tests: New test.
43034         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
43035         from test-mkfifoat.c.
43036         * tests/test-mkfifo.c: New file.
43037
43038         readlink: detect FreeBSD bug
43039         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
43040         slash on symlink.
43041         * doc/posix-functions/readlink.texi (readlink): Document the bug.
43042         * tests/test-readlink.h (test_readlink): Enhance test.
43043
43044         symlink: detect FreeBSD bug
43045         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
43046         slash on symlink.
43047         * doc/posix-functions/symlink.texi (symlink): Document the bug.
43048         * tests/test-symlink.h (test_symlink): Enhance test.
43049
43050 2009-11-10  Eric Blake  <ebb9@byu.net>
43051
43052         link: detect FreeBSD bug
43053         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
43054         symlink.
43055         * doc/posix-functions/link.texi (link): Document the bug.
43056         * tests/test-link.h (test_link): Enhance test.
43057         * tests/test-linkat.c (main): Update caller.
43058
43059         unlink, remove: detect FreeBSD bug
43060         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
43061         slash on symlink.
43062         * doc/posix-functions/unlink.texi (unlink): Document the bug.
43063         * doc/posix-functions/remove.texi (remove): Likewise.
43064         * tests/test-unlink.h (test_unlink): Enhance test.
43065         * tests/test-remove.c (main): Likewise.
43066
43067 2009-11-09  Eric Blake  <ebb9@byu.net>
43068
43069         rename: detect FreeBSD bug
43070         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
43071         slash on symlink.
43072         * modules/renameat-tests (Depends-on): Add filenamecat.
43073         * tests/test-rename.h (test_rename): Allow one more errno.
43074         * tests/test-renameat.c (main): Likewise.
43075         * doc/posix-functions/rename.texi (rename): Document the bug.
43076
43077         open: detect FreeBSD bug
43078         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
43079         symlink.
43080         * doc/posix-functions/open.texi (open): Document the bug.
43081         * doc/posix-functions/utimes.texi (utimes): Likewise.
43082         * tests/test-open.h (test_open): Add parameters, and test symlink
43083         handling.
43084         * tests/test-open.c (main): Adjust caller.
43085         * tests/test-fcntl-safer.c (main): Likewise.
43086         * modules/open-tests (Depends-on): Add stdbool, symlink.
43087         * modules/fcntl-safer-tests (Depends-on): Likewise.
43088         * tests/test-openat.c (main): Add test-open tests.
43089
43090         stat: detect FreeBSD bug
43091         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
43092         symlink.
43093         * doc/posix-functions/stat.texi (stat): Document the bug.
43094         * tests/test-stat.h (test_stat_func): Add argument.
43095         * tests/test-stat.c (main): Adjust caller.
43096         * tests/test-fstatat.c (main): Likewise.
43097         * modules/stat-tests (Depends-on): Add stdbool, symlink.
43098         Reported by Jim Meyering.
43099
43100 2009-11-09  James Youngman  <jay@gnu.org>
43101
43102         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
43103         * lib/strftime.c: Correct placement of #include "ignore-value.h".
43104
43105 2009-11-08  Jim Meyering  <meyering@redhat.com>
43106
43107         utimens: remove invalid futimesat call
43108         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
43109         It used the file descriptor of the target file as the DIR_FD
43110         parameter and NULL as the file name.  That caused failure with
43111         errno == EFAULT on FreeBSD-8.0-rc2
43112
43113 2009-11-07  Eric Blake  <ebb9@byu.net>
43114
43115         fflush, freadseek: use fseeko, not fseek
43116         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
43117         (clear_ungetc_buffer): Avoid potential problems on large files.
43118         * lib/freadseek.c (freadseek): Likewise.
43119         * modules/freadseek (Depends-on): Add fseeko.
43120         * modules/fseek (configure.ac): Set a witness.
43121         * tests/test-fflush.c (main): Use fseeko.
43122         * tests/test-fpurge.c (fseek): Disable link warning.
43123         * tests/test-freadable.c (fseek): Likewise.
43124         * tests/test-freading.c (fseek): Likewise.
43125         * tests/test-fseeko.c (fseek): Likewise.
43126         * tests/test-ftell.c (fseek): Likewise.
43127         * tests/test-ftello.c (fseek): Likewise.
43128         * tests/test-fwritable.c (fseek): Likewise.
43129         * tests/test-fwriting.c (fseek): Likewise.
43130
43131 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43132
43133         * modules/memchr (Depends-on): Drop getpagesize dependency.
43134
43135 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43136
43137         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
43138         Reported by Ludovic Courtès.
43139         * build-aux/pmccabe2html: Improve example usage.
43140         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
43141
43142 2009-11-06  Jim Meyering  <meyering@redhat.com>
43143
43144         do-release-commit-and-tag: New module.
43145         Automate the release-commit and tag process.
43146         * build-aux/do-release-commit-and-tag: New script, from coreutils.
43147         * modules/do-release-commit-and-tag: New file.
43148         * MODULES.html.sh (Support for maintaining and releasing): Add it.
43149
43150 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43151
43152         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
43153         because test-select.c uses inet_pton.
43154
43155 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43156
43157         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
43158         GETADDRINFO_LIB.  Bump serial number.
43159         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
43160         Suggested by Eric Blake <ebb9@byu.net>.
43161
43162 2009-11-05  Eric Blake  <ebb9@byu.net>
43163
43164         strtod: detect darwin bug
43165         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
43166         Reported by Leo Davis.
43167
43168         freopen-safer: new module
43169         * modules/freopen-safer: New module.
43170         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
43171         * lib/freopen-safer.c (freopen_safer): New file.
43172         * lib/stdio-safer.h (freopen_safer): New declaration.
43173         * lib/stdio--.h (freopen): New override.
43174         * MODULES.html.sh (File stream based Input/Output): Mention it.
43175         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
43176         freopen-safer module.
43177         * doc/posix-functions/stderr.texi (stderr): Likewise.
43178         * doc/posix-functions/stdin.texi (stdin): Likewise.
43179         * doc/posix-functions/stdout.texi (stdout): Likewise.
43180         * modules/freopen-safer-tests: New test.
43181         * tests/test-reopen-safer.c: New file.
43182
43183 2009-11-05  Jim Meyering  <meyering@redhat.com>
43184
43185         maint.mk: Prohibit inclusion of "close-stream.h" without use.
43186         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
43187
43188 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43189
43190         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
43191
43192 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43193
43194         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
43195
43196 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43197
43198         Fix link error.
43199         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43200         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43201
43202 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43203
43204         * tests/test-func.c: Also test value of __func__.
43205
43206 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43207
43208         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
43209         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
43210
43211 2009-11-05  Bruno Haible  <bruno@clisp.org>
43212
43213         Fix link error.
43214         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43215         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43216         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
43217
43218 2009-11-05  Bruno Haible  <bruno@clisp.org>
43219
43220         Tests for module 'inet_pton'.
43221         * modules/inet_pton-tests: New file.
43222         * tests/test-inet_pton.c: New file.
43223
43224 2009-11-05  Bruno Haible  <bruno@clisp.org>
43225
43226         Tests for module 'inet_ntop'.
43227         * modules/inet_ntop-tests: New file.
43228         * tests/test-inet_ntop.c: New file.
43229
43230 2009-11-04  Eric Blake  <ebb9@byu.net>
43231
43232         stdlib-safer: wrap all mkstemp variants
43233         * modules/mkostemp (configure.ac): Set witness.
43234         * modules/mkostemps (configure.ac): Likewise.
43235         * modules/mkstemps (configure.ac): Likewise.
43236         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
43237         (mkstemps_safer): Wrap more functions.
43238         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
43239         wrapping.
43240         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
43241         (mkstemps_safer): Implement the wrappers.
43242
43243         mkstemps, mkostemps: new modules
43244         * modules/mkostemps: New module.
43245         * modules/mkstemps: Likewise.
43246         * lib/mkostemps.c (mkostemps): New file.
43247         * lib/mkstemps.c (mkstemps): Likewise.
43248         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
43249         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
43250         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
43251         * modules/stdlib (Makefile.am): Substitute them.
43252         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
43253         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
43254         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
43255         * doc/gnulib.texi (Glibc stdlib.h): Include them.
43256         * MODULES.html.sh (File system functions): Mention them.
43257
43258         tempname: resync from glibc
43259         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
43260         same values for __GT_FILE as glibc.  Abort even when assertions
43261         are disabled.
43262         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
43263         match its value otherwise.  Allow idempotent inclusion.
43264         * lib/mkdtemp.c (mkdtemp): Adjust caller.
43265         * lib/mkostemp.c (mkostemp): Likewise.
43266         * lib/mkstemp.c (mkstemp): Likewise.
43267         * lib/tmpfile.c (tmpfile): Likewise.
43268         * NEWS: Document this.
43269
43270         utimens: fix use of futimens on older Linux
43271         * lib/utimens.c (fdutimens): Use updated, rather than original,
43272         timespec to avoid bug in older Linux kernel.
43273         Reported by Simon Josefsson.
43274
43275 2009-11-04  Bruno Haible  <bruno@clisp.org>
43276
43277         Make num_processors more flexible and consistent.
43278         * lib/nproc.h (enum nproc_query): New type.
43279         (num_processors): Add a 'query' argument.
43280         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
43281         (num_processors): Add a 'query' argument. Test the value of the
43282         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
43283         mingw, count the number of CPUs available for the current process.
43284         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
43285         Check for sched_getaffinity and sched_getaffinity_np.
43286         * modules/nproc (Depends-on): Add c-ctype, extensions.
43287         * NEWS: Mention the change.
43288
43289 2009-11-03  Bruno Haible  <bruno@clisp.org>
43290
43291         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
43292
43293 2009-11-03  Jim Meyering  <meyering@redhat.com>
43294
43295         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
43296         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
43297         if it is defined.
43298
43299 2009-11-02  Eric Blake  <ebb9@byu.net>
43300
43301         mktime, timegm: share common declaration
43302         * lib/mktime-internal.h: New file.
43303         * lib/mktime.c: Use it rather than open-coding a declaration.
43304         * lib/timegm.c: Likewise.
43305         * modules/mktime (Files): Ship it.
43306         * modules/timegm (Files): Likewise.
43307         Suggested by Bruno Haible.
43308
43309         test-update-copyright: update test to match script changes
43310         * tests/test-update-copyright.sh: Avoid hard-coding perl
43311         location.  Don't update *.bak created by earlier runs.
43312
43313 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
43314             Simon Josefsson  <simon@josefsson.org>
43315             Bruno Haible  <bruno@clisp.org>
43316
43317         Fix link error on Solaris 8.
43318         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
43319         also in libnsl. Define also INET_PTON_LIB.
43320         * modules/inet_pton (Link): New section.
43321
43322 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43323             Bruno Haible  <bruno@clisp.org>
43324
43325         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
43326         * modules/inet_ntop (Link): New section.
43327         Reported by Boyan Kasarov <bkasarov@gmail.com>.
43328
43329 2009-11-02  Eric Blake  <ebb9@byu.net>
43330
43331         maint: avoid compiler warnings in m4 macros
43332         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
43333         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
43334
43335 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43336
43337         * m4/pmccabe2html.m4: Remove file.
43338         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
43339         function.  Change maintainer.
43340         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
43341         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
43342         Courtès).
43343
43344 2009-10-31  Eric Blake  <ebb9@byu.net>
43345
43346         fseeko: fix m4 regression
43347         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
43348         regression from 2009-10-27.
43349         Reported by Ralf Wildenhues.
43350
43351 2009-10-31  Jim Meyering  <meyering@redhat.com>
43352
43353         inttostr: aesthetics and improved (compile-time) safety
43354         Define inttype_is_signed rather than inttype_is_unsigned,
43355         since the sole use is via "#if inttype_is_signed".
43356         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
43357         inttype_is_unsigned.
43358         * lib/offtostr.c (inttype_is_signed): Likewise.
43359         * lib/uinttostr.c (inttype_is_signed): Likewise.
43360         * lib/umaxtostr.c (inttype_is_signed): Likewise.
43361         * lib/inttostr.c (inttostr): Use verify to cross-check the
43362         inttype_is_signed value and the signedness of the actual type.
43363         * modules/inttostr (Depends-on): Add verify.
43364
43365 2009-10-30  Eric Blake  <ebb9@byu.net>
43366
43367         build: avoid compiler warnings
43368         * lib/fchmodat.c (lchmod): Mark unused variables.
43369         * lib/getopt.c (_getopt_initialize): Likewise.
43370         * lib/mktime.c (__mktime_internal): Provide prototype.
43371         * lib/inttostr.c (inttostr): Avoid compiler warning even with
43372         older gcc that do not understand #pragma GCC diagnostic.
43373         * lib/uinttostr.c (inttype_is_unsigned): Define.
43374         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
43375
43376 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
43377
43378         stat: fix compilation on AIX
43379         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
43380         only see struct stat64.
43381
43382 2009-10-30  Eric Blake  <ebb9@byu.net>
43383
43384         exclude: make more robust
43385         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
43386         rather than masking a coding bug.
43387         Suggested by Bruno Haible.
43388
43389 2009-10-30  Jim Meyering  <meyering@redhat.com>
43390
43391         perl scripts: remove #!/usr/bin/perl in favor of more portable...
43392         Rather than putting #!/usr/bin/perl on the first line,
43393         start with a variant of what's recommended by "man perlrun" that
43394         invokes the first "perl" program from your shell's search path.
43395         * build-aux/gitlog-to-changelog: Replace #!... as above.
43396         Add a "Local Variables" perl mode setting.
43397         Prompted by a patch from Ludovic Courtès.
43398         Improved by Eric Blake.
43399         * build-aux/useless-if-before-free: Likewise.
43400         * build-aux/announce-gen: Likewise.
43401         * build-aux/update-copyright: Likewise.
43402
43403 2009-10-29  Eric Blake  <ebb9@byu.net>
43404
43405         filenamecat-lgpl: adjust clients
43406         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
43407         filenamecat.
43408         * modules/renameat (Depends-on): Likewise.
43409
43410         filenamecat: split into filenamecat-lgpl
43411         * modules/filenamecat-lgpl: New module.
43412         * modules/filenamecat (Files): Move library-safe files into
43413         filenamecat-lgpl.
43414         (Depends-on): Add filenamecat-lgpl.
43415         (configure.ac): Declare witness.
43416         * lib/filenamecat.h (file_name_concat): Only declare when using
43417         GPL module.
43418         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
43419         Move...
43420         * lib/filenamecat-lgpl.c: ...into new file.
43421         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
43422         (gl_FILE_NAME_CONCAT): Use it.
43423         * MODULES.html.sh (File system functions): Mention new module.
43424
43425         argp: avoid memory leak
43426         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
43427         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
43428         base_name, since the latter malloc()s and can call exit().
43429         Leak introduced 2006-07-03.
43430
43431         dirname-lgpl: adjust clients that don't need full dirname
43432         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
43433         * modules/filenamecat (Depends-on): Likewise.
43434         * modules/linkat (Depends-on): Likewise.
43435         * modules/mkancesdirs (Depends-on): Likewise.
43436         * modules/mkdir (Depends-on): Likewise.
43437         * modules/openat (Depends-on): Likewise.
43438         * modules/savewd (Depends-on): Likewise.
43439         * modules/rename (Depends-on): Likewise.
43440         (License): Relax license.
43441         * modules/mkdir-tests (Depends-on): Drop progname.
43442         (Makefile.am): Delete unneeded LDADD.
43443         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
43444
43445         dirname: split into dirname-lgpl
43446         * modules/dirname-lgpl: New module.
43447         * modules/dirname (Files): Move library-safe files into
43448         dirname-lgpl.
43449         (Depends-on): Add dirname-lgpl.
43450         (configure.ac): Declare witness.
43451         * modules/double-slash-root (License): Relax license.
43452         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
43453         module.
43454         * lib/dirname.c (dir_len, mdir_name): Move...
43455         * lib/dirname-lgpl.c: ...into new file.
43456         * lib/basename.c (last_component, base_len): Move...
43457         * lib/basename-lgpl.c: ...into new file.
43458         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
43459         (gl_DIRNAME): Use it.
43460         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
43461         Mention new module.
43462         * modules/dirname-tests (Depends-on): Add progname.
43463         * tests/test-dirname.c (program_name): Delete.
43464
43465         mkdir: make safe for libraries
43466         * modules/mkdir (Depends-on): Drop xalloc.
43467         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
43468         exit.
43469
43470         tests: avoid some compiler warnings
43471         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
43472         literals.
43473         * tests/test-memchr.c (main): Avoid type mismatch.
43474         * tests/test-arpa_inet.c (main): Avoid unused parameters.
43475         * tests/test-base64.c (main): Likewise.
43476         * tests/test-getdelim.c (main): Likewise.
43477         * tests/test-gethostname.c (main): Likewise.
43478         * tests/test-getline.c (main): Likewise.
43479         * tests/test-netinet_in.c (main): Likewise.
43480         * tests/test-select.c (open_server_socket, main): Likewise.
43481         * tests/test-select-stdin.c (main): Likewise.
43482         * tests/test-sockets.c (main): Likewise.
43483         * tests/test-strsignal.c (main): Likewise.
43484         * tests/test-sys_select.c (main): Likewise.
43485         * tests/test-sys_socket.c (main): Likewise.
43486         * tests/test-u64.c (main): Likewise.
43487         * tests/test-xfprintf-posix.c (main): Likewise.
43488         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
43489
43490         sockets: avoid compiler warning
43491         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
43492
43493         maint: detect usage(1) and other suspicious exits
43494         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
43495
43496 2009-10-29  Jim Meyering  <meyering@redhat.com>
43497
43498         timespec: long-to-int truncation could make timespec_cmp malfunction
43499         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
43500         a multiple of 2^32 nanoseconds as no difference.
43501
43502 2009-10-28  Jim Meyering  <meyering@redhat.com>
43503
43504         fprintftime: wrap macro code argument in "do {...} while(0)"
43505         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
43506         cpy macro must be a statement that can be followed by a semicolon.
43507         Now that the else clause contains a comment and is hence longer
43508         than one line, I require curly braces.  That in turn requires
43509         that we wrap this code block in the standard do...while(0).
43510
43511         fprintftime: remove stray semicolon from previous change
43512         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
43513
43514         fprintftime: avoid a warning about ignored fwrite return value
43515         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
43516         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
43517         that is unsafe.
43518         * modules/fprintftime (Depends-on): Add ignore-value.
43519
43520         exclude: avoid an unwarranted warning
43521         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
43522
43523 2009-10-27  Eric Blake  <ebb9@byu.net>
43524
43525         fseek: avoid compilation failure when fflush is replaced
43526         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
43527         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
43528         module is in use.
43529         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
43530         module is not in use; since REPLACE_FSEEK worked otherwise.
43531         (GNULIB_FTELLO): Likewise for ftell.
43532         Reported by Ian Beckwith and others.
43533
43534 2009-10-27  Bruno Haible  <bruno@clisp.org>
43535
43536         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
43537         Reported by Jim Meyering.
43538
43539 2009-10-27  Jim Meyering  <jim@meyering.net>
43540             Bruno Haible  <bruno@clisp.org>
43541
43542         Avoid warning despite dropping the return value of fwrite.
43543         * lib/unicodeio.c: Include ignore-value.h.
43544         (fwrite_success_callback): Explicitly ignore fwrite's return value.
43545         * modules/unicodeio (Depends-on): Add ignore-value.
43546
43547 2009-10-26  Eric Blake  <ebb9@byu.net>
43548
43549         areadlinkat: fix fallback path
43550         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
43551         pointer and zero.
43552
43553 2009-10-22  Pádraig Brady  <P@draigBrady.com>
43554
43555         Use a better IO block size for modern systems
43556         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
43557         * lib/md2.c: Likewise.
43558         * lib/md4.c: Likewise.
43559         * lib/md5.c: Likewise.
43560         * lib/sha1.c: Likewise.
43561         * lib/sha256.c: Likewise.
43562         * lib/sha512.c: Likewise.
43563
43564 2009-10-22  Eric Blake  <ebb9@byu.net>
43565
43566         tests: avoid several compiler warnings
43567         * tests/test-getcwd.c (main): Avoid buffer underflow.
43568         * tests/test-getdate.c (main): String literals are not safe with
43569         putenv, so use setenv.  Declare unused argument.
43570         * modules/getdate-tests (Depends-on): Add setenv.
43571         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
43572         problems with string literals in char *.
43573         * tests/test-hash.c (main): Avoid shadowing declaration.
43574         (insert_new): Treat string literals as char const *.
43575         * tests/test-getopt.h (test_getopt): Likewise.
43576         (getopt_loop): Alter types to minimize casting elsewhere.
43577         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
43578         (test_getopt_long_posix): Likewise.
43579         (do_getopt_long): Add wrapper to minimize casting.
43580         * tests/test-atexit.c (clear_temp_file): Use void.
43581         * tests/test-areadlink-with-size.c (main): Declare unused
43582         arguments.
43583         * tests/test-areadlink.c (main): Likewise.
43584         * tests/test-areadlinkat-with-size.c (main): Likewise.
43585         * tests/test-areadlinkat.c (main): Likewise.
43586         * tests/test-canonicalize-lgpl.c (main): Likewise.
43587         * tests/test-canonicalize.c (main): Likewise.
43588         * tests/test-dirent-safer.c (main): Likewise.
43589         * tests/test-dirname.c (main): Likewise.
43590         * tests/test-dup2.c (main): Likewise.
43591         * tests/test-fchdir.c (main): Likewise.
43592         * tests/test-fcntl-h.c (main): Likewise.
43593         * tests/test-fcntl-safer.c (main): Likewise.
43594         * tests/test-fdopendir.c (main): Likewise.
43595         * tests/test-fdutimensat.c (main): Likewise.
43596         * tests/test-fflush.c (main): Likewise.
43597         * tests/test-filenamecat.c (main): Likewise.
43598         * tests/test-filevercmp.c (main): Likewise.
43599         * tests/test-fopen-safer.c (main): Likewise.
43600         * tests/test-fopen.c (main): Likewise.
43601         * tests/test-fpending.c (main): Likewise.
43602         * tests/test-fpurge.c (main): Likewise.
43603         * tests/test-freading.c (main): Likewise.
43604         * tests/test-fstatat.c (main): Likewise.
43605         * tests/test-fsync.c (main): Likewise.
43606         * tests/test-futimens.c (main): Likewise.
43607         * tests/test-getndelim2.c (main): Likewise.
43608         * tests/test-gettimeofday.c (main): Likewise.
43609         * tests/test-getopt.c (main): Likewise.
43610         * tests/test-i-ring.c (main): Likewise.
43611         * tests/test-inttypes.c (main): Likewise.
43612         * tests/test-link.c (main): Likewise.
43613         * tests/test-lstat.c (main): Likewise.
43614         * tests/test-math.c (main): Likewise.
43615         * tests/test-md5.c (main): Likewise.
43616         * tests/test-memchr2.c (main): Likewise.
43617         * tests/test-memrchr.c (main): Likewise.
43618         * tests/test-mkdir.c (main): Likewise.
43619         * tests/test-mkdirat.c (main): Likewise.
43620         * tests/test-mkfifoat.c (main): Likewise.
43621         * tests/test-open.c (main): Likewise.
43622         * tests/test-openat-safer.c (main): Likewise.
43623         * tests/test-openat.c (main): Likewise.
43624         * tests/test-quotearg.c (main): Likewise.
43625         * tests/test-rawmemchr.c (main): Likewise.
43626         * tests/test-readlink.c (main): Likewise.
43627         * tests/test-remove.c (main): Likewise.
43628         * tests/test-rename.c (main): Likewise.
43629         * tests/test-renameat.c (main): Likewise.
43630         * tests/test-rmdir.c (main): Likewise.
43631         * tests/test-sha1.c (main): Likewise.
43632         * tests/test-signal.c (main): Likewise.
43633         * tests/test-sigaction.c (main): Likewise.
43634         * tests/test-stat.c (main): Likewise.
43635         * tests/test-stat-time.c (main): Likewise.
43636         * tests/test-stddef.c (main): Likewise.
43637         * tests/test-stdint.c (main): Likewise.
43638         * tests/test-stdio.c (main): Likewise.
43639         * tests/test-stdlib.c (main): Likewise.
43640         * tests/test-strchrnul.c (main): Likewise.
43641         * tests/test-strerror.c (main): Likewise.
43642         * tests/test-string.c (main): Likewise.
43643         * tests/test-strtod.c (main): Likewise.
43644         * tests/test-strverscmp.c (main): Likewise.
43645         * tests/test-symlink.c (main): Likewise.
43646         * tests/test-symlinkat.c (main): Likewise.
43647         * tests/test-sys_stat.c (main): Likewise.
43648         * tests/test-sys_time.c (main): Likewise.
43649         * tests/test-time.c (main): Likewise.
43650         * tests/test-unistd.c (main): Likewise.
43651         * tests/test-unlink.c (main): Likewise.
43652         * tests/test-unlinkat.c (main): Likewise.
43653         * tests/test-utimens.c (main): Likewise.
43654         * tests/test-utimensat.c (main): Likewise.
43655         * tests/test-version-etc.c (main): Likewise.
43656         * tests/test-wchar.c (main): Likewise.
43657         * tests/test-wctype.c (main): Likewise.
43658         * tests/test-xprintf-posix.c (main): Likewise.
43659         * tests/test-posixtm.c (main): Likewise.
43660         (STREQ): Delete unused macro.
43661         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
43662         shadowed variables.
43663         * tests/test-memchr.c (main): Likewise.
43664
43665 2009-10-21  Eric Blake  <ebb9@byu.net>
43666
43667         areadlinkat: avoid failure on older glibc
43668         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
43669         rather than mis-comparing 0 against FUNC_RESULT of char*.
43670
43671 2009-10-21  Bruno Haible  <bruno@clisp.org>
43672
43673         * modules/stpncpy (License): Relicense under LGPLv2+.
43674         Reported by David Lutterkort <lutter@redhat.com>.
43675
43676 2009-10-20  Eric Blake  <ebb9@byu.net>
43677
43678         utimensat: work around Solaris 9 bug
43679         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
43680         has trailing slash bugs.
43681         * tests/test-lutimens.h (test_lutimens): Enhance test.
43682         * tests/test-utimens.h (test_utimens): Likewise.
43683         * doc/posix-functions/utime.texi (utime): Enhance documentation.
43684         * doc/posix-functions/utimes.texi (utimes): Likewise.
43685         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43686         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
43687         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
43688         * doc/posix-functions/futimens.texi (futimens): Likewise.
43689
43690         fdutimensat: new module
43691         * modules/fdutimensat: New file.
43692         * lib/fdutimensat.c (fdutimensat): Likewise.
43693         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
43694         * MODULES.html.sh (File system functions): Mention module.
43695         * modules/fdutimensat-tests: New test.
43696         * tests/test-fdutimensat.c: Likewise.
43697
43698         doc: regenerate INSTALL
43699         * doc/INSTALL: Reflect recent autoconf update.
43700         * doc/INSTALL.ISO: Likewise.
43701         * doc/INSTALL.UTF-8: Likewise.
43702
43703 2009-10-20  Pádraig Brady  <P@draigBrady.com>
43704
43705         acl: warn if ACL support is not detected
43706         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
43707
43708 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
43709
43710         * lib/nproc.h: Add extern "C" block for C++.
43711
43712 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
43713             Bruno Haible  <bruno@clisp.org>
43714
43715         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
43716         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
43717         * doc/posix-functions/isalpha.texi: Likewise.
43718         * doc/posix-functions/isblank.texi: Likewise.
43719         * doc/posix-functions/iscntrl.texi: Likewise.
43720         * doc/posix-functions/isdigit.texi: Likewise.
43721         * doc/posix-functions/isgraph.texi: Likewise.
43722         * doc/posix-functions/islower.texi: Likewise.
43723         * doc/posix-functions/isprint.texi: Likewise.
43724         * doc/posix-functions/ispunct.texi: Likewise.
43725         * doc/posix-functions/isspace.texi: Likewise.
43726         * doc/posix-functions/isupper.texi: Likewise.
43727         * doc/posix-functions/isxdigit.texi: Likewise.
43728
43729 2009-10-18  Bruno Haible  <bruno@clisp.org>
43730
43731         Tests for module 'isblank'.
43732         * modules/isblank-tests: New file.
43733         * tests/test-isblank.c: New file.
43734
43735         New module 'isblank'.
43736         * lib/isblank.c: New file.
43737         * m4/isblank.m4: New file.
43738         * modules/isblank: New file.
43739         * doc/posix-functions/isblank.texi: Mention the new module.
43740
43741 2009-10-18  Bruno Haible  <bruno@clisp.org>
43742
43743         New module 'ctype'.
43744         * lib/ctype.in.h: New file.
43745         * m4/ctype.m4: New file.
43746         * modules/ctype: New file.
43747         * doc/posix-headers/ctype.texi: Mention the new module.
43748
43749 2009-10-18  Jim Meyering  <meyering@redhat.com>
43750
43751         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
43752         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
43753         right after its initialization, rather than farther down.
43754         Keeping these in close proximity makes it easier to ensure
43755         that each such variable is initialized.  E.g.,
43756
43757             LIB_CLOCK_GETTIME=
43758             AC_SUBST([LIB_CLOCK_GETTIME])
43759
43760         This change also increments these serial numbers.
43761         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
43762         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
43763         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43764
43765 2009-10-18  Bruno Haible  <bruno@clisp.org>
43766
43767         Don't let environment variables perturb build.
43768         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
43769         (gl_PREREQ_GETHRXTIME): ... not here.
43770
43771 2009-10-18  Bruno Haible  <bruno@clisp.org>
43772
43773         Avoid symlink attack in localcharset module.
43774         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
43775         (O_NOFOLLOW): Define fallback.
43776         (get_charset_aliases): Don't open the file if it is a symbolic link.
43777         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
43778         gl_FCNTL_H.
43779         (gl_FCNTL_H): Require it.
43780         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
43781         * modules/localcharset (Files): Add m4/fcntl_h.m4.
43782         Reported by Fergal Glynn <fglynn@veracode.com>.
43783
43784 2009-10-18  Bruno Haible  <bruno@clisp.org>
43785
43786         Implement nproc for mingw.
43787         * lib/nproc.c: Include <windows.h>
43788         (num_processors): On native Windows platforms, try GetSystemInfo.
43789
43790 2009-10-18  Bruno Haible  <bruno@clisp.org>
43791
43792         Implement nproc for IRIX.
43793         * lib/nproc.c: Include <sys/sysmp.h>.
43794         (num_processors): On IRIX systems, try sysmp.
43795         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
43796
43797 2009-10-18  Bruno Haible  <bruno@clisp.org>
43798
43799         Implement nproc for HP-UX.
43800         * lib/nproc.c: Include <sys/pstat.h>
43801         (num_processors): On HP-UX systems, try pstat_getdynamic.
43802         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
43803         pstat_getdynamic.
43804
43805 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
43806             Bruno Haible  <bruno@clisp.org>
43807
43808         Implement nproc for NetBSD, OpenBSD.
43809         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
43810         (ARRAY_SIZE): New macro.
43811         (num_processors): On BSD systems, try sysctl of HW_NCPU.
43812         * m4/nproc.m4: New file.
43813         * modules/nproc (Files): Add m4/nproc.m4.
43814         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
43815         (Makefile.am): Instead, augment lib_SOURCES.
43816
43817 2009-10-18  Bruno Haible  <bruno@clisp.org>
43818
43819         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
43820         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
43821         sys/param.h.
43822
43823 2009-10-16  Eric Blake  <ebb9@byu.net>
43824
43825         utimensat: new module
43826         * modules/utimensat: New file.
43827         * lib/utimensat.c (utimensat): Likewise.
43828         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
43829         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
43830         so we can work around Linux bugs.
43831         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43832         * modules/sys_stat (Makefile.am): Substitute them.
43833         * lib/sys_stat.in.h (utimensat): Declare it.
43834         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43835         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43836         * modules/utimensat-tests: New test.
43837         * tests/test-utimensat.c: Likewise.
43838
43839         utimens: let lutimens work on non-symlinks
43840         * lib/utimens.c (lutimens): Fall back to utimens rather than
43841         failing with ENOSYS, when file is not a symlink.
43842         (utimens): Reduce redirection.
43843         * tests/test-lutimens.h (test_lutimens): Update test to cover
43844         non-symlinks.
43845         * tests/test-utimens.h (test_utimens): Update test to cover
43846         symlinks.
43847         * tests/test-utimens.c (main): Update caller.
43848
43849         utimens: cache whether utimensat syscall works
43850         * lib/utimens.c (utimensat_works_really): New cache variable.
43851         (fdutimens, lutimens): Use it to avoid failing syscall.
43852
43853         test-stat-time, test-utimens: improve portability
43854         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
43855         ext4 on alpha, and for cygwin.
43856         * tests/test-utimens-common.h: New file.
43857         (nap): Factor delays into single function.
43858         * tests/test-lutimens.h (test_lutimens): Use new header.
43859         * tests/test-futimens.h (test_futimens): Likewise.
43860         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
43861         timestamps to occur from same machine, as was done previously for
43862         test_utimens.
43863         * modules/utimens-tests (Files): Ship new file.
43864         * modules/futimens-tests (Files): Likewise.
43865         Reported in part by Jim Meyering.
43866
43867         sys_stat: sort replacement declarations
43868         * lib/sys_stat.in.h: Sort declarations.
43869         * lib/futimens.c (futimens): Fix typo.
43870
43871 2009-10-15  Jim Meyering  <meyering@redhat.com>
43872
43873         don't let environment settings perturb build
43874         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
43875         could cause a configure-time and/or build-time malfunction.
43876         Typically, a configure-time function-in-library test is performed
43877         via code like this:
43878
43879           LIB_VAR=
43880           AC_SUBST([LIB_VAR])
43881           prefix_saved_LIBS=$LIBS
43882             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
43883                        [test "$ac_cv_search_FUNC" = "none required" ||
43884                         LIB_VAR=$ac_cv_search_FUNC])
43885           LIBS=$prefix_saved_LIBS
43886
43887         However, in each of the files affected by this change, the LIB_VAR=
43888         initialization was omitted.  Thus, when set in the environment, its
43889         value would propagate into generated Makefiles when FUNC is not found
43890         in LIB_NAME.
43891         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
43892         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
43893         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43894
43895 2009-10-14  Eric Blake  <ebb9@byu.net>
43896
43897         fchdir: avoid infinite recursion in mingw
43898         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
43899         recursing.
43900
43901         test-stat-time: port to mingw
43902         * tests/test-stat-time.c (force_unlink): Return a value.
43903         (test_ctime) [W32]: Fix compilation error.
43904         (nap): Don't call usleep with too large an argument.  Use
43905         force_unlink.
43906         * doc/pastposix-functions/usleep.texi (usleep): Document the
43907         portability issue.
43908
43909 2009-10-13  Jim Meyering  <meyering@redhat.com>
43910
43911         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
43912         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
43913         * modules/pipe-filter-ii: Likewise.
43914         * modules/sys_socket-tests: Likewise.
43915         * modules/tsearch-tests: Likewise.
43916         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
43917         (check): Depend on it.
43918
43919 2009-10-12  Eric Blake  <ebb9@byu.net>
43920
43921         utimens-tests: port to NFS file systems
43922         * tests/test-utimens.h (test_utimens): Refactor utimecmp
43923         comparisons to avoid spurious failures from timestamp drift
43924         between NFS machines.
43925
43926 2009-10-12  Eric Blake  <ebb9@byu.net>
43927
43928         stat-time-tests: minor cleanups
43929         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
43930         * tests/test-stat-time.c (nap): Separate assignment from call.
43931         Suggested by Paolo Bonzini and Bruno Haible.
43932
43933         sys_stat: guarantee struct timespec
43934         * lib/sys_stat.in.h (includes): Always include <time.h>
43935         * modules/sys_stat (Depends-on): Add time.
43936         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
43937         mode_t permission values.
43938         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
43939         get at subsecond timestamps.
43940
43941 2009-10-10  Eric Blake  <ebb9@byu.net>
43942
43943         futimens: new module
43944         * modules/futimens: New file.
43945         * lib/futimens.c (futimens): Likewise.
43946         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
43947         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
43948         we can work around Linux bugs.
43949         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43950         * modules/sys_stat (Makefile.am): Substitute them.
43951         * lib/sys_stat.in.h (futimens): Declare it.
43952         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43953         * doc/posix-functions/futimens.texi (futimens): Likewise.
43954         * modules/futimens-tests: New test.
43955         * tests/test-futimens.c: Likewise.
43956
43957         utimens: introduce fdutimens
43958         * lib/utimens.h (fdutimens): New prototype.
43959         * lib/utimens.c (gl_futimens): Move guts...
43960         (fdutimens): ...to new interface.
43961         * tests/test-utimens.c (do_fdutimens): Use it.
43962
43963         utimens: add UTIME_NOW and UTIME_OMIT support
43964         * lib/utimens.c (validate_timespec, update_timespec): New helper
43965         functions.
43966         (gl_futimens, lutimens): Use them.
43967         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
43968         stdbool, sys_stat.
43969         (Link): Mention resulting library dependency.
43970         * modules/utimecmp (Link): Likewise.
43971         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
43972         (Makefile.am): Pick up library dependency.
43973         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
43974         definition.
43975         * tests/test-sys_stat.c: Test the definitions.
43976         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
43977         * NEWS: Document library dependency.
43978
43979         utimecmp: support symlink timestamps
43980         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
43981         hashing when possible.  Use pathconf when available.
43982         (SYSCALL_RESOLUTION): Recognize tighter resolution.
43983         * modules/utimecmp (Depends-on): Add lstat.
43984
43985         utimens: add lutimens interface
43986         * lib/utimens.c (lutimens): New function.
43987         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
43988         * lib/utimens.h (lutimens): Declare new interface.
43989         * tests/test-utimens.c (main): Enhance test.
43990         * tests/test-lutimens.h (test_lutimens): New file.
43991         * modules/utimens-tests (Files): Distribute it.
43992         (Depends-on): Add symlink.
43993         (configure.ac): Check for usleep.
43994
43995         utimens: validate futimens usage
43996         * lib/utimens.c (gl_futimens): Require valid fd up front, using
43997         fewer syscalls on failure later on.  Avoid compiler warning on
43998         mingw.
43999         * modules/utimens (Depends-on): Add dup2.
44000
44001         utimens: add test
44002         * modules/utimens-tests: New test.
44003         * tests/test-utimens.h: New file.
44004         * tests/test-futimens.h: Likewise.
44005         * tests/test-utimens.c: Likewise.
44006
44007         doc: mention timestamp portability issues
44008         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
44009         instead.
44010         * doc/posix-functions/utime.texi (utime): Likewise.
44011         * doc/posix-functions/utimes.texi (utimes): Likewise.
44012         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
44013         instead.
44014         * doc/posix-functions/futimens.texi (futimens): Mention utimens
44015         module.
44016         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44017         Mention weakness with symlink timestamps.
44018         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
44019         to utimensat/futimens instead.
44020         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
44021
44022         test-dup2: enhance test
44023         * tests/test-dup2.c (main): Also check AT_FDCWD.
44024
44025         test-stat-time: avoid more spurious failures
44026         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
44027         xfs; and avoid race if the two timestamps cross quantization edge.
44028
44029         relocatable: prefer 'file system' over 'filesystem'
44030         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
44031         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
44032         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
44033         * doc/relocatable.texi (Enabling Relocatability): Likewise.
44034         * lib/relocatable.c (compute_curr_prefix): Likewise.
44035
44036 2009-10-10  Jim Meyering  <meyering@redhat.com>
44037
44038         stat-time-tests: check for the usleep function
44039         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
44040
44041 2009-10-10  Bruno Haible  <bruno@clisp.org>
44042
44043         * modules/xnanosleep: Put the Link section after the Include section.
44044
44045 2009-10-09  Eric Blake  <ebb9@byu.net>
44046
44047         dup2: work around FreeBSD 6.1 bug
44048         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
44049         * doc/posix-functions/dup2.texi (dup2): Document it.
44050         Reported by Nelson H. F. Beebe and Jim Meyering.
44051
44052         test-stat-time: port to buggy NFS clients
44053         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
44054         (test_ctime): Also skip test if mtime and ctime are skewed.
44055
44056         maint: prefer 'file system' over 'filesystem'
44057         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
44058         * doc/posix-functions/lstat.texi (lstat): Likewise.
44059         * lib/file-has-acl.c (file_has_acl): Likewise.
44060         * lib/fwriteerror.c [TEST]: Likewise.
44061         * tests/test-areadlink.h (test_areadlink): Likewise.
44062         * tests/test-areadlinkat-with-size.c (main): Likewise.
44063         * tests/test-areadlinkat.c (main): Likewise.
44064         * tests/test-canonicalize-lgpl.c (main): Likewise.
44065         * tests/test-canonicalize.c (main): Likewise.
44066         * tests/test-fstatat.c (main): Likewise.
44067         * tests/test-linkat.c (main): Likewise.
44068         * tests/test-lstat.h (test_lstat_func): Likewise.
44069         * tests/test-mkdir.h (test_mkdir): Likewise.
44070         * tests/test-readlink.h (test_readlink): Likewise.
44071         * tests/test-remove.c (main): Likewise.
44072         * tests/test-rename.h (test_rename): Likewise.
44073         * tests/test-renameat.c (main): Likewise.
44074         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44075         * tests/test-symlink.h (test_symlink): Likewise.
44076         * tests/test-symlinkat.c (main): Likewise.
44077         * tests/test-unlink.h (test_unlink_func): Likewise.
44078         * tests/test-unlinkat.c (main): Likewise.
44079
44080         maint: make realtime library usage explicit
44081         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
44082         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
44083         * modules/settime (Link): Likewise.
44084         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
44085
44086         test-stat-time: speed up execution
44087         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
44088         warning on mingw.
44089         (nap): New helper function.
44090         (prepare_test): Use it to reduce sleep time.
44091         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
44092         execution.
44093         * modules/stat-time-tests (configure.ac): Check for usleep.
44094
44095 2009-10-09  Jim Meyering  <meyering@redhat.com>
44096
44097         selinux-h: always use getfilecon wrappers
44098         * lib/getfilecon.c: New file.
44099         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
44100         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
44101         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
44102         (fgetfilecon): Provide a stub.
44103         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
44104         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
44105         file unconditionally.
44106         When <selinux/selinux.h> is found, arrange to use wrappers.
44107         * modules/selinux-h (Files): Add getfilecon.c.
44108         (Makefile.am): Substitute include-next-related bits
44109         into the now-always-generated selinux/selinux.h file.
44110         * doc/glibc-functions/lgetfilecon.texi: New file.
44111         * doc/glibc-functions/fgetfilecon.texi: New file.
44112         * doc/glibc-functions/getfilecon.texi: New file.
44113         * doc/glibc-functions/getfilecon-desc.texi: New file.
44114         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
44115         which to pull in the new files.
44116         * MODULES.html.sh (Misc): Add selinux-h.
44117
44118 2009-10-08  Jim Meyering  <meyering@redhat.com>
44119
44120         unistd: fix comment typo
44121         * lib/unistd.in.h (euidaccess): Fix a comment typo.
44122
44123 2009-10-08  Eric Blake  <ebb9@byu.net>
44124
44125         areadlink: use SIZE_MAX consistently
44126         * modules/areadlink (Depends-on): Add stdint.
44127         * modules/areadlink-with-size (Depends-on): Likewise.
44128         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
44129         gives NULL; drop sys/types, since unistd gives size_t; and add
44130         stdint for SIZE_MAX.
44131         (SIZE_MAX): Rely on headers.
44132         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
44133         and add stdint.
44134         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
44135         (SIZE_MAX): Likewise.
44136         (INITIAL_BUF_SIZE): Turn into enum.
44137         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
44138
44139 2009-10-08  Jim Meyering  <meyering@redhat.com>
44140
44141         areadlinkat: avoid compilation failure
44142         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
44143         Fix typo in comment.
44144
44145 2009-10-07  Eric Blake  <ebb9@byu.net>
44146
44147         areadlinkat-with-size: new module
44148         * modules/areadlinkat-with-size: New module.
44149         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
44150         * lib/areadlink.h (areadlinkat): Declare it.
44151         * MODULES.html.sh (File system functions): Mention it.
44152         * modules/areadlinkat-with-size-tests: New test.
44153         * tests/test-areadlinkat-with-size.c: New file.
44154
44155         xreadlinkat: new module
44156         * modules/xreadlinkat: New module.
44157         * lib/xreadlinkat.c (xreadlinkat): New file.
44158         * lib/xreadlink.h (xreadlinkat): Declare it.
44159         * MODULES.html.sh (File system functions): Mention it.
44160
44161         areadlinkat: new module
44162         * lib/at-func.c (FUNC_FAIL): New define.
44163         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
44164         * modules/areadlinkat: New module.
44165         * lib/linkat.c (areadlinkat): Move...
44166         * lib/areadlinkat.c (areadlinkat): ...to new file.
44167         * lib/areadlink.h (areadlinkat): Declare it.
44168         * modules/linkat (Depends-on): Add areadlinkat.
44169         * MODULES.html.sh (File system functions): Mention it.
44170         * modules/areadlinkat-tests: New test.
44171         * tests/test-areadlinkat.c: New file.
44172
44173         areadlink, areadlink-with-size: add tests
44174         * modules/areadlink-tests: New test.
44175         * modules/areadlink-with-size-tests: Likewise.
44176         * tests/test-areadlink.h: New file.
44177         * tests/test-areadlink.c: Likewise.
44178         * tests/test-areadlink-with-size.c: Likewise.
44179
44180         maint: minor cleanups
44181         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
44182         _UNUSED_PARAMETER_ instead.
44183         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
44184         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
44185         * modules/linkat-tests (Files): Distribute test-link.h.
44186
44187         openat, utimens: whitespace cleanup
44188         * lib/openat.c: Prefer space throughout, rather than mix of 8
44189         spaces vs. tabs.
44190         * lib/at-func.c: Likewise.
44191         * lib/utimens.c: Likewise.
44192
44193         openat: avoid using wrong fd
44194         * lib/openat.c (openat_permissive): Reject user's fd if saving the
44195         working directory chooses same fd.
44196         * lib/at-func.c (AT_FUNC_NAME): Likewise.
44197
44198         mkdir, mkdirat: fix cygwin 1.5.x bug
44199         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
44200         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
44201         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
44202         bug.
44203         (gl_PREREQ_MKDIR): Delete unused macro.
44204         * modules/mkdir (Files): Track file rename.
44205         (configure.ac): Update macro name.
44206         * modules/openat (Depends-on): Add mkdir.
44207         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
44208
44209         mkdir, mkdirat: add tests
44210         * modules/mkdir-tests: New test.
44211         * tests/test-mkdir.h: New file.
44212         * tests/test-mkdir.c: Likewise.
44213         * tests/test-mkdirat.c: Likewise.
44214         * modules/openat-tests (Files): Add new files.
44215         (Makefile.am): Run new test.
44216
44217 2009-10-06  Eric Blake  <ebb9@byu.net>
44218
44219         doc: tweak *at function documentation
44220         * doc/posix-functions/faccessat.texi (faccessat): Mention
44221         known issue with replacement.
44222         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
44223         * doc/posix-functions/linkat.texi (linkat): Likewise.
44224         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
44225         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
44226         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44227         * doc/posix-functions/renameat.texi (renameat): Likewise.
44228         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
44229
44230         openat: fix GNU/Hurd bug in unlinkat
44231         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
44232         broken.
44233         * doc/posix-functions/unlink.texi (unlink): Document this.
44234         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
44235
44236         fdopendir: fix GNU/Hurd bug
44237         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
44238         allowing non-directory fds.
44239         * lib/fdopendir.c (rpl_fdopendir): Work around it.
44240         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
44241         * modules/dirent (Makefile.am): Substitute it.
44242         * lib/dirent.in.h (fdopendir): Declare replacement.
44243         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
44244         * tests/test-fdopendir.c (main): Test something other than
44245         /dev/null, since on Hurd that behaves like a directory.
44246
44247         test-symlink: port to GNU/Hurd
44248         * tests/test-symlink.h (test_symlink): Relax expected errno.
44249
44250         doc: tweak more cygwin information
44251         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
44252         now compatible with glibc.
44253         * doc/posix-functions/getopt.texi (getopt): Likewise.
44254
44255         getopt-gnu: add another test
44256         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
44257         guarantee behavior relied on by m4.
44258         * tests/test-getopt.c (main): Use it.
44259         * modules/getopt-posix-tests (Depends-on): Add setenv.
44260         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
44261
44262         getopt: fix compilation on darwin
44263         * lib/getopt.in.h (includes): Leave breadcrumbs during system
44264         include.
44265         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
44266         Reported by Ludovic Courtès.
44267
44268 2009-10-06  Bruno Haible  <bruno@clisp.org>
44269
44270         * modules/size_max (Description): Discourage its use.
44271         Reported by Simon Josefsson.
44272
44273 2009-10-06  Jim Meyering  <meyering@redhat.com>
44274
44275         linkat: avoid compilation failure
44276         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
44277
44278 2009-10-05  Eric Blake  <ebb9@byu.net>
44279
44280         linkat: support Linux 2.6.17
44281         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
44282         linkat on Linux, but allow cache variable override.
44283         * lib/linkat.c (rpl_linkat): Define override.
44284         * modules/linkat (Depends-on): Add symlinkat.
44285         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
44286         * modules/unistd (Makefile.am): Substitute it.
44287         * lib/unistd.in.h (linkat): Declare replacement.
44288         Reported by Pádraig Brady.
44289
44290         quotearg: port test to systems with C.UTF-8 locale
44291         * tests/test-quotearg.c (struct result_strings): Add another
44292         member, differentiating between C.ASCII and C.UTF-8 handling.
44293         (compare_strings): Add parameter.
44294         (main): Adjust all callers.
44295
44296         getopt: avoid clash with FreeBSD _getopt_internal
44297         * lib/getopt.in.h (_getopt_internal): Override the name.
44298         * lib/getopt_int.h (includes): Pick up any overrides.
44299         Reported by Reuben Thomas.
44300
44301         hash: allow C89 compilation
44302         * lib/hash.c (check_tuning): Move declaration before statement.
44303         Reported by Reuben Thomas.
44304
44305 2009-10-05  Karl Berry  <karl@gnu.org>
44306
44307         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
44308
44309 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
44310             Bruno Haible  <bruno@clisp.org>
44311
44312         * lib/uname.c (uname): Use a table-driven algorithm to compute
44313         Windows NT versions.
44314
44315 2009-10-04  Bruno Haible  <bruno@clisp.org>
44316
44317         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
44318         program_invocation_short_name.
44319         * modules/progname (configure.ac): Test for presence of
44320         program_invocation_short_name.
44321         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
44322
44323 2009-10-04  Bruno Haible  <bruno@clisp.org>
44324
44325         * lib/progname.c (set_program_name): Fix comment.
44326         Reported by Jim Meyering.
44327
44328 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44329             Bruno Haible  <bruno@clisp.org>
44330
44331         * lib/uname.c: Include <string.h>.
44332         (uname): Do only one call to GetVersionEx in the common case.
44333
44334 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44335             Bruno Haible  <bruno@clisp.org>
44336
44337         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
44338         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
44339         (uname): Add support for Windows CE and various non-x86 CPU types.
44340
44341 2009-10-03  Bruno Haible  <bruno@clisp.org>
44342
44343         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
44344         invocation to tests/configure.ac.
44345         Reported by Ian Beckwith <ianb@erislabs.net>.
44346
44347 2009-10-02  Eric Blake  <ebb9@byu.net>
44348
44349         fchdir: avoid compiler warning
44350         * lib/fchdir.c (canonicalize_file_name)
44351         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
44352
44353         test-open: support mingw errno values
44354         * tests/test-open.h (test_open): Relax test.
44355         * tests/test-fopen.h (test_fopen): Likewise.
44356         * tests/test-openat-safer.c (main): Likewise.
44357
44358         open: fix opening directory on mingw
44359         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
44360
44361         test-open: on GNU/Hurd, /dev/null is a directory
44362         * tests/test-fopen.h (main): Rename...
44363         (test_fopen): ...to this.  Use a guaranteed non-directory when
44364         confirming open behavior on trailing slash.
44365         * tests/test-openat-safer.c (main): Likewise.
44366         * tests/test-open.h (main): Likewise....
44367         (test_open): ...to this.
44368         * tests/test-fopen.c (main): Adjust caller.
44369         * tests/test-fopen-safer.c (main): Likewise.
44370         * tests/test-open.c (main): Likewise.
44371         * tests/test-fcntl-safer.c (main): Likewise.
44372         Reported by Samuel Thibault.
44373
44374         rename, fchdir: don't ignore chdir failure
44375         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
44376         * lib/rename.c (rpl_rename) [W32]: Likewise.
44377         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
44378         an empty destination directory if source cannot be renamed,
44379         although there is still possibility for failure.
44380         * doc/posix-functions/rename.texi (rename): Document the race.
44381         Reported by Jim Meyering.
44382
44383         maint: cleanup whitespace in recent commits
44384         * lib/rename.c (rpl_rename): Remove tabs.
44385         * tests/test-link.h (test_link): Likewise.
44386         * lib/fchdir.c (get_name): Likewise.
44387         Reported by Jim Meyering.
44388
44389 2009-10-02  Ben Pfaff  <blp@gnu.org>
44390
44391         relocatable-prog-wrapper: Add missing dependency on
44392         double-slash-root.
44393         * modules/relocatable-prog-wrapper: Add dependency.
44394         Reported by Ian Beckwith <ianb@erislabs.net>.
44395
44396 2009-10-02  Eric Blake  <ebb9@byu.net>
44397
44398         renameat: fix Solaris bugs
44399         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
44400         needed fixing.
44401         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
44402         * modules/stdio (Makefile.am): Substitute it.
44403         * lib/stdio.in.h (renameat): Declare replacement.
44404         * lib/renameat.c (rpl_renameat): Implement fix.
44405
44406         renameat: new module
44407         * modules/renameat: New file.
44408         * lib/renameat.c (renameat): Likewise.
44409         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
44410         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44411         * modules/stdio (Makefile.am): Substitute them.
44412         * lib/stdio.in.h (renameat): Declare it.
44413         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44414         * doc/posix-functions/renameat.texi (renameat): Likewise.
44415         * modules/renameat-tests: New test.
44416         * tests/test-renameat.c: Likewise.
44417
44418         rename: fix mingw bugs
44419         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
44420         directory overwrite bugs.
44421
44422         rename: fix another cygwin 1.5 bug
44423         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
44424         checks.
44425         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
44426         unnecessary cygwin workarounds.  Also work around bug with moving
44427         full directory onto an empty one.
44428         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
44429
44430         rename-dest-slash: merge into rename module
44431         * modules/rename-dest-slash (Status): Mark obsolete.
44432         (Depends-on): Add rename.
44433         (Files): Let rename do it all.
44434         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
44435         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
44436         * m4/rename-dest-slash.m4: ...so this file can be deleted.
44437         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
44438         * lib/rename.c (rpl_rename): Update comments.
44439
44440         rename: fix cygwin 1.5.x bugs
44441         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
44442         * lib/rename.c (rpl_rename): Work around them.
44443         * modules/rename (Depends-on): Add same-inode.
44444
44445         rename: fix Solaris 10 bug
44446         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44447         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
44448         was the only bug.
44449
44450         rename: fix Solaris 9 bug
44451         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
44452         on non-directory.  Avoid calling exit.
44453         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
44454         strdup.
44455         * modules/rename-tests (Depends-on): Drop lstat.
44456         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44457         (gl_PREREQ_RENAME): Delete unused macro.
44458
44459         rename-dest-slash: fix NetBSD bug
44460         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
44461         links.
44462         * modules/rename-dest-slash (Depends-on): Add same-inode.
44463
44464         rename-tests: new test, exposes several platform bugs
44465         * modules/rename-tests: New file.
44466         * tests/test-rename.h: Likewise.
44467         * tests/test-rename.c: Likewise.
44468         * doc/posix-functions/rename.texi (rename): Improve documentation,
44469         including bugs that will eventually be fixed in gnulib.
44470
44471 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
44472
44473         * lib/uname.c: Include <stdlib.h>
44474         (uname): Assume version info is available.
44475
44476 2009-10-02  Jim Meyering  <meyering@redhat.com>
44477
44478         gnu-web-doc-update: correct --help output
44479         * build-aux/gnu-web-doc-update: Make --help output relevant.
44480
44481         gnu-web-doc-update: add standard options
44482         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
44483
44484         gnu-web-doc-update: New module.
44485         Use this script to automatically update the on-line web documentation
44486         for your GNU project at http://www.gnu.org/software/$pkg/manual/
44487         * modules/gnu-web-doc-update: New file, from coreutils.
44488         * build-aux/gnu-web-doc-update: New script.
44489
44490 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
44491
44492         link: LoadLibrary is not needed.
44493         * lib/link.c: Use GetModuleHandle.
44494
44495 2009-10-01  Eric Blake  <ebb9@byu.net>
44496
44497         getopt: bump serial number
44498         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
44499         change.
44500
44501         tests: tighten link, rmdir, and remove tests
44502         * tests/test-link.h (includes): No need to use <config.h> here.
44503         Clean up if directory hard link was created, otherwise test for
44504         trailing '.'.
44505         * tests/test-linkat.c (main): Simplify.
44506         * tests/test-remove.c (main): Enhance test for trailing '.'.
44507         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44508
44509 2009-10-01  Jim Meyering  <meyering@redhat.com>
44510
44511         maint.mk: requiring "make major" was annoying, for a "minor" release.
44512         What is intended is "stable", to contrast with alpha and beta,
44513         so require "make stable", not "make major".
44514         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
44515         (get_tool_versions): Likewise.
44516         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
44517
44518 2009-09-30  Ben Pfaff  <blp@gnu.org>
44519
44520         Fix broken build of replacement for Windows tmpfile().
44521         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
44522         flags argument added along with the 'mkostemp' module.
44523
44524 2009-09-28  Bruno Haible  <bruno@clisp.org>
44525
44526         Avoid identifier clash with POSIX function 'remove' defined as a macro.
44527         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
44528         to 'remove_elt'.
44529         (gl_list_remove): Update.
44530         * lib/gl_list.c (gl_list_remove): Update.
44531         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
44532         to 'remove_elt'.
44533         (gl_oset_remove): Update.
44534         * lib/gl_list.c (gl_oset_remove): Update.
44535         Reported by Eric Blake.
44536
44537 2009-09-28  Eric Blake  <ebb9@byu.net>
44538
44539         doc: mention yet more cygwin 1.7 status
44540         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
44541         cygwin.
44542         * doc/glibc-functions/execvpe.texi (execvpe): New file.
44543         * doc/gnulib.texi (Glibc unistd.h): Mention it.
44544
44545         argp: fix test failure
44546         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
44547         that are not upper-case.  Pass correct range to tolower.
44548
44549 2009-09-27  Jim Meyering  <meyering@redhat.com>
44550
44551         test-yesno: work around sparc-dash here-document infelicity
44552         Without this change, the literal \177 byte in a here document
44553         would make dash 0.5.5.1-3 access uninitialized memory.
44554         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
44555         Instead, use a marker, "@", and filter through tr to create the desired
44556         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
44557
44558 2009-09-27  Bruno Haible  <bruno@clisp.org>
44559
44560         Disable untested support for new flavours of ACLs on AIX.
44561         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
44562         progress.
44563         * lib/set-mode-acl.c (qset_acl): Likewise.
44564
44565 2008-12-07  Bruno Haible  <bruno@clisp.org>
44566
44567         Add support for new flavours of ACLs on AIX. (Untested.)
44568         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
44569         (file_has_acl): Add support for newer AIX.
44570         * lib/set-mode-acl.c (qset_acl): Likewise.
44571         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
44572         Rainer Tammer <tammer@tammer.net>.
44573
44574 2009-09-26  Eric Blake  <ebb9@byu.net>
44575
44576         argp: fix compilation of getopt
44577         * lib/getopt.in.h (includes): Use different guard than glibc.
44578         Reported by Sergey Poznyakoff.
44579
44580         doc: mention more cygwin 1.7 status
44581         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
44582         bug.
44583         * doc/posix-functions/execl.texi (execl): Likewise.
44584         * doc/posix-functions/execle.texi (execle): Likewise.
44585         * doc/posix-functions/execlp.texi (execlp): Likewise.
44586         * doc/posix-functions/execv.texi (execv): Likewise.
44587         * doc/posix-functions/execve.texi (execve): Likewise.
44588         * doc/posix-functions/execvp.texi (execvp): Likewise.
44589         * doc/glibc-functions/canonicalize_file_name.texi
44590         (canonicalize_file_name): Cygwin 1.7 now provides this.
44591         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
44592         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
44593         on AT_SYMLINK_NOFOLLOW.
44594
44595 2009-09-24  Eric Blake  <ebb9@byu.net>
44596
44597         test-linkat: make test more robust
44598         * tests/test-linkat.c (main): Avoid collision with EEXIST.
44599
44600         getopt: fix inclusion guards for cygwin
44601         * modules/getopt-posix (Depends-on): Add include-next.
44602         (Makefile.am): Substitute more items in replacement header.
44603         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
44604         <getopt.h>.
44605         * lib/getopt.in.h (includes): Use split inclusion guard, and
44606         prefer <getopt.h> over include <unistd.h> when one is present.
44607         (option): Also override name of 'struct option'.
44608
44609         same-inode: revert prior change; it is not yet ready
44610         * NEWS: Undo mention of this change.
44611         * lib/same-inode.h (same-inode.h): Undo tri-state change.
44612         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44613         * lib/cycle-check.c (cycle_check): Likewise.
44614         * lib/same.c (same_name): Likewise.
44615         * lib/at-func2.c (at_func2): Likewise.
44616
44617 2009-09-23  Eric Blake  <ebb9@byu.net>
44618
44619         linkat: new module
44620         * modules/linkat: New file.
44621         * lib/at-func2.c (at_func2): Likewise.
44622         * lib/linkat.c (linkat): Likewise.
44623         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
44624         * lib/openat-priv.h (at_func2): Add declaration.
44625         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44626         * modules/unistd (Makefile.am): Substitute them.
44627         * lib/unistd.in.h (linkat): Declare it.
44628         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44629         * doc/posix-functions/linkat.texi (linkat): Likewise.
44630         * doc/posix-functions/link.texi (link): Tweak wording.
44631         * tests/test-link.c (main): Move guts...
44632         * tests/test-link.h (test_link): ...into new file.
44633         * modules/linkat-tests: New test.
44634         * tests/test-linkat.c: Likewise.
44635         * modules/link-tests (Files): Ship new file.
44636         (Depends-on): Add stdbool.
44637
44638         dirname: add library-safe mdir_name
44639         * lib/dirname.h (mdir_name): New prototype.
44640         * lib/dirname.c (dir_name): Move guts...
44641         (mdir_name): ...to new function that avoids xalloc_die.
44642
44643         fchdir: another mingw fix
44644         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
44645         * lib/fchdir.c (get_name): New helper method; skips canonicalize
44646         on mingw (where it has not yet been ported), and make it optional
44647         elsewhere.
44648         (_gl_register_fd): Use it.
44649
44650         same-inode: make SAME_INODE tri-state, to port to mingw
44651         * NEWS: Mention this change.
44652         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
44653         st_ino always being 0.
44654         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44655         * lib/cycle-check.c (cycle_check): Likewise.
44656         * lib/same.c (same_name): Likewise.
44657
44658         lstat: avoid mingw compilation error
44659         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
44660         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
44661         lstat ourselves.
44662         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
44663         was adequate.
44664         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
44665         the checks for lstat.
44666         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
44667
44668         link: fix test failure on Solaris 9
44669         * lib/link.c (rpl_link): Don't assume link will catch bogus
44670         trailing slash on source.
44671
44672         test-symlinkat: enhance test
44673         * tests/test-readlink.c (main): Move guts...
44674         * tests/test-readlink.h (test_readlink): ...into new file.
44675         * tests/test-symlink.c (main): Move guts...
44676         * tests/test-symlink.h (test_symlink): ...into new file.
44677         * tests/test-symlinkat.c (main): Use new files for further
44678         coverage.
44679         (do_symlink, do_readlink): New helper functions.
44680         * modules/symlink-tests (Files): Ship new file.
44681         (Depends-on): Add stdbool.
44682         * modules/readlink-tests (Files): Ship new file.
44683         (Depends-on): Add stdbool.
44684         * modules/symlinkat-tests (Files): Use new files.
44685
44686 2009-09-23  Eric Blake  <ebb9@byu.net>
44687
44688         readlink: document portability issue with symlink length
44689         * doc/posix-functions/lstat.texi (lstat): Mention that some file
44690         systems have bogus st_size on symlinks, and mention the
44691         areadlink-with-size module.
44692         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
44693         * doc/posix-functions/readlink.texi (readlink): Mention the
44694         areadlink module, and ERANGE failure.
44695         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44696         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
44697
44698         readlink: fix Solaris 9 bug with trailing slash
44699         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
44700         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
44701         * doc/posix-functions/readlink.texi (readlink): Document this.
44702         * modules/readlink-tests: New test.
44703         * tests/test-readlink.c: Likewise.
44704
44705         readlink: fix cygwin 1.5.x bug with return type
44706         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
44707         * lib/unistd.in.h (readlink): Use ssize_t.
44708         * lib/readlink.c (readlink): Likewise.
44709         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44710         * modules/unistd (Makefile.am): Substitute it.
44711         * lib/unistd.in.h (readlink): Declare replacement.
44712         * doc/posix-functions/readlink.texi (readlink): Document this.
44713
44714         symlink: use throughout gnulib
44715         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
44716         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
44717         symlink is not used.
44718         * modules/symlinkat (Depends-on): Add symlink.
44719         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
44720         * modules/canonicalize-tests (Depends-on): Likewise.
44721         * modules/lstat-tests (Depends-on): Likewise.
44722         * modules/openat-tests (Depends-on): Likewise.
44723         * modules/remove-tests (Depends-on): Likewise.
44724         * modules/rmdir-tests (Depends-on): Likewise.
44725         * modules/unlink-tests (Depends-on): Likewise.
44726         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
44727         * tests/test-canonicalize.c (symlink): Likewise.
44728         * tests/test-fstatat.c (symlink): Likewise.
44729         * tests/test-lstat.c (symlink): Likewise.
44730         * tests/test-remove.c (symlink): Likewise.
44731         * tests/test-rmdir.c (symlink): Likewise.
44732         * tests/test-unlink.c (symlink): Likewise.
44733         * tests/test-unlinkat.c (symlink): Likewise.
44734
44735         symlink: new module, for Solaris 9 bug
44736         * modules/symlink: New file.
44737         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
44738         * lib/symlink.c: Likewise.
44739         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
44740         * modules/unistd (Makefile.am): Substitute them.
44741         * lib/unistd.in.h (symlink): Declare replacement.
44742         * MODULES.html.sh (File system functions): Mention it.
44743         * doc/posix-functions/symlink.texi (symlink): Likewise.
44744         * modules/symlink-tests: New test.
44745         * tests/test-symlink.c: Likewise.
44746
44747 2009-09-23  Bruno Haible  <bruno@clisp.org>
44748
44749         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
44750         when needed.
44751         Test case: gnulib-tool --import --with-tests atexit inttypes.
44752         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
44753
44754 2009-09-23  Bruno Haible  <bruno@clisp.org>
44755
44756         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
44757         subcommand, not in a subshell.
44758
44759 2009-09-22  Eric Blake  <ebb9@byu.net>
44760
44761         unistd: sort replacement declarations
44762         * lib/unistd.in.h: Sort declarations.
44763
44764         open, openat: minor optimization
44765         * lib/open.c (open): If open succeeded, len is non-zero.
44766         * lib/openat.c (rpl_openat): Likewise.
44767
44768         link-follow: ensure correct result
44769         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
44770         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
44771         distinguish between possible failures.
44772
44773 2009-09-21  Eric Blake  <ebb9@byu.net>
44774
44775         fts: avoid compiler warning
44776         * lib/fts.c (dirent_inode_sort_may_be_useful)
44777         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
44778
44779 2009-09-19  Bruno Haible  <bruno@clisp.org>
44780
44781         * lib/progreloc.c (canonicalize_file_name): New declaration.
44782
44783 2009-09-19  Eric Blake  <ebb9@byu.net>
44784
44785         link: fix quoting
44786         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
44787
44788         openat: fix openat bugs on Solaris 9
44789         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
44790         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
44791         * modules/openat (Depends-on): Add open.
44792         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
44793         * modules/fcntl-h (Makefile.am): Substitute it.
44794         * lib/fcntl.in.h (openat): Declare replacement.
44795         * doc/posix-functions/openat.texi (openat): Document this.
44796
44797         openat: move fstatat and unlinkat into correct files
44798         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
44799         compiled.
44800         * lib/openat.c (fstatat, unlinkat): Move...
44801         * lib/fstatat.c (fstatat): ...into correct files.
44802         * lib/unlinkat.c (unlinkat): Likewise.
44803
44804         openat: fix unlinkat bugs on Solaris 9
44805         * lib/unlinkat.c (unlinkat): New file.
44806         * modules/openat (Depends-on): Add unlink.
44807         (Files): Distribute it.
44808         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
44809         trailing slash behavior is broken.
44810         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44811         * modules/unistd (Makefile.am): Substitute it.
44812         * lib/unistd.in.h (unlinkat): Declare replacement.
44813         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
44814
44815         openat: fix fstatat bugs on Solaris 9
44816         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
44817         stat.
44818         * doc/posix-functions/fstatat.texi (fstatat): Document this.
44819
44820         test-unlinkat: enhance test, to expose Solaris 9 bug
44821         * tests/test-unlink.c (main): Factor guts...
44822         * tests/test-unlink.h (test_rmdir_func): ...into new file.
44823         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
44824         * tests/test-rmdir.c (main): Adjust caller.
44825         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
44826         (unlinker): New helper function.
44827         (rmdirat): Enhance check.
44828         * modules/rmdir-tests (Depends-on): Add stdbool.
44829         * modules/unlink-tests (Depends-on): Likewise.
44830         (Files): Add test-unlink.h.
44831         * modules/openat-tests (Files): Likewise.
44832         (Depends-on): Add unlinkdir.
44833
44834         test-fstatat: new test, to expose Solaris 9 bugs
44835         * tests/test-stat.c (main): Factor guts...
44836         * tests/test-stat.h (test_stat_func): ...into new file.
44837         * tests/test-lstat.c (main): Factor guts...
44838         * tests/test-lstat.h (test_lstat_func): ...into new file.
44839         * tests/test-fstatat.c: New file.
44840         * modules/stat-tests (Files): Add test-stat.h.
44841         * modules/lstat-tests (Files): Add test-lstat.h.
44842         (Depends-on): Add stdbool.
44843         * modules/openat-tests (Depends-on): Add pathmax.
44844         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
44845         (Makefile.am): Run new test.
44846
44847         remove: new module, for mingw and Solaris 9 bugs
44848         * modules/remove: New file.
44849         * lib/remove.c: Likewise.
44850         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
44851         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44852         * modules/stdio (Makefile.am): Use them.
44853         * lib/stdio.in.h (remove): Declare replacement.
44854         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44855         * doc/posix-functions/remove.texi (remove): Likewise.
44856         * modules/remove-tests: New test.
44857         * tests/test-remove.c: Likewise.
44858
44859         unlink: new module, for Solaris 9 bug
44860         * modules/unlink: New file.
44861         * lib/unlink.c: Likewise.
44862         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
44863         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44864         * modules/unistd (Makefile.am): Use them.
44865         * lib/unistd.in.h (stat): Declare replacement.
44866         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44867         * doc/posix-functions/unlink.texi (unlink): Likewise.
44868         * modules/unlink-tests: New test.
44869         * tests/test-unlink.c: Likewise.
44870
44871         lstat: fix Solaris 9 bug
44872         * lib/lstat.c (lstat): Also check for trailing slash on
44873         non-symlink, non-directories.  Use stat module to simplify logic.
44874         * doc/posix-functions/lstat.texi (lstat): Document it.
44875         * modules/lstat-tests (Depends-on): Add errno, same-inode.
44876         (configure.ac): Check for symlink.
44877         * tests/test-lstat.c (main): Add more tests.
44878
44879         stat: add as dependency to other modules
44880         * modules/chown (Depends-on): Add stat.
44881         * modules/euidaccess (Depends-on): Likewise.
44882         * modules/fchdir (Depends-on): Likewise.
44883         * modules/isdir (Depends-on): Likewise.
44884         * modules/link (Depends-on): Likewise.
44885         * modules/lstat (Depends-on): Likewise.
44886         * modules/mkdir-p (Depends-on): Likewise.
44887         * modules/modechange (Depends-on): Likewise.
44888         * modules/open (Depends-on): Likewise.
44889         * modules/readlink (Depends-on): Likewise.
44890         * modules/same (Depends-on): Likewise.
44891
44892         stat: fix Solaris 9 bug
44893         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
44894         slash.
44895         * lib/stat.c (rpl_stat): Work around it.
44896         * doc/posix-functions/stat.texi (stat): Update documentation.
44897
44898         stat: new module, for mingw bug
44899         * modules/stat: New file.
44900         * lib/stat.c: Likewise.
44901         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
44902         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44903         * modules/sys_stat (Makefile.am): Use them.
44904         * lib/sys_stat.in.h (stat): Declare replacement.
44905         * lib/openat.c (fstatat): Deal with lstat and stat being function
44906         macros.
44907         * modules/openat (Depends-on): Add inline.
44908         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44909         * doc/posix-functions/stat.texi (stat): Likewise.
44910         * modules/stat-tests: New test.
44911         * tests/test-stat.c: Likewise.
44912
44913 2009-09-19  Jim Meyering  <meyering@redhat.com>
44914
44915         syntax-check: detect unnecessary inclusion of canonicalize.h
44916         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
44917
44918 2009-09-19  Eric Blake  <ebb9@byu.net>
44919
44920         canonicalize-lgpl: adjust clients to use correct header
44921         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
44922         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
44923         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
44924         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
44925         * lib/progreloc.c (includes): Likewise.
44926
44927 2009-09-19  Jim Meyering  <meyering@redhat.com>
44928
44929         test-posixtm.c: correct a comment
44930         * tests/test-posixtm.c: Correct first-line comment.
44931         Spotted by Eric Blake.
44932
44933 2009-09-16  Jim Meyering  <meyering@redhat.com>
44934
44935         posixtm-tests: make T const-correct; add a test case
44936         * tests/test-posixtm.c (T): Declare const.
44937         Add a test for -(2^31+1).
44938         Remove useless can-succeed-only-in-2002 test.
44939
44940         posixtm-tests: adjust the sole failing test
44941         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
44942         expected output matches what mktime now produces.  Cross-checked via
44943         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
44944
44945         posixtm: move #ifdef'd tests into a new module
44946         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
44947         * tests/test-posixtm.c: ... this new file.
44948         * modules/posixtm-tests: New module.
44949
44950 2009-09-19  Eric Blake  <ebb9@byu.net>
44951
44952         openat: simplify use of at-func.c
44953         * lib/at-func.c (includes): Include prerequisites here, to
44954         simplify requirements on client files.
44955         * lib/openat-priv.h: Add double-inclusion guard.
44956         * lib/faccessat.c (includes): Simplify.
44957         * lib/fchmodat.c (includes): Likewise.
44958         * lib/fchownat.c (includes): Likewise.
44959         * lib/mkdirat.c (includes): Likewise.
44960         * lib/mkfifoat.c (includes): Likewise.
44961         * lib/symlinkat.c (includes): Likewise.
44962
44963         openat: allow return of fd 0
44964         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
44965         * modules/save-cwd (Depends-on): Replace fcntl-safer with
44966         unistd-safer.
44967         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
44968         <fcntl.h>; this module does not leak fds.
44969         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
44970         must be allowed to return 0, leaving openat_safer to add the
44971         safety.
44972         (openat_permissive): Avoid writing to just-opened fd 2 if
44973         restoring the current directory fails.
44974         * lib/openat-die.c (openat_restore_fail): Add comment.
44975         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
44976         (save_cwd): Guarantee safe fd, but without use of open_safer.
44977         * tests/test-openat.c: New test.
44978         * modules/openat-tests (Files, Makefile.am): Distribute and build
44979         new file.
44980
44981         relocatable-prog-wrapper: fix build
44982         * modules/relocatable-prog-wrapper (Files): Update name of
44983         canonicalize m4 file, broken on 2009-09-17.
44984         Reported by emad hajjar <aleppos@hotmail.com>.
44985
44986 2009-09-19  Bruno Haible  <bruno@clisp.org>
44987
44988         * lib/safe-alloc.h: Use the standard header with GPL copyright.
44989         * lib/safe-alloc.c: Likewise.
44990         Reported by Ian Beckwith <ianb@erislabs.net>.
44991
44992 2009-09-18  Bruno Haible  <bruno@clisp.org>
44993
44994         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
44995         Reported by <erobles@sensacd.com.mx>.
44996
44997 2009-09-17  Eric Blake  <ebb9@byu.net>
44998
44999         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
45000         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
45001         slashes when checking if last component is missing.
45002         * tests/test-canonicalize.c (main): Test this.
45003
45004         canonicalize, canonicalize-lgpl: honor // if distinct from /
45005         * modules/canonicalize (Files): Add double-slash-root.m4.
45006         * modules/canonicalize-lgpl (Files): Likewise.
45007         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
45008         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
45009         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
45010         fallback definition.
45011         (canonicalize_filename_mode): Use it to protect //.
45012         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
45013         (__realpath): Likewise.
45014         * tests/test-canonicalize.c (main): Test this.
45015         * tests/test-canonicalize-lgpl.c (main): Likewise.
45016         * modules/canonicalize-tests (Depends-on): Add same-inode.
45017         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
45018
45019         canonicalize-lgpl: fix glibc bug with trailing slash
45020         * m4/canonicalize-lgpl.m4: Move contents...
45021         * m4/canonicalize.m4: ...here.
45022         (gl_CANONICALIZE_LGPL): Factor realpath check...
45023         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
45024         glibc 2.3.5 bug, fixed 2005-04-27.
45025         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
45026         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
45027         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
45028         * modules/canonicalize-lgpl (Files): Manage file rename.
45029         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45030         * modules/stdlib (Makefile.am): Substitute witness.
45031         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
45032         is needed.
45033         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
45034         replacement is required.
45035         * lib/canonicalize.c (canonicalize_file_name): Likewise.
45036         * doc/glibc-functions/canonicalize_file_name.texi
45037         (canonicalize_file_name): Document this.
45038         * doc/posix-functions/realpath.texi (realpath): Likewise.
45039
45040         canonicalize-lgpl: reject non-directory with trailing slash
45041         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
45042         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
45043         catches failures in glibc 2.3.5.
45044         * tests/test-canonicalize.c (main): Likewise.
45045
45046         canonicalize-lgpl: use native realpath if it works
45047         * lib/canonicalize-lgpl.c (realpath): Guard with
45048         FUNC_REALPATH_WORKS.
45049         * lib/stdlib.in.h (realpath): Make declaration optional based on
45050         HAVE_REALPATH.
45051         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
45052         native realpath works.
45053         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45054         * modules/stdlib (Makefile.am): Substitute witness.
45055
45056         canonicalize, canonicalize-lgpl: use <stdlib.h>
45057         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
45058         (Include): Mention <stdlib.h>.
45059         (configure.ac): Mention functions we provide.
45060         * modules/canonicalize (configure.ac): Likewise.
45061         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
45062         realpath if canonicalize_file_name is missing.
45063         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
45064         * modules/stdlib (Makefile.am): Substitute witnesses.
45065         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
45066         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
45067         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
45068         * NEWS: Document this.
45069         * doc/glibc-functions/canonicalize_file_name.texi
45070         (canonicalize_file_name): Likewise.
45071         * doc/posix-functions/realpath.texi (realpath): Likewise.
45072         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
45073
45074         test-canonicalize: consolidate into single C program
45075         * tests/test-canonicalize.sh: Delete; move setup into...
45076         * tests/test-canonicalize.c (main): ...the program, making it
45077         easier to run in debugger.  Add some tests.
45078         * modules/canonicalize-tests (Files): Remove unused file.
45079         (Depends-on): Add progname.
45080         (configure.ac, Makefile.am): Simplify.
45081
45082         test-canonicalize-lgpl: consolidate into single C program
45083         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
45084         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
45085         easier to run in debugger.  Add some tests.
45086         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
45087         (configure.ac, Makefile.am): Simplify.
45088
45089         canonicalize: avoid resolvepath
45090         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
45091         unnecessary checks.
45092         * lib/canonicalize.c (includes): Simplify.
45093         (canonicalize_file_name): Drop resolvepath implementation.
45094         * modules/canonicalize (Depends-on): Drop filenamecat.
45095
45096         canonicalize: don't lose errno
45097         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
45098         over calls to free.
45099
45100         canonicalize: simplify errno handling
45101         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
45102         assignment.
45103
45104         canonicalize, canonicalize-lgpl: update module dependencies
45105         * modules/canonicalize (Depends-on): Add extensions, lstat,
45106         pathmax, stdlib.
45107         (Files): Drop pathmax.h.
45108         (configure.ac): Adjust macro name.
45109         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
45110         lstat, stdlib, sys_stat.
45111         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
45112         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
45113         extensions.
45114         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
45115         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
45116         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
45117         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
45118         declaration, if available.
45119         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
45120         we can rely on the readlink module.
45121         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
45122         (includes): Use <unistd.h> unconditionally.
45123
45124 2009-09-17  Eric Blake  <ebb9@byu.net>
45125
45126         maint: make Include sections of modules consistent
45127         * modules/alloca: Use only header name; no need to list #include.
45128         * modules/alloca-opt: Likewise.
45129         * modules/arpa_inet: Likewise.
45130         * modules/canon-host: Likewise.
45131         * modules/configmake: Likewise.
45132         * modules/dirent: Likewise.
45133         * modules/eealloc: Likewise.
45134         * modules/environ: Likewise.
45135         * modules/fchdir: Likewise.
45136         * modules/fcntl: Likewise.
45137         * modules/fcntl-h: Likewise.
45138         * modules/gethrxtime: Likewise.
45139         * modules/gettime: Likewise.
45140         * modules/ignore-value: Likewise.
45141         * modules/inet_ntop: Likewise.
45142         * modules/inet_pton: Likewise.
45143         * modules/inttypes: Likewise.
45144         * modules/isnand-nolibm: Likewise.
45145         * modules/isnanf-nolibm: Likewise.
45146         * modules/mbchar: Likewise.
45147         * modules/mbfile: Likewise.
45148         * modules/mbiter: Likewise.
45149         * modules/mbuiter: Likewise.
45150         * modules/netdb: Likewise.
45151         * modules/netinet_in: Likewise.
45152         * modules/nproc: Likewise.
45153         * modules/pagealign_alloc: Likewise.
45154         * modules/poll: Likewise.
45155         * modules/printf-frexp: Likewise.
45156         * modules/pthread: Likewise.
45157         * modules/putenv: Likewise.
45158         * modules/random_r: Likewise.
45159         * modules/relocatable-prog: Likewise.
45160         * modules/search: Likewise.
45161         * modules/select: Likewise.
45162         * modules/selinux-h: Likewise.
45163         * modules/settime: Likewise.
45164         * modules/signal: Likewise.
45165         * modules/size_max: Likewise.
45166         * modules/socklen: Likewise.
45167         * modules/ssize_t: Likewise.
45168         * modules/stdarg: Likewise.
45169         * modules/stdbool: Likewise.
45170         * modules/stddef: Likewise.
45171         * modules/stdint: Likewise.
45172         * modules/stdio: Likewise.
45173         * modules/stdlib: Likewise.
45174         * modules/string: Likewise.
45175         * modules/strings: Likewise.
45176         * modules/sys_file: Likewise.
45177         * modules/sys_ioctl: Likewise.
45178         * modules/sys_select: Likewise.
45179         * modules/sys_socket: Likewise.
45180         * modules/sys_stat: Likewise.
45181         * modules/sys_time: Likewise.
45182         * modules/sys_times: Likewise.
45183         * modules/sys_utsname: Likewise.
45184         * modules/sys_wait: Likewise.
45185         * modules/sysexits: Likewise.
45186         * modules/time: Likewise.
45187         * modules/times: Likewise.
45188         * modules/tmpfile: Likewise.
45189         * modules/trim: Likewise.
45190         * modules/unistd: Likewise.
45191         * modules/wchar: Likewise.
45192         * modules/wctype: Likewise.
45193
45194 2009-09-17  Bruno Haible  <bruno@clisp.org>
45195
45196         Make getdate.y compile on QNX and NetBSD 5 / i386.
45197         * m4/getdate.m4 (gl_GETDATE): Conditionally define
45198         TIME_T_FITS_IN_LONG_INT.
45199         * lib/getdate.y (long_time_t): New type.
45200         (relative_time): Change type of 'seconds' field to long_time_t.
45201         (get_date): Update types of local variables. Check against overflow
45202         during conversion from long_time_t to time_t.
45203         Reported by Matt Kraai <kraai@ftbfs.org>
45204         and Hasso Tepper <hasso@netbsd.org>.
45205
45206 2009-09-17  Bruno Haible  <bruno@clisp.org>
45207
45208         * modules/COPYING: Update copyright years.
45209         * modules/README: Likeiwse.
45210         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
45211         Reported by Ian Beckwith <ianb@erislabs.net>.
45212
45213 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45214
45215         * users.txt: Update references for gnuit package.
45216
45217 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45218
45219         * m4/getdelim.m4: Fix typo in copyright line.
45220
45221 2009-09-17  Bruno Haible  <bruno@clisp.org>
45222
45223         * lib/atoll.c: Use the standard header with GPL copyright.
45224         * lib/argz.in.h: Likewise.
45225         * lib/glob.c: Likewise.
45226         * lib/glob-libc.h: Likewise.
45227         * lib/random_r.c: Likewise.
45228         * lib/siglist.h: Likewise.
45229         * lib/strsignal.c: Likewise.
45230         Reported by Ian Beckwith <ianb@erislabs.net>.
45231
45232 2009-09-17  Eric Blake  <ebb9@byu.net>
45233
45234         rmdir: ensure correct dependency order
45235         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
45236
45237 2009-09-17  Bruno Haible  <bruno@clisp.org>
45238
45239         Disable assertion that fails on NetBSD 5 / i386.
45240         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
45241         Reported by Sam Steingold <sds@gnu.org>
45242         and Hasso Tepper <hasso@netbsd.org>.
45243
45244 2009-09-16  Eric Blake  <ebb9@byu.net>
45245
45246         unlinkdir: port to mingw
45247         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
45248         on which no one can unlink a directory.
45249
45250         stdlib: sort witness names
45251         * modules/stdlib (Makefile.am): Sort replacements.
45252         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
45253         * lib/stdlib.in.h: Likewise.
45254
45255         parse-duration-tests: avoid link failure
45256         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
45257         LIBINTL.
45258         Reported by Tom G. Christensen.
45259
45260         openat-tests: ensure unlinkat behaves like rmdir
45261         * tests/test-rmdir.c (main): Factor guts...
45262         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
45263         * modules/rmdir-tests (Files): Ship new file.
45264         * modules/openat-tests: New test.
45265         * tests/test-unlinkat.c: Likewise.
45266
45267         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
45268         * modules/rmdir-errno (Status, Notice): Now obsolete.
45269
45270         rmdir: work around cygwin 1.5.x and mingw bugs
45271         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
45272         * lib/rmdir.c (rmdir): Work around it.
45273         * modules/rmdir (Status, Notice): No longer obsolete.
45274         (Files): Add dos.m4.
45275         (Depends-on): Add unistd.
45276         (configure.ac): Set witnesses.
45277         (License): Relax to LGPLv2+.
45278         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
45279         * modules/unistd (Makefile.am): Substitute witnesses.
45280         * lib/unistd.in.h (rmdir): Declare replacement.
45281         * doc/posix-functions/rmdir.texi (rmdir): Document this.
45282         * modules/rmdir-tests: New tests.
45283         * tests/test-rmdir.c: Likewise.
45284
45285 2009-09-15  Eric Blake  <ebb9@byu.net>
45286
45287         fchdir: improve use of replacement functions
45288         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
45289         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
45290         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
45291         REPLACE_CLOSEDIR.
45292         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
45293         * modules/sys_stat (Makefile.am): Substitute correct witness.
45294         * modules/dirent (Makefile.am): Likewise.
45295         * modules/unistd (Makefile.am): Likewise.
45296         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
45297         * lib/unistd.in.h (dup): Likewise.
45298         * lib/sys_stat.in.h (fstat): Likewise.
45299
45300         maint: ignore gnulib-tool temp files
45301         * .gitignore: Ignore files created during gnulib-tool --test.
45302
45303 2009-09-13  Jim Meyering  <meyering@redhat.com>
45304
45305         posixtm: don't reject a time that specify "60" as the number of seconds
45306         * lib/posixtm.c (posixtime): The code to reject invalid dates
45307         would also reject a time specified with the .60 suffix.
45308         But POSIX allows that, in order to accommodate leap seconds.
45309         So don't reject it.
45310         (main): Adjust tests accordingly.
45311         * modules/posixtm (Depends-on): Add stpcpy.
45312
45313 2009-09-11  Jim Meyering  <meyering@redhat.com>
45314
45315         announce-gen: include [$release_type] in emitted Subject:
45316         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
45317         e.g., [stable] in the emitted Subject: line.
45318
45319 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45320
45321         Remove obsolete macros from several modules.
45322         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
45323         obsolete Autoconf macros with their modern counterparts.
45324         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
45325         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
45326         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
45327         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
45328         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
45329         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45330         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
45331         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
45332         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
45333         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
45334         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
45335         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
45336         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
45337         * m4/sockets.m4 (gl_SOCKETS): Likewise.
45338         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
45339         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
45340         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
45341         * m4/time_r.m4 (gl_TIME_R): Likewise.
45342         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
45343         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
45344         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
45345
45346         Fix copyright header in build-aux scripts.
45347         * build-aux/git-version-gen: Fix copyright header to match GPLv3
45348         recommendation.
45349         * build-aux/ncftpput-ftp: Likewise.
45350         * build-aux/update-copyright: Likewise.
45351
45352 2009-09-09  Eric Blake  <ebb9@byu.net>
45353
45354         test-link: allow Linux choice of errno
45355         * tests/test-link.c (main): Relax test for alternate error.
45356
45357         strndup: fix improper m4 caching
45358         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
45359         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
45360         (gl_PREREQ_STRNDUP): Delete.
45361         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
45362         * modules/string (Makefile.am): Substitute it.
45363         * lib/string.in.h (strndup): Modernize prototype.
45364
45365         getcwd: port to mingw
45366         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
45367         different from the POSIX assumptions made throughout the getcwd
45368         module; fortunately, the mingw getcwd does not need replacement.
45369         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
45370         * modules/getcwd-tests: New test.
45371         * tests/test-getcwd.c: Likewise.
45372
45373         link: fix platform bugs
45374         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
45375         * lib/link.c (link): Work around them.  Fix related mingw bug.
45376         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
45377         * modules/unistd (Makefile.am): Substitute it.
45378         * lib/unistd.in.h (link): Declare replacement.
45379         * doc/posix-functions/link.texi (link): Document this.
45380         * modules/link (Depends-on): Add strdup-posix, sys_stat.
45381
45382         test-link: consolidate into single C program, test more cases
45383         * tests/test-link.sh: Delete.
45384         * tests/test-link.c: Test more error conditions.  Exposes bugs on
45385         at least Cygwin and Solaris.
45386         * modules/link-tests (Files): Remove unused file.
45387         (Depends-on): Add errno, sys_stat.
45388         (Makefile.am): Simplify.
45389
45390 2009-09-08  Bruno Haible  <bruno@clisp.org>
45391
45392         Work around towlower, towupper bug on mingw.
45393         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
45394         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
45395         * doc/posix-functions/towlower.texi: Mention the mingw bug.
45396         * doc/posix-functions/towupper.texi: Likewise.
45397         Reported by Eric Blake.
45398
45399 2009-09-08  Jim Meyering  <meyering@redhat.com>
45400
45401         build: don't try to run autoheader if we don't use it
45402         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
45403         is not used in configure.ac.
45404
45405 2009-09-08  Eric Blake  <ebb9@byu.net>
45406
45407         euidaccess: fix compilation error
45408         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
45409
45410         rawmemchr: relax license
45411         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
45412         okay.
45413         Reported by Jim Meyering.
45414
45415         mkfifoat: new module
45416         * modules/mkfifoat: New file.
45417         * lib/mkfifoat.c: Likewise.
45418         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
45419         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
45420         * modules/sys_stat (Makefile.am): Use them.
45421         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
45422         * MODULES.html.sh (File system functions): Mention module.
45423         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
45424         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
45425         * modules/mkfifoat-tests: New test.
45426         * tests/test-mkfifoat.c: Likewise.
45427
45428         strchrnul: relax license
45429         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
45430         okay.
45431         Reported by Jim Meyering.
45432
45433 2009-09-08  Eric Blake  <ebb9@byu.net>
45434
45435         fstatat: fix compilation on Solaris
45436         * lib/fstatat.c (includes): Add fcntl.h.
45437         Reported by Pádraig Brady.
45438
45439 2009-09-07  Eric Blake  <ebb9@byu.net>
45440
45441         rename: modernize replacement
45442         * modules/rename (Depends-on): Add stdio.
45443         (configure.ac): Declare witness.
45444         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
45445         stdio take care of replacement.
45446         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
45447         * modules/stdio (Makefile.am): Substitute them.
45448         * lib/stdio.in.h (rename): Declare replacement.
45449         * lib/rename.c (includes): Allow cross-compilation to non-windows
45450         machines.
45451         * doc/posix-functions/rename.texi (rename): Improve
45452         documentation.
45453
45454         stdio: sort witness names
45455         * modules/stdio (Makefile.am): Sort replacements.
45456         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
45457         * lib/stdio.in.h: Likewise.
45458
45459         getcwd: minor cleanups
45460         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
45461         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
45462
45463         openat: provide more convenience names
45464         * modules/faccessat (configure.ac): Add C witness.
45465         * lib/unistd.in.h (readlinkat): Fix typo.
45466         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
45467         convenience wrappers.
45468         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
45469         wrappers in syntax checks.
45470
45471 2009-09-06  Eric Blake  <ebb9@byu.net>
45472
45473         doc: fix comments in recent patches
45474         * lib/faccessat.c: Mention correct function.
45475         * lib/fchmodat.c: Likewise.
45476         * lib/fchownat.c: Likewise.
45477         * lib/symlinkat.c: Likewise.
45478         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
45479         constants.
45480
45481         faccessat, symlinkat: continue cleanup of previous patch
45482         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
45483         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45484         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
45485         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
45486         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
45487         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
45488         set.
45489
45490 2009-09-06  Bruno Haible  <bruno@clisp.org>
45491
45492         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
45493         (fstatat): Declare if GNULIB_FSTATAT is set.
45494         (mkdirat): Declare if GNULIB_MKDIRAT is set.
45495         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
45496         (unlinkat): Declare if GNULIB_UNLINKAT is set.
45497         * modules/fcntl-h (Files): Remove m4/openat.m4.
45498         * modules/sys_stat (Files): Remove m4/openat.m4.
45499         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
45500         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
45501         * modules/unistd (Files): Remove m4/openat.m4.
45502         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
45503         GNULIB_OPENAT.
45504         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
45505         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
45506         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
45507         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
45508         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
45509         gl_OPENAT_DEFAULTS.
45510         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
45511         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
45512         Don't require gl_OPENAT_DEFAULTS.
45513         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
45514         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
45515         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
45516         (gl_OPENAT_DEFAULTS): Remove macro.
45517
45518 2009-09-06  Bruno Haible  <bruno@clisp.org>
45519
45520         * modules/openat (configure.ac): Remove unneeded witness.
45521
45522 2009-09-06  Bruno Haible  <bruno@clisp.org>
45523
45524         Set errno to ENOSYS when a function is entirely unsupported.
45525         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
45526         EOPNOTSUPP.
45527         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
45528         * modules/chown (Depends-on): Remove errno.
45529
45530 2009-09-06  Bruno Haible  <bruno@clisp.org>
45531
45532         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
45533
45534 2009-09-06  Bruno Haible  <bruno@clisp.org>
45535
45536         * lib/sys_stat.in.h: Fix preprocessor command indentation.
45537
45538 2009-09-06  Ben Pfaff  <blp@gnu.org>
45539             Bruno Haible  <bruno@clisp.org>
45540
45541         Work around a glibc bug in strtok_r.
45542         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
45543         Undefine if UNDEFINE_STRTOK_R is set.
45544         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
45545         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
45546         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
45547         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
45548         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
45549         UNDEFINE_STRTOK_R.
45550         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
45551
45552 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
45553
45554         exclude: minor fix
45555         * lib/exclude.c: Include wctype.h
45556
45557 2009-09-06  Akim Demaille  <demaille@gostai.com>
45558
45559         bootstrap: improve error message
45560         * build-aux/bootstrap (find_tool): Upon failure, report the list
45561         of candidates.
45562         Honor the initial value of the envvar.
45563
45564 2009-09-05  Eric Blake  <ebb9@byu.net>
45565
45566         symlinkat: new module
45567         * modules/symlinkat: New file.
45568         * lib/symlinkat.c: Likewise.
45569         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
45570         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45571         * modules/unistd (Makefile.am): Use them.
45572         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
45573         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
45574         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
45575         * MODULES.html.sh (File system functions): Mention module.
45576         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
45577         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
45578         * modules/symlinkat-tests: New test.
45579         * tests/test-symlinkat.c: Likewise.
45580
45581         test-openat-safer: add more checks
45582         * tests/test-openat-safer.c (main): Check more code paths.
45583
45584 2009-09-05  Jim Meyering  <meyering@redhat.com>
45585
45586         syntax-check: detect unnecessary inclusion of openat.h
45587         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
45588
45589 2009-09-05  Bruno Haible  <bruno@clisp.org>
45590
45591         Support towlower, towupper.
45592         * doc/posix-functions/towlower.texi: Mention module wctype.
45593         * doc/posix-functions/towupper.texi: Likewise.
45594         * lib/wctype.in.h (towlower, towupper): New functions.
45595         * tests/test-wctype.c: Include stdio.h, stdlib.h.
45596         (ASSERT): New macro.
45597         (e): New variable.
45598         (main): Test also towlower, towupper. Test WEOF argument.
45599         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45600
45601 2009-09-05  Bruno Haible  <bruno@clisp.org>
45602
45603         Fix conversion behaviour when the input is invalid.
45604         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
45605         mark occurring in first pass of indirect conversion.
45606         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
45607         input.
45608         Found by clang's static analyzer.
45609
45610 2009-09-05  Bruno Haible  <bruno@clisp.org>
45611
45612         * tests/test-striconveh.c (main): Test indirect conversion on platforms
45613         where direct conversion is possible.
45614
45615 2009-09-04  Eric Blake  <ebb9@byu.net>
45616
45617         openat: fail with ENOENT on empty name
45618         * lib/openat-proc.c (openat_proc_name): Special-case the empty
45619         buffer.
45620
45621         link-follow: fix logic bug in prior patch
45622         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
45623         reversed sense of yes and no in prior patch.  Avoid confusing
45624         compilation failure with desired semantics.
45625
45626         link-follow: accommodate mingw and cross-compilation
45627         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
45628         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
45629         cross-compilation results to -1, to make linkat easier to
45630         implement when cross-compiling.  Trivially support mingw.
45631         * modules/link-follow (configure.ac): Call new name.
45632         * NEWS: Mention this.
45633
45634 2009-09-03  Eric Blake  <ebb9@byu.net>
45635
45636         faccessat: compile replacement
45637         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
45638         needed.
45639
45640         fts: fix compilation error
45641         * lib/fts.c (includes): Re-add "openat.h", for
45642         openat_needs_fchdir.
45643
45644         faccessat: new module
45645         * modules/faccessat: New file.
45646         * lib/faccessat.c: Likewise.
45647         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45648         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45649         * modules/unistd (Makefile.am): Use it.
45650         * lib/unistd.in.h (faccessat): Declare it.
45651         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
45652         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
45653         * MODULES.html.sh (File system functions): Mention it.
45654         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
45655         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
45656
45657         euidaccess: prefer POSIX over non-standard implementation
45658         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
45659         * lib/euidaccess.c (euidaccess): Use it if available.
45660
45661         openat: make template easier to use
45662         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
45663         AT_FUNC_F2 to be undefined.
45664         (VALIDATE_FLAG): New macro; use it to reject bad flags.
45665         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
45666         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
45667         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
45668         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
45669         Likewise.
45670         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
45671         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
45672         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
45673         Likewise.
45674
45675         openat: declare in POSIX headers
45676         * NEWS: Mention this.
45677         * modules/openat (configure.ac): Declare witnesses.
45678         (Depends-on): Add fcntl-h, sys_stat, unistd.
45679         (Include): Mention correct headers.
45680         * modules/fcntl-h (Depends-on): Add link-warning.
45681         (Files): Add openat.m4.
45682         (Makefile.am): Substitute witnesses.
45683         * modules/sys_stat (Files, Makefile.am): Likewise.
45684         * modules/unistd (Files, Makefile.am): Likewise.
45685         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
45686         (gl_OPENAT_DEFAULTS): New macro.
45687         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
45688         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
45689         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
45690         (SYS_STAT_H): Remove unused variable.
45691         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
45692         * lib/fcntl--.h (includes): Remove unneeded header.
45693         * lib/openat-safer.c (includes): Likewise.
45694         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
45695         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
45696         appropriate headers.
45697         (__OPENAT_PREFIX): Delete.
45698         * lib/fcntl.in.h (openat): Provide declaration.
45699         (AT_FDCWD): Fix Solaris bug.
45700         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
45701         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
45702         * lib/fchmodat.c (includes):  Adjust to find declaration.
45703         * lib/fchownat.c (includes): Likewise.
45704         * lib/mkdirat.c (includes): Likewise.
45705         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
45706         still visible.
45707
45708 2009-09-02  Eric Blake  <ebb9@byu.net>
45709
45710         errno: use consistently
45711         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
45712         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
45713         * lib/canonicalize.c (ELOOP): Likewise.
45714         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
45715         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
45716         * lib/lchown.c (EOPNOTSUPP): Likewise.
45717         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
45718         * lib/savewd.c (ESTALE): Likewise.
45719         * lib/settime.c (ENOSYS): Likewise.
45720         * lib/utimens.c (ENOSYS): Likewise.
45721         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
45722         * lib/chdir-safer.c (ELOOP): Likewise.
45723         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
45724         * modules/c-stack (Depends-on): Add errno.
45725         * modules/canonicalize (Depends-on): Likewise.
45726         * modules/chdir-safer (Depends-on): Likewise.
45727         * modules/fdopendir (Depends-on): Likewise.
45728         * modules/inet_ntop (Depends-on): Likewise.
45729         * modules/inet_pton (Depends-on): Likewise.
45730         * modules/lchown (Depends-on): Likewise.
45731         * modules/openat (Depends-on): Likewise.
45732         * modules/savewd (Depends-on): Likewise.
45733         * modules/settime (Depends-on): Likewise.
45734         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
45735
45736         fts: avoid leaking fds
45737         * modules/fts (Depends-on): Add cloexec.
45738         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
45739         flag.
45740
45741         fts: make directory fds more robust
45742         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
45743         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
45744
45745         backupfile, chdir-long, fts, savedir: make safer
45746         * lib/backupfile.c (includes): Use "dirent--.h", since
45747         numbered_backup can write to stderr during readdir.
45748         * lib/savedir.c (includes): Likewise.
45749         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
45750         emulation can write to stderr on failure.
45751         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
45752         * lib/getcwd.c: Document why opendir_safer is unused.
45753         * lib/glob.c: Likewise.
45754         * lib/scandir.c: Likewise.
45755         * lib/openat-proc.c: Likewise, for open_safer.
45756         * modules/backupfile (Depends-on): Add dirent-safer.
45757         * modules/savedir (Depends-on): Likewise.
45758         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
45759         * modules/chdir-long (Depends-on): Add openat-safer.
45760
45761         openat-safer: new module
45762         * modules/openat-safer: New file.
45763         * lib/openat-safer.c: Likewise.
45764         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
45765         * lib/fcntl-safer.h (openat_safer): Declare.
45766         * lib/fcntl--.h (openat): Override.
45767         * MODULES.html.sh (File descriptor based I/O): Mention it.
45768         * lib/openat.h: Add double-inclusion guards.
45769         * lib/openat.c (includes): Only include "fcntl-safer.h", not
45770         "fcntl--.h", so we can implement openat.
45771         * modules/openat-safer-tests: New test.
45772         * tests/test-openat-safer.c: New file.
45773
45774         dirent-safer: new module
45775         * modules/dirent-safer: New file.
45776         * lib/dirent--.h: Likewise.
45777         * lib/dirent-safer.h: Likewise.
45778         * lib/opendir-safer.c: Likewise.
45779         * m4/dirent-safer.m4: Likewise.
45780         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
45781         * modules/dirent-safer-tests: New test.
45782         * tests/test-dirent-safer.c: New file.
45783         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
45784
45785         fdopendir: optimize on mingw
45786         * lib/unistd.in.h (_gl_directory_name): New prototype.
45787         * lib/fchdir.c (_gl_directory_name): Implement it.
45788         (fchdir): Use it to simplify implementation.
45789         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
45790         fchdir, when available, to avoid calling [f]chdir().
45791
45792         fdopendir: split into its own module
45793         * lib/openat.c (fdopendir): Move...
45794         * lib/fdopendir.c: ...into new file.
45795         * modules/fdopendir: New module.
45796         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
45797         * modules/openat (Depends-on): Add fdopendir.
45798         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
45799         fdopendir here.
45800         * modules/savedir (Depends-on): Only need fdopendir, not full
45801         openat.
45802         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
45803         * lib/openat.h (fdopendir): Drop prototype.
45804         * lib/dirent.in.h (fdopendir): Provide prototype.
45805         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
45806         * modules/dirent (Makefile.am): Substitute them.
45807         * MODULES.html.sh (File system functions): Mention it.
45808         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
45809         * modules/fdopendir-tests: New file.
45810         * tests/test-fdopendir.c: Likewise.
45811
45812         fchdir: use more consistent macro convention
45813         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
45814         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
45815         REPLACE_FCHDIR, rather than relying on config.h macros.
45816         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
45817         inside a single make-time REPLACE_FCHDIR block, rather than using
45818         the config.h FCHDIR_REPLACEMENT.
45819         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
45820         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
45821         Manage fstat replacement.
45822         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
45823         REPLACE_FCHDIR.
45824         * modules/sys_stat (Files): Add m4/unistd_h.m4.
45825         (Makefile.am): Substitute REPLACE_FCHDIR.
45826         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
45827         FCHDIR_REPLACEMENT.
45828         * lib/dup-safer.c (dup_safer): Likewise.
45829         * lib/dup2.c (rpl_dup2): Likewise.
45830         * lib/dup3.c (rpl_dup3): Likewise.
45831         * lib/open.c (rpl_open): Likewise.
45832
45833         fchdir: simplify error handling, and support dup3
45834         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
45835         stdbool, malloc-posix, realloc-posix.
45836         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
45837         (ensure_dirs_slot): Return false on allocation failure.
45838         (rpl_dup2): Delete.
45839         (_gl_register_dup): New function.
45840         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
45841         (_gl_register_fd): Close fd on allocation failure.
45842         * lib/fcntl.in.h (_gl_register_fd): Update signature.
45843         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
45844         prototype.
45845         (rpl_dup2_fchdir): Delete prototype.
45846         * lib/open.c (open): Update caller.
45847         * lib/dup2.c (dup2): Track fchdir metadata.
45848         * lib/dup3.c (dup3): Likewise.
45849         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
45850         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
45851
45852 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45853
45854         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
45855         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
45856         don't pass arguments to AC_OUTPUT.
45857
45858 2009-09-02  Bruno Haible  <bruno@clisp.org>
45859
45860         * modules/mkdtemp (License): Relicense under LGPLv2+.
45861         Reported by Paolo Bonzini.
45862
45863 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45864
45865         Replace uses of obsolete autoconf macros in Jim's modules.
45866         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
45867         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
45868         can evoke a warning from autoconf when run with -Wobsolete
45869         enabled.  They were declared obsolete for good reasons (see
45870         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
45871         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
45872         should not continue using the deprecated macros.
45873         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
45874         obsolete Autoconf macros with modern counterparts.
45875         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
45876         * m4/dos.m4 (gl_AC_DOS): Likewise.
45877         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
45878         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
45879         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
45880         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
45881         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
45882         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
45883         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
45884         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
45885         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
45886         Likewise.
45887         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
45888         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
45889         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
45890         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
45891         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
45892         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
45893
45894 2009-09-01  Eric Blake  <ebb9@byu.net>
45895
45896         fchdir: fix off-by-one bug in previous patch
45897         * lib/fchdir.c (rpl_fstat): Use correct bounds.
45898         (_gl_unregister_fd): Delete useless if.
45899
45900 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
45901
45902         maint.mk: sort the list of syntax-check rules
45903         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
45904         easier to get a sense of progress when the rules are run sequentially
45905         and take a long time.
45906
45907 2009-09-01  Simon Josefsson  <simon@josefsson.org>
45908
45909         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
45910         * modules/netinet_in: Likewise.
45911         * modules/sys_file: Likewise.
45912         * modules/sys_ioctl: Likewise.
45913         * modules/sys_select: Likewise.
45914         * modules/sys_socket: Likewise.
45915         * modules/sys_stat: Likewise.
45916         * modules/sys_time: Likewise.
45917         * modules/sys_times: Likewise.
45918         * modules/sys_utsname: Likewise.
45919         * modules/sys_wait: Likewise.
45920
45921 2009-09-01  Jim Meyering  <meyering@redhat.com>
45922
45923         fts: help ensure that return values are not ignored
45924         * lib/fts_.h (__GNUC_PREREQ): Define.
45925         (__attribute_warn_unused_result__): Define.
45926         (fts_children, fts_close, fts_open, fts_read): Declare with
45927         __attribute_warn_unused_result__.
45928
45929         fts: fts_close now fails also when closing a dir file descriptor fails
45930         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
45931         and propagate to caller, along with errno.
45932
45933         announce-gen: correct formatting in --help output
45934         * build-aux/announce-gen (usage): Move the one-line description in
45935         --help output "up", to where it belongs, just after Usage:.
45936
45937 2009-08-31  Eric Blake  <ebb9@byu.net>
45938
45939         fchdir: port to mingw
45940         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
45941         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
45942         opened, then use a substitute.
45943         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
45944         replacement.
45945         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
45946         (_gl_register_fd): No need to check stat if open already filters
45947         all directories.
45948         (fchdir): Fix error condition to match POSIX.
45949         * modules/fchdir (Depends-on): Add sys_stat.
45950         * doc/posix-functions/open.texi (open): Document the limitation.
45951         * modules/fchdir-tests: New file.
45952         * tests/test-fchdir.c: Likewise.
45953
45954         canonicalize: allow cross-testing from cygwin to mingw
45955         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
45956         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
45957         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
45958         Likewise.
45959         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
45960         target does not support symlinks.
45961         * tests/test-canonicalize-lgpl.sh: Likewise.
45962
45963         chown: avoid compilation warning on mingw
45964         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
45965         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
45966         mingw.
45967         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
45968         * modules/chown (Depends-on): Add errno.
45969
45970 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
45971
45972         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
45973         command.
45974
45975 2009-08-31  Jim Meyering  <meyering@redhat.com>
45976
45977         canonicalize: remove useless initialization
45978         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
45979         initialization of local, "end".
45980
45981 2009-08-30  Bruno Haible  <bruno@clisp.org>
45982
45983         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
45984         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
45985         ENOSYS.
45986
45987 2009-08-30  Bruno Haible  <bruno@clisp.org>
45988
45989         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
45990         /usr/xpg4/bin/tr when it exists.
45991         * tests/test-pipe-filter-gi1.sh: Likewise.
45992
45993 2009-08-30  Bruno Haible  <bruno@clisp.org>
45994
45995         Work around deficient /usr/bin/id program on Solaris.
45996         * tests/test-file-has-acl.sh (ID): New variable.
45997         * tests/test-set-mode-acl.sh (ID): Likewise.
45998         * tests/test-copy-acl.sh (ID): Likewise.
45999         * tests/test-copy-file.sh (ID): Likewise.
46000
46001 2009-08-30  Bruno Haible  <bruno@clisp.org>
46002
46003         New module 'xstriconveh'.
46004         * lib/xstriconveh.h: New file.
46005         * lib/xstriconveh.c: New file.
46006         * modules/xstriconveh: New file.
46007
46008 2009-08-30  Bruno Haible  <bruno@clisp.org>
46009
46010         Make it easier to use mem_cd_iconveh.
46011         * lib/striconveh.h (iconveh_t): New type.
46012         (iconveh_open, iconveh_close): New declarations.
46013         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
46014         with a single 'const iconveh_t *' argument.
46015         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
46016         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
46017         with a single 'const iconveh_t *' argument.
46018         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
46019         * tests/test-striconveh.c (main): Update.
46020         * NEWS: Mention the change.
46021
46022 2009-08-30  Bruno Haible  <bruno@clisp.org>
46023
46024         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
46025         problem.
46026
46027 2009-08-30  Bruno Haible  <bruno@clisp.org>
46028
46029         Work around iconv_open problem on Solaris.
46030         * lib/iconv_open-solaris.gperf: New file.
46031         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
46032         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
46033         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
46034         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
46035         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
46036         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
46037
46038 2009-08-29  Jim Meyering  <meyering@redhat.com>
46039
46040         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
46041         * top/maint.mk (cvs-check): Remove target; it was just an alias
46042         to the better-named vc-diff-check.
46043         (maintainer-distcheck): Remove rule.  It was used only from
46044         the (alpha/beta/major) target, and all of its commands but one
46045         were coreutils-specific.
46046         (vc-dist): Remove rule.
46047         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
46048         Run vc-diff-check, not vc-dist.
46049         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
46050
46051 2009-08-27  Bruno Haible  <bruno@clisp.org>
46052
46053         * tests/test-bitrotate.c (main): Remove test that uses a shift count
46054         of 0.
46055
46056 2009-08-27  Bruno Haible  <bruno@clisp.org>
46057
46058         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
46059         compilers.
46060         * doc/func.texi: Document the SunPRO C bug.
46061
46062 2009-08-27  Bruno Haible  <bruno@clisp.org>
46063
46064         Fix link error on Solaris.
46065         * tests/test-parse-duration.c (xstrdup): Remove function.
46066
46067 2009-08-26  Pádraig Brady  <P@draigbrady.com>
46068
46069         ignore-value: handle pointer types, too
46070         * lib/ignore-value.h (__attribute__): Remove definition.
46071         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
46072         of a more concise and more-often effective "(void) i" statement.
46073         (ignore_ptr): New function to suppress warnings from functions that
46074         return pointers, and to make it explicit that one function doesn't
46075         handle all cases.
46076
46077 2009-08-25  Bruno Haible  <bruno@clisp.org>
46078
46079         dup2: work around a Linux bug.
46080         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
46081         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
46082         * doc/posix-functions/dup2.texi: Mention the Linux bug.
46083         Reported by Simon Josefsson.
46084
46085 2009-08-25  Jim Meyering  <meyering@redhat.com>
46086
46087         libguestfs uses gnulib
46088         * users.txt: Add libguestfs.
46089
46090 2009-08-24  Eric Blake  <ebb9@byu.net>
46091
46092         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
46093         * lib/pipe2.c (includes): Add binary-io.h.
46094         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
46095
46096 2009-08-24  Bruno Haible  <bruno@clisp.org>
46097
46098         Tolerate declared but missing accept4 syscall.
46099         * lib/accept4.c (accept4): Invoke original accept4 function first, if
46100         available.
46101         * lib/sys_socket.in.h (accept4): If the function is already present,
46102         override it.
46103         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
46104         * modules/accept4 (Makefile.am): Compile accept4.c always.
46105         Reported by Paolo Bonzini and Eric Blake.
46106
46107 2009-08-23  Bruno Haible  <bruno@clisp.org>
46108
46109         New module 'accept4'.
46110         * lib/sys_socket.in.h (accept4): New declaration.
46111         * lib/accept4.c: New file.
46112         * m4/accept4.m4: New file.
46113         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
46114         GNULIB_ACCEPT4, HAVE_ACCEPT4.
46115         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
46116         HAVE_ACCEPT4.
46117         * modules/accept4: New file.
46118         * doc/glibc-functions/accept4.texi: Mention the new module.
46119
46120 2009-08-24  Jim Meyering  <meyering@redhat.com>
46121
46122         progname: also set global program_invocation_name, when possible
46123         Before this change, a libtool-enabled program that calls glibc's
46124         error function would report the program name as
46125         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
46126         * modules/progname (configure.ac): Check for a declaration of
46127         program_invocation_name.
46128         * lib/progname.c:  Include <errno.h>.
46129         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
46130         Set program_invocation_name.
46131
46132 2009-08-23  Bruno Haible  <bruno@clisp.org>
46133
46134         * lib/dup3.c: Include <string.h>.
46135
46136 2009-08-23  Bruno Haible  <bruno@clisp.org>
46137
46138         * lib/dup3.c (dup3): Test only once whether the system actually exists.
46139         * lib/pipe2.c (pipe2): Likewise.
46140         Suggested by Eric Blake.
46141
46142 2009-08-23  Bruno Haible  <bruno@clisp.org>
46143
46144         Tolerate declared but missing dup3 syscall.
46145         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
46146         * lib/unistd.in.h (dup3): If the function is already present,
46147         override it.
46148         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
46149         * modules/dup3 (Makefile.am): Compile dup3.c always.
46150         Reported by Paolo Bonzini.
46151
46152 2009-08-23  Bruno Haible  <bruno@clisp.org>
46153
46154         Tolerate declared but missing pipe2 syscall.
46155         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
46156         available.
46157         * lib/unistd.in.h (pipe2): If the function is already present,
46158         override it.
46159         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
46160         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
46161         Reported by Paolo Bonzini.
46162
46163 2009-08-23  Bruno Haible  <bruno@clisp.org>
46164
46165         * lib/pipe2.c (pipe2): Move #ifs inside function.
46166
46167 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46168
46169         quotearg: document limitations of quote_these_too
46170         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
46171         those limitations are created.
46172         * lib/quotearg.h (set_char_quoting): Document that digits and
46173         letters that are special after backslash are not permitted.
46174         (quotearg_char): Cross-reference set_char_quoting documentation.
46175
46176 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
46177
46178         quotearg: implement custom_quoting_style
46179         * lib/quotearg.c: (struct quoting_options): Add left_quote and
46180         right_quote fields.
46181         (set_custom_quoting): New public function.
46182         (quotearg_buffer_restyled): Add left_quote and right_quote
46183         arguments, handle them very much like locale quoting, and update
46184         all uses.
46185         (quotearg_n_custom): New public function.
46186         (quotearg_n_custom_mem): New public function.
46187         (quotearg_custom): New public function.
46188         (quotearg_custom_mem): New public function.
46189         * lib/quotearg.h: Prototype and document new public functions.
46190         (enum quoting_style): For escape_quoting_style and
46191         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
46192         ignored even though they're otherwise like c_quoting_style.
46193         Add custom_quoting_style member and document with comparison to
46194         clocale_quoting_style.
46195         * tests/test-quotearg.c (custom_quotes): New array.
46196         (custom_results): New array.
46197         (main): Extend to test custom quoting.
46198
46199 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46200
46201         quotearg: fix right quote escaping when it's in quote_these_too
46202         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
46203         quote, be sure to prepend only one backslash.
46204         * tests/test-quotearg.c (use_quote_double_quotes): New function.
46205         (main): Test it.
46206
46207 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46208
46209         quotearg-tests: test escaping of embedded locale quotes
46210         * tests/test-quotearg.c (struct result_strings): Add member for
46211         new input.
46212         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
46213         (inputs): Add new input.
46214         (results_g): Add expected results.
46215         (flag_results): Likewise.
46216         (locale_results): Likewise.
46217         (compare_strings): Check those.
46218
46219 2009-08-23  Bruno Haible  <bruno@clisp.org>
46220
46221         Tests for module 'dup3'.
46222         * modules/dup3-tests: New file.
46223         * tests/test-dup3.c: New file.
46224
46225         New module 'dup3'.
46226         * lib/unistd.in.h (dup3): New declaration.
46227         * lib/dup3.c: New file.
46228         * m4/dup3.m4: New file.
46229         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
46230         HAVE_DUP3.
46231         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
46232         * modules/dup3: New file.
46233         * doc/glibc-functions/dup3.texi: Mention the new module.
46234
46235 2009-08-23  Bruno Haible  <bruno@clisp.org>
46236
46237         Tweak the dup2 test.
46238         * tests/test-dup2.c (main): Create the test file empty. Verify that an
46239         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
46240         the test file is still empty. Fix argument order of lseek.
46241
46242 2009-08-23  Bruno Haible  <bruno@clisp.org>
46243
46244         Avoid test link errors when the modules getopt-gnu, gettext are used.
46245         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
46246         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46247
46248 2009-08-23  Bruno Haible  <bruno@clisp.org>
46249
46250         Fix getdtablesize() on mingw.
46251         * lib/getdtablesize.c (getdtablesize): Implement differently.
46252         * lib/unistd.in.h (getdtablesize): Improve comment.
46253
46254 2009-08-23  Bruno Haible  <bruno@clisp.org>
46255
46256         New module 'mkostemp'.
46257         Based on Ulrich Drepper's 2007-08-10 change in glibc.
46258         * lib/stdlib.in.h (mksotemp): New declaration.
46259         * lib/mkostemp.c: New file, from glibc with modifications.
46260         * lib/tempname.h (GT_FILE): Remove outdated comment.
46261         (gen_tempname): Add flags argument.
46262         * lib/tempname.c (__GT_BIGFILE): Remove macro.
46263         (__GT_FILE): Map to 1.
46264         (small_open, large_open): Remove macros.
46265         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
46266         * lib/mkstemp.c (mkstemp): Update.
46267         * lib/mkdtemp.c (mkdtemp): Likewise.
46268         * m4/mkostemp.m4: New file.
46269         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
46270         HAVE_MKOSTEMP.
46271         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
46272         HAVE_MKOSTEMP.
46273         * modules/mkostemp: New file, based on modules/mkstemp.
46274         * doc/glibc-functions/mkostemp.texi: Mention the new module.
46275         * NEWS: Mention the change.
46276
46277 2009-08-23  Bruno Haible  <bruno@clisp.org>
46278
46279         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
46280         Reported by Eric Blake.
46281
46282 2009-08-23  Bruno Haible  <bruno@clisp.org>
46283
46284         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
46285         Reported by Eric Blake.
46286
46287 2009-08-23  Bruno Haible  <bruno@clisp.org>
46288
46289         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
46290         * modules/pipe2 (Depends-on): Likewise.
46291
46292 2009-08-23  Eric Blake  <ebb9@byu.net>
46293
46294         fcntl-h: add O_TTY_INIT support
46295         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
46296         * tests/test-fcntl-h.c (o): Test it.
46297         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46298
46299         fcntl-h: rename from fcntl, in preparation for fcntl(2)
46300         * modules/fcntl: Move <fcntl.h> header replacement...
46301         * modules/fcntl-h: ...to new name, so as not to collide with
46302         like-named function.
46303         * tests/test-fcntl.c: Rename...
46304         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
46305         * modules/fcntl-tests: Rename...
46306         * modules/fcntl-h-tests: ...to this.  Update test file name.
46307         * modules/chdir-long (Depends-on): Update clients.
46308         * modules/chdir-safer (Depends-on): Likewise.
46309         * modules/fcntl-safer (Depends-on): Likewise.
46310         * modules/fts (Depends-on): Likewise.
46311         * modules/mkancesdirs (Depends-on): Likewise.
46312         * modules/mkdir-p (Depends-on): Likewise.
46313         * modules/open (Depends-on): Likewise.
46314         * modules/savewd (Depends-on): Likewise.
46315         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
46316         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46317
46318 2009-08-22  Bruno Haible  <bruno@clisp.org>
46319
46320         * modules/binary-io (License): Relicense under LGPL.
46321         * modules/pipe2 (License): Likewise.
46322
46323 2009-08-22  Bruno Haible  <bruno@clisp.org>
46324
46325         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
46326         return value.
46327         * lib/pipe-filter-gi.c (filter_init): Likewise.
46328         Reported by Eric Blake.
46329
46330 2009-08-22  Bruno Haible  <bruno@clisp.org>
46331
46332         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
46333         * modules/pipe (Depends-on): Add pipe2.
46334
46335 2009-08-22  Bruno Haible  <bruno@clisp.org>
46336
46337         Tests for module 'pipe2'.
46338         * modules/pipe2-tests: New file.
46339         * tests/test-pipe2.c: New file.
46340
46341         New module 'pipe2'.
46342         * lib/unistd.in.h (pipe2): New declaration.
46343         * lib/pipe2.c: New file.
46344         * m4/pipe2.m4: New file.
46345         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
46346         HAVE_PIPE2.
46347         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
46348         * modules/pipe2: New file.
46349         * doc/glibc-functions/pipe2.texi: Mention the new module.
46350
46351 2009-08-22  Bruno Haible  <bruno@clisp.org>
46352
46353         Reference some new glibc functions.
46354         * doc/glibc-functions/accept4.texi: New file.
46355         * doc/glibc-functions/dup3.texi: New file.
46356         * doc/glibc-functions/mkostemp.texi: New file.
46357         * doc/glibc-functions/pipe2.texi: New file.
46358         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
46359         (Glibc sys/socket.h): Refer to accept4.
46360         (Glibc unistd.h): Refer to dup3, pipe2.
46361         Reported by Eric Blake.
46362
46363 2009-08-22  Jim Meyering  <meyering@redhat.com>
46364             Bruno Haible  <bruno@clisp.org>
46365
46366         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
46367         This makes it so packages using automake-1.11's silent-rules option
46368         can print e.g., a single "GEN    configmake.h" line, rather than
46369         the 30+ statements that perform the job.  If you want to see the
46370         actual commands, you can still run "make V=1".
46371         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
46372         so that make output is abbreviated when those variables are defined
46373         appropriately.
46374         * modules/argz: Likewise.
46375         * modules/arpa_inet: Likewise.
46376         * modules/byteswap: Likewise.
46377         * modules/configmake: Likewise.
46378         * modules/dirent: Likewise.
46379         * modules/errno: Likewise.
46380         * modules/fcntl: Likewise.
46381         * modules/float: Likewise.
46382         * modules/fnmatch: Likewise.
46383         * modules/getopt-posix: Likewise.
46384         * modules/glob: Likewise.
46385         * modules/iconv_open: Likewise.
46386         * modules/inttypes: Likewise.
46387         * modules/localcharset: Likewise.
46388         * modules/locale: Likewise.
46389         * modules/math: Likewise.
46390         * modules/netdb: Likewise.
46391         * modules/netinet_in: Likewise.
46392         * modules/poll: Likewise.
46393         * modules/posix_spawnp-tests: Likewise.
46394         * modules/sched: Likewise.
46395         * modules/search: Likewise.
46396         * modules/selinux-h: Likewise.
46397         * modules/signal: Likewise.
46398         * modules/spawn: Likewise.
46399         * modules/stdarg: Likewise.
46400         * modules/stdbool: Likewise.
46401         * modules/stddef: Likewise.
46402         * modules/stdint: Likewise.
46403         * modules/stdio: Likewise.
46404         * modules/stdlib: Likewise.
46405         * modules/string: Likewise.
46406         * modules/strings: Likewise.
46407         * modules/sys_file: Likewise.
46408         * modules/sys_ioctl: Likewise.
46409         * modules/sys_select: Likewise.
46410         * modules/sys_socket: Likewise.
46411         * modules/sys_stat: Likewise.
46412         * modules/sys_time: Likewise.
46413         * modules/sys_times: Likewise.
46414         * modules/sys_utsname: Likewise.
46415         * modules/sys_wait: Likewise.
46416         * modules/sysexits: Likewise.
46417         * modules/time: Likewise.
46418         * modules/unistd: Likewise.
46419         * modules/wchar: Likewise.
46420         * modules/wctype: Likewise.
46421
46422 2009-08-22  Jim Meyering  <meyering@redhat.com>
46423
46424         announce-gen: detect write failure
46425         * build-aux/announce-gen: Add Coda at end.
46426         Remove equivalent-but-more-verbose block at top.
46427
46428 2009-08-19  Akim Demaille  <demaille@gostai.com>
46429
46430         bootstrap: --help to stdout.
46431         * bootstrap (usage): Don't send --help to stderr.
46432         Use a here doc instead of a long string.
46433
46434 2009-08-21  Eric Blake  <ebb9@byu.net>
46435
46436         test-popen-safer: split from test-popen
46437         * tests/test-popen.c (main): Move...
46438         * tests/test-popen.h: ...into new file.
46439         * tests/test-popen-safer2.c: New file.
46440         * modules/popen-tests (Files): Add test-popen.h.
46441         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
46442         Suggested by Bruno Haible.
46443
46444         test-fcntl-safer: split from test-open
46445         * tests/test-open.c (main): Move...
46446         * tests/test-open.h: ...into new file.
46447         * tests/test-fcntl-safer.c: New file.
46448         * modules/open-tests (Files): Add test-open.h.
46449         * modules/fcntl-safer-tests: New file.
46450         Suggested by Bruno Haible.
46451
46452         test-fopen-safer: split from test-fopen
46453         * tests/test-fopen.c (main): Move...
46454         * tests/test-fopen.h: ...into new file.
46455         * tests/test-fopen-safer.c: New file.
46456         * modules/fopen-tests (Files): Add test-fopen.h.
46457         * modules/fopen-safer-tests: New file.
46458         Suggested by Bruno Haible.
46459
46460 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46461
46462         popen-safer: test O_CLOEXEC at run-time.
46463         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
46464
46465 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46466
46467         fcntl: move more flags to the header
46468         * lib/cloexec.c: Do not define FD_CLOEXEC here.
46469         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
46470         * lib/fcntl.in.h: Do both things here.
46471
46472 2009-08-21  Jim Meyering  <meyering@redhat.com>
46473
46474         consistently remove $@-t before redirecting to it
46475         * modules/argz: Remove $@-t and $@ before redirecting to the former.
46476         * modules/alloca-opt: Likewise.
46477         * modules/byteswap: Likewise.
46478         * modules/fnmatch: Likewise.
46479         * modules/getopt-posix: Likewise.
46480         * modules/glob: Likewise.
46481         * modules/poll: Likewise.
46482         * modules/posix_spawnp-tests: Likewise.
46483         * modules/sys_socket: Likewise.
46484         * modules/sysexits: Likewise.
46485
46486 2009-08-21  Eric Blake  <ebb9@byu.net>
46487
46488         popen: simplify access to original popen
46489         * lib/popen.c (rpl_popen): No need to worry about popen being a
46490         macro.
46491         Reported by Bruno Haible.
46492
46493 2009-08-20  Eric Blake  <ebb9@byu.net>
46494
46495         build: avoid some compiler warnings
46496         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
46497         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
46498         type.
46499         (new_exclude_segment, excluded_file_pattern_p)
46500         (excluded_file_name_p): Reduce scope.
46501         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
46502         old-style declaration.
46503
46504 2009-08-20  Simon Josefsson  <simon@josefsson.org>
46505
46506         * tests/test-exclude1.sh: Handle Windows EOL.
46507         * tests/test-exclude2.sh: Likewise.
46508         * tests/test-exclude3.sh: Likewise.
46509         * tests/test-exclude4.sh: Likewise.
46510         * tests/test-exclude5.sh: Likewise.
46511         * tests/test-exclude6.sh: Likewise.
46512         * tests/test-exclude7.sh: Likewise.
46513
46514 2009-08-19  Akim Demaille  <demaille@gostai.com>
46515
46516         bootstrap: find sha1sum when named gsha1sum.
46517         * bootstrap (find_tool): New.
46518         ($SHA1SUM): New.
46519         Use it.
46520
46521 2009-08-20  Jim Meyering  <meyering@redhat.com>
46522
46523         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
46524         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
46525         expression that converts "." in a file name to "\." in the resulting
46526         regexp.  Start with a dummy statement, so that prior shell variable
46527         definitions are expanded portably.  Reported by Simon Josefsson.
46528
46529 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
46530
46531         Fix polling for writeability of a screen buffer.
46532         * lib/poll.c: Distinguish input and screen buffers for the
46533         Win32 implementation.
46534         * lib/select.c: Likewise.
46535
46536 2009-08-19  Eric Blake  <ebb9@byu.net>
46537
46538         popen-safer: prevent popen from clobbering std descriptors
46539         * modules/popen-safer: New file.
46540         * lib/popen-safer.c: Likewise.
46541         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
46542         * lib/stdio--.h (popen): Provide override.
46543         * lib/stdio-safer.h (popen_safer): Provide declaration.
46544         * tests/test-popen.c (includes): Partially test this.
46545         * modules/popen-safer-tests: New file, for more tests.
46546         * tests/test-popen-safer.c: Likewise.
46547         * MODULES.html.sh (file stream based Input/Output): Mention it.
46548
46549         tests: test some of the *-safer modules
46550         * modules/fopen-safer (Depends-on): Add fopen.
46551         * modules/fcntl-safer (Depends-on): Add fcntl.
46552         * modules/stdlib-safer (Depends-on): Add stdlib.
46553         (configure.ac): Set indicator.
46554         * modules/unistd-safer (configure.ac): Likewise.
46555         * modules/tmpfile-safer (configure.ac): Likewise.
46556         (Depends-on): Add tmpfile.
46557         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
46558         active.
46559         * tests/test-fopen.c (includes): Test safer versions when they are
46560         in use.
46561         * tests/test-open.c (includes): Likewise.
46562
46563         popen: fix cygwin 1.5 bug when stdin closed
46564         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
46565         * modules/popen: New file.
46566         * modules/popen-tests: Likewise.
46567         * tests/test-popen.c: Likewise.
46568         * m4/popen.m4: Likewise.
46569         * lib/popen.c: Likewise.
46570         * lib/stdio.in.h (popen): New declaration.
46571         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
46572         * modules/stdio (Makefile.am): Likewise.
46573         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
46574
46575 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
46576
46577         maint.mk: give full control over update-copyright exclusions
46578         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
46579         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
46580         (update-copyright): Don't force inclusion of top-level
46581         ChangeLog.  Don't force exclusion of all COPYING files, but make
46582         them the default exclusion instead.
46583
46584 2009-08-16  Bruno Haible  <bruno@clisp.org>
46585
46586         Fix test failures on Solaris 10.
46587         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
46588         tests when Solaris iconv() is used.
46589         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
46590         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
46591         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
46592         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
46593         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
46594
46595 2009-08-16  Bruno Haible  <bruno@clisp.org>
46596
46597         Fix test failures on Solaris 10.
46598         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
46599         'tr' program and pass it as first argument.
46600         * tests/test-pipe-filter-gi1.sh: Likewise.
46601         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
46602         program as first argument.
46603         * tests/test-pipe-filter-gi1.c (main): Likewise.
46604
46605 2009-08-16  Eric Blake  <ebb9@byu.net>
46606
46607         fpurge: fix previous commits
46608         * modules/fpurge (Makefile.am): Make replacement conditional,
46609         partially reverting 2007-04-29 change; missed in previous
46610         attempt.
46611         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
46612         is missing.
46613
46614 2009-08-16  Bruno Haible  <bruno@clisp.org>
46615
46616         Clarify fpurge's effect on the file position.
46617         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
46618         * tests/test-fpurge.c (main): Make a second pass for checking the file
46619         position.
46620
46621 2009-08-16  Bruno Haible  <bruno@clisp.org>
46622
46623         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
46624         declaration of fpurge is missing.
46625         * tests/test-fpurge.c (main): Check that the file has not more contents
46626         than expected. Close the file before removing it.
46627
46628 2009-08-15  Eric Blake  <ebb9@byu.net>
46629
46630         fpurge: don't wrap working cygwin implementation
46631         * lib/fpurge.c (fpurge): Fix comment typo.
46632         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
46633         1.7 to avoid replacement.
46634         * tests/test-fpurge.c (main): Enhance test.
46635
46636 2009-08-15  Eric Blake  <ebb9@byu.net>
46637         and Jim Meyering  <meyering@redhat.com>
46638
46639         test-update-copyright: skip if perl is insufficient
46640         * tests/test-update-copyright.sh: Failure to run maintainer tool
46641         should not cause testsuite failure on cygwin 1.5.
46642
46643 2009-08-14  Eric Blake  <ebb9@byu.net>
46644
46645         doc: mention more functions added in cygwin 1.7.0
46646         * doc/posix-headers/limits.texi (limits.h): Update for recent
46647         cygwin additions.
46648         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
46649         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
46650         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
46651         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
46652         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
46653
46654 2009-08-14  Eric Blake  <ebb9@byu.net>
46655
46656         maint.mk: simplify update-copyright rule
46657         * top/maint.mk (update-copyright-local): Delete, and document how
46658         to do it in cfg.mk instead.
46659         (update-copyright-exclude-regexp): Delete, and document how to do
46660         it in .x-update-copyright instead.
46661         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
46662         exclude ChangeLog.
46663
46664 2009-08-14  Bruno Haible  <bruno@clisp.org>
46665
46666         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
46667
46668 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46669
46670         maint.mk: support update-copyright-env
46671         * top/maint.mk (update-copyright-env): Define place-holder.
46672         (update-copyright): Expand $(update-copyright-env) before
46673         invoking update-copyright.
46674
46675 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46676
46677         update-copyright: implement forced reformatting
46678         * build-aux/update-copyright: Implement and document
46679         UPDATE_COPYRIGHT_FORCE.
46680         * tests/test-update-copyright.sh: Test it.
46681
46682 2009-08-14  Eric Blake  <ebb9@byu.net>
46683         and Bruno Haible  <bruno@clisp.org>
46684
46685         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
46686         * tests/test-locale.c: Revert previous patch related to NULL.
46687         * tests/test-stdio.c: Likewise.
46688         * tests/test-stdlib.c: Likewise.
46689         * tests/test-string.c: Likewise.
46690         * tests/test-unistd.c: Likewise.
46691         * modules/time-tests (Depends-on): Add verify.
46692         * modules/wchar-tests (Depends-on): Likewise.
46693         * tests/test-time.c: Test for NULL compliance.
46694         * tests/test-wchar.c: Likewise.
46695         * modules/locale (Depends-on): Add stddef.
46696         * modules/stdio (Depends-on): Likewise.
46697         * modules/stdlib (Depends-on): Likewise.
46698         * modules/string (Depends-on): Likewise.
46699         * modules/time (Depends-on): Likewise.
46700         * modules/unistd (Depends-on): Likewise.
46701         * modules/wchar (Depends-on): Likewise.
46702         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
46703         * lib/stdlib.in.h (includes): Likewise.
46704         * lib/string.in.h (includes): Likewise.
46705         * lib/time.in.h (includes): Likewise.
46706         * lib/unistd.in.h (includes): Likewise.
46707         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
46708         replaced.
46709         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
46710         * m4/stddef_h.m4: New file.
46711         * modules/stddef: Likewise.
46712         * lib/stddef.in.h: Likewise.
46713         * modules/stddef-tests: Likewise.
46714         * tests/test-stddef.c: Likewise.
46715         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
46716         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
46717         * doc/posix-headers/locale.texi (locale.h): Likewise.
46718         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
46719         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
46720         * doc/posix-headers/string.texi (string.h): Likewise.
46721         * doc/posix-headers/time.texi (time.h): Likewise.
46722         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
46723         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
46724
46725 2009-08-14  Eric Blake  <ebb9@byu.net>
46726
46727         doc: improve git diff of texinfo files
46728         * .gitattributes: Add rule for *.texi files, with hint on how to
46729         use it.
46730         Copied from m4, and based on a report by Bruno Haible.
46731
46732 2009-08-14  Bruno Haible  <bruno@clisp.org>
46733
46734         Disable multithread support by default on Cygwin 1.5.x for real.
46735         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
46736
46737 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46738
46739         update-copyright: much ado about intervals
46740         * build-aux/update-copyright: Implement and document
46741         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
46742         of copyright year intervals.
46743         Also, document UPDATE_COPYRIGHT_YEAR.
46744         * tests/test-update-copyright.sh: Test it.
46745
46746         update-copyright: convert 2-digit to 4-digit years
46747         * build-aux/update-copyright: Implement and document.
46748         * tests/test-update-copyright.sh: Update.
46749
46750 2009-08-14  Jim Meyering  <meyering@redhat.com>
46751
46752         test-exclude: avoid coreutils "make check" failure
46753         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
46754         just as in test-argmatch.c.
46755
46756 2009-08-13  Eric Blake  <ebb9@byu.net>
46757
46758         test-dup2: fix bad assumption
46759         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
46760         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
46761
46762         test-version-etc: fix CRLF portability issue
46763         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
46764         recognize \r.
46765         * tests/test-argp-version-etc-1.sh: Likewise.
46766
46767         getopt: update client modules
46768         * modules/argp (Depends-on): Use getopt-gnu.
46769         * modules/git-merge-changelog (Depends-on): Likewise.
46770         * modules/long-options (Depends-on): Likewise.
46771         * modules/xstrtol (Depends-on): Likewise.
46772
46773 2009-08-13  Simon Josefsson  <simon@josefsson.org>
46774
46775         * tests/test-version-etc.sh: Don't fail on different
46776         project/version.  Don't fail on CRLF differences.  Rewrite to use
46777         multiple -e instead of multiple sed forks, suggested by Eric Blake
46778         <ebb9@byu.net>.
46779         * tests/test-argp-version-etc-1.sh: Likewise.
46780
46781 2009-08-13  Simon Josefsson  <simon@josefsson.org>
46782
46783         * tests/test-version-etc.sh: Don't fail on different
46784         project/version.
46785
46786 2009-08-12  Bruno Haible  <bruno@clisp.org>
46787
46788         Tests for modules 'getopt-posix', 'getopt-gnu'.
46789         * modules/getopt-posix-tests: New file.
46790         * tests/test-getopt.c: New file.
46791         * tests/test-getopt.h: New file.
46792         * tests/test-getopt_long.h: New file.
46793
46794         New modules 'getopt-posix', 'getopt-gnu'.
46795         * modules/getopt-gnu: New file, renamed from modules/getopt.
46796         * modules/getopt-posix: New file.
46797         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
46798         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
46799         (gl_GETOPT): Remove macro.
46800         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
46801         Disable the test against BSD systems that declare optreset. Test
46802         against mingw bug. Test against lack of support of optional arguments
46803         on many platforms.
46804         * doc/glibc-headers/getopt.texi: Update module name and list of
46805         relevant platforms.
46806         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
46807         'getopt-gnu' and more portability problems.
46808         * NEWS: Mention the changes.
46809
46810 2009-08-12  Bruno Haible  <bruno@clisp.org>
46811
46812         Ensure that optarg etc. get declared by <unistd.h>.
46813         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
46814         AC_USE_SYSTEM_EXTENSIONS.
46815         * modules/getopt (Depends-on): Add 'extensions'.
46816
46817 2009-08-12  Bruno Haible  <bruno@clisp.org>
46818
46819         Avoid test link errors.
46820         * modules/pipe-filter-ii-tests (Makefile.am): Define
46821         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
46822         * modules/pipe-filter-gi-tests (Makefile.am): Define
46823         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
46824         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46825
46826 2009-08-12  Bruno Haible  <bruno@clisp.org>
46827
46828         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
46829         gl_GETOPT_SUBSTITUTE before.
46830         (gl_GETOPT): Use it.
46831         * m4/argp.m4 (gl_ARGP): Update.
46832         Reported by Sergey Poznyakoff.
46833
46834         * m4/getopt.m4: Reorder macros.
46835         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
46836         (gl_GETOPT_SUBSTITUTE): Remove macro.
46837
46838 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46839
46840         Minor improvement in gitlog-to-changelog
46841
46842         * build-aux/gitlog-to-changelog: New option `--format' makes
46843         output format string configurable.
46844
46845 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46846
46847         Optimize exclude: use hash tables for non-wildcard patterns.
46848
46849         * lib/exclude.c: Include hash.h and mbuiter.h
46850         (struct exclude_pattern, exclude_segment): New data types.
46851         (struct exclude): Rewrite.
46852         (fnmatch_pattern_has_wildcards): New function.
46853         (new_exclude_segment, free_exclude_segment): New functions.
46854         (excluded_file_pattern_p, excluded_file_name_p): New functions.
46855         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
46856         * lib/exclude.h (is_fnmatch_pattern): New prototype.
46857         * modules/exclude: Depend on hash and mbuiter.
46858
46859         * modules/exclude-tests: New file.
46860         * tests/test-exclude.c: New file.
46861         * tests/test-exclude1.sh: New file.
46862         * tests/test-exclude2.sh: New file.
46863         * tests/test-exclude3.sh: New file.
46864         * tests/test-exclude4.sh: New file.
46865         * tests/test-exclude5.sh: New file.
46866         * tests/test-exclude6.sh: New file.
46867         * tests/test-exclude7.sh: New file.
46868
46869 2009-08-12  Bruno Haible  <bruno@clisp.org>
46870
46871         Ensure that getopt() gets declared by <unistd.h>.
46872         * lib/unistd.in.h: Conditionally include getopt.h.
46873         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
46874         Set GNULIB_UNISTD_H_GETOPT.
46875         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46876         GNULIB_UNISTD_H_GETOPT.
46877         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
46878
46879 2009-08-12  Bruno Haible  <bruno@clisp.org>
46880
46881         Clarify logic.
46882         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
46883         gl_replace_getopt instead of GETOPT_H.
46884
46885 2009-08-12  Bruno Haible  <bruno@clisp.org>
46886
46887         * m4/getopt.m4: Add comments.
46888
46889 2009-08-12  Bruno Haible  <bruno@clisp.org>
46890
46891         Disable multithread support by default on Cygwin 1.5.x.
46892         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
46893         set gl_use_threads=no if not specified otherwise.
46894
46895 2009-08-11  Bruno Haible  <bruno@clisp.org>
46896
46897         Avoid compilation error on NetBSD 5.0.
46898         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
46899         * tests/test-stdio.c: Likewise.
46900         * tests/test-stdlib.c: Likewise.
46901         * tests/test-string.c: Likewise.
46902         * tests/test-unistd.c: Likewise.
46903         Reported by Greg Troxel <gdt@ir.bbn.com>
46904         at <https://savannah.gnu.org/support/?106973>.
46905
46906 2009-08-11  Bruno Haible  <bruno@clisp.org>
46907
46908         * modules/dup2-tests (Depends-on): Remove close.
46909
46910         Undo 2009-07-19 commit.
46911         * modules/acl-tests (Depends-on): Remove close.
46912         * modules/binary-io-tests (Depends-on): Likewise.
46913         * modules/closein-tests (Depends-on): Likewise.
46914         * modules/flock-tests (Depends-on): Likewise.
46915         * modules/fsync-tests (Depends-on): Likewise.
46916         * modules/lseek-tests (Depends-on): Likewise.
46917         * modules/pipe-tests (Depends-on): Likewise.
46918         * modules/posix_spawn-tests (Depends-on): Likewise.
46919         * modules/posix_spawnp-tests (Depends-on): Likewise.
46920         * modules/stat-time-tests (Depends-on): Likewise.
46921         * modules/yesno-tests (Depends-on): Likewise.
46922
46923 2009-08-10  Bruno Haible  <bruno@clisp.org>
46924
46925         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
46926
46927 2009-08-10  Bruno Haible  <bruno@clisp.org>
46928
46929         Fix a gcc warning.
46930         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
46931
46932 2009-08-10  Bruno Haible  <bruno@clisp.org>
46933
46934         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
46935         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
46936         not only the first time.
46937         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
46938         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
46939         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
46940         is 1, not only the the first time.
46941
46942 2009-08-10  Bruno Haible  <bruno@clisp.org>
46943
46944         Make it possible to use module 'gethostname' without module 'close'.
46945         * lib/unistd.in.h (close): Evoke a link error only if
46946         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
46947         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46948         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46949         * modules/unistd (Makefile.am): Substitute
46950         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46951         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
46952         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
46953         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
46954         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46955         * modules/sys_ioctl (Makefile.am): Substitute
46956         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46957         * modules/socket (configure.ac): On native Windows, set
46958         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
46959         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46960         Reported by Sam Steingold <sds@gnu.org>.
46961
46962 2009-08-10  Bruno Haible  <bruno@clisp.org>
46963
46964         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
46965         * modules/ioctl (configure.ac): Likewise.
46966
46967 2009-08-10  Bruno Haible  <bruno@clisp.org>
46968
46969         Avoid collision between gnulib wrapper and libintl wrapper.
46970         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
46971         already defined in intl/printf.c.
46972         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
46973         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
46974
46975 2009-08-09  Bruno Haible  <bruno@clisp.org>
46976
46977         Make <sys/select.h> really self-contained, also on Solaris 10.
46978         * lib/sys_select.in.h: Include <string.h>.
46979         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
46980         Solaris 10 problem.
46981         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
46982         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
46983         Reported by Jim Meyering.
46984
46985 2009-08-09  Bruno Haible  <bruno@clisp.org>
46986
46987         Avoid warnings from 'aclocal' that are due to a use of macro name
46988         AM_XGETTEXT_OPTION that is not defined in automake.
46989         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
46990         automake.
46991         * modules/error (configure.ac): Likewise.
46992         * modules/propername (configure.ac): Likewise.
46993         * modules/vasprintf (configure.ac): Likewise.
46994         * modules/verror (configure.ac): Likewise.
46995         * modules/xprintf (configure.ac): Likewise.
46996         * modules/xvasprintf (configure.ac): Likewise.
46997
46998 2009-08-08  Bruno Haible  <bruno@clisp.org>
46999
47000         Avoid compilation error in C++ mode.
47001         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
47002         Reported by Sam Steingold <sds@gnu.org>.
47003
47004 2009-08-08  Bruno Haible  <bruno@clisp.org>
47005
47006         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
47007         for the various Unix platforms.
47008         * doc/posix-headers/limits.texi: Update platforms list regarding
47009         HOST_NAME_MAX.
47010         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47011
47012 2009-08-07  Jim Meyering  <meyering@redhat.com>
47013
47014         selinux-at: fix typo in a comment
47015         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
47016         Spotted by Paolo Bonzini.
47017
47018         selinux-at: remove redundant m4 code, add documentation
47019         * modules/selinux-at (configure.ac): Remove redundant code.
47020         LIB_SELINUX is already set via the dependent module, selinux-h.
47021         (Include): Add quotes around selinux-at.h.
47022         * lib/selinux-at.h: Add documentation.
47023         Reported by Bruno Haible in
47024         http://marc.info/?l=gnulib-bug&m=124958988300749
47025
47026 2009-08-07  Bruno Haible  <bruno@clisp.org>
47027
47028         Avoid link error on MacOS X 10.3 and 10.4.
47029         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
47030         on non-ELF systems.
47031         * lib/argp-pv.c (argp_program_version): Likewise.
47032         Reported by Simon Josefsson.
47033
47034 2009-08-07  Simon Josefsson  <simon@josefsson.org>
47035
47036         * tests/test-version-etc.sh: Use $EXEEXT.
47037
47038 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
47039
47040         update-copyright: update documentation to point to maint.mk
47041         * build-aux/update-copyright: Here.
47042
47043 2009-08-06  Jim Meyering  <meyering@redhat.com>
47044
47045         maint.mk: support update-copyright-local
47046         * top/maint.mk (update-copyright-local): Define place-holder.
47047         (update-copyright): Depend on $(update-copyright-local).
47048
47049 2009-08-06  Jim Meyering  <meyering@redhat.com>
47050
47051         selinux-at: new module
47052         Initially written for coreutils, this module will soon be
47053         used by findutils, too.
47054         * MODULES.html.sh [Misc]: Add selinux-at.
47055         * lib/selinux-at.h: New file, from coreutils.
47056         * lib/selinux-at.c: Likewise.
47057         * modules/selinux-at: Likewise.
47058         (License): Change from LGPL to GPL, since it depends
47059         on the GPL'd openat module.
47060
47061         doc: update README
47062         * README: Remove references to cogito.
47063         Remove cvs-repo-updating instructions from 2007.
47064         Don't imply that CVS is better if you have limited disk space.
47065
47066 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47067
47068         update-copyright: support C-style comments
47069         * build-aux/update-copyright: Implement and document.
47070         * tests/test-update-copyright.sh: Test.
47071
47072 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47073
47074         update-copyright: support omitted "(C)"
47075         * build-aux/update-copyright: Implement and document.  Also,
47076         allow variable whitespace before "(C)".
47077         * tests/test-update-copyright.sh: Test.
47078
47079 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47080
47081         update-copyright: don't trip on non-FSF copyright statements
47082         * build-aux/update-copyright: Fix so that the first correctly
47083         formatted FSF copyright statement is recognized no matter what
47084         appears before it.  Update documentation.
47085         * tests/test-update-copyright.sh: Test that.
47086
47087 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47088
47089         update-copyright: clean up code a little
47090         * build-aux/update-copyright: Append "_re" to the name of any
47091         variable holding a regular expression.
47092         Replace "old" and "new" with "stmt" in variable names.
47093         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
47094         handled correctly.
47095         Format code more consistently.
47096
47097 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47098
47099         update-copyright-tests: improve portability
47100         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
47101         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
47102
47103 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47104
47105         update-copyright: support @copyright{} and &copy;
47106         * build-aux/update-copyright: Implement and document.
47107         * tests/test-update-copyright.sh: Test.
47108
47109 2009-08-04  Jim Meyering  <meyering@redhat.com>
47110
47111         update-copyright-tests: correctly test EOL=\r\n handling
47112         * tests/test-update-copyright.sh: Put \r at the end of some lines
47113         for the dos-eol tests.  Based on a patch by Joel E. Denny.
47114
47115         maint.mk: make update-copyright exclusion list more configurable
47116         * top/maint.mk (update-copyright): Default to excluding COPYING,
47117         but allow an override, in case someone does want to update that file.
47118
47119         maint.mk: don't update copyright date in COPYING
47120         * top/maint.mk (update-copyright): Exclude COPYING.
47121
47122         maint.mk: add a copyright-updating rule
47123         * top/maint.mk (update-copyright): New rule.
47124         Derived from coreutils/Makefile.am.
47125
47126         update-copyright: rename some variables
47127         * build-aux/update-copyright: Rename a few variables for clarity.
47128         Tweak syntax.  List Joel E. Denny as coauthor.
47129
47130 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47131
47132         update-copyright: fix bug for 2-digit last year and add tests
47133         * build-aux/update-copyright: Fix bug.
47134         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
47135         specified.
47136         * modules/update-copyright-tests: New
47137         * tests/test-update-copyright.sh: New.
47138
47139 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47140
47141         update-copyright: handle leading tabs in line prefix
47142         * build-aux/update-copyright: Count leading tabs as 8 spaces
47143         when computing margin.  This helps with the formatting of
47144         ChangeLogs, for example.
47145         Fix documentation a little.
47146
47147 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47148
47149         update-copyright: support EOL=\r\n
47150         * build-aux/update-copyright: Implement that.
47151
47152 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47153
47154         update-copyright: automatically format copyright statements
47155         * build-aux/update-copyright: Implement that.
47156         Also, be a little more predictable and safer by always failing
47157         when the full copyright format is not perfectly recognized as an
47158         unbroken whole.  Discussed at
47159         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
47160         Rewrite documentation.
47161
47162 2009-08-03  Bruno Haible  <bruno@clisp.org>
47163
47164         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
47165
47166 2009-08-02  Bruno Haible  <bruno@clisp.org>
47167
47168         Tests for module 'uname'.
47169         * modules/uname-tests: New file.
47170         * tests/test-uname.c: New file.
47171
47172         New module 'uname'.
47173         * lib/uname.c: New file.
47174         * m4/uname.m4: New file.
47175         * modules/uname: New file.
47176         * doc/posix-functions/uname.texi: Mention the new module.
47177
47178 2009-08-02  Bruno Haible  <bruno@clisp.org>
47179
47180         Tests for module 'sys_utsname'.
47181         * modules/sys_utsname-tests: New file.
47182         * tests/test-sys_utsname.c: New file.
47183
47184         New module 'sys_utsname'.
47185         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
47186         * m4/sys_utsname_h.m4: New file.
47187         * modules/sys_utsname: New file.
47188         * doc/posix-headers/sys_utsname.texi: Mention the new module.
47189
47190 2009-08-02  Bruno Haible  <bruno@clisp.org>
47191
47192         Implicitly initialize the sockets library.
47193         * lib/gethostname.c: Include sockets.h.
47194         (rpl_gethostname): Invoke gl_sockets_startup.
47195         * lib/socket.c: Include sockets.h.
47196         (rpl_socket): Invoke gl_sockets_startup.
47197         * modules/gethostname (Depends-on): Add sockets.
47198         * modules/socket (Depends-on): Likewise.
47199         * tests/test-poll.c: Don't include sockets.h.
47200         (main): Don't invoke gl_sockets_startup.
47201         * tests/test-select.c: Don't include sockets.h.
47202         (main): Don't invoke gl_sockets_startup.
47203
47204 2009-08-02  Bruno Haible  <bruno@clisp.org>
47205
47206         Allow multiple calls to gl_sockets_startup.
47207         * lib/sockets.c (initialized_sockets_version): New variable.
47208         (gl_sockets_startup): Do nothing if already called for this or a higher
47209         version.
47210         (gl_sockets_cleanup): Reset initialized_sockets_version.
47211
47212 2009-08-03  Simon Josefsson  <simon@josefsson.org>
47213
47214         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
47215         different project/version.
47216
47217 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
47218             Bruno Haible  <bruno@clisp.org>
47219
47220         Tests for module 'pipe-filter-gi'.
47221         * modules/pipe-filter-gi-tests: New file.
47222         * tests/test-pipe-filter-gi1.sh: New file.
47223         * tests/test-pipe-filter-gi1.c: New file.
47224         * tests/test-pipe-filter-gi2.sh: New file.
47225         * tests/test-pipe-filter-gi2-main.c: New file.
47226         * tests/test-pipe-filter-gi2-child.c: New file.
47227
47228         New module 'pipe-filter-gi'.
47229         * lib/pipe-filter-gi.c: New file.
47230         * modules/pipe-filter-gi: New file.
47231
47232 2009-08-02  Bruno Haible  <bruno@clisp.org>
47233             Paolo Bonzini  <bonzini@gnu.org>
47234
47235         Tests for module 'pipe-filter-ii'.
47236         * modules/pipe-filter-ii-tests: New file.
47237         * tests/test-pipe-filter-ii1.sh: New file.
47238         * tests/test-pipe-filter-ii1.c: New file.
47239         * tests/test-pipe-filter-ii2.sh: New file.
47240         * tests/test-pipe-filter-ii2-main.c: New file.
47241         * tests/test-pipe-filter-ii2-child.c: New file.
47242
47243         New module 'pipe-filter-ii'.
47244         * lib/pipe-filter.h: New file.
47245         * lib/pipe-filter-ii.c: New file.
47246         * lib/pipe-filter-aux.h: New file.
47247         * modules/pipe-filter-ii: New file.
47248
47249 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47250
47251         * lib/gc-libgcrypt.c: Change copyright to FSF.
47252         * lib/gc-gnulib.c: Likewise.
47253
47254 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
47255
47256         * lib/gethostname.c: Include limits.h.
47257
47258 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47259             Bruno Haible  <bruno@clisp.org>
47260
47261         Ensure HOST_NAME_MAX as part of the gethostname module.
47262         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
47263         define also HOST_NAME_MAX.
47264         * tests/test-gethostname.c: Include <limits.h>.
47265         (main): Check also HOST_NAME_MAX.
47266         * doc/posix-headers/limits.texi: Document the mingw problem.
47267
47268 2009-08-02  Bruno Haible  <bruno@clisp.org>
47269
47270         * lib/gethostname.c (gethostname): Fix handling of large len argument.
47271         Add comments.
47272
47273 2009-03-31  Simon Josefsson  <simon@josefsson.org>
47274
47275         * lib/gethostname.c: Add Windows wrapper.
47276         * m4/gethostname.m4: Look for gethostname in -lws2_32.
47277         * modules/gethostname: Depend on sys_socket & errno, for also
47278         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
47279         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
47280
47281 2009-07-31  Jim Meyering  <meyering@redhat.com>
47282
47283         getloadavg: fix symbol name in comment
47284         * lib/getloadavg.c: Correct a typo I introduced when adding
47285         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
47286         Matt Kraai spotted the problem.
47287
47288 2009-07-29  Matt Kraai  <mkraai@beckman.com>
47289
47290         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
47291         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
47292         code also if ! defined N_NAME_POINTER.
47293         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
47294         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
47295         but the n_name member is a 12-byte array.
47296
47297 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
47298
47299         update-copyright: generalize comment handling
47300         * build-aux/update-copyright: Handle copyright statements
47301         within more comment styles.
47302         Document usage.
47303         Report any file with an external copyright holder or parse failure.
47304
47305 2009-07-29  Jim Meyering  <meyering@redhat.com>
47306
47307         mktime: correct setting of REPLACE_MKTIME
47308         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
47309
47310         update-copyright: new module
47311         * modules/update-copyright: New file.
47312         * build-aux/update-copyright: New file.
47313         * MODULES.html.sh (maint+release support): Add update-copyright.
47314
47315 2009-07-27  Bruno Haible  <bruno@clisp.org>
47316
47317         Fix compilation error when <ctime> is used and mktime is replaced.
47318         * lib/time.in.h (mktime): New declaration.
47319         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
47320         REPLACE_MKTIME instead of defining mktime in config.h.
47321         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
47322         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
47323         Reported by Ross McFarland <rwmcfa1@neces.com>.
47324
47325 2009-07-27  Bruno Haible  <bruno@clisp.org>
47326
47327         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
47328         Reported by Matt Kraai <mkraai@beckman.com>.
47329
47330 2009-07-25  Jim Meyering  <meyering@redhat.com>
47331
47332         maint.mk: avoid warnings about missing files
47333         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
47334         diagnostic when .prev-version does not exist.
47335         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
47336         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
47337         nonexistent cfg.mk.
47338         Suggestions from Simon Josefsson.
47339
47340 2009-07-25  Bruno Haible  <bruno@clisp.org>
47341
47342         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
47343         defined as macros. Needed on QNX 6.4.1.
47344         Reported by Matt Kraai <mkraai@beckman.com>.
47345
47346 2009-07-23  Jim Meyering  <meyering@redhat.com>
47347
47348         maint.mk: invoke "make dist" with a working value of XZ_OPT
47349         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
47350
47351 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
47352
47353         Make fseeko.c compile on QNX.
47354         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
47355
47356 2009-07-22  Peter Simons  <simons@cryp.to>
47357
47358         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
47359         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
47360         * lib/md4.h: Likewise.
47361         * lib/md5.h: Likewise.
47362         * lib/sha1.h: Likewise.
47363         * lib/sha256.h: Likewise.
47364         * lib/sha512.h: Likewise.
47365
47366         tests-sha1: don't assign literal string to 'char *' variable
47367         * tests/test-sha1.c (main): Declare locals with "const" to match
47368         attributes of the right hand side.
47369
47370 2009-07-21  Eric Blake  <ebb9@byu.net>
47371
47372         dup2: fix more mingw problems
47373         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
47374         fd to itself.
47375         * doc/posix-functions/dup2.texi (dup2): Document the bug.
47376         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
47377         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
47378         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
47379         care of mingw bugs.
47380
47381 2009-07-21  Jim Meyering  <meyering@redhat.com>
47382
47383         vc-list-files: avoid failure when /bin/sh is dash
47384         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
47385         On some Debian based systems, /bin/sh is a symlink to dash, and running
47386         this command would omit the "/" following each 'tests' prefix:
47387           dash -x build-aux/vc-list-files -C . tests
47388         That is because bash and dash work differently:
47389           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
47390           bash ok
47391           dash odd
47392
47393 2009-07-21  Eric Blake  <ebb9@byu.net>
47394
47395         dup2-tests: test previous patch
47396         * modules/dup2-tests: New file.
47397         * tests/test-dup2.c: Likewise.
47398         * tests/test-open.c (main): Avoid unspecified behavior.
47399         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
47400         test.
47401
47402         dup2: work around mingw and cygwin 1.5 bug
47403         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
47404         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
47405         * modules/unistd (Makefile.am): Substitute it.
47406         * lib/unistd.in.h (dup2): Declare the replacement.
47407         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
47408         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
47409         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
47410         * modules/execute (Depends-on): Add dup2.
47411         * modules/fseterr (Depends-on): Likewise.
47412         * modules/pipe (Depends-on): Likewise.
47413         * modules/posix_spawn-internal (Depends-on): Likewise.
47414
47415 2009-07-21  Bruno Haible  <bruno@clisp.org>
47416
47417         * modules/.gitattributes: New file.
47418
47419 2009-07-20  Bruno Haible  <bruno@clisp.org>
47420
47421         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
47422         (main): Use it.
47423
47424 2009-07-20  Eric Blake  <ebb9@byu.net>
47425
47426         test-pipe: make a bit more robust.
47427         * tests/test-pipe.c (myerr): Allow error messages regardless of
47428         what we do to stderr.
47429         (test_pipe): Rearrange to avoid deadlock.
47430         (child_main): Try a larger read, to ensure we avoided deadlock.
47431         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
47432         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
47433         if misused.
47434
47435 2009-07-19  Jim Meyering  <meyering@redhat.com>
47436
47437         fts: avoid false-positive cycle-detection
47438         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
47439         for each new command line argument.
47440
47441 2009-07-19  Bruno Haible  <bruno@clisp.org>
47442
47443         Fix build error on mingw with the modules sys_select and unistd.
47444         * modules/acl-tests (Depends-on): Add close.
47445         * modules/binary-io-tests (Depends-on): Likewise.
47446         * modules/closein-tests (Depends-on): Likewise.
47447         * modules/flock-tests (Depends-on): Likewise.
47448         * modules/fsync-tests (Depends-on): Likewise.
47449         * modules/lseek-tests (Depends-on): Likewise.
47450         * modules/pipe-tests (Depends-on): Likewise.
47451         * modules/posix_spawn-tests (Depends-on): Likewise.
47452         * modules/posix_spawnp-tests (Depends-on): Likewise.
47453         * modules/stat-time-tests (Depends-on): Likewise.
47454         * modules/yesno-tests (Depends-on): Likewise.
47455
47456 2009-07-19  Bruno Haible  <bruno@clisp.org>
47457
47458         Unify conditionals.
47459         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
47460         macros, not at the compiler macros.
47461         * lib/pipe.c: Likewise.
47462         * lib/execute.c: Likewise.
47463         * lib/spawni.c: Likewise.
47464
47465 2009-07-19  Bruno Haible  <bruno@clisp.org>
47466
47467         Fix handling of closed stdin/stdout/stderr on mingw.
47468         * lib/w32spawn.h: Include unistd.h.
47469         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
47470         file descriptor with O_NOINHERIT flag.
47471         (fd_safer_noinherit): New function, based on fd-safer.c.
47472         (dup_safer_noinherit): New function, based on dup-safer.c.
47473         (undup_safer_noinherit): New function.
47474         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
47475         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
47476         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
47477         instead of fd_safer.
47478         * tests/test-pipe.c: Include <windows.h>.
47479         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
47480         result.
47481
47482         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
47483         from main.
47484         (test_pipe): Pass an extra argument for disambiguation.
47485         (main): Invoke parent_main or child_main.
47486
47487         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
47488         consistently.
47489
47490 2009-07-18  Eric Blake  <ebb9@byu.net>
47491
47492         test-pipe: fix mingw build
47493         * tests/test-pipe.c (main): Avoid fcntl on mingw.
47494
47495 2009-07-18  Bruno Haible  <bruno@clisp.org>
47496
47497         * modules/pipe-tests (Makefile.am): Fix typo.
47498
47499 2009-07-18  Eric Blake  <ebb9@byu.net>
47500
47501         error: fix mingw build
47502         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
47503         Reported by Bruno Haible.
47504
47505         error: avoid undefined use of stdout
47506         * lib/error.c (error, error_at_line): Check that fd 1 is open
47507         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
47508         is handling faults and the close_stdout module wants to report the
47509         detection of closed stdout as an error.
47510
47511 2009-07-17  Eric Blake  <ebb9@byu.net>
47512
47513         pipe: be robust in face of closed fds
47514         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
47515         should cause child to misbehave.
47516         * modules/pipe-tests: New module.
47517         * tests/test-pipe.c: New file.
47518         * tests/test-pipe.sh: New file.
47519         Reported by Akim Demaille.
47520
47521 2009-07-14  Bruno Haible  <bruno@clisp.org>
47522
47523         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
47524         Reported by anonymous kc.
47525
47526 2009-07-07  Jim Meyering  <meyering@redhat.com>
47527
47528         maint.mk: don't look for translatable strings in *.m4 or *.mk
47529         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
47530         when searching for translatable strings.
47531
47532 2009-07-05  Jim Meyering  <meyering@redhat.com>
47533
47534         remove superfluous parentheses in STREQ definition
47535         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
47536         * lib/getugroups.c (STREQ): Likewise.
47537         * lib/fnmatch.c (STREQ): Likewise.
47538         Spotted by Bruno Haible.
47539
47540 2009-07-04  Jim Meyering  <meyering@redhat.com>
47541
47542         argv-iter: new module
47543         * MODULES.html.sh: Add argv-iter.
47544         * lib/argv-iter.c, lib/argv-iter.h: New files.
47545         * modules/argv-iter: New file.
47546         * modules/argv-iter-tests: New file.
47547         * tests/test-argv-iter.c: Test it.
47548
47549 2009-07-04  Bruno Haible  <bruno@clisp.org>
47550
47551         Fix assertion.
47552         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
47553         contains more exact copies of a given entry than file2, leave the extra
47554         copies unpaired rather than aborting.
47555         Reported by Eric Blake.
47556
47557 2009-07-02  Bruno Haible  <bruno@clisp.org>
47558
47559         Speedup git-merge-changelog for git cherry-pick.
47560         * lib/git-merge-changelog.c (struct entries_mapping): New type.
47561         (entries_mapping_get): New function, extracted from compute_mapping.
47562         (entries_mapping_reverse_get): New function.
47563         (compute_mapping): Add a 'full' argument. Return the result in a
47564         'struct entries_mapping'.
47565         (main): Update. Access the mappings through entries_mapping_get.
47566         Reported by Eric Blake.
47567
47568 2009-07-02  Bruno Haible  <bruno@clisp.org>
47569
47570         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
47571         best_i.
47572
47573 2009-07-02  Bruno Haible  <bruno@clisp.org>
47574
47575         Speed up approximate search for matching ChangeLog entries.
47576         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
47577         argument. Call fstrcmp_bounded instead of fstrcmp.
47578         (compute_mapping, try_split_merged_entry, main): Update callers.
47579
47580 2009-07-02  Bruno Haible  <bruno@clisp.org>
47581
47582         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
47583
47584 2009-06-30  Bruno Haible  <bruno@clisp.org>
47585
47586         Reduce the number of uc_is_cased calls.
47587         * lib/unicase.h (casing_suffix_context_t): Add
47588         'first_char_except_ignorable' field.
47589         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
47590         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
47591         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
47592         Update initializer.
47593         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
47594         case-ignorable characters.
47595         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
47596         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
47597         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
47598         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
47599         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
47600
47601 2009-06-30  Bruno Haible  <bruno@clisp.org>
47602
47603         Tests for module 'unicase/ignorable'.
47604         * modules/unicase/ignorable-tests: New file.
47605         * tests/unicase/test-ignorable.c: New file, generated by
47606         gen-uni-tables.
47607
47608         Tests for module 'unicase/cased'.
47609         * modules/unicase/cased-tests: New file.
47610         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
47611         * tests/unicase/test-predicate-part1.h: New file, derived from
47612         tests/unictype/test-predicate-part1.h.
47613         * tests/unicase/test-predicate-part2.h: New file, same as
47614         tests/unictype/test-predicate-part2.h.
47615
47616         Fix evaluation of "Before C" condition of FINAL_SIGMA.
47617         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
47618         (output_casing_properties): New function.
47619         (main): Call it.
47620         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
47621         * lib/unicase/cased.c: Include unictype/bitmap.h.
47622         (uc_is_cased): Define through a bitmap lookup.
47623         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
47624         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
47625         (uc_is_case_ignorable): Define through a bitmap lookup.
47626         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
47627         lib/unictype/bitmap.h.
47628         (Depends-on): Add inline. Clean up.
47629         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
47630         lib/unictype/bitmap.h.
47631         (Depends-on): Add inline. Clean up.
47632         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
47633         recognition.
47634         * tests/unicase/test-u16-tolower.c (main): Likewise.
47635         * tests/unicase/test-u32-tolower.c (main): Likewise.
47636
47637 2009-06-30  Bruno Haible  <bruno@clisp.org>
47638
47639         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
47640         * lib/unicase/u16-casemap.c: Likewise.
47641         * lib/unicase/u32-casemap.c: Likewise.
47642
47643 2009-06-29  Bruno Haible  <bruno@clisp.org>
47644
47645         Define u32_casefold as a wrapper around u32_ct_casefold.
47646         * lib/unicase/u32-casefold.c: Update.
47647         * modules/unicase/u32-casefold (Depends-on): Add
47648         unicase/u32-ct-casefold, unicase/empty-prefix-context,
47649         unicase/empty-suffix-context. Clean up.
47650
47651         Define u16_casefold as a wrapper around u16_ct_casefold.
47652         * lib/unicase/u16-casefold.c: Update.
47653         * modules/unicase/u16-casefold (Depends-on): Add
47654         unicase/u16-ct-casefold, unicase/empty-prefix-context,
47655         unicase/empty-suffix-context. Clean up.
47656
47657         Define u8_casefold as a wrapper around u8_ct_casefold.
47658         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
47659         * lib/unicase/u8-casefold.c: Update.
47660         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
47661         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47662
47663         Define u32_totitle as a wrapper around u32_ct_totitle.
47664         * lib/unicase/u32-totitle.c: Update.
47665         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
47666         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47667
47668         Define u16_totitle as a wrapper around u16_ct_totitle.
47669         * lib/unicase/u16-totitle.c: Update.
47670         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
47671         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47672
47673         Define u8_totitle as a wrapper around u8_ct_totitle.
47674         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
47675         functions.
47676         (FUNC): Delegate to U_CT_TOTITLE.
47677         * lib/unicase/u8-totitle.c: Update.
47678         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
47679         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47680
47681         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
47682         invocation.
47683         * modules/unicase/u32-tolower (Depends-on): Add
47684         unicase/empty-prefix-context, unicase/empty-suffix-context.
47685
47686         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
47687         invocation.
47688         * modules/unicase/u16-tolower (Depends-on): Add
47689         unicase/empty-prefix-context, unicase/empty-suffix-context.
47690
47691         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
47692         * modules/unicase/u8-tolower (Depends-on): Add
47693         unicase/empty-prefix-context, unicase/empty-suffix-context.
47694
47695         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
47696         invocation.
47697         * modules/unicase/u32-toupper (Depends-on): Add
47698         unicase/empty-prefix-context, unicase/empty-suffix-context.
47699
47700         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
47701         invocation.
47702         * modules/unicase/u16-toupper (Depends-on): Add
47703         unicase/empty-prefix-context, unicase/empty-suffix-context.
47704
47705         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
47706         * modules/unicase/u8-toupper (Depends-on): Add
47707         unicase/empty-prefix-context, unicase/empty-suffix-context.
47708
47709         New module 'unicase/u32-ct-casefold'.
47710         * lib/unicase/u32-ct-casefold.c: New file.
47711         * modules/unicase/u32-ct-casefold: New file.
47712
47713         New module 'unicase/u16-ct-casefold'.
47714         * lib/unicase/u16-ct-casefold.c: New file.
47715         * modules/unicase/u16-ct-casefold: New file.
47716
47717         New module 'unicase/u8-ct-casefold'.
47718         * lib/unicase/u8-ct-casefold.c: New file.
47719         * lib/unicase/u-ct-casefold.h: New file, derived from
47720         lib/unicase/u-casefold.h.
47721         * modules/unicase/u8-ct-casefold: New file.
47722
47723         New module 'unicase/u32-ct-totitle'.
47724         * lib/unicase/u32-ct-totitle.c: New file.
47725         * modules/unicase/u32-ct-totitle: New file.
47726
47727         New module 'unicase/u16-ct-totitle'.
47728         * lib/unicase/u16-ct-totitle.c: New file.
47729         * modules/unicase/u16-ct-totitle: New file.
47730
47731         New module 'unicase/u8-ct-totitle'.
47732         * lib/unicase/u8-ct-totitle.c: New file.
47733         * lib/unicase/u-ct-totitle.h: New file, derived from
47734         lib/unicase/u-totitle.h.
47735         * modules/unicase/u8-ct-totitle: New file.
47736
47737         New module 'unicase/u32-ct-tolower'.
47738         * lib/unicase/u32-ct-tolower.c: New file.
47739         * modules/unicase/u32-ct-tolower: New file.
47740
47741         New module 'unicase/u16-ct-tolower'.
47742         * lib/unicase/u16-ct-tolower.c: New file.
47743         * modules/unicase/u16-ct-tolower: New file.
47744
47745         New module 'unicase/u8-ct-tolower'.
47746         * lib/unicase/u8-ct-tolower.c: New file.
47747         * modules/unicase/u8-ct-tolower: New file.
47748
47749         New module 'unicase/u32-ct-toupper'.
47750         * lib/unicase/u32-ct-toupper.c: New file.
47751         * modules/unicase/u32-ct-toupper: New file.
47752
47753         New module 'unicase/u16-ct-toupper'.
47754         * lib/unicase/u16-ct-toupper.c: New file.
47755         * modules/unicase/u16-ct-toupper: New file.
47756
47757         New module 'unicase/u8-ct-toupper'.
47758         * lib/unicase/u8-ct-toupper.c: New file.
47759         * modules/unicase/u8-ct-toupper: New file.
47760
47761         Add context arguments to u*_casemap functions.
47762         * lib/unicase/unicasemap.h: Include unicase.h.
47763         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
47764         suffix_context arguments.
47765         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
47766         functions.
47767         (FUNC): Add prefix_context and suffix_context arguments. Use
47768         uc_is_cased and uc_is_case_ignorable.
47769         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
47770         * lib/unicase/u16-casemap.c: Likewise.
47771         * lib/unicase/u32-casemap.c: Likewise.
47772         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
47773         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47774         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
47775         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47776         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
47777         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47778
47779         New module 'unicase/u32-suffix-context'.
47780         * lib/unicase/u32-suffix-context.c: New file.
47781         * modules/unicase/u32-suffix-context: New file.
47782
47783         New module 'unicase/u16-suffix-context'.
47784         * lib/unicase/u16-suffix-context.c: New file.
47785         * modules/unicase/u16-suffix-context: New file.
47786
47787         New module 'unicase/u8-suffix-context'.
47788         * lib/unicase/u8-suffix-context.c: New file.
47789         * lib/unicase/u-suffix-context.h: New file.
47790         * modules/unicase/u8-suffix-context: New file.
47791
47792         New module 'unicase/empty-suffix-context'.
47793         * lib/unicase/empty-suffix-context.c: New file.
47794         * modules/unicase/empty-suffix-context: New file.
47795
47796         New module 'unicase/u32-prefix-context'.
47797         * lib/unicase/u32-prefix-context.c: New file.
47798         * modules/unicase/u32-prefix-context: New file.
47799
47800         New module 'unicase/u16-prefix-context'.
47801         * lib/unicase/u16-prefix-context.c: New file.
47802         * modules/unicase/u16-prefix-context: New file.
47803
47804         New module 'unicase/u8-prefix-context'.
47805         * lib/unicase/u8-prefix-context.c: New file.
47806         * lib/unicase/u-prefix-context.h: New file.
47807         * lib/unicase/context.h: New file.
47808         * modules/unicase/u8-prefix-context: New file.
47809
47810         New module 'unicase/empty-prefix-context'.
47811         * lib/unicase/empty-prefix-context.c: New file.
47812         * modules/unicase/empty-prefix-context: New file.
47813
47814         New module 'unicase/ignorable'.
47815         * lib/unicase/ignorable.c: New file.
47816         * modules/unicase/ignorable: New file.
47817
47818         New module 'unicase/cased'.
47819         * lib/unicase/caseprop.h: New file.
47820         * lib/unicase/cased.c: New file.
47821         * modules/unicase/cased: New file.
47822
47823         New functions for case mapping of substrings.
47824         * lib/unicase.h (casing_prefix_context_t): New type.
47825         (unicase_empty_prefix_context): New variable.
47826         (u8_casing_prefix_context, u16_casing_prefix_context,
47827         u32_casing_prefix_context, u8_casing_prefixes_context,
47828         u16_casing_prefixes_context, u32_casing_prefixes_context): New
47829         declarations.
47830         (casing_suffix_context_t): New type.
47831         (unicase_empty_suffix_context): New variable.
47832         (u8_casing_suffix_context, u16_casing_suffix_context,
47833         u32_casing_suffix_context, u8_casing_suffixes_context,
47834         u16_casing_suffixes_context, u32_casing_suffixes_context,
47835         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
47836         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
47837         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
47838         declarations.
47839
47840 2009-06-28  Jim Meyering  <meyering@redhat.com>
47841
47842         boostrap: indent only with spaces
47843         * build-aux/bootstrap: Indent only with spaces, never TABs.
47844
47845         bootstrap: split long lines
47846         * build-aux/bootstrap: Keep line length < 80.
47847
47848         bootstrap: sync from coreutils
47849         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
47850         just as autoreconf does.  Verify a list of prerequisite
47851         package-name,version-number pairs if defined in bootstrap.conf.
47852         Refer to README-prereq, if prerequisites are not satisfied.
47853
47854 2009-06-27  Eric Blake  <ebb9@byu.net>
47855
47856         tests: add test for bogus NULL definition
47857         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
47858         * tests/test-stdlib.c: Likewise.
47859         * tests/test-string.c: Likewise.
47860         * tests/test-locale.c: Likewise.
47861         * tests/test-unistd.c: Likewise.
47862         * modules/stdio-tests (Depends-on): Add verify.
47863         * modules/stdlib-tests (Depends-on): Likewise.
47864         * modules/string-tests (Depends-on): Likewise.
47865         * modules/locale-tests (Depends-on): Likewise.
47866         * modules/unistd-tests (Depends-on): Likewise.
47867
47868 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
47869
47870         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
47871         self-explaining comment.
47872         * m4/selinux-selinux-h: Update serial.
47873         (gl_LIBSELINUX): New macro, adding a warning for missing development
47874         packages to code extracted from...
47875         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
47876         Add warning for missing development packages here, too.
47877
47878 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
47879
47880         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
47881
47882 2009-06-25  Eric Blake  <ebb9@byu.net>
47883
47884         version-etc: fix regression
47885         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
47886         gcc.
47887         (version_etc): Use it, to catch bugs with trailing NULL.
47888         * lib/version-etc.c (version_etc_arn): Delete unused argument.
47889         (version_etc_va): Fix logic bug.
47890         * modules/version-etc-tests: Add test.
47891         * tests/test-version-etc.c: New file.
47892         * tests/test-version-etc.sh: Likewise.
47893
47894 2009-06-25  Sam Steingold  <sds@gnu.org>
47895
47896         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
47897         mbtowc declaration.
47898
47899 2009-06-25  Eric Blake  <ebb9@byu.net>
47900
47901         fpurge: migrate into <stdio.h>
47902         * lib/fpurge.h: Delete...
47903         * lib/stdio.in.h (fpurge): ...and declare here, instead.
47904         * lib/fpurge.c (fpurge): Change declaring header.
47905         * modules/fpurge (Files): Drop deleted file.
47906         (Depends-on): Add stdio.
47907         (configure.ac): Set witness.
47908         * modules/stdio (Makefile.am): Support fpurge macros.
47909         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
47910         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
47911         * lib/fflush.c: Update client.
47912         * tests/test-fpurge.c: Likewise.
47913         * NEWS: Mention the change.
47914
47915 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47916
47917         * lib/argp-version-etc.c (program_authors): Add const
47918         qualifier.
47919         * lib/version-etc.c: Fix typos in the comments.
47920         * modules/argp-version-etc: Depends on version-etc.
47921
47922 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47923
47924         argp-version-etc: new module.
47925
47926         * lib/argp-version-etc.c: New file.
47927         * lib/argp-version-etc.h: New file.
47928         * modules/argp-version-etc: New file.
47929         * modules/argp-version-etc-tests: New file.
47930         * tests/test-argp-version-etc.c: New test.
47931         * tests/test-argp-version-etc-1.sh: New test.
47932
47933 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47934
47935         Provide additional interfaces and documentation for version-etc
47936         module.
47937
47938         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
47939         interfaces.
47940         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
47941         prototypes.
47942
47943 2009-06-24  Bruno Haible  <bruno@clisp.org>
47944
47945         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
47946         HAVE_LIB${NAME} macro.
47947         Reported by Sam Steingold <sds@gnu.org>.
47948
47949 2009-06-23  Simon Josefsson  <simon@josefsson.org>
47950
47951         * modules/hash-tests (test_hash_LDADD): Link to libintl when
47952         needed.
47953
47954 2009-06-21  Bruno Haible  <bruno@clisp.org>
47955
47956         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
47957         work.
47958         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
47959         together with LIB${NAME}, LTLIB${NAME}.
47960         Reported by Sam Steingold <sds@gnu.org>.
47961
47962 2009-06-20  Jim Meyering  <meyering@redhat.com>
47963
47964         tests: make sc_require_test_exit_idiom more generic
47965         * top/maint.mk (Exit_witness_file): New overridable variable.
47966         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
47967         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
47968
47969 2009-06-19  Jim Meyering  <meyering@redhat.com>
47970
47971         hash: reverse order of src/dst parameters in an internal interface
47972         * lib/hash.c (transfer_entries): Reverse order of parameters to
47973         put DST before SRC.  Adjust callers.
47974
47975         tests: test-hash: avoid wholesale duplication
47976         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
47977         Instead, use a loop and add a single conditional.
47978
47979         tests: test-hash: allow seed selection via a command line argument
47980         * tests/test-hash.c (get_seed): New function.
47981         (main): Use it.
47982
47983 2009-06-19  Eric Blake  <ebb9@byu.net>
47984
47985         hash: avoid memory leak on allocation failure
47986         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
47987         failure.  Factor repeated algorithm...
47988         (transfer_entries): ...into new helper routine.
47989         (hash_delete): React to hash_rehash return value.
47990
47991         hash: reduce memory pressure in hash_rehash no-op case
47992         * lib/hash.c (next_prime): Avoid overflow.
47993         (hash_initialize): Factor bucket size computation...
47994         (compute_bucket_size): ...into new helper function.
47995         (hash_rehash): Use new function and open coding to reduce memory
47996         pressure, and avoid a memory leak in USE_OBSTACK code.
47997         Reported by Jim Meyering.
47998
47999 2009-06-18  Eric Blake  <ebb9@byu.net>
48000
48001         hash: make rotation more obvious
48002         * modules/hash (Depends-on): Add bitrotate and stdint.
48003         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
48004         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
48005         (SIZE_MAX): Rely on headers for definition.
48006         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
48007         (raw_hasher): Use rotr_sz.
48008         Suggested by Jim Meyering.
48009
48010         hash: fix memory leak in last patch
48011         * lib/hash.c (hash_rehash): Avoid memory leak.
48012
48013         hash: avoid no-op rehashing
48014         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
48015
48016         hash: provide default callback functions
48017         * lib/hash.c (raw_hasher, raw_comparator): New functions.
48018         (hash_initialize): Use them as defaults.
48019         * tests/test-hash.c (main): Test this.
48020
48021         hash: minor optimization
48022         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
48023         when possible.
48024         (hash_initialize): Document this promise.
48025         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
48026         * tests/test-hash.c (hash_compare_strings): Test this.
48027
48028 2009-06-18  Bruno Haible  <bruno@clisp.org>
48029
48030         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
48031         going to be replaced anyway.
48032
48033 2009-06-18  Bruno Haible  <bruno@clisp.org>
48034
48035         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
48036         in one place.
48037         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
48038         be replaced anyway.
48039
48040 2009-06-18  Eric Blake  <ebb9@byu.net>
48041
48042         hash: check for resize before insertion
48043         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
48044         threshold before insertion, so that a pathological hash_rehash
48045         that fills every bucket can still trigger another rehash.
48046
48047 2009-06-18  Jim Meyering  <meyering@redhat.com>
48048
48049         hash-tests: add a loop around the small tests
48050         * tests/test-hash.c (main): Repeat small tests with selected
48051         small initial table sizes.
48052
48053 2009-06-17  Eric Blake  <ebb9@byu.net>
48054
48055         hash: minor cleanups
48056         * lib/hash.h (hash_entry): Make opaque, by moving...
48057         * lib/hash.c (hash_entry): ...here.
48058         (hash_insert): Clarify restrictions on what can be inserted.
48059         (hash_get_next): Clarify when it is safe to remove an element
48060         during traversal.
48061         (check_tuning): Skip verification when tuning is known safe.
48062         (hash_initialize): Clarify restrictions on tuning.
48063
48064 2009-06-17  Jim Meyering  <jim@meyering.net>
48065         and Eric Blake  <ebb9@byu.net>
48066
48067         hash-tests: new module
48068         * modules/hash-tests: New file.
48069         * tests/test-hash.c: New file.
48070
48071 2009-06-17  Eric Blake  <ebb9@byu.net>
48072
48073         strstr-simple: document new module
48074         * MODULES.html.sh: Document new module.
48075
48076         strstr, strcasestr: replace on platforms with broken memchr
48077         * modules/strstr: Split into...
48078         * modules/strstr-simple: ...new module that does not care about
48079         performance, but does care about glibc bug.
48080         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
48081         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
48082         if platform memchr is broken, per Debian bug 521737.
48083         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
48084         memchr.
48085         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
48086         * doc/posix-functions/strstr.texi (strstr): Document the fix.
48087         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
48088         * modules/mountlist (Depends-on): Add strstr-simple.
48089         * modules/gen-uni-tables (Depends-on): Likewise.
48090         * modules/argz (Depends-on): Add strstr.
48091
48092 2009-06-17  Bruno Haible  <bruno@clisp.org>
48093
48094         * modules/posix_spawn-internal (Depends-on): Add errno.
48095
48096 2009-06-17  Bruno Haible  <bruno@clisp.org>
48097
48098         Define missing ESTALE on Interix 3.5.
48099         * lib/errno.in.h (ESTALE): Assign a value if missing.
48100         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
48101         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
48102         missing.
48103         * doc/posix-headers/errno.texi: Mention the Interix bug.
48104         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
48105
48106 2009-06-15  Eric Blake  <ebb9@byu.net>
48107
48108         memchr, memchr2: add valgrind exception
48109         * lib/memchr.valgrind: New file.
48110         * lib/memchr2.valgrind: New file.
48111         * modules/memchr (Files): Distribute valgrind file.
48112         * modules/memchr2 (Files): Likewise.
48113
48114         docs: memchr is no longer obsolete
48115         * MODULES.html.sh: Move memchr from obsolete to string.h section.
48116         * lib/string.in.h (memchr): Simplify logic.
48117
48118 2009-06-14  Jim Meyering  <meyering@redhat.com>
48119
48120         link-follow: fix the "checking..." message to not mention trailing slash
48121         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
48122         never considered trailing slashes.
48123
48124 2009-06-14  Bruno Haible  <bruno@clisp.org>
48125
48126         * m4/memchr.m4: Mention also the bug on IA-64.
48127         * doc/posix-functions/memchr.texi: Likewise.
48128
48129 2009-06-12  Eric Blake  <ebb9@byu.net>
48130
48131         memchr: detect broken x86_64 and alpha implementations
48132         * modules/memchr-tests (Depends-on): Move mmap detection...
48133         * modules/memchr (Depends-on): ...here.
48134         (configure.ac): Set indicator.
48135         * lib/string.in.h (memchr): Declare replacement.
48136         * modules/string (Makefile.am): Trigger replacement.
48137         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
48138         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
48139         bugs.
48140         * doc/posix-functions/memchr.texi (memchr): Document the bug.
48141         * modules/getpagesize (License): Relax license.
48142
48143 2009-06-11  Bruno Haible  <bruno@clisp.org>
48144
48145         * lib/idpriv.h: Add more references.
48146
48147 2009-06-08  Bruno Haible  <bruno@clisp.org>
48148
48149         Tests for module 'idpriv-droptemp'.
48150         * modules/idpriv-droptemp-tests: New file.
48151         * tests/test-idpriv-droptemp.sh: New file.
48152         * tests/test-idpriv-droptemp.su.sh: New file.
48153         * tests/test-idpriv-droptemp.c: New file.
48154
48155         New module 'idpriv-droptemp'.
48156         * lib/idpriv-droptemp.c: New file.
48157         * modules/idpriv-droptemp: New file.
48158
48159 2009-06-08  Bruno Haible  <bruno@clisp.org>
48160
48161         Tests for module 'idpriv-drop'.
48162         * modules/idpriv-drop-tests: New file.
48163         * tests/test-idpriv-drop.sh: New file.
48164         * tests/test-idpriv-drop.su.sh: New file.
48165         * tests/test-idpriv-drop.c: New file.
48166
48167         New module 'idpriv-drop'.
48168         * lib/idpriv.h: New file.
48169         * lib-idpriv-drop.c: New file.
48170         * m4/idpriv.m4: New file.
48171         * modules/idpriv-drop: New file.
48172
48173 2009-06-08  Bruno Haible  <bruno@clisp.org>
48174
48175         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
48176         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48177         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48178         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48179         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48180         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48181         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48182
48183 2009-06-08  Eric Blake  <ebb9@byu.net>
48184
48185         test-strstr: use memory fence, when possible
48186         * tests/test-strstr.c (main): Use memory fence, in order to be
48187         more likely to trigger Debian bug 521737.
48188         * modules/strstr-tests (Files): Pull in additional files.
48189
48190         memchr: no longer obsolete, for wider field testing
48191         * modules/memchr (Status, Notice): Delete, this module is no
48192         longer obsolete.
48193         * modules/vasnprintf (Depends-on): Add memchr.
48194
48195 2009-06-07  Jim Meyering  <meyering@redhat.com>
48196
48197         hash: declare some functions with the warn_unused_result attribute
48198         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
48199
48200 2009-06-07  Bruno Haible  <bruno@clisp.org>
48201
48202         * tests/test-alignof.c: Don't test int64_t if it does not exist.
48203         Reported by Eric Blake.
48204
48205 2009-06-06  Eric Blake  <ebb9@byu.net>
48206
48207         test-alignof: fix typo with long double
48208         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
48209         compiler error.
48210
48211 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
48212
48213         Escape non-texinfo { and }s.
48214         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
48215         markup error.
48216
48217 2009-06-04  Jim Meyering  <meyering@redhat.com>
48218
48219         gitlog-to-changelog: don't infloop on an empty commit log
48220         * build-aux/gitlog-to-changelog: Warn about an empty log message.
48221         Reported by Boris Petersen <transacid@centerim.org>.
48222
48223 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
48224
48225         version-etc: extend for packagers
48226         Add three new configure options, intended for packagers:
48227           --with-packager="packager name"
48228           --with-packager-version="packager-specific version"
48229           --with-packager-bug-reports="packager bug reporting"
48230         An example with coreutils:
48231           $ ./configure \
48232             --with-packager=Gentoo \
48233             --with-packager-bug-report=http://bugs.gentoo.org/ \
48234             --with-packager-version="patchset 1.6"
48235           $ ./src/ls --version | head -n2
48236           ls (GNU coreutils) 7.1-dirty
48237           Packaged by Gentoo (patchset 1.6)
48238         Note that the bug reporting info via --help doesn't show up because
48239         coreutils uses its own custom emit_bug_reporting_address() implementation
48240         in src/system.h.  If it didn't, it'd look like:
48241           $ ./src/ls --help | tail -n4
48242           Report bugs to <bug-coreutils@gnu.org>.
48243           Report Gentoo bugs to <http://bugs.gentoo.org/>.
48244           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
48245           General help using GNU software: <http://www.gnu.org/gethelp/>.
48246         * lib/version-etc.c: Print new information, if provided.
48247         * m4/version-etc.m4: New file.
48248         * modules/version-etc (Files): Add m4/version-etc.m4.
48249         (configure.ac): Add gl_VERSION_ETC.
48250
48251 2009-05-31  Bruno Haible  <bruno@clisp.org>
48252
48253         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
48254         and 'int64_t'.
48255         * modules/alignof-tests (Dependencies): Add stdint.
48256         Reported by Eric Blake.
48257
48258 2009-05-31  Bruno Haible  <bruno@clisp.org>
48259
48260         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
48261         restriction due to compiler bugs.
48262         Reported by Eric Blake.
48263
48264 2009-05-31  Simon Josefsson  <simon@josefsson.org>
48265             Bruno Haible  <bruno@clisp.org>
48266
48267         Fix test-alignof failure.
48268         * lib/alignof.h (alignof_slot): New macro.
48269         (alignof_type): New macro, with the same semantics as the previous
48270         'alignof'.
48271         (alignof): Alias to alignof_slot.
48272         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
48273         check that the results are usable as constant expressions.
48274
48275 2009-05-31  Bruno Haible  <bruno@clisp.org>
48276
48277         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
48278         * tests/test-memchr.c (main): Check that memchr does not read past the
48279         first occurrence of the byte.
48280         * tests/test-strstr.c (main): Update comment.
48281         Suggested by Eric Blake.
48282
48283 2009-05-30  Bruno Haible  <bruno@clisp.org>
48284
48285         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
48286         detail how to use dumpbin.
48287         Reported by David Byron <dbyron@dbyron.com>.
48288
48289 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48290
48291         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
48292
48293 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48294
48295         * m4/manywarnings.m4: Add GCC 4.4 warnings.
48296
48297 2009-05-28  Bruno Haible  <bruno@clisp.org>
48298
48299         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
48300         build-aux/ files.
48301
48302 2009-05-28  Simon Josefsson  <simon@josefsson.org>
48303
48304         * gnulib-tool (func_import): Transform license on build-aux/ files too.
48305
48306 2009-05-27  Simon Josefsson  <simon@josefsson.org>
48307
48308         * gnulib-tool (sed_transform_main_lib_file)
48309         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
48310         regexps.
48311
48312 2009-05-26  Simon Josefsson  <simon@josefsson.org>
48313
48314         * tests/test-strstr.c: Add another self-test.
48315         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
48316         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
48317
48318 2009-05-23  Bruno Haible  <bruno@clisp.org>
48319
48320         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
48321         change.
48322
48323 2009-05-21  Bruno Haible  <bruno@clisp.org>
48324
48325         Simplify use of mode_t varargs.
48326         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
48327         uses 'mode_t' or 'int'.
48328         * lib/openat.c (openat): Likewise.
48329         * lib/open-safer.c (open_safer): Likewise.
48330         * m4/mode_t.m4: New file.
48331         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
48332         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
48333         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
48334         * modules/open (Files): Add m4/mode_t.m4.
48335         * modules/openat (Files): Likewise.
48336         * modules/fcntl-safer (Files): Likewise.
48337         Suggested by Eric Blake.
48338
48339 2009-05-21  Pádraig Brady  <P@draigbrady.com>
48340
48341         * doc/glibc-functions/fallocate.texi: New file.
48342         * doc/gnulib.texi: Include it.
48343
48344 2009-05-21  Eric Blake  <ebb9@byu.net>
48345             Bruno Haible  <bruno@clisp.org>
48346
48347         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
48348         invocations.
48349         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48350
48351 2009-05-21  Eric Blake  <ebb9@byu.net>
48352             Bruno Haible  <bruno@clisp.org>
48353
48354         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
48355         include_next. Fix of 2008-11-20 commit.
48356         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
48357         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
48358         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
48359         NEXT_MATH_H.
48360         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
48361         instead of NEXT_MATH_H.
48362
48363 2009-05-21  Bruno Haible  <bruno@clisp.org>
48364
48365         Avoid redefinition warnings for SIZE_MAX.
48366         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
48367         Reported by Simon Josefsson.
48368
48369 2009-05-21  Bruno Haible  <bruno@clisp.org>
48370
48371         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
48372         AC_CACHE_VAL.
48373
48374 2009-05-20  Bruno Haible  <bruno@clisp.org>
48375
48376         Make zeroptr.h work on mingw.
48377         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
48378         mprotect.
48379         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
48380         * modules/memchr2-tests (configure.ac): Likewise.
48381         * modules/memcmp-tests (configure.ac): Likewise.
48382         * modules/memmem-tests (configure.ac): Likewise.
48383         * modules/memrchr-tests (configure.ac): Likewise.
48384         Reported by Simon Josefsson.
48385
48386 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48387
48388         * tests/test-glob.c: Include string.h for strcmp prototype.
48389
48390 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48391
48392         * modules/getdelim (Depends-on): Add explicit stdint, although it
48393         was implicitly already pulled in via realloc-posix.
48394         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
48395
48396 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48397
48398         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
48399         G. Christensen" <tgc@jupiterrise.com>.
48400         * m4/sys_socket_h.m4: Check for sa_family_t.
48401         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
48402         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
48403         * tests/test-sys_socket.c: Check that sa_family_t works.
48404
48405 2009-05-18  Eric Blake  <ebb9@byu.net>
48406
48407         maint.mk: allow gnulib_dir in VPATH build
48408         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
48409
48410 2009-05-15  Jim Meyering  <meyering@redhat.com>
48411
48412         maint.mk: Give gnulib_dir a default definition.
48413         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
48414         Thus, most packages no longer need to specify this variable in cfg.mk
48415
48416 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
48417
48418         rename.m4: fix typos that would make non-mingw cross-configure fail
48419         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
48420
48421 2009-05-13  Eric Blake  <ebb9@byu.net>
48422
48423         mmap-anon: avoid out-of-order autoconf expansion
48424         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
48425         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
48426         * modules/memchr-tests (Depends-on): Add extensions.
48427         * modules/memchr2-tests (Depends-on): Add extensions.
48428         * modules/memcmp-tests (Depends-on): Add extensions.
48429         * modules/memmem-tests (Depends-on): Add extensions.
48430         * modules/memrchr-tests (Depends-on): Add extensions.
48431
48432 2009-05-13  Bruno Haible  <bruno@clisp.org>
48433
48434         Make some tests ISO C 99 compliant.
48435         * tests/zerosize-ptr.h: New file.
48436         * tests/test-memchr.c: Include zerosize-ptr.h.
48437         (main): Use a zero-size object pointer instead of NULL.
48438         * tests/test-memchr2.c: Include zerosize-ptr.h.
48439         (main): Use a zero-size object pointer instead of NULL.
48440         * tests/test-memcmp.c: Include zerosize-ptr.h.
48441         (main): Use a zero-size object pointer instead of NULL.
48442         * tests/test-memmem.c: Include zerosize-ptr.h.
48443         (main): Use a zero-size object pointer instead of NULL.
48444         * tests/test-memrchr.c: Include zerosize-ptr.h.
48445         (main): Use a zero-size object pointer instead of NULL.
48446         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
48447         m4/mmap-anon.m4.
48448         (Depends-on): Add getpagesize.
48449         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48450         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
48451         m4/mmap-anon.m4.
48452         (Depends-on): Add getpagesize.
48453         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48454         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
48455         m4/mmap-anon.m4.
48456         (Depends-on): Add getpagesize.
48457         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48458         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
48459         m4/mmap-anon.m4.
48460         (Depends-on): Add getpagesize.
48461         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48462         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
48463         m4/mmap-anon.m4.
48464         (Depends-on): Add getpagesize.
48465         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48466
48467 2009-05-12  Bruno Haible  <bruno@clisp.org>
48468
48469         Tests for module 'alignof'.
48470         * modules/alignof-tests: New file.
48471         * tests/test-alignof.c: New file.
48472
48473 2009-05-12  Bruno Haible  <bruno@clisp.org>
48474
48475         Fix alignof macro.
48476         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
48477         vendor compilers that are always correct.
48478
48479 2009-05-12  Bruno Haible  <bruno@clisp.org>
48480
48481         Make the MAP_ANONYMOUS detection work on HP-UX 11.
48482         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
48483         not whether its fully works.
48484
48485 2009-05-12  Bruno Haible  <bruno@clisp.org>
48486
48487         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
48488
48489 2009-05-12  Jim Meyering  <meyering@redhat.com>
48490
48491         * top/maint.mk: Adjust backslash alignment.
48492
48493 2009-05-11  Simon Josefsson  <simon@josefsson.org>
48494
48495         * top/maint.mk: Make $(srcdir)/build-aux configurable.
48496
48497 2009-05-11  Eric Blake  <ebb9@byu.net>
48498
48499         argp: avoid undefined behavior
48500         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
48501         macros.
48502
48503 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48504
48505         * tests/test-vc-list-files-git.sh: Do git config of user.email and
48506         user.name to prevent git commit from complaining.
48507
48508 2009-05-10  Bruno Haible  <bruno@clisp.org>
48509
48510         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
48511         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
48512         it rewrites every file name only once.
48513         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
48514
48515 2009-05-08  Bruno Haible  <bruno@clisp.org>
48516
48517         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
48518         instead of 'max'.
48519
48520 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48521
48522         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
48523         sockaddr_storage test.
48524
48525 2009-05-07  Simon Josefsson  <simon@josefsson.org>
48526
48527         * modules/sys_socket (Makefile.am): Substitute
48528         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
48529         * m4/sys_socket_h.m4: Check for sockaddr_storage.
48530         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
48531         * tests/test-sys_socket.c: Check sockaddr_storage.
48532
48533 2009-05-08  Bruno Haible  <bruno@clisp.org>
48534
48535         New module 'alignof'.
48536         * lib/alignof.h: New file.
48537         * modules/alignof: New file.
48538
48539 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48540             Bruno Haible  <bruno@clisp.org>
48541
48542         Fix test-file-has-acl on FreeBSD.
48543         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
48544         mask is implicitly added.
48545         * tests/test-file-has-acl.c: Include <signal.h>.
48546         (main): Terminate the test after 5 seconds.
48547         * modules/acl-tests (configure.ac): Check for alarm function.
48548
48549 2009-05-04  Bruno Haible  <bruno@clisp.org>
48550
48551         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
48552         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
48553         * modules/errno (configure.ac): Drop AC_REQUIRE.
48554         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
48555         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
48556
48557 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48558
48559         * modules/glob-tests: New module.
48560         * tests/test-glob.c: Add.
48561
48562 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48563
48564         * modules/fnmatch-tests: New module.
48565         * tests/test-fnmatch.c: Add.
48566
48567 2009-05-04  Eric Blake  <ebb9@byu.net>
48568
48569         maint: make the new no-submodule-changes rule VPATH-safe
48570         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
48571
48572 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48573             Bruno Haible  <bruno@clisp.org>
48574
48575         acl: Fix infinite loop on FreeBSD.
48576         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
48577         of return value from acl_get_entry.
48578         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
48579         Likewise.
48580
48581 2009-05-03  Bruno Haible  <bruno@clisp.org>
48582
48583         * lib/acl-internal.h (acl_entries): Clarify return value.
48584         * lib/acl_entries.c (acl_entries): Likewise.
48585
48586 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48587
48588         Bug fix in acl module.
48589         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
48590
48591 2009-05-03  Bruno Haible  <bruno@clisp.org>
48592
48593         Create gperf-generated file in the source dir, not in the build dir.
48594         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
48595         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
48596         * modules/unicase/locale-language (unicase/locale-languages.h):
48597         Likewise.
48598         * modules/unicase/special-casing (unicase/special-casing-table.h):
48599         Likewise.
48600         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
48601         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
48602         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
48603         Reported by Ralf Wildenhues.
48604
48605 2009-05-03  Bruno Haible  <bruno@clisp.org>
48606
48607         * modules/fnmatch (Description, configure.ac): Taken from
48608         fnmatch-posix.
48609         * modules/fnmatch-posix: Turn into a symbolic reference to the
48610         'fnmatch' module, and deprecate.
48611         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
48612
48613 2009-05-03  Bruno Haible  <bruno@clisp.org>
48614
48615         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
48616         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
48617         Reported by Ralf Wildenhues.
48618
48619 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48620
48621         * m4/fnmatch.m4: Fix fnmatch re-define.
48622
48623 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48624
48625         priv-set: new module and tests; adapt write-any-file
48626         * lib/priv-set.c: New file.
48627         * lib/priv-set.h: New file.
48628         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
48629         * lib/write-any-file.c: Simplify by using priv-set module.
48630         * m4/priv-set.m4: New file.
48631         * modules/priv-set: New file.
48632         * modules/unlinkdir: Add dependency on priv-set module.
48633         * modules/write-any-file: Likewise.
48634
48635         Tests for module 'priv-set'.
48636         * modules/priv-set-tests: New file.
48637         * tests/test-priv-set.c: New file.
48638
48639 2009-05-03  Jim Meyering  <meyering@redhat.com>
48640             Bruno Haible  <bruno@clisp.org>
48641
48642         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
48643         use the converted UTF-8 variant of the name instead.
48644
48645 2009-05-03  Jim Meyering  <meyering@redhat.com>
48646
48647         tests: tighten some getdate tests
48648         * tests/test-getdate.c (main): Tighten tests: require equality,
48649         not just greater than.  Set TZ envvar to UTC0.
48650
48651 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
48652
48653         getdate: correctly interpret "next monday" when run on a Monday
48654         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
48655         that e.g., "next tues" (when run on a tuesday) results in a date
48656         that is one week in the future, and not today's date.
48657         I.e., add a week when the wday is the same as the current one.
48658         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
48659         and earlier by Martin Bernreuther and Jan Minář.
48660         * tests/test-getdate.c (main): Check that "next DAY" is always in
48661         the future and that "last DAY" is always in the past.
48662
48663 2009-05-02  Jim Meyering  <meyering@redhat.com>
48664
48665         build: ensure that a release build fails when a submodule is unclean
48666         * top/maint.mk (no-submodule-changes): New rule.
48667         (alpha beta major): Depend on it.
48668
48669 2009-05-02  Bruno Haible  <bruno@clisp.org>
48670
48671         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
48672         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
48673         shell variable gl_fnmatch_required to detect which variant is
48674         requested.
48675         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
48676         gl_FUNC_FNMATCH_POSIX.
48677         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
48678         exclude fnmatch-posix.
48679
48680 2009-05-02  Bruno Haible  <bruno@clisp.org>
48681
48682         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
48683         * modules/mbsrtowcs (License): Change to LGPLv2+.
48684         * modules/strnlen1 (License): Likewise.
48685         Reported by Simon Josefsson.
48686
48687 2009-05-02  Bruno Haible  <bruno@clisp.org>
48688
48689         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
48690         "cross".
48691         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
48692         gnulib-tool was called with option --source-base=lib.
48693
48694 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48695
48696         Use automake *-local hooks without commands, for extensibility.
48697         * modules/localcharset (Makefile.am): Rename install-exec-local
48698         rule to install-exec-localcharset, and make it a prerequisite of
48699         install-exec-local.  Likewise, rename the uninstall-local rule to
48700         uninstall-localcharset, and make it a prerequisite of the former.
48701
48702 2009-05-01  Bruno Haible  <bruno@clisp.org>
48703
48704         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
48705         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
48706         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
48707         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
48708         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
48709         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
48710         m4/locale-zh.m4, m4/codeset.m4.
48711
48712         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
48713         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
48714         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
48715         m4/locale-zh.m4.
48716
48717         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
48718         REPLACE_WCRTOMB if mbstate_t must be replaced.
48719         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
48720         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
48721
48722 2009-05-01  Bruno Haible  <bruno@clisp.org>
48723
48724         Avoid compiler warnings when redefining macros defined by <libintl.h>.
48725         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
48726         dngettext, dcngettext, textdomain, bindtextdomain,
48727         bind_textdomain_codeset): Undefine before redefining.
48728
48729 2009-04-30  Bruno Haible  <bruno@clisp.org>
48730
48731         Fix bug introduced on 2009-04-25.
48732         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
48733         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
48734         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
48735         is defined.
48736         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
48737         is defined.
48738         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
48739         is defined.
48740         Reported by Elbert_Pol <elbert.pol@gmail.com>.
48741
48742 2009-04-28  Bruno Haible  <bruno@clisp.org>
48743
48744         Comment tweaks.
48745         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
48746         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
48747         * lib/unicase.h (u*_casexfrm): Likewise.
48748         Reported by Paolo Bonzini.
48749
48750 2009-04-28  Bruno Haible  <bruno@clisp.org>
48751
48752         Fix a compilation error.
48753         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
48754         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
48755         Reported by Jim Meyering.
48756
48757 2009-04-27  Bruno Haible  <bruno@clisp.org>
48758
48759         New module 'libunistring'.
48760         * modules/libunistring: New file.
48761         * m4/libunistring.m4: New file.
48762         * MODULES.html.sh (Unicode string functions): Add it.
48763
48764 2009-04-27  Eric Blake  <ebb9@byu.net>
48765
48766         maint.mk: allow package-specific header to provide <config.h>
48767         * top/maint.mk (sc_require_config_h): New variable.
48768         (sc_require_config_h, sc_require_config_h_first): Use it.
48769
48770 2009-04-27  Simon Josefsson  <simon@josefsson.org>
48771
48772         * top/maint.mk (sc_avoid_if_before_free): Except
48773         useless-if-before-free script.
48774
48775 2009-04-27  Eric Blake  <ebb9@byu.net>
48776
48777         maintainer-makefile: depend on all required helper scripts
48778         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
48779         useless-if-before-free.
48780         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
48781         version, rather than assuming gnulib checkout is available.
48782         Reported by Simen Josefsson.
48783
48784 2009-04-26  Bruno Haible  <bruno@clisp.org>
48785
48786         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
48787         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
48788         "../" or "..".
48789
48790 2009-04-26  Bruno Haible  <bruno@clisp.org>
48791
48792         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
48793         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
48794         AC_LIB_HAVE_LINKFLAGS.
48795
48796 2009-04-26  Bruno Haible  <bruno@clisp.org>
48797
48798         Simplify calling convention of u*_conv_from_encoding.
48799         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
48800         u32_conv_from_encoding): Expect a resultbuf argument and return the
48801         result directly as a pointer.
48802         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
48803         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
48804         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
48805         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
48806         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
48807         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
48808         Update.
48809         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
48810         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
48811         * lib/vasnprintf.c (VASNPRINTF): Update.
48812         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
48813         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
48814         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
48815         * NEWS: Mention the change.
48816
48817 2009-04-26  Bruno Haible  <bruno@clisp.org>
48818
48819         Simplify calling convention of u*_conv_to_encoding.
48820         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
48821         u32_conv_to_encoding): Expect a resultbuf argument and return the
48822         result directly as a pointer.
48823         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
48824         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
48825         freeing scaled_offsets if mem_iconveha failed.
48826         * lib/unicase/u-casexfrm.h (FUNC): Update.
48827         * lib/uninorm/u-normxfrm.h (FUNC): Update.
48828         * lib/vasnprintf.c (VASNPRINTF): Update.
48829         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
48830         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
48831         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
48832         * NEWS: Mention the change.
48833
48834 2009-04-26  Bruno Haible  <bruno@clisp.org>
48835
48836         Avoid test failures on AIX and OSF/1.
48837         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
48838         malloc(0).
48839         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
48840         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
48841         Likewise.
48842         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
48843         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
48844         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
48845         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
48846         * doc/posix-functions/malloc.texi: Document the portability problem
48847         related to malloc(0).
48848
48849 2009-04-26  Bruno Haible  <bruno@clisp.org>
48850
48851         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
48852         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
48853         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
48854
48855 2009-04-25  Bruno Haible  <bruno@clisp.org>
48856
48857         Avoid link error when creating a namespace clean library.
48858         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
48859         as macro with arguments if already defined as an alias.
48860         * lib/signbitf.c (gl_signbitf): Don't undefine.
48861         * lib/signbitd.c (gl_signbitd): Don't undefine.
48862         * lib/signbitl.c (gl_signbitl): Don't undefine.
48863
48864 2009-04-25  Jim Meyering  <meyering@redhat.com>
48865
48866         vc-list-files: fix another quoting bug
48867         * build-aux/vc-list-files: Avoid sed backslash expansion
48868         of pathological directory names.
48869
48870 2009-04-25  Eric Blake  <ebb9@byu.net>
48871
48872         vc-list-files: fix shell quoting error
48873         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
48874         timestamp.
48875
48876 2009-04-25  Jim Meyering  <meyering@redhat.com>
48877
48878         vc-list-files: restore lost functionality with subdir argument
48879         * build-aux/vc-list-files: When given a non-"." sub-directory
48880         argument, substitute the $dir/ prefix back onto each resulting name.
48881         Otherwise, coreutils' root_tests check would fail.
48882
48883 2009-04-24  Eric Blake  <ebb9@byu.net>
48884
48885         vc-list-files: ignore git symlinks
48886         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
48887         than ls-files, to ignore git symlinks.
48888
48889         maint.mk: import improvements from m4
48890         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
48891         (move_if_change): Delete unused macro.
48892         (news-date-check, vc-diff-check): Support VPATH builds.
48893         (announcement): Likewise.  Split --bootstrap-tools list...
48894         (boostrap-tools): ...into separate list, which can be overridden
48895         in cfg.mk.
48896         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
48897         requiring dependency on useless-if-before-free module.
48898         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
48899         Support VPATH builds.
48900
48901 2009-04-24  Jim Meyering  <meyering@redhat.com>
48902
48903         maint.mk: remove coreutils-specific rules and variables
48904         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
48905         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
48906         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
48907
48908         maint.mk: remove obsolete rule
48909         * top/maint.mk (rel-check): Remove rule.
48910         (WGET, WGETFLAGS): Remove now-unused variables.
48911
48912 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48913
48914         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
48915         consistency.
48916
48917         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
48918         '$(PATH_SEPARATOR)' instead of ':'.
48919
48920 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48921
48922         * lib/getopt1.c (main): Use 'const' for static array.
48923
48924 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48925
48926         * top/maint.mk: Sync with coreutils.
48927         * NEWS: Explain incompatibilities.
48928
48929 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48930             Bruno Haible  <bruno@clisp.org>
48931
48932         Fix cross-compilation results.
48933         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
48934         statement, as third argument of AC_TRY_RUN.
48935         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
48936         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
48937         Likewise.
48938         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
48939         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
48940         Likewise.
48941         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
48942         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
48943         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
48944
48945 2009-04-20  Bruno Haible  <bruno@clisp.org>
48946
48947         Avoid test failure on mingw.
48948         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
48949
48950 2009-04-20  Bruno Haible  <bruno@clisp.org>
48951
48952         Avoid compilation error on mingw.
48953         * modules/localename-tests (Depends-on): Add locale.
48954
48955 2009-04-19  Bruno Haible  <bruno@clisp.org>
48956
48957         Support for building a shared library on Windows platforms.
48958         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
48959         (main): Test the presence of UNINORM_NFC here.
48960         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
48961         (main): Test the presence of UNINORM_NFD here.
48962         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
48963         (main): Test the presence of UNINORM_NFKC here.
48964         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
48965         (main): Test the presence of UNINORM_NFKD here.
48966
48967 2009-04-19  Bruno Haible  <bruno@clisp.org>
48968
48969         Avoid a compiler warning.
48970         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
48971         Change type of variable 'sequence'.
48972
48973 2009-04-19  Bruno Haible  <bruno@clisp.org>
48974
48975         * modules/configmake (Makefile.am): When the contents of configmake.h
48976         does not change, arrange to preserve its modification time.
48977
48978 2009-04-17  Simon Josefsson  <simon@josefsson.org>
48979
48980         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
48981         gettext domain.
48982
48983 2009-04-16  Jim Meyering  <meyering@redhat.com>
48984
48985         useless-if-before-free: improve conversion code
48986         * build-aux/useless-if-before-free: Adjust code-in-comment to match
48987         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
48988
48989 2009-04-14  Bruno Haible  <bruno@clisp.org>
48990
48991         * modules/fcntl (Depends-on): Add extensions.
48992         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
48993
48994 2009-04-12  Ben Pfaff  <blp@gnu.org>
48995
48996         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
48997         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
48998
48999 2009-03-20  Ben Pfaff  <blp@gnu.org>
49000
49001         Make rename replace existing destinations on Windows.
49002         * m4/rename.m4: Add test for Mingw.
49003         * lib/rename.c: Add rename replacement that uses MoveFileEx with
49004         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
49005         * doc/posix-functions/rename.texi: Document.
49006
49007 2009-04-10  Bruno Haible  <bruno@clisp.org>
49008
49009         New include file "iconveh.h".
49010         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
49011         * lib/striconveh.h: Include it.
49012         (enum iconv_ilseq_handler): Remove definition.
49013         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
49014         striconveh.h.
49015         * lib/striconveha.c: Include striconveh.h.
49016         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
49017         * modules/striconveh (Files): Add lib/iconveh.h.
49018         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
49019         lib/striconveh.h.
49020
49021 2009-04-10  Bruno Haible  <bruno@clisp.org>
49022
49023         * lib/uniconv.h: Update comment.
49024
49025 2009-04-10  Bruno Haible  <bruno@clisp.org>
49026
49027         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
49028         always.
49029         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
49030         * lib/unistr/u16-mbtouc-aux.c: Likewise.
49031         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
49032         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
49033         "unistring-notinline.h", so that the function gets defined always.
49034         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
49035         * lib/unistr/u8-uctomb.c: Likewise.
49036         * lib/unistr/u16-mbtouc.c: Likewise.
49037         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
49038         * lib/unistr/u16-uctomb.c: Likewise.
49039         * lib/unistr/u32-mbtouc.c: Likewise.
49040         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
49041         * lib/unistr/u32-uctomb.c: Likewise.
49042
49043 2009-04-10  Bruno Haible  <bruno@clisp.org>
49044
49045         Mark 'utime' obsolete.
49046         * modules/utime (Status, Notice): New sections.
49047         Suggested by Jim Meyering.
49048
49049         Fix cross-compile guess for utime test.
49050         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
49051         autoconf.
49052         * doc/posix-functions/utime.texi: Give more precisions.
49053         Reported by Jan <ipif@ymail.com>.
49054
49055 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
49056
49057         filevercmp: correct today's change
49058         * lib/filevercmp.c: Also handle coreutils' test inputs.
49059         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
49060
49061         Fix regression in 'filevercmp' module. Thanks Sven Joachim
49062         for reporting it.
49063         * lib/filevercmp.c: Special handle for "", "." and "..".
49064         * tests/test-filevercmp.c: Enlarge the set suite.
49065
49066 2009-04-07  Jim Meyering  <meyering@redhat.com>
49067
49068         useless-if-before-free: show how to remove braced useless free, too
49069         * build-aux/useless-if-before-free: still only in a comment, though.
49070
49071 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
49072
49073         maint.mk: import changes to syntax-check macros from coreutils
49074         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
49075         Use them in the relevant macros.
49076
49077 2009-04-06  Bruno Haible  <bruno@clisp.org>
49078
49079         Fix unportable use of bit-fields.
49080         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
49081         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
49082         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
49083
49084 2009-04-06  Bruno Haible  <bruno@clisp.org>
49085
49086         Avoid test failures on AIX and OSF/1.
49087         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
49088         that malloc(0) = NULL.
49089         * tests/unicase/test-u8-tolower.c (check): Likewise.
49090         * tests/unicase/test-u8-totitle.c (check): Likewise.
49091         * tests/unicase/test-u8-toupper.c (check): Likewise.
49092         * tests/unicase/test-u16-casefold.c (check): Likewise.
49093         * tests/unicase/test-u16-tolower.c (check): Likewise.
49094         * tests/unicase/test-u16-totitle.c (check): Likewise.
49095         * tests/unicase/test-u16-toupper.c (check): Likewise.
49096         * tests/unicase/test-u32-casefold.c (check): Likewise.
49097         * tests/unicase/test-u32-tolower.c (check): Likewise.
49098         * tests/unicase/test-u32-totitle.c (check): Likewise.
49099         * tests/unicase/test-u32-toupper.c (check): Likewise.
49100         * tests/uninorm/test-u8-nfc.c (check): Likewise.
49101         * tests/uninorm/test-u8-nfd.c (check): Likewise.
49102         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
49103         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
49104         * tests/uninorm/test-u16-nfc.c (check): Likewise.
49105         * tests/uninorm/test-u16-nfd.c (check): Likewise.
49106         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
49107         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
49108         * tests/uninorm/test-u32-nfc.c (check): Likewise.
49109         * tests/uninorm/test-u32-nfd.c (check): Likewise.
49110         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
49111         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
49112
49113 2009-04-05  Bruno Haible  <bruno@clisp.org>
49114
49115         Work around an autoconf limitation.
49116         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
49117         comment line if it would be longer than 3 KB.
49118
49119 2009-04-05  Bruno Haible  <bruno@clisp.org>
49120
49121         Avoid test failure with libiconv-1.13.
49122         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
49123         of the expected test results.
49124
49125 2009-04-05  Bruno Haible  <bruno@clisp.org>
49126
49127         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
49128         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
49129         that it should be installed.
49130
49131 2009-04-05  Bruno Haible  <bruno@clisp.org>
49132
49133         * gnulib-tool: New option --copy-file.
49134         (func_usage): Document it.
49135         (func_dest_tmpfilename): Moved out of func_import.
49136         (func_add_file, func_update_file): New functions, extracted from
49137         func_import.
49138         (func_import): Update.
49139
49140 2009-04-05  Karl Berry  <karl@gnu.org>
49141
49142         * README: prominently mention gnulib-tool.
49143         Rearrange sections so getting the code is near the top.
49144
49145 2009-04-05  Bruno Haible  <bruno@clisp.org>
49146
49147         * lib/unicase.h: Mention u*_cmp2.
49148         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49149         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
49150         * lib/unicase/ulc-casecmp.c: Likewise.
49151         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
49152         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
49153         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
49154         unistr/u8-cmp.
49155         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
49156         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
49157         unistr/u16-cmp.
49158         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
49159         unistr/u32-cmp.
49160
49161         * lib/uninorm.h: Mention u*_cmp2.
49162         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49163         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
49164         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
49165         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
49166         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
49167         unistr/u8-cmp.
49168         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
49169         unistr/u16-cmp.
49170         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
49171         unistr/u32-cmp.
49172
49173         New module 'unistr/u32-cmp2'.
49174         * lib/unistr/u32-cmp2.c: New file.
49175         * modules/unistr/u32-cmp2: New file.
49176
49177         New module 'unistr/u16-cmp2'.
49178         * lib/unistr/u16-cmp2.c: New file.
49179         * modules/unistr/u16-cmp2: New file.
49180
49181         New module 'unistr/u8-cmp2'.
49182         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
49183         * lib/unistr/u8-cmp2.c: New file.
49184         * lib/unistr/u-cmp2.h: New file.
49185         * modules/unistr/u8-cmp2: New file.
49186
49187 2009-04-05  Bruno Haible  <bruno@clisp.org>
49188
49189         * lib/unictype.h (uc_property_is_valid): New macro.
49190         * tests/unictype/test-pr_byname.c (main): Use it.
49191
49192         * lib/unistr.h: Doc fixes.
49193         * lib/uniconv.h: Doc fixes.
49194         * lib/unictype.h: Doc fixes.
49195
49196 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
49197
49198         Port coreutils 7.2 to Solaris 8.
49199
49200         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
49201         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
49202         for Solaris 8.  This is a bit of a hack, as it means it's the
49203         caller's responsibility to add -lnsl if needed, but most likely it
49204         won't be needed since only getaddrinfo uses this and getaddrinfo
49205         isn't needed on Solaris 8.
49206
49207         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
49208         problem to Solaris 8 encountered with coreutils 7.2, which
49209         resulted in a message "fnmatch.c:292: warning: passing argument 4
49210         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
49211         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
49212
49213 2009-04-03  Simon Josefsson  <simon@josefsson.org>
49214
49215         * m4/ld-version-script.m4: Add FIXME comment.
49216
49217 2009-04-02  Simon Josefsson  <simon@josefsson.org>
49218
49219         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
49220         SOVERSION variable.
49221
49222 2009-04-02  Bruno Haible  <bruno@clisp.org>
49223
49224         * Makefile (info, html, dvi, pdf): Combine the rules.
49225         Suggested by Jim Meyering.
49226
49227 2009-04-01  Bruno Haible  <bruno@clisp.org>
49228
49229         * Makefile (info, html, dvi, pdf): New targets.
49230         Reported by Reuben Thomas <rrt@sc3d.org>.
49231
49232 2009-04-01  Bruno Haible  <bruno@clisp.org>
49233
49234         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
49235         can be put into PATH.
49236         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
49237
49238 2009-04-01  Bruno Haible  <bruno@clisp.org>
49239
49240         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
49241
49242 2009-04-01  Bruno Haible  <bruno@clisp.org>
49243
49244         Rename module 'visibility'.
49245         * modules/lib-symbol-visibility: Renamed from modules/visibility.
49246         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
49247         * doc/gnulib.texi: Update.
49248         * MODULES.html.sh (Misc): Update.
49249         * NEWS: Mention the change.
49250
49251 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49252
49253         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
49254         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
49255         Eric Blake <ebb9@byu.net> for review.
49256         * MODULES.html.sh: Add lib-msvc-compat.
49257         * doc/gnulib.texi: Link to new section.
49258         * m4/ld-output-def.m4: New file.
49259         * doc/ld-output-def.texi: New file.
49260
49261 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49262
49263         Rename ld-version-script to lib-symbol-versions.  Suggested by
49264         Bruno Haible <bruno@clisp.org>.
49265         * modules/ld-version-script: Renamed to lib-symbol-versions.
49266         * doc/ld-version-script.texi: Fix module name.
49267         * MODULES.html.sh: Add lib-symbol-versions.
49268
49269 2009-03-31  Simon Josefsson  <simon@josefsson.org>
49270
49271         * modules/u64-tests: New file.
49272         * tests/test-u64.c: New file.
49273
49274 2009-03-04  Simon Josefsson  <simon@josefsson.org>
49275
49276         * MODULES.html.sh: Mention u64.
49277         * modules/u64: New module.
49278         * modules/crypto/sha512: Depend on u64 module instead of providing
49279         u64.h.
49280
49281 2009-03-27  Eric Blake  <ebb9@byu.net>
49282
49283         test-strerror: make debugging EAI_SYSTEM easier
49284         * modules/getaddrinfo-tests (Depends-on): Add strerror.
49285         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
49286         failure was EAI_SYSTEM.
49287
49288 2009-03-25  Bruno Haible  <bruno@clisp.org>
49289
49290         Fix a problem with --enable-relocatable on Solaris 7.
49291         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
49292         since 2008-02-24.
49293
49294 2009-03-25  Eric Blake  <ebb9@byu.net>
49295
49296         test-sockets: avoid gcc warning
49297         * tests/test-sockets.c (main): Silence compiler warning.
49298
49299 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
49300
49301         New modules nproc, pthread, contributed by Glen Lenker.
49302
49303         * MODULES.html.sh: Add pthread, nproc.
49304         * lib/nproc.c: New file.
49305         * lib/nproc.h: New file.
49306         * lib/pthread.in.h: New file.
49307         * m4/pthread.m4: New file.
49308         * modules/nproc: New file.
49309         * modules/pthread: New file.
49310
49311 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49312
49313         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
49314         New variable.
49315
49316 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
49317
49318         filevercmp: handle simple~ and numbered.~3~ backup suffixes
49319         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
49320         * tests/test-filevercmp.c: Add tests for backup suffixes.
49321
49322 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49323
49324         * modules/stdlib (Depends-on): Add stdint, needed when defining
49325         struct random_data on, for example, HP-UX 10.20.  Reported by
49326         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49327
49328 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49329
49330         * lib/readline.c (readline): Call fflush on stdout after printing
49331         prompt.
49332
49333 2009-03-20  Bruno Haible  <bruno@clisp.org>
49334
49335         Remove dependency from 'close' module to -lws2_32 on native Windows.
49336         * lib/close-hook.h: New file.
49337         * lib/close-hook.c: New file.
49338         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
49339         w32sock.h.
49340         (_gl_close_fd_maybe_socket): Remove function.
49341         (rpl_close): Invoke execute_all_close_hooks instead of
49342         _gl_close_fd_maybe_socket.
49343         * lib/sockets.c: Include close-hook.h, w32sock.h.
49344         (close_fd_maybe_socket): New function, essentially from lib/close.c.
49345         (close_sockets_hook): New variable.
49346         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
49347         (gl_sockets_cleanup): Unregister it.
49348         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
49349         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
49350         * modules/close-hook: New file.
49351         * modules/close (Files): Remove lib/w32sock.h.
49352         (Depends-on): Add close-hook.
49353         (Link): Remove section.
49354         * modules/sockets (Files): Add lib/w32sock.h.
49355         (Depends-on): Add close-hook.
49356         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
49357         invocation.
49358         * NEWS: Mention that LIB_CLOSE is gone.
49359
49360 2009-03-23  Eric Blake  <ebb9@byu.net>
49361
49362         signal-tests: test previous patch
49363         * tests/test-signal.c: New file.
49364         * modules/signal-tests: Likewise.
49365
49366         signal.h: always support 'volatile sig_atomic_t'
49367         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
49368         (gl_SIGNAL_H_DEFAULTS): Add a default.
49369         * modules/signal (Makefile.am): Substitute if needed.
49370         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
49371         users can blindly add volatile.
49372         * doc/posix-headers/signal.texi (signal.h): Document it.
49373         Reported by Matthew Woehlke.
49374
49375 2009-03-23  Jim Meyering  <meyering@redhat.com>
49376
49377         pathmax: PATH_MAX: use pathconf only when available
49378         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
49379         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
49380         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
49381         This avoids a link failure in a PSP cross-compilation environment
49382         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
49383
49384         * lib/vasnprintf.c (divide): Fix typo in comment.
49385
49386 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49387
49388         * gnulib-tool (func_filter_filelist): Fix comment.
49389
49390 2009-03-20  Bruno Haible  <bruno@clisp.org>
49391
49392         Make sockets.h self-contained.
49393         * lib/sockets.c: Include sockets.h first.
49394         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
49395
49396 2009-03-19  Eric Blake  <ebb9@byu.net>
49397
49398         doc: mention more functions added in cygwin 1.7.0
49399         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
49400         addition.
49401         * doc/posix-functions/log2f.texi: Likewise.
49402
49403 2009-03-19  Jim Meyering  <meyering@redhat.com>
49404
49405         fsusage: avoid syntax error due to statement-before-declaration
49406         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
49407         after all declarations.  Reported by Matthew Woehlke in
49408         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
49409
49410 2009-03-18  Eric Blake  <ebb9@byu.net>
49411
49412         build-aux/compile: sync from automake
49413         * build-aux/compile: New file, from automake.
49414         * config/srclist.txt: Mention build-aux/compile.
49415
49416 2009-03-17  Bruno Haible  <bruno@clisp.org>
49417
49418         * lib/git-merge-changelog.c: Fix typo in comment.
49419         Reported by Reuben Thomas <rrt@sc3d.org>.
49420
49421 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
49422
49423         * m4/regex.m4: update and improve help for
49424         --without-included-regex.
49425
49426 2009-03-17  Simon Josefsson  <simon@josefsson.org>
49427
49428         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
49429         failure on missing include files.
49430
49431 2009-03-17  Eric Blake  <ebb9@byu.net>
49432
49433         doc: mention more functions added in cygwin 1.7.0
49434         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
49435         addition.
49436         * doc/posix-functions/fwscanf.texi: Likewise.
49437         * doc/posix-functions/swprintf.texi: Likewise.
49438         * doc/posix-functions/swscanf.texi: Likewise.
49439         * doc/posix-functions/vfwprintf.texi: Likewise.
49440         * doc/posix-functions/vfwscanf.texi: Likewise.
49441         * doc/posix-functions/vswprintf.texi: Likewise.
49442         * doc/posix-functions/vswscanf.texi: Likewise.
49443         * doc/posix-functions/vwprintf.texi: Likewise.
49444         * doc/posix-functions/vwscanf.texi: Likewise.
49445         * doc/posix-functions/wcscasecmp.texi: Likewise.
49446         * doc/posix-functions/wcsdup.texi: Likewise.
49447         * doc/posix-functions/wcsftime.texi: Likewise.
49448         * doc/posix-functions/wcsncasecmp.texi: Likewise.
49449         * doc/posix-functions/wprintf.texi: Likewise.
49450         * doc/posix-functions/wscanf.texi: Likewise.
49451         * doc/glibc-functions/gethostbyname2.texi: Likewise.
49452
49453 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49454
49455         maint.mk: really add $(AM_MAKEFLAGS)
49456         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
49457         was inadvertently omitted in the last commit.
49458         Spotted by Bruno Haible.
49459
49460         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
49461         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
49462         $(AM_MAKEFLAGS)' rather than plain `make'.
49463
49464         gnulib-tool: execute $MAKE not make
49465         * gnulib-tool: Default $MAKE to 'make'.
49466         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
49467         than make.  Initialize $MAKE in the do-autobuild script.
49468
49469         gnulib-tool: use $MAKE not make in generated files
49470         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
49471         make, in generated files.  Initialize $MAKE in the do-autobuild
49472         script.
49473
49474         * top/GNUmakefile (_have-git-version-gen): Fix typo.
49475
49476         GNUmakefile: disable parallelism only for multiple, recursive targets
49477         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
49478         additions in the Makefile.
49479         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
49480         by Automake.
49481         (.NOTPARALLEL): Only disable parallel builds if multiple targets
49482         are listed on the command line and at least one of them is
49483         listed in $(ALL_RECURSIVE_TARGETS).
49484
49485 2009-03-14  Bruno Haible  <bruno@clisp.org>
49486
49487         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
49488         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
49489         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
49490         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
49491         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
49492         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
49493         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
49494         unistr/u8-uctomb.
49495         * modules/unistr/u8-strchr (Depends-on): Likewise.
49496         * modules/unistr/u8-strrchr (Depends-on): Likewise.
49497         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
49498         unistr/u16-uctomb.
49499         * modules/unistr/u16-strchr (Depends-on): Likewise.
49500         * modules/unistr/u16-strrchr (Depends-on): Likewise.
49501
49502 2009-03-12  Bruno Haible  <bruno@clisp.org>
49503
49504         Work around select() bug on Interix 3.5.
49505         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
49506         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
49507         * m4/select.m4: New file.
49508         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
49509         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
49510         * modules/select (Files): Add m4/select.m4.
49511         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
49512         * modules/nanosleep (Depends-on): Add select.
49513         * modules/poll (Depends-on): Likewise.
49514         * doc/posix-functions/select.texi: Mention the Interix bug.
49515         Reported by Markus Duft <mduft@gentoo.org>.
49516
49517         * lib/select.c: Renamed from lib/winsock-select.c.
49518         * modules/select (Files): Add lib/select.c, remove
49519         lib/winsock-select.c.
49520         (configure.ac): Update.
49521
49522 2009-03-12  Jim Meyering  <meyering@redhat.com>
49523
49524         avoid gcc warnings about unused macro definitions
49525         * lib/readtokens.c (STREQ): Remove unused definition.
49526         * lib/xmalloc.c (SIZE_MAX): Likewise.
49527         * lib/openat-die.c (N_): Likewise.
49528         * lib/mountlist.c (SIZE_MAX): Remove definition.
49529         Instead, include <stdint.h>.
49530         * lib/readutmp.c: Likewise.
49531         * modules/readutmp (Depends-on): Add stdint.
49532         * modules/mountlist (Depends-on): Add stdint.
49533         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
49534
49535 2009-03-10  Bruno Haible  <bruno@clisp.org>
49536
49537         Tests for module 'mbmemcasecoll'.
49538         * modules/mbmemcasecoll-tests: New file.
49539         * tests/test-mbmemcasecoll1.sh: New file.
49540         * tests/test-mbmemcasecoll2.sh: New file.
49541         * tests/test-mbmemcasecoll3.sh: New file.
49542         * tests/test-mbmemcasecoll.c: New file.
49543
49544         New module 'mbmemcasecoll'.
49545         * lib/mbmemcasecoll.h: New file.
49546         * lib/mbmemcasecoll.c: New file.
49547         * modules/mbmemcasecoll: New file.
49548
49549         * tests/test-mbmemcasecmp.h: New file, extracted from
49550         tests/test-mbmemcasecmp.c.
49551         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
49552         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
49553         (main): Update.
49554         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
49555
49556 2009-03-09  Bruno Haible  <bruno@clisp.org>
49557
49558         Tests for module 'mbmemcasecmp'.
49559         * modules/mbmemcasecmp-tests: New file.
49560         * tests/test-mbmemcasecmp1.sh: New file.
49561         * tests/test-mbmemcasecmp2.sh: New file.
49562         * tests/test-mbmemcasecmp3.sh: New file.
49563         * tests/test-mbmemcasecmp.c: New file.
49564
49565         New module 'mbmemcasecmp'.
49566         * lib/mbmemcasecmp.h: New file.
49567         * lib/mbmemcasecmp.c: New file.
49568         * modules/mbmemcasecmp: New file.
49569
49570 2009-03-09  Bruno Haible  <bruno@clisp.org>
49571
49572         Tests for module 'unicase/ulc-casecoll'.
49573         * modules/unicase/ulc-casecoll-tests: New file.
49574         * tests/unicase/test-ulc-casecoll1.sh: New file.
49575         * tests/unicase/test-ulc-casecoll2.sh: New file.
49576         * tests/unicase/test-ulc-casecoll.c: New file.
49577
49578         New module 'unicase/ulc-casecoll'.
49579         * lib/unicase.h (ulc_casecoll): New declaration.
49580         * lib/unicase/ulc-casecoll.c: New file.
49581         * modules/unicase/ulc-casecoll: New file.
49582
49583         New module 'unicase/ulc-casexfrm'.
49584         * lib/unicase.h (ulc_casexfrm): New declaration.
49585         * lib/unicase/ulc-casexfrm.c: New file.
49586         * modules/unicase/ulc-casexfrm: New file.
49587
49588 2009-03-09  Bruno Haible  <bruno@clisp.org>
49589
49590         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
49591         invocations.
49592
49593         * m4/mbscasecmp.m4: Remove file.
49594         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
49595         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
49596
49597         * m4/mbscasestr.m4: Remove file.
49598         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
49599         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
49600
49601         * m4/mbschr.m4: Remove file.
49602         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
49603         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
49604
49605         * m4/mbscspn.m4: Remove file.
49606         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
49607         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
49608
49609         * m4/mbslen.m4: Remove file.
49610         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
49611         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
49612
49613         * m4/mbsncasecmp.m4: Remove file.
49614         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
49615         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
49616
49617         * m4/mbsnlen.m4: Remove file.
49618         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
49619         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
49620
49621         * m4/mbspbrk.m4: Remove file.
49622         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
49623         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
49624
49625         * m4/mbspcasecmp.m4: Remove file.
49626         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
49627         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
49628
49629         * m4/mbsrchr.m4: Remove file.
49630         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
49631         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
49632
49633         * m4/mbssep.m4: Remove file.
49634         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
49635         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
49636
49637         * m4/mbsspn.m4: Remove file.
49638         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
49639         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
49640
49641         * m4/mbsstr.m4: Remove file.
49642         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
49643         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
49644
49645         * m4/mbstok_r.m4: Remove file.
49646         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
49647         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
49648
49649         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
49650
49651         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
49652         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
49653
49654         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
49655
49656 2009-03-08  Bruno Haible  <bruno@clisp.org>
49657
49658         Tests for module 'unicase/ulc-casecmp'.
49659         * modules/unicase/ulc-casecmp-tests: New file.
49660         * tests/unicase/test-ulc-casecmp1.sh: New file.
49661         * tests/unicase/test-ulc-casecmp2.sh: New file.
49662         * tests/unicase/test-ulc-casecmp.c: New file.
49663
49664         New module 'unicase/ulc-casecmp'.
49665         * lib/unicase.h (ulc_casecmp): New declaration.
49666         * lib/unicase/ulc-casecmp.c: New file.
49667         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
49668         'const SRC_UNIT *'.
49669         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
49670         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
49671         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
49672         * modules/unicase/ulc-casecmp: New file.
49673
49674         Tests for module 'unicase/u32-is-cased'.
49675         * modules/unicase/u32-is-cased-tests: New file.
49676         * tests/unicase/test-u32-is-cased.c: New file.
49677
49678         Tests for module 'unicase/u16-is-cased'.
49679         * modules/unicase/u16-is-cased-tests: New file.
49680         * tests/unicase/test-u16-is-cased.c: New file.
49681
49682         Tests for module 'unicase/u8-is-cased'.
49683         * modules/unicase/u8-is-cased-tests: New file.
49684         * tests/unicase/test-u8-is-cased.c: New file.
49685         * tests/unicase/test-is-cased.h: New file.
49686
49687         New module 'unicase/u32-is-cased'.
49688         * lib/unicase/u32-is-cased.c: New file.
49689         * modules/unicase/u32-is-cased: New file.
49690
49691         New module 'unicase/u16-is-cased'.
49692         * lib/unicase/u16-is-cased.c: New file.
49693         * modules/unicase/u16-is-cased: New file.
49694
49695         New module 'unicase/u8-is-cased'.
49696         * lib/unicase/u8-is-cased.c: New file.
49697         * lib/unicase/u-is-cased.h: New file.
49698         * modules/unicase/u8-is-cased: New file.
49699
49700         Tests for module 'unicase/u32-is-casefolded'.
49701         * modules/unicase/u32-is-casefolded-tests: New file.
49702         * tests/unicase/test-u32-is-casefolded.c: New file.
49703
49704         Tests for module 'unicase/u16-is-casefolded'.
49705         * modules/unicase/u16-is-casefolded-tests: New file.
49706         * tests/unicase/test-u16-is-casefolded.c: New file.
49707
49708         Tests for module 'unicase/u8-is-casefolded'.
49709         * modules/unicase/u8-is-casefolded-tests: New file.
49710         * tests/unicase/test-u8-is-casefolded.c: New file.
49711         * tests/unicase/test-is-casefolded.h: New file.
49712
49713         New module 'unicase/u32-is-casefolded'.
49714         * lib/unicase/u32-is-casefolded.c: New file.
49715         * modules/unicase/u32-is-casefolded: New file.
49716
49717         New module 'unicase/u16-is-casefolded'.
49718         * lib/unicase/u16-is-casefolded.c: New file.
49719         * modules/unicase/u16-is-casefolded: New file.
49720
49721         New module 'unicase/u8-is-casefolded'.
49722         * lib/unicase/u8-is-casefolded.c: New file.
49723         * modules/unicase/u8-is-casefolded: New file.
49724
49725         Tests for module 'unicase/u32-is-titlecase'.
49726         * modules/unicase/u32-is-titlecase-tests: New file.
49727         * tests/unicase/test-u32-is-titlecase.c: New file.
49728
49729         Tests for module 'unicase/u16-is-titlecase'.
49730         * modules/unicase/u16-is-titlecase-tests: New file.
49731         * tests/unicase/test-u16-is-titlecase.c: New file.
49732
49733         Tests for module 'unicase/u8-is-titlecase'.
49734         * modules/unicase/u8-is-titlecase-tests: New file.
49735         * tests/unicase/test-u8-is-titlecase.c: New file.
49736         * tests/unicase/test-is-titlecase.h: New file.
49737
49738         New module 'unicase/u32-is-titlecase'.
49739         * lib/unicase/u32-is-titlecase.c: New file.
49740         * modules/unicase/u32-is-titlecase: New file.
49741
49742         New module 'unicase/u16-is-titlecase'.
49743         * lib/unicase/u16-is-titlecase.c: New file.
49744         * modules/unicase/u16-is-titlecase: New file.
49745
49746         New module 'unicase/u8-is-titlecase'.
49747         * lib/unicase/u8-is-titlecase.c: New file.
49748         * modules/unicase/u8-is-titlecase: New file.
49749
49750         Tests for module 'unicase/u32-is-lowercase'.
49751         * modules/unicase/u32-is-lowercase-tests: New file.
49752         * tests/unicase/test-u32-is-lowercase.c: New file.
49753
49754         Tests for module 'unicase/u16-is-lowercase'.
49755         * modules/unicase/u16-is-lowercase-tests: New file.
49756         * tests/unicase/test-u16-is-lowercase.c: New file.
49757
49758         Tests for module 'unicase/u8-is-lowercase'.
49759         * modules/unicase/u8-is-lowercase-tests: New file.
49760         * tests/unicase/test-u8-is-lowercase.c: New file.
49761         * tests/unicase/test-is-lowercase.h: New file.
49762
49763         New module 'unicase/u32-is-lowercase'.
49764         * lib/unicase/u32-is-lowercase.c: New file.
49765         * modules/unicase/u32-is-lowercase: New file.
49766
49767         New module 'unicase/u16-is-lowercase'.
49768         * lib/unicase/u16-is-lowercase.c: New file.
49769         * modules/unicase/u16-is-lowercase: New file.
49770
49771         New module 'unicase/u8-is-lowercase'.
49772         * lib/unicase/u8-is-lowercase.c: New file.
49773         * modules/unicase/u8-is-lowercase: New file.
49774
49775         Tests for module 'unicase/u32-is-uppercase'.
49776         * modules/unicase/u32-is-uppercase-tests: New file.
49777         * tests/unicase/test-u32-is-uppercase.c: New file.
49778
49779         Tests for module 'unicase/u16-is-uppercase'.
49780         * modules/unicase/u16-is-uppercase-tests: New file.
49781         * tests/unicase/test-u16-is-uppercase.c: New file.
49782
49783         Tests for module 'unicase/u8-is-uppercase'.
49784         * modules/unicase/u8-is-uppercase-tests: New file.
49785         * tests/unicase/test-u8-is-uppercase.c: New file.
49786         * tests/unicase/test-is-uppercase.h: New file.
49787
49788         New module 'unicase/u32-is-uppercase'.
49789         * lib/unicase/u32-is-uppercase.c: New file.
49790         * modules/unicase/u32-is-uppercase: New file.
49791
49792         New module 'unicase/u16-is-uppercase'.
49793         * lib/unicase/u16-is-uppercase.c: New file.
49794         * modules/unicase/u16-is-uppercase: New file.
49795
49796         New module 'unicase/u8-is-uppercase'.
49797         * lib/unicase/u8-is-uppercase.c: New file.
49798         * modules/unicase/u8-is-uppercase: New file.
49799
49800         New module 'unicase/u32-is-invariant'.
49801         * lib/unicase/u32-is-invariant.c: New file.
49802         * modules/unicase/u32-is-invariant: New file.
49803
49804         New module 'unicase/u16-is-invariant'.
49805         * lib/unicase/u16-is-invariant.c: New file.
49806         * modules/unicase/u16-is-invariant: New file.
49807
49808         New module 'unicase/u8-is-invariant'.
49809         * lib/unicase/u8-is-invariant.c: New file.
49810         * lib/unicase/invariant.h: New file.
49811         * lib/unicase/u-is-invariant.h: New file.
49812         * modules/unicase/u8-is-invariant: New file.
49813
49814         Tests for module 'unicase/u32-casecoll'.
49815         * modules/unicase/u32-casecoll-tests: New file.
49816         * tests/unicase/test-u32-casecoll.c: New file.
49817
49818         Tests for module 'unicase/u16-casecoll'.
49819         * modules/unicase/u16-casecoll-tests: New file.
49820         * tests/unicase/test-u16-casecoll.c: New file.
49821
49822         Tests for module 'unicase/u8-casecoll'.
49823         * modules/unicase/u8-casecoll-tests: New file.
49824         * tests/unicase/test-u8-casecoll.c: New file.
49825
49826         New module 'unicase/u32-casecoll'.
49827         * lib/unicase/u32-casecoll.c: New file.
49828         * modules/unicase/u32-casecoll: New file.
49829
49830         New module 'unicase/u16-casecoll'.
49831         * lib/unicase/u16-casecoll.c: New file.
49832         * modules/unicase/u16-casecoll: New file.
49833
49834         New module 'unicase/u8-casecoll'.
49835         * lib/unicase/u8-casecoll.c: New file.
49836         * lib/unicase/u-casecoll.h: New file.
49837         * modules/unicase/u8-casecoll: New file.
49838
49839         New module 'unicase/u32-casexfrm'.
49840         * lib/unicase/u32-casexfrm.c: New file.
49841         * modules/unicase/u32-casexfrm: New file.
49842
49843         New module 'unicase/u16-casexfrm'.
49844         * lib/unicase/u16-casexfrm.c: New file.
49845         * modules/unicase/u16-casexfrm: New file.
49846
49847         New module 'unicase/u8-casexfrm'.
49848         * lib/unicase/u8-casexfrm.c: New file.
49849         * lib/unicase/u-casexfrm.h: New file.
49850         * modules/unicase/u8-casexfrm: New file.
49851
49852         Tests for module 'unicase/u32-casecmp'.
49853         * modules/unicase/u32-casecmp-tests: New file.
49854         * tests/unicase/test-u32-casecmp.c: New file.
49855
49856         Tests for module 'unicase/u16-casecmp'.
49857         * modules/unicase/u16-casecmp-tests: New file.
49858         * tests/unicase/test-u16-casecmp.c: New file.
49859
49860         Tests for module 'unicase/u8-casecmp'.
49861         * modules/unicase/u8-casecmp-tests: New file.
49862         * tests/unicase/test-u8-casecmp.c: New file.
49863         * tests/unicase/test-casecmp.h: New file.
49864
49865         New module 'unicase/u32-casecmp'.
49866         * lib/unicase/u32-casecmp.c: New file.
49867         * modules/unicase/u32-casecmp: New file.
49868
49869         New module 'unicase/u16-casecmp'.
49870         * lib/unicase/u16-casecmp.c: New file.
49871         * modules/unicase/u16-casecmp: New file.
49872
49873         New module 'unicase/u8-casecmp'.
49874         * lib/unicase/u8-casecmp.c: New file.
49875         * lib/unicase/u-casecmp.h: New file.
49876         * modules/unicase/u8-casecmp: New file.
49877
49878         Tests for module 'unicase/u32-casefold'.
49879         * modules/unicase/u32-casefold-tests: New file.
49880         * tests/unicase/test-u32-casefold.c: New file.
49881
49882         Tests for module 'unicase/u16-casefold'.
49883         * modules/unicase/u16-casefold-tests: New file.
49884         * tests/unicase/test-u16-casefold.c: New file.
49885
49886         Tests for module 'unicase/u8-casefold'.
49887         * modules/unicase/u8-casefold-tests: New file.
49888         * tests/unicase/test-u8-casefold.c: New file.
49889
49890         New module 'unicase/u32-casefold'.
49891         * lib/unicase/u32-casefold.c: New file.
49892         * modules/unicase/u32-casefold: New file.
49893
49894         New module 'unicase/u16-casefold'.
49895         * lib/unicase/u16-casefold.c: New file.
49896         * modules/unicase/u16-casefold: New file.
49897
49898         New module 'unicase/u8-casefold'.
49899         * lib/unicase/u8-casefold.c: New file.
49900         * lib/unicase/u-casefold.h: New file.
49901         * modules/unicase/u8-casefold: New file.
49902
49903         New module 'unicase/tocasefold'.
49904         * lib/unicase/casefold.h: New file.
49905         * lib/unicase/tocasefold.c: New file.
49906         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
49907         * modules/unicase/tocasefold: New file.
49908
49909         Tests for module 'unicase/u32-totitle'.
49910         * modules/unicase/u32-totitle-tests: New file.
49911         * tests/unicase/test-u32-totitle.c: New file.
49912
49913         Tests for module 'unicase/u16-totitle'.
49914         * modules/unicase/u16-totitle-tests: New file.
49915         * tests/unicase/test-u16-totitle.c: New file.
49916
49917         Tests for module 'unicase/u8-totitle'.
49918         * modules/unicase/u8-totitle-tests: New file.
49919         * tests/unicase/test-u8-totitle.c: New file.
49920
49921         New module 'unicase/u32-totitle'.
49922         * lib/unicase/u32-totitle.c: New file.
49923         * modules/unicase/u32-totitle: New file.
49924
49925         New module 'unicase/u16-totitle'.
49926         * lib/unicase/u16-totitle.c: New file.
49927         * modules/unicase/u16-totitle: New file.
49928
49929         New module 'unicase/u8-totitle'.
49930         * lib/unicase/u8-totitle.c: New file.
49931         * lib/unicase/u-totitle.h: New file.
49932         * modules/unicase/u8-totitle: New file.
49933
49934         Tests for module 'unicase/u32-tolower'.
49935         * modules/unicase/u32-tolower-tests: New file.
49936         * tests/unicase/test-u32-tolower.c: New file.
49937
49938         Tests for module 'unicase/u16-tolower'.
49939         * modules/unicase/u16-tolower-tests: New file.
49940         * tests/unicase/test-u16-tolower.c: New file.
49941
49942         Tests for module 'unicase/u8-tolower'.
49943         * modules/unicase/u8-tolower-tests: New file.
49944         * tests/unicase/test-u8-tolower.c: New file.
49945
49946         New module 'unicase/u32-tolower'.
49947         * lib/unicase/u32-tolower.c: New file.
49948         * modules/unicase/u32-tolower: New file.
49949
49950         New module 'unicase/u16-tolower'.
49951         * lib/unicase/u16-tolower.c: New file.
49952         * modules/unicase/u16-tolower: New file.
49953
49954         New module 'unicase/u8-tolower'.
49955         * lib/unicase/u8-tolower.c: New file.
49956         * modules/unicase/u8-tolower: New file.
49957
49958         Tests for module 'unicase/u32-toupper'.
49959         * modules/unicase/u32-toupper-tests: New file.
49960         * tests/unicase/test-u32-toupper.c: New file.
49961
49962         Tests for module 'unicase/u16-toupper'.
49963         * modules/unicase/u16-toupper-tests: New file.
49964         * tests/unicase/test-u16-toupper.c: New file.
49965
49966         Tests for module 'unicase/u8-toupper'.
49967         * modules/unicase/u8-toupper-tests: New file.
49968         * tests/unicase/test-u8-toupper.c: New file.
49969
49970         New module 'unicase/u32-toupper'.
49971         * lib/unicase/u32-toupper.c: New file.
49972         * modules/unicase/u32-toupper: New file.
49973
49974         New module 'unicase/u16-toupper'.
49975         * lib/unicase/u16-toupper.c: New file.
49976         * modules/unicase/u16-toupper: New file.
49977
49978         New module 'unicase/u8-toupper'.
49979         * lib/unicase/u8-toupper.c: New file.
49980         * modules/unicase/u8-toupper: New file.
49981
49982         New module 'unicase/u32-casemap'.
49983         * lib/unicase/u32-casemap.c: New file.
49984         * modules/unicase/u32-casemap: New file.
49985
49986         New module 'unicase/u16-casemap'.
49987         * lib/unicase/u16-casemap.c: New file.
49988         * modules/unicase/u16-casemap: New file.
49989
49990         New module 'unicase/u8-casemap'.
49991         * lib/unicase/unicasemap.h: New file.
49992         * lib/unicase/u8-casemap.c: New file.
49993         * lib/unicase/u-casemap.h: New file.
49994         * modules/unicase/u8-casemap: New file.
49995
49996         New module 'unicase/special-casing'.
49997         * lib/unicase/special-casing.h: New file.
49998         * lib/unicase/special-casing.c: New file.
49999         * lib/unicase/special-casing-table.gperf: New file, generated by
50000         gen-uni-tables.c.
50001         * modules/unicase/special-casing: New file.
50002
50003         Tests for module 'unicase/locale-language'.
50004         * modules/unicase/locale-language-tests: New file.
50005         * tests/unicase/test-locale-language.sh: New file.
50006         * tests/unicase/test-locale-language.c: New file.
50007
50008         New module 'unicase/locale-language'.
50009         * lib/unicase/locale-language.c: New file.
50010         * lib/unicase/locale-languages.gperf: New file.
50011         * modules/unicase/locale-language: New file.
50012
50013         Generate more tables for case conversion and case folding.
50014         * lib/gen-uni-tables.c (SCC_*): New enum items.
50015         (struct special_casing_rule): New type.
50016         (casing_rules, num_casing_rules, allocated_casing_rules): New
50017         variables.
50018         (add_casing_rule, fill_casing_rules): New functions.
50019         (struct casefold_rule): New type.
50020         (casefolding_rules, num_casefolding_rules,
50021         allocated_casefolding_rules): New variables.
50022         (fill_casefolding_rules): New function.
50023         (unicode_casefold): New variable.
50024         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
50025         sort_casing_rules, output_casing_rules): New functions.
50026         (main): Accept to more arguments: SpecialCasing.txt and
50027         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
50028         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
50029         Output mapping for casefolding.
50030
50031         * lib/unicase.h: Include stdbool.h, uninorm.h.
50032         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
50033         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
50034         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
50035         arguments.
50036         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
50037         resultp arguments.
50038         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
50039         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
50040         resultp arguments.
50041         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
50042         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
50043         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
50044         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
50045         declarations.
50046         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
50047
50048 2009-03-08  Bruno Haible  <bruno@clisp.org>
50049
50050         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50051         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
50052         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
50053         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50054
50055 2009-03-07  Bruno Haible  <bruno@clisp.org>
50056
50057         Adjust u*_normcmp, u*_normcoll API.
50058         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50059         u16_normcoll, u32_normcoll): Change failure conventions.
50060         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
50061         errno and return -1.
50062         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50063
50064 2009-03-07  Bruno Haible  <bruno@clisp.org>
50065
50066         Tests for module 'uninorm/u32-normcoll'.
50067         * modules/uninorm/u32-normcoll-tests: New file.
50068         * tests/uninorm/test-u32-normcoll.c: New file.
50069
50070         Tests for module 'uninorm/u16-normcoll'.
50071         * modules/uninorm/u16-normcoll-tests: New file.
50072         * tests/uninorm/test-u16-normcoll.c: New file.
50073
50074         Tests for module 'uninorm/u8-normcoll'.
50075         * modules/uninorm/u8-normcoll-tests: New file.
50076         * tests/uninorm/test-u8-normcoll.c: New file.
50077
50078 2009-03-07  Bruno Haible  <bruno@clisp.org>
50079
50080         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
50081         tests/uninorm/test-u32-normcmp.c.
50082         * tests/uninorm/test-u32-normcmp.c: Include it.
50083         (test_nonascii): New function, extracted from main. Add some more
50084         tests.
50085         (main): Invoke test_ascii and test_nonascii.
50086         * modules/uninorm/u32-normcmp-tests (Files): Add
50087         tests/uninorm/test-u32-normcmp.h.
50088         (Depends-on): Remove uninorm/u32-normcmp.
50089
50090         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
50091         tests/uninorm/test-u16-normcmp.c.
50092         * tests/uninorm/test-u16-normcmp.c: Include it.
50093         (test_nonascii): New function, extracted from main. Add some more
50094         tests.
50095         (main): Invoke test_ascii and test_nonascii.
50096         * modules/uninorm/u16-normcmp-tests (Files): Add
50097         tests/uninorm/test-u16-normcmp.h.
50098         (Depends-on): Remove uninorm/u16-normcmp.
50099
50100         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
50101         tests/uninorm/test-u8-normcmp.c.
50102         * tests/uninorm/test-u8-normcmp.c: Include it.
50103         (test_nonascii): New function, extracted from main. Add some more
50104         tests.
50105         (main): Invoke test_ascii and test_nonascii.
50106         * modules/uninorm/u8-normcmp-tests (Files): Add
50107         tests/uninorm/test-u8-normcmp.h.
50108         (Depends-on): Remove uninorm/u8-normcmp.
50109
50110 2009-03-07  Bruno Haible  <bruno@clisp.org>
50111
50112         New module 'uninorm/u32-normcoll'.
50113         * lib/uninorm/u32-normcoll.c: New file.
50114         * modules/uninorm/u32-normcoll: New file.
50115
50116         New module 'uninorm/u16-normcoll'.
50117         * lib/uninorm/u16-normcoll.c: New file.
50118         * modules/uninorm/u16-normcoll: New file.
50119
50120         New module 'uninorm/u8-normcoll'.
50121         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
50122         declarations.
50123         * lib/uninorm/u8-normcoll.c: New file.
50124         * lib/uninorm/u-normcoll.h: New file.
50125         * modules/uninorm/u8-normcoll: New file.
50126
50127         New module 'uninorm/u32-normxfrm'.
50128         * lib/uninorm/u32-normxfrm.c: New file.
50129         * modules/uninorm/u32-normxfrm: New file.
50130
50131         New module 'uninorm/u16-normxfrm'.
50132         * lib/uninorm/u16-normxfrm.c: New file.
50133         * modules/uninorm/u16-normxfrm: New file.
50134
50135         New module 'uninorm/u8-normxfrm'.
50136         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
50137         declarations.
50138         * lib/uninorm/u8-normxfrm.c: New file.
50139         * lib/uninorm/u-normxfrm.h: New file.
50140         * modules/uninorm/u8-normxfrm: New file.
50141
50142 2009-03-07  Bruno Haible  <bruno@clisp.org>
50143
50144         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
50145         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
50146         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
50147
50148 2009-03-07  Bruno Haible  <bruno@clisp.org>
50149
50150         New module 'memxfrm'.
50151         * lib/memxfrm.h: New file.
50152         * lib/memxfrm.c: New file.
50153         * modules/memxfrm: New file.
50154
50155 2009-03-07  Bruno Haible  <bruno@clisp.org>
50156
50157         New module 'memcmp2'.
50158         * lib/memcmp2.h: New file.
50159         * lib/memcmp2.c: New file.
50160         * modules/memcmp2: New file.
50161
50162 2009-03-07  Bruno Haible  <bruno@clisp.org>
50163
50164         Tests for module 'uninorm/decomposing-form'.
50165         * modules/uninorm/decomposing-form-tests: New file.
50166         * tests/uninorm/test-decomposing-form.c: New file.
50167
50168         New module 'uninorm/decomposing-form'.
50169         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
50170         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
50171         Add 'decomposing_variant' field.
50172         * lib/uninorm/decomposing-form.c: New file.
50173         * lib/uninorm/nfc.c (uninorm_nfc): Update.
50174         * lib/uninorm/nfd.c (uninorm_nfd): Update.
50175         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
50176         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
50177         * modules/uninorm/decomposing-form: New file.
50178         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
50179         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
50180
50181 2009-03-07  Bruno Haible  <bruno@clisp.org>
50182
50183         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
50184         strings.
50185
50186 2009-03-06  Bruno Haible  <bruno@clisp.org>
50187
50188         Tests for module 'uninorm/u32-normcmp'.
50189         * tests/uninorm/test-u32-normcmp.c: New file.
50190         * modules/uninorm/u32-normcmp-tests: New file.
50191
50192         Tests for module 'uninorm/u16-normcmp'.
50193         * tests/uninorm/test-u16-normcmp.c: New file.
50194         * modules/uninorm/u16-normcmp-tests: New file.
50195
50196         Tests for module 'uninorm/u8-normcmp'.
50197         * tests/uninorm/test-u8-normcmp.c: New file.
50198         * modules/uninorm/u8-normcmp-tests: New file.
50199
50200         New module 'uninorm/u32-normcmp'.
50201         * lib/uninorm/u32-normcmp.c: New file.
50202         * modules/uninorm/u32-normcmp: New file.
50203
50204         New module 'uninorm/u16-normcmp'.
50205         * lib/uninorm/u16-normcmp.c: New file.
50206         * modules/uninorm/u16-normcmp: New file.
50207
50208         New module 'uninorm/u8-normcmp'.
50209         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
50210         declarations.
50211         * lib/uninorm/u8-normcmp.c: New file.
50212         * lib/uninorm/u-normcmp.h: New file.
50213         * modules/uninorm/u8-normcmp: New file.
50214
50215 2009-03-06  Bruno Haible  <bruno@clisp.org>
50216
50217         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
50218         Reported by Eric Blake.
50219
50220 2009-03-06  Eric Blake  <ebb9@byu.net>
50221             Bruno Haible  <bruno@clisp.org>
50222
50223         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
50224         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
50225         condition.
50226         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50227         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
50228         condition.
50229         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50230
50231 2009-03-06  Eric Blake  <ebb9@byu.net>
50232
50233         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
50234         to avoid compiler warnings.
50235         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
50236
50237 2009-03-05  Bruno Haible  <bruno@clisp.org>
50238
50239         * tests/test-ftell.c (main): Disable test beyond end of file on
50240         FreeMiNT.
50241         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50242
50243 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
50244
50245         * lib/filevercmp.c: Move hidden files up in ordering.
50246         * tests/test-filevercmp.c: Add tests for hidden files.
50247
50248 2009-03-04  Bruno Haible  <bruno@clisp.org>
50249
50250         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
50251         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
50252         AM_CFLAGS.
50253         Reported by Simon Josefsson.
50254
50255 2009-03-03  Bruno Haible  <bruno@clisp.org>
50256
50257         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
50258         Reported by Simon Josefsson.
50259
50260         * doc/ld-version-script.texi: Update node reference.
50261
50262 2009-03-03  Bruno Haible  <bruno@clisp.org>
50263
50264         * modules/visibility (License): Change to 'unlimited'.
50265         Suggested by Simon Josefsson.
50266
50267 2009-03-03  Jim Meyering  <meyering@redhat.com>
50268
50269         unlinkdir: cannot_unlink_dir may modify process state
50270         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
50271         it's neither thread-safe nor appropriate for use in a library.
50272
50273 2009-03-03  Eric Blake  <ebb9@byu.net>
50274
50275         test-closein: silence test under Darwin
50276         * tests/test-closein.sh: Ignore stderr from cat, since we don't
50277         care if it dies from EPIPE or EBADF.
50278
50279 2009-03-03  Bruno Haible  <bruno@clisp.org>
50280
50281         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
50282         earlier.
50283         * doc/visibility.texi: Fix @node and @section.
50284
50285 2009-03-03  Simon Josefsson  <simon@josefsson.org>
50286
50287         * doc/gnulib.texi: Link to sections for ld version script and
50288         visibility.
50289         * doc/visibility.texi: Add @node and @section.
50290         * modules/ld-version-script: New module.
50291         * m4/ld-version-script.m4: New file.
50292         * doc/ld-version-script.texi: New file.
50293
50294 2009-03-02  David Lutterkort  <lutter@redhat.com>
50295
50296         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
50297         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50298
50299 2009-03-02  Bruno Haible  <bruno@clisp.org>
50300
50301         * doc/visibility.texi: Mention libtool's -export-symbols option.
50302
50303 2009-03-02  Jim Meyering  <meyering@redhat.com>
50304
50305         announce-gen: new option: --no-print-checksums
50306         * build-aux/announce-gen (usage): Describe it.
50307         (print_checksums): Print a newline here, not in the [*] footnote.
50308         (main): Honor it.
50309
50310 2009-03-01  Bruno Haible  <bruno@clisp.org>
50311
50312         Use socklen_t in the native Windows replacements prototypes.
50313         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
50314         instead of 'int'.
50315         * lib/getsockopt.c (rpl_getsockopt): Likewise.
50316         * lib/setsockopt.c (rpl_setsockopt): Likewise.
50317         * modules/getsockopt (Depends-on): Add socklen.
50318         * modules/setsockopt (Depends-on): Add socklen.
50319
50320 2009-03-01  Bruno Haible  <bruno@clisp.org>
50321
50322         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
50323         least 4.2.
50324
50325 2009-03-01  Eric Blake  <ebb9@byu.net>
50326             Bruno Haible  <bruno@clisp.org>
50327
50328         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
50329         error messages.
50330         * lib/wait-process.c (wait_subprocess): Omit error message about
50331         deadly signal sent to the child of termsigp != NULL.
50332
50333 2009-03-01  Eric Blake  <ebb9@byu.net>
50334
50335         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
50336
50337 2009-03-01  Bruno Haible  <bruno@clisp.org>
50338
50339         Avoid a gcc warning.
50340         * tests/test-sched.c (b): Make global.
50341         Reported by Eric Blake.
50342
50343 2009-01-19  Martin Lambers  <marlam@marlam.de>
50344
50345         Provide POSIX semantics for socket timeout options on W32.
50346         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
50347         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
50348         * modules/setsockopt: Depend on sys_time module for struct timeval.
50349         * modules/getsockopt: Depend on sys_time module for struct timeval.
50350
50351 2009-03-01  Simon Josefsson  <simon@josefsson.org>
50352
50353         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
50354         __USE_GNU, for consistency with netdb.in.h.
50355         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50356
50357 2009-03-01  Bruno Haible  <bruno@clisp.org>
50358
50359         More support for FreeMiNT.
50360         * lib/fseeko.c (rpl_fseeko): Complete last commit.
50361         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50362
50363 2009-03-01  Bruno Haible  <bruno@clisp.org>
50364
50365         More support for FreeMiNT.
50366         * lib/fpurge.c (fpurge): Correct last commit.
50367         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50368
50369 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50370
50371         Fix unportable awk script in vc-list-files.
50372         * build-aux/vc-list-files: In the replacement awk script, use
50373         substr with a second argument of 1, not zero.
50374         Report by Simon Josefsson.
50375
50376 2009-02-28  Bruno Haible  <bruno@clisp.org>
50377
50378         More support for FreeMiNT.
50379         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
50380         to FreeMiNT today.
50381         * lib/fwriting.c (fwriting): Likewise.
50382         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
50383
50384 2009-02-28  Bruno Haible  <bruno@clisp.org>
50385
50386         * tests/test-freadseek.c (main): Disable test beyond end of file on
50387         FreeMiNT.
50388         * tests/test-ftello.c (main): Likewise.
50389         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50390
50391 2009-02-28  Bruno Haible  <bruno@clisp.org>
50392
50393         Add tentative support for FreeMiNT.
50394         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
50395         * lib/fpurge.c (fpurge): Likewise.
50396         * lib/freadable.c (freadable): Likewise.
50397         * lib/freading.c (freading): Likewise.
50398         * lib/freadptr.c (freadptr): Likewise.
50399         * lib/freadseek.c (freadptrinc): Likewise.
50400         * lib/fseeko.c (rpl_fseeko): Likewise.
50401         * lib/fseterr.c (fseterr): Likewise.
50402         * lib/fwritable.c (fwritable): Likewise.
50403         * lib/fwriting.c (fwriting): Likewise.
50404         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
50405         Hourihane.
50406         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50407
50408 2009-02-28  Bruno Haible  <bruno@clisp.org>
50409
50410         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
50411         SIGCHLD.
50412         Reported by Jim Meyering.
50413
50414 2009-02-28  Bruno Haible  <bruno@clisp.org>
50415
50416         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
50417         Mention the results of these tests on various platforms.
50418         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
50419         order.
50420         * doc/posix-functions/printf.texi: Likewise.
50421         * doc/posix-functions/snprintf.texi: Likewise.
50422         * doc/posix-functions/sprintf.texi: Likewise.
50423         * doc/posix-functions/vfprintf.texi: Likewise.
50424         * doc/posix-functions/vprintf.texi: Likewise.
50425         * doc/posix-functions/vsnprintf.texi: Likewise.
50426         * doc/posix-functions/vsprintf.texi: Likewise.
50427         * doc/glibc-functions/obstack_printf.texi: Likewise.
50428         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
50429
50430 2009-02-28  Bruno Haible  <bruno@clisp.org>
50431
50432         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
50433         Reported by Loïc Minier <lool@dooz.org>.
50434
50435 2009-02-27  Bruno Haible  <bruno@clisp.org>
50436
50437         * gnulib-tool (func_import): Make the sed expression used to create the
50438         sed script for updating the .gitignore file POSIX compliant.
50439         Reported by Eric Blake.
50440
50441 2009-02-27  Bruno Haible  <bruno@clisp.org>
50442
50443         * gnulib-tool (sed): Don't alias as "sed --posix".
50444         Reported by Eric Blake.
50445
50446 2009-02-27  Bruno Haible  <bruno@clisp.org>
50447
50448         Avoid test link errors.
50449         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
50450         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
50451         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
50452         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
50453         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50454
50455 2009-02-27  Bruno Haible  <bruno@clisp.org>
50456
50457         Avoid spurious "(cached)" in configure output.
50458         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
50459         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
50460         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
50461         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
50462         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
50463         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
50464         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
50465         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
50466         Reported by Eric Blake.
50467
50468 2009-02-27  Eric Blake  <ebb9@byu.net>
50469
50470         printf: fix regression in previous patch
50471         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
50472
50473 2009-02-27  Bruno Haible  <bruno@clisp.org>
50474
50475         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
50476         value.
50477         * lib/stdint.in.h: Likewise.
50478         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
50479
50480 2009-02-27  Eric Blake  <ebb9@byu.net>
50481
50482         doc: mention more functions added in cygwin 1.7.0
50483         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
50484         addition.
50485         * doc/posix-functions/open_wmemstream.texi: Likewise.
50486         * doc/posix-functions/wcsnlen.texi: Likewise.
50487         * doc/posix-functions/wcsnrtombs.texi: Likewise.
50488         * doc/posix-functions/wcstod.texi: Likewise.
50489         * doc/posix-functions/wcstof.texi: Likewise.
50490         * doc/posix-functions/wcstoimax.texi: Likewise.
50491         * doc/posix-functions/wcstok.texi: Likewise.
50492         * doc/posix-functions/wcstoumax.texi: Likewise.
50493
50494         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
50495         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
50496         * doc/posix-functions/fprintf.texi: Update.
50497         * doc/posix-functions/printf.texi: Update.
50498         * doc/posix-functions/snprintf.texi: Update.
50499         * doc/posix-functions/sprintf.texi: Update.
50500         * doc/posix-functions/vfprintf.texi: Update.
50501         * doc/posix-functions/vprintf.texi: Update.
50502         * doc/posix-functions/vsnprintf.texi: Update.
50503         * doc/posix-functions/vsprintf.texi: Update.
50504         * doc/glibc-functions/obstack_printf.texi: Update.
50505         * doc/glibc-functions/obstack_vprintf.texi: Update.
50506
50507 2009-02-26  Eric Blake  <ebb9@byu.net>
50508
50509         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
50510         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
50511         compilation bug by using runtime conversion.
50512         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
50513         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
50514         * modules/ceill-tests (Files): Use nan.h.
50515         * modules/floorl-tests (Files): Likewise.
50516         * modules/frexpl-tests (Files): Likewise.
50517         * modules/isnanl-tests (Files): Likewise.
50518         * modules/ldexpl-tests (Files): Likewise.
50519         * modules/roundl-tests (Files): Likewise.
50520         * modules/truncl-tests (Files): Likewise.
50521         * tests/test-ceill.c (main): Use a working NaN.
50522         * tests/test-floorl.c (main): Likewise.
50523         * tests/test-frexpl.c (main): Likewise.
50524         * tests/test-isnan.c (test_long_double): Likewise.
50525         * tests/test-isnanl.h (main): Likewise.
50526         * tests/test-ldexpl.h (main): Likewise.
50527         * tests/test-roundl.h (main): Likewise.
50528         * tests/test-truncl.h (main): Likewise.
50529         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
50530
50531 2009-02-26  Eric Blake  <ebb9@byu.net>
50532             Bruno Haible  <bruno@clisp.org>
50533
50534         Work around a *printf bug with %ls on Solaris.
50535         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
50536         precision is specified, sprintf stops converting the wide string
50537         argument when the number of bytes that have been produced by this
50538         conversion equals or exceeds the precision.
50539         * doc/posix-functions/fprintf.texi: Update.
50540         * doc/posix-functions/printf.texi: Update.
50541         * doc/posix-functions/snprintf.texi: Update.
50542         * doc/posix-functions/sprintf.texi: Update.
50543         * doc/posix-functions/vfprintf.texi: Update.
50544         * doc/posix-functions/vprintf.texi: Update.
50545         * doc/posix-functions/vsnprintf.texi: Update.
50546         * doc/posix-functions/vsprintf.texi: Update.
50547         * doc/glibc-functions/obstack_printf.texi: Update.
50548         * doc/glibc-functions/obstack_vprintf.texi: Update.
50549
50550 2009-02-26  Eric Blake  <ebb9@byu.net>
50551
50552         stdlib: favor compiler check of random.h
50553         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
50554         to avoid an ObjC random.h installed by Swarm.
50555
50556 2009-02-26  Bruno Haible  <bruno@clisp.org>
50557
50558         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
50559         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
50560         Reported by Gary V. Vaughan <gary@gnu.org>.
50561
50562 2009-02-26  Bruno Haible  <bruno@clisp.org>
50563
50564         Fix *printf behaviour regarding the %ls directive.
50565         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
50566         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
50567         NEED_PRINTF_DIRECTIVE_LS.
50568         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
50569         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
50570         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50571         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
50572         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
50573         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
50574         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
50575         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50576         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50577         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50578         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50579         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
50580         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50581         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50582         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50583         * doc/posix-functions/fprintf.texi: Update.
50584         * doc/posix-functions/printf.texi: Update.
50585         * doc/posix-functions/snprintf.texi: Update.
50586         * doc/posix-functions/sprintf.texi: Update.
50587         * doc/posix-functions/vfprintf.texi: Update.
50588         * doc/posix-functions/vprintf.texi: Update.
50589         * doc/posix-functions/vsnprintf.texi: Update.
50590         * doc/posix-functions/vsprintf.texi: Update.
50591         * doc/glibc-functions/obstack_printf.texi: Update.
50592         * doc/glibc-functions/obstack_vprintf.texi: Update.
50593         Reported by Eric Blake.
50594
50595 2009-02-25  Bruno Haible  <bruno@clisp.org>
50596
50597         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
50598         with known value.
50599         Reported by Gary V. Vaughan <gary@gnu.org>.
50600
50601 2009-02-25  Bruno Haible  <bruno@clisp.org>
50602
50603         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
50604         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
50605         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
50606         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
50607         Reported by Gary V. Vaughan <gary@gnu.org>.
50608
50609 2009-02-25  Bruno Haible  <bruno@clisp.org>
50610
50611         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
50612         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
50613         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
50614         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
50615         Reported by Gary V. Vaughan <gary@gnu.org>.
50616
50617 2009-02-25  Eric Blake  <ebb9@byu.net>
50618
50619         tests: skip fseek/ftell tests if ungetc is broken
50620         * m4/ungetc.m4: New file.
50621         * modules/fseek-tests: Split test, so ungetc dependency is
50622         separate from rest of test.
50623         * modules/fseeko-tests: Likewise.
50624         * modules/ftell-tests: Likewise.
50625         * modules/ftello-tests: Likewise.
50626         * tests/test-fseek.c (main): Isolate ungetc dependency.
50627         * tests/test-fseeko.c (main): Likewise.
50628         * tests/test-ftell.c (main): Likewise.
50629         * tests/test-ftello.c (main): Likewise.
50630         * tests/test-fseek2.sh: New file.
50631         * tests/test-fseeko2.sh: Likewise.
50632         * tests/test-ftell2.sh: Likewise.
50633         * tests/test-ftello2.sh: Likewise.
50634
50635 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
50636
50637         test-getaddrinfo: fix usage of skip return code 77
50638         * tests/test-gettaddrinfo.c: Return skip code 77 only
50639         for first occurrence of skip (4x77 is not 77)
50640
50641 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
50642
50643         strtod: avoid C99 decl-after-statement
50644         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
50645
50646 2009-02-24  Eric Blake  <ebb9@byu.net>
50647
50648         strtod: detect HP-UX 11.31 bug
50649         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
50650         Reported by Gary V. Vaughan.
50651
50652 2009-02-23  Bruno Haible  <bruno@clisp.org>
50653
50654         Fix invalid read past end of memory block.
50655         * lib/vasnprintf.c (DCHAR_SET): Define.
50656         (local_wcslen): Define only when needed.
50657         (local_strnlen, local_wcsnlen): New functions.
50658         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
50659         directives that involve a conversion ourselves.
50660         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
50661         wcsnlen, mbrtowc, wcrtomb.
50662         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
50663         * tests/test-vasprintf-posix.c (test_function): Likewise.
50664         * tests/test-snprintf-posix.h (test_function): Likewise.
50665         * tests/test-sprintf-posix.h (test_function): Likewise.
50666         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50667
50668 2009-02-22  Bruno Haible  <bruno@clisp.org>
50669
50670         Implement new clarified decomposition of Hangul syllables.
50671         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
50672         of type LTV, return only a pairwise decomposition.
50673         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
50674         Likewise.
50675         * tests/uninorm/test-decomposition.c (main): Updated expected result.
50676         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
50677         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
50678
50679 2009-02-22  Bruno Haible  <bruno@clisp.org>
50680
50681         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
50682         zero-length results and shrink excess allocated memory.
50683         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
50684         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
50685         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
50686         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
50687         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
50688         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
50689         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
50690         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
50691         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
50692         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
50693         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
50694         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
50695
50696 2009-02-21  Bruno Haible  <bruno@clisp.org>
50697
50698         * doc/gnulib.texi: Include safe-alloc.texi earlier.
50699         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
50700         spaces after a period. Put a space between a macro name and its
50701         argument list. Trivial rewordings.
50702         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
50703         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
50704         (main): Return 0 explicitly.
50705
50706 2009-02-21  Bruno Haible  <bruno@clisp.org>
50707
50708         Tests for module 'uninorm/filter'.
50709         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
50710         * modules/uninorm/filter-tests: New file.
50711
50712         New module 'uninorm/filter'.
50713         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
50714         uninorm_filter_flush, uninorm_filter_free): New declarations.
50715         * lib/uninorm/uninorm-filter.c: New file.
50716         * modules/uninorm/filter: New file.
50717
50718 2009-02-21  Bruno Haible  <bruno@clisp.org>
50719
50720         Tests for module 'uninorm/nfkc'.
50721         * tests/uninorm/test-nfkc.c: New file.
50722         * tests/uninorm/test-u8-nfkc.c: New file.
50723         * tests/uninorm/test-u16-nfkc.c: New file.
50724         * tests/uninorm/test-u32-nfkc.c: New file.
50725         * tests/uninorm/test-u32-nfkc-big.sh: New file.
50726         * tests/uninorm/test-u32-nfkc-big.c: New file.
50727         * modules/uninorm/nfkc-tests: New file.
50728
50729         New module 'uninorm/nfkc'.
50730         * lib/uninorm/nfkc.c: New file.
50731         * modules/uninorm/nfkc: New file.
50732
50733         Tests for module 'uninorm/nfkd'.
50734         * tests/uninorm/test-nfkd.c: New file.
50735         * tests/uninorm/test-u8-nfkd.c: New file.
50736         * tests/uninorm/test-u16-nfkd.c: New file.
50737         * tests/uninorm/test-u32-nfkd.c: New file.
50738         * tests/uninorm/test-u32-nfkd-big.sh: New file.
50739         * tests/uninorm/test-u32-nfkd-big.c: New file.
50740         * modules/uninorm/nfkd-tests: New file.
50741
50742         New module 'uninorm/nfkd'.
50743         * lib/uninorm/nfkd.c: New file.
50744         * modules/uninorm/nfkd: New file.
50745
50746         Tests for module 'uninorm/nfc'.
50747         * tests/uninorm/test-nfc.c: New file.
50748         * tests/uninorm/test-u8-nfc.c: New file.
50749         * tests/uninorm/test-u16-nfc.c: New file.
50750         * tests/uninorm/test-u32-nfc.c: New file.
50751         * tests/uninorm/test-u32-nfc-big.sh: New file.
50752         * tests/uninorm/test-u32-nfc-big.c: New file.
50753         * modules/uninorm/nfc-tests: New file.
50754
50755         New module 'uninorm/nfc'.
50756         * lib/uninorm/nfc.c: New file.
50757         * modules/uninorm/nfc: New file.
50758
50759         Tests for module 'uninorm/nfd'.
50760         * tests/uninorm/test-nfd.c: New file.
50761         * tests/uninorm/test-u8-nfd.c: New file.
50762         * tests/uninorm/test-u16-nfd.c: New file.
50763         * tests/uninorm/test-u32-nfd.c: New file.
50764         * tests/uninorm/test-u32-nfd-big.sh: New file.
50765         * tests/uninorm/test-u32-nfd-big.c: New file.
50766         * tests/uninorm/test-u32-normalize-big.h: New file.
50767         * tests/uninorm/test-u32-normalize-big.c: New file.
50768         * tests/uninorm/NormalizationTest.txt: New file, created from
50769         Unicode 5.1.0 NormalizationTest.txt.
50770         * modules/uninorm/nfd-tests: New file.
50771
50772         New module 'uninorm/nfd'.
50773         * lib/uninorm/nfd.c: New file.
50774         * modules/uninorm/nfd: New file.
50775
50776         New module 'uninorm/u32-normalize'.
50777         * lib/uninorm/u32-normalize.c: New file.
50778         * modules/uninorm/u32-normalize: New file.
50779
50780         New module 'uninorm/u16-normalize'.
50781         * lib/uninorm/u16-normalize.c: New file.
50782         * modules/uninorm/u16-normalize: New file.
50783
50784         New module 'uninorm/u8-normalize'.
50785         * lib/uninorm/u8-normalize.c: New file.
50786         * lib/uninorm/normalize-internal.h: New file.
50787         * lib/uninorm/u-normalize-internal.h: New file.
50788         * modules/uninorm/u8-normalize: New file.
50789
50790         New module 'uninorm/decompose-internal'.
50791         * lib/uninorm/decompose-internal.c: New file.
50792         * modules/uninorm/decompose-internal: New file.
50793
50794         Tests for module 'uninorm/composition'.
50795         * tests/uninorm/test-composition.c: New file.
50796         * modules/uninorm/composition-tests: New file.
50797
50798         New module 'uninorm/composition'.
50799         * lib/uninorm/composition.c: New file.
50800         * lib/uninorm/composition-table.gperf: New file, generated by
50801         gen-uni-tables.
50802         * modules/uninorm/composition: New file.
50803
50804         Tests for module 'uninorm/compat-decomposition'.
50805         * tests/uninorm/test-compat-decomposition.c: New file.
50806         * modules/uninorm/compat-decomposition-tests: New file.
50807
50808         New module 'uninorm/compat-decomposition'.
50809         * lib/uninorm/decompose-internal.h: New file.
50810         * lib/uninorm/compat-decomposition.c: New file.
50811         * modules/uninorm/compat-decomposition: New file.
50812
50813         Tests for module 'uninorm/canonical-decomposition'.
50814         * tests/uninorm/test-canonical-decomposition.c: New file.
50815         * modules/uninorm/canonical-decomposition-tests: New file.
50816
50817         New module 'uninorm/canonical-decomposition'.
50818         * lib/uninorm/canonical-decomposition.c: New file.
50819         * modules/uninorm/canonical-decomposition: New file.
50820
50821         Tests for module 'uninorm/decomposition'.
50822         * tests/uninorm/test-decomposition.c: New file.
50823         * modules/uninorm/decomposition-tests: New file.
50824
50825         New module 'uninorm/decomposition'.
50826         * lib/uninorm/decomposition.c: New file.
50827         * modules/uninorm/decomposition: New file.
50828
50829         New module 'uninorm/decomposition-table'.
50830         * lib/uninorm/decomposition-table.h: New file.
50831         * lib/uninorm/decomposition-table.c: New file.
50832         * lib/uninorm/decomposition-table1.h: New file, generated by
50833         gen-uni-tables.
50834         * lib/uninorm/decomposition-table2.h: New file, generated by
50835         gen-uni-tables.
50836         * modules/uninorm/decomposition-table: New file.
50837
50838         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
50839         (UC_DECOMP_*): New enumeration items.
50840         (get_decomposition): New function.
50841         (struct decomp_table): New type.
50842         (output_decomposition, output_decomposition_tables): New functions.
50843         (unicode_composition_exclusions): New variable.
50844         (fill_composition_exclusions, debug_output_composition_tables): New
50845         functions.
50846         (main): Accept one more argument. Invoke fill_composition_exclusions.
50847         Output decomposition and composition tables.
50848
50849         New module 'uninorm/base'.
50850         * lib/uninorm.h: New file.
50851         * lib/unictype.h: Update comment.
50852         * modules/uninorm/base: New file.
50853
50854 2009-02-21  David Lutterkort  <lutter@redhat.com>
50855
50856         Tests for module 'safe-alloc'.
50857         * tests/test-safe-alloc.c: New file.
50858         * modules/safe-alloc-tests: New file.
50859
50860         New module 'safe-alloc'.
50861         * lib/safe-alloc.h: New file.
50862         * lib/safe-alloc.c: New file.
50863         * m4/safe-alloc.m4: New file.
50864         * modules/safe-alloc: New file.
50865         * doc/safe-alloc.texi: New file.
50866         * doc/gnulib.texi: Include it.
50867         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
50868         safe-alloc.
50869
50870 2009-02-18  Bruno Haible  <bruno@clisp.org>
50871
50872         Fix link error on non-glibc systems.
50873         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
50874         variable.
50875         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50876
50877 2009-02-18  Jim Meyering  <meyering@redhat.com>
50878
50879         fts: avoid used-uninitialized error due to recent change
50880         * lib/fts.c (fts_read): Guard uses of the new member,
50881         parent->fts_n_dirs_remaining, since it's not relevant for
50882         the parent of a directory specified on the command-line.
50883
50884 2009-02-17  James Youngman  <jay@gnu.org>
50885             Bruno Haible  <bruno@clisp.org>
50886
50887         * m4/include_next.m4: Reformulate comment.
50888
50889 2009-02-16  Jim Meyering  <meyering@redhat.com>
50890
50891         fts: add #if guards so that the fts_lgpl module still builds
50892         * lib/fts.c: Guard just-added hash-table-using parts with
50893         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
50894         Reported by Simon Josefsson.
50895
50896 2009-02-15  Bruno Haible  <bruno@clisp.org>
50897
50898         * modules/array-mergesort-tests: New file.
50899         * tests/test-array-mergesort.c: New file.
50900
50901         New module 'array-mergesort'.
50902         * modules/array-mergesort: New file.
50903         * lib/array-mergesort.h: New file.
50904
50905 2009-02-15  Bruno Haible  <bruno@clisp.org>
50906
50907         Fix 2009-02-07 commit.
50908         * lib/gen-uni-tables.c (output_predicate, output_category,
50909         output_combclass, output_bidi_category, output_decimal_digit,
50910         output_digit, output_numeric, output_mirror, output_scripts,
50911         output_ident_category, output_simple_mapping): Fix format directives.
50912         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
50913
50914 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
50915
50916         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
50917         fixes are available from IBM.
50918
50919 2009-02-13  Jim Meyering  <meyering@redhat.com>
50920
50921         fts: arrange not to stat non-directories in more cases
50922         This makes GNU find (when it doesn't need to stat each file)
50923         *much* more efficient at traversing reiserfs file systems.
50924         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
50925         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
50926         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
50927         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
50928         (leaf_optimization_applies): New function.
50929         (LCO_hash, LCO_compare): New helper functions.
50930         (link_count_optimize_ok): New function.
50931         (fts_stat): Initialize new member (if dir).
50932         (fts_read): Decrement parent's fts_n_dirs_remaining count if
50933         we've just stat'ed a directory.  Skip the stat call when possible.
50934         ---
50935         Note this AFS-related exchange:
50936         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
50937         and note find's pioctl call in find/fstype.c.
50938         But that is necessary only if you want to enable the
50939         optimization for AFS, and for now, I don't.
50940
50941         fts: move a function definition "up" (no semantic change)
50942         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
50943         "up" to precede upcoming use of a related function.
50944
50945 2009-02-11  Jim Meyering  <meyering@redhat.com>
50946
50947         fts: correct internal computation of nlinks (optimization-related)
50948         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
50949         whether the current entry is a directory, so don't test it.
50950
50951 2009-02-10  Bruno Haible  <bruno@clisp.org>
50952
50953         Tests for module 'uniwbrk/ulc-wordbreaks'.
50954         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
50955         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
50956         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
50957
50958         Tests for module 'uniwbrk/u32-wordbreaks'.
50959         * modules/uniwbrk/u32-wordbreaks-tests: New file.
50960         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
50961
50962         Tests for module 'uniwbrk/u16-wordbreaks'.
50963         * modules/uniwbrk/u16-wordbreaks-tests: New file.
50964         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
50965
50966         Tests for module 'uniwbrk/u8-wordbreaks'.
50967         * modules/uniwbrk/u8-wordbreaks-tests: New file.
50968         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
50969
50970 2009-02-10  Bruno Haible  <bruno@clisp.org>
50971
50972         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
50973         property.
50974         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
50975         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
50976         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
50977
50978 2009-02-10  Simon Josefsson  <simon@josefsson.org>
50979
50980         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
50981         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
50982
50983 2009-02-10  Bruno Haible  <bruno@clisp.org>
50984
50985         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
50986         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
50987         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
50988         * lib/unilbrk/u8-possible-linebreaks.c: Update.
50989         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
50990         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
50991
50992 2009-02-09  Simon Josefsson  <simon@josefsson.org>
50993
50994         * lib/sockets.h (gl_fd_to_handle): New function.
50995
50996         * tests/test-sockets.c: Call gl_fd_to_handle.
50997
50998 2009-02-09  Bruno Haible  <bruno@clisp.org>
50999
51000         * doc/havelib.texi: Document the conventions on bi-arch systems.
51001
51002 2009-02-08  Bruno Haible  <bruno@clisp.org>
51003
51004         Document the AC_LIB_LINKFLAGS macro.
51005         * doc/havelib.texi: New file, mostly written on 2005-05-24.
51006         * doc/gnulib.texi: Include it.
51007
51008 2009-02-08  Bruno Haible  <bruno@clisp.org>
51009
51010         Fix wrong order of sections, compared to TOC.
51011         * doc/gnulib.texi: Include relocatable-maint.texi after the
51012         "Regular expressions" node, not before.
51013
51014 2009-02-08  Bruno Haible  <bruno@clisp.org>
51015
51016         Tests for module 'unicase/totitle'.
51017         * modules/unicase/totitle-tests: New file.
51018
51019         Tests for module 'unicase/tolower'.
51020         * modules/unicase/tolower-tests: New file.
51021
51022         Tests for module 'unicase/toupper'.
51023         * modules/unicase/toupper-tests: New file.
51024         * tests/unicase/test-mapping-part1.h: New file.
51025         * tests/unicase/test-mapping-part2.h: New file.
51026
51027         New module 'unicase/totitle'.
51028         * modules/unicase/totitle: New file.
51029         * lib/unicase/totitle.c: New file.
51030
51031         New module 'unicase/tolower'.
51032         * modules/unicase/tolower: New file.
51033         * lib/unicase/tolower.c: New file.
51034
51035         New module 'unicase/toupper'.
51036         * modules/unicase/toupper: New file.
51037         * lib/unicase/toupper.c: New file.
51038         * lib/unicase/simple-mapping.h: New file.
51039
51040         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
51041         (mapping_table): New structure.
51042         (output_simple_mapping): New function.
51043         (main): Invoke output_simple_mapping_test and output_simple_mapping.
51044         * modules/gen-uni-tables (Description): Update.
51045         * lib/unicase/toupper.h: New file, automatically generated by
51046         gen-uni-tables.
51047         * lib/unicase/tolower.h: New file, automatically generated by
51048         gen-uni-tables.
51049         * lib/unicase/totitle.h: New file, automatically generated by
51050         gen-uni-tables.
51051         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
51052         gen-uni-tables.
51053         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
51054         gen-uni-tables.
51055         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
51056         gen-uni-tables.
51057
51058         New module 'unicase/base'.
51059         * modules/unicase/base: New file.
51060         * lib/unicase.h: New file.
51061
51062 2009-02-08  Bruno Haible  <bruno@clisp.org>
51063
51064         New module 'uniwbrk/ulc-wordbreaks'.
51065         * modules/uniwbrk/ulc-wordbreaks: New file.
51066         * lib/uniwbrk/ulc-wordbreaks.c: New file.
51067
51068         New module 'uniwbrk/u32-wordbreaks'.
51069         * modules/uniwbrk/u32-wordbreaks: New file.
51070         * lib/uniwbrk/u32-wordbreaks.c: New file.
51071
51072         New module 'uniwbrk/u16-wordbreaks'.
51073         * modules/uniwbrk/u16-wordbreaks: New file.
51074         * lib/uniwbrk/u16-wordbreaks.c: New file.
51075
51076         New module 'uniwbrk/u8-wordbreaks'.
51077         * modules/uniwbrk/u8-wordbreaks: New file.
51078         * lib/uniwbrk/u8-wordbreaks.c: New file.
51079         * lib/uniwbrk/u-wordbreaks.h: New file.
51080
51081         New module 'uniwbrk/table'.
51082         * modules/uniwbrk/table: New file.
51083         * lib/uniwbrk/wbrktable.h: New file.
51084         * lib/uniwbrk/wbrktable.c: New file.
51085
51086         New module 'uniwbrk/wordbreak-property'.
51087         * modules/uniwbrk/wordbreak-property: New file.
51088         * lib/uniwbrk/wordbreak-property.c: New file.
51089
51090         * lib/gen-uni-tables.c (WBP_*): New enum items.
51091         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
51092         (unicode_org_wbp): New variable.
51093         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
51094         New functions.
51095         (wbp_table): New structure.
51096         (output_wbp, output_wbrk_tables): New functions.
51097         (main): Accept additional argument. Invoke fill_org_wbp,
51098         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
51099         output_wbrk_tables.
51100         * modules/gen-uni-tables (Description): Update.
51101         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
51102         gen-uni-tables.
51103
51104         New module 'uniwbrk/base'.
51105         * modules/uniwbrk/base: New file.
51106         * lib/uniwbrk.h: New file.
51107
51108 2009-02-08  Bruno Haible  <bruno@clisp.org>
51109
51110         Update to Unicode 5.1.0.
51111         * lib/gen-uni-tables.c (is_property_alphabetic): Include
51112         U+2185..U+2188.
51113         (is_property_default_ignorable_code_point): Don't include characters
51114         of category Cc or Cs and not-a-characters.
51115         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
51116         U+0D79, U+109E, U+109F, U+A60C.
51117         * lib/unictype/bidi_of.h: Regenerated.
51118         * lib/unictype/blocks.h: Regenerated.
51119         * lib/unictype/categ_C.h: Regenerated.
51120         * lib/unictype/categ_Cf.h: Regenerated.
51121         * lib/unictype/categ_Cn.h: Regenerated.
51122         * lib/unictype/categ_L.h: Regenerated.
51123         * lib/unictype/categ_Ll.h: Regenerated.
51124         * lib/unictype/categ_Lm.h: Regenerated.
51125         * lib/unictype/categ_Lo.h: Regenerated.
51126         * lib/unictype/categ_Lu.h: Regenerated.
51127         * lib/unictype/categ_M.h: Regenerated.
51128         * lib/unictype/categ_Mc.h: Regenerated.
51129         * lib/unictype/categ_Me.h: Regenerated.
51130         * lib/unictype/categ_Mn.h: Regenerated.
51131         * lib/unictype/categ_N.h: Regenerated.
51132         * lib/unictype/categ_Nd.h: Regenerated.
51133         * lib/unictype/categ_Nl.h: Regenerated.
51134         * lib/unictype/categ_No.h: Regenerated.
51135         * lib/unictype/categ_P.h: Regenerated.
51136         * lib/unictype/categ_Pd.h: Regenerated.
51137         * lib/unictype/categ_Pe.h: Regenerated.
51138         * lib/unictype/categ_Pf.h: Regenerated.
51139         * lib/unictype/categ_Pi.h: Regenerated.
51140         * lib/unictype/categ_Po.h: Regenerated.
51141         * lib/unictype/categ_Ps.h: Regenerated.
51142         * lib/unictype/categ_S.h: Regenerated.
51143         * lib/unictype/categ_Sk.h: Regenerated.
51144         * lib/unictype/categ_Sm.h: Regenerated.
51145         * lib/unictype/categ_So.h: Regenerated.
51146         * lib/unictype/categ_of.h: Regenerated.
51147         * lib/unictype/combining.h: Regenerated.
51148         * lib/unictype/ctype_alnum.h: Regenerated.
51149         * lib/unictype/ctype_alpha.h: Regenerated.
51150         * lib/unictype/ctype_graph.h: Regenerated.
51151         * lib/unictype/ctype_lower.h: Regenerated.
51152         * lib/unictype/ctype_print.h: Regenerated.
51153         * lib/unictype/ctype_punct.h: Regenerated.
51154         * lib/unictype/ctype_upper.h: Regenerated.
51155         * lib/unictype/decdigit.h: Regenerated.
51156         * lib/unictype/digit.h: Regenerated.
51157         * lib/unictype/mirror.h: Regenerated.
51158         * lib/unictype/numeric.h: Regenerated.
51159         * lib/unictype/pr_alphabetic.h: Regenerated.
51160         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
51161         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
51162         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
51163         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
51164         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
51165         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
51166         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
51167         * lib/unictype/pr_combining.h: Regenerated.
51168         * lib/unictype/pr_dash.h: Regenerated.
51169         * lib/unictype/pr_decimal_digit.h: Regenerated.
51170         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
51171         * lib/unictype/pr_deprecated.h: Regenerated.
51172         * lib/unictype/pr_diacritic.h: Regenerated.
51173         * lib/unictype/pr_extender.h: Regenerated.
51174         * lib/unictype/pr_format_control.h: Regenerated.
51175         * lib/unictype/pr_grapheme_base.h: Regenerated.
51176         * lib/unictype/pr_grapheme_extend.h: Regenerated.
51177         * lib/unictype/pr_grapheme_link.h: Regenerated.
51178         * lib/unictype/pr_id_continue.h: Regenerated.
51179         * lib/unictype/pr_id_start.h: Regenerated.
51180         * lib/unictype/pr_ideographic.h: Regenerated.
51181         * lib/unictype/pr_ignorable_control.h: Regenerated.
51182         * lib/unictype/pr_lowercase.h: Regenerated.
51183         * lib/unictype/pr_math.h: Regenerated.
51184         * lib/unictype/pr_numeric.h: Regenerated.
51185         * lib/unictype/pr_other_alphabetic.h: Regenerated.
51186         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
51187         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
51188         * lib/unictype/pr_other_id_continue.h: Regenerated.
51189         * lib/unictype/pr_other_lowercase.h: Regenerated.
51190         * lib/unictype/pr_other_math.h: Regenerated.
51191         * lib/unictype/pr_punctuation.h: Regenerated.
51192         * lib/unictype/pr_sentence_terminal.h: Regenerated.
51193         * lib/unictype/pr_soft_dotted.h: Regenerated.
51194         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
51195         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
51196         * lib/unictype/pr_unified_ideograph.h: Regenerated.
51197         * lib/unictype/pr_uppercase.h: Regenerated.
51198         * lib/unictype/pr_xid_continue.h: Regenerated.
51199         * lib/unictype/pr_xid_start.h: Regenerated.
51200         * lib/unictype/pr_zero_width.h: Regenerated.
51201         * lib/unictype/scripts.h: Regenerated.
51202         * lib/unictype/scripts_byname.gperf: Regenerated.
51203         * lib/unictype/sy_java_ident.h: Regenerated.
51204         * lib/unilbrk/lbrkprop1.h: Regenerated.
51205         * lib/unilbrk/lbrkprop2.h: Regenerated.
51206         * tests/unictype/test-categ_C.c: Regenerated.
51207         * tests/unictype/test-categ_Cf.c: Regenerated.
51208         * tests/unictype/test-categ_Cn.c: Regenerated.
51209         * tests/unictype/test-categ_L.c: Regenerated.
51210         * tests/unictype/test-categ_Ll.c: Regenerated.
51211         * tests/unictype/test-categ_Lm.c: Regenerated.
51212         * tests/unictype/test-categ_Lo.c: Regenerated.
51213         * tests/unictype/test-categ_Lu.c: Regenerated.
51214         * tests/unictype/test-categ_M.c: Regenerated.
51215         * tests/unictype/test-categ_Mc.c: Regenerated.
51216         * tests/unictype/test-categ_Me.c: Regenerated.
51217         * tests/unictype/test-categ_Mn.c: Regenerated.
51218         * tests/unictype/test-categ_N.c: Regenerated.
51219         * tests/unictype/test-categ_Nd.c: Regenerated.
51220         * tests/unictype/test-categ_Nl.c: Regenerated.
51221         * tests/unictype/test-categ_No.c: Regenerated.
51222         * tests/unictype/test-categ_P.c: Regenerated.
51223         * tests/unictype/test-categ_Pd.c: Regenerated.
51224         * tests/unictype/test-categ_Pe.c: Regenerated.
51225         * tests/unictype/test-categ_Pf.c: Regenerated.
51226         * tests/unictype/test-categ_Pi.c: Regenerated.
51227         * tests/unictype/test-categ_Po.c: Regenerated.
51228         * tests/unictype/test-categ_Ps.c: Regenerated.
51229         * tests/unictype/test-categ_S.c: Regenerated.
51230         * tests/unictype/test-categ_Sk.c: Regenerated.
51231         * tests/unictype/test-categ_Sm.c: Regenerated.
51232         * tests/unictype/test-categ_So.c: Regenerated.
51233         * tests/unictype/test-ctype_alnum.c: Regenerated.
51234         * tests/unictype/test-ctype_alpha.c: Regenerated.
51235         * tests/unictype/test-ctype_graph.c: Regenerated.
51236         * tests/unictype/test-ctype_lower.c: Regenerated.
51237         * tests/unictype/test-ctype_print.c: Regenerated.
51238         * tests/unictype/test-ctype_punct.c: Regenerated.
51239         * tests/unictype/test-ctype_upper.c: Regenerated.
51240         * tests/unictype/test-decdigit.h: Regenerated.
51241         * tests/unictype/test-digit.h: Regenerated.
51242         * tests/unictype/test-numeric.h: Regenerated.
51243         * tests/unictype/test-pr_alphabetic.c: Regenerated.
51244         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
51245         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
51246         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
51247         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
51248         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
51249         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
51250         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
51251         * tests/unictype/test-pr_combining.c: Regenerated.
51252         * tests/unictype/test-pr_dash.c: Regenerated.
51253         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
51254         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
51255         * tests/unictype/test-pr_deprecated.c: Regenerated.
51256         * tests/unictype/test-pr_diacritic.c: Regenerated.
51257         * tests/unictype/test-pr_extender.c: Regenerated.
51258         * tests/unictype/test-pr_format_control.c: Regenerated.
51259         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
51260         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
51261         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
51262         * tests/unictype/test-pr_id_continue.c: Regenerated.
51263         * tests/unictype/test-pr_id_start.c: Regenerated.
51264         * tests/unictype/test-pr_ideographic.c: Regenerated.
51265         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
51266         * tests/unictype/test-pr_lowercase.c: Regenerated.
51267         * tests/unictype/test-pr_math.c: Regenerated.
51268         * tests/unictype/test-pr_numeric.c: Regenerated.
51269         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
51270         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
51271         Regenerated.
51272         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
51273         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
51274         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
51275         * tests/unictype/test-pr_other_math.c: Regenerated.
51276         * tests/unictype/test-pr_punctuation.c: Regenerated.
51277         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
51278         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
51279         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
51280         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
51281         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
51282         * tests/unictype/test-pr_uppercase.c: Regenerated.
51283         * tests/unictype/test-pr_xid_continue.c: Regenerated.
51284         * tests/unictype/test-pr_xid_start.c: Regenerated.
51285         * tests/unictype/test-pr_zero_width.c: Regenerated.
51286
51287         Update to Unicode 5.1.0.
51288         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
51289         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
51290         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
51291         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
51292         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
51293         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
51294         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
51295         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
51296         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
51297         (nonspacing_table_ind): Update.
51298         * tests/uniwidth/test-uc_width2.sh: Update expected result.
51299
51300         Update to Unicode 5.1.0.
51301         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
51302         code transform.
51303         * lib/uniname/uniname.c (unicode_character_name,
51304         unicode_name_character): Add the range 0x1Fxxx to the code transform.
51305         * lib/uniname/uninames.h: Regenerated.
51306         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
51307
51308 2009-02-07  Bruno Haible  <bruno@clisp.org>
51309
51310         Merge gen-ctype and gen-lbrk into a single program.
51311         * lib/gen-uni-tables.c: New file, incorporating
51312         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
51313         Add directory prefixes to the names of the generated files.
51314         * lib/unictype/gen-ctype.c: Remove file.
51315         * lib/unilbrk/gen-lbrk.c: Remove file.
51316         * modules/gen-uni-tables: New file.
51317         * modules/unictype/gen-ctype: Remove file.
51318         * modules/unilbrk/gen-lbrk: Remove file.
51319
51320 2009-02-07  Bruno Haible  <bruno@clisp.org>
51321
51322         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
51323
51324         New module 'unistr/u32-strcoll'.
51325         * modules/unistr/u32-strcoll: New file.
51326         * lib/unistr/u32-strcoll.c: New file.
51327
51328         New module 'unistr/u16-strcoll'.
51329         * modules/unistr/u16-strcoll: New file.
51330         * lib/unistr/u16-strcoll.c: New file.
51331
51332         New module 'unistr/u8-strcoll'.
51333         * modules/unistr/u8-strcoll: New file.
51334         * lib/unistr/u8-strcoll.c: New file.
51335         * lib/unistr/u-strcoll.h: New file.
51336
51337 2009-02-07  Bruno Haible  <bruno@clisp.org>
51338
51339         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
51340         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51341         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51342         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
51343         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
51344         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
51345
51346 2009-02-07  Bruno Haible  <bruno@clisp.org>
51347
51348         Make 64-bit clean.
51349         * lib/unictype/gen-ctype.c (output_predicate, output_category,
51350         output_combclass, output_bidi_category, output_decimal_digit,
51351         output_digit, output_numeric, output_mirror, output_scripts,
51352         output_ident_category): Use proper width specifier in format strings.
51353
51354 2009-02-07  Bruno Haible  <bruno@clisp.org>
51355
51356         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
51357         failure behaviour.
51358
51359 2009-02-07  Jim Meyering  <meyering@redhat.com>
51360
51361         regex: avoid compilation failure with upcoming gcc-4.4
51362         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
51363         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
51364         "... error: integer overflow in preprocessor expression".
51365
51366 2009-02-05  Ben Pfaff  <blp@gnu.org>
51367
51368         Fix link errors on Windows when close module is used.
51369         * modules/close: Add $(LIB_CLOSE) to Link section.
51370         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
51371         $(LIB_CLOSE) on Windows.
51372
51373 2009-02-05  Jim Meyering  <meyering@redhat.com>
51374
51375         still avoid unused-parameter warnings, but do it cleanly
51376         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
51377         (get_fs_usage): Cast to void instead.
51378         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
51379         (dev_from_mount_options, read_file_system_list): Cast to void.
51380         Prompted by Bruno Haible.
51381
51382 2009-02-04  Jim Meyering  <meyering@redhat.com>
51383
51384         fsusage.c: correct copyright year
51385         * lib/fsusage.c: Reflect year in which the change is pushed into
51386
51387         avoid misc. warnings
51388         * lib/fsusage.c (UNUSED_PARAM): Define.
51389         (get_fs_usage): Mark parameter "disk" as unused.
51390         * lib/getugroups.c (getgrent): Use "void" in prototype.
51391         * lib/mountlist.c: Mark unused parameters.
51392         (read_file_system_list): Declare a local with "const".
51393         * lib/nanosleep.c (getnow): Declare static.
51394         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
51395
51396         dirfd: set errno upon failure
51397         * lib/dirfd.c: Include <errno.h>.
51398         Set errno to ENOTSUP when returning -1.
51399         * modules/dirfd (Depends-on): Add errno.
51400         Suggested by John Kodis <kodis@comcast.net>.
51401
51402 2009-02-01  Bruno Haible  <bruno@clisp.org>
51403
51404         Don't assume sizeof (long) >= sizeof (void *).
51405         * lib/memcmp.c: Include stdint.h.
51406         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
51407         srcp2 to 'const byte *'.
51408         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
51409         types to uintptr_t.
51410         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
51411         * modules/memcmp (Depends-on): Add stdint.
51412         Reported by Ozkan Sezer <sezeroz@gmail.com>.
51413
51414 2009-01-30  Eric Blake  <ebb9@byu.net>
51415
51416         fix more require-before-expand issues
51417         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
51418         expand, AC_PROG_AWK.
51419         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
51420
51421 2009-01-28  Eric Blake  <ebb9@byu.net>
51422
51423         version-etc: use consistent URL formatting
51424         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
51425         Improve formatting.  Use fputs for string without %.
51426
51427 2009-01-28  Jim Meyering  <meyering@redhat.com>
51428
51429         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
51430         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
51431         "underquoted definition of NAME" from autoconf-2.59.
51432
51433 2009-01-28  Bruno Haible  <bruno@clisp.org>
51434
51435         * doc/gnulib.texi: Add "Obsolete modules" to index.
51436
51437 2009-01-28  Jim Meyering  <meyering@redhat.com>
51438
51439         useless-if-before-free: recognize more variants
51440         * build-aux/useless-if-before-free: Also recognize e.g.,
51441         if (NULL != p) free (p);
51442
51443 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
51444
51445         test-getaddrinfo: skip (don't fail) this test when there's no network
51446         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
51447         on the presumption that it means you lack network access.
51448
51449 2009-01-26  Jim Meyering  <meyering@redhat.com>
51450
51451         fflush: avoid warnings on modern systems
51452         * lib/fflush.c (rpl_fflush): Move declarations of locals,
51453         pos and result, into scopes where they're used.
51454
51455 2009-01-26  Eric Blake  <ebb9@byu.net>
51456
51457         Silence warning reintroduced by recent extensions patch.
51458         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
51459         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
51460         autoconf.
51461
51462         Backport improved autoconf semantics of AC_DEFUN_ONCE.
51463         * m4/00gnulib.m4: New file.
51464         * gnulib-tool (func_get_filelist): Always use it.
51465         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
51466         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
51467
51468 2009-01-25  Bruno Haible  <bruno@clisp.org>
51469
51470         Make test-quotearg work on MacOS X and AIX.
51471         * tests/test-quotearg.sh: New file.
51472         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
51473         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
51474         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
51475         include <libintl.h>.
51476         (fake_locale): Remove variable.
51477         (gettext, dgettext, dcgettext): Remove functions.
51478         (main): Instead of setting a fake locale, set a real locale. Call
51479         textdomain and bindtextdomain.
51480         * modules/quotearg-tests (Files): Add the new files.
51481         (Depends-on): Add gettext, setenv, unsetenv.
51482         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
51483         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
51484         Augment TESTS_ENVIRONMENT.
51485
51486 2009-01-25  Bruno Haible  <bruno@clisp.org>
51487
51488         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
51489         fr_FR.ISO8859-1 locale on MacOS X.
51490         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
51491         ja_JP.eucJP locale on MacOS X.
51492         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
51493         zh_CN.GB18030 locale on MacOS X.
51494
51495 2009-01-25  Bruno Haible  <bruno@clisp.org>
51496
51497         Avoid link errors on MacOS X 10.3.
51498         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
51499         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
51500
51501 2009-01-25  Bruno Haible  <bruno@clisp.org>
51502
51503         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51504         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
51505         * modules/pipe (Files): Remove m4/posix_spawn.m4.
51506         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51507         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
51508         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51509         posix_spawnattr_init, posix_spawnattr_setsigmask,
51510         posix_spawnattr_setflags, posix_spawnattr_destroy.
51511
51512         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51513         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
51514         * modules/execute (Files): Remove m4/posix_spawn.m4.
51515         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51516         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51517         posix_spawnattr_init, posix_spawnattr_setsigmask,
51518         posix_spawnattr_setflags, posix_spawnattr_destroy.
51519
51520 2009-01-25  Bruno Haible  <bruno@clisp.org>
51521
51522         * lib/glthread/threadlib.c: Include <stdlib.h>.
51523
51524 2009-01-25  Bruno Haible  <bruno@clisp.org>
51525
51526         * lib/glthread/threadlib.c (dummy): New declaration.
51527
51528 2009-01-25  Bruno Haible  <bruno@clisp.org>
51529
51530         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
51531         multibyte characters also for the GB18030 encoding. Don't crash when
51532         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
51533
51534 2009-01-25  Bruno Haible  <bruno@clisp.org>
51535
51536         Avoid redefining 'struct random_data' on OSF/1 5.1.
51537         * lib/stdlib.in.h: Include <random.h> if it exists.
51538         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
51539         HAVE_RANDOM_H. Include <random.h> when testing whether
51540         'struct random_data' exists.
51541         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
51542
51543 2009-01-25  Bruno Haible  <bruno@clisp.org>
51544
51545         Don't install charset.alias on MacOS X >= 10.3.
51546         * lib/localcharset.c (DARWIN7): New macro.
51547         (get_charset_aliases): Hardcode the result for Darwin7.
51548         * modules/localcharset (install-exec-local): Don't install
51549         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
51550
51551 2009-01-25  Bruno Haible  <bruno@clisp.org>
51552
51553         Don't install charset.alias on mingw and Cygwin.
51554         * modules/localcharset (install-exec-local): Don't install
51555         charset.alias on mingw and Cygwin, if the file does not yet exist.
51556         The result for these platforms is hardcoded in localcharset.c.
51557
51558 2009-01-25  Bruno Haible  <bruno@clisp.org>
51559
51560         Make it possible again to use AC_GNU_SOURCE together with gnulib.
51561         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
51562         before requiring AC_USE_SYSTEM_EXTENSIONS.
51563
51564 2009-01-25  Jim Meyering  <meyering@redhat.com>
51565
51566         c-strtod: avoid warnings
51567         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
51568         "assignment discards qualifiers from pointer target type" warnings.
51569
51570 2009-01-24  Bruno Haible  <bruno@clisp.org>
51571
51572         Add support for non-UTF-8 locales on MacOS X.
51573         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
51574         canonical encodings. For Darwin 7 and newer, don't map traditional
51575         encodings to UTF-8.
51576         Reported by Vincent Lefevre <vincent@vinc17.org>
51577         at <http://savannah.gnu.org/bugs/?25235>.
51578
51579 2009-01-24  Bruno Haible  <bruno@clisp.org>
51580
51581         * doc/gnulib.texi (Obsolete modules): New section.
51582         Reported by Mike Frysinger <vapier@gentoo.org>.
51583
51584 2009-01-24  Bruno Haible  <bruno@clisp.org>
51585
51586         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
51587         (%.dvi): New rule.
51588
51589 2009-01-24  Bruno Haible  <bruno@clisp.org>
51590
51591         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
51592         Reported by Eric Blake.
51593
51594 2009-01-24  Bruno Haible  <bruno@clisp.org>
51595
51596         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
51597         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
51598         Reported by Gary V. Vaughan <gary@gnu.org>.
51599
51600 2009-01-24  Bruno Haible  <bruno@clisp.org>
51601
51602         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
51603
51604 2009-01-23  Bruno Haible  <bruno@clisp.org>
51605
51606         Make c-strtod, c-strtold usable in libraries.
51607         * lib/c-strtod.c: Include string.h instead of xalloc.h.
51608         (C_STRTOD): Call strdup instead of xstrdup.
51609         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
51610         * modules/c-strtold (Depends-on): Likewise.
51611         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
51612         * NEWS: Mention the change.
51613         Reported by Michael Gold <mgold@ncf.ca>.
51614
51615 2009-01-23  Jim Meyering  <meyering@redhat.com>
51616
51617         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
51618         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
51619         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
51620
51621 2009-01-23  Simon Josefsson  <simon@josefsson.org>
51622
51623         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
51624         GNU CoreUtils.
51625         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
51626         * modules/version-etc (Description): Update.
51627
51628 2009-01-22  Bruno Haible  <bruno@clisp.org>
51629
51630         Cache the C locale object.
51631         * lib/c-strtod.c (c_locale_cache): New variable.
51632         (c_locale): New function.
51633         (C_STRTOD): Use it, and don't call freelocale.
51634         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
51635         Suggested by Paolo Bonzini.
51636
51637 2009-01-21  Bruno Haible  <bruno@clisp.org>
51638
51639         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
51640         conditions other than overflow.
51641
51642 2009-01-21  Bruno Haible  <bruno@clisp.org>
51643
51644         * lib/c-strtod.c: Include errno.h.
51645         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
51646         value from STRTOD_L and STRTOD.
51647
51648 2009-01-21  Bruno Haible  <bruno@clisp.org>
51649         and Jim Meyering  <meyering@redhat.com>
51650
51651         nanosleep: skip configure test (fail it) for apple universal builds
51652         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
51653         universal builds, assume that nanosleep does not work.
51654         * modules/nanosleep (Depends-on): Add multiarch.
51655
51656         mktime: skip configure test (fail it) for apple universal builds
51657         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
51658         universal builds, assume that mktime does not work.
51659         * modules/mktime (Depends-on): Add multiarch.
51660
51661 2009-01-21  Eric Blake  <ebb9@byu.net>
51662
51663         multiarch: avoid expand-before-require warning
51664         * modules/multiarch (configure.ac): Require, rather than expand,
51665         gl_MULTIARCH.
51666         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
51667         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
51668         enforce that all clients require it.  Partial reversion of
51669         2008-12-29 patch.
51670
51671         error: avoid expand-before-require warning
51672         * modules/errno (configure.ac): Require, rather than expand,
51673         gl_HEADER_ERRNO_H.
51674         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
51675         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
51676         enforce that all clients require it.
51677
51678         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
51679         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
51680         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
51681         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
51682
51683 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
51684
51685         Revert:
51686         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
51687
51688         regex: do not depend on obsolete modules.
51689         * modules/regex: Remove memcmp and memmove.
51690
51691 2009-01-20  Bruno Haible  <bruno@clisp.org>
51692
51693         Make the 'link' module link on Windows NT 4.
51694         * lib/link.c (_WIN32_WINNT): Don't define.
51695         (CreateHardLinkFuncType): New type.
51696         (CreateHardLinkFunc, initialized): New variables.
51697         (initialize): New function.
51698         (link): Invoke CreateHardLink indirectly through the function pointer.
51699
51700 2009-01-20  Bruno Haible  <bruno@clisp.org>
51701
51702         Fix compilation failure on mingw.
51703         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
51704
51705 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
51706
51707         * doc/c-strtod.texi: Mention a couple of restrictions.
51708
51709 2009-01-20  Jim Meyering  <meyering@redhat.com>
51710
51711         gettimeofday: move more declarations out of functions
51712         * lib/gettimeofday.c: Move extern declarations of tzset and
51713         gmtime out of containing functions.  Prompted by Bruno Haible.
51714
51715 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
51716
51717         regex: do not depend on obsolete modules.
51718         * modules/regex: Remove memcmp and memmove.
51719
51720 2009-01-19  Bruno Haible  <bruno@clisp.org>
51721
51722         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
51723         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
51724         gl_BIGENDIAN, not AC_C_BIGENDIAN.
51725         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
51726         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
51727
51728 2009-01-19  Bruno Haible  <bruno@clisp.org>
51729
51730         * tests/test-link.c: Include <errno.h>.
51731         (main): Exit with code 77 when a hard link cannot be created due to
51732         the file system.
51733         * tests/test-link.sh: Skip test when a hard link cannot be created due
51734         to the file system.
51735         Suggested by Eric Blake.
51736
51737 2009-01-19  Martin Lambers  <marlam@marlam.de>
51738
51739         * modules/link-tests: New file.
51740         * tests/test-link.sh: New file.
51741         * tests/test-link.c: New file.
51742
51743 2009-01-19  Eric Blake  <ebb9@byu.net>
51744
51745         doc: mention another function added in cygwin 1.7.0
51746         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
51747         Another new function in cygwin 1.7.
51748
51749 2009-01-19  Bruno Haible  <bruno@clisp.org>
51750
51751         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
51752         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
51753         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
51754         gl_BIGENDIAN, not AC_C_BIGENDIAN.
51755         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
51756         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
51757         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
51758         * m4/md4.m4 (gl_MD4): Likewise.
51759         * m4/md5.m4 (gl_MD5): Likewise.
51760         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
51761         * m4/sha1.m4 (gl_SHA1): Likewise.
51762         * m4/sha256.m4 (gl_SHA256): Likewise.
51763         * m4/sha512.m4 (gl_SHA512): Likewise.
51764
51765 2009-01-19  Bruno Haible  <bruno@clisp.org>
51766
51767         * modules/uniname/uniname-tests (Depends-on): Add progname.
51768         * tests/uniname/test-uninames.c: Include progname.h.
51769         (main): Call set_program_name.
51770
51771         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
51772         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
51773         (main): Call set_program_name.
51774
51775         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
51776         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
51777         (main): Call set_program_name.
51778
51779         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
51780         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
51781         (main): Call set_program_name.
51782
51783         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
51784         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
51785         (main): Call set_program_name.
51786
51787         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
51788         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
51789         (main): Call set_program_name.
51790
51791         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
51792         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
51793         (main): Call set_program_name.
51794
51795         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
51796         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
51797         (main): Call set_program_name.
51798
51799         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
51800         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
51801         (main): Call set_program_name.
51802
51803 2009-01-19  Eric Blake  <ebb9@byu.net>
51804
51805         test-unistd: test previous patch
51806         * tests/test-unistd.c: Test *_FILENO macros.
51807
51808         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
51809         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51810         Guarantee a definition.
51811         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
51812         * modules/unistd-safer (Depends-on): Add dependency on unistd.
51813         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
51814         * lib/dup-safer.c (STDERR_FILENO): Likewise.
51815         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51816         Likewise.
51817         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
51818         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
51819         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51820         Likewise.
51821         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
51822         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
51823         (STDERR_FILENO): Likewise.
51824         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
51825         (STDERR_FILENO): Likewise.
51826         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
51827         (STDERR_FILENO): Likewise.
51828         Reported by Elbert Pol.
51829
51830 2009-01-19  Eric Blake  <ebb9@byu.net>
51831
51832         doc: mention more functions added in cygwin 1.7.0
51833         * doc/posix-functions/abort.texi (abort): Update wording related
51834         to cygwin.
51835         * doc/posix-functions/daylight.texi (daylight): Likewise.
51836         * doc/posix-functions/optarg.texi (optarg): Likewise.
51837         * doc/posix-functions/optarg.texi (opterr): Likewise.
51838         * doc/posix-functions/optarg.texi (optind): Likewise.
51839         * doc/posix-functions/optarg.texi (optopt): Likewise.
51840         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
51841         worked in 1.5.x, and was withdrawn in 1.7.
51842         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
51843         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
51844         cygwin versions.
51845         * doc/posix-functions/perror.texi (perror): Likewise.
51846         * doc/posix-functions/printf.texi (printf): Likewise.
51847         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
51848         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
51849         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
51850         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
51851         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
51852         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
51853         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
51854         Likewise.
51855         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
51856         Likewise.
51857         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
51858         this function.
51859         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
51860         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
51861         Likewise.
51862         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
51863         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
51864         * doc/posix-functions/confstr.texi (confstr): Likewise.
51865         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
51866         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
51867         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
51868         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
51869         * doc/posix-functions/fputws.texi (fputws): Likewise.
51870         * doc/posix-functions/fwide.texi (fwide): Likewise.
51871         * doc/posix-functions/getwc.texi (getwc): Likewise.
51872         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
51873         * doc/posix-functions/putwc.texi (putwc): Likewise.
51874         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
51875         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
51876         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
51877         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
51878         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
51879         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
51880         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
51881         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
51882         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
51883         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
51884         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
51885
51886 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
51887
51888         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
51889         * lib/ioctl.c: Include <sys/ioctl.h>.
51890
51891 2009-01-19  Simon Josefsson  <simon@josefsson.org>
51892
51893         * modules/getdate-tests (Depends-on): Add progname.
51894         * tests/test-getdate.c: Use progname module, to avoid link errors
51895         on non-glibc systems.
51896
51897 2009-01-18  Simon Josefsson  <simon@josefsson.org>
51898
51899         * modules/filenamecat-tests (Depends-on): Add progname.
51900         * modules/fstrcmp-tests (Depends-on): Likewise.
51901
51902         * tests/test-filenamecat.c: Use progname module, to avoid link
51903         errors on non-glibc systems.
51904         * tests/test-fstrcmp.c: Likewise.
51905
51906 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
51907
51908         gettimeofday: avoid warning: nested extern declaration of 'localtime'
51909         * lib/gettimeofday.c: Move extern declaration out of function.
51910
51911 2009-01-18  Bruno Haible  <bruno@clisp.org>
51912
51913         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
51914         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
51915         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
51916
51917 2009-01-18  Bruno Haible  <bruno@clisp.org>
51918
51919         * lib/strftime.c (MEMPCPY): Remove unused macro.
51920         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
51921
51922 2009-01-18  Martin Lambers  <marlam@marlam.de>
51923
51924         New module 'link'.
51925         * lib/unistd.in.h (link): New declaration.
51926         * lib/link.c: New file.
51927         * m4/link.m4: New file.
51928         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
51929         HAVE_LINK.
51930         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
51931         * modules/link: New file.
51932         * doc/posix-functions/link.texi: Mention the new module.
51933
51934 2009-01-18  Bruno Haible  <bruno@clisp.org>
51935
51936         * tests/test-avltree_list.c (main): Call set_program_name.
51937         * tests/test-avltree_oset.c (main): Likewise.
51938         * tests/test-obstack-printf.c: Include progname.h.
51939         (main): Call set_program_name.
51940         * tests/test-quotearg.c: Include progname.h.
51941         (main): Call set_program_name.
51942         * tests/test-xmemdup0.c: Include progname.h.
51943         (main): Call set_program_name.
51944
51945 2009-01-18  Bruno Haible  <bruno@clisp.org>
51946
51947         New module 'alphasort'.
51948         * lib/dirent.in.h (alphasort): New declaration.
51949         * lib/alphasort.c: New file, from glibc with modifications.
51950         * m4/alphasort.m4: New file.
51951         * modules/alphasort: New file.
51952         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
51953         HAVE_ALPHASORT.
51954         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
51955         HAVE_ALPHASORT.
51956         * doc/posix-functions/alphasort.texi: Mention the new module and the
51957         portability problems.
51958
51959 2009-01-18  Bruno Haible  <bruno@clisp.org>
51960
51961         New module 'scandir'.
51962         * lib/dirent.in.h (scandir): New declaration.
51963         * lib/scandir.c: New file, from glibc with modifications.
51964         * m4/scandir.m4: New file.
51965         * modules/scandir: New file.
51966         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
51967         HAVE_SCANDIR.
51968         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
51969         HAVE_SCANDIR.
51970         * doc/posix-functions/scandir.texi: Mention the new module and the
51971         portability problems.
51972
51973 2009-01-17  Bruno Haible  <bruno@clisp.org>
51974
51975         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
51976         Update documentation.
51977         (func_remove_suffix): Escape all dots in the suffix. Update
51978         documentation.
51979         (func_filter_filelist): Update documentation.
51980         Reported by Ralf Wildenhues.
51981
51982 2009-01-17  Bruno Haible  <bruno@clisp.org>
51983
51984         * modules/dprintf-posix-tests: New file.
51985         * tests/test-dprintf-posix.sh: New file.
51986         * tests/test-dprintf-posix.c: New file.
51987
51988         New modules 'dprintf', 'dprintf-posix'.
51989         * lib/stdio.in.h (dprintf): New declaration.
51990         * lib/dprintf.c: New file.
51991         * m4/dprintf.m4: New file.
51992         * m4/dprintf-posix.m4: New file.
51993         * modules/dprintf: New file.
51994         * modules/dprintf-posix: New file.
51995         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
51996         HAVE_DPRINTF, REPLACE_DPRINTF.
51997         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
51998         HAVE_DPRINTF, REPLACE_DPRINTF.
51999         * doc/posix-functions/dprintf.texi: Mention the new modules.
52000
52001 2009-01-17  Bruno Haible  <bruno@clisp.org>
52002
52003         * modules/vdprintf-posix-tests: New file.
52004         * tests/test-vdprintf-posix.sh: New file.
52005         * tests/test-vdprintf-posix.c: New file.
52006
52007         New modules 'vdprintf', 'vdprintf-posix'.
52008         * lib/stdio.in.h (vdprintf): New declaration.
52009         * lib/vdprintf.c: New file.
52010         * m4/vdprintf.m4: New file.
52011         * m4/vdprintf-posix.m4: New file.
52012         * modules/vdprintf: New file.
52013         * modules/vdprintf-posix: New file.
52014         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
52015         HAVE_VDPRINTF, REPLACE_VDPRINTF.
52016         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
52017         HAVE_VDPRINTF, REPLACE_VDPRINTF.
52018         * doc/posix-functions/vdprintf.texi: Mention the new modules.
52019
52020 2009-01-17  Bruno Haible  <bruno@clisp.org>
52021
52022         Fix replacement of fopen on mingw.
52023         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
52024         mingw.
52025
52026 2009-01-17  Bruno Haible  <bruno@clisp.org>
52027
52028         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
52029         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
52030
52031 2009-01-17  Bruno Haible  <bruno@clisp.org>
52032
52033         Avoid test-fflush2.sh failure on mingw.
52034         * tests/test-fflush2.c: Include binary-io.h.
52035         (main): Put standard input into binary mode.
52036         * modules/fflush-tests (Depends-on): Add binary-io.
52037
52038 2009-01-17  Bruno Haible  <bruno@clisp.org>
52039
52040         * lib/wchar.in.h: In another particular situation, include only the
52041         system's <wchar.h> file.
52042         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
52043         Reported by Albert Chin-A-Young <china@thewrittenword.com>
52044         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
52045
52046 2009-01-17  Bruno Haible  <bruno@clisp.org>
52047
52048         Support for stripping executables in --enable-relocatable.
52049         * build-aux/install-reloc: Expect one more argument, or an environment
52050         variable RELOC_STRIP_PROG. If set, strip the destination program and
52051         its wrapper.
52052         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
52053         RELOC_STRIP_PROG.
52054         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
52055         to set RELOCATABLE_STRIP.
52056         * NEWS: Mention the new Makefile requirement.
52057
52058 2009-01-17  Bruno Haible  <bruno@clisp.org>
52059
52060         * build-aux/install-reloc: Remove debugging information left over by
52061         C compiler on MacOS X.
52062
52063 2009-01-17  Bruno Haible  <bruno@clisp.org>
52064
52065         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
52066         * lib/progreloc.c (find_executable): Fix type of pointer passed to
52067         _NSGetExecutablePath.
52068
52069 2009-01-16  Jim Meyering  <meyering@redhat.com>
52070
52071         strerror: avoid warnings about discarding "const"
52072         * lib/strerror.c (rpl_strerror): Instead of returning a const
52073         string from each and every "case", use a variable, and add a single
52074         cast after the switch.
52075
52076 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
52077
52078         * lib/arpa_inet.in.h: Add extern "C" block for C++.
52079
52080 2009-01-16  Bruno Haible  <bruno@clisp.org>
52081
52082         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
52083         array initializer syntax that also works in C++ mode.
52084         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52085
52086 2009-01-16  Jim Meyering  <meyering@redhat.com>
52087
52088         poll: suppress a warning
52089         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
52090         to ignore "...unsigned expression < 0 is always false" warnings.
52091
52092 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
52093
52094         poll: remove declarations of unused variables
52095         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
52096         sockbuf and optlen.
52097
52098 2009-01-15  Bruno Haible  <bruno@clisp.org>
52099
52100         Make fflush-after-ungetc POSIX compliant on BSD systems.
52101         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
52102         (clear_ungetc_buffer): Implement also for other systems.
52103         (rpl_fflush): On glibc systems, invoke
52104         clear_ungetc_buffer_preserving_position. Otherwise, invoke
52105         clear_ungetc_buffer after fetching the stream's position, not before.
52106
52107 2009-01-15  Bruno Haible  <bruno@clisp.org>
52108
52109         Make fflush-after-ungetc POSIX compliant on glibc systems.
52110         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
52111         after ungetc.
52112         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
52113         (rpl_fflush): On glibc systems, simply call the system's fflush
52114         function after clearing the ungetc buffer.
52115         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
52116         Instead, lseek only to the end of file, then use the system's fseeko
52117         for the rest. On glibc systems, reset the EOF indicator bit.
52118
52119 2009-01-15  Jim Meyering  <meyering@redhat.com>
52120
52121         openmp.m4: revert quote-adding change, for portability to older autoconf
52122         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
52123         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
52124         Simon Josefsson noticed the problem when using autoconf-2.61.
52125
52126 2009-01-15  Bruno Haible  <bruno@clisp.org>
52127
52128         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
52129         * tests/test-fflush2.c (ASSERT): Always fail.
52130         (main): Add two tests for fflush() after ungetc(), taking into account
52131         the Austin Group's clarification.
52132         Suggested by Eric Blake.
52133
52134 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
52135
52136         mktime.m4: remove K&R-style function prototypes
52137         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
52138         for the Sun C++ compiler.
52139
52140 2009-01-14  Bruno Haible  <bruno@clisp.org>
52141
52142         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
52143         while including <wchar.h>.
52144         * lib/wchar.in.h: In two particular situations on HP-UX, include only
52145         the system's <wchar.h> file.
52146         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52147
52148 2009-01-14  Bruno Haible  <bruno@clisp.org>
52149
52150         * m4/csharp.m4: Don't mention gettext on the serial number line.
52151         * m4/csharpexec.m4: Likewise.
52152         * m4/eaccess.m4: Likewise.
52153         * m4/javaexec.m4: Likewise.
52154         * m4/sig_atomic_t.m4: Likewise.
52155         * m4/tmpdir.m4: Likewise.
52156         * m4/intldir.m4: Bump gettext version.
52157         * m4/lib-ld.m4: Likewise.
52158
52159 2009-01-14  Bruno Haible  <bruno@clisp.org>
52160
52161         * lib/progname.c (set_program_name): Add more comments.
52162         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
52163
52164 2009-01-14  Simon Josefsson  <simon@josefsson.org>
52165
52166         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
52167         were sys/stat.h does not define it.
52168
52169 2009-01-14  Jim Meyering  <meyering@redhat.com>
52170
52171         many *.m4 files: improve m4 quoting
52172         99% of this change was performed by running the following commands:
52173         git ls-files | grep '\.m4$' | xargs perl -pi \
52174           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
52175           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52176           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52177           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
52178         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
52179         The remainder were to add Copyright dates, increment serial numbers,
52180         undo some changes in comments, exclude m4/intl.m4, and add quotes
52181         around the "1" in ",1" where the unusual spacing prohibited the
52182         above regexps from doing the job.  For more details, see
52183         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
52184         * m4/acl.m4: Modified.
52185         * m4/afs.m4: Likewise.
52186         * m4/alloca.m4: Likewise.
52187         * m4/argp.m4: Likewise.
52188         * m4/argz.m4: Likewise.
52189         * m4/atexit.m4: Likewise.
52190         * m4/bison-i18n.m4: Likewise.
52191         * m4/bison.m4: Likewise.
52192         * m4/byteswap.m4: Likewise.
52193         * m4/c-stack.m4: Likewise.
52194         * m4/c-strtod.m4: Likewise.
52195         * m4/calloc.m4: Likewise.
52196         * m4/canonicalize-lgpl.m4: Likewise.
52197         * m4/chown.m4: Likewise.
52198         * m4/clock_time.m4: Likewise.
52199         * m4/codeset.m4: Likewise.
52200         * m4/copy-file.m4: Likewise.
52201         * m4/csharp.m4: Likewise.
52202         * m4/csharpcomp.m4: Likewise.
52203         * m4/csharpexec.m4: Likewise.
52204         * m4/d-ino.m4: Likewise.
52205         * m4/d-type.m4: Likewise.
52206         * m4/dirfd.m4: Likewise.
52207         * m4/double-slash-root.m4: Likewise.
52208         * m4/eaccess.m4: Likewise.
52209         * m4/eealloc.m4: Likewise.
52210         * m4/environ.m4: Likewise.
52211         * m4/errno_h.m4: Likewise.
52212         * m4/euidaccess.m4: Likewise.
52213         * m4/execute.m4: Likewise.
52214         * m4/fatal-signal.m4: Likewise.
52215         * m4/fchdir.m4: Likewise.
52216         * m4/fcntl_h.m4: Likewise.
52217         * m4/fileblocks.m4: Likewise.
52218         * m4/filenamecat.m4: Likewise.
52219         * m4/findprog.m4: Likewise.
52220         * m4/flexmember.m4: Likewise.
52221         * m4/fnmatch.m4: Likewise.
52222         * m4/fopen.m4: Likewise.
52223         * m4/fpending.m4: Likewise.
52224         * m4/fprintf-posix.m4: Likewise.
52225         * m4/free.m4: Likewise.
52226         * m4/frexp.m4: Likewise.
52227         * m4/frexpl.m4: Likewise.
52228         * m4/fsusage.m4: Likewise.
52229         * m4/ftruncate.m4: Likewise.
52230         * m4/gc-camellia.m4: Likewise.
52231         * m4/gc-random.m4: Likewise.
52232         * m4/gc.m4: Likewise.
52233         * m4/getaddrinfo.m4: Likewise.
52234         * m4/getcwd-abort-bug.m4: Likewise.
52235         * m4/getcwd-path-max.m4: Likewise.
52236         * m4/getdate.m4: Likewise.
52237         * m4/getdomainname.m4: Likewise.
52238         * m4/getgroups.m4: Likewise.
52239         * m4/gethostname.m4: Likewise.
52240         * m4/gethrxtime.m4: Likewise.
52241         * m4/getline.m4: Likewise.
52242         * m4/getloadavg.m4: Likewise.
52243         * m4/getndelim2.m4: Likewise.
52244         * m4/getpass.m4: Likewise.
52245         * m4/gettext.m4: Likewise.
52246         * m4/gettime.m4: Likewise.
52247         * m4/gettimeofday.m4: Likewise.
52248         * m4/gnulib-common.m4: Likewise.
52249         * m4/group-member.m4: Likewise.
52250         * m4/host-os.m4: Likewise.
52251         * m4/iconv.m4: Likewise.
52252         * m4/iconv_open.m4: Likewise.
52253         * m4/inet_ntop.m4: Likewise.
52254         * m4/inet_pton.m4: Likewise.
52255         * m4/inline.m4: Likewise.
52256         * m4/intldir.m4: Likewise.
52257         * m4/intlmacosx.m4: Likewise.
52258         * m4/intmax.m4: Likewise.
52259         * m4/intmax_t.m4: Likewise.
52260         * m4/inttypes.m4: Likewise.
52261         * m4/inttypes_h.m4: Likewise.
52262         * m4/inttypes-pri.m4: Likewise.
52263         * m4/isapipe.m4: Likewise.
52264         * m4/isnand.m4: Likewise.
52265         * m4/isnanf.m4: Likewise.
52266         * m4/isnanl.m4: Likewise.
52267         * m4/javacomp.m4: Likewise.
52268         * m4/javaexec.m4: Likewise.
52269         * m4/jm-winsz1.m4: Likewise.
52270         * m4/jm-winsz2.m4: Likewise.
52271         * m4/lchown.m4: Likewise.
52272         * m4/lcmessage.m4: Likewise.
52273         * m4/ldexpl.m4: Likewise.
52274         * m4/lib-ld.m4: Likewise.
52275         * m4/lib-link.m4: Likewise.
52276         * m4/libsigsegv.m4: Likewise.
52277         * m4/link-follow.m4: Likewise.
52278         * m4/localcharset.m4: Likewise.
52279         * m4/locale-fr.m4: Likewise.
52280         * m4/locale-ja.m4: Likewise.
52281         * m4/locale-tr.m4: Likewise.
52282         * m4/locale-zh.m4: Likewise.
52283         * m4/lock.m4: Likewise.
52284         * m4/longlong.m4: Likewise.
52285         * m4/ls-mntd-fs.m4: Likewise.
52286         * m4/lstat.m4: Likewise.
52287         * m4/malloc.m4: Likewise.
52288         * m4/mathl.m4: Likewise.
52289         * m4/mbrtowc.m4: Likewise.
52290         * m4/mbstate_t.m4: Likewise.
52291         * m4/mbswidth.m4: Likewise.
52292         * m4/memchr.m4: Likewise.
52293         * m4/memcmp.m4: Likewise.
52294         * m4/memcpy.m4: Likewise.
52295         * m4/memmem.m4: Likewise.
52296         * m4/memmove.m4: Likewise.
52297         * m4/mempcpy.m4: Likewise.
52298         * m4/memrchr.m4: Likewise.
52299         * m4/memset.m4: Likewise.
52300         * m4/minmax.m4: Likewise.
52301         * m4/mkdir-slash.m4: Likewise.
52302         * m4/mkdtemp.m4: Likewise.
52303         * m4/mktime.m4: Likewise.
52304         * m4/mmap-anon.m4: Likewise.
52305         * m4/mountlist.m4: Likewise.
52306         * m4/nanosleep.m4: Likewise.
52307         * m4/nls.m4: Likewise.
52308         * m4/nocrash.m4: Likewise.
52309         * m4/open.m4: Likewise.
52310         * m4/openat.m4: Likewise.
52311         * m4/openmp.m4: Likewise.
52312         * m4/pathmax.m4: Likewise.
52313         * m4/perl.m4: Likewise.
52314         * m4/physmem.m4: Likewise.
52315         * m4/pipe.m4: Likewise.
52316         * m4/po.m4: Likewise.
52317         * m4/poll.m4: Likewise.
52318         * m4/posixtm.m4: Likewise.
52319         * m4/posixver.m4: Likewise.
52320         * m4/printf-frexp.m4: Likewise.
52321         * m4/printf-frexpl.m4: Likewise.
52322         * m4/printf-posix.m4: Likewise.
52323         * m4/printf-posix-rpl.m4: Likewise.
52324         * m4/printf.m4: Likewise.
52325         * m4/progtest.m4: Likewise.
52326         * m4/putenv.m4: Likewise.
52327         * m4/readline.m4: Likewise.
52328         * m4/readlink.m4: Likewise.
52329         * m4/readutmp.m4: Likewise.
52330         * m4/realloc.m4: Likewise.
52331         * m4/regex.m4: Likewise.
52332         * m4/relocatable.m4: Likewise.
52333         * m4/relocatable-lib.m4: Likewise.
52334         * m4/rename-dest-slash.m4: Likewise.
52335         * m4/rename.m4: Likewise.
52336         * m4/rmdir-errno.m4: Likewise.
52337         * m4/rmdir.m4: Likewise.
52338         * m4/roundf.m4: Likewise.
52339         * m4/roundl.m4: Likewise.
52340         * m4/rpmatch.m4: Likewise.
52341         * m4/save-cwd.m4: Likewise.
52342         * m4/selinux-selinux-h.m4: Likewise.
52343         * m4/setenv.m4: Likewise.
52344         * m4/settime.m4: Likewise.
52345         * m4/sig2str.m4: Likewise.
52346         * m4/sig_atomic_t.m4: Likewise.
52347         * m4/signalblocking.m4: Likewise.
52348         * m4/signbit.m4: Likewise.
52349         * m4/sigpipe.m4: Likewise.
52350         * m4/sockets.m4: Likewise.
52351         * m4/sockpfaf.m4: Likewise.
52352         * m4/st_dm_mode.m4: Likewise.
52353         * m4/stat-time.m4: Likewise.
52354         * m4/stdbool.m4: Likewise.
52355         * m4/stdint.m4: Likewise.
52356         * m4/stdint_h.m4: Likewise.
52357         * m4/stpcpy.m4: Likewise.
52358         * m4/stpncpy.m4: Likewise.
52359         * m4/strcase.m4: Likewise.
52360         * m4/strchrnul.m4: Likewise.
52361         * m4/strcspn.m4: Likewise.
52362         * m4/strdup.m4: Likewise.
52363         * m4/strftime.m4: Likewise.
52364         * m4/strndup.m4: Likewise.
52365         * m4/strnlen.m4: Likewise.
52366         * m4/strpbrk.m4: Likewise.
52367         * m4/strptime.m4: Likewise.
52368         * m4/strsep.m4: Likewise.
52369         * m4/strtod.m4: Likewise.
52370         * m4/strtoimax.m4: Likewise.
52371         * m4/strtok_r.m4: Likewise.
52372         * m4/strtol.m4: Likewise.
52373         * m4/strtoll.m4: Likewise.
52374         * m4/strtoul.m4: Likewise.
52375         * m4/strtoull.m4: Likewise.
52376         * m4/strtoumax.m4: Likewise.
52377         * m4/strverscmp.m4: Likewise.
52378         * m4/threadlib.m4: Likewise.
52379         * m4/timegm.m4: Likewise.
52380         * m4/tm_gmtoff.m4: Likewise.
52381         * m4/tmpdir.m4: Likewise.
52382         * m4/tmpfile.m4: Likewise.
52383         * m4/tzset.m4: Likewise.
52384         * m4/uintmax_t.m4: Likewise.
52385         * m4/unlinkdir.m4: Likewise.
52386         * m4/unlocked-io.m4: Likewise.
52387         * m4/uptime.m4: Likewise.
52388         * m4/userspec.m4: Likewise.
52389         * m4/utimbuf.m4: Likewise.
52390         * m4/utime.m4: Likewise.
52391         * m4/utimes-null.m4: Likewise.
52392         * m4/utimes.m4: Likewise.
52393         * m4/vararrays.m4: Likewise.
52394         * m4/vasnprintf.m4: Likewise.
52395         * m4/vfprintf-posix.m4: Likewise.
52396         * m4/vprintf-posix.m4: Likewise.
52397         * m4/wait-process.m4: Likewise.
52398         * m4/wchar_t.m4: Likewise.
52399         * m4/wint_t.m4: Likewise.
52400         * m4/write-any-file.m4: Likewise.
52401         * m4/yield.m4: Likewise.
52402
52403 2009-01-13  Bruno Haible  <bruno@clisp.org>
52404
52405         Avoid test-copy-file.sh failures when ACL support insufficient.
52406         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
52407         TESTS_ENVIRONMENT.
52408         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
52409         Reported by Jim Meyering.
52410
52411 2009-01-13  Bruno Haible  <bruno@clisp.org>
52412
52413         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
52414         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
52415         * modules/unistdio/u8-printf-parse (Files): Likewise.
52416         * modules/unistdio/u32-printf-parse (Files): Likewise.
52417         * modules/unistdio/ulc-printf-parse (Files): Likewise.
52418
52419 2009-01-13  Simon Josefsson  <simon@josefsson.org>
52420
52421         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
52422         and m4/inttypes_h.m4 too.
52423
52424 2009-01-12  Eric Blake  <ebb9@byu.net>
52425
52426         tests: IRIX 6.2 cc can't compile -0.0 into .data
52427         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
52428         rather than at compile-time.
52429         * tests/test-floorl.c (minus_zero): Likewise.
52430         * tests/test-frexpl.c (minus_zero): Likewise.
52431         * tests/test-isnan.c (minus_zerol): Likewise.
52432         * tests/test-isnanl.h (minus_zero): Likewise.
52433         * tests/test-ldexpl.c (minus_zero): Likewise.
52434         * tests/test-roundl.c (minus_zero): Likewise.
52435         * tests/test-signbit.c (minus_zerol): Likewise.
52436         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
52437         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
52438         * tests/test-truncl.c (minus_zero): Likewise.
52439         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
52440         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
52441         Reported by Tom G. Christensen and Nelson H. F. Beebe.
52442
52443 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52444
52445         regex: fix glibc bug 9697
52446         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
52447         handling.
52448
52449 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52450
52451         regex: fix glibc bug 697
52452         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
52453         being NULL also if there are no backreferences.
52454
52455 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52456
52457         regex: merge glibc changes
52458         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
52459         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
52460         re_string_skip_chars, re_string_reconstruct): Likewise.
52461         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
52462
52463 2009-01-07  Jim Meyering  <meyering@redhat.com>
52464
52465         poll: filter through cppi
52466         * lib/poll.c: Indent cpp directives to reflect nesting.
52467
52468 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
52469
52470         poll: don't return uninitialized
52471         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
52472
52473 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
52474
52475         avoid compile failure on AIX 6.1
52476         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
52477         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
52478
52479 2009-01-04  Jim Meyering  <meyering@redhat.com>
52480
52481         remove duplicate inclusion of <stdio.h>
52482         * tests/test-fprintf-posix.c: Likewise.
52483         * tests/test-printf-posix.c: Likewise.
52484         * tests/test-snprintf-posix.c: Likewise.
52485         * tests/test-sprintf-posix.c: Likewise.
52486         * tests/test-vasprintf-posix.c: Likewise.
52487         * tests/test-vfprintf-posix.c: Likewise.
52488         * tests/test-vprintf-posix.c: Likewise.
52489         * tests/test-vsnprintf-posix.c: Likewise.
52490         * tests/test-vsprintf-posix.c: Likewise.
52491
52492 2009-01-03  Jim Meyering  <meyering@redhat.com>
52493
52494         gnulib-tool: fix sed-based filtering
52495         * gnulib-tool (func_filter_filelist): Remove extra backslash
52496         in sed_fff_filter definition.
52497
52498 2009-01-02  Jim Meyering  <meyering@redhat.com>
52499
52500         strftime: avoid compilation failure on Solaris 2.6
52501         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
52502         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
52503         Don't #define mbrlen or mbsinit, since now they're guaranteed to
52504         be available.  Reported by Tom G. Christensen.  Details in
52505         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
52506
52507 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52508             Bruno Haible  <bruno@clisp.org>
52509
52510         Speed up gnulib-tool by doing more string processing through shell
52511         built-ins.
52512         * gnulib-tool (fast_func_append): New variable.
52513         (func_remove_prefix, func_remove_suffix): New functions.
52514         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
52515         (func_filter_filelist): New function.
52516         (func_get_dependencies): Use func_remove_suffix instead of sed.
52517         (func_get_automake_snippet): Use func_filter_filelist instead of a
52518         subshell and sed invocation.
52519
52520 2009-01-01  Bruno Haible  <bruno@clisp.org>
52521
52522         Fix a security bug.
52523         * gnulib-tool (func_import, import, update): Don't allow the characters
52524         '"', '$', '`', '\' in macro arguments that become part of commands that
52525         are evaluated.
52526
52527 2009-01-01  Bruno Haible  <bruno@clisp.org>
52528
52529         * gnulib-tool (func_reset_sigpipe): Add more comments.
52530
52531 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52532
52533         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
52534         func_emit_tests_Makefile_am, func_import): Abort loops early if we
52535         already know the answer.
52536
52537 2009-01-01  Jim Meyering  <meyering@redhat.com>
52538
52539         * lib/version-etc.c (version_etc_va): Update copyright year.
52540
52541 2008-12-30  Bruno Haible  <bruno@clisp.org>
52542
52543         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
52544         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
52545         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
52546
52547 2008-12-29  Eric Blake  <ebb9@byu.net>
52548
52549         multiarch: avoid autoconf AC_REQUIRE bug
52550         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
52551         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
52552         2.63 and older.
52553         Reported by Bruno Haible, and analyzed in
52554         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
52555
52556 2008-12-29  Bruno Haible  <bruno@clisp.org>
52557
52558         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
52559         files in subdirectories correctly.
52560         Reported by Ralf Wildenhues.
52561
52562 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52563
52564         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
52565         rather than 'join FILE -', for Solaris join.
52566
52567 2008-12-29  Bruno Haible  <bruno@clisp.org>
52568
52569         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
52570         quoting.
52571         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
52572         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
52573         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
52574         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
52575         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
52576         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
52577         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
52578         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
52579         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
52580         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
52581         * m4/nls.m4 (AM_NLS): Likewise.
52582         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
52583         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
52584         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
52585         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
52586         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
52587         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
52588         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
52589         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
52590         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
52591         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
52592         * m4/xsize.m4 (gl_XSIZE): Likewise.
52593         Suggested by Jim Meyering.
52594
52595 2008-11-17  Bruce Korb  <bkorb@gnu.org>
52596
52597         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
52598         * lib/parse-duration.c: use a switch instead of cascading if's.
52599
52600 2008-12-29  Eric Blake  <ebb9@byu.net>
52601
52602         wchar.h: supply WEOF on Irix 5.3
52603         * lib/wchar.in.h (wint_t): Also supply WEOF.
52604         * lib/wctype.in.h (wint_t): Likewise.
52605         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
52606         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
52607         Reported by Tom G. Christensen.
52608
52609 2008-12-26  Bruno Haible  <bruno@clisp.org>
52610
52611         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
52612         i486, i586, i686.
52613
52614 2008-12-26  Bruno Haible  <bruno@clisp.org>
52615
52616         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
52617
52618 2008-12-26  Bruno Haible  <bruno@clisp.org>
52619
52620         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
52621         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
52622         not __STDC_CONSTANT_MACROS.
52623         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
52624
52625 2008-12-25  Bruno Haible  <bruno@clisp.org>
52626
52627         Add support for universal builds to vasnprintf.
52628         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
52629         universal builds, guess no.
52630         * modules/vasnprintf-posix (Depends-on): Add multiarch.
52631         * modules/vasprintf-posix (Depends-on): Likewise.
52632         * modules/fprintf-posix (Depends-on): Likewise.
52633         * modules/vfprintf-posix (Depends-on): Likewise.
52634         * modules/snprintf-posix (Depends-on): Likewise.
52635         * modules/vsnprintf-posix (Depends-on): Likewise.
52636         * modules/sprintf-posix (Depends-on): Likewise.
52637         * modules/vsprintf-posix (Depends-on): Likewise.
52638         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
52639         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
52640         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
52641         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
52642         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
52643         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
52644         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
52645
52646         Add support for universal builds to <inttypes.h>.
52647         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
52648         _SCNu64_PREFIX): In Apple
52649         universal builds, define directly, using _LP64.
52650         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
52651         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
52652         * modules/inttypes (Depends-on): Add multiarch.
52653         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52654
52655         Add support for universal builds to <stdint.h>.
52656         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
52657         universal builds, define directly, using _LP64.
52658         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
52659         Apple universal builds, don't test for the size and suffix of ptrdiff_t
52660         and size_t.
52661         * modules/stdint (Depends-on): Add multiarch.
52662         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52663
52664         New module 'multiarch'.
52665         * modules/multiarch: New file.
52666         * m4/multiarch.m4: New file.
52667
52668 2008-12-25  Bruno Haible  <bruno@clisp.org>
52669
52670         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
52671
52672 2008-12-25  Bruno Haible  <bruno@clisp.org>
52673
52674         * modules/btowc (License): Relicense under LGPLv2+.
52675         * modules/mbsinit (License): Likewise.
52676         * modules/mbrtowc (License): Likewise.
52677         * modules/wcrtomb (License): Likewise.
52678         * modules/streq (License): Likewise.
52679         Reported by David Lutterkort <lutter@redhat.com>.
52680
52681 2008-12-23  Bruno Haible  <bruno@clisp.org>
52682
52683         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
52684
52685 2008-12-23  Bruno Haible  <bruno@clisp.org>
52686
52687         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
52688         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
52689         GETADDRINFO_LIB, not in LIBS.
52690         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
52691         * modules/canon-host (Link): Likewise.
52692         * NEWS: Mention the change.
52693         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
52694         GETADDRINFO_LIB.
52695
52696 2008-12-22  Bruno Haible  <bruno@clisp.org>
52697
52698         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
52699         * doc/posix-functions/iswalpha_l.texi: Likewise.
52700         * doc/posix-functions/iswblank_l.texi: Likewise.
52701         * doc/posix-functions/iswcntrl_l.texi: Likewise.
52702         * doc/posix-functions/iswctype_l.texi: Likewise.
52703         * doc/posix-functions/iswdigit_l.texi: Likewise.
52704         * doc/posix-functions/iswgraph_l.texi: Likewise.
52705         * doc/posix-functions/iswlower_l.texi: Likewise.
52706         * doc/posix-functions/iswprint_l.texi: Likewise.
52707         * doc/posix-functions/iswpunct_l.texi: Likewise.
52708         * doc/posix-functions/iswspace_l.texi: Likewise.
52709         * doc/posix-functions/iswupper_l.texi: Likewise.
52710         * doc/posix-functions/iswxdigit_l.texi: Likewise.
52711         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
52712         * doc/posix-functions/open_wmemstream.texi: Likewise.
52713         * doc/posix-functions/swscanf.texi: Likewise.
52714         * doc/posix-functions/towctrans_l.texi: Likewise.
52715         * doc/posix-functions/towlower.texi: Likewise.
52716         * doc/posix-functions/towlower_l.texi: Likewise.
52717         * doc/posix-functions/towupper.texi: Likewise.
52718         * doc/posix-functions/towupper_l.texi: Likewise.
52719         * doc/posix-functions/vfwprintf.texi: Likewise.
52720         * doc/posix-functions/vfwscanf.texi: Likewise.
52721         * doc/posix-functions/vswscanf.texi: Likewise.
52722         * doc/posix-functions/vwprintf.texi: Likewise.
52723         * doc/posix-functions/vwscanf.texi: Likewise.
52724         * doc/posix-functions/wcpcpy.texi: Likewise.
52725         * doc/posix-functions/wcpncpy.texi: Likewise.
52726         * doc/posix-functions/wcscasecmp.texi: Likewise.
52727         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
52728         * doc/posix-functions/wcscoll_l.texi: Likewise.
52729         * doc/posix-functions/wcsdup.texi: Likewise.
52730         * doc/posix-functions/wcsncasecmp.texi: Likewise.
52731         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
52732         * doc/posix-functions/wcsnlen.texi: Likewise.
52733         * doc/posix-functions/wcsnrtombs.texi: Likewise.
52734         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
52735         * doc/posix-functions/wctrans_l.texi: Likewise.
52736         * doc/posix-functions/wctype_l.texi: Likewise.
52737         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
52738         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
52739         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
52740         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
52741         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
52742         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
52743         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
52744         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
52745         * doc/glibc-functions/wcschrnul.texi: Likewise.
52746         * doc/glibc-functions/wcsftime_l.texi: Likewise.
52747         * doc/glibc-functions/wcstod_l.texi: Likewise.
52748         * doc/glibc-functions/wcstof_l.texi: Likewise.
52749         * doc/glibc-functions/wcstol_l.texi: Likewise.
52750         * doc/glibc-functions/wcstold_l.texi: Likewise.
52751         * doc/glibc-functions/wcstoll_l.texi: Likewise.
52752         * doc/glibc-functions/wcstoq.texi: Likewise.
52753         * doc/glibc-functions/wcstoul_l.texi: Likewise.
52754         * doc/glibc-functions/wcstoull_l.texi: Likewise.
52755         * doc/glibc-functions/wcstouq.texi: Likewise.
52756         * doc/glibc-functions/wmempcpy.texi: Likewise.
52757
52758 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
52759             Eric Blake  <ebb9@byu.net>
52760             Paolo Bonzini  <bonzini@gnu.org>
52761             Bruno Haible  <bruno@clisp.org>
52762
52763         Make c-stack work on Haiku.
52764         * lib/c-stack.c (SA_ONSTACK): Define fallback.
52765         (c_stack_action): Use SA_ONSTACK flag.
52766
52767 2008-12-22  Bruno Haible  <bruno@clisp.org>
52768
52769         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
52770
52771 2008-12-22  Bruno Haible  <bruno@clisp.org>
52772
52773         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
52774         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
52775         being overridden.
52776         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
52777         New macros.
52778         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
52779         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
52780         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
52781         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
52782
52783 2008-12-22  Bruno Haible  <bruno@clisp.org>
52784
52785         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
52786         from test code.
52787
52788 2008-12-22  Eric Blake  <ebb9@byu.net>
52789
52790         Avoid gcc warnings on cygwin.
52791         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
52792         Avoid unused variable.
52793         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
52794         Likewise.
52795
52796 2008-12-22  Bruno Haible  <bruno@clisp.org>
52797
52798         Remove HAVE_MBRTOWC conditionals.
52799         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
52800         (mbscasecmp): Assume mbrtowc function.
52801         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
52802         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
52803         * lib/mbschr.c: Include mbuiter.h unconditionally.
52804         (mbschr): Assume mbrtowc function.
52805         * lib/mbscspn.c: Include mbuiter.h unconditionally.
52806         (mbscspn): Assume mbrtowc function.
52807         * lib/mbslen.c: Include mbuiter.h unconditionally.
52808         (mbslen): Assume mbrtowc function.
52809         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
52810         (mbsncasecmp): Assume mbrtowc function.
52811         * lib/mbsnlen.c: Include mbiter.h unconditionally.
52812         (mbsnlen): Assume mbrtowc function.
52813         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
52814         (mbspbrk): Assume mbrtowc function.
52815         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
52816         (mbspcasecmp): Assume mbrtowc function.
52817         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
52818         (mbsrchr): Assume mbrtowc function.
52819         * lib/mbssep.c: Include mbuiter.h unconditionally.
52820         (mbssep): Assume mbrtowc function.
52821         * lib/mbsspn.c: Include mbuiter.h unconditionally.
52822         (mbsspn): Assume mbrtowc function.
52823         * lib/mbsstr.c: Include mbuiter.h unconditionally.
52824         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
52825         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
52826         (mbstok_r): Assume mbrtowc function.
52827         * lib/propername.c: Include mbuiter.h unconditionally.
52828         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
52829         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
52830         (trim2): Assume mbrtowc function.
52831         * lib/mbswidth.c (mbsinit): Remove fallback definition.
52832         (mbsnwidth): Assume mbrtowc function.
52833         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
52834         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
52835         fallback definitions.
52836         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
52837
52838 2008-12-22  Bruno Haible  <bruno@clisp.org>
52839
52840         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
52841
52842 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
52843
52844         * modules/regex: Request emulations for the mb*/wc* functions we need.
52845         * m4/regex.m4: Don't look for those functions here.
52846         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
52847
52848 2008-12-22  Bruno Haible  <bruno@clisp.org>
52849
52850         * modules/fnmatch (Depends-on): Remove duplicated dependency.
52851
52852 2008-12-21  Bruno Haible  <bruno@clisp.org>
52853
52854         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
52855         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
52856         (Include): Remove conditionalization.
52857         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
52858         (Include): Remove conditionalization.
52859         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
52860         (Include): Remove conditionalization.
52861         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
52862         * m4/mbfile.m4 (gl_MBFILE): Likewise.
52863         * NEWS: Mention the change.
52864         Reported by Alan Hourihane <alanh@fairlite.co.uk>
52865         via Sergey Poznyakoff <gray@gnu.org.ua>.
52866
52867 2008-12-21  Bruno Haible  <bruno@clisp.org>
52868
52869         * MODULES.html.sh (Extended multibyte and wide character utilities
52870         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
52871         wcrtomb, wcsrtombs.
52872         (Support for systems lacking POSIX:2008): Add accept, bind, close,
52873         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
52874         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
52875         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
52876
52877 2008-12-21  Bruno Haible  <bruno@clisp.org>
52878
52879         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
52880
52881 2008-12-21  Bruno Haible  <bruno@clisp.org>
52882
52883         * modules/wcsnrtombs-tests: New file.
52884         * tests/test-wcsnrtombs1.sh: New file.
52885         * tests/test-wcsnrtombs2.sh: New file.
52886         * tests/test-wcsnrtombs3.sh: New file.
52887         * tests/test-wcsnrtombs4.sh: New file.
52888         * tests/test-wcsnrtombs.c: New file.
52889
52890         New module 'wcsnrtombs'.
52891         * lib/wchar.in.h (wcsnrtombs): New declaration.
52892         * lib/wcsnrtombs.c: New file.
52893         * lib/wcsrtombs-state.c: New file.
52894         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
52895         (internal_state): Remove variable.
52896         * m4/wcsnrtombs.m4: New file.
52897         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
52898         compilation units.
52899         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
52900         HAVE_WCSNRTOMBS.
52901         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
52902         HAVE_WCSNRTOMBS.
52903         * modules/wcsnrtombs: New file.
52904         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
52905         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
52906
52907 2008-12-21  Bruno Haible  <bruno@clisp.org>
52908
52909         * modules/wcsrtombs-tests: New file.
52910         * tests/test-wcsrtombs1.sh: New file.
52911         * tests/test-wcsrtombs2.sh: New file.
52912         * tests/test-wcsrtombs3.sh: New file.
52913         * tests/test-wcsrtombs4.sh: New file.
52914         * tests/test-wcsrtombs.c: New file.
52915
52916         New module 'wcsrtombs'.
52917         * lib/wchar.in.h (wcsrtombs): New declaration.
52918         * lib/wcsrtombs.c: New file.
52919         * m4/wcsrtombs.m4: New file.
52920         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
52921         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
52922         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
52923         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
52924         * modules/wcsrtombs: New file.
52925         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
52926         bugs.
52927
52928 2008-12-21  Bruno Haible  <bruno@clisp.org>
52929
52930         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
52931         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
52932         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
52933         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
52934         if not correct.
52935         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
52936         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
52937         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
52938         m4/locale-zh.m4, m4/codeset.m4.
52939         * doc/posix-functions/wcrtomb.texi: Document the bug.
52940
52941 2008-12-21  Bruno Haible  <bruno@clisp.org>
52942
52943         Work around a btowc() bug on IRIX 6.5.
52944         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
52945         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
52946         REPLACE_WTOBC if not.
52947         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
52948         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
52949         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
52950
52951 2008-12-21  Bruno Haible  <bruno@clisp.org>
52952
52953         * modules/wcrtomb-tests: New file.
52954         * tests/test-wcrtomb.sh: New file.
52955         * tests/test-wcrtomb.c: New file.
52956
52957         New module 'wcrtomb'.
52958         * lib/wchar.in.h (wcrtomb): New declaration.
52959         * lib/wcrtomb.c: New file.
52960         * m4/wcrtomb.m4: New file.
52961         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
52962         HAVE_WCRTOMB.
52963         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
52964         HAVE_WCRTOMB.
52965         * modules/wcrtomb: New file.
52966         * doc/posix-functions/wcrtomb.texi: Mention the new module.
52967
52968 2008-12-21  Bruno Haible  <bruno@clisp.org>
52969
52970         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
52971         * modules/mbsrtowcs (Files): Likewise.
52972         * modules/wctob (Files): Likewise.
52973         * modules/c-strcase-tests (Files): Likewise.
52974         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
52975         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
52976         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
52977         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
52978         * modules/vasnprintf-posix-tests (Files): Likewise.
52979
52980 2008-12-21  William Pursell  <bill.pursell@gmail.com>
52981
52982         gitlog-to-changelog: pass all command-line arguments to git-log
52983         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
52984         it is sometimes convenient to filter the commits in various ways.
52985         gitlog-to-changelog only allows --since to specify a start date,
52986         but git-log itself supports many other filtering mechanisms.
52987         At the moment, I want to filter by branch name.  Rather than
52988         adding a --branch option to gitlog-to-changelog, it seems more
52989         flexible to simply pass all options directly to git-log and let
52990         git do the work.  Notice that this effectively makes --since a
52991         redundant option for gitlog-to-changelog, but removing it would
52992         require current usage to change since calls would then require
52993         an additional '--'.
52994
52995 2008-12-21  Bruno Haible  <bruno@clisp.org>
52996
52997         * modules/mbsnrtowcs-tests: New file.
52998         * tests/test-mbsnrtowcs1.sh: New file.
52999         * tests/test-mbsnrtowcs2.sh: New file.
53000         * tests/test-mbsnrtowcs3.sh: New file.
53001         * tests/test-mbsnrtowcs4.sh: New file.
53002         * tests/test-mbsnrtowcs.c: New file.
53003
53004         New module 'mbsnrtowcs'.
53005         * lib/wchar.in.h (mbsnrtowcs): New declaration.
53006         * lib/mbsnrtowcs.c: New file.
53007         * lib/mbsrtowcs-state.c: New file.
53008         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
53009         (internal_state): Remove variable.
53010         * m4/mbsnrtowcs.m4: New file.
53011         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
53012         compilation units.
53013         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
53014         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
53015         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
53016         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
53017         * modules/mbsnrtowcs: New file.
53018         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
53019         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
53020         portability problem.
53021
53022 2008-12-21  Bruno Haible  <bruno@clisp.org>
53023
53024         Work around mbsrtowcs bug.
53025         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
53026         (gl_FUNC_MBSRTOWCS): Invoke it.
53027         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53028         m4/locale-zh.m4.
53029         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
53030
53031 2008-12-21  Bruno Haible  <bruno@clisp.org>
53032
53033         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
53034
53035 2008-12-21  Bruno Haible  <bruno@clisp.org>
53036
53037         Update doc for AIX.
53038         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
53039         16-bit wchar_t type.
53040         * doc/posix-functions/btowc.texi: Likewise.
53041         * doc/posix-functions/fgetwc.texi: Likewise.
53042         * doc/posix-functions/fgetws.texi: Likewise.
53043         * doc/posix-functions/fputwc.texi: Likewise.
53044         * doc/posix-functions/fputws.texi: Likewise.
53045         * doc/posix-functions/fwide.texi: Likewise.
53046         * doc/posix-functions/fwprintf.texi: Likewise.
53047         * doc/posix-functions/fwscanf.texi: Likewise.
53048         * doc/posix-functions/getwchar.texi: Likewise.
53049         * doc/posix-functions/getwc.texi: Likewise.
53050         * doc/posix-functions/iswalnum.texi: Likewise.
53051         * doc/posix-functions/iswalpha.texi: Likewise.
53052         * doc/posix-functions/iswblank.texi: Likewise.
53053         * doc/posix-functions/iswcntrl.texi: Likewise.
53054         * doc/posix-functions/iswctype.texi: Likewise.
53055         * doc/posix-functions/iswdigit.texi: Likewise.
53056         * doc/posix-functions/iswgraph.texi: Likewise.
53057         * doc/posix-functions/iswlower.texi: Likewise.
53058         * doc/posix-functions/iswprint.texi: Likewise.
53059         * doc/posix-functions/iswpunct.texi: Likewise.
53060         * doc/posix-functions/iswspace.texi: Likewise.
53061         * doc/posix-functions/iswupper.texi: Likewise.
53062         * doc/posix-functions/iswxdigit.texi: Likewise.
53063         * doc/posix-functions/mbrtowc.texi: Likewise.
53064         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53065         * doc/posix-functions/mbstowcs.texi: Likewise.
53066         * doc/posix-functions/mbtowc.texi: Likewise.
53067         * doc/posix-functions/putwchar.texi: Likewise.
53068         * doc/posix-functions/putwc.texi: Likewise.
53069         * doc/posix-functions/swprintf.texi: Likewise.
53070         * doc/posix-functions/tolower.texi: Likewise.
53071         * doc/posix-functions/toupper.texi: Likewise.
53072         * doc/posix-functions/towctrans.texi: Likewise.
53073         * doc/posix-functions/ungetwc.texi: Likewise.
53074         * doc/posix-functions/vswprintf.texi: Likewise.
53075         * doc/posix-functions/wcrtomb.texi: Likewise.
53076         * doc/posix-functions/wcscat.texi: Likewise.
53077         * doc/posix-functions/wcschr.texi: Likewise.
53078         * doc/posix-functions/wcscmp.texi: Likewise.
53079         * doc/posix-functions/wcscoll.texi: Likewise.
53080         * doc/posix-functions/wcscpy.texi: Likewise.
53081         * doc/posix-functions/wcscspn.texi: Likewise.
53082         * doc/posix-functions/wcsftime.texi: Likewise.
53083         * doc/posix-functions/wcslen.texi: Likewise.
53084         * doc/posix-functions/wcsncat.texi: Likewise.
53085         * doc/posix-functions/wcsncmp.texi: Likewise.
53086         * doc/posix-functions/wcsncpy.texi: Likewise.
53087         * doc/posix-functions/wcspbrk.texi: Likewise.
53088         * doc/posix-functions/wcsrchr.texi: Likewise.
53089         * doc/posix-functions/wcsrtombs.texi: Likewise.
53090         * doc/posix-functions/wcsspn.texi: Likewise.
53091         * doc/posix-functions/wcsstr.texi: Likewise.
53092         * doc/posix-functions/wcstod.texi: Likewise.
53093         * doc/posix-functions/wcstof.texi: Likewise.
53094         * doc/posix-functions/wcstoimax.texi: Likewise.
53095         * doc/posix-functions/wcstok.texi: Likewise.
53096         * doc/posix-functions/wcstold.texi: Likewise.
53097         * doc/posix-functions/wcstoll.texi: Likewise.
53098         * doc/posix-functions/wcstol.texi: Likewise.
53099         * doc/posix-functions/wcstombs.texi: Likewise.
53100         * doc/posix-functions/wcstoull.texi: Likewise.
53101         * doc/posix-functions/wcstoul.texi: Likewise.
53102         * doc/posix-functions/wcstoumax.texi: Likewise.
53103         * doc/posix-functions/wcswidth.texi: Likewise.
53104         * doc/posix-functions/wcsxfrm.texi: Likewise.
53105         * doc/posix-functions/wctob.texi: Likewise.
53106         * doc/posix-functions/wctomb.texi: Likewise.
53107         * doc/posix-functions/wctrans.texi: Likewise.
53108         * doc/posix-functions/wctype.texi: Likewise.
53109         * doc/posix-functions/wcwidth.texi: Likewise.
53110         * doc/posix-functions/wmemchr.texi: Likewise.
53111         * doc/posix-functions/wmemcmp.texi: Likewise.
53112         * doc/posix-functions/wmemcpy.texi: Likewise.
53113         * doc/posix-functions/wmemmove.texi: Likewise.
53114         * doc/posix-functions/wmemset.texi: Likewise.
53115         * doc/posix-functions/wprintf.texi: Likewise.
53116         * doc/posix-functions/wscanf.texi: Likewise.
53117
53118 2008-12-21  Bruno Haible  <bruno@clisp.org>
53119
53120         Update doc for HP-UX 11.11.
53121         * doc/posix-functions/btowc.texi: Clarify that the function is missing
53122         in HP-UX version 11.00, not in all versions of HP-UX 11.
53123         * doc/posix-functions/fwide.texi: Likewise.
53124         * doc/posix-functions/fwprintf.texi: Likewise.
53125         * doc/posix-functions/fwscanf.texi: Likewise.
53126         * doc/posix-functions/inet_ntop.texi: Likewise.
53127         * doc/posix-functions/inet_pton.texi: Likewise.
53128         * doc/posix-functions/mbrlen.texi: Likewise.
53129         * doc/posix-functions/mbrtowc.texi: Likewise.
53130         * doc/posix-functions/mbsinit.texi: Likewise.
53131         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53132         * doc/posix-functions/swprintf.texi: Likewise.
53133         * doc/posix-functions/swscanf.texi: Likewise.
53134         * doc/posix-functions/towctrans.texi: Likewise.
53135         * doc/posix-functions/vfwprintf.texi: Likewise.
53136         * doc/posix-functions/vswprintf.texi: Likewise.
53137         * doc/posix-functions/vwprintf.texi: Likewise.
53138         * doc/posix-functions/wcrtomb.texi: Likewise.
53139         * doc/posix-functions/wcsrtombs.texi: Likewise.
53140         * doc/posix-functions/wcsstr.texi: Likewise.
53141         * doc/posix-functions/wctob.texi: Likewise.
53142         * doc/posix-functions/wctrans.texi: Likewise.
53143         * doc/posix-functions/wmemchr.texi: Likewise.
53144         * doc/posix-functions/wmemcmp.texi: Likewise.
53145         * doc/posix-functions/wmemcpy.texi: Likewise.
53146         * doc/posix-functions/wmemmove.texi: Likewise.
53147         * doc/posix-functions/wmemset.texi: Likewise.
53148         * doc/posix-functions/wprintf.texi: Likewise.
53149         * doc/posix-functions/wscanf.texi: Likewise.
53150
53151 2008-12-21  Bruno Haible  <bruno@clisp.org>
53152
53153         Work around a portability problem.
53154         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
53155         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
53156
53157 2008-12-20  Bruno Haible  <bruno@clisp.org>
53158
53159         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
53160         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
53161         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
53162         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
53163         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
53164
53165         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
53166         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
53167         set.
53168         (GNULIB_defined_mbstate_t): New macro.
53169         (mbsinit): Redefine if REPLACE_MBSINIT is set.
53170         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
53171         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
53172         reuses the system's mbrtowc function but works around the bugs.
53173         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
53174         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
53175         macros.
53176         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
53177         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
53178         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
53179         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
53180         REPLACE_MBSINIT if mbsinit needs to be overridden.
53181         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
53182         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53183         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
53184         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53185         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53186         m4/locale-zh.m4.
53187         (Depends): Add mbsinit.
53188         * modules/mbsinit (Depends): Add mbrtowc.
53189         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
53190
53191 2008-12-20  Bruno Haible  <bruno@clisp.org>
53192
53193         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
53194         so that there are no conversion errors on AIX.
53195         * tests/test-mbsrtowcs.c (main): LIkewise.
53196
53197 2008-12-20  Bruno Haible  <bruno@clisp.org>
53198
53199         Work around wctob bug on Solaris <= 9.
53200         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
53201         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
53202         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
53203         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
53204         * modules/wctob (Files): Add m4/locale-fr.m4.
53205         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
53206
53207 2008-12-20  Bruno Haible  <bruno@clisp.org>
53208
53209         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
53210         /dev/null.
53211         * tests/test-select-in.sh: Likewise.
53212         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
53213
53214 2008-12-20  Bruno Haible  <bruno@clisp.org>
53215
53216         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
53217         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
53218         Cygwin 1.5.x.
53219
53220 2008-12-20  Bruno Haible  <bruno@clisp.org>
53221
53222         Ensure mbstate_t is defined on HP-UX 11.11.
53223         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
53224         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
53225         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
53226         AC_USE_SYSTEM_EXTENSIONS.
53227         * modules/fnmatch (Depends-on): Add extensions.
53228         * modules/mbrlen (Depends-on): Likewise.
53229         * modules/mbrtowc (Depends-on): Likewise.
53230         * modules/mbsinit (Depends-on): Likewise.
53231         * modules/mbsrtowcs (Depends-on): Likewise.
53232         * modules/mbswidth (Depends-on): Likewise.
53233         * modules/quotearg (Depends-on): Likewise.
53234         * modules/strftime (Depends-on): Likewise.
53235
53236 2008-12-20  Bruno Haible  <bruno@clisp.org>
53237
53238         Ensure wctob is declared on IRIX 6.5.
53239         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
53240         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
53241         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
53242         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
53243         of HAVE_WCTOB.
53244         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
53245         HAVE_WCTOB.
53246         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
53247
53248 2008-12-19  Bruno Haible  <bruno@clisp.org>
53249
53250         * modules/mbsrtowcs-tests: New file.
53251         * tests/test-mbsrtowcs1.sh: New file.
53252         * tests/test-mbsrtowcs2.sh: New file.
53253         * tests/test-mbsrtowcs3.sh: New file.
53254         * tests/test-mbsrtowcs4.sh: New file.
53255         * tests/test-mbsrtowcs.c: New file.
53256
53257         New module 'mbsrtowcs'.
53258         * lib/wchar.in.h (mbsrtowcs): New declaration.
53259         * lib/mbsrtowcs.c: New file.
53260         * m4/mbsrtowcs.m4: New file.
53261         * modules/mbsrtowcs: New file.
53262         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
53263         HAVE_MBSRTOWCS.
53264         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
53265         HAVE_MBSRTOWCS.
53266         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
53267
53268 2008-12-19  Bruno Haible  <bruno@clisp.org>
53269
53270         New module 'mbrlen'.
53271         * lib/wchar.in.h (mbrlen): New declaration.
53272         * lib/mbrlen.c: New file.
53273         * m4/mbrlen.m4: New file.
53274         * modules/mbrlen: New file.
53275         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
53276         HAVE_MBRLEN.
53277         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
53278         HAVE_MBRLEN.
53279         * doc/posix-functions/mbrlen.texi: Document the new module.
53280
53281 2008-12-19  Bruno Haible  <bruno@clisp.org>
53282
53283         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
53284         * modules/mbrtowc (Depends-on): Add verify.
53285         Suggested by Paul Eggert.
53286
53287 2008-12-18  Bruno Haible  <bruno@clisp.org>
53288
53289         * modules/mbsinit-tests: New file.
53290         * tests/test-mbsinit.sh: New file.
53291         * tests/test-mbsinit.c: New file.
53292
53293 2008-12-18  Bruno Haible  <bruno@clisp.org>
53294
53295         * modules/mbrtowc-tests: New file.
53296         * tests/test-mbrtowc1.sh: New file.
53297         * tests/test-mbrtowc2.sh: New file.
53298         * tests/test-mbrtowc3.sh: New file.
53299         * tests/test-mbrtowc4.sh: New file.
53300         * tests/test-mbrtowc.c: New file.
53301
53302         New module 'mbrtowc'.
53303         * lib/wchar.in.h (mbstate_t): Override when the system does not have
53304         mbsinit and mbrtowc.
53305         (mbrtowc): New declaration.
53306         * lib/mbrtowc.c: New file.
53307         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
53308         * modules/mbrtowc: New file.
53309         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
53310         HAVE_MBRTOWC.
53311         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
53312         HAVE_MBRTOWC.
53313         * doc/posix-functions/mbrtowc.texi: Document the new module.
53314
53315 2008-12-18  Bruno Haible  <bruno@clisp.org>
53316
53317         New module 'wctob'.
53318         * lib/wchar.in.h (wctob): New declaration.
53319         * lib/wctob.c: New file.
53320         * m4/wctob.m4: New file.
53321         * modules/wctob: New file.
53322         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
53323         HAVE_WCTOB.
53324         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
53325         * doc/posix-functions/wctob.texi: Document the new module.
53326
53327 2008-12-18  Bruno Haible  <bruno@clisp.org>
53328
53329         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
53330         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
53331
53332 2008-12-18  Simon Josefsson  <simon@josefsson.org>
53333
53334         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
53335         G. Christensen" <tgc@jupiterrise.com>.
53336
53337         * lib/flock.c: Need to include errno.h.  Reported by "Tom
53338         G. Christensen" <tgc@jupiterrise.com>.
53339
53340         * lib/flock.c: Need to include string.h.  Reported by "Tom
53341         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
53342         <ebb9@byu.net>.
53343
53344 2008-12-18  Bruno Haible  <bruno@clisp.org>
53345
53346         * m4/locale-ja.m4: New file, from GNU gettext.
53347
53348 2008-12-17  Bruno Haible  <bruno@clisp.org>
53349
53350         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
53351         Suggested by Eric Blake.
53352
53353 2008-12-17  Bruno Haible  <bruno@clisp.org>
53354
53355         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
53356
53357 2008-12-17  Bruno Haible  <bruno@clisp.org>
53358
53359         * lib/mbsinit.c: Include verify.h. Verify an assumption.
53360         * modules/mbsinit (Depends-on): Add verify.
53361         Suggested by Paul Eggert.
53362
53363 2008-12-17  Bruno Haible  <bruno@clisp.org>
53364
53365         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
53366         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
53367         gl_FUNC_MBRTOWC.
53368         * m4/mbiter.m4 (gl_MBITER): LIkewise.
53369         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
53370         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
53371         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
53372         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
53373         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
53374         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
53375         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
53376         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
53377         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
53378         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
53379         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
53380         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
53381         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
53382         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
53383         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
53384         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
53385         * modules/trim (configure.ac): Likewise.
53386
53387 2008-12-17  Bruno Haible  <bruno@clisp.org>
53388
53389         * modules/btowc-tests: New file.
53390         * tests/test-btowc1.sh: New file.
53391         * tests/test-btowc2.sh: New file.
53392         * tests/test-btowc.c: New file.
53393
53394         New module 'btowc'.
53395         * lib/wchar.in.h (btowc): New declaration.
53396         * lib/btowc.c: New file.
53397         * m4/btowc.m4: New file.
53398         * modules/btowc: New file.
53399         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
53400         HAVE_BTOWC.
53401         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
53402         * doc/posix-functions/btowc.texi: Document the new module.
53403
53404 2008-12-17  Bruno Haible  <bruno@clisp.org>
53405
53406         New module 'mbsinit'.
53407         * lib/wchar.in.h (mbsinit): New declaration.
53408         * lib/mbsinit.c: New file.
53409         * m4/mbsinit.m4: New file.
53410         * modules/mbsinit: New file.
53411         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
53412         HAVE_MBSINIT.
53413         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
53414         HAVE_MBSINIT.
53415         * doc/posix-functions/mbsinit.texi: Document the new module.
53416
53417 2008-12-16  Bruno Haible  <bruno@clisp.org>
53418
53419         * lib/unistd.in.h: Add comment.
53420         * tests/test-environ.c: Don't include <stdlib.h>.
53421
53422 2008-12-16  Bruno Haible  <bruno@clisp.org>
53423
53424         * lib/parse-duration.h (parse_duration): Document return value
53425         convention.
53426         * lib/parse-duration.c: Include specification header first. Add
53427         comments.
53428         (_): Remove macro.
53429         (parse_year_month_day, parse_hour_minute_second): Move side effects
53430         outside of strchr call.
53431         (parse_non_iso8601): Move side effects outside of isspace call.
53432         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
53433         call.
53434
53435 2008-12-16  Bruno Haible  <bruno@clisp.org>
53436
53437         * tests/test-parse-duration.sh: Produce no output when the test
53438         succeeds.
53439
53440 2008-12-16  Bruno Haible  <bruno@clisp.org>
53441
53442         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
53443         expressions.
53444
53445 2008-12-15  Bruno Haible  <bruno@clisp.org>
53446
53447         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
53448         * doc/glibc-functions/flistxattr.texi: Likewise.
53449         * doc/glibc-functions/fopencookie.texi: Likewise.
53450         * doc/glibc-functions/fremovexattr.texi: Likewise.
53451         * doc/glibc-functions/fsetxattr.texi: Likewise.
53452         * doc/glibc-functions/getxattr.texi: Likewise.
53453         * doc/glibc-functions/lgetxattr.texi: Likewise.
53454         * doc/glibc-functions/listxattr.texi: Likewise.
53455         * doc/glibc-functions/llistxattr.texi: Likewise.
53456         * doc/glibc-functions/lremovexattr.texi: Likewise.
53457         * doc/glibc-functions/lsetxattr.texi: Likewise.
53458         * doc/glibc-functions/removexattr.texi: Likewise.
53459         * doc/glibc-functions/setxattr.texi: Likewise.
53460         * doc/posix-functions/open_memstream.texi: Likewise.
53461
53462 2008-12-15  Eric Blake  <ebb9@byu.net>
53463
53464         Update doc for cygwin 1.7.
53465         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
53466         functions.
53467         * doc/posix-functions/fchmodat.texi: Likewise.
53468         * doc/posix-functions/fchownat.texi: Likewise.
53469         * doc/posix-functions/fdopendir.texi: Likewise.
53470         * doc/posix-functions/fmemopen.texi: Likewise.
53471         * doc/posix-functions/freeaddrinfo.texi: Likewise.
53472         * doc/posix-functions/fstatat.texi: Likewise.
53473         * doc/posix-functions/futimens.texi: Likewise.
53474         * doc/posix-functions/gai_strerror.texi: Likewise.
53475         * doc/posix-functions/getaddrinfo.texi: Likewise.
53476         * doc/posix-functions/getnameinfo.texi: Likewise.
53477         * doc/posix-functions/if_freenameindex.texi: Likewise.
53478         * doc/posix-functions/if_indextoname.texi: Likewise.
53479         * doc/posix-functions/if_nameindex.texi: Likewise.
53480         * doc/posix-functions/if_nametoindex.texi: Likewise.
53481         * doc/posix-functions/insque.texi: Likewise.
53482         * doc/posix-functions/linkat.texi: Likewise.
53483         * doc/posix-functions/llrint.texi: Likewise.
53484         * doc/posix-functions/llrintf.texi: Likewise.
53485         * doc/posix-functions/llrintl.texi: Likewise.
53486         * doc/posix-functions/lockf.texi: Likewise.
53487         * doc/posix-functions/lrintl.texi: Likewise.
53488         * doc/posix-functions/mkdirat.texi: Likewise.
53489         * doc/posix-functions/mkfifoat.texi: Likewise.
53490         * doc/posix-functions/mknodat.texi: Likewise.
53491         * doc/posix-functions/mq_close.texi: Likewise.
53492         * doc/posix-functions/mq_getattr.texi: Likewise.
53493         * doc/posix-functions/mq_notify.texi: Likewise.
53494         * doc/posix-functions/mq_open.texi: Likewise.
53495         * doc/posix-functions/mq_receive.texi: Likewise.
53496         * doc/posix-functions/mq_send.texi: Likewise.
53497         * doc/posix-functions/mq_setattr.texi: Likewise.
53498         * doc/posix-functions/mq_timedreceive.texi: Likewise.
53499         * doc/posix-functions/mq_timedsend.texi: Likewise.
53500         * doc/posix-functions/mq_unlink.texi: Likewise.
53501         * doc/posix-functions/open_memstream.texi: Likewise.
53502         * doc/posix-functions/openat.texi: Likewise.
53503         * doc/posix-functions/posix_fadvise.texi: Likewise.
53504         * doc/posix-functions/posix_fallocate.texi: Likewise.
53505         * doc/posix-functions/posix_madvise.texi: Likewise.
53506         * doc/posix-functions/posix_memalign.texi: Likewise.
53507         * doc/posix-functions/posix_openpt.texi: Likewise.
53508         * doc/posix-functions/readlinkat.texi: Likewise.
53509         * doc/posix-functions/remque.texi: Likewise.
53510         * doc/posix-functions/renameat.texi: Likewise.
53511         * doc/posix-functions/rintl.texi: Likewise.
53512         * doc/posix-functions/sem_unlink.texi: Likewise.
53513         * doc/posix-functions/shm_open.texi: Likewise.
53514         * doc/posix-functions/shm_unlink.texi: Likewise.
53515         * doc/posix-functions/signgam.texi: Likewise.
53516         * doc/posix-functions/sigset.texi: Likewise.
53517         * doc/posix-functions/stpcpy.texi: Likewise.
53518         * doc/posix-functions/stpncpy.texi: Likewise.
53519         * doc/posix-functions/strerror.texi: Likewise.
53520         * doc/posix-functions/strtod.texi: Likewise.
53521         * doc/posix-functions/symlinkat.texi: Likewise.
53522         * doc/posix-functions/unlinkat.texi: Likewise.
53523         * doc/posix-functions/utimensat.texi: Likewise.
53524         * doc/glibc-functions/bindresvport.texi: Likewise.
53525         * doc/glibc-functions/dn_expand.texi: Likewise.
53526         * doc/glibc-functions/exp10.texi: Likewise.
53527         * doc/glibc-functions/exp10f.texi: Likewise.
53528         * doc/glibc-functions/fgetxattr.texi: Likewise.
53529         * doc/glibc-functions/flistxattr.texi: Likewise.
53530         * doc/glibc-functions/fopencookie.texi: Likewise.
53531         * doc/glibc-functions/freeifaddrs.texi: Likewise.
53532         * doc/glibc-functions/fremovexattr.texi: Likewise.
53533         * doc/glibc-functions/fsetxattr.texi: Likewise.
53534         * doc/glibc-functions/getifaddrs.texi: Likewise.
53535         * doc/glibc-functions/getxattr.texi: Likewise.
53536         * doc/glibc-functions/lgetxattr.texi: Likewise.
53537         * doc/glibc-functions/listxattr.texi: Likewise.
53538         * doc/glibc-functions/llistxattr.texi: Likewise.
53539         * doc/glibc-functions/lremovexattr.texi: Likewise.
53540         * doc/glibc-functions/lsetxattr.texi: Likewise.
53541         * doc/glibc-functions/pow10.texi: Likewise.
53542         * doc/glibc-functions/pow10f.texi: Likewise.
53543         * doc/glibc-functions/rcmd_af.texi: Likewise.
53544         * doc/glibc-functions/removexattr.texi: Likewise.
53545         * doc/glibc-functions/res_init.texi: Likewise.
53546         * doc/glibc-functions/res_mkquery.texi: Likewise.
53547         * doc/glibc-functions/res_query.texi: Likewise.
53548         * doc/glibc-functions/res_querydomain.texi: Likewise.
53549         * doc/glibc-functions/res_send.texi: Likewise.
53550         * doc/glibc-functions/rresvport_af.texi: Likewise.
53551         * doc/glibc-functions/setxattr.texi: Likewise.
53552         * doc/glibc-functions/strcasestr.texi: Likewise.
53553
53554 2008-12-15  Bruno Haible  <bruno@clisp.org>
53555
53556         Fix compilation error on OSF/1 4.0.
53557         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
53558         <sys/time.h>, simply delegate to the system header.
53559         Reported by Daniel Richard G. <oss@teragram.com>.
53560
53561 2008-12-15  Bruno Haible  <bruno@clisp.org>
53562
53563         * doc/posix-functions/openat.texi: Mention the 'openat' module.
53564         * doc/posix-functions/fchmodat.texi: Likewise.
53565         * doc/posix-functions/fchownat.texi: Likewise.
53566         * doc/posix-functions/fdopendir.texi: Likewise.
53567         * doc/posix-functions/fstatat.texi: Likewise.
53568         * doc/posix-functions/mkdirat.texi: Likewise.
53569         * doc/posix-functions/unlinkat.texi: Likewise.
53570
53571 2008-12-14  Bruno Haible  <bruno@clisp.org>
53572
53573         Update doc for POSIX:2008.
53574         * doc/posix-functions/faccessat.texi: New file.
53575         * doc/posix-functions/fchmodat.texi: New file.
53576         * doc/posix-functions/fchownat.texi: New file.
53577         * doc/posix-functions/fdopendir.texi: New file.
53578         * doc/posix-functions/fstatat.texi: New file.
53579         * doc/posix-functions/futimens.texi: New file.
53580         * doc/posix-functions/linkat.texi: New file.
53581         * doc/posix-functions/mkdirat.texi: New file.
53582         * doc/posix-functions/mkfifoat.texi: New file.
53583         * doc/posix-functions/mknodat.texi: New file.
53584         * doc/posix-functions/open_wmemstream.texi: New file.
53585         * doc/posix-functions/openat.texi: New file.
53586         * doc/posix-functions/psiginfo.texi: New file.
53587         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
53588         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
53589         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
53590         * doc/posix-functions/readlinkat.texi: New file.
53591         * doc/posix-functions/renameat.texi: New file.
53592         * doc/posix-functions/strerror_l.texi: New file.
53593         * doc/posix-functions/symlinkat.texi: New file.
53594         * doc/posix-functions/unlinkat.texi: New file.
53595         * doc/posix-functions/utimensat.texi: New file.
53596         * doc/gnulib.texi (Function Substitutes): Add these subsections.
53597
53598 2008-12-14  Bruno Haible  <bruno@clisp.org>
53599
53600         Update doc for POSIX:2008.
53601         * doc/posix-functions/alphasort.texi: Renamed from
53602         doc/glibc-functions/alphasort.texi.
53603         * doc/posix-functions/dirfd.texi: Renamed from
53604         doc/glibc-functions/dirfd.texi.
53605         * doc/posix-functions/dprintf.texi: Renamed from
53606         doc/glibc-functions/dprintf.texi.
53607         * doc/posix-functions/duplocale.texi: Renamed from
53608         doc/glibc-functions/duplocale.texi.
53609         * doc/posix-functions/fexecve.texi: Renamed from
53610         doc/glibc-functions/fexecve.texi.
53611         * doc/posix-functions/fmemopen.texi: Renamed from
53612         doc/glibc-functions/fmemopen.texi.
53613         * doc/posix-functions/freelocale.texi: Renamed from
53614         doc/glibc-functions/freelocale.texi.
53615         * doc/posix-functions/getdate_err.texi: Renamed from
53616         doc/glibc-functions/getdate_err.texi.
53617         * doc/posix-functions/isalnum_l.texi: Renamed from
53618         doc/glibc-functions/isalnum_l.texi.
53619         * doc/posix-functions/isalpha_l.texi: Renamed from
53620         doc/glibc-functions/isalpha_l.texi.
53621         * doc/posix-functions/isblank_l.texi: Renamed from
53622         doc/glibc-functions/isblank_l.texi.
53623         * doc/posix-functions/iscntrl_l.texi: Renamed from
53624         doc/glibc-functions/iscntrl_l.texi.
53625         * doc/posix-functions/isdigit_l.texi: Renamed from
53626         doc/glibc-functions/isdigit_l.texi.
53627         * doc/posix-functions/isgraph_l.texi: Renamed from
53628         doc/glibc-functions/isgraph_l.texi.
53629         * doc/posix-functions/islower_l.texi: Renamed from
53630         doc/glibc-functions/islower_l.texi.
53631         * doc/posix-functions/isprint_l.texi: Renamed from
53632         doc/glibc-functions/isprint_l.texi.
53633         * doc/posix-functions/ispunct_l.texi: Renamed from
53634         doc/glibc-functions/ispunct_l.texi.
53635         * doc/posix-functions/isspace_l.texi: Renamed from
53636         doc/glibc-functions/isspace_l.texi.
53637         * doc/posix-functions/isupper_l.texi: Renamed from
53638         doc/glibc-functions/isupper_l.texi.
53639         * doc/posix-functions/iswalnum_l.texi: Renamed from
53640         doc/glibc-functions/iswalnum_l.texi.
53641         * doc/posix-functions/iswalpha_l.texi: Renamed from
53642         doc/glibc-functions/iswalpha_l.texi.
53643         * doc/posix-functions/iswblank_l.texi: Renamed from
53644         doc/glibc-functions/iswblank_l.texi.
53645         * doc/posix-functions/iswcntrl_l.texi: Renamed from
53646         doc/glibc-functions/iswcntrl_l.texi.
53647         * doc/posix-functions/iswctype_l.texi: Renamed from
53648         doc/glibc-functions/iswctype_l.texi.
53649         * doc/posix-functions/iswdigit_l.texi: Renamed from
53650         doc/glibc-functions/iswdigit_l.texi.
53651         * doc/posix-functions/iswgraph_l.texi: Renamed from
53652         doc/glibc-functions/iswgraph_l.texi.
53653         * doc/posix-functions/iswlower_l.texi: Renamed from
53654         doc/glibc-functions/iswlower_l.texi.
53655         * doc/posix-functions/iswprint_l.texi: Renamed from
53656         doc/glibc-functions/iswprint_l.texi.
53657         * doc/posix-functions/iswpunct_l.texi: Renamed from
53658         doc/glibc-functions/iswpunct_l.texi.
53659         * doc/posix-functions/iswspace_l.texi: Renamed from
53660         doc/glibc-functions/iswspace_l.texi.
53661         * doc/posix-functions/iswupper_l.texi: Renamed from
53662         doc/glibc-functions/iswupper_l.texi.
53663         * doc/posix-functions/iswxdigit_l.texi: Renamed from
53664         doc/glibc-functions/iswxdigit_l.texi.
53665         * doc/posix-functions/isxdigit_l.texi: Renamed from
53666         doc/glibc-functions/isxdigit_l.texi.
53667         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
53668         doc/glibc-functions/mbsnrtowcs.texi.
53669         * doc/posix-functions/mkdtemp.texi: Renamed from
53670         doc/glibc-functions/mkdtemp.texi.
53671         * doc/posix-functions/newlocale.texi: Renamed from
53672         doc/glibc-functions/newlocale.texi.
53673         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
53674         doc/glibc-functions/nl_langinfo_l.texi.
53675         * doc/posix-functions/open_memstream.texi: Renamed from
53676         doc/glibc-functions/open_memstream.texi.
53677         * doc/posix-functions/opterr.texi: Renamed from
53678         doc/glibc-functions/opterr.texi.
53679         * doc/posix-functions/optind.texi: Renamed from
53680         doc/glibc-functions/optind.texi.
53681         * doc/posix-functions/optopt.texi: Renamed from
53682         doc/glibc-functions/optopt.texi.
53683         * doc/posix-functions/psignal.texi: Renamed from
53684         doc/glibc-functions/psignal.texi.
53685         * doc/posix-functions/scandir.texi: Renamed from
53686         doc/glibc-functions/scandir.texi.
53687         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
53688         doc/glibc-functions/sched_get_priority_min.texi.
53689         * doc/posix-functions/signgam.texi: Renamed from
53690         doc/glibc-functions/signgam.texi.
53691         * doc/posix-functions/stpcpy.texi: Renamed from
53692         doc/glibc-functions/stpcpy.texi.
53693         * doc/posix-functions/stpncpy.texi: Renamed from
53694         doc/glibc-functions/stpncpy.texi.
53695         * doc/posix-functions/strcasecmp_l.texi: Renamed from
53696         doc/glibc-functions/strcasecmp_l.texi.
53697         * doc/posix-functions/strcoll_l.texi: Renamed from
53698         doc/glibc-functions/strcoll_l.texi.
53699         * doc/posix-functions/strfmon_l.texi: Renamed from
53700         doc/glibc-functions/strfmon_l.texi.
53701         * doc/posix-functions/strftime_l.texi: Renamed from
53702         doc/glibc-functions/strftime_l.texi.
53703         * doc/posix-functions/strncasecmp_l.texi: Renamed from
53704         doc/glibc-functions/strncasecmp_l.texi.
53705         * doc/posix-functions/strndup.texi: Renamed from
53706         doc/glibc-functions/strndup.texi.
53707         * doc/posix-functions/strnlen.texi: Renamed from
53708         doc/glibc-functions/strnlen.texi.
53709         * doc/posix-functions/strsignal.texi: Renamed from
53710         doc/glibc-functions/strsignal.texi.
53711         * doc/posix-functions/strxfrm_l.texi: Renamed from
53712         doc/glibc-functions/strxfrm_l.texi.
53713         * doc/posix-functions/timer_gettime.texi: Renamed from
53714         doc/glibc-functions/timer_gettime.texi.
53715         * doc/posix-functions/tolower_l.texi: Renamed from
53716         doc/glibc-functions/tolower_l.texi.
53717         * doc/posix-functions/toupper_l.texi: Renamed from
53718         doc/glibc-functions/toupper_l.texi.
53719         * doc/posix-functions/towctrans_l.texi: Renamed from
53720         doc/glibc-functions/towctrans_l.texi.
53721         * doc/posix-functions/towlower_l.texi: Renamed from
53722         doc/glibc-functions/towlower_l.texi.
53723         * doc/posix-functions/towupper_l.texi: Renamed from
53724         doc/glibc-functions/towupper_l.texi.
53725         * doc/posix-functions/uselocale.texi: Renamed from
53726         doc/glibc-functions/uselocale.texi.
53727         * doc/posix-functions/vdprintf.texi: Renamed from
53728         doc/glibc-functions/vdprintf.texi.
53729         * doc/posix-functions/wcpcpy.texi:
53730         Renamed from doc/glibc-functions/wcpcpy.texi.
53731         * doc/posix-functions/wcpncpy.texi: Renamed from
53732         doc/glibc-functions/wcpncpy.texi.
53733         * doc/posix-functions/wcscasecmp.texi: Renamed from
53734         doc/glibc-functions/wcscasecmp.texi.
53735         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
53736         doc/glibc-functions/wcscasecmp_l.texi.
53737         * doc/posix-functions/wcscoll_l.texi: Renamed from
53738         doc/glibc-functions/wcscoll_l.texi.
53739         * doc/posix-functions/wcsdup.texi: Renamed from
53740         doc/glibc-functions/wcsdup.texi.
53741         * doc/posix-functions/wcsncasecmp.texi: Renamed from
53742         doc/glibc-functions/wcsncasecmp.texi.
53743         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
53744         doc/glibc-functions/wcsncasecmp_l.texi.
53745         * doc/posix-functions/wcsnlen.texi: Renamed from
53746         doc/glibc-functions/wcsnlen.texi.
53747         * doc/posix-functions/wcsnrtombs.texi: Renamed from
53748         doc/glibc-functions/wcsnrtombs.texi.
53749         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
53750         doc/glibc-functions/wcsxfrm_l.texi.
53751         * doc/posix-functions/wctrans_l.texi: Renamed from
53752         doc/glibc-functions/wctrans_l.texi.
53753         * doc/posix-functions/wctype_l.texi: Renamed from
53754         doc/glibc-functions/wctype_l.texi.
53755         * doc/gnulib.texi (Function Substitutes): Add these subsections.
53756         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
53757         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
53758         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
53759         these subsections.
53760         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
53761         Remove sections.
53762
53763 2008-12-14  Bruno Haible  <bruno@clisp.org>
53764
53765         Update doc for POSIX:2008.
53766         * doc/posix-functions/*.texi: Update URL of POSIX specification.
53767
53768 2008-12-14  Bruno Haible  <bruno@clisp.org>
53769
53770         Update doc for POSIX:2008.
53771         * doc/pastposix-functions/bcmp.texi: Renamed from
53772         doc/posix-functions/bcmp.texi.
53773         * doc/pastposix-functions/bcopy.texi: Renamed from
53774         doc/posix-functions/bcopy.texi.
53775         * doc/pastposix-functions/bsd_signal.texi: Renamed from
53776         doc/posix-functions/bsd_signal.texi.
53777         * doc/pastposix-functions/bzero.texi: Renamed from
53778         doc/posix-functions/bzero.texi.
53779         * doc/pastposix-functions/ecvt.texi: Renamed from
53780         doc/posix-functions/ecvt.texi.
53781         * doc/pastposix-functions/fcvt.texi: Renamed from
53782         doc/posix-functions/fcvt.texi.
53783         * doc/pastposix-functions/ftime.texi: Renamed from
53784         doc/posix-functions/ftime.texi.
53785         * doc/pastposix-functions/gcvt.texi: Renamed from
53786         doc/posix-functions/gcvt.texi.
53787         * doc/pastposix-functions/getcontext.texi: Renamed from
53788         doc/posix-functions/getcontext.texi.
53789         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
53790         doc/posix-functions/gethostbyaddr.texi.
53791         * doc/pastposix-functions/gethostbyname.texi: Renamed from
53792         doc/posix-functions/gethostbyname.texi.
53793         * doc/pastposix-functions/getwd.texi: Renamed from
53794         doc/posix-functions/getwd.texi.
53795         * doc/pastposix-functions/h_errno.texi: Renamed from
53796         doc/posix-functions/h_errno.texi.
53797         * doc/pastposix-functions/index.texi: Renamed from
53798         doc/posix-functions/index.texi.
53799         * doc/pastposix-functions/makecontext.texi: Renamed from
53800         doc/posix-functions/makecontext.texi.
53801         * doc/pastposix-functions/mktemp.texi: Renamed from
53802         doc/posix-functions/mktemp.texi.
53803         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
53804         doc/posix-functions/pthread_attr_getstackaddr.texi.
53805         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
53806         doc/posix-functions/pthread_attr_setstackaddr.texi.
53807         * doc/pastposix-functions/rindex.texi: Renamed from
53808         doc/posix-functions/rindex.texi.
53809         * doc/pastposix-functions/scalb.texi: Renamed from
53810         doc/posix-functions/scalb.texi.
53811         * doc/pastposix-functions/setcontext.texi: Renamed from
53812         doc/posix-functions/setcontext.texi.
53813         * doc/pastposix-functions/swapcontext.texi: Renamed from
53814         doc/posix-functions/swapcontext.texi.
53815         * doc/pastposix-functions/ualarm.texi: Renamed from
53816         doc/posix-functions/ualarm.texi.
53817         * doc/pastposix-functions/usleep.texi: Renamed from
53818         doc/posix-functions/usleep.texi.
53819         * doc/pastposix-functions/vfork.texi: Renamed from
53820         doc/posix-functions/vfork.texi.
53821         * doc/pastposix-functions/wcswcs.texi: Renamed from
53822         doc/posix-functions/wcswcs.texi.
53823         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
53824         (Function Substitutes): Update.
53825
53826 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53827
53828         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
53829         m4/strerror.m4.
53830
53831 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53832             Bruno Haible  <bruno@clisp.org>
53833
53834         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
53835
53836 2008-12-13  Bruno Haible  <bruno@clisp.org>
53837
53838         * modules/strtoull (Depends-on): Remove unistd.
53839
53840 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53841
53842         * modules/strtoull (Depends-on): Add stdlib.
53843
53844 2008-12-11  Simon Josefsson  <simon@josefsson.org>
53845
53846         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
53847
53848 2008-12-10  Jim Meyering  <meyering@redhat.com>
53849
53850         gl_ASSERT: don't say assertions are disabled when they're not
53851         * m4/assert.m4 (gl_ASSERT): Do not make configure report
53852         "checking whether to enable assertions... no", when they are in
53853         fact enabled.  This is solely a bug in the output of configure.
53854         In spite of saying "no", NDEBUG was not defined in that case.
53855         Also, as noted by Eric Blake, leave assertions enabled upon
53856         --enable-assert=INVALID.
53857
53858 2008-12-10  Bruno Haible  <bruno@clisp.org>
53859
53860         Change MODULES.html to refer to POSIX:2008 where possible.
53861         * MODULES.html.sh (POSIX2008_URL): New variable.
53862         (posix_headers): Remove sys/timeb, ucontext.
53863         (posix2001_headers): New variable.
53864         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
53865         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
53866         index, makecontext, mktemp, pthread_attr_getstackaddr,
53867         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
53868         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
53869         (posix2001_functions): New variable.
53870         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
53871         otherwise.
53872
53873 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53874
53875         add missing include to parse-duration.c
53876         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
53877         * modules/parse-duration (Depends-on): Add xalloc.
53878
53879         fix sed script reading maint.mk
53880         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
53881         (syntax-check-rules): Use it.
53882
53883 2008-12-09  Bruno Haible  <bruno@clisp.org>
53884
53885         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
53886         MacOS X 10.4/PowerPC.
53887         Reported by Simon Josefsson.
53888
53889 2008-12-08  Jim Meyering  <meyering@redhat.com>
53890
53891         work around mingw's lack of some S_IF definitions
53892         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
53893         Reported by Simon Josefsson.
53894
53895 2008-12-08  Bruno Haible  <bruno@clisp.org>
53896
53897         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
53898         applied to variables. Needed on MacOS X 10.4/PowerPC.
53899         Reported by Simon Josefsson.
53900
53901 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
53902         and Eric Blake  <ebb9@byu.net>
53903
53904         assert: honor --enable-assert
53905         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
53906         order to honor --enable-assert, rather than treating it as a
53907         synonym for --disable-assert.
53908
53909 2008-12-08  Jim Meyering  <meyering@redhat.com>
53910
53911         * lib/posixtm.c: Remove now-useless declaration of mktime.
53912
53913         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
53914
53915 2008-12-07  Bruno Haible  <bruno@clisp.org>
53916
53917         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
53918         test_once): Mark functions as static.
53919         * tests/test-tls.c (test_tls): Likewise.
53920
53921 2008-12-07  Bruno Haible  <bruno@clisp.org>
53922
53923         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
53924         iconv_register_autodetect.
53925
53926 2008-12-07  Jim Meyering  <meyering@redhat.com>
53927
53928         posixtm.c: avoid a warning
53929         * lib/posixtm.c (posixtime): Don't initialize tm0.
53930         It's no longer needed to placate gcc4's -Wuninitialized,
53931         and the attempt to placate would elicit a new warning.
53932
53933         unicodeio.c: mark unused parameters
53934         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
53935         (fallback_failure_callback): Likewise.
53936
53937 2008-12-07  Bruno Haible  <bruno@clisp.org>
53938
53939         * gnulib-tool (func_create_testdir): When building the tests
53940         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
53941         Reported by Simon Josefsson.
53942
53943 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53944
53945         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
53946
53947 2008-12-06  Bruno Haible  <bruno@clisp.org>
53948
53949         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
53950         Suggested by Eric Blake.
53951
53952 2008-12-06  Bruno Haible  <bruno@clisp.org>
53953
53954         Fix a c-stack test failure on MacOS X.
53955         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
53956         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
53957         handler for SIGBUS as well.
53958         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
53959         install a signal handler for SIGBUS as well.
53960         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
53961
53962 2008-12-06  Bruno Haible  <bruno@clisp.org>
53963
53964         Advocacy documentation.
53965         * doc/gnulib-intro.texi (Benefits): New section.
53966         * doc/gnulib.texi: Update.
53967
53968 2008-12-06  Bruno Haible  <bruno@clisp.org>
53969
53970         Document the 'manywarnings' module.
53971         * doc/manywarnings.texi: New file.
53972         * doc/gnulib.texi: Include it.
53973
53974 2008-12-05  Eric Blake  <ebb9@byu.net>
53975
53976         tests: silence some gcc warnings
53977         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
53978         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
53979         type mismatches.
53980
53981 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53982             Bruno Haible  <bruno@clisp.org>
53983
53984         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
53985
53986 2008-11-29  Jim Meyering  <meyering@redhat.com>
53987
53988         unicodeio.c: mark unused parameters
53989         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
53990         (fallback_failure_callback): Likewise.
53991
53992         fts: fix a thinko
53993         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
53994         (set_stat_type): Return S_IF*-valued "type" directly.
53995         Prompted by James Youngman's spotting a related bug.
53996         Confirmed by further testing through find.
53997
53998         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
53999         * lib/fts.c (D_TYPE): Define.
54000         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
54001         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
54002         (s_ifmt_shift_bits): New function.
54003         (set_stat_type): New function.
54004         (fts_build): When not calling fts_stat, call set_stat_type
54005         to propagate dirent.d_type info to fts_read caller.
54006         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
54007         fts_statp->st_mode type information may be valid.
54008
54009 2008-11-28  Simon Josefsson  <simon@josefsson.org>
54010
54011         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
54012         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
54013         <sds@gnu.org>.
54014
54015 2008-11-20  Bruno Haible  <bruno@clisp.org>
54016
54017         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
54018         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
54019         INCLUDE_NEXT.
54020         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
54021         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
54022         * modules/math (Makefile.am): Substitute
54023         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
54024         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54025
54026 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
54027             Bruno Haible  <bruno@clisp.org>
54028
54029         * lib/stdint.in.h: Define all type macros so that their expansion is
54030         a single typedef'ed token. Fixes a compilation failure in Boost which
54031         does "using ::int8_t;".
54032
54033 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54034
54035         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
54036         gl_MANYWARN_ALL_GCC.
54037         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
54038         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
54039         * modules/manywarnings: New file.
54040         * MODULES.html.sh: Mention manywarnings module.
54041
54042 2008-11-18  Bruno Haible  <bruno@clisp.org>
54043
54044         * doc/gnulib-tool.texi (Unit tests): New section.
54045
54046 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54047
54048         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
54049         paths like 'lib/po/foo.po'.
54050
54051 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54052
54053         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
54054         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
54055
54056 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54057
54058         * m4/warnings.m4: Use CPPFLAGS to really check whether the
54059         parameter works.
54060
54061 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54062
54063         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
54064
54065 2008-11-17  Bruce Korb  <bkorb@gnu.org>
54066
54067         * modules/parse-duration-tests: New file.
54068         * tests/test-parse-duration.sh: New file.
54069         * tests/test-parse-duration.c: New file.
54070
54071         New module 'parse-duration'.
54072         * lib/parse-duration.h: New file.
54073         * lib/parse-duration.c: New file.
54074         * modules/parse-duration: New file.
54075
54076 2008-11-17  Bruno Haible  <bruno@clisp.org>
54077
54078         * tests/test-select-out.sh: Comment out the first pipe test.
54079         Reported by Simon Josefsson.
54080
54081 2008-11-17  Bruno Haible  <bruno@clisp.org>
54082
54083         * modules/getaddrinfo (Depends-on): Add servent, hostent.
54084         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
54085         gl_HOSTENT.
54086
54087 2008-11-17  Bruno Haible  <bruno@clisp.org>
54088
54089         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
54090         -lnetwork and -lnet. Needed for Haiku and BeOS.
54091
54092 2008-11-16  Bruno Haible  <bruno@clisp.org>
54093
54094         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
54095
54096 2008-11-16  Bruno Haible  <bruno@clisp.org>
54097
54098         Avoid test failure on Haiku.
54099         * tests/test-fsync.c: Include <errno.h>.
54100         (main): Don't require that fsync (0) fails.
54101
54102 2008-11-15  Bruno Haible  <bruno@clisp.org>
54103
54104         New module 'hostent'.
54105         * modules/hostent: New file.
54106         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
54107
54108 2008-11-15  Bruno Haible  <bruno@clisp.org>
54109
54110         New module 'servent'.
54111         * modules/servent: New file.
54112         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
54113
54114 2008-11-15  Bruno Haible  <bruno@clisp.org>
54115
54116         Avoid generating same test program with two different rules.
54117         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
54118         test-frexp to test-frexp-nolibm.
54119         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
54120         test-frexpl to test-frexpl-nolibm.
54121
54122 2008-11-15  Bruno Haible  <bruno@clisp.org>
54123
54124         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
54125         $(FREXPL_LIBM).
54126
54127 2008-11-15  Bruno Haible  <bruno@clisp.org>
54128
54129         * lib/netdb.in.h: Activate the definitions also when the system's
54130         <netdb.h> has 'struct addrinfo'.
54131         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
54132         EAI_OVERFLOW or AI_NUMERICSERV.
54133         * doc/posix-headers/netdb.texi: Document the problem.
54134
54135 2008-11-15  Bruno Haible  <bruno@clisp.org>
54136
54137         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
54138
54139         Make the 'sched' module work on platforms where <sched.h> exists but
54140         is incomplete (such as Haiku).
54141         * lib/sched.in.h; Include the system's <sched.h> if it exists.
54142         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
54143         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
54144         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
54145         HAVE_STRUCT_SCHED_PARAM.
54146         * modules/sched (Depends-on): Add include_next.
54147         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
54148         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
54149         * doc/posix-headers/sched.texi: Document the issue.
54150
54151 2008-11-13  Jim Meyering  <meyering@redhat.com>
54152
54153         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
54154         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
54155         test would fail due to the difference in the Report bugs to ...
54156         line.  The expected address is empty, "<>", while the actual
54157         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
54158
54159 2008-11-12  Bruno Haible  <bruno@clisp.org>
54160
54161         lstat: don't compile lstat.c on systems lacking lstat
54162         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
54163         which don't have lstat; this is handled by lib/sys_stat.in.h already.
54164         Reported by Daniel P. Berrange via Jim Meyering.
54165
54166 2008-11-12  Jim Meyering  <meyering@redhat.com>
54167
54168         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
54169
54170 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54171
54172         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
54173         instead.
54174
54175 2008-11-12  Bruno Haible  <bruno@clisp.org>
54176
54177         * lib/unicodeio.c: Include unistr.h.
54178         (utf8_wctomb): Remove function.
54179         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
54180
54181 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54182
54183         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
54184         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
54185         <bruno@clisp.org>.
54186         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
54187
54188 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54189
54190         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
54191         * doc/gnulib.texi: Add section for warnings.
54192
54193 2008-11-11  Bruno Haible  <bruno@clisp.org>
54194
54195         * lib/sockets.h: Add a comment.
54196
54197 2008-11-11  Karl Berry  <karl@gnu.org>
54198
54199         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
54200
54201 2008-11-11  Eric Blake  <ebb9@byu.net>
54202
54203         fdl.texi: avoid git symlinks
54204         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
54205
54206 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54207
54208         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
54209
54210 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54211
54212         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
54213         (gl_WARN_ADD): Substitute $2 if literal.
54214
54215 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54216
54217         * m4/warning.m4: Remove.
54218
54219 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54220
54221         * m4/warnings.m4: Almost complete rewrite. :-)
54222
54223 2008-11-10  Simon Josefsson  <simon@josefsson.org>
54224
54225         * modules/warnings: New module.
54226         * m4/warnings.m4: New file.
54227         * MODULES.html.sh: Mention warnings module.
54228         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
54229         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54230
54231 2008-11-10  Eric Blake  <ebb9@byu.net>
54232
54233         fdl.texi: make a symlink to the latest version
54234         * doc/standards.texi: Revert today's earlier change.
54235         * doc/fdl-1.2.texi: Rename from old fdl.texi...
54236         * doc/fdl.texi: ...and replace this with a symlink to the newer
54237         fdl-1.3.texi.
54238
54239 2008-11-10  Bruno Haible  <bruno@clisp.org>
54240
54241         * tests/test-select-fd.c (main): Accept the result file name as fourth
54242         argument.
54243         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
54244         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
54245
54246 2008-11-10  Bruno Haible  <bruno@clisp.org>
54247
54248         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
54249         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
54250         as autoconf-substituted macros.
54251         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
54252         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
54253         gl_NETDB_H_DEFAULTS. Set these variables.
54254         * modules/netdb (Makefile.am): Substitute these variables.
54255
54256 2008-11-10  Eric Blake  <ebb9@byu.net>
54257
54258         standards.texi: include correct file for FDL 1.3
54259         * doc/standards.texi (GNU Free Documentation License): Change
54260         include file to pull in FDL 1.3, not 1.2.
54261
54262         fdl.texi: revert accidental change to license
54263         * doc/fdl.texi: This is FDL 1.2, not 1.3.
54264
54265 2008-11-10  Bruno Haible  <bruno@clisp.org>
54266
54267         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
54268         cross-compiling guesses also when the native compile gives no result.
54269
54270 2008-11-10  Bruno Haible  <bruno@clisp.org>
54271
54272         * lib/spawni.c (__spawni): Force variable into the stack.
54273
54274 2008-11-10  Bruno Haible  <bruno@clisp.org>
54275
54276         Add support for Haiku.
54277         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
54278         glibc and BeOS, but also on Haiku.
54279         * lib/fpurge.c (fpurge): Likewise.
54280         * lib/freadable.c (freadable): Likewise.
54281         * lib/freadahead.c (freadahead): Likewise.
54282         * lib/freading.c (freading): Likewise.
54283         * lib/freadptr.c (freadptr): Likewise.
54284         * lib/freadseek.c (freadptrinc): Likewise.
54285         * lib/fseeko.c (rpl_fseeko): Likewise.
54286         * lib/fseterr.c (fseterr): Likewise.
54287         * lib/fwritable.c (fwritable): Likewise.
54288         * lib/fwriting.c (fwriting): Likewise.
54289         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
54290
54291 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54292
54293         * lib/config.charset: Treat Haiku like BeOS.
54294
54295 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54296
54297         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
54298         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
54299
54300 2008-11-08  Bruno Haible  <bruno@clisp.org>
54301
54302         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
54303         AC_CACHE_CHECK.
54304
54305 2008-11-08  Bruno Haible  <bruno@clisp.org>
54306
54307         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
54308
54309 2008-11-08  Bruno Haible  <bruno@clisp.org>
54310
54311         * tests/test-select-fd.c: New file.
54312         * tests/test-select-in.sh: New file.
54313         * tests/test-select-out.sh: New file.
54314         * tests/test-select-stdin.c: New file.
54315         * modules/select-tests (Files): Add the new files.
54316         (Depends-on): Add gettimeofday.
54317         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
54318         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
54319         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
54320
54321 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
54322             Bruno Haible  <bruno@clisp.org>
54323
54324         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
54325
54326 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
54327
54328         * build-aux/pmccabe2html: Added support for C++ source files.
54329
54330 2008-11-05  Ben Pfaff  <blp@gnu.org>
54331
54332         Fix lib/close.c build on Windows.
54333         * modules/close (Files): Add lib/w32sock.h.
54334
54335 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
54336
54337         Accept Bison's NEWS format.
54338         * build-aux/announce-gen (print_news_deltas): Tweak
54339         $re_prefix.
54340
54341 2008-11-04  Bruno Haible  <bruno@clisp.org>
54342
54343         * modules/random_r (Maintainer): Add glibc.
54344
54345 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54346
54347         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
54348         by karl@freefriends.org (Karl Berry).
54349         * doc/alloca.texi: Likewise.
54350         * doc/c-ctype.texi: Likewise.
54351         * doc/c-strcase.texi: Likewise.
54352         * doc/c-strcaseeq.texi: Likewise.
54353         * doc/c-strcasestr.texi: Likewise.
54354         * doc/c-strstr.texi: Likewise.
54355         * doc/c-strtod.texi: Likewise.
54356         * doc/c-strtold.texi: Likewise.
54357         * doc/ctime.texi: Likewise.
54358         * doc/error.texi: Likewise.
54359         * doc/fdl.texi: Likewise.
54360         * doc/gcd.texi: Likewise.
54361         * doc/getdate.texi: Likewise.
54362         * doc/gnulib-intro.texi: Likewise.
54363         * doc/gnulib-tool.texi: Likewise.
54364         * doc/gnulib.texi: Likewise.
54365         * doc/inet_ntoa.texi: Likewise.
54366         * doc/maintain.texi: Likewise.
54367         * doc/make-stds.texi: Likewise.
54368         * doc/quote.texi: Likewise.
54369         * doc/regexprops-generic.texi: Likewise.
54370         * doc/standards.texi: Likewise.
54371         * doc/verify.texi: Likewise.
54372         * doc/visibility.texi: Likewise.
54373         * doc/gnulib.texi (GNU Free Documentation License): Include
54374         fdl-1.3.texi instead of fdl.texi.
54375
54376 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54377
54378         * doc/fdl-1.3.texi: New file, from
54379         <http://www.gnu.org/licenses/fdl-1.3.texi>.
54380         * modules/fdl-1.3: Add.
54381         * MODULES.html.sh: Add fdl-1.3.
54382
54383 2008-11-03  Bruno Haible  <bruno@clisp.org>
54384
54385         Make determination of absolute name of header file work with AIX xlc.
54386         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
54387         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
54388         preprocessing.
54389         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54390         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
54391
54392 2008-11-03  Simon Josefsson  <simon@josefsson.org>
54393
54394         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
54395         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
54396         <ludo@gnu.org>.
54397
54398 2008-11-02  Bruno Haible  <bruno@clisp.org>
54399
54400         Mark 'strpbrk' obsolete.
54401         * modules/strpbrk (Status, Notice): New sections.
54402         * modules/strtok_r (Depends-on): Add strpbrk.
54403
54404 2008-11-02  Bruno Haible  <bruno@clisp.org>
54405
54406         Mark 'strdup' obsolete.
54407         * modules/strdup (Status, Notice): New sections.
54408         * modules/findprog (Depends-on): Add strdup.
54409         * modules/getaddrinfo (Depends-on): Likewise.
54410         * modules/localename (Depends-on): Likewise.
54411         * modules/relocatable-lib (Depends-on): Likewise.
54412         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
54413         * modules/relocatable-prog (Depends-on): Likewise.
54414         * modules/trim (Depends-on): Likewise.
54415         * modules/unictype/gen-ctype (Depends-on): Likewise.
54416         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54417
54418 2008-11-02  Bruno Haible  <bruno@clisp.org>
54419
54420         Mark 'strcspn' obsolete.
54421         * modules/strcspn (Status, Notice): New sections.
54422
54423 2008-11-02  Bruno Haible  <bruno@clisp.org>
54424
54425         Mark 'rmdir' obsolete.
54426         * modules/rmdir (Status, Notice): New sections.
54427         * modules/clean-temp (Depends-on): Add rmdir.
54428         * modules/openat (Depends-on): Likewise.
54429
54430 2008-11-02  Bruno Haible  <bruno@clisp.org>
54431
54432         Mark 'raise' obsolete.
54433         * modules/raise (Status, Notice): New sections.
54434         (Include): Specify <signal.h>.
54435         * modules/stdio (Depends-on): Add raise.
54436         * modules/write (Depends-on): Likewise.
54437
54438 2008-11-02  Bruno Haible  <bruno@clisp.org>
54439
54440         Mark 'memset' obsolete.
54441         * modules/memset (Status, Notice): New sections.
54442
54443 2008-11-02  Bruno Haible  <bruno@clisp.org>
54444
54445         Mark 'memmove' obsolete.
54446         * modules/memmove (Status, Notice): New sections.
54447         * modules/argp (Depends-on): Add memmove.
54448         * modules/argz (Depends-on): Likewise.
54449         * modules/canonicalize (Depends-on): Likewise.
54450         * modules/canonicalize-lgpl (Depends-on): Likewise.
54451         * modules/fts (Depends-on): Likewise.
54452         * modules/getcwd (Depends-on): Likewise.
54453         * modules/human (Depends-on): Likewise.
54454         * modules/regex (Depends-on): Likewise.
54455         * modules/striconveh (Depends-on): Likewise.
54456         * modules/trim (Depends-on): Likewise.
54457         * modules/unistr/u8-move (Depends-on): Likewise.
54458         * modules/unistr/u16-move (Depends-on): Likewise.
54459         * modules/unistr/u32-move (Depends-on): Likewise.
54460
54461 2008-11-02  Bruno Haible  <bruno@clisp.org>
54462
54463         Mark 'memcpy' obsolete.
54464         * modules/memcpy (Status, Notice): New sections.
54465
54466 2008-11-02  Bruno Haible  <bruno@clisp.org>
54467
54468         Mark 'memcmp' obsolete.
54469         * modules/memcmp (Status, Notice): New sections.
54470         * modules/argmatch (Depends-on): Add memchr.
54471         * modules/backupfile (Depends-on): Likewise.
54472         * modules/c-strcasestr (Depends-on): Likewise.
54473         * modules/crypto/des (Depends-on): Likewise.
54474         * modules/csharpcomp (Depends-on): Likewise.
54475         * modules/fnmatch (Depends-on): Likewise.
54476         * modules/git-merge-changelog (Depends-on): Likewise.
54477         * modules/isnand (Depends-on): Likewise.
54478         * modules/isnand-nolibm (Depends-on): Likewise.
54479         * modules/isnanf (Depends-on): Likewise.
54480         * modules/isnanf-nolibm (Depends-on): Likewise.
54481         * modules/isnanl (Depends-on): Likewise.
54482         * modules/isnanl-nolibm (Depends-on): Likewise.
54483         * modules/mbchar (Depends-on): Likewise.
54484         * modules/memcoll (Depends-on): Likewise.
54485         * modules/quotearg (Depends-on): Likewise.
54486         * modules/regex (Depends-on): Likewise.
54487         * modules/relocatable-prog (Depends-on): Likewise.
54488         * modules/same (Depends-on): Likewise.
54489         * modules/signbit (Depends-on): Likewise.
54490         * modules/strcasestr-simple (Depends-on): Likewise.
54491         * modules/unictype/gen-ctype (Depends-on): Likewise.
54492         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54493         * modules/uniname/uniname (Depends-on): Likewise.
54494         * modules/unistr/u8-cmp (Depends-on): Likewise.
54495
54496 2008-11-02  Bruno Haible  <bruno@clisp.org>
54497
54498         Mark 'memchr' obsolete.
54499         * modules/memchr (Status, Notice): New sections.
54500         * modules/argp (Depends-on): Add memchr.
54501         * modules/base64 (Depends-on): Likewise.
54502         * modules/c-strcasestr (Depends-on): Likewise.
54503         * modules/chdir-long (Depends-on): Likewise.
54504         * modules/fnmatch (Depends-on): Likewise.
54505         * modules/getsubopt (Depends-on): Likewise.
54506         * modules/git-merge-changelog (Depends-on): Likewise.
54507         * modules/glob (Depends-on): Likewise.
54508         * modules/strcasestr-simple (Depends-on): Likewise.
54509         * modules/strnlen (Depends-on): Likewise.
54510
54511 2008-11-02  Bruno Haible  <bruno@clisp.org>
54512
54513         Mark 'atexit' obsolete.
54514         * modules/atexit (Status, Notice): New sections.
54515         * modules/chdir-long (Depends-on): Add atexit.
54516         * modules/wait-process (Depends-on): Likewise.
54517
54518 2008-11-02  Bruno Haible  <bruno@clisp.org>
54519
54520         * gnulib-tool: New option --with-obsolete.
54521         (func_usage): Document it.
54522         (func_modules_transitive_closure): Drop obsolete dependencies if
54523         incobsolete is not true.
54524         (func_import): Read and save the incobsolete variable to the cache.
54525
54526 2008-11-02  Bruno Haible  <bruno@clisp.org>
54527
54528         * modules/TEMPLATE-EXTENDED: New field 'Status'.
54529         * gnulib-tool: New option --extract-status.
54530         (func_usage): Document it.
54531         (sed_extract_prog): Recognize it.
54532         (func_get_status): New function.
54533
54534 2008-10-30  Simon Josefsson  <simon@josefsson.org>
54535
54536         * modules/sockets (License): Change from LGPL to LGPLv2+.
54537
54538 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54539
54540         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
54541
54542 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54543
54544         * MODULES.html.sh (Support for systems lacking POSIX:2001):
54545         Mention times and sys_times.
54546         * modules/sys_times, modules/sys_times-tests: New modules.
54547         * modules/times, modules/times-tests: Likewise
54548         * m4/sys_times_h.m4: New file.
54549         * lib/sys_times.in.h: Likewise
54550         * lib/times.c: Likewise.
54551         * tests/test-sys_times.c: Likewise.
54552         * tests/test-times.c: Likewise.
54553         * doc/posix-headers/sys_times.texi: Update.
54554         * doc/posix-functions/times.texi: Update.
54555
54556 2008-10-28  Jim Meyering  <meyering@redhat.com>
54557
54558         * modules/tempname (Depends-on): Add lstat.
54559
54560         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
54561
54562 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54563
54564         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
54565         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
54566         using idiom used elsewhere in gnulib.
54567
54568 2008-10-27  Jim Meyering  <meyering@redhat.com>
54569
54570         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
54571
54572 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54573
54574         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
54575         TESTS_ENVIRONMENT, for shell scripts that needs to call built
54576         programs.
54577         * tests/test-argp-2.sh: Use $EXEEXT when needed.
54578
54579 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54580
54581         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
54582
54583 2008-10-27  Bruno Haible  <bruno@clisp.org>
54584
54585         * tests/test-lstat.c: Include <stdio.h>.
54586
54587 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54588
54589         * modules/lstat-tests: New module.
54590         * tests/test-lstat.c: New file.
54591
54592 2008-10-26  Jim Meyering  <meyering@redhat.com>
54593
54594         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
54595
54596 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54597             Bruno Haible  <bruno@clisp.org>
54598
54599         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
54600         * modules/configmake (Include): Add a note that the include must come
54601         after all system headers.
54602         * lib/javaversion.c: Include configmake.h after all other includes.
54603
54604 2008-10-26  Bruno Haible  <bruno@clisp.org>
54605
54606         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
54607         HAVE_STRUCT_RANDOM_DATA to 1.
54608         (gl_STDLIB_H): Simplify.
54609
54610 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54611
54612         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
54613         substitute HAVE_STRUCT_RANDOM_DATA.
54614         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
54615         random_data.
54616         * modules/stdlib (Makefile.am): Substitute
54617         HAVE_STRUCT_RANDOM_DATA.
54618
54619 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54620
54621         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
54622         * doc/gnulib-intro.texi (Copyright): Likewise.
54623
54624 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54625
54626         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
54627         findings.
54628
54629 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
54630             Bruno Haible  <bruno@clisp.org>
54631
54632         * lib/unistd.in.h: Include <winsock2.h>.
54633         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
54634         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
54635         Provide dummy declarations.
54636         (gethostname): Override.
54637         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
54638         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
54639         gl_PREREQ_SYS_H_WINSOCK2.
54640         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
54641         * doc/posix-functions/gethostname.texi: More details.
54642
54643 2008-10-25  Bruno Haible  <bruno@clisp.org>
54644
54645         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
54646         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
54647         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
54648
54649         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
54650         here ...
54651         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
54652         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
54653         gl_UNISTD_H_DEFAULTS.
54654
54655 2008-10-25  Eric Blake  <ebb9@byu.net>
54656
54657         signbit: avoid spurious compiler failure
54658         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
54659         declarations inside function.
54660
54661 2008-10-24  Simon Josefsson  <simon@josefsson.org>
54662             Bruno Haible  <bruno@clisp.org>
54663
54664         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
54665         * modules/random_r (Depends-on): Add stdint.
54666
54667 2008-10-24  Bruno Haible  <bruno@clisp.org>
54668
54669         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
54670         Eggert.
54671         * modules/strerror (License): Likewise.
54672
54673 2008-10-24  Jim Meyering  <meyering@redhat.com>
54674
54675         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
54676         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
54677
54678 2008-10-24  Eric Blake  <ebb9@byu.net>
54679
54680         getgroups: fix compilation when getgroups is available
54681         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
54682         but with <config.h> override of getgroups disabled.
54683
54684 2008-10-24  Simon Josefsson  <simon@josefsson.org>
54685
54686         * doc/gnulib.texi (Header files): Add note about C++ problems.
54687         Explained by Bruno Haible <bruno@clisp.org>.
54688
54689 2008-10-23  Bruno Haible  <bruno@clisp.org>
54690
54691         Define a dummy SA_NODEFER macro on Interix.
54692         * lib/signal.in.h (SA_NODEFER): Define fallback.
54693         Reported by Aleksey Cheusov <cheusov@tut.by> via
54694         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
54695
54696 2008-10-23  Bruno Haible  <bruno@clisp.org>
54697
54698         * modules/freadahead (License): Change to LGPLv2+.
54699         Suggested by Simon Josefsson.
54700
54701 2008-10-23  Jim Meyering  <meyering@redhat.com>
54702
54703         random_r: new module
54704         * modules/random_r: New file.
54705         * m4/random_r.m4: New file.
54706         * lib/random_r.c: New file, from glibc.
54707         * modules/random_r-tests: New file.
54708         * tests/test-random_r.c: New file.
54709         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
54710          Declare.
54711         (RAND_MAX): Define.
54712         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
54713         * modules/stdlib: Substitute them, too.
54714         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
54715         * doc/glibc-functions/initstate_r.texi: Mention the new module.
54716         * doc/glibc-functions/random_r.texi: Likewise.
54717         * doc/glibc-functions/setstate_r.texi: Likewise.
54718         * doc/glibc-functions/srandom_r.texi: Likewise.
54719         * config/srclist.txt: Mention it.
54720
54721 2008-10-23  David Lutterkort  <lutter@redhat.com>
54722
54723         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
54724         link requirement
54725
54726 2008-10-23  Jim Meyering  <meyering@redhat.com>
54727
54728         selinux-h: mark parameters of stub functions as intentionally unused
54729         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
54730         * lib/se-context.in.h: Likewise.
54731
54732 2008-10-22  Simon Josefsson  <simon@josefsson.org>
54733
54734         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
54735
54736 2008-10-22  Simon Josefsson  <simon@josefsson.org>
54737
54738         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
54739
54740 2008-10-22  Eric Blake  <ebb9@byu.net>
54741
54742         glthread/thread: avoid compiler warning
54743         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
54744         Add unreachable abort to silence compiler.
54745
54746 2008-10-22  Eric Blake  <ebb9@byu.net>
54747
54748         netdb: also supply struct addrinfo for cygwin 1.5.x
54749         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
54750         older cygwin.
54751         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
54752         cygwin.
54753         * doc/posix-headers/netdb.texi (netdb.h): Document this.
54754
54755 2008-10-22  Bruno Haible  <bruno@clisp.org>
54756
54757         * users.txt: Update entry about pspp.
54758
54759 2008-10-21  Bruno Haible  <bruno@clisp.org>
54760
54761         Simplification.
54762         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
54763         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
54764
54765         Simplification.
54766         * lib/ioctl.c (ioctl): Don't undefine.
54767         * lib/socket.c (socket): Don't undefine.
54768
54769         Remove unused module indicator macros.
54770         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
54771         GNULIB_$1 as a C macro.
54772
54773         * doc/posix-functions/close.texi: Undo last change.
54774         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
54775         Windows platforms.
54776
54777 2008-10-21  Bruno Haible  <bruno@clisp.org>
54778
54779         Add gethostname() declaration to <unistd.h>.
54780         * lib/unistd.in.h (gethostname): New declaration.
54781         * lib/gethostname.c: Include <unistd.h>.
54782         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
54783         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
54784         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
54785         and HAVE_GETHOSTNAME.
54786         * modules/gethostname (Depends-on): Add unistd.
54787         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54788         (Include): Specify <unistd.h>.
54789         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
54790         HAVE_GETHOSTNAME.
54791         * tests/test-gethostname.c: Include <unistd.h> first.
54792
54793 2008-10-21  Bruno Haible  <bruno@clisp.org>
54794
54795         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
54796         * modules/select-tests (Depends-on): Likewise.
54797         Reported by Simon Josefsson.
54798
54799 2008-10-21  Simon Josefsson  <simon@josefsson.org>
54800
54801         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
54802         * lib/accept.c: New file, based on winsock.c.
54803         * lib/bind.c: New file, based on winsock.c.
54804         * lib/connect.c: New file, based on winsock.c.
54805         * lib/getpeername.c: New file, based on winsock.c.
54806         * lib/getsockname.c: New file, based on winsock.c.
54807         * lib/getsockopt.c: New file, based on winsock.c.
54808         * lib/ioctl.c: New file, based on winsock.c.
54809         * lib/listen.c: New file, based on winsock.c.
54810         * lib/recv.c: New file, based on winsock.c.
54811         * lib/recvfrom.c: New file, based on winsock.c.
54812         * lib/send.c: New file, based on winsock.c.
54813         * lib/sendto.c: New file, based on winsock.c.
54814         * lib/setsockopt.c: New file, based on winsock.c.
54815         * lib/shutdown.c: New file, based on winsock.c.
54816         * lib/socket.c: New file, based on winsock.c.
54817         * lib/w32sock.h: New file, based on winsock.c.
54818         * lib/winsock.c: Remove file.
54819         * modules/accept: Likewise.
54820         * modules/bind: Likewise.
54821         * modules/connect: Likewise.
54822         * modules/getpeername: Likewise.
54823         * modules/getsockname: Likewise.
54824         * modules/getsockopt: Likewise.
54825         * modules/ioctl: Likewise.
54826         * modules/listen: Likewise.
54827         * modules/recv: Likewise.
54828         * modules/recvfrom: Likewise.
54829         * modules/send: Likewise.
54830         * modules/sendto: Likewise.
54831         * modules/setsockopt: Likewise.
54832         * modules/shutdown: Likewise.
54833         * modules/socket: Use socket.c instead of winsock.c.
54834         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
54835         * doc/posix-functions/accept.texi: Doc fix.
54836         * doc/posix-functions/bind.texi: Doc fix.
54837         * doc/posix-functions/close.texi: Doc fix.
54838         * doc/posix-functions/connect.texi: Doc fix.
54839         * doc/posix-functions/getpeername.texi: Doc fix.
54840         * doc/posix-functions/getsockname.texi: Doc fix.
54841         * doc/posix-functions/getsockopt.texi: Doc fix.
54842         * doc/posix-functions/ioctl.texi: Doc fix.
54843         * doc/posix-functions/listen.texi: Doc fix.
54844         * doc/posix-functions/recv.texi: Doc fix.
54845         * doc/posix-functions/recvfrom.texi: Doc fix.
54846         * doc/posix-functions/send.texi: Doc fix.
54847         * doc/posix-functions/sendto.texi: Doc fix.
54848         * doc/posix-functions/setsockopt.texi: Doc fix.
54849         * doc/posix-functions/shutdown.texi: Doc fix.
54850         * doc/posix-functions/socket.texi: Doc fix.
54851
54852 2008-10-20  Bruno Haible  <bruno@clisp.org>
54853
54854         Take into account the role of SIGABRT_COMPAT on Windows 2008.
54855         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
54856         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
54857         as an alias for SIGABRT.
54858         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
54859         (sigaction): Map it to SIGABRT.
54860         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
54861
54862 2008-10-20  Bruno Haible  <bruno@clisp.org>
54863
54864         * lib/fts.c: Don't include lstat.h.
54865         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
54866
54867         Move the lstat() declaration to <sys/stat.h>.
54868         * lib/lstat.h: Remove file.
54869         * lib/sys_stat.in.h: Add special invocation convention.
54870         (lstat): New declaration.
54871         * lib/lstat.c (orig_lstat): New function.
54872         (rpl_lstat): Use orig_lstat instead of lstat.
54873         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
54874         AC_C_INLINE. Set REPLACE_LSTAT.
54875         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
54876         and REPLACE_LSTAT.
54877         * modules/lstat (Files): Remove lib/lstat.h.
54878         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
54879         (Include): Specify <sys/stat.h> instead of lstat.h.
54880         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
54881         REPLACE_LSTAT.
54882         * NEWS: Mention the change.
54883
54884 2008-10-20  Bruno Haible  <bruno@clisp.org>
54885
54886         * modules/posix_spawn-tests: New file.
54887         * tests/test-posix_spawn3.c: New file.
54888
54889 2008-10-20  Bruno Haible  <bruno@clisp.org>
54890
54891         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
54892         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
54893         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
54894         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
54895         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
54896
54897 2008-10-20  Bruno Haible  <bruno@clisp.org>
54898
54899         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
54900         of posix_spawn on AIX 5.3.
54901
54902 2008-10-20  Bruno Haible  <bruno@clisp.org>
54903
54904         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
54905
54906 2008-10-20  Bruno Haible  <bruno@clisp.org>
54907
54908         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
54909         of AC_LANG_PROGRAM.
54910
54911 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54912
54913         * lib/netdb.in.h: Don't define GNU specific constants until they
54914         are supported or needed.  Reported by Bruno Haible
54915         <bruno@clisp.org>.
54916
54917 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54918
54919         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
54920
54921 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54922
54923         * lib/getaddrinfo.h: Remove file.
54924         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
54925         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
54926         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
54927         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
54928         * modules/netdb: Substitute GNULIB_GETADDRINFO.
54929         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
54930         * tests/test-getaddrinfo.c: Likewise.
54931         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
54932         * NEWS: Mention change.
54933
54934 2008-10-19  Bruno Haible  <bruno@clisp.org>
54935
54936         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
54937
54938 2008-10-19  Bruno Haible  <bruno@clisp.org>
54939
54940         * lib/wait-process.c: Include simply <sys/wait.h>.
54941         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
54942         WIFSTOPPED): Remove fallback definitions.
54943         * modules/wait-process (Depends-on): Add sys_wait.
54944
54945         New module 'sys_wait'.
54946         * modules/sys_wait: New file.
54947         * lib/sys_wait.in.h: New file, partially copied from
54948         lib/wait-process.c.
54949         * m4/sys_wait_h.m4: New file.
54950         * doc/posix-headers/sys_wait.texi: Mention the new module.
54951
54952 2008-10-19  Bruno Haible  <bruno@clisp.org>
54953
54954         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
54955
54956 2008-10-19  Bruno Haible  <bruno@clisp.org>
54957
54958         Assume that waitpid() fills an 'int' status, not a 'union wait'.
54959         * lib/wait-process.c (WAIT_T): Remove type.
54960         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
54961         (wait_subprocess): Update.
54962
54963 2008-10-19  Bruno Haible  <bruno@clisp.org>
54964
54965         New module 'atoll'.
54966         * modules/atoll: New file.
54967         * lib/stdlib.in.h (atoll): New declaration.
54968         * lib/atoll.c: New file, from glibc with modifications.
54969         * m4/atoll.m4: New file.
54970         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
54971         HAVE_ATOLL.
54972         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
54973         * doc/posix-functions/atoll.texi: Mention the new module.
54974
54975 2008-10-19  Bruno Haible  <bruno@clisp.org>
54976
54977         Add strtoull() declaration to <stdlib.h>.
54978         * lib/stdlib.in.h (strtoull): New declaration.
54979         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
54980         Set HAVE_STRTOULL.
54981         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
54982         HAVE_STRTOULL.
54983         * modules/strtoull (Depends-on): Add stdlib.
54984         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54985         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
54986         HAVE_STRTOULL.
54987
54988 2008-10-19  Bruno Haible  <bruno@clisp.org>
54989
54990         Add strtoll() declaration to <stdlib.h>.
54991         * lib/stdlib.in.h (strtoll): New declaration.
54992         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
54993         Set HAVE_STRTOLL.
54994         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
54995         HAVE_STRTOLL.
54996         * modules/strtoll (Depends-on): Add stdlib.
54997         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
54998         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
54999
55000 2008-10-19  Bruno Haible  <bruno@clisp.org>
55001
55002         * modules/bcopy (Depends-on): Add strings.
55003         (Include): Specify <strings.h>.
55004
55005 2008-10-19  Bruno Haible  <bruno@clisp.org>
55006
55007         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
55008
55009 2008-10-19  Bruno Haible  <bruno@clisp.org>
55010
55011         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
55012         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
55013         mingw.
55014
55015 2008-10-19  Bruno Haible  <bruno@clisp.org>
55016
55017         * lib/atanl.c: Don't include isnanl.h.
55018         * lib/cosl.c: Likewise.
55019         * lib/ldexpl.c: Likewise.
55020         * lib/logl.c: Likewise.
55021         * lib/sinl.c: Likewise.
55022         * lib/sqrtl.c: Likewise.
55023         * lib/tanl.c: Likewise.
55024
55025         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
55026         * lib/isnanf.h: Remove file.
55027         * lib/isnand.h: Remove file.
55028         * lib/isnanl.h: Remove file.
55029         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
55030         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
55031         macros.
55032         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
55033         HAVE_ISNANF, don't define it as a C macro.
55034         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
55035         HAVE_ISNAND, don't define it as a C macro.
55036         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
55037         HAVE_ISNANL, don't define it as a C macro.
55038         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
55039         HAVE_ISNAN[FDL].
55040         * modules/isnanf (Files): Remove lib/isnanf.h.
55041         (Depends-on): Add math.
55042         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55043         (Include): Specify <math.h> instead of isnanf.h.
55044         * modules/isnand (Files): Remove lib/isnand.h.
55045         (Depends-on): Add math.
55046         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55047         (Include): Specify <math.h> instead of isnand.h.
55048         * modules/isnanl (Files): Remove lib/isnanl.h.
55049         (Depends-on): Add math.
55050         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55051         (Include): Specify <math.h> instead of isnanl.h.
55052         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
55053         HAVE_ISNAN[FDL].
55054         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
55055         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
55056         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
55057         * NEWS: Mention the change.
55058
55059 2008-10-18  Bruno Haible  <bruno@clisp.org>
55060
55061         Add getusershell(), setusershell(), endusershell() declarations to
55062         <unistd.h>.
55063         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
55064         declarations.
55065         * lib/getusershell.c: Include unistd.h.
55066         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
55067         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55068         HAVE_GETUSERSHELL.
55069         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
55070         and HAVE_GETUSERSHELL.
55071         * modules/getusershell (Depends-on): Add unistd, extensions.
55072         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55073         (Include): Specify <unistd.h>.
55074         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
55075         HAVE_GETUSERSHELL.
55076
55077 2008-10-18  Bruno Haible  <bruno@clisp.org>
55078
55079         Add a getloadavg() declaration to <stdlib.h>.
55080         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
55081         getloadavg declaration.
55082         (getloadavg): New declaration.
55083         * lib/getloadavg.c: Include <stdlib.h> first.
55084         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
55085         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
55086         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
55087         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
55088         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55089         * modules/getloadavg (Depends-on): Add stdlib, extensions.
55090         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55091         (Include): Specify <stdlib.h>.
55092         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
55093         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55094
55095 2008-10-18  Bruno Haible  <bruno@clisp.org>
55096
55097         * lib/dirchownmod.c: Don't include lchmod.h.
55098
55099         Move the lchmod() declaration to <sys/stat.h>.
55100         * lib/lchmod.h: Remove file.
55101         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
55102         (lchmod): New declaration, moved here from lib/lchown.h.
55103         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
55104         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
55105         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
55106         and HAVE_LCHMOD.
55107         * modules/lchmod (Files): Remove lib/lchmod.h.
55108         (Depends-on): Add sys_stat, extensions.
55109         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
55110         (Include): Specify <sys/stat.h> instead of lchmod.h.
55111         * modules/sys_stat (Depends-on): Add link-warning.
55112         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
55113         definition of GL_LINK_WARNING.
55114         * NEWS: Mention the change.
55115
55116 2008-10-18  Bruno Haible  <bruno@clisp.org>
55117
55118         * lib/fchdir.c: Don't include dirfd.h.
55119         * lib/fts.c: Likewise.
55120         * lib/getcwd.c: Likewise.
55121         * lib/glob.c: Likewise.
55122
55123         Move the dirfd() declaration to <dirent.h>.
55124         * lib/dirfd.h: Remove file.
55125         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
55126         (dirfd): New declaration.
55127         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
55128         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
55129         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
55130         HAVE_DECL_DIRFD.
55131         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
55132         HAVE_DECL_DIRFD.
55133         * modules/dirfd (Files): Remove lib/dirfd.h.
55134         (Depends-on): Add dirent, extensions.
55135         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
55136         (Include): Specify <dirent.h> instead of dirfd.h.
55137         * modules/dirent (Depends-on): Add link-warning.
55138         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
55139         definition of GL_LINK_WARNING.
55140         * NEWS: Mention the change.
55141
55142 2008-10-18  Bruno Haible  <bruno@clisp.org>
55143
55144         Move the euidaccess() declaration to <unistd.h>.
55145         * lib/euidaccess.h: Remove file.
55146         * lib/unistd.in.h (euidaccess): New declaration.
55147         * lib/euidaccess.c: Don't include euidaccess.h.
55148         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
55149         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
55150         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
55151         and HAVE_EUIDACCESS.
55152         * modules/euidaccess (Files): Remove lib/euidaccess.h.
55153         (Depends-on): Add unistd.
55154         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55155         (Include): Specify <unistd.h> instead of euidaccess.h.
55156         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
55157         HAVE_EUIDACCESS.
55158         * NEWS: Mention the change.
55159
55160 2008-10-18  Bruno Haible  <bruno@clisp.org>
55161
55162         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
55163
55164         Move the getdomainname() declaration to <unistd.h>.
55165         * lib/getdomainname.h: Remove file.
55166         * lib/unistd.in.h (getdomainname): New declaration.
55167         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
55168         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
55169         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55170         HAVE_GETDOMAINNAME.
55171         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55172         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
55173         * modules/getdomainname (Files): Remove lib/getdomainname.h.
55174         (Depends-on): Add unistd, extensions.
55175         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55176         (Includes): Specify <unistd.h> instead of getdomainname.h.
55177         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
55178         HAVE_GETDOMAINNAME.
55179         * NEWS: Mention the change.
55180
55181 2008-10-18  Bruno Haible  <bruno@clisp.org>
55182
55183         * modules/dirent: New file.
55184         * m4/dirent_h.m4: New file.
55185         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
55186         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
55187         * modules/fchdir (Files): Remove lib/dirent.in.h.
55188         (Depends-on): Add dirent.
55189         (Makefile.am): Move rules to modules/dirent.
55190         * doc/posix-headers/dirent.texi: Mention the new module.
55191
55192 2008-10-18  Bruno Haible  <bruno@clisp.org>
55193
55194         Avoid -Wunused-parameter warnings in public gnulib header files.
55195         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
55196         macro.
55197         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
55198
55199 2008-10-18  Bruno Haible  <bruno@clisp.org>
55200
55201         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
55202         * doc/glibc-functions/error.texi: Mention the module 'error'.
55203         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
55204         * doc/glibc-functions/getdomainname.texi: Mention the module
55205         'getdomainname'.
55206         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
55207         * doc/glibc-functions/getpagesize.texi: Mention the module
55208         'getpagesize'.
55209         * doc/glibc-functions/getusershell.texi: Mention the module
55210         'getusershell'.
55211         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
55212         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
55213         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
55214         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
55215         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
55216         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
55217         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
55218         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
55219         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
55220         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
55221         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
55222         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
55223         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
55224         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
55225
55226 2008-10-17  Bruno Haible  <bruno@clisp.org>
55227
55228         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
55229         HP-UX and IRIX, use -0.0L.
55230         * tests/test-ceill.c (minus_zero): Likewise.
55231         * tests/test-floorl.c (minus_zero): Likewise.
55232         * tests/test-frexpl.c (minus_zero): Likewise.
55233         * tests/test-isnan.c (minus_zerol): Likewise.
55234         * tests/test-isnanl.h (minus_zero): Likewise.
55235         * tests/test-ldexpl.c (minus_zero): Likewise.
55236         * tests/test-roundl.c (minus_zero): Likewise.
55237         * tests/test-signbit.c (minus_zerol): Likewise.
55238         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
55239         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
55240         * tests/test-truncl.c (minus_zero): Likewise.
55241         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
55242         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
55243         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
55244         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
55245
55246 2008-10-17  Bruno Haible  <bruno@clisp.org>
55247
55248         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
55249         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
55250         that it gets activated only for gcc >= 3.0.
55251         * lib/dirent.in.h: Likewise.
55252         * lib/errno.in.h: Likewise.
55253         * lib/fcntl.in.h: Likewise.
55254         * lib/float.in.h: Likewise.
55255         * lib/iconv.in.h: Likewise.
55256         * lib/inttypes.in.h: Likewise.
55257         * lib/locale.in.h: Likewise.
55258         * lib/math.in.h: Likewise.
55259         * lib/netdb.in.h: Likewise.
55260         * lib/netinet_in.in.h: Likewise.
55261         * lib/search.in.h: Likewise.
55262         * lib/signal.in.h: Likewise.
55263         * lib/spawn.in.h: Likewise.
55264         * lib/stdarg.in.h: Likewise.
55265         * lib/stdint.in.h: Likewise.
55266         * lib/stdio.in.h: Likewise.
55267         * lib/stdlib.in.h: Likewise.
55268         * lib/string.in.h: Likewise.
55269         * lib/strings.in.h: Likewise.
55270         * lib/sys_file.in.h: Likewise.
55271         * lib/sys_ioctl.in.h: Likewise.
55272         * lib/sys_select.in.h: Likewise.
55273         * lib/sys_socket.in.h: Likewise.
55274         * lib/sys_stat.in.h: Likewise.
55275         * lib/sys_time.in.h: Likewise.
55276         * lib/sysexits.in.h: Likewise.
55277         * lib/time.in.h: Likewise.
55278         * lib/unistd.in.h: Likewise.
55279         * lib/wchar.in.h: Likewise.
55280         * lib/wctype.in.h: Likewise.
55281         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55282
55283 2008-10-17  Jim Meyering  <meyering@redhat.com>
55284
55285         ignore-value: don't depend on inline module
55286         * modules/ignore-value (Depends-on): Remove 'inline'.
55287         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
55288         Suggestion from Bruno Haible.
55289
55290 2008-10-17  Bruno Haible  <bruno@clisp.org>
55291
55292         New implementation of condition variables for Win32.
55293         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
55294         (gl_linked_waitqueue_t): New type.
55295         (gl_cond_t): Use it.
55296         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
55297         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
55298         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
55299         (glthread_cond_init_func, glthread_cond_wait_func,
55300         glthread_cond_timedwait_func, glthread_cond_signal_func,
55301         glthread_cond_broadcast_func, glthread_cond_destroy_func):
55302         Reimplemented on the basis of gl_linked_waitqueue_t.
55303         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
55304         gl_waitqueue_t.
55305         (gl_rwlock_t): Update.
55306         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
55307
55308 2008-10-17  Simon Josefsson  <simon@josefsson.org>
55309
55310         * modules/recvfrom (Depends-on): Add dependency on getpeername.
55311         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55312
55313 2008-10-17  Jim Meyering  <meyering@redhat.com>
55314
55315         ignore-value: new module
55316         * modules/ignore-value: New file.
55317         * lib/ignore-value.h: New file.
55318         * MODULES.html.sh (Compiler warning management): New section,
55319         just for this module.  More to come.
55320
55321 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55322
55323         open-safer.c: avoid 'signed and unsigned in conditional...' warning
55324         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
55325         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
55326
55327 2008-10-16  Jim Meyering  <meyering@redhat.com>
55328
55329         openat-die.c: avoid 'no previous prototype' warning
55330         * lib/openat-die.c: Include "openat.h".
55331         Reported by Reuben Thomas <rrt@sc3d.org>.
55332
55333 2008-10-16  Simon Josefsson  <simon@josefsson.org>
55334
55335         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
55336         * lib/netdb.in.h: Fix typo.
55337         Reported by Bruno Haible  <bruno@clisp.org>
55338
55339         * lib/netdb.in.h: Include sys/socket.h for platforms without
55340         netdb.h, to get structures like hostent on MinGW.
55341         * modules/netdb (Depends-on): Add sys_socket.
55342
55343 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55344
55345         * modules/netdb, modules/netdb-tests: New file.
55346         * m4/netdb_h.m4: New file.
55347         * lib/netdb.in.h: Add, currently just an empty file pending
55348         definitions.
55349         * tests/test-netdb.c: New file.
55350         * doc/posix-headers/netdb.texi: Mention that we replace it if
55351         needed.
55352         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55353         netdb.
55354
55355 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55356
55357         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
55358         with code.
55359
55360 2008-10-13  Bruno Haible  <bruno@clisp.org>
55361
55362         * lib/glthread/cond.c (glthread_cond_wait_func,
55363         glthread_cond_timedwait_func): Add a comment.
55364
55365 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55366
55367         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
55368         * tests/test-select.c: Likewise,
55369
55370 2008-10-13  Bruno Haible  <bruno@clisp.org>
55371
55372         * lib/glthread/cond.c (glthread_cond_wait_func,
55373         glthread_cond_timedwait_func): Fix variable name.
55374         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55375
55376 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
55377
55378         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
55379         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
55380         struct sockaddr.sa_len.
55381         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
55382
55383 2008-10-13  Simon Josefsson  <simon@josefsson.org>
55384
55385         * build-aux/pmccabe2html: Add css and css_url parameters.
55386
55387 2008-10-12  Bruno Haible  <bruno@clisp.org>
55388
55389         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
55390         calling aclx_get.
55391         Reported by Rainer Tammer <tammer@tammer.net>.
55392
55393 2008-10-12  Bruno Haible  <bruno@clisp.org>
55394
55395         Use msvcrt aware primitives for creation/termination of Win32 threads.
55396         * lib/glthread/thread.c: Include <process.h>.
55397         (glthread_create_func): Use _beginthreadex instead of CreateThread.
55398         (wrapper_func): Update signature.
55399         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
55400
55401 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55402             Bruno Haible  <bruno@clisp.org>
55403
55404         Provide a Win32 implementation of the 'cond' module.
55405         * lib/glthread/cond.h [USE_WIN32]: New implementation.
55406         * lib/glthread/cond.c (glthread_cond_init_func,
55407         glthread_cond_wait_func, glthread_cond_timedwait_func,
55408         glthread_cond_signal_func, glthread_cond_broadcast_func,
55409         glthread_cond_destroy_func) [USE_WIN32]: New functions.
55410         * modules/cond (Dependencies): Add gettimeofday.
55411
55412 2008-10-11  Bruno Haible  <bruno@clisp.org>
55413
55414         Make sleep work on older versions of mingw.
55415         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
55416         only whether it exists.
55417         * doc/posix-functions/sleep.texi: Mention the problem with older
55418         versions of mingw.
55419
55420 2008-10-11  Bruno Haible  <bruno@clisp.org>
55421
55422         New module 'shutdown'.
55423         * modules/shutdown: New file.
55424         * lib/sys_socket.in.h (shutdown): New declaration.
55425         * lib/winsock.c (shutdown): New function.
55426         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
55427         GNULIB_SHUTDOWN.
55428         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
55429         * doc/posix-functions/shutdown.texi: Document the new module.
55430
55431 2008-10-11  Jim Meyering  <meyering@redhat.com>
55432
55433         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
55434
55435 2008-10-11  Bruno Haible  <bruno@clisp.org>
55436
55437         New module 'fclose'.
55438         * modules/fclose: New file.
55439         * lib/stdio.in.h (fclose): New declaration.
55440         * lib/fclose.c: New file.
55441         * m4/fclose.m4: New file.
55442         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
55443         REPLACE_FCLOSE.
55444         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
55445         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
55446         REPLACE_FCLOSE.
55447         * modules/close (Depends-on): fclose.
55448         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
55449
55450 2008-10-11  Bruno Haible  <bruno@clisp.org>
55451
55452         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
55453         set errno and don't call _close.
55454
55455 2008-10-10  Bruno Haible  <bruno@clisp.org>
55456
55457         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
55458         ACL, not afterwards. Fixes test failure on Cygwin.
55459
55460 2008-10-09  Ben Pfaff  <blp@gnu.org>
55461
55462         * build-aux/announce-gen: Fix gnulib version related part of usage
55463         message.  Die with a useful error message if no tarballs are
55464         found.
55465
55466 2008-10-10  Jim Meyering  <meyering@redhat.com>
55467
55468         bootstrap: use git's --depth=N option only if it's supported
55469         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
55470         recognize the --depth option.  Reported by Pádraig Brady.
55471
55472 2008-10-09  Bruno Haible  <bruno@clisp.org>
55473
55474         New module 'ioctl'.
55475         * modules/ioctl: New file.
55476         * lib/sys_socket.in.h (ioctl): Remove declaration.
55477         * lib/winsock.c: Include <sys/ioctl.h>.
55478         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
55479         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
55480         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
55481         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
55482         * doc/posix-functions/ioctl.texi: Mention the new module.
55483
55484 2008-10-09  Bruno Haible  <bruno@clisp.org>
55485
55486         New module 'sys_ioctl'.
55487         * lib/sys_ioctl.in.h: New file.
55488         * m4/sys_ioctl_h.m4: New file.
55489         * modules/sys_ioctl: New file.
55490         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
55491
55492 2008-10-09  Bruno Haible  <bruno@clisp.org>
55493
55494         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
55495         * lib/winsock.c: Include <stdarg.h>.
55496         (rpl_ioctl): Change to second argument 'int' and then varargs.
55497
55498 2008-10-09  Bruno Haible  <bruno@clisp.org>
55499
55500         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
55501         when the sys_socket module is present and the system has <winsock2.h>.
55502
55503 2008-10-09  Bruno Haible  <bruno@clisp.org>
55504
55505         * doc/posix-functions/close.texi: Mention module 'close' instead of
55506         module 'sys_socket'.
55507
55508 2008-10-09  Bruno Haible  <bruno@clisp.org>
55509
55510         * doc/glibc-headers/sys_ioctl.texi: New file.
55511         * doc/gnulib.texi: Include it.
55512
55513 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55514             Bruno Haible  <bruno@clisp.org>
55515
55516         Combine the two replacements of 'close'.
55517         * lib/sys_socket.in.h (close): Define to a reminder to include
55518         <unistd.h>.
55519         (_gl_close_fd_maybe_socket): New declaration.
55520         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
55521         * lib/winsock.c (close): Remove undefinition.
55522         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
55523         needed for the gnulib module 'close'.
55524         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
55525         define to an error symbol or to a warning, if suitable.
55526         * lib/close.c: Include <sys/socket.h>.
55527         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
55528         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
55529         UNISTD_H_HAVE_WINSOCK2_H.
55530         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
55531         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55532         UNISTD_H_HAVE_WINSOCK2_H.
55533         * modules/sys_socket (Files): Add m4/unistd_h.m4.
55534         (configure.ac): Set a module indicator.
55535         (Makefile.am): Substitute GNULIB_CLOSE.
55536         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
55537         * modules/poll-tests (Depends-on): Add close.
55538         * modules/select-tests (Depends-on): Likewise.
55539
55540 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55541             Bruno Haible  <bruno@clisp.org>
55542
55543         New module 'close'.
55544         * modules/close: New file.
55545         * lib/unistd.in.h (close): Move declaration out of the
55546         FCHDIR_REPLACEMENT scope.
55547         (_gl_unregister_fd): New declaration.
55548         * lib/close.c: New file.
55549         * lib/fchdir.c (rpl_close): Remove function.
55550         * m4/close.m4: New file.
55551         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55552         close.
55553         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
55554         REPLACE_CLOSE.
55555         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
55556         REPLACE_CLOSE.
55557         * modules/fchdir (Depends-on): Add close.
55558
55559 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55560             Bruno Haible  <bruno@clisp.org>
55561
55562         * lib/fcntl.in.h (open): Simplify conditionals.
55563         (_gl_register_fd): New declaration.
55564         * lib/fchdir.c (rpl_open): Remove function.
55565         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
55566         also.
55567         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
55568         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55569         open.
55570
55571 2008-10-09  Jim Meyering  <meyering@redhat.com>
55572
55573         GNUmakefile: use the more name-space-friendly "_version"
55574         * top/GNUmakefile (_dummy): Update.
55575         (_version): Rename from "version".
55576
55577 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55578             Bruno Haible  <bruno@clisp.org>
55579
55580         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
55581         rpl_close.
55582         (_gl_register_fd): New function, extracted from rpl_open.
55583         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
55584         (rpl_open, rpl_opendir): Use _gl_register_fd.
55585
55586 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55587
55588         Fix organization of 'open' replacement.
55589         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
55590         (gl_FUNC_OPEN): Use it.
55591         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
55592
55593 2008-10-08  Bruno Haible  <bruno@clisp.org>
55594
55595         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
55596
55597 2008-10-08  Simon Josefsson  <simon@josefsson.org>
55598
55599         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
55600         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
55601         listen).
55602
55603 2008-10-08  Eric Blake  <ebb9@byu.net>
55604
55605         GNUmakefile: add 'make version' target
55606         * top/GNUmakefile (_curr-ver): Split version update rules...
55607         (version): ...into a target.
55608
55609 2008-10-07  Bruno Haible  <bruno@clisp.org>
55610
55611         Use a more portable replacement expression for -0.0L.
55612         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
55613         instead of -0.0L. Fix m4 quotation.
55614
55615         * tests/test-signbit.c: Include <float.h>.
55616         (minus_zero): New variable.
55617         (test_signbitl): Use minus_zero instead of -zero.
55618         * modules/signbit-tests (Depends-on): Add float.
55619
55620         * tests/test-ceill.c: Include <float.h>.
55621         (zero): Remove variable.
55622         (minus_zero): New variable.
55623         (main): Use minus_zero instead of -zero.
55624         * modules/ceill-tests (Depends-on): Add float.
55625
55626         * tests/test-floorl.c: Include <float.h>.
55627         (zero): Remove variable.
55628         (minus_zero): New variable.
55629         (main): Use minus_zero instead of -zero.
55630         * modules/floorl-tests (Depends-on): Add float.
55631
55632         * tests/test-roundl.c: Include <float.h>.
55633         (zero): Remove variable.
55634         (minus_zero): New variable.
55635         (main): Use minus_zero instead of -zero.
55636         * modules/roundl-tests (Depends-on): Add float.
55637
55638         * tests/test-truncl.c: Include <float.h>.
55639         (zero): Remove variable.
55640         (minus_zero): New variable.
55641         (main): Use minus_zero instead of -zero.
55642         * modules/truncl-tests (Depends-on): Add float.
55643
55644         * tests/test-frexpl.c (zero): Remove variable.
55645         (minus_zero): New variable.
55646         (main): Use minus_zero instead of -zero.
55647         * modules/frexpl-tests (Depends-on): Add float.
55648
55649         * tests/test-isnan.c (zerol): Remove variable.
55650         (minus_zerol): New variable.
55651         (test_long_double): Use minus_zerol instead of -zerol.
55652         * modules/isnan-tests (Depends-on): Add float.
55653
55654         * tests/test-isnanl.h (zero): Remove variable.
55655         (minus_zero): New variable.
55656         (main): Use minus_zero instead of -zero.
55657         * modules/isnanl-nolibm-tests (Depends-on): Add float.
55658         * modules/isnanl-tests (Depends-on): Add float.
55659
55660         * tests/test-ldexpl.c (zero): Remove variable.
55661         (minus_zero): New variable.
55662         (main): Use minus_zero instead of -zero.
55663         * modules/ldexpl-tests (Depends-on): Add float.
55664
55665         * tests/test-snprintf-posix.h (zerol): Remove variable.
55666         (minus_zerol): New variable.
55667         (test_function): Use minus_zerol instead of -zerol.
55668         * modules/snprintf-posix-tests (Depends-on): Add float.
55669         * modules/vsnprintf-posix-tests (Depends-on): Add float.
55670
55671         * tests/test-sprintf-posix.h (zerol): Remove variable.
55672         (minus_zerol): New variable.
55673         (test_function): Use minus_zerol instead of -zerol.
55674         * modules/sprintf-posix-tests (Depends-on): Add float.
55675         * modules/vsprintf-posix-tests (Depends-on): Add float.
55676
55677         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
55678         (minus_zerol): New variable.
55679         (test_function): Use minus_zerol instead of -zerol.
55680         * modules/vasnprintf-posix-tests (Depends-on): Add float.
55681
55682         * tests/test-vasprintf-posix.c (zerol): Remove variable.
55683         (minus_zerol): New variable.
55684         (test_function): Use minus_zerol instead of -zerol.
55685         * modules/vasprintf-posix-tests (Depends-on): Add float.
55686
55687 2008-10-07  Simon Josefsson  <simon@josefsson.org>
55688
55689         * MODULES.html.sh (Support for building documentation): Mention
55690         pmccabe2html.  Sort entries.
55691
55692         Add pmccabe2html module, from gnupdf.
55693         * build-aux/pmccabe.css: New file.
55694         * build-aux/pmccabe2html: New file.
55695         * m4/pmccabe2html.m4: New file.
55696         * modules/pmccabe2html: New file.
55697
55698 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
55699
55700         flock: new module
55701         * MODULES.html.sh: Add to list of modules.
55702         * lib/flock.c: flock implementation for Windows and Unix systems
55703         which have fcntl.
55704         * doc/glibc-functions/flock.texi: Update documentation.
55705         * lib/sys_file.in.h: <sys/file.h> header file.
55706         * m4/flock.m4: M4 macros.
55707         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
55708         * modules/flock: flock module.
55709         * modules/flock-tests: flock tests module.
55710         * modules/sys_file: sys/file.h module.
55711         * tests/test-flock.c: test suite for flock.
55712
55713 2008-10-06  Jim Meyering  <meyering@redhat.com>
55714
55715         bootstrap: check for LT_INIT more portably still ;-)
55716         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
55717         Spotted by Bruno Haible.
55718
55719 2008-10-06  Eric Blake  <ebb9@byu.net>
55720
55721         test-signbit: avoid tripping Irix cc bug on -0.0L
55722         * tests/test-signbit.c (minus_zerol): Delete, and replace with
55723         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
55724         entire testsuite consistent and avoids an Irix 6.2 bug.
55725
55726 2008-10-05  Bruno Haible  <bruno@clisp.org>
55727             Jim Meyering  <jim@meyering.net>
55728
55729         Add an option for ignoring EPIPE during close_stdout.
55730         * lib/closeout.h: Include <stdbool.h>.
55731         (close_stdout_set_ignore_EPIPE): New declaration.
55732         * lib/closeout.c: Include <stdbool.h>.
55733         (ignore_EPIPE): New variable.
55734         (close_stdout_set_ignore_EPIPE): New function.
55735         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
55736         * lib/close-stream.c (close_stream): Mention the possible EPIPE
55737         failure.
55738         * modules/closeout (Depends-on): Add stdbool.
55739
55740 2008-10-05  Bruno Haible  <bruno@clisp.org>
55741
55742         * modules/accept: New file.
55743         * modules/bind: New file.
55744         * modules/connect: New file.
55745         * modules/getpeername: New file.
55746         * modules/getsockname: New file.
55747         * modules/getsockopt: New file.
55748         * modules/listen: New file.
55749         * modules/recv: New file.
55750         * modules/recvfrom: New file.
55751         * modules/send: New file.
55752         * modules/sendto: New file.
55753         * modules/setsockopt: New file.
55754         * modules/socket: New file.
55755         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
55756         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
55757         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
55758         the particular module is requested. Add a link warning when the
55759         particular module is not requested.
55760         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
55761         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
55762         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
55763         the particular module is requested.
55764         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
55765         gl_SYS_SOCKET_H_DEFAULTS): New macros.
55766         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
55767         * modules/sys_socket (Depends-on): Add link-warning.
55768         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
55769         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
55770         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
55771         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
55772         GL_LINK_WARNING.
55773         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
55774         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
55775         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
55776         * doc/posix-functions/getpeername.texi: Mention the new module
55777         'getpeername'.
55778         * doc/posix-functions/getsockname.texi: Mention the new module
55779         'getsockname'.
55780         * doc/posix-functions/getsockopt.texi: Mention the new module
55781         'getsockopt'.
55782         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
55783         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
55784         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
55785         * doc/posix-functions/send.texi: Mention the new module 'send'.
55786         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
55787         * doc/posix-functions/setsockopt.texi: Mention the new module
55788         'setsockopt'.
55789         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
55790         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
55791         listen, connect, accept.
55792         * modules/select-tests (Depends-on): Likewise.
55793
55794 2008-10-05  Bruno Haible  <bruno@clisp.org>
55795
55796         * lib/winsock.c (strerror): Remove unused #undef.
55797         (rpl_close): Remove unused local variable.
55798
55799         * modules/sys_socket (Depends-on); Add errno.
55800
55801 2008-10-05  Bruno Haible  <bruno@clisp.org>
55802
55803         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
55804         (select): Add a link warning when the 'select' module is not used.
55805         * modules/sys_select (Depends-on): Add link-warning.
55806         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
55807         Suggested by Paolo Bonzini.
55808
55809 2008-10-05  Jim Meyering  <meyering@redhat.com>
55810
55811         bootstrap: check for LT_INIT more portably
55812         * build-aux/bootstrap: Avoid using grep -E, since it's not
55813         portable enough.  Suggestion from Bruno Haible.
55814
55815 2008-10-05  Bruno Haible  <bruno@clisp.org>
55816
55817         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
55818         as being fixed by gnulib.
55819
55820 2008-10-05  Bruno Haible  <bruno@clisp.org>
55821
55822         * modules/select-tests: New file, mostly copied from
55823         modules/sys_select-tests.
55824         * tests/test-select.c: New file, mostly copied from
55825         tests/test-sys_select.c.
55826         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
55827         * modules/sys_select-tests (Depends-on): Remove all dependencies.
55828         (Makefile.am): Remove test_sys_select_LDADD.
55829
55830         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
55831         to an undefined symbol, for an error message.
55832         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
55833         (gl_SYS_SELECT_H_DEFAULTS): New macro.
55834         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
55835         winsock-select.c here.
55836         * modules/sys_select (Files): Remove lib/winsock-select.c.
55837         (Depends-on): Remove alloca.
55838         (Makefile.am): Substitute GNULIB_SELECT.
55839         * modules/select: New file.
55840         * doc/posix-functions/select.texi: Update.
55841
55842 2008-10-05  Bruno Haible  <bruno@clisp.org>
55843
55844         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
55845         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
55846         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
55847         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
55848         getdtablesize.
55849         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
55850         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
55851
55852 2008-10-05  Bruno Haible  <bruno@clisp.org>
55853
55854         * modules/getdtablesize-tests: New file.
55855         * tests/test-getdtablesize.c: New file.
55856
55857         New module 'getdtablesize'.
55858         * lib/unistd.in.h (getdtablesize): New declaration.
55859         * lib/getdtablesize.c: New file.
55860         * m4/getdtablesize.m4: New file.
55861         * modules/getdtablesize: New file.
55862         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55863         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
55864         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
55865         HAVE_GETDTABLESIZE.
55866         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
55867
55868 2008-10-05  Bruno Haible  <bruno@clisp.org>
55869
55870         * modules/sched (Makefile.am): Fix typo.
55871         Reported by Simon Josefsson.
55872
55873 2008-10-05  Jim Meyering  <meyering@redhat.com>
55874
55875         bootstrap: check for LT_INIT, too
55876         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
55877         are deprecated.  Suggestion from Ralf Wildenhues.
55878
55879 2008-10-05  Bruno Haible  <bruno@clisp.org>
55880
55881         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
55882         overriding them by ours.
55883         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
55884
55885 2008-10-05  Jim Meyering  <meyering@redhat.com>
55886
55887         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
55888         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
55889         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
55890
55891 2008-10-04  Bruno Haible  <bruno@clisp.org>
55892
55893         * modules/dup2 (License): Change to LGPLv2+.
55894         * modules/sleep (License): Likewise.
55895         * modules/perror (License): Likewise.
55896         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
55897         Blake.
55898         * modules/signal (License): Likewise.
55899         * modules/sigprocmask (License): Likewise.
55900         * modules/raise (License): Change to LGPLv2+, with approval by Jim
55901         Meyering.
55902
55903 2008-10-04  Bruno Haible  <bruno@clisp.org>
55904
55905         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
55906         Reported by Rainer Tammer <tammer@tammer.net>.
55907
55908 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
55909             Bruno Haible  <bruno@clisp.org>
55910
55911         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
55912         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
55913         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
55914
55915 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
55916
55917         filevercmp: new module
55918         * lib/filevercmp.h: New function filevercmp comparing version strings.
55919         * lib/filevercmp.c: Implementation of filevercmp function.
55920         * modules/filevercmp: Module metadata.
55921         * tests/test-filevercmp.c: Unit test for new module.
55922         * modules/filevercmp-tests: Unit test metadata.
55923         * MODULES.html.sh: Add filevercmp module.
55924
55925 2008-10-03  Bruno Haible  <bruno@clisp.org>
55926
55927         * lib/c-ctype.h: Add comment.
55928         Reported by Jim Meyering.
55929
55930 2008-10-02  Bruno Haible  <bruno@clisp.org>
55931
55932         * modules/posix_spawn-internal (Depends-on): Add 'open'.
55933
55934 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55935
55936         * build-aux/bootstrap: Allow renaming bootstrap, and change the
55937         name of bootstrap.conf accordingly.
55938
55939 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55940
55941         * build-aux/bootstrap: Install git-merge-changelog configuration
55942         items into .gitconfig if needed.
55943
55944 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55945
55946         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
55947         git repository, and initialize/update it accordingly.
55948
55949 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
55950
55951         * modules/fsync-tests: New file.
55952         * tests/test-fsync.c: New file.
55953
55954         New module 'fsync'.
55955         * lib/fsync.c: New file.
55956         * m4/fsync.m4: New file.
55957         * modules/fsync: New file.
55958         * lib/unistd.in.h (fsync): New declaration.
55959         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
55960         GNULIB_FSYNC and HAVE_FSYNC.
55961         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
55962         * MODULES.html.sh (posix_functions): Add fsync.
55963         * doc/posix-functions/fsync.texi: Mention the new module.
55964
55965 2008-10-02  Jim Meyering  <meyering@redhat.com>
55966
55967         fts.c: sync with similar code from coreutils' remove.c
55968         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
55969         Guard also with "#if defined __linux__", since for now at least,
55970         this code is Linux-kernel-specific.
55971
55972 2008-10-02  Jim Meyering  <meyering@redhat.com>
55973
55974         fts: bug fixes
55975         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
55976         Include <sys/vfs.h>, not <sys/statfs.h>.
55977
55978         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
55979         Include <sys/vfs.h>, not <sys/statfs.h>.
55980
55981 2008-10-01  Bruno Haible  <bruno@clisp.org>
55982
55983         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
55984         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
55985         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
55986         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
55987         * doc/posix-functions/posix_spawnp.texi: Likewise.
55988         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
55989         whether posix_spawn actually works.
55990         * m4/pipe.m4 (gl_PIPE): Likewise.
55991         * modules/execute (Files): Add m4/posix_spawn.m4.
55992         * modules/pipe (Files): Add m4/posix_spawn.m4.
55993         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
55994
55995 2008-10-01  Jim Meyering  <meyering@redhat.com>
55996
55997         remove trailing spaces
55998         * NEWS: Likewise.
55999         * lib/poll.c (poll): Likewise.
56000         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
56001         * lib/winsock.c (rpl_close): Likewise.
56002         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
56003         * modules/yield: Likewise.
56004         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
56005         * tests/test-sys_select.c (connect_to_socket): Likewise.
56006
56007         fts.c: adjust a new interface to be more generally useful
56008         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
56009         (fts_build): Adjust caller.
56010
56011 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56012
56013         * modules/cond-tests: New file.
56014         * tests/test-cond.c: New file.
56015
56016 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56017             Bruno Haible  <bruno@clisp.org>
56018
56019         * modules/cond (Dependencies): Add errno, time.
56020         * lib/glthread/cond.h: Include <time.h>.
56021         (gl_cond_define, gl_cond_define_initialized): Use the same definition
56022         across platforms.
56023
56024 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56025             Bruno Haible  <bruno@clisp.org>
56026
56027         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
56028
56029 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56030             Bruno Haible  <bruno@clisp.org>
56031
56032         * modules/tls-tests (Depends-on): Add thread, yield.
56033         (configure.ac): Remove all checks.
56034         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
56035         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56036         gl_thread_self): Remove definitions. Include glthread/thread.h and
56037         glthread/yield.h instead.
56038         (test_tls): Pass an additional NULL argument to gl_thread_join.
56039
56040 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56041             Bruno Haible  <bruno@clisp.org>
56042
56043         * modules/lock-tests (Depends-on): Add thread, yield.
56044         (configure.ac): Remove all checks.
56045         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
56046         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56047         gl_thread_self): Remove definitions. Include glthread/thread.h and
56048         glthread/yield.h instead.
56049         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
56050         additional NULL argument to gl_thread_join.
56051
56052 2008-09-30  Bruno Haible  <bruno@clisp.org>
56053
56054         Fix the Win32 implementation of the 'thread' module.
56055         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
56056         pointer type.
56057         (gl_thread_self): Invoke gl_thread_self_func.
56058         (gl_thread_self_func): New declaration.
56059         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
56060         (do_init_self_key, init_self_key): New functions.
56061         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
56062         Remove some fields.
56063         (running_threads, running_lock): Remove variables.
56064         (get_current_thread_handle): New function.
56065         (gl_thread_self_func, wrapper_func, glthread_create_func,
56066         glthread_join_func, gl_thread_exit_func): Largely rewritten and
56067         simplified.
56068
56069 2008-09-30  Bruno Haible  <bruno@clisp.org>
56070
56071         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
56072         files.
56073
56074 2008-09-30  Jim Meyering  <meyering@redhat.com>
56075
56076         fts.m4: correct the test for statfs.f_type
56077         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
56078         when checking for statfs.f_type.
56079
56080 2008-09-15  Simon Josefsson  <simon@josefsson.org>
56081
56082         tests: avoid some compiler warnings
56083         * tests/test-memchr.c (main): Pass NULL indirectly.
56084         * tests/test-getdate.c (main): Remove unused variable 'ret'.
56085
56086 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
56087
56088         getdate.y: disallow countable dayshifts like "4 yesterday ago"
56089         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
56090         exactly specified dayshifts.
56091         (dayshift): New rule.
56092         (rel): Add dayshift.
56093         (relative_time_table) [tomorrow, yesterday, today, now]:
56094         Use tDAY_SHIFT in place of tDAY_UNIT.
56095         * tests/test-getdate.c: Add tests for now-disallowed countable
56096         dayshifts, e.g., "4 yesterday ago".
56097
56098 2008-09-29  Bruno Haible  <bruno@clisp.org>
56099
56100         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
56101         * tests/test-posix_spawn1.in.sh: Renamed from
56102         tests/test-posix_spawn.in.sh.
56103         * tests/test-posix_spawn2.c: New file.
56104         * tests/test-posix_spawn2.in.sh: New file.
56105         * modules/posix_spawnp-tests (Files): Update.
56106         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
56107
56108 2008-09-29  Bruno Haible  <bruno@clisp.org>
56109
56110         Propagate effects of putenv/setenv/unsetenv to child processes.
56111         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
56112         * lib/pipe.c (create_pipe): Likewise.
56113
56114 2008-09-29  Bruno Haible  <bruno@clisp.org>
56115
56116         Enable use of shell scripts as executables in mingw.
56117         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
56118         run the program as a shell script.
56119         * lib/pipe.c (create_pipe): Likewise.
56120         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
56121         resulting array.
56122
56123 2008-09-29  Eric Blake  <ebb9@byu.net>
56124
56125         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
56126
56127 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
56128
56129         * doc/posix-functions/accept.texi: Update mingw problems.
56130         * doc/posix-functions/bind.texi: Update mingw problems.
56131         * doc/posix-functions/close.texi: Update mingw problems.
56132         * doc/posix-functions/connect.texi: Update mingw problems.
56133         * doc/posix-functions/getpeername.texi: Update mingw problems.
56134         * doc/posix-functions/getsockname.texi: Update mingw problems.
56135         * doc/posix-functions/getsockopt.texi: Update mingw problems.
56136         * doc/posix-functions/ioctl.texi: Update mingw problems.
56137         * doc/posix-functions/listen.texi: Update mingw problems.
56138         * doc/posix-functions/recv.texi: Update mingw problems.
56139         * doc/posix-functions/recvfrom.texi: Update mingw problems.
56140         * doc/posix-functions/select.texi: Update mingw problems.
56141         * doc/posix-functions/send.texi: Update mingw problems.
56142         * doc/posix-functions/sendto.texi: Update mingw problems.
56143         * doc/posix-functions/setsockopt.texi: Update mingw problems.
56144         * doc/posix-functions/socket.texi: Update mingw problems.
56145
56146 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
56147             Bruno Haible  <bruno@clisp.org>
56148
56149         * lib/sys_select.in.h: Include sys/time.h.
56150         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
56151         * modules/sys_select: Depend on sys_time.
56152         * tests/test-sys_select.c: Test that sys/select.h defines struct
56153         timeval fully.
56154
56155 2008-09-29  Bruno Haible  <bruno@clisp.org>
56156
56157         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
56158         * lib/sys_select.in.h: Likewise.
56159
56160 2008-09-29  Bruno Haible  <bruno@clisp.org>
56161
56162         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
56163
56164 2008-09-29  Bruno Haible  <bruno@clisp.org>
56165
56166         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
56167         Set LIBSOCKET instead of augmenting LIBS.
56168         * modules/sockets (Link): New section.
56169         * modules/sockets-tests (test_sockets_LDADD): New variable.
56170         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
56171         * modules/poll-tests (test_poll_LDADD): New variable.
56172         * NEWS: Document the change.
56173
56174 2008-09-29  Bruno Haible  <bruno@clisp.org>
56175
56176         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
56177         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
56178         ARPA_INET_H directly.
56179         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56180
56181 2008-09-28  Bruno Haible  <bruno@clisp.org>
56182
56183         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
56184         from gl_HEADER_SYS_SOCKET.
56185         (gl_HEADER_SYS_SOCKET): Invoke it.
56186         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56187
56188 2008-09-28  Bruno Haible  <bruno@clisp.org>
56189
56190         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
56191         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
56192         Needed on OSF/1 4.0.
56193
56194 2008-09-28  Bruno Haible  <bruno@clisp.org>
56195
56196         Override open more carefully.
56197         * lib/open.c (orig_open): New function.
56198         (rpl_open): Use orig_open instead of open.
56199         * lib/fcntl.in.h: Add special invocation convention.
56200         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
56201         (gl_FUNC_OPEN): Invoke it.
56202
56203         Override freopen more carefully.
56204         * lib/freopen.c (orig_freopen): New function.
56205         (rpl_freopen): Use orig_freopen instead of freopen.
56206         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
56207         (gl_FUNC_FREOPEN): Invoke it.
56208
56209         Override fopen more carefully.
56210         * lib/fopen.c (orig_fopen): New function.
56211         (rpl_fopen): Use orig_fopen instead of fopen.
56212         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
56213         (gl_FUNC_FOPEN): Invoke it.
56214         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
56215
56216 2008-09-28  Bruno Haible  <bruno@clisp.org>
56217
56218         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
56219         SIGPIPE.
56220
56221 2008-09-28  Bruno Haible  <bruno@clisp.org>
56222
56223         * tests/test-sigaction.c (handler, main): Disable the check whether
56224         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
56225         glibc systems with LinuxThreads.
56226
56227 2008-09-28  Bruno Haible  <bruno@clisp.org>
56228
56229         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
56230
56231         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
56232         with AIX xlc.
56233         * lib/fcntl.in.h (open): Likewise.
56234         Reported by Rainer Tammer <tammer@tammer.net>.
56235
56236 2008-09-28  Bruno Haible  <bruno@clisp.org>
56237
56238         * modules/posix_spawnp-tests: New file.
56239         * tests/test-posix_spawn.c: New file.
56240         * tests/test-posix_spawn.in.sh: New file.
56241
56242         New module 'posix_spawnp'.
56243         * modules/posix_spawnp: New file.
56244         * lib/spawnp.c: New file, from GNU libc with modifications.
56245         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
56246
56247         New module 'posix_spawn'.
56248         * modules/posix_spawn: New file.
56249         * lib/spawn.c: New file, from GNU libc with modifications.
56250         * doc/posix-functions/posix_spawn.texi: Mention the new module.
56251
56252         New module 'posix_spawnattr_destroy'.
56253         * modules/posix_spawnattr_destroy: New file.
56254         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
56255         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
56256         module.
56257
56258         New module 'posix_spawnattr_setsigmask'.
56259         * modules/posix_spawnattr_setsigmask: New file.
56260         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
56261         modifications.
56262         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
56263         new module.
56264
56265         New module 'posix_spawnattr_getsigmask'.
56266         * modules/posix_spawnattr_getsigmask: New file.
56267         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
56268         modifications.
56269         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
56270         new module.
56271
56272         New module 'posix_spawnattr_setsigdefault'.
56273         * modules/posix_spawnattr_setsigdefault: New file.
56274         * lib/spawnattr_setdefault.c: New file, from GNU libc with
56275         modifications.
56276         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
56277         new module.
56278
56279         New module 'posix_spawnattr_getsigdefault'.
56280         * modules/posix_spawnattr_getsigdefault: New file.
56281         * lib/spawnattr_getdefault.c: New file, from GNU libc with
56282         modifications.
56283         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
56284         new module.
56285
56286         New module 'posix_spawnattr_setschedpolicy'.
56287         * modules/posix_spawnattr_setschedpolicy: New file.
56288         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
56289         modifications.
56290         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
56291         new module.
56292
56293         New module 'posix_spawnattr_getschedpolicy'.
56294         * modules/posix_spawnattr_getschedpolicy: New file.
56295         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
56296         modifications.
56297         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
56298         new module.
56299
56300         New module 'posix_spawnattr_setschedparam'.
56301         * modules/posix_spawnattr_setschedparam: New file.
56302         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
56303         modifications.
56304         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
56305         new module.
56306
56307         New module 'posix_spawnattr_getschedparam'.
56308         * modules/posix_spawnattr_getschedparam: New file.
56309         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
56310         modifications.
56311         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
56312         new module.
56313
56314         New module 'posix_spawnattr_setpgroup'.
56315         * modules/posix_spawnattr_setpgroup: New file.
56316         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
56317         modifications.
56318         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
56319         module.
56320
56321         New module 'posix_spawnattr_getpgroup'.
56322         * modules/posix_spawnattr_getpgroup: New file.
56323         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
56324         modifications.
56325         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
56326         module.
56327
56328         New module 'posix_spawnattr_setflags'.
56329         * modules/posix_spawnattr_setflags: New file.
56330         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
56331         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
56332         module.
56333
56334         New module 'posix_spawnattr_getflags'.
56335         * modules/posix_spawnattr_getflags: New file.
56336         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
56337         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
56338         module.
56339
56340         New module 'posix_spawnattr_init'.
56341         * modules/posix_spawnattr_init: New file.
56342         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
56343         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
56344         module.
56345
56346         New module 'posix_spawn_file_actions_destroy'.
56347         * modules/posix_spawn_file_actions_destroy: New file.
56348         * lib/spawn_faction_destroy.c: New file, from GNU libc with
56349         modifications.
56350         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
56351         the new module.
56352
56353         New module 'posix_spawn_file_actions_addopen'.
56354         * modules/posix_spawn_file_actions_addopen: New file.
56355         * lib/spawn_faction_addopen.c: New file, from GNU libc with
56356         modifications.
56357         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
56358         the new module.
56359
56360         New module 'posix_spawn_file_actions_adddup2'.
56361         * modules/posix_spawn_file_actions_adddup2: New file.
56362         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
56363         modifications.
56364         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
56365         the new module.
56366
56367         New module 'posix_spawn_file_actions_addclose'.
56368         * modules/posix_spawn_file_actions_addclose: New file.
56369         * lib/spawn_faction_addclose.c: New file, from GNU libc with
56370         modifications.
56371         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
56372         the new module.
56373
56374         New module 'posix_spawn_file_actions_init'.
56375         * modules/posix_spawn_file_actions_init: New file.
56376         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
56377         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
56378         new module.
56379
56380         New module 'posix_spawn-internal'.
56381         * modules/posix_spawn-internal: New file.
56382         * lib/spawn_int.h: New file, from GNU libc with modifications.
56383         * lib/spawni.c: New file, from GNU libc with modifications.
56384         * m4/posix_spawn.m4: New file.
56385
56386         New module 'spawn'.
56387         * modules/spawn: New file.
56388         * lib/spawn.in.h: New file, from GNU libc with modifications.
56389         * m4/spawn_h.m4: New file.
56390         * doc/posix-headers/spawn.texi: Mention the new module.
56391
56392 2008-09-28  Bruno Haible  <bruno@clisp.org>
56393
56394         * modules/sched-tests: New file.
56395         * tests/test-sched.c: New file.
56396
56397         New module 'sched'.
56398         * modules/sched: New file.
56399         * lib/sched.in.h: New file.
56400         * m4/sched_h.m4: New file.
56401         * doc/posix-headers/sched.texi: Mention the new module.
56402
56403 2008-09-27  Eric Blake  <ebb9@byu.net>
56404
56405         Fix previous patch, and tweak references to $0.
56406         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
56407         (func_version, func_gnulib_dir): Don't call this program
56408         gnulib-tool.
56409         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
56410         with using $0 in function.
56411         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
56412         (func_fatal_error): Reuse the name the user invoked us with.
56413
56414 2008-09-27  Bruno Haible  <bruno@clisp.org>
56415
56416         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
56417         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
56418         (gl_ICONV_H): Not here.
56419         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
56420         instead of assigning ICONV_H directly.
56421
56422         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
56423         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
56424         WCHAR_H directly.
56425
56426 2008-09-27  Bruno Haible  <bruno@clisp.org>
56427
56428         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
56429         * modules/arpa_inet (Depends-on): Add link-warning.
56430         (Makefile.am): Insert the definition of GL_LINK-WARNING.
56431         * modules/unistd (Makefile.am): Likewise.
56432
56433 2008-09-26  Bruno Haible  <bruno@clisp.org>
56434
56435         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
56436         variables.
56437         (func_version): Essentially copied from gnulib-tool.
56438         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
56439         func_readlink): Copied from gnulib-tool.
56440
56441 2008-09-26  Bruno Haible  <bruno@clisp.org>
56442
56443         * gnulib-tool (func_version): Change directory to $gnulib_dir before
56444         invoking git-version-gen.
56445
56446 2008-09-26  Bruno Haible  <bruno@clisp.org>
56447
56448         * posix-modules: Update to directory names changed on 2008-01-19.
56449         Remove commas in output before splitting into words. No more need to
56450         avoid 'ftruncate' since 2007-02-19.
56451
56452 2008-09-26  Bruno Haible  <bruno@clisp.org>
56453
56454         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
56455
56456 2008-09-26  Bruno Haible  <bruno@clisp.org>
56457
56458         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
56459         * modules/fwriteerror (Depends-on): Add errno.
56460
56461 2008-09-26  Bruno Haible  <bruno@clisp.org>
56462
56463         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
56464         * tests/test-vc-list-files-cvs.sh: Likewise.
56465
56466 2008-09-26  Bruno Haible  <bruno@clisp.org>
56467
56468         * doc/posix-headers/sys_resource.texi: Reorder items.
56469
56470 2008-09-26  Jim Meyering  <meyering@redhat.com>
56471
56472         fts: tweak inode comparison function
56473         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
56474         inode numbers, as documented.
56475
56476         fts: sort dirent entries on inode number before traversing
56477         This avoids a quadratic, seek-related performance penalty when
56478         operating on a directory containing many entries (measurable at 10k;
56479         3.5 hours at 2 million entries with a cold cache) on certain types
56480         of file systems, including ext3 and ext4, but not tmpfs.
56481         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
56482         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
56483         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
56484         (fs_handles_readdir_ordered_dirents_efficiently): New function.
56485         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
56486         (fts_build): Set the stat.st_ino member from D_INO.
56487         If it is likely to be useful, sort dirent entries on inode number.
56488
56489         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
56490         and the struct statfs.f_type member.
56491         * modules/fts (Depends-on): Add d-ino.
56492
56493 2008-09-26  Bruno Haible  <bruno@clisp.org>
56494
56495         * modules/sigpipe-die (Depends-on): Add sigpipe.
56496
56497         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
56498         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
56499         and GNULIB_STDIO_H_SIGPIPE are set.
56500         * lib/stdio-write.c: New file.
56501         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
56502         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56503         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56504         REPLACE_STDIO_WRITE_FUNCS.
56505         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
56506         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56507         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56508         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56509         * modules/stdio (Files): Add lib/stdio-write.c.
56510         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
56511         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56512         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56513         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56514         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
56515         REPLACE_FPRINTF_POSIX.
56516         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
56517         REPLACE_PRINTF_POSIX.
56518         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
56519         REPLACE_VFPRINTF_POSIX.
56520         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
56521         REPLACE_VPRINTF_POSIX.
56522         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
56523         SIGPIPE issue.
56524         * doc/posix-functions/fputc.texi: Likewise.
56525         * doc/posix-functions/fputs.texi: Likewise.
56526         * doc/posix-functions/fwrite.texi: Likewise.
56527         * doc/posix-functions/printf.texi: Likewise.
56528         * doc/posix-functions/putc.texi: Likewise.
56529         * doc/posix-functions/putchar.texi: Likewise.
56530         * doc/posix-functions/puts.texi: Likewise.
56531         * doc/posix-functions/vfprintf.texi: Likewise.
56532         * doc/posix-functions/vprintf.texi: Likewise.
56533
56534         * modules/safe-write (Depends-on): Add write.
56535
56536         * modules/sigpipe-tests: New file.
56537         * tests/test-sigpipe.c: New file.
56538         * tests/test-sigpipe.sh: New file.
56539
56540         * modules/write: New file.
56541         * lib/unistd.in.h: Include <sys/types.h>.
56542         (write): New declaration.
56543         * lib/write.c: New file.
56544         * m4/write.m4: New file.
56545         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56546         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
56547         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
56548         GNULIB_WRITE, REPLACE_WRITE.
56549         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
56550         and the SIGPIPE issue.
56551
56552         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
56553         (raise): New declaration.
56554         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
56555         (ext_signal): New function.
56556         (rpl_raise): New function.
56557         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
56558         GNULIB_SIGNAL_H_SIGPIPE.
56559         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
56560         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
56561
56562         * modules/sigpipe: New file.
56563         * m4/sigpipe.m4: New file.
56564
56565 2008-09-25  Derek Price  <derek@ximbiot.com>
56566             Bruno Haible  <bruno@clisp.org>
56567
56568         * gnulib-tool (func_import): Report all license incompatibilities, not
56569         just the first one.
56570
56571 2008-09-25  Bruno Haible  <bruno@clisp.org>
56572
56573         * gnulib-tool (func_import): When computing the edits, consider not
56574         only the Makefile.ams that exist but also those that will be generated.
56575
56576 2008-09-25  Simon Josefsson  <simon@josefsson.org>
56577
56578         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
56579         fixes gnulib-tool --test warning about duplicate dependency.
56580
56581 2008-09-25  Bruno Haible  <bruno@clisp.org>
56582
56583         * gnulib-tool: Don't ask the user to perform edits in the generated
56584         Makefile.ams.
56585         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
56586         apply to the Makefile.am being generated.
56587         (func_emit_tests_Makefile_am): Execute edits that apply to the
56588         Makefile.am being generated.
56589         (func_import): Setup list of Makefile.am edits before emitting the
56590         Makefile.ams, not at the end.
56591         (func_create_testdir): Update.
56592         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56593
56594 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56595
56596         * gnulib-tool (func_import): Store the --tests-base option in the
56597         comment in gnulib-cache.m4.
56598
56599 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
56600
56601         * NEWS: Document increased portability that sys_select now provides.
56602
56603         * lib/sys_select.in.h: Install select wrapper.
56604         * lib/sys_socket.in.h: Use more descriptive name when there is no
56605         select wrapper.
56606         * lib/winsock-select.c: New.
56607         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
56608         Require gl_HEADER_SYS_SOCKET.
56609         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
56610         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
56611         * tests/test-sys_select.c: Add functional tests.
56612
56613 2008-09-24  Eric Blake  <ebb9@byu.net>
56614
56615         open, fopen: close fd leak in last patch
56616         * lib/open.c (rpl_open): Close fd before returning error.
56617         * lib/fopen.c (rpl_fopen): Close fd before returning error.
56618         * doc/posix-functions/open.texi (open): Document that Irix also
56619         has the bug.
56620         * doc/posix-functions/fopen.texi (fopen): Likewise.
56621         Reported by Paolo Bonzini.
56622
56623 2008-09-24  Bruno Haible  <bruno@clisp.org>
56624
56625         Ensure that a filename ending in a slash cannot be used to access a
56626         non-directory.
56627         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
56628         to check whether it's really a directory.
56629         * lib/fopen.c: Include fcntl.h, unistd.h.
56630         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
56631         and fdopen().
56632         * modules/fopen (Depends-on): Add unistd.
56633         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
56634         * tests/test-fopen.c (main): Likewise.
56635         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
56636         * doc/posix-functions/fopen.texi: Likewise.
56637         Reported by Eric Blake.
56638
56639 2008-09-23  Eric Blake  <ebb9@byu.net>
56640
56641         c-stack: avoid compiler optimizations when provoking overflow
56642         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
56643         recursion harder to optimize, to ensure a stack overflow occurs.
56644         * tests/test-c-stack.c (recurse): Likewise.
56645         Borrowed from libsigsegv.
56646
56647         c-stack: work around Irix sigaltstack bug
56648         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
56649         whether sigaltstack uses wrong end of stack_t (copied in part from
56650         libsigsegv).
56651         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
56652         Irix bug, without requiring an over-allocation.
56653         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
56654         bug.
56655
56656         fopen: document mingw bug on directories
56657         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
56658         not allowing a stream visiting a directory, even though reading
56659         from such a stream is not portable.
56660
56661 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56662
56663         * lib/poll.c: Rewrite.
56664         * modules/poll: Depend on alloca.
56665
56666 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56667
56668         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
56669         instead define prototypes for a full set of wrappers.  Ensure
56670         that Cygwin does not use the compatibility code, which is only
56671         for MinGW.
56672         * lib/winsock.c: New.
56673         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
56674         * modules/sys_socket: Add lib/winsock.c.
56675
56676         * modules/poll-tests: Add errno and perror.
56677         * tests/test-poll.c: Use ioctl, not ioctlsocket.
56678
56679 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56680
56681         * tests/test-poll.c: Downgrade minimum needed Winsock version.
56682
56683 2008-09-23  Bruno Haible  <bruno@clisp.org>
56684
56685         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
56686         * doc/glibc-functions/*: Likewise.
56687
56688 2008-09-23  Simon Josefsson  <simon@josefsson.org>
56689
56690         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
56691         success.
56692
56693 2008-09-22  Eric Blake  <ebb9@byu.net>
56694             Bruno Haible  <bruno@clisp.org>
56695
56696         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
56697         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
56698         supply %A but mishandle pseudo-NaN.
56699         Reported by Simon Josefsson.
56700
56701 2008-09-21  Bruno Haible  <bruno@clisp.org>
56702
56703         * tests/test-lock.c (main): Tweak skip message.
56704         * tests/test-tls.c (main): Likewise.
56705
56706 2008-09-21  Bruno Haible  <bruno@clisp.org>
56707
56708         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
56709         whether 'struct sigaction' has sa_sigaction here...
56710         (gl_PREREQ_SIG_HANDLER_H): ... not here.
56711         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
56712
56713 2008-09-21  Bruno Haible  <bruno@clisp.org>
56714
56715         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
56716         section.
56717         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
56718         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
56719         the new section.
56720         (Support for obsolete systems lacking POSIX:2001): New section.
56721         (String handling <string.h>): Move strdup to the new section.
56722         Suggested by Simon Josefsson and Paolo Bonzini.
56723
56724 2008-09-21  Bruno Haible  <bruno@clisp.org>
56725
56726         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
56727         exponents in %e and %g results on 'long double'. Needed for mingw's
56728         improved *printf functions.
56729         * tests/test-vasprintf-posix.c (test_function): Likewise.
56730         * tests/test-snprintf-posix.h (test_function): Likewise.
56731         * tests/test-sprintf-posix.h (test_function): Likewise.
56732         Reported by Eric Blake.
56733
56734 2008-09-21  Bruno Haible  <bruno@clisp.org>
56735
56736         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
56737         * tests/test-sprintf-posix.h (test_function): Likewise.
56738
56739 2008-09-21  Bruno Haible  <bruno@clisp.org>
56740
56741         * modules/getpass (Depends-on): Add strdup-posix.
56742
56743         New module 'strdup-posix'.
56744         * modules/strdup-posix: New file.
56745         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
56746         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
56747         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56748         REPLACE_STRDUP.
56749         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
56750         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
56751         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56752         strdup-posix.
56753
56754         * modules/strdup (Depends-on): Remove malloc-posix.
56755
56756 2008-09-20  Bruno Haible  <bruno@clisp.org>
56757
56758         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
56759         Wildenhues.
56760
56761 2008-09-20  Bruno Haible  <bruno@clisp.org>
56762
56763         Ensure that wint_t gets defined on IRIX 5.3.
56764         * lib/wchar.in.h (wint_t): Define if not defined by the system.
56765         * lib/wctype.in.h (wint_t): Likewise.
56766         (__wctype_wint_t): Remove type.
56767         (isw*): Use wint_t instead of __wctype_wint_t.
56768         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
56769         * modules/wchar (Files): Add m4/wint_t.m4.
56770         (Makefile.am): Substitute HAVE_WINT_T.
56771         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
56772         * tests/test-wctype.c: Check that wint_t is defined.
56773         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
56774         * doc/posix-headers/wctype.texi: Likewise.
56775         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
56776
56777 2008-09-18  Bruno Haible  <bruno@clisp.org>
56778
56779         * gnulib-tool (func_exit): Update comment.
56780
56781 2008-09-18  Simon Josefsson  <simon@josefsson.org>
56782
56783         * modules/getaddrinfo (Depends-on): Remove strdup, this module
56784         assumes strdup exists and does not depend on strdup to return
56785         ENOMEM on out of memory conditions.
56786
56787 2008-09-18  Bruno Haible  <bruno@clisp.org>
56788
56789         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
56790         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
56791         digits for the exponent.
56792
56793 2008-09-18  Jim Meyering  <meyering@redhat.com>
56794             Bruno Haible  <bruno@clisp.org>
56795
56796         * lib/vasnprintf.c (decimal_point_char): Define also if
56797         NEED_PRINTF_INFINITE_LONG_DOUBLE.
56798
56799 2008-09-16  Bruno Haible  <bruno@clisp.org>
56800         and Eric Blake  <ebb9@byu.net>
56801
56802         vasnprintf: support Irix 5.3
56803         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
56804         that mishandle long double infinity.
56805         Reported by Tom G. Christensen.
56806
56807 2008-09-16  Bruno Haible  <bruno@clisp.org>
56808
56809         * doc/glibc-functions/scandir.texi: Mention the function is missing on
56810         Solaris 9.
56811         * doc/glibc-functions/alphasort.texi: Likewise.
56812         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
56813
56814 2008-09-16  Jim Meyering  <meyering@redhat.com>
56815
56816         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
56817         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
56818         a umask modification leak out of a subshell.  Otherwise, the
56819         opensolaris /bin/sh would be accepted and thus cause unwarranted
56820         failures in the coreutils test suite.
56821
56822 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
56823
56824         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
56825         to succeed.
56826
56827 2008-09-16  Jim Meyering  <meyering@redhat.com>
56828
56829         avoid spurious test failure when library is built without ACL support
56830         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
56831         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
56832         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
56833         * tests/test-copy-acl.sh: Likewise.
56834
56835 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56836
56837         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
56838         based on character occurrence counts.
56839
56840 2008-09-15  Eric Blake  <ebb9@byu.net>
56841
56842         tests: avoid some compiler warnings
56843         * tests/test-memchr.c (main): Pass NULL indirectly.
56844         * tests/test-closein.c (main): Avoid unused variable.
56845
56846 2008-09-15  Bruno Haible  <bruno@clisp.org>
56847
56848         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
56849         are missing on OpenBSD 4.0 individually.
56850         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56851
56852 2008-09-15  Bruno Haible  <bruno@clisp.org>
56853
56854         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
56855         * doc/posix-functions/strerror.texi: Mention also Cygwin.
56856         * doc/posix-functions/perror.texi: Likewise.
56857         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
56858         is missing.
56859         Reported by Eric Blake.
56860
56861         * lib/errno.in.h: Use replacement values >= 2000.
56862         Reported by Eric Blake.
56863
56864 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56865
56866         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
56867         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
56868         limit.
56869         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
56870         compareseq was aborted.
56871
56872 2008-09-14  Bruno Haible  <bruno@clisp.org>
56873
56874         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
56875         yvec_edit_count.
56876         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
56877         (fstrcmp_bounded): Simplify result computation accordingly.
56878
56879 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56880
56881         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
56882         (fstrcmp): Define in terms of fstrcmp_bounded.
56883         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
56884         lower_bound argument.
56885         Return quickly if the result is certainly < lower_bound.
56886         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
56887
56888 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56889
56890         * lib/diffseq.h (EARLY_ABORT): New macro.
56891         (compareseq): Change return type to bool. Return true when EARLY_ABORT
56892         evaluates to true.
56893
56894 2008-09-14  Bruno Haible  <bruno@clisp.org>
56895
56896         * modules/perror-tests: New file.
56897         * tests/test-perror.sh: New file.
56898         * tests/test-perror.c: New file.
56899
56900         New module 'perror'.
56901         * lib/stdio.in.h (perror): New declaration.
56902         * lib/perror.c: New file.
56903         * m4/perror.m4: New file.
56904         * modules/perror: New file.
56905         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
56906         * doc/posix-functions/perror.texi: Mention the perror module.
56907         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
56908         REPLACE_PERROR.
56909         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
56910         REPLACE_PERROR.
56911
56912 2008-09-14  Bruno Haible  <bruno@clisp.org>
56913
56914         * modules/stdio (Makefile.am): Reorder to match the order in
56915         lib/stdio.in.h.
56916         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
56917
56918 2008-09-13  Bruno Haible  <bruno@clisp.org>
56919
56920         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
56921
56922 2008-09-13  Bruno Haible  <bruno@clisp.org>
56923
56924         Extend strerror to cover the added errno values.
56925         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
56926         (rpl_strerror): Provide error messages for the added errno values and
56927         for the WSA* values.
56928         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
56929         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
56930         strerror.
56931         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
56932         * modules/strerror (Depends-on): Add errno.
56933         * doc/posix-functions/strerror.texi: Document the change.
56934         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
56935         and EOVERFLOW.
56936
56937 2008-09-13  Bruno Haible  <bruno@clisp.org>
56938
56939         * modules/EOVERFLOW: Remove file.
56940         * m4/eoverflow.m4: Remove file.
56941         * modules/EOVERFLOW-tests: Remove file.
56942         * tests/test-EOVERFLOW.c: Remove file.
56943         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
56944         * modules/ftell (Depends-on): Likewise.
56945         * modules/getdelim (Depends-on): Likewise.
56946         * modules/getugroups (Depends-on): Likewise.
56947         * modules/poll (Depends-on): Likewise.
56948         * modules/snprintf (Depends-on): Likewise.
56949         * modules/sprintf-posix (Depends-on): Likewise.
56950         * modules/vasnprintf (Depends-on): Likewise.
56951         * modules/vasprintf (Depends-on): Likewise.
56952         * modules/vfprintf-posix (Depends-on): Likewise.
56953         * modules/vsnprintf (Depends-on): Likewise.
56954         * modules/vsprintf-posix (Depends-on): Likewise.
56955         * modules/xvasprintf (Depends-on): Likewise.
56956         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
56957         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
56958         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
56959         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
56960         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56961         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
56962         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
56963         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
56964         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56965         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
56966         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
56967         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
56968         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56969         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
56970         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
56971         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
56972         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56973         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
56974         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
56975         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
56976         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
56977         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
56978         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
56979         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
56980         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
56981         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
56982         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
56983         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
56984         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
56985         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
56986         * MODULES.html.sh: Remove EOVERFLOW.
56987         * NEWS: Mention the change.
56988
56989 2008-09-13  Bruno Haible  <bruno@clisp.org>
56990
56991         * modules/errno-tests: New file.
56992         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
56993
56994         * lib/errno.in.h: New file.
56995         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
56996         * modules/errno: New file.
56997         * doc/posix-headers/errno.texi: Update documentation.
56998         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
56999
57000 2008-09-13  Bruno Haible  <bruno@clisp.org>
57001
57002         * tests/test-poll.c: Use #if for native Windows, rather than testing
57003         __MSVCRT__.
57004
57005 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57006             Bruno Haible  <bruno@clisp.org>
57007
57008         * lib/glob.c: Don't include <pwd.h> on native Windows.
57009         (WINDOWS32): New macro.
57010         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
57011
57012 2008-09-13  Bruno Haible  <bruno@clisp.org>
57013
57014         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
57015         (ETIMEDOUT): Remove macro.
57016         (glthread_cond_timedwait_multithreaded): New declaration.
57017         (glthread_cond_timedwait): Use it.
57018         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
57019         (glthread_cond_timedwait_multithreaded): New function.
57020
57021 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57022
57023         * modules/poll-tests: Do not check for io.h.
57024         * tests/test-poll.c: Check for __MSVCRT__ instead.
57025
57026 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57027
57028         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
57029         * modules/poll-tests: Add inet_pton, stdbool, sockets.
57030         * tests/test-poll.c: Use them.  Use _pipe on Windows.
57031
57032 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57033
57034         * modules/poll-tests: New.
57035         * tests/test-poll.c: New.
57036
57037 2008-09-12  Eric Blake  <ebb9@byu.net>
57038
57039         frexp: test for NetBSD failure on -0.0
57040         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
57041         not all, bugs from NetBSD 3.0 have been fixed.
57042         * doc/posix-functions/frexp.texi (frexp): Document bug.
57043         Reported by Thomas Klausner.
57044
57045         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
57046         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
57047         literal -0.0.
57048         Reported by Jonathan C. Patschke <jp@centtech.com>.
57049
57050 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57051
57052         * lib/glthread/cond.h: Use dummy implementation also if
57053         USE_WIN32_THREADS.
57054
57055 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57056
57057         * modules/fnmatch-posix (License): Change to LGPLv2+.
57058         * modules/fnmatch-gnu (License): Likewise.
57059
57060 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57061
57062         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
57063
57064 2008-09-11  Jim Meyering  <meyering@redhat.com>
57065
57066         * users.txt: Add gtk-vnc.
57067
57068 2008-09-08  Simon Josefsson  <simon@josefsson.org>
57069
57070         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
57071         rotate amounts.
57072
57073         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
57074         required for 16-bit and 8-bit rotates.
57075         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
57076         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
57077         UINT8_MAX instead of hard-coded constants.
57078         Suggested by Paul Eggert.
57079
57080 2008-09-07  Bruno Haible  <bruno@clisp.org>
57081
57082         * tests/test-striconveh.c (main): Check behaviour when converting from
57083         UTF-7.
57084
57085         Make striconveh work better with stateful encodings.
57086         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
57087         that iconv does not increment the inptr when returning -1/EINVAL.
57088
57089 2008-09-07  Bruno Haible  <bruno@clisp.org>
57090
57091         * build-aux/config.rpath: Update according to libtool-2.2.6.
57092         * build-aux/config.libpath: Likewise.
57093
57094 2008-09-06  Bruno Haible  <bruno@clisp.org>
57095
57096         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
57097         * lib/freadptr.c (freadptr): Likewise.
57098         * lib/freadseek.c (freadptrinc): Likewise.
57099         Reported by Simon Josefsson.
57100
57101 2008-09-06  Bruno Haible  <bruno@clisp.org>
57102
57103         * modules/freadptr (License): Change to LGPLv2+.
57104         * modules/freadseek (License): Likewise.
57105         Suggested by Eric Blake.
57106
57107         * modules/memchr2 (License): Change to LGPLv2+.
57108         Approved by Eric Blake.
57109
57110 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57111             Bruno Haible  <bruno@clisp.org>
57112
57113         Make gnulib-tool work with native 'sed' on AIX.
57114         * gnulib-tool (sed_noop): New variable.
57115         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
57116         func_add_or_update, func_create_testdir): Use it to initialize sed
57117         script variables.
57118         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
57119
57120 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
57121             Bruno Haible  <bruno@clisp.org>
57122
57123         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
57124         also works after #include directives.
57125
57126 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
57127
57128         getdate.y: reject an out-of-range timezone value
57129         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
57130         the range [-24...+24].  When specified with only one or two digits,
57131         * tests/test-getdate.c: Tests for the fix.
57132         * doc/getdate.texi: Document this change.
57133
57134 2008-09-03  Bruno Haible  <bruno@clisp.org>
57135
57136         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
57137
57138 2008-09-02  Simon Josefsson  <simon@josefsson.org>
57139
57140         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
57141         <bruce.korb@gmail.com> with ideas from Ben Pfaff
57142         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
57143         Blake <ebb9@byu.net>.
57144
57145         * tests/test-bitrotate.c: Add more test vectors.
57146
57147 2008-09-02  Eric Blake  <ebb9@byu.net>
57148
57149         vasnprintf-posix: handle large precision via %.*d
57150         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
57151         when handling it ourselves.
57152         * tests/test-vasnprintf-posix.c (test_function): Add test.
57153         * tests/test-snprintf-posix.h (test_function): Likewise.
57154         * tests/test-sprintf-posix.h (test_function): Likewise.
57155         * tests/test-vasprintf-posix.c (test_function): Likewise.
57156         Reported by Alain Guibert.
57157
57158 2008-09-01  Eric Blake  <ebb9@byu.net>
57159
57160         c-stack: make configure-time check more robust
57161         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
57162         successful sigaction call.
57163         Reported by Tom G. Christensen.
57164
57165 2008-09-01  Bruno Haible  <bruno@clisp.org>
57166
57167         New module 'findprog-lgpl'.
57168         * modules/findprog-lgpl: New file.
57169         * lib/findprog-lgpl.c: New file.
57170         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
57171         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
57172         to decide whether to use strdup or xstrdup, concatenated_filename or
57173         xconcatenated_filename.
57174
57175 2008-09-01  Bruno Haible  <bruno@clisp.org>
57176
57177         Split module 'concat-filename' into 'concat-filename' (LGPL) and
57178         'xconcat-filename' (GPL).
57179         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
57180         (License): Change to LGPLv2+.
57181         * modules/xconcat-filename: New file.
57182         * lib/concat-filename.h (concatenated_filename): Change specification.
57183         (xconcatenated_filename): New declaration.
57184         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
57185         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
57186         memory situations.
57187         * lib/xconcat-filename.c: New file.
57188         * NEWS: Mention the change.
57189         * lib/findprog.c: Include concat-filename.h, not filename.h.
57190         (find_in_path): Use xconcatenated_filename instead of
57191         concatenated_filename.
57192         * lib/javacomp.c: Include concat-filename.h, not filename.h.
57193         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
57194         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
57195         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
57196         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
57197         instead of concatenated_filename.
57198         * lib/javaexec.c: Include concat-filename.h, not filename.h.
57199         (execute_java_class): Use xconcatenated_filename instead of
57200         concatenated_filename.
57201         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
57202         * modules/javacomp (Depends-on): Likewise.
57203         * modules/javaexec (Depends-on): Likewise.
57204
57205 2008-09-01  Bruno Haible  <bruno@clisp.org>
57206
57207         Split module 'filename' into 'filename' and 'concat-filename'.
57208         * modules/filename: Keep only lib/filename.h.
57209         (License): Change to LGPLv2+.
57210         * modules/concat-filename: New file, extracted from modules/filename.
57211         * lib/filename.h (concatenated_filename): Remove declaration.
57212         * lib/concat-filename.h: New file, extracted from lib/filename.h.
57213         * lib/concat-filename.c: Include concat-filename.h.
57214         * NEWS: Mention the change.
57215
57216 2008-09-01  Simon Josefsson  <simon@josefsson.org>
57217
57218         * lib/bitrotate.h (rotl8, rotr8): Add.
57219
57220         * modules/bitrotate (configure.ac): Need
57221         AC_REQUIRE([AC_C_INLINE]).
57222         (Description): Mention stdint.h.  Reported by Bruno Haible
57223         <bruno@clisp.org>.
57224
57225         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
57226         Paolo Bonzini <bonzini@gnu.org>.
57227
57228 2008-08-31  Bruno Haible  <bruno@clisp.org>
57229
57230         Assume Solaris specific bi-arch conventions on Solaris systems.
57231         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
57232         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
57233         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
57234         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
57235         like acl_libdirstem.
57236         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
57237         acl_libdirstem.
57238         * NEWS: Mention the change.
57239         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
57240
57241 2008-08-31  Jim Meyering  <meyering@redhat.com>
57242
57243         * lib/strftime.h: Add comments describing the two added arguments.
57244
57245         remove duplicate #include directives
57246         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
57247         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
57248
57249 2008-08-31  Bruno Haible  <bruno@clisp.org>
57250
57251         New module 'sigpipe-die'.
57252         * modules/sigpipe-die: New file.
57253         * lib/sigpipe-die.h: New file.
57254         * lib/sigpipe-die.c: New file.
57255         * MODULES.html.sh (Signal handling): Add sigpipe-die.
57256
57257 2008-08-31  Bruno Haible  <bruno@clisp.org>
57258
57259         Don't override previously installed signal handlers.
57260         * lib/fatal-signal.c (saved_sigactions): New variable.
57261         (uninstall_handlers): Reset the signal to the saved handler, not
57262         to SIG_DFL (except when ignored).
57263         (install_handlers): Save the previous handlers.
57264
57265 2008-08-30  Bruno Haible  <bruno@clisp.org>
57266
57267         * gnulib-tool (func_reset_sigpipe): New function.
57268         (func_get_automake_snippet, func_modules_transitive_closure,
57269         func_import): Invoke it before a join command that reads from stdin,
57270         to avoid "echo: write error: Broken pipe" error messages on stderr.
57271         Reported by Sam Steingold <sds@gnu.org>.
57272
57273 2008-08-30  Bruno Haible  <bruno@clisp.org>
57274
57275         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
57276         Code copied from m4/open.m4.
57277         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
57278         access and the filename ends in a slash. Code copied from lib/open.c.
57279         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
57280         * tests/test-fopen.c (main): Check against bug with trailing slash.
57281
57282 2008-08-29  Bruno Haible  <bruno@clisp.org>
57283
57284         Avoid some "gcc -pedantic" warnings.
57285         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
57286         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
57287         * lib/dirent.in.h: Likewise.
57288         * lib/fcntl.in.h: Likewise.
57289         * lib/float.in.h: Likewise.
57290         * lib/iconv.in.h: Likewise.
57291         * lib/inttypes.in.h: Likewise.
57292         * lib/locale.in.h: Likewise.
57293         * lib/math.in.h: Likewise.
57294         * lib/netinet_in.in.h: Likewise.
57295         * lib/search.in.h: Likewise.
57296         * lib/signal.in.h: Likewise.
57297         * lib/stdarg.in.h: Likewise.
57298         * lib/stdint.in.h: Likewise.
57299         * lib/stdio.in.h: Likewise.
57300         * lib/stdlib.in.h: Likewise.
57301         * lib/string.in.h: Likewise.
57302         * lib/strings.in.h: Likewise.
57303         * lib/sys_select.in.h: Likewise.
57304         * lib/sys_socket.in.h: Likewise.
57305         * lib/sys_stat.in.h: Likewise.
57306         * lib/sys_time.in.h: Likewise.
57307         * lib/sysexits.in.h: Likewise.
57308         * lib/time.in.h: Likewise.
57309         * lib/unistd.in.h: Likewise.
57310         * lib/wchar.in.h: Likewise.
57311         * lib/wctype.in.h: Likewise.
57312         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
57313         * modules/fchdir (Makefile.am): Likewise.
57314         * modules/fcntl (Makefile.am): Likewise.
57315         * modules/float (Makefile.am): Likewise.
57316         * modules/iconv_open (Makefile.am): Likewise.
57317         * modules/inttypes (Makefile.am): Likewise.
57318         * modules/locale (Makefile.am): Likewise.
57319         * modules/math (Makefile.am): Likewise.
57320         * modules/netinet_in (Makefile.am): Likewise.
57321         * modules/search (Makefile.am): Likewise.
57322         * modules/signal (Makefile.am): Likewise.
57323         * modules/stdarg (Makefile.am): Likewise.
57324         * modules/stdint (Makefile.am): Likewise.
57325         * modules/stdio (Makefile.am): Likewise.
57326         * modules/stdlib (Makefile.am): Likewise.
57327         * modules/string (Makefile.am): Likewise.
57328         * modules/strings (Makefile.am): Likewise.
57329         * modules/sys_select (Makefile.am): Likewise.
57330         * modules/sys_socket (Makefile.am): Likewise.
57331         * modules/sys_stat (Makefile.am): Likewise.
57332         * modules/sys_time (Makefile.am): Likewise.
57333         * modules/sysexits (Makefile.am): Likewise.
57334         * modules/time (Makefile.am): Likewise.
57335         * modules/unistd (Makefile.am): Likewise.
57336         * modules/wchar (Makefile.am): Likewise.
57337         * modules/wctype (Makefile.am): Likewise.
57338         Reported by Reuben Thomas <rrt@sc3d.org>.
57339
57340 2008-08-29  Bruno Haible  <bruno@clisp.org>
57341
57342         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
57343         any more.
57344
57345 2008-08-29  Simon Josefsson  <simon@josefsson.org>
57346
57347         * MODULES.html.sh (Misc): Add bitrotate.
57348
57349         * modules/bitrotate: New file.
57350
57351         * lib/bitrotate.h: New file.
57352
57353         * modules/bitrotate-tests: New file.
57354
57355         * tests/test-bitrotate.c: New file.
57356
57357         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
57358         on the bitrotate module.
57359
57360         * lib/arctwo.c: Use new bitrotate module.
57361
57362 2008-08-29  Jim Meyering  <meyering@redhat.com>
57363
57364         bootstrap: merge changes from coreutils
57365         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
57366         of copied files.  Remove a kludge, now that this is fixed.
57367         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
57368         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
57369         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
57370
57371 2008-08-29  Bruno Haible  <bruno@clisp.org>
57372
57373         * MODULES.html.sh: Remove --cvs-urls option.
57374
57375 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
57376
57377         maint.mk: adjust to file name change
57378         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
57379
57380 2008-08-28  Jim Meyering  <meyering@redhat.com>
57381
57382         * modules/getndelim2 (License): Relicense to LGPLv2+.
57383         Approved by Richard Stallman for the version of 1995, and by
57384         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
57385
57386 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
57387
57388         * lib/getdelim.c (flockfile, funlockfile): Make all of them
57389         dummy if one is not available.  Do not touch them if
57390         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
57391         (getc_maybe_unlocked): New.
57392         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
57393
57394 2008-08-26  Eric Blake  <ebb9@byu.net>
57395
57396         doc/INSTALL: resync from autoconf
57397         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
57398         (INSTALL_PRELUDE): Delete; this is done more efficiently by
57399         moving...
57400         * install.texi [!autoconf]: ...here.  Resync from autoconf.
57401         * INSTALL: Regenerate.
57402         * INSTALL.ISO: New file.
57403         * INSTALL.UTF-8: Likewise.
57404
57405 2008-08-26  Jim Meyering  <meyering@redhat.com>
57406
57407         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
57408         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
57409         these definitions conditional, so that they may be overridden, too.
57410
57411 2008-08-26  Bruno Haible  <bruno@clisp.org>
57412
57413         Generate INSTALL file variants with prettier quotes.
57414         * doc/Makefile (INSTALL_PRELUDE): New macro.
57415         (INSTALL): Use it.
57416         (INSTALL.ISO, INSTALL.UTF-8): New rules.
57417
57418 2008-08-26  Bruno Haible  <bruno@clisp.org>
57419
57420         Run makeinfo in an English locale.
57421         * doc/Makefile (MAKEINFO): New variable.
57422
57423 2008-08-26  Bruno Haible  <bruno@clisp.org>
57424
57425         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
57426         Suggested by Eric Blake.
57427
57428 2008-08-25  Bruno Haible  <bruno@clisp.org>
57429
57430         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
57431
57432 2008-08-25  Eric Blake  <ebb9@byu.net>
57433
57434         c-stack: test that stack overflow can be caught
57435         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
57436         that platform allows handling stack overflow; at least OS/2 EMX
57437         has sigaltstack, but crashes before transferring control to
57438         handler on stack overflow.
57439         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
57440         check for HAVE_STACK_OVERFLOW_HANDLING.
57441         Reported by Elbert Pol.
57442
57443 2008-08-25  Bruno Haible  <bruno@clisp.org>
57444
57445         * doc/posix-functions/strftime.texi: Fix description of strftime
57446         module.
57447
57448 2008-08-24  Bruno Haible  <bruno@clisp.org>
57449
57450         * tests/uniwidth/test-uc_width2.c: New file.
57451         * tests/uniwidth/test-uc_width2.sh: New file.
57452         * modules/uniwidth/width-tests (Files): Add the new files.
57453         (TESTS): Add uniwidth/test-uc_width2.sh.
57454         (TESTS_ENVIRONMENT): New variable.
57455         (check_PROGRAMS): Add test-uc_width2.
57456         (test_uc_width2_SOURCES): New variable.
57457
57458         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
57459         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
57460         not 0x00AB.
57461         Reported by Alexander V. Lukyanov <lav@netis.ru>.
57462
57463 2008-08-22  Eric Blake  <ebb9@byu.net>
57464
57465         test-lock, test-tls: mention why a test is skipped
57466         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
57467         skipped.
57468         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
57469
57470         count-one-bits: relax license
57471         * modules/count-one-bits (License): Relicense to LGPLv2+.
57472         Suggested by Ludovic Courtès, approved by Ben Pfaff.
57473
57474 2008-08-22  Andreas Schwab  <schwab@suse.de>
57475
57476         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
57477         Remove spurious space in assignment.
57478
57479 2008-08-21  Simon Josefsson  <simon@josefsson.org>
57480
57481         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
57482         Paul Eggert <eggert@CS.UCLA.EDU>.
57483
57484 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
57485
57486         * modules/gettext: Add m4/threadlib.m4.
57487
57488 2008-08-19  Eric Blake  <ebb9@byu.net>
57489
57490         test-c-stack: fix compilation failure on FreeBSD 5.0
57491         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
57492         headers before <sys/resource.h>.
57493         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
57494         the bug.
57495         Reported by Nelson H. F. Beebe.
57496
57497         strverscmp: migrate from "strverscmp.h" to <string.h>
57498         * modules/string (Makefile.am): Add new hooks.
57499         * modules/strverscmp (Files): Remove strverscmp.h.
57500         (Depends-on): Add string.
57501         (configure.ac): Add indicator.
57502         (Include): Mention new header.
57503         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
57504         defaults.
57505         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
57506         results.
57507         * lib/strverscmp.h: Delete.
57508         * lib/string.in.h (strverscmp): Provide declaration, when needed.
57509         * tests/test-strverscmp.c (includes): Adjust client.
57510         * lib/check-version.c (includes): Likewise.
57511         * NEWS: Document the change.
57512
57513         strverscmp: add unit test
57514         * modules/strverscmp-tests: New file.
57515         * tests/test-strverscmp.c: Likewise.
57516
57517 2008-08-19  Simon Josefsson  <simon@josefsson.org>
57518
57519         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
57520         regarding Windows crypto stuff, from Mono.
57521
57522 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
57523
57524         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
57525         if present, for intel RND.  Return error on failures.
57526
57527 2008-08-18  Ben Pfaff  <blp@gnu.org>
57528
57529         gitlog-to-changelog: give better diagnostic for failed pipe-open
57530         * build-aux/gitlog-to-changelog: Improve error message: suggest
57531         that the version of Git may be too old.
57532
57533 2008-08-18  Simon Josefsson  <simon@josefsson.org>
57534
57535         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
57536         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
57537
57538 2008-08-18  Bruno Haible  <bruno@clisp.org>
57539
57540         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
57541         pthread_in_use().
57542
57543 2008-08-18  Bruno Haible  <bruno@clisp.org>
57544
57545         * lib/glthread/threadlib.c: Include <pthread.h>.
57546
57547 2008-08-18  Bruno Haible  <bruno@clisp.org>
57548
57549         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
57550         glthread_recursive_lock_* macros.
57551         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
57552         Fix syntax error.
57553
57554 2008-08-18  Bruno Haible  <bruno@clisp.org>
57555
57556         * lib/glthread/thread.c: Avoid forcing a context switch right after
57557         thread creation.
57558
57559 2008-08-17  Bruno Haible  <bruno@clisp.org>
57560
57561         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
57562         * lib/glthread/thread.h: Provide Win32 specific implementation.
57563         * modules/thread (Files): Add lib/glthread/thread.c.
57564         (Depends-on): Add lock.
57565         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
57566
57567 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57568
57569         New module 'yield'.
57570         * modules/yield: New file.
57571         * lib/glthread/yield.h: New file.
57572         * m4/yield.m4: New file.
57573         * MODULES.html.sh (Multithreading): Add yield.
57574
57575 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57576
57577         New module 'thread'.
57578         * modules/thread: New file.
57579         * lib/glthread/thread.h: New file.
57580         * m4/thread.m4: New file.
57581         * MODULES.html.sh (Multithreading): Add thread.
57582
57583 2008-08-17  Bruno Haible  <bruno@clisp.org>
57584
57585         * lib/glthread/lock.h: Include <stdlib.h> always.
57586         * lib/glthread/tls.h: Likewise.
57587         * lib/glthread/cond.h: Likewise.
57588
57589 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57590
57591         New module 'cond'.
57592         * modules/cond: New file.
57593         * lib/glthread/cond.h: New file.
57594         * lib/glthread/cond.c: New file.
57595         * m4/cond.m4: New file.
57596         * MODULES.html.sh (Multithreading): Add cond.
57597
57598 2008-08-16  Eric Blake  <ebb9@byu.net>
57599
57600         c-stack: fix regression on Irix 5.3 from 2008-06-21
57601         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
57602         sa_sigaction...
57603         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
57604         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
57605         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
57606         * modules/signal (Makefile.am): Use the value.
57607         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
57608         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
57609         * doc/posix-headers/signal.texi (signal.h): Document this
57610         portability issue.
57611         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
57612         Reported by Tom G. Christensen.
57613
57614 2008-08-17  Bruno Haible  <bruno@clisp.org>
57615
57616         New module 'threadlib'.
57617         * modules/threadlib: New file.
57618         * lib/glthread/threadlib.c: New file, extracted from
57619         lib/glthread/lock.c.
57620         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
57621         functions.
57622         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
57623         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
57624         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
57625         macros.
57626         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
57627         (gl_DISABLE_THREADS): Remove macro.
57628         * modules/lock (Files): Remove build-aux/config.rpath.
57629         (Depends-on): Remove havelib. Add threadlib.
57630         (configure.ac-early): Remove section.
57631         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
57632         * modules/tls (Depends-on): Remove lock. Add threadlib.
57633         (Link): New section, copied from threadlib.
57634         * MODULES.html.sh (Multithreading): Add threadlib.
57635
57636 2008-08-14  Bruno Haible  <bruno@clisp.org>
57637
57638         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
57639         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
57640         glthread_rwlock_unlock, glthread_rwlock_destroy,
57641         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
57642         glthread_recursive_lock_destroy): Define as macros always.
57643         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
57644         glthread_lock_lock.
57645         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
57646         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
57647         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
57648         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
57649         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
57650         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
57651         (glthread_recursive_lock_lock_func): Renamed from
57652         glthread_recursive_lock_lock.
57653         (glthread_recursive_lock_unlock_func): Renamed from
57654         glthread_recursive_lock_unlock.
57655         (glthread_recursive_lock_destroy_func): Renamed from
57656         glthread_recursive_lock_destroy.
57657
57658 2008-08-14  Bruno Haible  <bruno@clisp.org>
57659
57660         * lib/glthread/lock.h: Renamed from lib/lock.h.
57661         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
57662         * lib/glthread/tls.h: Renamed from lib/tls.h.
57663         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
57664         * lib/fstrcmp.c: Update includes.
57665         * lib/strsignal.c: Update includes.
57666         * modules/lock (Files, Makefile.am): Update.
57667         (Include): Change to "glthread/lock.h".
57668         * modules/tls (Files, Makefile.am): Update.
57669         (Include): Change to "glthread/tls.h".
57670         * tests/test-lock.c: Update includes.
57671         * tests/test-tls.c: Update includes.
57672         * NEWS: Mention the renamed header files.
57673
57674 2008-08-11  Jim Meyering  <meyering@redhat.com>
57675
57676         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
57677
57678 2008-08-11  Eric Blake  <ebb9@byu.net>
57679
57680         test-c-stack: avoid C99-ism
57681         * tests/test-c-stack.c (main): Fix whitespace, move declaration
57682         before statement.
57683         Reported by Alain Guibert.
57684
57685 2008-08-10  Jim Meyering  <meyering@redhat.com>
57686
57687         ensure that return value of uinttostr et al are not ignored
57688         * lib/inttostr.h (__GNUC_PREREQ): Define.
57689         (__attribute_warn_unused_result__): Define.
57690         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
57691
57692 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
57693
57694         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
57695         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
57696
57697 2008-08-07  Jim Meyering  <meyering@redhat.com>
57698
57699         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
57700
57701         * modules/mkstemp (License): Relicense under LGPLv2+.
57702         * modules/tempname (License): Likewise.
57703
57704 2008-08-06  Bruno Haible  <bruno@clisp.org>
57705
57706         * lib/poll.c (poll): Further micro-optimization.
57707
57708 2008-08-06  Jim Meyering  <meyering@redhat.com>
57709
57710         inet_pton.c: use locale-independent tolower
57711         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
57712         (inet_pton6): Use c_tolower rather than tolower.
57713         * modules/inet_pton (Depends-on): Add c-ctype.
57714
57715 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
57716
57717         * lib/poll.c (poll): Avoid division when timeout is 0, cache
57718         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
57719
57720 2008-08-06  Jim Meyering  <meyering@redhat.com>
57721
57722         * modules/inet_pton (License): Relicense under LGPLv2+.
57723
57724 2008-08-03  Bruno Haible  <bruno@clisp.org>
57725
57726         Additional non-aborting API for lock and tls.
57727         * lib/lock.h: Include <errno.h>.
57728         (glthread_lock_init): New macro/function.
57729         (gl_lock_init): Define as wrapper around glthread_lock_init.
57730         (glthread_lock_lock): New macro/function.
57731         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
57732         (glthread_lock_unlock): New macro/function.
57733         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
57734         (glthread_lock_destroy): New macro/function.
57735         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
57736         (glthread_rwlock_init): New macro/function.
57737         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
57738         (glthread_rwlock_rdlock): New macro/function.
57739         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
57740         (glthread_rwlock_wrlock): New macro/function.
57741         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
57742         (glthread_rwlock_unlock): New macro/function.
57743         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
57744         (glthread_rwlock_destroy): New macro/function.
57745         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
57746         (glthread_recursive_lock_init): New macro/function.
57747         (gl_recursive_lock_init): Define as wrapper around
57748         glthread_recursive_lock_init.
57749         (glthread_recursive_lock_lock): New macro/function.
57750         (gl_recursive_lock_lock): Define as wrapper around
57751         glthread_recursive_lock_lock.
57752         (glthread_recursive_lock_unlock): New macro/function.
57753         (gl_recursive_lock_unlock): Define as wrapper around
57754         glthread_recursive_lock_unlock.
57755         (glthread_recursive_lock_destroy): New macro/function.
57756         (gl_recursive_lock_destroy): Define as wrapper around
57757         glthread_recursive_lock_destroy.
57758         (glthread_once): New macro/function.
57759         (gl_once): Define as wrapper around glthread_once.
57760         Update function declarations.
57761         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
57762         glthread_rwlock_init. Return error code.
57763         (glthread_rwlock_rdlock_multithreaded): Renamed from
57764         glthread_rwlock_rdlock. Return error code.
57765         (glthread_rwlock_wrlock_multithreaded): Renamed from
57766         glthread_rwlock_wrlock. Return error code.
57767         (glthread_rwlock_unlock_multithreaded): Renamed from
57768         glthread_rwlock_unlock. Return error code.
57769         (glthread_rwlock_destroy_multithreaded): Renamed from
57770         glthread_rwlock_destroy. Return error code.
57771         (glthread_recursive_lock_init_multithreaded): Renamed from
57772         glthread_recursive_lock_init. Return error code.
57773         (glthread_recursive_lock_lock_multithreaded): Renamed from
57774         glthread_recursive_lock_lock. Return error code.
57775         (glthread_recursive_lock_unlock_multithreaded): Renamed from
57776         glthread_recursive_lock_unlock. Return error code.
57777         (glthread_recursive_lock_destroy_multithreaded): Renamed from
57778         glthread_recursive_lock_destroy. Return error code.
57779         (glthread_once_call): Make static.
57780         (glthread_once_multithreaded): Renamed from glthread_once.
57781         * lib/tls.h: Include <errno.h>.
57782         (glthread_tls_key_init): New macro/function.
57783         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
57784         (glthread_tls_set): New macro/function.
57785         (gl_tls_set): Define as wrapper around glthread_tls_set.
57786         (glthread_tls_key_destroy): New macro/function.
57787         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
57788         Update function declarations.
57789         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
57790         glthread_tls_get.
57791         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
57792
57793 2008-08-04  Eric Blake  <ebb9@byu.net>
57794
57795         gnumakefile: use space, not TAB, outside of targets
57796         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
57797
57798 2008-08-02  Jim Meyering  <meyering@redhat.com>
57799
57800         getdate.y: avoid locale-dependent date parsing failure
57801         In Turkish locales, getdate would fail to recognize keywords
57802         containing a lowercase "i".  The solution is not to rely on
57803         locale-sensitive case-conversion.
57804         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
57805         (lookup_word): Use c_toupper in place of toupper.
57806         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
57807         Reported by Vefa Bicakci <bicave@superonline.com> in
57808         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
57809         * modules/getdate (Depends-on): Add c-ctype.
57810
57811 2008-08-02  Bruno Haible  <bruno@clisp.org>
57812
57813         * gnulib-tool (func_import): When updating or creating a .gitignore
57814         file, prepend each added line with a slash, and ignore leading slashes
57815         from the existing lines.
57816         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57817
57818 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57819
57820         Portability fix for GNU make 3.79.1.
57821         * top/GNUmakefile: Avoid 'else COND', which older GNU make
57822         versions do not understand.
57823
57824 2008-08-01  Bruno Haible  <bruno@clisp.org>
57825
57826         Work around bug of HP-UX 10.20 cc with -0.0 literal.
57827         * tests/test-isnanf.h (zero): New variable.
57828         (main): Avoid literal -0.0f.
57829         * tests/test-isnand.h (zero): New variable.
57830         (main): Avoid literal -0.0.
57831         * tests/test-isnanl.h (zero): New variable.
57832         (main): Avoid literal -0.0L.
57833         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
57834         (test_float, test_double, test_long_double): Avoid literals -0.0f,
57835         -0.0, -0.0L.
57836         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
57837         (test_signbitd): Avoid literal -0.0.
57838         (test_signbitl): Avoid literal -0.0L.
57839         * tests/test-ceilf1.c (zero): New variable.
57840         (main): Avoid literal -0.0f.
57841         * tests/test-ceill.c (zero): New variable.
57842         (main): Avoid literal -0.0L.
57843         * tests/test-floorf1.c (zero): New variable.
57844         (main): Avoid literal -0.0f.
57845         * tests/test-floorl.c (zero): New variable.
57846         (main): Avoid literal -0.0L.
57847         * tests/test-roundf1.c (zero): New variable.
57848         (main): Avoid literal -0.0f.
57849         * tests/test-round1.c (zero): New variable.
57850         (main): Avoid literal -0.0.
57851         * tests/test-roundl.c (zero): New variable.
57852         (main): Avoid literal -0.0L.
57853         * tests/test-truncf1.c (zero): New variable.
57854         (main): Avoid literal -0.0f.
57855         * tests/test-trunc1.c (zero): New variable.
57856         (main): Avoid literal -0.0.
57857         * tests/test-truncl.c (zero): New variable.
57858         (main): Avoid literal -0.0L.
57859         * tests/test-frexp.c (zero): New variable.
57860         (main): Avoid literal -0.0.
57861         * tests/test-frexpl.c (zero): New variable.
57862         (main): Avoid literal -0.0L.
57863         * tests/test-ldexpl.c (zero): New variable.
57864         (main): Avoid literal -0.0L.
57865         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
57866         (zerod, zerol): New variables.
57867         (test_function): Avoid literals -0.0, -0.0L.
57868         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
57869         (zerod, zerol): New variables.
57870         (test_function): Avoid literals -0.0, -0.0L.
57871         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
57872         (zerod, zerol): New variables.
57873         (test_function): Avoid literals -0.0, -0.0L.
57874         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
57875         (zerod, zerol): New variables.
57876         (test_function): Avoid literals -0.0, -0.0L.
57877         * tests/test-strtod.c (zero): New variable.
57878         (main): Avoid literal -0.0.
57879         Reported by Jonathan C. Patschke <jp@centtech.com>.
57880
57881 2008-07-31  Jim Meyering  <meyering@redhat.com>
57882
57883         sha256.h: correct definition of SHA224_DIGEST_SIZE
57884         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
57885         Reported by Paulie Pena IV <paulie4@gmail.com>.
57886         Define as 224 / 8, rather than as a literal.
57887         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
57888         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
57889         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
57890
57891 2008-07-31  Bruno Haible  <bruno@clisp.org>
57892
57893         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
57894         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
57895         Reported by Jonathan Patschke <jp@centtech.com>.
57896
57897 2008-07-31  Bruno Haible  <bruno@clisp.org>
57898
57899         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
57900         Reported by Paolo Bonzini <bonzini@gnu.org>.
57901
57902 2008-07-30  Eric Blake  <ebb9@byu.net>
57903
57904         test-strtod: allow compilation without -lm
57905         * tests/test-strtod.c (main): Avoid link dependence on fabs.
57906         Reported by Dennis Clarke <blastwave@gmail.com>.
57907
57908 2008-07-28  Jim Meyering  <meyering@redhat.com>
57909
57910         bootstrap: work also when there are no .po files in po/
57911         * build-aux/bootstrap (update_po_files): Complete the change
57912         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
57913
57914 2008-07-27  Jim Meyering  <meyering@redhat.com>
57915
57916         * users.txt: Add zile.
57917
57918 2008-07-26  Ben Pfaff  <blp@gnu.org>
57919
57920         Add missing dependencies on new m4/exponent[fdl].m4 files.
57921         * modules/isnanf-nolibm: Add m4/exponentf.m4.
57922         * modules/isnand-nolibm: Add m4/exponentd.m4.
57923         * modules/isnanl-nolibm: Add m4/exponentl.m4.
57924         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
57925         m4/isnan[fdl].m4, because the macros actually used moved.
57926         Reported by Jim Meyering.
57927
57928 2008-07-14  Ben Pfaff  <blp@gnu.org>
57929
57930         Add isinf module.
57931         * lib/isinf.c: New file.
57932         * lib/math.in.h: Define isinf macro if we have decided to replace
57933         it.
57934         * m4/isinf.m4: New file.
57935         * m4/math_h.m4: Initialize and substitute variables for isinf
57936         module.
57937         * modules/isinf: New file.
57938         * modules/isinf-tests: New file.
57939         * modules/math: Add substitutions for new module.
57940         * tests/test-isinf.c: New file.
57941         * doc/posix-functions/isinf.texi: Mention new module.
57942         * MODULES.html.sh: Mention new module.
57943
57944 2008-07-14  Ben Pfaff  <blp@gnu.org>
57945
57946         Factor out some macros for use by additional modules.
57947         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
57948         exponentf.m4.
57949         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
57950         exponentd.m4.
57951         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
57952         file exponentl.m4.
57953         * m4/exponentf.m4: New file.
57954         * m4/exponentd.m4: New file.
57955         * m4/exponentl.m4: New file.
57956         * modules/isnanf: Use new file m4/exponentf.m4.
57957         * modules/isnand: Use new file m4/exponentd.m4.
57958         * modules/isnanl: Use new file m4/exponentl.m4.
57959
57960 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
57961
57962         mktime.c: normalize tp->tm_isdst value to -1/0/1.
57963         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
57964         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
57965         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
57966
57967         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
57968         readlink on platforms without PATH_MAX.
57969
57970 2008-07-21  Eric Blake  <ebb9@byu.net>
57971
57972         Warn, not fail, on stale version.
57973         * top/GNUmakefile (_curr-ver): Tone down previous patch.
57974
57975         Don't allow installation with stale devel version number.
57976         * top/GNUmakefile (_is-install-target): New macro.
57977         (_curr-ver): Forbid installation with stale version number.
57978
57979 2008-07-20  Bruno Haible  <bruno@clisp.org>
57980
57981         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
57982         TESTS_ENVIRONMENT.
57983         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
57984
57985 2008-07-20  Bruno Haible  <bruno@clisp.org>
57986
57987         * lib/c-stack.h (c_stack_action): Add documentation.
57988         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
57989
57990 2008-07-20  Bruno Haible  <bruno@clisp.org>
57991
57992         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
57993         * modules/readlink (License): Likewise.
57994
57995 2008-07-17  Eric Blake  <ebb9@byu.net>
57996
57997         * modules/c-stack (Link): Fix typo.
57998
57999         Make c-stack use libsigsegv, when available.
58000         * modules/c-stack (Depends-on): Add libsigsegv.
58001         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
58002         needed.
58003         * lib/c-stack.c (SIGSTKSZ): Define fallback.
58004         (segv_handler, overflow_handler, c_stack_action)
58005         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
58006         implementation when libsigsegv is available, but only when using
58007         the library is necessary.
58008         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
58009         comment, explaining why XSI check fails on Linux.
58010         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
58011         * tests/test-c-stack2.sh: Tweak skip message.
58012         * NEWS: Document new link-time requirements.
58013
58014 2008-07-16  Eric Blake  <ebb9@byu.net>
58015
58016         c-stack: Expose false positives when not using libsigsegv.
58017         * modules/c-stack-tests (Files): Expand test.
58018         * tests/test-c-stack.c (main): Add means to conditionally trigger
58019         non-overflow SIGSEGV.
58020         * tests/test-c-stack2.sh: New file.
58021
58022 2008-07-14  Bruno Haible  <bruno@clisp.org>
58023
58024         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
58025         Reported by Eric Blake.
58026
58027 2008-07-14  Sam Steingold  <sds@gnu.org>
58028             Bruno Haible  <bruno@clisp.org>
58029
58030         New module libsigsegv.
58031         * modules/libsigsegv: New file.
58032         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
58033         modifications.
58034         * MODULES.html.sh (Signal handling): New section.
58035
58036 2008-07-14  Bruno Haible  <bruno@clisp.org>
58037
58038         * modules/unictype/ctype-* (Description): Add the word "function".
58039         Improves the resulting doc in MODULES.html.
58040
58041 2008-07-12  Ben Pfaff  <blp@gnu.org>
58042
58043         Add longlong module.
58044         * modules/longlong: New file.
58045
58046 2008-07-12  Bruno Haible  <bruno@clisp.org>
58047
58048         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
58049         to empty.
58050
58051 2008-07-10  Ben Pfaff  <blp@gnu.org>
58052
58053         Add isnan module.
58054         * doc/posix-functions/isnan.texi: Mention new module.
58055         * lib/math.in.h: Define isnan macro if we have decided to replace
58056         it.
58057         * m4/isnan.m4: New file.
58058         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
58059         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
58060         also.
58061         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
58062         redundancy.
58063         * m4/math_h.m4: Initialize and substitute variables for isnan
58064         module.
58065         * modules/isnan: New file.
58066         * modules/isnan-tests: New file.
58067         * modules/math: Add substitutions for new module.
58068         * tests/test-isnan.c: New file.
58069         * MODULES.html.sh: Mention new module.
58070
58071 2008-07-10  Ben Pfaff  <blp@gnu.org>
58072
58073         Add isnanf module.
58074         * lib/isnanf.m4: New file.
58075         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
58076         (gl_HAVE_ISNANF_IN_LIBM): New macro.
58077         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
58078         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
58079         * modules/isnanf: New file.
58080         * modules/isnanf-tests: New file.
58081         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
58082         files.
58083         * tests/test-isnanf-nolibm.c: factored most of its contents into
58084         new file tests/test-isnanf.h.
58085         * tests/test-isnanf.h: New file.
58086         * tests/test-isnanf.c: New file.
58087         * MODULES.html.sh: Mention new module.
58088         * doc/glibc-functions/isnanf.texi: Mention new module.
58089
58090 2008-07-10  Ben Pfaff  <blp@gnu.org>
58091
58092         Add isnand module.
58093         * lib/isnand.h: New file.
58094         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
58095         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
58096         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
58097         functionality also.
58098         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
58099         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
58100         (gl_HAVE_ISNAND_IN_LIBM): New macro.
58101         * modules/isnand: New file.
58102         * modules/isnand-tests: New file.
58103         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
58104         files.
58105         * tests/test-isnand-nolibm.c: factored most of its contents into
58106         new file tests/test-isnand.h.
58107         * tests/test-isnand.h: New file.
58108         * tests/test-isnand.c: New file.
58109         * MODULES.html.sh: Mention new module.
58110
58111 2008-07-10  Ben Pfaff  <blp@gnu.org>
58112
58113         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
58114         * lib/isnand.h: Rename lib/isnand-nolibm.h.
58115         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
58116         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
58117         * modules/isnanf-nolibm: Update references to renamed files.
58118         * modules/isnand-nolibm: Likewise.
58119         * modules/isnanf-nolibm-tests: Likewise.
58120         * modules/isnand-nolibm-tests: Likewise.
58121         * lib/frexp.c: Likewise.
58122         * lib/isfinite.c: Likewise.
58123         * lib/signbitd.c: Likewise.
58124         * lib/signbitf.c: Likewise.
58125         * lib/vasnprintf.c: Likewise.
58126         * tests/test-ceilf1.c: Likewise.
58127         * tests/test-ceilf2.c: Likewise.
58128         * tests/test-floorf1.c: Likewise.
58129         * tests/test-floorf2.c: Likewise.
58130         * tests/test-frexp.c: Likewise.
58131         * tests/test-round1.c: Likewise.
58132         * tests/test-round2.c: Likewise.
58133         * tests/test-roundf1.c: Likewise.
58134         * tests/test-strtod.c: Likewise.
58135         * tests/test-trunc1.c: Likewise.
58136         * tests/test-trunc2.c: Likewise.
58137         * tests/test-truncf1.c: Likewise.
58138         * tests/test-truncf2.c: Likewise.
58139         * NEWS: Mention the renamed header files.
58140
58141 2008-07-11  Jim Meyering  <meyering@redhat.com>
58142
58143         vc-list-files: make the last-resort awk code more portable
58144         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
58145         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
58146         does not support it.
58147
58148 2008-07-10  Eric Blake  <ebb9@byu.net>
58149
58150         Work with tar's bootstrap.
58151         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
58152         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
58153         an m4 comment.
58154
58155 2008-07-09  Jim Meyering  <meyering@redhat.com>
58156
58157         posix-shell.m4: fix typo that made this test malfunction
58158         * m4/posix-shell.m4: Remove capitalization in variable name.
58159
58160 2008-07-08  Bruno Haible  <bruno@clisp.org>
58161
58162         * m4/onceonly.m4: Update comments.
58163         Reported by Ben Pfaff <blp@cs.stanford.edu>.
58164
58165 2008-07-04  Jim Meyering  <meyering@redhat.com>
58166
58167         * users.txt: Add vc-dwim.
58168         (bison, coreutils): Use the gitweb URL.
58169
58170 2008-07-03  Jim Meyering  <meyering@redhat.com>
58171
58172         * users.txt: Add libffcall.  From Sam Steingold.
58173
58174 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
58175
58176         getdate.y: do not ignore TZ with relative day, month or year offset
58177         * lib/getdate.y (get_date): Move the tz-handling block to follow the
58178         relative-date-handling, since otherwise, the latter would clobber the
58179         sole output (an updated Start value) of the tz-handling block.
58180         * tests/test-getdate.c: Tests for the fix
58181
58182 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58183
58184         Recognize 'foo_LIBRARIES += libgnu.a'.
58185         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
58186         makefile snippet has already specified an installation location,
58187         also using '+='.
58188
58189 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
58190
58191         getdate.y: factor out common actions
58192         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
58193         Use them in place of open-coded actions.
58194
58195 2008-07-01  Simon Josefsson  <simon@josefsson.org>
58196
58197         Add self-test for getdate module.
58198         * modules/getdate-tests: New file.
58199         * tests/test-getdate.c: New file.
58200
58201 2008-06-29  Bruno Haible  <bruno@clisp.org>
58202
58203         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
58204         .gitignore.
58205         Reported by Sylvain Beucler <beuc@beuc.net>.
58206
58207 2008-06-29  Bruno Haible  <bruno@clisp.org>
58208
58209         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
58210         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
58211
58212 2008-06-29  Bruno Haible  <bruno@clisp.org>
58213
58214         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
58215         EXTRA_DIST.
58216         Reported by Sylvain Beucler <beuc@beuc.net>.
58217
58218 2008-06-26  Jim Meyering  <meyering@redhat.com>
58219
58220         make several modules depend on the "open" module
58221         This provides slightly increased consistency when opening-for-write
58222         the name of a non-directory spelled with a trailing slash.
58223         * modules/chdir-safer: Likewise.
58224         * modules/chown: Likewise.
58225         * modules/clean-temp: Likewise.
58226         * modules/copy-file: Likewise.
58227         * modules/fchdir: Likewise.
58228         * modules/fcntl-safer: Likewise.
58229         * modules/pipe: Likewise.
58230         * modules/utime: Likewise.
58231         Prompted by Eric Blake and Bruno Haible.
58232
58233 2008-06-24  Andreas Schwab  <schwab@suse.de>
58234
58235         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
58236         literals can be used as initializers for global variables.
58237
58238 2008-06-23  Eric Blake  <ebb9@byu.net>
58239
58240         Make gnulib-cache.m4 easier to diff.
58241         * gnulib-tool (func_import): Allow newlines when reading cached
58242         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
58243
58244 2008-06-23  Bruno Haible  <bruno@clisp.org>
58245
58246         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
58247         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
58248         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
58249         m4/signalblocking.m4.
58250         (gl_PREREQ_SIGACTION): Don't invoke it.
58251         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
58252         gl_PREREQ_SIG_HANDLER_H.
58253         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58254         Don't check for sigaction here.
58255
58256 2008-06-23  Bruno Haible  <bruno@clisp.org>
58257
58258         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
58259         (install_handlers): Don't set the SA_RESETHAND flag.
58260
58261 2008-06-23  Bruno Haible  <bruno@clisp.org>
58262
58263         * m4/sigaction.m4: Comment fixes.
58264         * lib/signal.in.h: Likewise.
58265
58266 2008-06-23  Eric Blake  <ebb9@byu.net>
58267
58268         Fix typo.
58269         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
58270
58271         Avoid SA_ namespace.
58272         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
58273         Reported by Ralf Wildenhues.
58274
58275         Avoid test failure due to SA_RESTORER.
58276         * tests/test-sigaction.c (SA_MASK): New macro.
58277         (main): Avoid failing due to extension flags being set.
58278         Reported by Jim Meyering.
58279
58280         Revert use of sig-handler.h in sigprocmask.c.
58281         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
58282         it requires the existence of struct sigaction.
58283         * lib/sigprocmask.c (handler_t): Restore typedef.
58284         (rpl_signal, old_handlers): Use local type.
58285
58286 2008-06-22  Bruno Haible  <bruno@clisp.org>
58287
58288         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
58289         conditionally.
58290         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
58291
58292 2008-06-22  Bruno Haible  <bruno@clisp.org>
58293
58294         * doc/posix-functions/siginterrupt.texi: Move note.
58295
58296         * lib/signal.in.h (SA_RESTART): New macro.
58297         * lib/sigaction.c: Update comment.
58298
58299         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
58300
58301         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
58302         (gl_PREREQ_SIGPROCMASK): Invoke it.
58303         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
58304
58305         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
58306
58307         * lib/sigprocmask.c: Update a comment.
58308
58309 2008-06-21  Eric Blake  <ebb9@byu.net>
58310
58311         Use sigaction module rather than signal().
58312         * modules/c-stack (Depends-on): Add sigaction.
58313         * modules/fatal-signal (Depends-on): Likewise.
58314         * modules/nanosleep (Depends-on): Likewise.
58315         * modules/sigprocmask (Files): Add sig-handler.h.
58316         * modules/sigaction (Files): Likewise.
58317         * lib/sig-handler.h (get_handler): New file, suggested by Paul
58318         Eggert.
58319         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
58320         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
58321         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
58322         (init_fatal_signals): Likewise.
58323         * lib/nanosleep.c (rpl_nanosleep): Likewise.
58324         (siginterrupt): Delete fallback.
58325         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
58326         instead.
58327         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
58328         siginterrupt.
58329
58330         New module sigaction, for mingw.
58331         * modules/sigaction: New module...
58332         * modules/sigaction-tests: ...and its test.
58333         * m4/sigaction.m4: New file.
58334         * lib/sigaction.c: Likewise.
58335         * tests/test-sigaction.c: Likewise.
58336         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
58337         * modules/signal (Makefile.am): Likewise.
58338         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
58339         needed.
58340         * doc/posix-headers/signal.texi (signal.h): Mention provided
58341         types.
58342         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
58343         that sigaction is preferable.
58344         * doc/posix-functions/sigaction.texi (sigaction): Mention new
58345         module.
58346         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58347         sigaction.
58348
58349         Improve robustness of sigprocmask by overriding signal.
58350         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
58351         is in use.
58352         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
58353         (SIGKILL, SIGSTOP): Provide fallbacks.
58354         (rpl_signal): Implement.
58355         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
58356         signal can be called inside handlers.
58357
58358         Fix nanosleep module on mingw.
58359         * modules/nanosleep (Depends-on): Add sys_select.
58360         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
58361
58362         Fix licensing of sigprocmask.
58363         * modules/raise (License): Relicense as LGPL.
58364
58365 2008-06-21  Bruno Haible  <bruno@clisp.org>
58366
58367         * lib/propername.c (proper_name_utf8): Don't use the transliterated
58368         result if it contains question marks.
58369         Reported by Michael Geng <linux@michaelgeng.de>.
58370
58371 2008-06-19  Bruno Haible  <bruno@clisp.org>
58372
58373         Fix CVS-ism.
58374         * doc/gnulib.texi: Include updated-stamp.texi.
58375         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
58376         (updated-stamp.texi): New rule.
58377         (gnulib.info): Depend on it.
58378         * doc/.gitignore: Add updated-stamp.texi.
58379         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
58380
58381 2008-06-19  Bruno Haible  <bruno@clisp.org>
58382
58383         * doc/Makefile (gnulib.info): Update and simplify dependencies.
58384         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58385
58386 2008-06-19  Eric Blake  <ebb9@byu.net>
58387
58388         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
58389         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
58390         Reported by Stepan Kasal.
58391
58392 2008-06-18  Bruno Haible  <bruno@clisp.org>
58393
58394         * lib/fatal-signal.c (init_fatal_signals): Add comment.
58395         Reported by Eric Blake.
58396
58397 2008-06-18  Eric Blake  <ebb9@byu.net>
58398
58399         Work around cygwin 1.5.25 strsignal bug.
58400         * tests/test-strsignal.c: Allow for const char *.
58401         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
58402
58403 2008-06-18  Simon Josefsson  <simon@josefsson.org>
58404
58405         * users.txt: Update URL to article and add author/date
58406         information.
58407
58408 2008-06-17  Bruno Haible  <bruno@clisp.org>
58409
58410         New macro gl_DISABLE_THREADS.
58411         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
58412         if the user did not pass --enable-threads or --disable-threads option.
58413         (gl_DISABLE_THREADS): New macro.
58414         Reported by Eric Blake <ebb9@byu.net>.
58415
58416 2008-06-17  Bruno Haible  <bruno@clisp.org>
58417
58418         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
58419         when the macro ignores it.
58420         Based on a patch by Eric Blake <ebb9@byu.net>.
58421
58422 2008-06-17  Bruno Haible  <bruno@clisp.org>
58423
58424         * modules/tls (License): Change to LGPLv2+.
58425         Reported by Eric Blake.
58426
58427 2008-06-17  Eric Blake  <ebb9@byu.net>
58428
58429         Simplify c-stack prerequisites.
58430         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
58431         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
58432         no longer requires <ucontext.h> to exist.  Optimize setrlimit
58433         check.
58434         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
58435         <sys/resource.h>.
58436
58437         Move c-stack test into testsuite.
58438         * modules/c-stack-tests: New file.
58439         * lib/c-stack.c [DEBUG]: Move test program...
58440         * tests/test-c-stack.c: ...into this new file.  Skip rather than
58441         fail test if sigaltstack is lacking.
58442         * tests/test-c-stack.sh: New driver file.
58443
58444 2008-06-16  Eric Blake  <ebb9@byu.net>
58445
58446         Use raise module consistently.
58447         * modules/fatal-signal (Depends-on): Add raise.
58448         * modules/sigprocmask (Depends-on): Likewise.
58449         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
58450         * lib/sigprocmask.c (sigprocmask): Likewise.
58451         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58452         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
58453
58454         Fix compliance bug in sigpending.
58455         * lib/sigprocmask.c (sigpending): Return pending array via
58456         parameter, not return value.
58457
58458 2008-06-14  Eric Blake  <ebb9@byu.net>
58459
58460         Improve obstack-printf test code.
58461         * tests/test-obstack-printf.c (test_function): Fix comment, and
58462         simplify usage of obstack_* in macros.  Add a test for coverage.
58463         Reported by Bruno Haible.
58464
58465 2008-06-14  Bruno Haible  <bruno@clisp.org>
58466
58467         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
58468         array size as a constant, not as a const variable.
58469         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
58470         AC_USE_SYSTEM_EXTENSIONS.
58471         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
58472         Test whether the obstack_printf function actually exists.
58473         * modules/obstack-printf (Depends-on): Add extensions.
58474         (Include): Remove obstack.h.
58475         * modules/obstack-printf-posix (Depends-on): Add extensions.
58476         (Include): Remove obstack.h.
58477
58478 2008-06-13  Eric Blake  <ebb9@byu.net>
58479
58480         Add obstack-printf and obstack-printf-posix modules.
58481         * modules/obstack-printf: New file.
58482         * modules/obstack-printf-posix: Likewise.
58483         * MODULES.html.sh (Misc): Mention them.
58484         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
58485         Likewise.
58486         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
58487         Likewise.
58488         * modules/stdio (Makefile.am): Accomodate new modules.
58489         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
58490         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
58491         Declare.
58492         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
58493         functions.
58494         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
58495         (gl_REPLACE_OBSTACK_PRINTF): New macros
58496         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
58497         * tests/test-obstack-printf.c: New file.
58498         * modules/obstack-printf-tests: Likewise.
58499         * modules/obstack-printf-posix-tests: Likewise.
58500
58501 2008-06-11  Bruno Haible  <bruno@clisp.org>
58502
58503         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
58504         * lib/open.c: Include errno.h.
58505         (open): Fail when attempting to write to a file that has a trailing
58506         slash.
58507         * tests/test-open.c (main): Test against trailing slash bug.
58508         * doc/posix-functions/open.texi: Mention the trailing slash bug.
58509
58510 2008-06-10  Bruno Haible  <bruno@clisp.org>
58511
58512         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
58513         for $? to work inside the trap command, with various /bin/sh-s.
58514         * tests/test-vc-list-files-cvs.sh: Likewise.
58515
58516 2008-06-10  Bruno Haible  <bruno@clisp.org>
58517
58518         * lib/acl-internal.h: Don't include gettext.h here.
58519         * lib/set-mode-acl.c: Include gettext.h here.
58520         * lib/copy-acl.c: Likewise.
58521
58522 2008-06-10  Bruno Haible  <bruno@clisp.org>
58523
58524         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
58525         * lib/wait-process.c (wait_subprocess): Likewise.
58526         * lib/execute.h (execute): Add termsigp argument.
58527         * lib/execute.c (execute): Likewise.
58528         * lib/csharpcomp.c (compile_csharp_using_pnet,
58529         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
58530         * lib/csharpexec.c (execute_csharp_using_pnet,
58531         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
58532         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
58533         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
58534         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
58535         is_jikes_present): Update.
58536         * lib/javaexec.c (execute_java_class): Update.
58537         * lib/javaversion.c (execute_and_read_line): Update.
58538         * NEWS: Document the changes.
58539         Reported by Eric Blake.
58540
58541 2008-06-10  Eric Blake  <ebb9@byu.net>
58542
58543         Add missing include.
58544         * tests/test-strstr.c (includes): Add <signal.h>.
58545         * tests/test-strcasestr.c (includes): Likewise.
58546         * tests/test-memmem.c (includes): Likewise.
58547
58548 2008-06-10  Bruno Haible  <bruno@clisp.org>
58549
58550         * lib/wait-process.c (wait_subprocess): Add an assertion.
58551
58552 2008-06-10  Bruno Haible  <bruno@clisp.org>
58553
58554         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
58555
58556 2008-06-10  Bruno Haible  <bruno@clisp.org>
58557
58558         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
58559         using alarm().
58560         * tests/test-strcasestr.c (main): Likewise.
58561         * tests/test-strstr.c (main): Likewise.
58562
58563 2008-06-09  Bruno Haible  <bruno@clisp.org>
58564
58565         Work around the Solaris 10 ACE ACLs ABI change.
58566         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
58567         declare if ACL_NO_TRIVIAL is present.
58568         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
58569         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
58570         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
58571         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
58572         define if ACL_NO_TRIVIAL is present.
58573         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
58574         and use the current ABI.
58575         (file_has_acl): Use same #if condition as elsewhere.
58576         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
58577         in use, and use the current ABI.
58578         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
58579         Reported by Jim Meyering.
58580
58581 2008-06-09  Eric Blake  <ebb9@byu.net>
58582
58583         Work around environments that (stupidly) ignore SIGALRM.
58584         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
58585         before using alarm().
58586         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58587         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
58588         Reported by Ian Beckwith <ianb@erislabs.net>.
58589
58590         Produce autobuild blurb earlier in log.
58591         * modules/autobuild (configure.ac-early): Move AB_INIT here.
58592
58593 2008-06-09  Jim Meyering  <meyering@redhat.com>
58594         and OndÅ™ej Vašík  <ovasik@redhat.com>
58595
58596         utimens.c: correct kernel bug work-around
58597         OndÅ™ej Vašík found that the invalid return value of 280 indicates
58598         failure, not success, and the kernel bug we're trying to work
58599         around affects not just the utimensat call, but also the fallback
58600         futimens call.
58601         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
58602         not success.
58603         [HAVE_FUTIMENS]: Use the same work-around, here.
58604
58605 2008-06-09  Jim Meyering  <meyering@redhat.com>
58606
58607         add more guards around definition of ACE_-related code
58608         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
58609         ALLOW and ACE_OWNER are also defined.
58610
58611 2008-06-08  Bruno Haible  <bruno@clisp.org>
58612
58613         * lib/acl-internal.h: Add me as co-author.
58614         * lib/file-has-acl.c: Likewise.
58615         * lib/set-mode-acl.c: Likewise.
58616         * lib/copy-acl.c: Likewise.
58617
58618 2008-06-08  Bruno Haible  <bruno@clisp.org>
58619
58620         Add support for AIX ACLs.
58621         * lib/acl-internal.h (acl_nontrivial): New declaration.
58622         * lib/file-has-acl.c (acl_nontrivial): New function.
58623         (file_has_acl): Add implementation using AIX 4 ACL API.
58624         * lib/set-mode-acl.c (qset_acl): Likewise.
58625         * lib/copy-acl.c (qcopy_acl): Likewise.
58626
58627 2008-06-08  Bruno Haible  <bruno@clisp.org>
58628
58629         Add support for HP-UX ACLs.
58630         * lib/acl-internal.h (acl_nontrivial): New declaration.
58631         * lib/file-has-acl.c (acl_nontrivial): New function.
58632         (file_has_acl): Add implementation using HP-UX 11 ACL API.
58633         * lib/set-mode-acl.c (qset_acl): Likewise.
58634         * lib/copy-acl.c (qcopy_acl): Likewise.
58635
58636 2008-06-08  Bruno Haible  <bruno@clisp.org>
58637
58638         Add support for Cygwin ACLs.
58639         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
58640         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
58641         the chmod_or_fchmod call.
58642         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
58643
58644 2008-06-08  Bruno Haible  <bruno@clisp.org>
58645
58646         Fix bug with setuid modes in Solaris 10+ code.
58647         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
58648         succeeded, when the mode contains some special bits.
58649
58650 2008-06-08  Bruno Haible  <bruno@clisp.org>
58651
58652         Add support for Solaris 7..10 ACLs.
58653         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
58654         declarations.
58655         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
58656         functions.
58657         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
58658         * lib/set-mode-acl.c (qset_acl): Likewise.
58659         * lib/copy-acl.c (qcopy_acl): Likewise.
58660
58661 2008-06-08  Bruno Haible  <bruno@clisp.org>
58662
58663         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
58664         declaration.
58665         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
58666         (acl_access_nontrivial): Remove MacOS X case.
58667         (file_has_acl): Use acl_extended_nontrivial.
58668         * lib/copy-acl.c (qcopy_acl): Likewise.
58669
58670 2008-06-08  Bruno Haible  <bruno@clisp.org>
58671
58672         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
58673
58674 2008-06-08  Jim Meyering  <meyering@redhat.com>
58675
58676         * modules/acl (Maintainer): Add Bruno Haible.
58677
58678 2008-06-07  Bruno Haible  <bruno@clisp.org>
58679
58680         Improve support for Tru64 ACLs.
58681         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
58682         ACL on OSF/1.
58683
58684 2008-06-07  Bruno Haible  <bruno@clisp.org>
58685
58686         Add support for MacOS X ACLs.
58687         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
58688         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
58689         * lib/set-mode-acl.c (qset_acl): Likewise.
58690         * lib/copy-acl.c (qcopy_acl): Likewise.
58691
58692 2008-06-07  Bruno Haible  <bruno@clisp.org>
58693
58694         Fix memory leak introduced on 2008-05-22.
58695         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
58696         use.
58697
58698 2008-06-07  Bruno Haible  <bruno@clisp.org>
58699
58700         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
58701         to construct an empty ACL.
58702
58703 2008-06-07  Bruno Haible  <bruno@clisp.org>
58704
58705         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
58706         precisely.
58707         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
58708
58709 2008-06-07  Bruno Haible  <bruno@clisp.org>
58710
58711         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
58712         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
58713
58714 2008-06-07  Bruno Haible  <bruno@clisp.org>
58715
58716         * doc/posix-functions/_setjmp.texi: Explain the use of this function
58717         regardless of POSIX.
58718         * doc/posix-functions/_longjmp.texi: Likewise.
58719         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
58720         SystemV platform in this case.
58721
58722 2008-06-06  Eric Blake  <ebb9@byu.net>
58723
58724         Document abort() bugs.
58725         * doc/posix-functions/abort.texi (abort): Mention anomalies.
58726
58727         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
58728         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
58729         sigsetjmp.
58730         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
58731         siglongjmp, but only as a macro.
58732         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
58733         is obsolete.
58734         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
58735
58736         Tweak documentation to cover cygwin argz bugs.
58737         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
58738         argz bug fix; no code change needed since no cygwin releases
58739         occurred between the last fix and the bug being tested.
58740         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
58741         module and recently fixed cygwin bugs.
58742         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
58743         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
58744         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
58745         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
58746         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
58747         Likewise.
58748         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
58749         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
58750         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
58751         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
58752         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
58753         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
58754         Likewise.
58755
58756         Avoid gcc warning on cygwin.
58757         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
58758         !ACL_NO_TRIVIAL]: Avoid unused variable.
58759
58760 2008-06-05  Eric Blake  <ebb9@byu.net>
58761
58762         Be tolerant of UNKNOWN version in gnulib-tool test dir.
58763         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
58764         git-version-gen fails to come up with a version.
58765         Reported by Simon Josefsson.
58766
58767 2008-06-05  Jim Meyering  <meyering@redhat.com>
58768             Paul Eggert  <eggert@cs.ucla.edu>
58769
58770         utimens.c: work around a probable Linux kernel bug
58771         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
58772         appears to be a kernel bug that causes utimensat to return 280
58773         instead of 0, indicating success.
58774
58775 2008-06-04  Bruno Haible  <bruno@clisp.org>
58776
58777         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
58778         2008-06-01 commit.
58779
58780 2008-06-04  Bruno Haible  <bruno@clisp.org>
58781
58782         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
58783         * lib/file-has-acl.c (acl_access_nontrivial): New function.
58784         (file_has_acl): Use it. Save errno afterwards.
58785         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
58786
58787 2008-06-03  Bruno Haible  <bruno@clisp.org>
58788
58789         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
58790         draft code. Simplify #ifs.
58791         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
58792         Put Solaris code after POSIX-draft code. Fix comments regarding
58793         Solaris 10, HP-UX. Mention Cygwin.
58794         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
58795
58796 2008-06-03  Eric Blake  <ebb9@byu.net>
58797
58798         Provide fallback for older kernels.
58799         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
58800         Provide runtime fallback if kernel lacks support.
58801         Reported by Mike Frysinger.
58802
58803 2008-06-02  Bruno Haible  <bruno@clisp.org>
58804
58805         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
58806         it exists.
58807
58808 2008-06-02  Bruno Haible  <bruno@clisp.org>
58809
58810         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
58811         * lib/copy-acl.c (qcopy_acl): Update comment.
58812
58813 2008-06-02  Bruno Haible  <bruno@clisp.org>
58814
58815         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
58816         like ACL APIs.
58817
58818 2008-06-02  Bruno Haible  <bruno@clisp.org>
58819
58820         * tests/test-file-has-acl.sh: Use different code for Cygwin.
58821         * tests/test-set-mode-acl.sh: Likewise.
58822         * tests/test-copy-acl.sh: Likewise.
58823         * tests/test-copy-file.sh: Likewise.
58824
58825 2008-06-02  Bruno Haible  <bruno@clisp.org>
58826
58827         * tests/test-file-has-acl.sh: Remove unused code.
58828
58829 2008-06-01  Bruno Haible  <bruno@clisp.org>
58830
58831         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
58832         (copy_acl): Just a wrapper around qcopy_acl that emits the error
58833         messages.
58834         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
58835
58836 2008-06-01  Bruno Haible  <bruno@clisp.org>
58837
58838         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
58839         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
58840         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
58841         APIs.
58842         * modules/acl-tests (configure.ac): Remove tests now contained in
58843         m4/acl.m4.
58844
58845 2008-06-02  Jim Meyering  <meyering@redhat.com>
58846
58847         announce-gen: use a better key-server host name
58848         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
58849         it may be more consistently reliable.  Suggested by Werner Koch
58850         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
58851
58852 2008-06-01  Bruno Haible  <bruno@clisp.org>
58853
58854         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
58855         Reported by Voroskoi Andras <voroskoi@gmail.com>.
58856
58857 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
58858
58859         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
58860
58861 2008-06-01  Bruno Haible  <bruno@clisp.org>
58862
58863         New ACL tests.
58864         * tests/test-file-has-acl.sh: New file.
58865         * tests/test-file-has-acl.c: New file.
58866         * tests/test-set-mode-acl.sh: New file.
58867         * tests/test-set-mode-acl.c: New file.
58868         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
58869         * tests/test-copy-acl.c: New file.
58870         * modules/acl-tests: New file, based on modules/copy-file-tests.
58871         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
58872         (Depends-on): Add acl-tests.
58873         (configure.ac): Remove checks.
58874         (Makefile.am): Don't create test-sameacls program here any more.
58875
58876 2008-06-01  Bruno Haible  <bruno@clisp.org>
58877
58878         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
58879         * tests/test-sameacls.c: Include progname.h.
58880         (main): Invoke set_program_name. Portability fixes for MacOS X,
58881         Solaris, HP-UX.
58882
58883 2008-06-01  Bruno Haible  <bruno@clisp.org>
58884
58885         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
58886         function.
58887         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
58888
58889 2008-06-01  Bruno Haible  <bruno@clisp.org>
58890
58891         * modules/rpmatch (Depends-on): Add strdup.
58892
58893 2008-06-01  Bruno Haible  <bruno@clisp.org>
58894
58895         * lib/pipe.c: Include unistd-safer.h.
58896         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
58897         * modules/pipe (Depends-on): Add unistd-safer.
58898
58899 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58900
58901         * modules/autobuild (configure.ac): Call AB_INIT.
58902
58903 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58904
58905         * tests/test-getaddrinfo.c: Don't print debug messages by default.
58906         Suggested by Bruno Haible <bruno@clisp.org>.
58907
58908 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58909
58910         * tests/test-base64.c: Cast size_t to unsigned long when invoking
58911         printf.  Use %lu instead of %d.  Reported by Bruno Haible
58912         <bruno@clisp.org>.
58913
58914 2008-05-29  Eric Blake  <ebb9@byu.net>
58915
58916         Prefer new POSIX 200x interfaces over futimesat.
58917         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
58918         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
58919         when available.
58920         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
58921
58922 2008-05-28  Bruno Haible  <bruno@clisp.org>
58923
58924         * modules/stpcpy (License): Change to LGPLv2+.
58925         Requested by David Lutterkort <dlutter@redhat.com>.
58926
58927 2008-05-27  Bruno Haible  <bruno@clisp.org>
58928
58929         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
58930         current mingw.
58931         Reported by Jose E. Marchesi <jemarch@gnu.org>.
58932
58933 2008-05-27  Bruno Haible  <bruno@clisp.org>
58934
58935         * modules/iconv_open (Link): New section, from module 'iconv'.
58936         * modules/striconv (Link): Likewise.
58937         * modules/striconveh (Link): Likewise.
58938         * modules/xstriconv (Link): Likewise.
58939         * modules/unicodeio (Link): Likewise.
58940         * modules/propername (Link): Likewise.
58941         Reported by Jim Meyering.
58942
58943 2008-05-26  Jim Meyering  <meyering@redhat.com>
58944
58945         sha256: do not artificially restrict buffer length to be < 2^32
58946         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
58947         uint32_t to size_t.
58948         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
58949         to match.
58950
58951         avoid unaligned access errors, e.g., on sparc
58952         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
58953         direct access through a possibly-unaligned uint64* pointer.
58954         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
58955         direct access through a possibly-unaligned uint32* pointer.
58956         Prompted by this patch from Tom "spot" Callaway:
58957         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
58958
58959         sha512.c: fix typo in comment
58960         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
58961
58962 2008-05-25  Bruno Haible  <bruno@clisp.org>
58963
58964         * lib/set-mode-acl.c: Renamed from lib/acl.c.
58965         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
58966         (Makefile.am): Update lib_SOURCES.
58967
58968 2008-05-25  Bruno Haible  <bruno@clisp.org>
58969
58970         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
58971
58972 2008-05-25  Jim Meyering  <meyering@redhat.com>
58973
58974         useless-if-before-free: freed expr may have white-space differences
58975         * build-aux/useless-if-before-free: Recognize cases in which the
58976         freed expression differs from the tested one in embedded white
58977         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
58978         $1 was used, so we can't make any regexp shy.  Improved tests now
58979         detect this.
58980
58981         useless-if-before-free: accept white space in the expression.
58982         * build-aux/useless-if-before-free: For now, any white space
58983         in the expression must be identical in the free argument.
58984
58985         useless-if-before-free: efficiency tweak
58986         * build-aux/useless-if-before-free: Make the expression-matching
58987         regexp "shy".
58988         Make the *outer* regexp shy, not the expr-matching one.
58989
58990         update code-in-comment to accept cast of free arg
58991         * build-aux/useless-if-before-free: Update regexp.
58992
58993 2008-05-25  Bruno Haible  <bruno@clisp.org>
58994
58995         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
58996         * modules/copy-file-tests (Files, Makefile.am): Update.
58997         * tests/test-copy-file.c (func_test_copy): Update.
58998
58999 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
59000
59001         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
59002
59003 2008-05-23  Bruno Haible  <bruno@clisp.org>
59004
59005         Improve support for ACLs on OSF/1.
59006         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
59007         Remove fallback for unknown flavors of ACLs.
59008
59009 2008-05-22  Bruno Haible  <bruno@clisp.org>
59010
59011         Add support for ACLs on OSF/1.
59012         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
59013         replacements.
59014         (acl_free_text): New macro fallback.
59015         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
59016         acl_free.
59017         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
59018         acl_free_text function. Require AC_C_INLINE.
59019
59020 2008-05-22  Bruno Haible  <bruno@clisp.org>
59021
59022         Make copy_acl work on MacOS X 10.5.
59023         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
59024         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
59025         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
59026         If MODE_INSIDE_ACL, don't assume that every system has the same text
59027         representation for ACLs as FreeBSD.
59028         * lib/copy-acl.c (copy_acl): Add support for platforms with
59029         !MODE_INSIDE_ACL.
59030         * lib/file-has-acl.c (file_has_acl): Likewise.
59031         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
59032         FreeBSD, MacOS X, or IRIX, respectively.
59033
59034 2008-05-22  Bruno Haible  <bruno@clisp.org>
59035
59036         * lib/acl.h: Don't include <sys/acl.h>.
59037         (GETACLCNT): Move fallback to lib/acl-internal.h.
59038         * lib/acl-internal.h: Include <sys/acl.h> here.
59039         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
59040
59041 2008-05-22  Bruno Haible  <bruno@clisp.org>
59042
59043         Split off copy_acl function to separate file.
59044         * lib/copy-acl.c: New file, extracted from lib/acl.c.
59045         * lib/acl.c (copy_acl): Moved function to separate file.
59046         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
59047         * modules/acl (Files): Add lib/copy-acl.c.
59048         (Makefiles.am): Augment lib_SOURCES.
59049
59050 2008-05-22  Bruno Haible  <bruno@clisp.org>
59051
59052         * modules/copy-file-tests: New file.
59053         * tests/test-copy-file.sh: New file.
59054         * tests/test-copy-file.c: New file.
59055         * tests/test-copy-file-sameacls.c: New file.
59056
59057 2008-05-22  Eric Blake  <ebb9@byu.net>
59058
59059         Avoid gcc warning.
59060         * tests/test-memcmp.c (main): Pass NULL indirectly.
59061
59062 2008-05-21  Bruno Haible  <bruno@clisp.org>
59063
59064         Add reference doc about ACLs.
59065         * doc/acl-resources.txt: New file.
59066         * doc/acl-cygwin.txt: New file.
59067
59068 2008-05-21  Bruno Haible  <bruno@clisp.org>
59069
59070         Avoid one more warning from gcc.
59071         * lib/vasnprintf.c (IF_LINT): Update comments.
59072         (VASNPRINTF): Use it also for the 'prefix' array initializer.
59073
59074 2008-05-21  Jim Meyering  <meyering@redhat.com>
59075
59076         avoid a warning from gcc
59077         * lib/vasnprintf.c (IF_LINT): Define.
59078         (scale10_round_decimal_long_double):
59079         Use it to avoid a "may be used uninitialized" warning.
59080         (scale10_round_decimal_double): Likewise.
59081
59082 2008-05-21  Simon Josefsson  <simon@josefsson.org>
59083
59084         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
59085         declared.
59086
59087 2008-05-20  Bruno Haible  <bruno@clisp.org>
59088
59089         * tests/test-memcmp.c (main): Test also the sign of the result. Test
59090         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
59091
59092 2008-05-20  Simon Josefsson  <simon@josefsson.org>
59093
59094         * modules/memcmp-tests: New file.
59095         * tests/test-memcmp.c: New file.
59096
59097 2008-05-19  Bruno Haible  <bruno@clisp.org>
59098
59099         * modules/propername (Notice, configure.ac): Put quoted "..." into
59100         --keyword option.
59101         * lib/propername.h: Update comments accordingly.
59102         Reported by Eric Blake.
59103
59104 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
59105
59106         * modules/getpass-gnu (Depends-on): Add fseeko.
59107
59108 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59109
59110         * modules/base64-tests: New file.
59111
59112 2008-05-19  Bo Borgerson <gigabo@gmail.com>
59113
59114         * lib/base64.c (base64_decode_ctx): If a decode context structure
59115         was passed in use it to ignore newlines.  If a context structure
59116         was _not_ passed in, continue to treat newlines as garbage (this
59117         is the historical behavior).  Formerly base64_decode.
59118         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
59119         takes a decode context structure.
59120         * lib/base64.h (base64_decode): Macro for four-argument calls.
59121         (base64_decode_alloc): Likewise.
59122         * lib/base64.c (base64_decode_ctx): If a decode context structure
59123         was passed in use it to ignore newlines.  If a context structure
59124         was _not_ passed in, continue to treat newlines as garbage (this
59125         is the historical behavior).  Formerly base64_decode.
59126         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
59127         takes a decode context structure.
59128         * lib/base64.h (base64_decode): Macro for four-argument calls.
59129         (base64_decode_alloc): Likewise.
59130
59131 2008-05-19  Jim Meyering  <meyering@redhat.com>
59132
59133         avoid a warning from gcc
59134         * lib/trim.c (IF_LINT): Define.
59135         (trim2): Use it to avoid a "may be used uninitialized" warning.
59136
59137         Fix doc typo.
59138         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
59139
59140 2008-05-19  Bruno Haible  <bruno@clisp.org>
59141
59142         * doc/glibc-functions/getpass.texi: Document limits of other
59143         implementations.
59144
59145 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59146             Bruno Haible <bruno@clisp.org>
59147
59148         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
59149
59150 2008-05-18  Bruno Haible  <bruno@clisp.org>
59151
59152         * modules/propername: New file, from GNU gettext.
59153         * lib/propername.h: New file, from GNU gettext.
59154         * lib/propername.c: New file, from GNU gettext.
59155         * MODULES.html.sh (Internationalization functions): Add propername.
59156
59157 2008-05-16  Jim Meyering  <meyering@redhat.com>
59158             Bruno Haible  <bruno@clisp.org>
59159
59160         Avoid some warnings from "gcc -Wshadow".
59161         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
59162
59163 2008-05-15  Eric Blake  <ebb9@byu.net>
59164
59165         Extend previous patch to cygwin 1.7.0.
59166         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
59167         fast implementation in cygwin >= 1.7.0.
59168         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59169         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59170
59171 2008-05-15  Bruno Haible  <bruno@clisp.org>
59172
59173         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
59174         implementation in glibc >= 2.9.
59175         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59176         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59177
59178 2008-05-15  Bruno Haible  <bruno@clisp.org>
59179
59180         * MODULES.html.sh (Internationalization functions): Remove linebreak.
59181         (Unicode string functions): Add unilbrk/*.
59182         Reported by Karl Berry.
59183
59184 2008-05-15  Eric Blake  <ebb9@byu.net>
59185
59186         Fix violation of <stdbool.h> replacement in regex.
59187         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
59188         * lib/regexec.c (re_search_internal): Likewise.
59189         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
59190
59191 2008-05-15  Jim Meyering  <meyering@redhat.com>
59192
59193         avoid distracting test output when git or cvs is not found
59194         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
59195         * tests/test-vc-list-files-git.sh: Likewise.
59196
59197 2008-05-15  Eric Blake  <ebb9@byu.net>
59198
59199         Glibc finally accepted the memmem speedup code, bugzilla #5514.
59200         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
59201         glibc version.
59202         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
59203         * doc/posix-functions/strstr.texi (strstr): Likewise.
59204         * lib/str-two-way.h (MAX): Sychronize with glibc.
59205
59206 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
59207
59208         * lib/regcomp.c (optimize_utf8): Add a note on why we test
59209         opr.ctx_type.
59210         (calc_first): Initialize constraint field.
59211         (duplicate_node_closure): Use it instead of special casing ANCHORS.
59212         Fix grammar.
59213         (duplicate_node): Merge constraint field for all node types.
59214         (calc_eclosure_iter): Look at constraint field for all node types.
59215         * lib/regex_internal.c (create_cd_newstate): Don't look at
59216         opr.ctx_type.
59217
59218 2008-05-14  Bruno Haible  <bruno@clisp.org>
59219
59220         Help GCC to do better code generation.
59221         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
59222         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
59223         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
59224         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
59225         Declare with attribute 'malloc' if supported.
59226
59227 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
59228
59229         use "echo STR|wc -c" rather than unportable "expr length STR"
59230         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
59231         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
59232
59233 2008-05-14  Jim Meyering  <meyering@redhat.com>
59234
59235         use dd ibs=$n count=1 ... rather than less-portable head -c$n
59236         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
59237         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
59238         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
59239         via Collin Lasse.
59240
59241 2008-05-14  Eric Blake  <ebb9@byu.net>
59242
59243         Avoid quadratic growth in gl_LIBSOURCES.
59244         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
59245         Suggested by Bruno Haible.
59246
59247         Test xmemdup0.
59248         * modules/xmemdup0-tests: New file.
59249         * tests/test-xmemdup0.c: Likewise.
59250
59251 2008-05-13  Eric Blake  <ebb9@byu.net>
59252
59253         Split xmemdup0 into its own module.
59254         * modules/xmemdup0: New file.
59255         * lib/xmemdup0.h: Likewise.
59256         * lib/xmemdup0.c: Likewise.
59257         * MODULES.html.sh (Memory management functions): Add xmemdup0.
59258         * lib/xalloc.h (xmemdup0): Remove.
59259         * lib/xmalloc.c (xmemdup0): Likewise.
59260
59261 2008-05-13  Eric Blake  <ebb9@byu.net>
59262             Bruno Haible  <bruno@clisp.org>
59263
59264         Reduce number of forks required during autoconf.
59265         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
59266         and gl_LIBSOURCES_DIR.
59267         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
59268         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
59269         m4_syscmd per file.
59270         <m4_foreach_w>: Move...
59271         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
59272
59273 2008-05-13  Eric Blake  <ebb9@byu.net>
59274
59275         * gnulib-tool: Fix various comment typos.
59276
59277 2008-05-12  Bruno Haible  <bruno@clisp.org>
59278
59279         Tailor the linebreaking algorithm.
59280         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
59281
59282 2008-05-12  Bruno Haible  <bruno@clisp.org>
59283
59284         Update to Unicode 5.0.0.
59285         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59286         LBP_JV, LBP_JT. Redistribute values.
59287         (unilbrk_table): Change size.
59288         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
59289         Unicode TR#14 rev. 22.
59290         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59291         LBP_JV, LBP_JT. Redistribute values.
59292         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
59293         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
59294         Update.
59295         * lib/unilbrk/lbrkprop1.h: Regenerated.
59296         * lib/unilbrk/lbrkprop2.h: Regenerated.
59297         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
59298         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
59299         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
59300         Likewise.
59301         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
59302         Likewise.
59303         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
59304         result.
59305         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
59306         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
59307         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
59308         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
59309         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
59310         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
59311
59312 2008-05-11  Bruno Haible  <bruno@clisp.org>
59313
59314         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
59315
59316 2008-05-11  Bruno Haible  <bruno@clisp.org>
59317
59318         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
59319         * modules/unilbrk/gen-lbrk: New file.
59320
59321 2008-05-11  Bruno Haible  <bruno@clisp.org>
59322
59323         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
59324         * m4/sha512.m4 (gl_SHA512): Likewise.
59325
59326 2008-05-11  Jim Meyering  <meyering@redhat.com>
59327
59328         New modules: crypto/sha256, crypto/sha512 (from coreutils)
59329         * modules/crypto/sha256: New file.
59330         * modules/crypto/sha512: Likewise.
59331         * lib/sha256.c: Likewise.
59332         * lib/sha256.h: Likewise.
59333         * lib/sha512.c: Likewise.
59334         * lib/sha512.h: Likewise.
59335         * lib/u64.h: Likewise.
59336         * m4/sha256.m4: Likewise.
59337         * m4/sha512.m4: Likewise.
59338         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
59339
59340 2008-05-10  Bruno Haible  <bruno@clisp.org>
59341
59342         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
59343         (Input/Output <stdio.h>): Add xprintf.
59344         (Signal handling <signal.h>): Add strsignal.
59345         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
59346         (Core language properties): Add func.
59347         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
59348         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
59349         strings.
59350         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
59351         (Input/output): New section.
59352         (File system functions): Add openat-die, stat-macros.
59353         (Networking functions): Add sockets.
59354         (Unicode string functions): Add unictype/*.
59355         (Support for building libraries and executables): Add gperf.
59356         (Support for building documentation): Add agpl-3.0.
59357         (Misc): Add nocrash.
59358
59359 2008-05-10  Bruno Haible  <bruno@clisp.org>
59360
59361         * modules/unictype/gen-ctype: New file.
59362
59363 2008-05-10  Jim Meyering  <meyering@redhat.com>
59364
59365         Make chdir-safer.c more efficient on a system with no symlinks.
59366         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
59367         also if ELOOP is zero.  Suggested by Bruno Haible.
59368
59369         Make chdir-safer.c slightly safer.
59370         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
59371         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
59372
59373         Avoid compile failure on systems without ELOOP (like mingw).
59374         * lib/chdir-safer.c (ELOOP): Define if not already defined.
59375         Reported by Bruno Haible.
59376
59377 2008-05-10  Bruno Haible  <bruno@clisp.org>
59378
59379         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
59380         (is_utf8_encoding): Use a case-insensitive comparison.
59381         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
59382         streq.
59383
59384 2008-05-10  Bruno Haible  <bruno@clisp.org>
59385
59386         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
59387         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
59388         * lib/unilbrk/ulc-common.h (iconv_string_length,
59389         iconv_string_keeping_offsets): Remove declarations.
59390         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
59391         Don't include <iconv.h>, streq.h, xsize.h.
59392         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
59393         conversion.
59394         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
59395         <iconv.h>, streq.h, xsize.h.
59396         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
59397         conversion.
59398         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
59399         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
59400         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
59401         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
59402
59403 2008-05-10  Bruno Haible  <bruno@clisp.org>
59404
59405         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
59406         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
59407
59408         * modules/unilbrk/u32-width-linebreaks-tests: New file.
59409         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
59410
59411         * modules/unilbrk/u16-width-linebreaks-tests: New file.
59412         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
59413
59414         * modules/unilbrk/u8-width-linebreaks-tests: New file.
59415         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
59416
59417         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
59418         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
59419
59420         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
59421         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
59422
59423         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
59424         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
59425
59426         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
59427         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
59428
59429 2008-05-10  Bruno Haible  <bruno@clisp.org>
59430
59431         Split up 'linebreak' module.
59432         * lib/unilbrk.h: New file, based on lib/linebreak.h.
59433         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
59434         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
59435         modifications.
59436         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
59437         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
59438         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
59439         lib/linebreak.c.
59440         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
59441         lib/linebreak.c.
59442         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
59443         lib/linebreak.c.
59444         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
59445         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
59446         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
59447         lib/linebreak.c.
59448         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
59449         lib/linebreak.c.
59450         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
59451         lib/linebreak.c.
59452         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
59453         lib/linebreak.c.
59454         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
59455         lib/linebreak.c.
59456         * modules/unilbrk/base: New file.
59457         * modules/unilbrk/tables: New file.
59458         * modules/unilbrk/u8-possible-linebreaks: New file.
59459         * modules/unilbrk/u16-possible-linebreaks: New file.
59460         * modules/unilbrk/u32-possible-linebreaks: New file.
59461         * modules/unilbrk/ulc-common: New file.
59462         * modules/unilbrk/ulc-possible-linebreaks: New file.
59463         * modules/unilbrk/u8-width-linebreaks: New file.
59464         * modules/unilbrk/u16-width-linebreaks: New file.
59465         * modules/unilbrk/u32-width-linebreaks: New file.
59466         * modules/unilbrk/ulc-width-linebreaks: New file.
59467         * lib/linebreak.h: Remove file.
59468         * lib/linebreak.c: Remove file.
59469         * m4/linebreak.m4: Remove file.
59470         * modules/linebreak: Remove file.
59471         * NEWS: Mention the changes.
59472
59473 2008-05-09  Eric Blake  <ebb9@byu.net>
59474
59475         Add xmemdup0.
59476         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
59477         implementation.
59478         * lib/xmalloc.c (xmemdup0): New C implementation.
59479
59480 2008-05-08  Bruno Haible  <bruno@clisp.org>
59481
59482         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
59483
59484 2008-05-07  Eric Blake  <ebb9@byu.net>
59485
59486         Support cross-compilation of <wctype.h>.
59487         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
59488         AC_CACHE_CHECK.
59489
59490 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
59491
59492         * build-aux/vc-list-files: Add support for bzr.
59493
59494 2008-05-03  Jim Meyering  <meyering@redhat.com>
59495
59496         avoid failed assertion with tight malloc
59497         * tests/test-getndelim2.c: Correct an off-by-one assertion.
59498
59499 2008-05-03  Simon Josefsson  <simon@josefsson.org>
59500
59501         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
59502         are needed from arpa/inet.h.
59503         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
59504         Reported by Bruno Haible.
59505
59506 2008-05-02  Jim Meyering  <meyering@redhat.com>
59507
59508         avoid compilation error on FreeBSD 6
59509         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
59510
59511 2008-05-01  Jim Meyering  <meyering@redhat.com>
59512
59513         useless-if-before-free: correct --help's exit status description
59514         * build-aux/useless-if-before-free (usage): Like grep, exit 0
59515         for one or more matches, etc.  Reported by Bruno Haible.
59516
59517         vc-list-files: make the stand-alone gnulib test work
59518         * modules/vc-list-files-tests (configure.ac):
59519         Define and AC_SUBST abs_aux_dir.
59520         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
59521         $(abs_top_srcdir) to each script and having each of them
59522         duplicate the work of setting PATH, set PATH here, using
59523         the new variable, abs_aux_dir instead.
59524         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
59525         * tests/test-vc-list-files-git.sh: Likewise.
59526         Reported by Bruno Haible.
59527
59528 2008-05-01  Bruno Haible  <bruno@clisp.org>
59529
59530         * lib/getndelim2.c (getndelim2): Fix newsize computation during
59531         reallocation. Rename 'done' to 'found_delimiter'.
59532
59533 2008-05-01  Jim Meyering  <meyering@redhat.com>
59534
59535         vc-list-files: accommodate /bin/sh like the one from Solaris 10
59536         * build-aux/vc-list-files: Use `...`, not $(...).
59537
59538 2008-04-30  Jim Meyering  <meyering@redhat.com>
59539
59540         add tests for vc-list-files
59541         * modules/vc-list-files-tests: New module.
59542         * tests/test-vc-list-files-cvs.sh: New file.
59543         * tests/test-vc-list-files-git.sh: New file.
59544
59545         avoid a warning from gcc
59546         * lib/getndelim2.c (IF_LINT): Define.
59547         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
59548
59549         vc-list-files: work properly with build-aux/cvsu, too
59550         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
59551         to all cvs-based clauses.
59552
59553         vc-list-files: work properly in the CVS+awk case, too
59554         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
59555
59556         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
59557         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
59558         take more than one file argument, so .  Add quotes, just in case $dir
59559         ever contains a shell meta-character.  Prompted by Soren Hansen in
59560         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
59561
59562 2008-04-29  Eric Blake  <ebb9@byu.net>
59563
59564         Optimize getndelim2 to use block operations when possible.
59565         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
59566         freadseek, and memchr2.
59567         * lib/getndelim2.c (getndelim2): Use them for block reads.
59568
59569 2008-04-29  Bruno Haible  <bruno@clisp.org>
59570
59571         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
59572         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59573         * modules/inet_ntop (Depends-on): Add extensions.
59574         * modules/inet_pton (Depends-on): Likewise.
59575         Reported by Simon Josefsson.
59576
59577 2008-04-29  Jim Meyering  <meyering@redhat.com>
59578
59579         When the is more than one match in a block, match all of them.
59580         * build-aux/useless-if-before-free: Iterate through each block
59581         until there are no more matches.
59582
59583         Fix broken useless-if-before-free script.
59584         * build-aux/useless-if-before-free: Fix typo: missing "?" after
59585         the expression to match cast of argument to free-like function.
59586
59587 2008-04-29  Eric Blake  <ebb9@byu.net>
59588
59589         Use new header.
59590         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
59591
59592 2008-04-29  Jim Meyering  <meyering@redhat.com>
59593
59594         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
59595         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
59596         by gnulib to exist and to declare e.g., inet_ntop.
59597         Don't include "inet_ntop.h", now removed.
59598
59599         * m4/arpa_inet_h.m4: Remove trailing blanks.
59600
59601 2008-04-29  Eric Blake  <ebb9@byu.net>
59602
59603         Silence valgrind on safe reads beyond potential array bounds.
59604         * lib/rawmemchr.valgrind: New file.
59605         * lib/strchrnul.valgrind: Likewise.
59606         * modules/rawmemchr (Files): Distribute new file.
59607         * modules/strchrnul (Files): Likewise.
59608         Suggested by Bruno Haible.
59609
59610 2008-04-29  Bruno Haible  <bruno@clisp.org>
59611
59612         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
59613         (inet_ntop, inet_pton): Change portability warning's wording.
59614         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
59615         Invoke gl_CHECK_NEXT_HEADERS.
59616         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
59617         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
59618         set ARPA_INET_H.
59619         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59620         * modules/arpa_inet (Description): No longer only for systems that
59621         lack it.
59622         (Depends-on): Add include_next.
59623         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
59624         HAVE_ARPA_INET_H.
59625
59626 2008-04-29  Jim Meyering  <meyering@redhat.com>
59627
59628         * modules/mkdir (License): Re-license as LGPLv2+.
59629
59630 2008-04-29  Bruno Haible  <bruno@clisp.org>
59631
59632         * modules/rawmemchr (Maintainer): Set to Eric.
59633         * modules/strchrnul (Maintainer): Likewise.
59634
59635 2008-04-29  Simon Josefsson  <simon@josefsson.org>
59636
59637         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
59638         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
59639
59640         * modules/arpa_inet (arpa/inet.h): Use them.
59641
59642 2008-04-28  Eric Blake  <ebb9@byu.net>
59643
59644         Test getndelim2.
59645         * modules/getndelim2-tests: New file.
59646         * tests/test-getndelim2.c: Likewise.
59647         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
59648         stream.
59649         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
59650
59651         * MODULES.html.sh: Document new module.
59652
59653 2008-04-20  Bruno Haible  <bruno@clisp.org>
59654
59655         * lib/c-stack.c (die): Use raise.
59656         * modules/c-stack (Depends-on): Add raise.
59657
59658 2008-04-28  Bruno Haible  <bruno@clisp.org>
59659
59660         Expect rpmatch to be declared.
59661         * lib/yesno.c (rpmatch): Remove declaration.
59662
59663         Declare rpmatch.
59664         * lib/stdlib.in.h (rpmatch): New declaration.
59665         * lib/rpmatch.c: Include <stdlib.h> first.
59666         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
59667         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
59668         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
59669         HAVE_RPMATCH.
59670         * modules/rpmatch (Depends-on): Add stdlib, extensions.
59671         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
59672         (Include): Set to <stdlib.h>.
59673         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
59674         HAVE_RPMATCH.
59675         * NEWS: Document the change.
59676
59677 2008-04-28  Bruno Haible  <bruno@clisp.org>
59678
59679         Change rpmatch to use nl_langinfo when appropriate.
59680         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
59681         (N_): New macro.
59682         (localized_pattern): New function/macro.
59683         (try): Remove match, nomatch arguments. Copy the pattern into safe
59684         memory before caching it.
59685         (rpmatch): Use localized_pattern. Add translator comments.
59686         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
59687         Suggested by Eric Blake.
59688         * modules/rpmatch (Depends-on): Add stdbool.
59689
59690 2008-04-28  Eric Blake  <ebb9@byu.net>
59691
59692         Add rawmemchr module, matching glibc.
59693         * modules/string (Makefile.am): New indicator.
59694         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
59695         * lib/string.in.h (rawmemchr): Declare when appropriate.
59696         * modules/rawmemchr: New file.
59697         * m4/rawmemchr.m4: Likewise.
59698         * lib/rawmemchr.c: Likewise.
59699         * modules/rawmemchr-tests: Likewise.
59700         * tests/test-rawmemchr.c: Likewise.
59701         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
59702         module.
59703         * modules/strchrnul (Depends-on): Add rawmemchr.
59704         * lib/strchrnul.c (strchrnul): Optimize a corner case.
59705
59706         Whitespace cleanup.
59707         * tests/test-strchrnul.c: Reindent.
59708         * lib/strchrnul.c: Likewise.
59709
59710         Optimize and test strchrnul.
59711         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
59712         * modules/strchrnul-tests: New file.
59713         * tests/test-strchrnul.c: Likewise.
59714
59715         Remove intprops dependency.
59716         * modules/memchr (Depends-on): Remove intprops.
59717         * modules/memrchr (Depends-on): Likewise.
59718         * modules/memchr2 (Depends-on): Likewise.
59719         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
59720         * lib/memrchr.c (__memrchr): Likewise.
59721         * lib/memrchr2.c (memchr2): Likewise.
59722         Reported by Simon Josefsson.
59723
59724 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59725
59726         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
59727         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59728
59729 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59730
59731         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
59732
59733         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
59734
59735         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
59736
59737         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
59738         declarations.
59739         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
59740
59741         * m4/inet_pton.m4: Don't check for header files.
59742
59743         * m4/inet_ntop.m4: Don't check for header files.
59744
59745 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59746
59747         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
59748         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
59749         trigger for cygwin).
59750         Reported by Bruno Haible  <bruno@clisp.org>.
59751
59752 2008-04-28  Bruno Haible  <bruno@clisp.org>
59753
59754         * doc/posix-functions/strdup.texi: Mention mingw problem.
59755
59756 2008-04-27  Bruno Haible  <bruno@clisp.org>
59757
59758         * modules/stat-time-tests (Depends-on): Add sleep.
59759         * tests/test-stat-time.c (force_unlink): New function.
59760         (cleanup): Use it.
59761         (test_mtime): Remove the ctime related tests.
59762         (test_ctime): New function, containing the ctime related tests.
59763         (main): Call test_ctime, except on native Windows platforms.
59764
59765 2008-04-27  Bruno Haible  <bruno@clisp.org>
59766
59767         * lib/rpmatch.c (rpmatch): Add some comments.
59768         Reported by James Youngman <jay@gnu.org>.
59769
59770 2008-04-27  Bruno Haible  <bruno@clisp.org>
59771
59772         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
59773         quiet NaNs.
59774
59775 2008-04-27  Bruno Haible  <bruno@clisp.org>
59776
59777         Make test-yesno.sh work on mingw.
59778         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
59779         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
59780         (main): Set stdin to binary mode.
59781         * modules/yesno-tests (Depends-on): Add binary-io.
59782
59783 2008-04-27  Bruno Haible  <bruno@clisp.org>
59784
59785         Fix 'isfinite' on x86, x86_64, ia64 platforms.
59786         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
59787         argument that lie outside the IEEE 854 domain.
59788         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
59789         (gl_ISFINITE): Use it.
59790         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
59791
59792 2008-04-27  Bruno Haible  <bruno@clisp.org>
59793
59794         Allow local renaming in config.h.
59795         * lib/memrchr.c (memrchr): Don't undefine outside libc.
59796
59797 2008-04-27  Bruno Haible  <bruno@clisp.org>
59798
59799         * lib/memchr.c (__memchr): Change type of 'i'.
59800         * lib/memchr2.c (memchr2): Likewise.
59801
59802 2008-04-26  Eric Blake  <ebb9@byu.net>
59803         and Bruno Haible  <bruno@clisp.org>
59804
59805         Optimize and test memrchr.
59806         * modules/memrchr (Depends-on): Add intprops.
59807         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
59808         * modules/memrchr-tests: New file.
59809         * tests/test-memrchr.c: New file.
59810
59811 2008-04-26  Bruno Haible  <bruno@clisp.org>
59812
59813         Add tentative support for DragonFly BSD.
59814         * lib/stdio-impl.h: Add macros for DragonFly BSD.
59815         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
59816         fp.
59817         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
59818         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
59819         * lib/fpurge.c (fpurge): Likewise.
59820         * lib/freadable.c (freaadable): Likewise.
59821         * lib/freadahead.c (freadahead): Likewise.
59822         * lib/freading.c (freading): Likewise.
59823         * lib/freadptr.c (freadptr): Likewise.
59824         * lib/freadseek.c (freadptrinc): Likewise.
59825         * lib/fseeko.c (fseeko): Likewise.
59826         * lib/fseterr.c (fseterr): Likewise.
59827         * lib/fwritable.c (fwritable): Likewise.
59828         * lib/fwriting.c (fwriting): Likewise.
59829
59830 2008-04-26  Bruno Haible  <bruno@clisp.org>
59831
59832         * lib/stdio-impl.h: New file.
59833         * lib/fbufmode.c: Include stdio-impl.h.
59834         (fbufmode): Use fp_, remove redundant #defines.
59835         * lib/fflush.c: Include stdio-impl.h.
59836         (clear_ungetc_buffer): Remove redundant #defines.
59837         * lib/fpurge.c: Include stdio-impl.h.
59838         (fpurge): Remove redundant #defines.
59839         * lib/freadable.c: Include stdio-impl.h.
59840         (freadable): Remove redundant #defines.
59841         * lib/freadahead.c: Include stdio-impl.h.
59842         (freadahead): Remove redundant #defines.
59843         * lib/freading.c: Include stdio-impl.h.
59844         (freading): Remove redundant #defines.
59845         * lib/freadptr.c: Include stdio-impl.h.
59846         (freadptr): Remove redundant #defines.
59847         * lib/freadseek.c: Include stdio-impl.h.
59848         (freadptrinc): Remove redundant #defines.
59849         * lib/fseeko.c: Include stdio-impl.h.
59850         (rpl_fseeko): Remove redundant #defines.
59851         * lib/fseterr.c: Include stdio-impl.h.
59852         (fseterr): Remove redundant #defines.
59853         * lib/fwritable.c: Include stdio-impl.h.
59854         (fwritable: Remove redundant #defines.
59855         * lib/fwriting.c: Include stdio-impl.h.
59856         (fwriting): Remove redundant #defines.
59857         * modules/fbufmode (Files): Add lib/stdio-impl.h.
59858         * modules/fflush (Files): Likewise.
59859         * modules/fpurge (Files): Likewise.
59860         * modules/freadable (Files): Likewise.
59861         * modules/freadahead (Files): Likewise.
59862         * modules/freading (Files): Likewise.
59863         * modules/freadptr (Files): Likewise.
59864         * modules/freadseek (Files): Likewise.
59865         * modules/fseeko (Files): Likewise.
59866         * modules/fseterr (Files): Likewise.
59867         * modules/fwritable (Files): Likewise.
59868         * modules/fwriting (Files): Likewise.
59869
59870 2008-04-26  Bruno Haible  <bruno@clisp.org>
59871
59872         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
59873         restore_seek_optimization, update_fpos_cache): New functions, extracted
59874         from rpl_fflush.
59875         (rpl_fflush): Use them.
59876         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
59877         (gl_REPLACE_FFLUSH): Use it.
59878
59879 2008-04-26  Bruno Haible  <bruno@clisp.org>
59880
59881         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
59882         on Solaris.
59883         * tests/test-xstrtoimax.sh: Likewise.
59884         * tests/test-xstrtoumax.sh: Likewise.
59885         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59886
59887 2008-04-26  Bruno Haible  <bruno@clisp.org>
59888
59889         * modules/memchr-tests: New file.
59890         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
59891
59892 2008-04-26  Eric Blake  <ebb9@byu.net>
59893             Bruno Haible  <bruno@clisp.org>
59894
59895         * lib/memchr.c: Include intprops.h.
59896         (__memchr): Optimize parallel detection of matching bytes. Rename local
59897         variables. Add explanatory comments.
59898
59899 2008-04-26  Bruno Haible  <bruno@clisp.org>
59900
59901         Fix module 'memchr', broken since 2000-10-28.
59902         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
59903
59904 2008-04-26  Bruno Haible  <bruno@clisp.org>
59905
59906         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
59907         comments.
59908
59909 2008-04-25  Eric Blake  <ebb9@byu.net>
59910
59911         Use native fstatat on cygwin 1.7.0.
59912         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
59913         first.
59914
59915 2008-04-23  Eric Blake  <ebb9@byu.net>
59916
59917         Improve memchr2 performance.
59918         * lib/memchr2.c (memchr2): Further optimize parallel detection of
59919         NUL bytes.
59920         * modules/memchr2 (Depends-on): Use intprops.h.
59921
59922 2008-04-23  Simon Josefsson  <simon@josefsson.org>
59923
59924         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
59925         an inline function instead of a CPP macro.  Patch by Ben Pfaff
59926         <blp@cs.stanford.edu>.
59927
59928 2008-04-23  Simon Josefsson  <simon@josefsson.org>
59929
59930         * lib/arpa_inet.in.h: New file.
59931
59932         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
59933         (Makefile.am): Sed in substitute header file.
59934
59935         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
59936         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
59937
59938         * modules/inet_ntop (configure.ac): Use
59939         gl_ARPA_INET_MODULE_INDICATOR.
59940
59941         * modules/inet_pton (configure.ac): Use
59942         gl_ARPA_INET_MODULE_INDICATOR.
59943
59944 2008-04-22  Jim Meyering  <meyering@redhat.com>
59945
59946         * modules/verify (License): Re-license as LGPLv2+.
59947
59948 2008-04-22  Simon Josefsson  <simon@josefsson.org>
59949
59950         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
59951         parameter to void* as per POSIX standard (MinGW uses char*).
59952
59953 2008-04-21  Bruno Haible  <bruno@clisp.org>
59954
59955         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
59956         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
59957         Define to replacements if REPLACE_ISWCNTRL is 1.
59958         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
59959         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
59960         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
59961         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
59962         what it fixes.
59963         * doc/posix-functions/iswalpha.texi: Likewise.
59964         * doc/posix-functions/iswblank.texi: Likewise.
59965         * doc/posix-functions/iswcntrl.texi: Likewise.
59966         * doc/posix-functions/iswdigit.texi: Likewise.
59967         * doc/posix-functions/iswgraph.texi: Likewise.
59968         * doc/posix-functions/iswlower.texi: Likewise.
59969         * doc/posix-functions/iswprint.texi: Likewise.
59970         * doc/posix-functions/iswpunct.texi: Likewise.
59971         * doc/posix-functions/iswspace.texi: Likewise.
59972         * doc/posix-functions/iswupper.texi: Likewise.
59973         * doc/posix-functions/iswxdigit.texi: Likewise.
59974         Reported by Alain Guibert.
59975
59976 2008-04-21  Bruno Haible  <bruno@clisp.org>
59977
59978         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
59979         Patch by Alain Guibert.
59980
59981 2008-04-21  Bruno Haible  <bruno@clisp.org>
59982
59983         Fix test failures on mingw.
59984         * tests/test-xstrtol.c (print_no_progname): New function.
59985         (main): Install it in error_print_progname hook.
59986         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
59987         * tests/test-xstrtoimax.sh: Likewise.
59988         * tests/test-xstrtoumax.sh: Likewise.
59989
59990 2008-04-21  Bruno Haible  <bruno@clisp.org>
59991
59992         Fix test failure on mingw.
59993         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
59994
59995 2008-04-21  Bruno Haible  <bruno@clisp.org>
59996
59997         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
59998         Actually assign a value.
59999
60000 2008-04-20  Bruno Haible  <bruno@clisp.org>
60001
60002         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
60003         take 2.
60004         * lib/canonicalize.c (canonicalize_file_name): Elide if the
60005         'canonicalize-lgpl' module is also used.
60006         * lib/canonicalize-lgpl.c: Undo last change.
60007         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
60008
60009 2008-04-20  Bruno Haible  <bruno@clisp.org>
60010
60011         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
60012         config.h. Provide _mkdir based fallback for mingw.
60013         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
60014         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
60015         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
60016         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
60017         rather than defining mkdir in config.h.
60018         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
60019         (gl_SYS_STAT_H_DEFAULTS): New macro.
60020         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
60021         HAVE_IO_H any more.
60022         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
60023         HAVE_DECL_MKDIR and HAVE_IO_H.
60024
60025 2008-04-20  Bruno Haible  <bruno@clisp.org>
60026
60027         * lib/isapipe.c: Port to native Windows platforms.
60028
60029 2008-04-20  Bruno Haible  <bruno@clisp.org>
60030
60031         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
60032
60033 2008-04-21  Eric Blake  <ebb9@byu.net>
60034
60035         Work around preprocessors that don't handle UINTMAX_MAX.
60036         * lib/memchr2.c (memchr2): Avoid embedded #if.
60037         Reported by Alain Guibert, fix suggested by Bruno Haible.
60038
60039 2008-04-21  Simon Josefsson  <simon@josefsson.org>
60040
60041         * doc/posix-functions/strftime.texi (strftime): Explain better
60042         Windows incompatibility.  Suggested by Micah Cowan
60043         <micah@cowan.name>.
60044
60045 2008-04-20  Bruno Haible  <bruno@clisp.org>
60046
60047         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
60048         unistr/u8-mblen.
60049
60050 2008-04-20  Bruno Haible  <bruno@clisp.org>
60051
60052         Fix test failure on platforms with non-GNU iconv.
60053         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
60054         (U_TO_U8): Use it, rather than u16_to_u8.
60055         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
60056         units at the end of the input string.
60057         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
60058
60059 2008-04-20  Bruno Haible  <bruno@clisp.org>
60060
60061         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
60062         when the resulting length is 0.
60063         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
60064
60065 2008-04-20  Bruno Haible  <bruno@clisp.org>
60066
60067         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
60068         works.
60069         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
60070
60071 2008-04-20  Bruno Haible  <bruno@clisp.org>
60072
60073         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
60074         * modules/tsearch-tests (configure.ac): Test for initstate function.
60075
60076 2008-04-20  Bruno Haible  <bruno@clisp.org>
60077
60078         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
60079         for nlink_t if missing.
60080         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
60081
60082 2008-04-19  Bruno Haible  <bruno@clisp.org>
60083
60084         Work around snprintf bug on Linux libc5.
60085         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
60086         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
60087         gl_SNPRINTF_SIZE1.
60088         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60089         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
60090         that test failed.
60091         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
60092         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
60093         * modules/snprintf (Files): Add m4/printf.m4.
60094         * modules/vsnprintf (Files): Likewise.
60095         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
60096         * doc/posix-functions/vsnprintf.texi: Likewise.
60097
60098 2008-04-19  Bruno Haible  <bruno@clisp.org>
60099
60100         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
60101         from 0.0058 to less than 10^-7.
60102
60103 2008-04-19  Bruno Haible  <bruno@clisp.org>
60104
60105         Fix rounding when a precision is given.
60106         * lib/vasnprintf.c (is_borderline): New function.
60107         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
60108         9...9x.
60109         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
60110         %e, %g.
60111         * tests/test-vasprintf-posix.c (test_function): Likewise.
60112         * tests/test-snprintf-posix.h (test_function): Likewise.
60113         * tests/test-sprintf-posix.h (test_function): Likewise.
60114         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
60115         * tests/test-printf-posix.h (test_function): Likewise.
60116         * tests/test-printf-posix.output: Update.
60117         Reported by John Darrington <john@darrington.wattle.id.au> via
60118         Ben Pfaff <blp@cs.stanford.edu>.
60119
60120 2008-04-18  Simon Josefsson  <simon@josefsson.org>
60121
60122         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
60123         Suggested by Bruno Haible <bruno@clisp.org>.
60124
60125 2008-04-17  Bruno Haible  <bruno@clisp.org>
60126
60127         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
60128         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
60129         implementation.
60130         Patch by Bruce Merry <bmerry@gmail.com>.
60131
60132 2008-04-17  Simon Josefsson  <simon@josefsson.org>
60133
60134         * doc/posix-functions/strftime.texi (strftime): Mention that %e
60135         doesn't work under Windows.
60136
60137 2008-04-16  Bruno Haible  <bruno@clisp.org>
60138
60139         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
60140         New macros.
60141         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
60142         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
60143         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
60144         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
60145         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
60146         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
60147         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
60148         macros.
60149         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
60150         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
60151         Northern Sotho, Uighur.
60152
60153 2008-04-16  Bruno Haible  <bruno@clisp.org>
60154
60155         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
60156         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
60157         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
60158         Reported by Daniel Bergström <daniel@octocode.com>.
60159
60160 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
60161             Bruno Haible  <bruno@clisp.org>
60162
60163         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
60164         function.
60165         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
60166         New functions, mostly extracted from gl_locale_name_default.
60167         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
60168
60169 2008-04-16  Eric Blake  <ebb9@byu.net>
60170
60171         Adjust strtod detection to catch glibc 2.7 bug.
60172         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
60173         Reported by John Gatewood Ham.
60174
60175 2008-04-16  Bruno Haible  <bruno@clisp.org>
60176
60177         Add tentative support for Linux libc5.
60178         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
60179         * lib/fpurge.c (fpurge): Likewise.
60180         * lib/freadable.c (freadable): Likewise.
60181         * lib/freadahead.c (freadahead): Likewise.
60182         * lib/freading.c (freading): Likewise.
60183         * lib/freadptr.c (freadptr): Likewise.
60184         * lib/freadseek.c (freadptrinc): Likewise.
60185         * lib/fseeko.c (rpl_fseeko): Likewise.
60186         * lib/fseterr.c (fseterr): Likewise.
60187         * lib/fwritable.c (fwritable): Likewise.
60188         * lib/fwriting.c (fwriting): Likewise.
60189         Reported by Alain Guibert <alguibert+bts@free.fr>.
60190
60191 2008-04-15  Bruno Haible  <bruno@clisp.org>
60192
60193         * modules/mathl (configure.ac): Define module indicator.
60194
60195 2008-04-15  Bruno Haible  <bruno@clisp.org>
60196
60197         * lib/logl.c (logl): Remove unused variables.
60198
60199 2008-04-15  Bruno Haible  <bruno@clisp.org>
60200
60201         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
60202         fails.
60203
60204 2008-04-15  Bruno Haible  <bruno@clisp.org>
60205
60206         * lib/trim.c (trim2): Fix argument of isspace() macro.
60207
60208 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
60209
60210         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
60211         to 0.
60212         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
60213
60214 2008-04-14  Bruno Haible  <bruno@clisp.org>
60215
60216         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
60217         AC_LANG_PROGRAM argument.
60218         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
60219         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
60220         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
60221         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
60222         * m4/math_h.m4 (gl_MATH_H): Likewise.
60223         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
60224         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
60225         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
60226         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
60227         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
60228         * m4/regex.m4 (gl_REGEX): Likewise.
60229         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
60230         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
60231         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
60232         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
60233         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
60234         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
60235         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
60236         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
60237
60238 2008-04-14  Jim Meyering  <meyering@redhat.com>
60239
60240         test-strtod: fix typos: s/abs/fabs/
60241         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
60242
60243 2008-04-13  Bruno Haible  <bruno@clisp.org>
60244
60245         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
60246         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
60247         module is also used and while not building the reloc-wrapper.
60248
60249 2008-04-13  Bruno Haible  <bruno@clisp.org>
60250
60251         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
60252
60253 2008-04-13  Bruno Haible  <bruno@clisp.org>
60254
60255         Fix AIX compilation failure introduced on 2008-04-02.
60256         * tests/test-frexp.c (exp): Undefine before redefining.
60257         * tests/test-frexpl.c (exp): Likewise.
60258
60259 2008-04-13  Bruno Haible  <bruno@clisp.org>
60260
60261         Work around a HP-UX stdio bug.
60262         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
60263         * tests/test-ftello.c (main): Likewise.
60264         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
60265         * doc/posix-functions/ftello.texi: Likewise.
60266
60267 2008-04-13  Bruno Haible  <bruno@clisp.org>
60268
60269         Make test-signbit pass on HP-UX/hppa.
60270         * tests/test-signbit.c (minus_zerol): New variable.
60271         (test_signbitl): Use it.
60272
60273 2008-04-13  Bruno Haible  <bruno@clisp.org>
60274
60275         Make truncl work on OSF/1 4.0.
60276         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
60277         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60278         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60279         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
60280         HAVE_DECL_TRUNCL.
60281         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
60282         HAVE_DECL_TRUNCL.
60283         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
60284
60285 2008-04-13  Bruno Haible  <bruno@clisp.org>
60286
60287         * lib/unictype.h: Remove trailing comma from enumeration definitions.
60288
60289 2008-04-13  Bruno Haible  <bruno@clisp.org>
60290
60291         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
60292         expression, so as to avoid HP-UX 11 cc compiler bug.
60293
60294 2008-04-13  Bruno Haible  <bruno@clisp.org>
60295
60296         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
60297
60298 2008-04-13  Bruno Haible  <bruno@clisp.org>
60299
60300         * lib/git-merge-changelog.c: Remove empty declaration outside of
60301         functions.
60302
60303 2008-04-13  Bruno Haible  <bruno@clisp.org>
60304
60305         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
60306
60307 2008-04-13  Bruno Haible  <bruno@clisp.org>
60308
60309         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
60310         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
60311         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
60312         also if it exists but lacks definitions of the SHUT_* macros.
60313         * modules/sys_socket (Description): Update.
60314         Reported by Elbert Pol <e.pol@chello.nl>.
60315
60316 2008-04-13  Bruno Haible  <bruno@clisp.org>
60317
60318         * lib/localcharset.c (OS2): Don't redefine if already defined.
60319         Reported by Elbert Pol <e.pol@chello.nl>.
60320
60321 2008-04-13  Bruno Haible  <bruno@clisp.org>
60322
60323         * lib/binary-io.h [__EMX__]: Include <io.h>.
60324         Reported by Elbert Pol <e.pol@chello.nl>.
60325
60326 2008-04-12  Bruno Haible  <bruno@clisp.org>
60327
60328         * lib/fpucw.h: Enable the definitions also for x86_64.
60329         Needed for NetBSD/x86_64.
60330         Reported by Thomas Klausner <tk@giga.or.at>.
60331
60332 2008-04-12  Bruno Haible  <bruno@clisp.org>
60333
60334         * tests/test-strtod.c: Include isnand.h.
60335         (main): Use isnand instead of isnan.
60336         Reported by Jim Meyering.
60337
60338 2008-04-12  Bruno Haible  <bruno@clisp.org>
60339
60340         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
60341         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
60342
60343 2008-04-12  Jim Meyering  <meyering@redhat.com>
60344
60345         * m4/math_h.m4 (gl_MATH_H): Fix typos.
60346
60347 2008-04-12  Bruno Haible  <bruno@clisp.org>
60348
60349         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
60350         Reported by Elbert Pol <e.pol@chello.nl>.
60351
60352 2008-04-12  Eric Blake  <ebb9@byu.net>
60353
60354         Work around Solaris 10 math.h bug.
60355         * m4/math_h.m4 (gl_MATH_H): Check for bug.
60356         (gl_MATH_H_DEFAULTS): Set up default.
60357         * modules/math (Makefile.am): Replace new indicators.
60358         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
60359         * tests/test-math.c (main): Test this.
60360         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
60361         * doc/posix-headers/math.texi (math.h): Mention bug.
60362         Reported by Nelson H. F. Beebe and Jim Meyering.
60363
60364 2008-04-11  Bruno Haible  <bruno@clisp.org>
60365
60366         Adapt to future versions of Apple GCC.
60367         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
60368         Reported by Peter O'Gorman <peter@pogma.com>.
60369
60370 2008-04-11  Bruno Haible  <bruno@clisp.org>
60371
60372         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
60373
60374 2008-04-11  Bruno Haible  <bruno@clisp.org>
60375
60376         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
60377
60378         * modules/getaddrinfo-tests (Makefile.am): Define
60379         test_getaddrinfo_LDADD.
60380
60381 2008-04-11  Bruno Haible  <bruno@clisp.org>
60382
60383         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
60384         (init): Fix syntax error.
60385         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
60386         is declared.
60387
60388 2008-04-11  Bruno Haible  <bruno@clisp.org>
60389
60390         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
60391         * modules/glob (Depends-on): Add stdbool.
60392
60393 2008-04-11  Bruno Haible  <bruno@clisp.org>
60394
60395         * lib/trim.c: Include <string.h>.
60396
60397 2008-04-11  Eric Blake  <ebb9@byu.net>
60398
60399         Avoid compile failure on OS/2.
60400         * lib/regex_internal.h (internal_function): Disable optimization
60401         on OS/2 (__EMX__), where it caused compiler error.
60402         Reported by Elbert Pol.
60403
60404 2008-04-11  Bruno Haible  <bruno@clisp.org>
60405
60406         Flush the standard error stream before aborting. Needed on mingw.
60407         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
60408         * tests/test-array_list.c (ASSERT): Likewise.
60409         * tests/test-array_oset.c (ASSERT): Likewise.
60410         * tests/test-avltree_list.c (ASSERT): Likewise.
60411         * tests/test-avltree_oset.c (ASSERT): Likewise.
60412         * tests/test-avltreehash_list.c (ASSERT): Likewise.
60413         * tests/test-binary-io.c (ASSERT): Likewise.
60414         * tests/test-byteswap.c (ASSERT): Likewise.
60415         * tests/test-c-ctype.c (ASSERT): Likewise.
60416         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
60417         * tests/test-c-strcasestr.c (ASSERT): Likewise.
60418         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
60419         * tests/test-c-strstr.c (ASSERT): Likewise.
60420         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
60421         * tests/test-canonicalize.c (ASSERT): Likewise.
60422         * tests/test-carray_list.c (ASSERT): Likewise.
60423         * tests/test-ceilf1.c (ASSERT): Likewise.
60424         * tests/test-ceilf2.c (ASSERT): Likewise.
60425         * tests/test-ceill.c (ASSERT): Likewise.
60426         * tests/test-count-one-bits.c (ASSERT): Likewise.
60427         * tests/test-fbufmode.c (ASSERT): Likewise.
60428         * tests/test-fflush2.c (ASSERT): Likewise.
60429         * tests/test-floorf1.c (ASSERT): Likewise.
60430         * tests/test-floorf2.c (ASSERT): Likewise.
60431         * tests/test-floorl.c (ASSERT): Likewise.
60432         * tests/test-fopen.c (ASSERT): Likewise.
60433         * tests/test-fpending.c (ASSERT): Likewise.
60434         * tests/test-fprintf-posix.c (ASSERT): Likewise.
60435         * tests/test-fpurge.c (ASSERT): Likewise.
60436         * tests/test-freadable.c (ASSERT): Likewise.
60437         * tests/test-freadahead.c (ASSERT): Likewise.
60438         * tests/test-freading.c (ASSERT): Likewise.
60439         * tests/test-freadptr.c (ASSERT): Likewise.
60440         * tests/test-freadptr2.c (ASSERT): Likewise.
60441         * tests/test-freadseek.c (ASSERT): Likewise.
60442         * tests/test-freopen.c (ASSERT): Likewise.
60443         * tests/test-frexp.c (ASSERT): Likewise.
60444         * tests/test-frexpl.c (ASSERT): Likewise.
60445         * tests/test-fseek.c (ASSERT): Likewise.
60446         * tests/test-fseeko.c (ASSERT): Likewise.
60447         * tests/test-fstrcmp.c (ASSERT): Likewise.
60448         * tests/test-ftell.c (ASSERT): Likewise.
60449         * tests/test-ftello.c (ASSERT): Likewise.
60450         * tests/test-func.c (ASSERT): Likewise.
60451         * tests/test-fwritable.c (ASSERT): Likewise.
60452         * tests/test-fwriting.c (ASSERT): Likewise.
60453         * tests/test-getdelim.c (ASSERT): Likewise.
60454         * tests/test-getline.c (ASSERT): Likewise.
60455         * tests/test-i-ring.c (ASSERT): Likewise.
60456         * tests/test-iconv-utf.c (ASSERT): Likewise.
60457         * tests/test-iconv.c (ASSERT): Likewise.
60458         * tests/test-isfinite.c (ASSERT): Likewise.
60459         * tests/test-isnand.c (ASSERT): Likewise.
60460         * tests/test-isnanf.c (ASSERT): Likewise.
60461         * tests/test-isnanl.h (ASSERT): Likewise.
60462         * tests/test-ldexpl.c (ASSERT): Likewise.
60463         * tests/test-linked_list.c (ASSERT): Likewise.
60464         * tests/test-linkedhash_list.c (ASSERT): Likewise.
60465         * tests/test-localename.c (ASSERT): Likewise.
60466         * tests/test-lseek.c (ASSERT): Likewise.
60467         * tests/test-mbscasecmp.c (ASSERT): Likewise.
60468         * tests/test-mbscasestr1.c (ASSERT): Likewise.
60469         * tests/test-mbscasestr2.c (ASSERT): Likewise.
60470         * tests/test-mbscasestr3.c (ASSERT): Likewise.
60471         * tests/test-mbscasestr4.c (ASSERT): Likewise.
60472         * tests/test-mbschr.c (ASSERT): Likewise.
60473         * tests/test-mbscspn.c (ASSERT): Likewise.
60474         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
60475         * tests/test-mbspbrk.c (ASSERT): Likewise.
60476         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
60477         * tests/test-mbsrchr.c (ASSERT): Likewise.
60478         * tests/test-mbsspn.c (ASSERT): Likewise.
60479         * tests/test-mbsstr1.c (ASSERT): Likewise.
60480         * tests/test-mbsstr2.c (ASSERT): Likewise.
60481         * tests/test-mbsstr3.c (ASSERT): Likewise.
60482         * tests/test-memchr2.c (ASSERT): Likewise.
60483         * tests/test-memmem.c (ASSERT): Likewise.
60484         * tests/test-open.c (ASSERT): Likewise.
60485         * tests/test-printf-frexp.c (ASSERT): Likewise.
60486         * tests/test-printf-frexpl.c (ASSERT): Likewise.
60487         * tests/test-printf-posix.c (ASSERT): Likewise.
60488         * tests/test-quotearg.c (ASSERT): Likewise.
60489         * tests/test-rbtree_list.c (ASSERT): Likewise.
60490         * tests/test-rbtree_oset.c (ASSERT): Likewise.
60491         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
60492         * tests/test-round1.c (ASSERT): Likewise.
60493         * tests/test-roundf1.c (ASSERT): Likewise.
60494         * tests/test-roundl.c (ASSERT): Likewise.
60495         * tests/test-signbit.c (ASSERT): Likewise.
60496         * tests/test-sleep.c (ASSERT): Likewise.
60497         * tests/test-snprintf-posix.c (ASSERT): Likewise.
60498         * tests/test-snprintf.c (ASSERT): Likewise.
60499         * tests/test-sprintf-posix.c (ASSERT): Likewise.
60500         * tests/test-stat-time.c (ASSERT): Likewise.
60501         * tests/test-strcasestr.c (ASSERT): Likewise.
60502         * tests/test-strerror.c (ASSERT): Likewise.
60503         * tests/test-striconv.c (ASSERT): Likewise.
60504         * tests/test-striconveh.c (ASSERT): Likewise.
60505         * tests/test-striconveha.c (ASSERT): Likewise.
60506         * tests/test-strsignal.c (ASSERT): Likewise.
60507         * tests/test-strstr.c (ASSERT): Likewise.
60508         * tests/test-strtod.c (ASSERT): Likewise.
60509         * tests/test-trunc1.c (ASSERT): Likewise.
60510         * tests/test-trunc2.c (ASSERT): Likewise.
60511         * tests/test-truncf1.c (ASSERT): Likewise.
60512         * tests/test-truncf2.c (ASSERT): Likewise.
60513         * tests/test-truncl.c (ASSERT): Likewise.
60514         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
60515         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
60516         * tests/test-vasnprintf.c (ASSERT): Likewise.
60517         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
60518         * tests/test-vasprintf.c (ASSERT): Likewise.
60519         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
60520         * tests/test-vprintf-posix.c (ASSERT): Likewise.
60521         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
60522         * tests/test-vsnprintf.c (ASSERT): Likewise.
60523         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
60524         * tests/test-wcwidth.c (ASSERT): Likewise.
60525         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
60526         * tests/test-xprintf-posix.c (ASSERT): Likewise.
60527         * tests/test-xvasprintf.c (ASSERT): Likewise.
60528         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
60529         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
60530         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
60531         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
60532         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
60533         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
60534         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
60535         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
60536         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
60537         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
60538         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
60539         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
60540         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
60541         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
60542         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
60543         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
60544         * tests/unictype/test-block_list.c (ASSERT): Likewise.
60545         * tests/unictype/test-block_of.c (ASSERT): Likewise.
60546         * tests/unictype/test-block_test.c (ASSERT): Likewise.
60547         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
60548         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
60549         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
60550         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
60551         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
60552         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
60553         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
60554         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
60555         * tests/unictype/test-combining.c (ASSERT): Likewise.
60556         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
60557         * tests/unictype/test-digit.c (ASSERT): Likewise.
60558         * tests/unictype/test-mirror.c (ASSERT): Likewise.
60559         * tests/unictype/test-numeric.c (ASSERT): Likewise.
60560         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
60561         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
60562         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
60563         * tests/unictype/test-scripts.c (ASSERT): Likewise.
60564         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
60565         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
60566         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
60567         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
60568         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
60569         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
60570         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
60571         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
60572         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
60573         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
60574         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
60575         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
60576         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
60577         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
60578         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
60579         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
60580         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
60581         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
60582         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
60583         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
60584         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
60585         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
60586         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
60587         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
60588         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
60589         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
60590         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
60591         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
60592         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
60593         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
60594         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
60595         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
60596         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
60597         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
60598         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
60599         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
60600         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
60601         Reported by Eric Blake.
60602
60603 2008-04-11  Bruno Haible  <bruno@clisp.org>
60604
60605         * lib/wchar.in.h: Tweak comment.
60606
60607 2008-04-11  Bruno Haible  <bruno@clisp.org>
60608
60609         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
60610         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
60611         gl_COMMON.
60612         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
60613
60614 2008-04-11  Bruno Haible  <bruno@clisp.org>
60615
60616         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
60617
60618 2008-04-11  Simon Josefsson  <simon@josefsson.org>
60619
60620         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
60621         of attempting to use non-existing /dev/*random.  Based on patch
60622         from Adam Strzelecki <ono@java.pl> in
60623         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
60624
60625 2008-04-08  Bruno Haible  <bruno@clisp.org>
60626
60627         Add tentative support for emx+gcc.
60628         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
60629         * lib/fpurge.c (fpurge): Likewise.
60630         * lib/freadable.c (freadable): Likewise.
60631         * lib/freadahead.c (freadahead): Likewise.
60632         * lib/freading.c (freading): Likewise.
60633         * lib/freadptr.c (freadptr): Likewise.
60634         * lib/freadseek.c (freadptrinc): Likewise.
60635         * lib/fseeko.c (rpl_fseeko): Likewise.
60636         * lib/fseterr.c (fseterr): Likewise.
60637         * lib/fwritable.c (fwritable): Likewise.
60638         * lib/fwriting.c (fwriting): Likewise.
60639         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
60640
60641 2008-04-09  Eric Blake  <ebb9@byu.net>
60642
60643         Avoid some autoconf warnings.
60644         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
60645         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
60646         * m4/afs.m4 (gl_AFS): Likewise.
60647         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
60648         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
60649         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
60650         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
60651         (gl_INTEGER_TYPE_SUFFIX): Likewise.
60652         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
60653         (AC_CHECK_DECLS_ONCE): Likewise.
60654         Rename file...
60655         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
60656         gnulib-tool requires autoconf 2.59 or better.
60657         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
60658
60659 2008-04-08  Eric Blake  <ebb9@byu.net>
60660
60661         Use 'git describe --match' if present (added in git 1.5.5).
60662         * build-aux/git-version-gen: Limit result to tags that match 'v*'
60663         if possible.
60664
60665 2008-04-08  Bruno Haible  <bruno@clisp.org>
60666
60667         Add tentative support for OpenServer.
60668         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
60669         _ptr, _cnt.
60670         * lib/fpurge.c (fpurge): Likewise.
60671         * lib/freadable.c (freadable): Likewise.
60672         * lib/freadahead.c (freadahead): Likewise.
60673         * lib/freading.c (freading): Likewise.
60674         * lib/freadptr.c (freadptr): Likewise.
60675         * lib/freadseek.c (freadptrinc): Likewise.
60676         * lib/fseeko.c (rpl_fseeko): Likewise.
60677         * lib/fseterr.c (fseterr): Likewise.
60678         * lib/fwritable.c (fwritable): Likewise.
60679         * lib/fwriting.c (fwriting): Likewise.
60680         Reported by Roger Cornelius <rac@tenzing.org> and
60681         Brian K. White <brian@aljex.com>.
60682
60683 2008-04-06  Jim Meyering  <meyering@redhat.com>
60684
60685         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
60686
60687 2008-04-06  Bruno Haible  <bruno@clisp.org>
60688
60689         Avoid possible error with non-ASCII bytes in UTF-8 locales.
60690         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
60691         * tests/test-printf-posix.sh: Likewise.
60692         * tests/test-vfprintf-posix.sh: Likewise.
60693         * tests/test-vprintf-posix.sh: Likewise.
60694         * tests/test-xprintf-posix.sh: Likewise.
60695
60696 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60697
60698         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
60699         hide error from 'ls', needed on OS/2.
60700         Report by Elbert Pol <elbert.pol@gmail.com>.
60701
60702 2008-04-04  Eric Blake  <ebb9@byu.net>
60703
60704         Make test-fseeko.c failures meaningful.
60705         * tests/test-fseeko.c: Print line number on failure.
60706         * tests/test-fseek.c: Likewise.
60707         Reported by Nelson H. F. Beebe.
60708
60709         Improve strtod bug detection check.
60710         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
60711         required for Solaris 10.
60712         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
60713
60714 2008-04-04  Bruno Haible  <bruno@clisp.org>
60715
60716         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
60717         by m4/setenv.m4.
60718
60719 2008-04-03  Eric Blake  <ebb9@byu.net>
60720
60721         Ensure sane .version contents.
60722         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
60723         version string.
60724         * build-aux/git-version-gen: Improve documentation.
60725
60726         Make GNU make output nicer.
60727         * top/GNUmakefile [!_have-Makefile]: Add dependency on
60728         MAKECMDGOALS to enforce message for all command line targets.  Set
60729         srcdir for use in maint.mk.
60730
60731         Another maintainer tweak.
60732         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
60733         a target that regenerates version.
60734
60735 2008-04-03  Jim Meyering  <meyering@redhat.com>
60736
60737         vc-list-files: don't cause coreutils "make po-check" failure
60738         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
60739
60740 2008-04-03  Eric Blake  <ebb9@byu.net>
60741
60742         Allow VPATH usage of vc-list-files.
60743         * build-aux/vc-list-files (scriptversion): Add timestamp.
60744         (options): Add --help, --version, -C.
60745         (CVS): Support installed cvsu.
60746
60747 2008-04-02  Bruno Haible  <bruno@clisp.org>
60748
60749         Avoid some "statement with no effect" warnings from gcc.
60750         * tests/test-wctype.c (main): Explicitly ignore unused values.
60751         Reported by Jim Meyering.
60752
60753 2008-04-02  Jim Meyering  <meyering@redhat.com>
60754
60755         Avoid some warnings from "gcc -Wshadow".
60756         * tests/test-frexp.c (exp): Define to a different identifier.
60757         * tests/test-frexpl.c (exp): Likewise.
60758
60759 2008-04-03  Jim Meyering  <meyering@redhat.com>
60760
60761         bootstrap: remove dangling *.[ch] symlinks from lib
60762         * build-aux/bootstrap [dangling symlink removal]: Move find's
60763         -depth option to precede all others, to avoid a warning.
60764         Remove *.[ch] files too, and from "$source_base" (usually lib/).
60765
60766 2008-04-02  Bruno Haible  <bruno@clisp.org>
60767
60768         Avoid some warnings from "gcc -Wshadow".
60769         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
60770         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
60771         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
60772         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
60773         Reported by Jim Meyering.
60774
60775 2008-04-01  Bruno Haible  <bruno@clisp.org>
60776
60777         Fix test to work on IRIX 6.5 with cc.
60778         * tests/test-math.c (numeric_equal): New function.
60779         (main): Use it.
60780
60781 2008-04-01  Bruno Haible  <bruno@clisp.org>
60782
60783         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
60784
60785 2008-04-01  Bruno Haible  <bruno@clisp.org>
60786
60787         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
60788         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60789         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
60790         (Depends-on): Remove math.
60791
60792         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
60793         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60794         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
60795         (Depends-on): Remove math.
60796
60797         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
60798         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60799         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
60800         (Depends-on): Remove math.
60801         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
60802         (Depends-on): Remove math.
60803
60804         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
60805         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60806         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
60807         (Depends-on): Remove math.
60808         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
60809         (Depends-on): Remove math.
60810
60811         * tests/test-round1.c: Include nan.h.
60812         (main): Use NaNd instead of NAN.
60813         * modules/round-tests (Files): Add tests/nan.h.
60814
60815         * tests/test-trunc1.c: Include nan.h.
60816         (main): Use NaNd instead of NAN.
60817         * modules/trunc-tests (Files): Add tests/nan.h.
60818
60819         * tests/test-roundf1.c: Include nan.h.
60820         (main): Use NaNf instead of NAN.
60821         * modules/roundf-tests (Files): Add tests/nan.h.
60822
60823         * tests/test-truncf1.c: Include nan.h.
60824         (main): Use NaNf instead of NAN.
60825         * modules/truncf-tests (Files): Add tests/nan.h.
60826
60827         * tests/test-ceilf1.c: Include nan.h.
60828         (main): Use NaNf instead of NAN.
60829         * modules/ceilf-tests (Files): Add tests/nan.h.
60830
60831         * tests/test-floorf1.c: Include nan.h.
60832         (main): Use NaNf instead of NAN.
60833         * modules/floorf-tests (Files): Add tests/nan.h.
60834
60835         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
60836         (main): Use NaNf instead of NAN.
60837         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
60838
60839         * tests/test-isnand.c: Include nan.h instead of <math.h>.
60840         (main): Use NaNd instead of NAN.
60841         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
60842
60843         * tests/test-frexp.c: Include nan.h.
60844         (main): Use NaNd instead of NAN.
60845         * modules/frexp-tests (Files): Add tests/nan.h.
60846
60847         * lib/isnan.c: Don't include <math.h>.
60848         (FUNC): Don't use NAN macro.
60849         * modules/isnand-nolibm (Depends-on): Remove math.
60850         * modules/isnanf-nolibm (Depends-on): Remove math.
60851         * modules/isnanl (Depends-on): Remove math.
60852         * modules/isnanl-nolibm (Depends-on): Remove math.
60853
60854         * tests/nan.h: New file.
60855
60856 2008-04-01  Eric Blake  <ebb9@byu.net>
60857
60858         Fix typos.
60859         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
60860         values to be the right type.
60861
60862         For now, cater to gnulib strtod inaccuracies.
60863         * tests/test-strtod.c (main): Allow 1-ulp error on expected
60864         fractional results.  While not as nice from a QoI perspective, it
60865         is a quicker patch than correctly implementing decimal to binary
60866         rounding.
60867
60868 2008-03-31  Eric Blake  <ebb9@byu.net>
60869
60870         Guarantee a definition of NAN.
60871         * lib/math.in.h (NAN): Define if missing.
60872         * tests/test-math.c (main): Test it.
60873         * doc/posix-headers/math.texi (math.h): Document this.
60874         * lib/isnan.c (rpl_isnand): Use it.
60875         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
60876         * tests/test-floorf1.c (NaN): Likewise.
60877         * tests/test-frexp.c (NaN): Likewise.
60878         * tests/test-isnand.c (NaN): Likewise.
60879         * tests/test-isnanf.c (NaN): Likewise.
60880         * tests/test-round1.c (NaN): Likewise.
60881         * tests/test-roundf1.c (NaN): Likewise.
60882         * tests/test-snprintf-posix.h (NaN): Likewise.
60883         * tests/test-sprintf-posix.h (NaN): Likewise.
60884         * tests/test-trunc1.c (NaN): Likewise.
60885         * tests/test-truncf1.c (NaN): Likewise.
60886         * tests/test-vasnprintf-posix.c (NaN): Likewise.
60887         * tests/test-vasprintf-posix.c (NaN): Likewise.
60888         * modules/isnand-nolibm (Depends-on): Add math.
60889         * modules/isnanf-nolibm (Depends-on): Likewise.
60890         * modules/isnanl (Depends-on): Likewise.
60891         * modules/isnanl-nolibm (Depends-on): Likewise.
60892         * modules/snprintf-posix-tests (Depends-on): Likewise.
60893         * modules/sprintf-posix-tests (Depends-on): Likewise.
60894         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
60895         * modules/vsprintf-posix-tests (Depends-on): Likewise.
60896         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
60897         * modules/vasprintf-posix-tests (Depends-on): Likewise.
60898
60899 2008-03-31  Bruno Haible  <bruno@clisp.org>
60900
60901         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
60902         * doc/posix-functions/strtod.texi: Likewise.
60903
60904 2008-03-31  Bruno Haible  <bruno@clisp.org>
60905
60906         * tests/test-strtod.c (main): Don't use C99 syntax.
60907
60908 2008-03-31  Bruno Haible  <bruno@clisp.org>
60909
60910         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
60911         Reported by Eric Blake.
60912
60913 2008-03-31  Jim Meyering  <meyering@redhat.com>
60914
60915         Don't compare actual signbit return values.
60916         * tests/test-strtod.c (main): Rather, compare only their
60917         zero/non-zero nature.
60918
60919 2008-03-31  Eric Blake  <ebb9@byu.net>
60920
60921         More strtod documentation.
60922         * doc/posix-functions/strtod.texi (strtod): Interpret more test
60923         failures as distinct bugs.
60924
60925 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
60926
60927         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
60928         Problem reported by Erik Benada in
60929         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
60930
60931 2008-03-30  Bruno Haible  <bruno@clisp.org>
60932
60933         * tests/test-strtod.c: Add comments about which assertion fails on which
60934         platform.
60935         * doc/posix-functions/strtod.texi: Add info about many more platforms.
60936
60937 2008-03-30  Eric Blake  <ebb9@byu.net>
60938
60939         Test signbit behavior on zeros.
60940         * tests/test-signbit.c (test_signbitf): Add tests for zero.
60941         (test_signbitd, test_signbitl): Likewise.
60942
60943         More strtod touchups.
60944         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
60945         sign of negative underflow, for now.  Use .5, not .1.
60946         * doc/posix-functions/strtod.texi (strtod): Mention these
60947         limitations.
60948         Reported by Jim Meyering.
60949
60950 2008-03-30  Bruno Haible  <bruno@clisp.org>
60951
60952         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
60953         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
60954
60955 2008-03-30  Bruno Haible  <bruno@clisp.org>
60956
60957         Avoid failure when attempting to return empty iconv results on some
60958         platforms.
60959         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
60960         allocation, don't report ENOMEM when the resulting string is empty.
60961
60962 2008-03-30  Bruno Haible  <bruno@clisp.org>
60963
60964         Fix buffer overrun.
60965         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
60966         Don't consider the width for tmp_length. Check count against tmp_length
60967         before doing the padding. Ensure enough allocation during padding.
60968
60969 2008-03-30  Eric Blake  <ebb9@byu.net>
60970
60971         strtod touchups.
60972         * lib/strtod.c (strtod): Avoid compiler warnings.
60973         Reported by Jim Meyering.
60974
60975 2008-03-30  Bruno Haible  <bruno@clisp.org>
60976
60977         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
60978         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
60979         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
60980         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
60981         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
60982         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
60983         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
60984         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
60985
60986         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
60987         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
60988         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
60989         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
60990         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
60991         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
60992         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
60993         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
60994
60995         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
60996         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
60997         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
60998         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
60999         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
61000         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
61001         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
61002         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
61003
61004         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
61005         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
61006
61007         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
61008         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
61009
61010         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
61011         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
61012
61013         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
61014         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
61015         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
61016
61017         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
61018         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
61019         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
61020
61021         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
61022         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
61023         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
61024
61025         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
61026         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
61027         * modules/vasprintf (Depends-on): Add EOVERFLOW.
61028
61029         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
61030         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
61031         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
61032         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
61033         (Depends-on): Add EOVERFLOW.
61034         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
61035         (Depends-on): Add EOVERFLOW.
61036         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61037         (Depends-on): Add EOVERFLOW.
61038         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61039         (Depends-on): Add EOVERFLOW.
61040         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61041         (Depends-on): Add EOVERFLOW.
61042         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61043         (Depends-on): Add EOVERFLOW.
61044         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61045         (Depends-on): Add EOVERFLOW.
61046         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61047         (Depends-on): Add EOVERFLOW.
61048
61049         * lib/sprintf.c (EOVERFLOW): Remove fallback.
61050         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
61051         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
61052
61053         * lib/snprintf.c (EOVERFLOW): Remove fallback.
61054         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
61055         * modules/snprintf (Depends-on): Add EOVERFLOW.
61056
61057         * lib/poll.c (EOVERFLOW): Remove fallback.
61058         * modules/poll (Depends-on): Add EOVERFLOW.
61059
61060         * lib/getugroups.c (EOVERFLOW): Remove fallback.
61061         * modules/getugroups (Depends-on): Add EOVERFLOW.
61062
61063         * lib/getdelim.c (EOVERFLOW): Remove fallback.
61064         * modules/getdelim (Depends-on): Add EOVERFLOW.
61065
61066         * lib/ftell.c (EOVERFLOW): Remove fallback.
61067         * modules/ftell (Depends-on): Add EOVERFLOW.
61068
61069         * lib/fprintf.c (EOVERFLOW): Remove fallback.
61070         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
61071         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
61072
61073         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
61074
61075         * modules/EOVERFLOW-tests: New file.
61076         * tests/test-EOVERFLOW.c: New file.
61077
61078         * modules/EOVERFLOW: New file.
61079         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
61080
61081 2008-03-30  Bruno Haible  <bruno@clisp.org>
61082
61083         Fix bug introduced on 2007-06-10.
61084         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
61085         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
61086
61087 2008-03-30  Bruno Haible  <bruno@clisp.org>
61088
61089         Improve freadseek's efficiency after ungetc.
61090         * lib/freadseek.c: Include freadahead.h.
61091         (freadptrinc): New function, extracted from freadseek.
61092         (freadseek): Use it in a loop. Use freadahead to determine the number
61093         of loop iterations.
61094         * modules/freadseek (Depends-on): Add freadahead.
61095         (configure.ac): Require AC_C_INLINE.
61096
61097 2008-03-30  Bruno Haible  <bruno@clisp.org>
61098
61099         * lib/freadseek.c (freadseek): Don't ignore the return value of
61100         freadptr.
61101
61102 2008-03-29  Eric Blake  <ebb9@byu.net>
61103
61104         Add hex float support.
61105         * modules/strtod (Depends-on): Add c-ctype.
61106         (Link): Mention POW_LIB.
61107         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
61108         whitespace between 'e' and exponent.
61109         * tests/test-strtod.c (main): Enable hex float tests.
61110         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
61111         now provides.
61112
61113         Document various strtod bugs, with some fixes.
61114         * doc/posix-functions/strtod.texi (strtod): Document bugs with
61115         "-0x", "inf", "nan", and hex constants.
61116         * doc/posix-functions/atof.texi (atof): Likewise.
61117         * modules/stdlib (Makefile.am): Support strtod.
61118         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
61119         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
61120         detect additional strtod bugs.
61121         * lib/stdlib.in.h (rpl_strtod): Add declarations.
61122         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
61123         bool where appropriate.  Parse 'inf' and 'nan'.
61124         * tests/test-strtod.c: New file.
61125         * modules/strtod (Depends-on): Add stdbool, stdlib.
61126         (configure.ac): Turn on module indicator.
61127         * modules/strtod-tests: New module.
61128
61129 2008-03-29  Eric Blake  <ebb9@byu.net>
61130
61131         Fix ftell on mingw.
61132         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
61133         * modules/ftell-tests (Depends-on): Add binary-io.
61134         * modules/ftello-tests (Depends-on): Likewise.
61135         * tests/test-ftell.c (main): Enhance test to cover behavior after
61136         ungetc.  Enforce binary mode.
61137         * tests/test-ftello.c (main): Likewise.
61138
61139         Pass test-freadseek on cygwin.
61140         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
61141         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
61142         ungetc buffer.
61143
61144         * tests/test-fflush2.c (main): Fix typo.
61145
61146 2008-03-29  Bruno Haible  <bruno@clisp.org>
61147
61148         * tests/test-fflush2.c (main): Temporarily disable the contents of
61149         this test.
61150         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
61151         Reported by Eric Blake.
61152
61153 2008-03-28  Simon Josefsson  <simon@josefsson.org>
61154
61155         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
61156         (GC_SHA224_DIGEST_SIZE): Add.
61157
61158         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
61159         (gc_hash_digest_length): Likewise.
61160         (gc_hash_buffer): Likewise.
61161
61162 2008-03-25  Bruno Haible  <bruno@clisp.org>
61163
61164         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
61165         detail which gettext release to use.
61166         Reported by Simon Josefsson.
61167
61168 2008-03-26  Jim Meyering  <meyering@redhat.com>
61169
61170         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
61171         * modules/gnumakefile (clean-GNUmakefile): Also, use
61172         test ... && ... || : syntax rather than if-then ... fi.
61173
61174         gnumakefile: Don't double-quote-expand $(VPATH) value.
61175         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
61176
61177 2008-03-24  Eric Blake  <ebb9@byu.net>
61178
61179         Alter GNUmakefile to install into top directory.
61180         * modules/maintainer-makefile: Split, and add dependency...
61181         * modules/gnumakefile: to this new module.
61182         * build-aux/GNUmakefile: Move...
61183         * top/GNUmakefile: ...here.
61184         * build-aux/maint.mk: Move...
61185         * top/maint.mk: ...here.
61186         * MODULES.html.sh (Support for maintaining...): Document new
61187         module.
61188
61189 2008-03-23  Bruno Haible  <bruno@clisp.org>
61190
61191         * gnulib-tool: New options --vc-files, --no-vc-files.
61192         (func_usage): Document them.
61193         (vc_files): New variable.
61194         (func_import): Consider vc_files.
61195         (func_create_testdir): Set vc_files to empty.
61196         Suggested by Jim Meyering and Karl Berry.
61197
61198 2008-03-23  Bruno Haible  <bruno@clisp.org>
61199
61200         Fix regex compilation error on HP-UX 11.
61201         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
61202         * modules/regex (Files): Add m4/mbstate_t.m4.
61203         Reported by Ton Voon <ton.voon@altinity.com>.
61204
61205 2008-03-23  Bruno Haible  <bruno@clisp.org>
61206
61207         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
61208
61209 2008-03-23  Eric Blake  <ebb9@byu.net>
61210             Bruno Haible  <bruno@clisp.org>
61211
61212         Install files from top/ in the destination directory.
61213         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
61214         augmentation also for the files from top/.
61215         (func_import, func_create_testdir): Rewrite file names:
61216         top/filename -> filename.
61217
61218 2008-03-23  Bruno Haible  <bruno@clisp.org>
61219
61220         Tweak "gnulib --version" output.
61221         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
61222
61223 2008-03-23  Bruno Haible  <bruno@clisp.org>
61224
61225         Tweak "gnulib --version" output.
61226         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
61227         rather than contents of ChangeLog, when possible.
61228
61229 2008-03-21  Eric Blake  <ebb9@byu.net>
61230
61231         More --version tweaks.
61232         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
61233         date of last ChangeLog entry.
61234
61235 2008-03-21  Jim Meyering  <meyering@redhat.com>
61236
61237         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
61238
61239 2008-03-20  Eric Blake  <ebb9@byu.net>
61240
61241         VPATH fix.
61242         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
61243
61244 2008-03-20  Simon Josefsson  <simon@josefsson.org>
61245
61246         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
61247         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
61248
61249 2008-03-20  Eric Blake  <ebb9@byu.net>
61250
61251         Sync GNUmakefile with coreutils.
61252         * build-aux/GNUmakefile (have-Makefile): Rename...
61253         (_have-Makefile): ...to this, for namespace consideration.
61254         (GNUmakefile.cfg): Include, if present.
61255         (_autoreconf): Define a default.
61256         (_is-dist-target): New rule for rebuilds to pick up intra-release
61257         version.
61258         (maint-cfg.mk): Rename...
61259         (cfg.mk): ...to this.
61260
61261 2008-03-18  Jim Meyering  <meyering@redhat.com>
61262
61263         New script and module: mktempd
61264         * MODULES.html.sh (maint+release support): Add mktempd.
61265         * build-aux/mktempd: New file.
61266         * modules/mktempd: New file.
61267
61268 2008-03-15  Jim Meyering  <meyering@redhat.com>
61269
61270         Undo last change.
61271         * lib/sha1.c, lib/md5.c: 63 != ~63.
61272         Reported by Andreas Schwab.
61273
61274         sha1.c, md5.c: Hoist a redundant expression.
61275         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
61276         "ctx->buflen" only once, before calling *_process_block.
61277         * lib/md5.c (md5_process_bytes): Likewise.
61278
61279 2008-03-14  Eric Blake  <ebb9@byu.net>
61280
61281         Bump copyright year in files generated by gnulib-tool.
61282         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
61283         gnulib-tool, rather than hard-coding it.
61284
61285         Fix 'gnulib-tool --version' output to work with git.
61286         * gnulib-tool (func_gnulib_dir): New function, extracted from...
61287         (startup): ...here.
61288         (func_version): Use it to invoke git-version-gen, rather than
61289         relying on CVS keyword expansion.  Modernize wording.
61290         (cvsdatestamp, last_checkin_date, version): Kill unused
61291         variables.
61292
61293 2008-03-12  Jim Meyering  <meyering@redhat.com>
61294
61295         Recognize optional cast of the argument to free.
61296         * build-aux/useless-if-before-free: Update regexps.
61297
61298         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
61299
61300 2008-03-11  Bruno Haible  <bruno@clisp.org>
61301
61302         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
61303         by a single package.
61304         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
61305         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
61306         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
61307         Reported by Sam Steingold <sds@gnu.org>.
61308
61309 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
61310
61311         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
61312         repositories.
61313
61314 2008-03-11  Bruno Haible  <bruno@clisp.org>
61315
61316         Avoid conflicts between local macro definitions.
61317         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
61318         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
61319
61320 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
61321             Bruno Haible  <bruno@clisp.org>
61322
61323         Make va_copy work with some version of xlc on AIX 5.1.
61324         * lib/stdarg.in.h: New file.
61325         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
61326         On AIX, use a <stdarg.h> file substitute.
61327         * modules/stdarg (Files): Add lib/stdarg.in.h.
61328         (Depends-on): Add include_next.
61329         (Makefile.am): Build a stdarg.h substitute if requested.
61330         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
61331
61332 2008-03-10  Bruno Haible  <bruno@clisp.org>
61333
61334         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
61335         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
61336         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61337
61338 2008-03-10  Bruno Haible  <bruno@clisp.org>
61339
61340         * modules/stdlib (Depends-on): Add include_next, remove
61341         absolute-header.
61342
61343 2008-03-09  Bruno Haible  <bruno@clisp.org>
61344
61345         * lib/freadahead.h (freadahead): Document more precisely.
61346         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
61347         the sum of both buffer sizes.
61348         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
61349         * NEWS: Document the change.
61350
61351 2008-03-09  Bruno Haible  <bruno@clisp.org>
61352
61353         Extend freadptr to return also the buffer size.
61354         * lib/freadptr.h (freadptr): Add sizep argument.
61355         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
61356         (freadptr): Add sizep argument. Determine buffer size like freadahead
61357         does.
61358         * tests/test-freadptr.c: Don't include freadahead.h.
61359         (main): Adapt for new calling convention of freadptr.
61360         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
61361         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
61362         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
61363         tests/test-freadptr2.sh.
61364         (Depends): Remove freadahead.
61365         (TESTS): Add test-freadptr2.sh.
61366         (check_PROGRAMS): Add test-freadptr2.
61367
61368 2008-03-09  Bruno Haible  <bruno@clisp.org>
61369
61370         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
61371         Report and solution by Simon Josefsson.
61372
61373 2008-03-06  Bruno Haible  <bruno@clisp.org>
61374
61375         Make fflush after ungetc work on BSD platforms.
61376         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
61377         * tests/test-fflush2.c: New file.
61378         * tests/test-fflush2.sh: New file.
61379         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
61380         tests/test-fflush2.c.
61381         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
61382         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
61383
61384 2008-03-06  Eric Blake  <ebb9@byu.net>
61385
61386         Likewise for ftello.
61387         * modules/ftello (Dependencies): Add extensions.
61388         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
61389
61390 2008-03-06  Bruno Haible  <bruno@clisp.org>
61391
61392         * modules/fseeko (Dependencies): Add extensions.
61393         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
61394         Needed on glibc systems.
61395
61396 2008-03-06  Bruno Haible  <bruno@clisp.org>
61397
61398         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
61399         email address.
61400         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61401
61402 2008-03-06  Bruno Haible  <bruno@clisp.org>
61403
61404         * users.txt: Add libgnupdf.
61405
61406 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
61407
61408         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
61409         (Header File Substitutes, Function Substitutes,
61410         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
61411         (Build robot for gnulib): Fix typo.
61412
61413 2008-03-06  Bruno Haible  <bruno@clisp.org>
61414
61415         * doc/gnulib-tool.texi (VCS Issues): Small updates.
61416         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61417
61418 2008-03-06  Bruno Haible  <bruno@clisp.org>
61419
61420         * doc/func.texi: New file, extracted from doc/gnulib.texi.
61421         * doc/gnulib.texi: Include it.
61422
61423 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61424
61425         * modules/func (License): Change license to unlimited; there was
61426         no LGPL parts in the module anyway.
61427
61428 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61429
61430         * modules/__func__: Renamed to modules/func.
61431         * modules/__func__-tests: Renamed to modules/func-tests.
61432         * tests/test-__func__.c: Renamed to tests/test-func.c.
61433         * m4/__func__.m4: Renamed to m4/func.m4.
61434         * doc/gnulib.texi (__func__): Section renamed to func.
61435         Suggested by Eric Blake <ebb9@byu.net>.
61436
61437 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61438
61439         * doc/gnulib.texi (__func__): Use C99 terminology when talking
61440         about __func__.  Make example self-contained.  Suggested by Eric
61441         Blake <ebb9@byu.net>.
61442
61443         * tests/test-__func__.c (main): Avoid extraneous () around __func.
61444         Suggested by Eric Blake <ebb9@byu.net>.
61445
61446 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61447
61448         * modules/__func__: New file.
61449         * modules/__func__-tests: New file.
61450         * tests/test-__func__.c: New file.
61451         * m4/__func__.m4: New file.
61452         * doc/gnulib.texi (__func__): Document __func__ module.
61453
61454 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61455
61456         * modules/byteswap (License): Re-license as LGPLv2+.
61457
61458 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61459
61460         * doc/Makefile: Add pdf target.
61461
61462 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61463
61464         * modules/inline (License): Use 'unlimited', since there are only
61465         *.m4 files in this module.
61466
61467 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61468             Bruno Haible  <bruno@clisp.org>
61469
61470         Add support for HP C 7.1 on OpenVMS 8.3.
61471         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
61472
61473 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61474
61475         Update VMS specifics.
61476         * lib/getopt.c [VMS]: Remove include of unixlib.h.
61477
61478 2008-03-02  Jim Meyering  <meyering@redhat.com>
61479
61480         Remove the last dependency on the "free" module.
61481         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
61482         Reported by Bob Proulx.
61483
61484         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
61485
61486         Remove useless "if" tests before free.  Deprecate "free" module.
61487         * doc/posix-functions/free.texi: Mention that this
61488         module is no longer useful.
61489         * modules/free (Notice): Say this module is obsolete.
61490         * modules/readutmp (Depends-on): Remove free.
61491         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
61492         * lib/putenv.c (putenv): Likewise.
61493         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
61494         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
61495         * tests/test-c-strcasestr.c (main): Likewise.
61496         * tests/test-c-strstr.c (main): Likewise.
61497         * tests/test-mbscasestr1.c (main): Likewise.
61498         * tests/test-mbscasestr2.c (main): Likewise.
61499         * tests/test-mbsstr1.c (main): Likewise.
61500         * tests/test-mbsstr2.c (main): Likewise.
61501         * tests/test-memmem.c (main): Likewise.
61502         * tests/test-strcasestr.c (main): Likewise.
61503         * tests/test-striconv.c (main): Likewise.
61504         * tests/test-striconveh.c (main): Likewise.
61505         * tests/test-striconveha.c (main): Likewise.
61506         * tests/test-strstr.c (main): Likewise.
61507
61508         * build-aux/git-version-gen: Adjust a comment and the Usage string.
61509
61510         bootstrap: sync from coreutils again
61511         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
61512
61513 2008-03-01  Jim Meyering  <meyering@redhat.com>
61514
61515         bootstrap: sync from coreutils
61516         * build-aux/bootstrap (update_po_files): Copy a .po file into place
61517         also when the target doesn't exist.
61518
61519 2008-03-01  Eric Blake  <ebb9@byu.net>
61520
61521         Fix bugs in last patch.
61522         * lib/memchr2.c (memchr2): Fix typo.
61523         * tests/test-memchr2.c: Test previous bug, and don't use GNU
61524         extension.
61525         Reported by Bruce Korb.
61526
61527         New module 'memchr2'.
61528         * modules/memchr2: New file.
61529         * modules/memchr2-tests: Likewise.
61530         * lib/memchr2.h: Likewise.
61531         * lib/memchr2.c: Likewise, based on memchr.c.
61532         * tests/test-memchr2.c: New test.
61533         * MODULES.html.sh (String handling): Add memchr2.
61534
61535 2008-02-29  Bruno Haible  <bruno@clisp.org>
61536
61537         * modules/freadseek-tests: New file.
61538         * tests/test-freadseek.sh: New file.
61539         * tests/test-freadseek.c: New file.
61540
61541         New module 'freadseek'.
61542         * modules/freadseek: New file.
61543         * lib/freadseek.h: New file.
61544         * lib/freadseek.c: New file.
61545         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
61546
61547 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
61548
61549         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
61550         wydawca.
61551
61552         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
61553         program_invocation_name and program_invocation_short_name are
61554         present.
61555
61556 2008-02-28  Bruno Haible  <bruno@clisp.org>
61557
61558         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
61559         * tests/test-freadptr.sh: Also test non-seekable stdin.
61560
61561 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
61562
61563         * build-aux/bootstrap (source_base, m4_base)
61564         (doc_base, tests_base): New variables.
61565         (gnulib_tool_options): Do not hardcode base directories, use
61566         the above variables instead.
61567
61568 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
61569
61570         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
61571
61572 2008-02-28  Bruno Haible  <bruno@clisp.org>
61573
61574         * modules/freadptr-tests: New file.
61575         * tests/test-freadptr.sh: New file.
61576         * tests/test-freadptr.c: New file.
61577
61578         New module 'freadptr'.
61579         * modules/freadptr: New file.
61580         * lib/freadptr.h: New file.
61581         * lib/freadptr.c: New file.
61582         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
61583
61584 2008-02-26  Karl Berry  <karl@freefriends.org>
61585
61586         Sync from Libtool:
61587         * libltdl/argz.c (argz_add, argz_count): New functions.
61588         * libltdl/argz.in.h: Declare them.
61589         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
61590
61591 2008-02-22  Bruno Haible  <bruno@clisp.org>
61592
61593         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
61594         is a pointer type.  Needed for HP-UX 10.
61595         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
61596         * doc/posix-functions/gmtime_r.texi: Likewise.
61597         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61598
61599 2008-02-24  Bruno Haible  <bruno@clisp.org>
61600
61601         * modules/environ-tests: New file.
61602         * tests/test-environ.c: New file.
61603
61604         New module 'environ'.
61605         * modules/environ: New file.
61606         * lib/unistd.in.h (environ): New declaration.
61607         * m4/environ.m4: New file.
61608         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
61609         after use.
61610         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
61611         HAVE_DECL_ENVIRON.
61612         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
61613         HAVE_DECL_ENVIRON.
61614         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
61615         wrong claim that 'environ' is missing on some systems.
61616         * modules/execute (Depends-on): Add environ.
61617         * lib/execute.c (environ): Remove fallback declaration.
61618         * modules/pipe (Depends-on): Add environ.
61619         * lib/pipe.c (environ): Remove fallback declaration.
61620         * modules/setenv (Depends-on): Add environ.
61621         * lib/setenv.c (environ): Remove fallback declaration.
61622         * modules/unsetenv (Depends-on): Add environ.
61623         * lib/unsetenv.c (environ): Remove fallback declaration.
61624         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
61625         m4/environ.m4.
61626         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
61627         (gl_PREREQ_UNSETENV): Likewise.
61628
61629 2008-02-24  Bruno Haible  <bruno@clisp.org>
61630
61631         * doc/posix-functions/environ.texi: Document the MacOS X problem.
61632
61633 2008-02-20  Bob Proulx  <bob@proulx.com>
61634
61635         Enable use of older two part flavor 'git describe'.
61636         * build-aux/git-version-gen: If using the older two part flavor of
61637         git version then recreate the third part now present in the
61638         newer three part flavor of git describe.
61639
61640 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
61641
61642         * lib/fts.c (fts_build): Typo correction to comment.
61643
61644 2008-02-17  Bruno Haible  <bruno@clisp.org>
61645
61646         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
61647         generating no-op conflicts.
61648
61649 2008-02-17  Bruno Haible  <bruno@clisp.org>
61650
61651         Speed up by 10%.
61652         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
61653         result_entries, rather than an index-based loop.
61654
61655 2008-02-17  Bruno Haible  <bruno@clisp.org>
61656
61657         Speed up by 25%.
61658         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
61659         'hashcode_cached'.
61660         (entry_create): New function.
61661         (entry_hashcode): Use the cached hashcode if possible.
61662         (read_changelog_file, try_split_merged_entry): Use entry_create.
61663
61664 2008-02-17  Bruno Haible  <bruno@clisp.org>
61665
61666         Speed up from O(n^2) to O(n) for long ChangeLog files.
61667         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
61668         (read_changelog_file): Change implementation of entries_reversed list
61669         to rbtreehash.
61670         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
61671
61672 2008-02-17  Bruno Haible  <bruno@clisp.org>
61673
61674         New option --split-merged-entry.
61675         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
61676         (find_paragraph_end, try_split_merged_entry): New functions.
61677         (long_options): Add option --split-merged-entry.
61678         (usage): Document option --split-merged-entry.
61679         (main): Implement option --split-merged-entry.
61680         Reported by Eric Blake.
61681
61682 2008-02-17  Bruno Haible  <bruno@clisp.org>
61683
61684         * lib/git-merge-changelog.c: Include c-strstr.h.
61685         (main): Support the "git pull --rebase" situation.
61686         * modules/git-merge-changelog (Depends-on): Add c-strstr.
61687         Reported by Eric Blake.
61688
61689 2008-02-16  Eric Blake  <ebb9@byu.net>
61690
61691         Avoid doubling \ in common case of "c-maybe" quoting style.
61692         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
61693         eliding outer quotes.
61694         * lib/quotearg.h: Document this.
61695         * tests/test-quotearg.c (result_strings, inputs, results_g)
61696         (flag_results, locale_results): Test it by adding a new string to
61697         each test group.
61698         (compare_strings): Test new string.
61699
61700 2008-02-13  Eric Blake  <ebb9@byu.net>
61701
61702         Avoid trigraph quoting in default output.
61703         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
61704         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
61705         unless explicitly requested.
61706         * tests/test-quotearg.c (flag_results, main): Add additional tests.
61707
61708 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
61709
61710         Don't rely on signed integer overflowing to negative value.
61711         * lib/getugroups.c (getugroups): Include <limits.h>.
61712         Instead, compare against INT_MAX, and increment only if the test passes.
61713
61714 2008-02-13  Jim Meyering  <meyering@redhat.com>
61715         and Eric Blake  <ebb9@byu.net>
61716
61717         Avoid shadowing warning and compile errors on Linux.
61718         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
61719         forwarding macros on Linux.
61720         (dcgettext): Define a stub, for Linux.
61721         (results_g, main): Avoid warnings.
61722
61723 2008-02-12  Eric Blake  <ebb9@byu.net>
61724
61725         Silence warning in last patch.
61726         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
61727
61728         Quotearg part 4: add tests, fix c-maybe colon quoting.
61729         * lib/quotearg.h: Improve documentation.
61730         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
61731         escapes when adding outer quotes.  When quoting trigraphs, use
61732         valid C notation.  When quoting NUL, omit extra characters if next
61733         character is not digit.  Alter prototype.
61734         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
61735         callers.
61736         * modules/quotearg-tests: New module.
61737         * tests/test-quotearg.c: New test.
61738
61739 2008-02-07  Eric Blake  <ebb9@byu.net>
61740
61741         Quotearg part 3: add flag to control outer quote elision.
61742         * lib/quotearg.h (c_maybe_quoting_style): New style.
61743         (enum quoting_flags): Better documentation of flags.
61744         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
61745         c-maybe style.
61746         (quotearg_buffer_restyled): Handle new flag to elide outer
61747         quotes.
61748
61749         Quotearg part 2: add flag that can control NUL elision.
61750         * lib/quotearg.h (set_quoting_flags): New prototype.
61751         * lib/quotearg.c (struct quoting_options): Add flag field.
61752         (set_quoting_flags): New function.
61753         (quotearg_buffer_restyled): Add flags parameter.
61754         (quotearg_alloc_mem): Set the flag if length cannot be returned.
61755         (quotearg_n_options): Set the flag, since length cannot be
61756         returned.
61757         (quoting_options_from_style): Default flags correctly.
61758
61759         Quotearg part 1: more wrappers, restore quotearg_char state.
61760         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
61761         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
61762         (quotearg_colon_mem): New wrappers.
61763         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
61764         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
61765         functions.
61766         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
61767         (quotearg_colon_mem): New functions.
61768
61769 2008-02-11  Bruno Haible  <bruno@clisp.org>
61770
61771         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
61772         library in the current directory: it does not work with parallel make.
61773         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61774
61775 2008-02-11  Bruno Haible  <bruno@clisp.org>
61776
61777         * .gitattributes: New file.
61778
61779 2008-02-11  Jim Meyering  <meyering@redhat.com>
61780
61781         useless-if-before-free: Fix reversed exit values.
61782         * build-aux/useless-if-before-free: Use correct values
61783         for EXIT_MATCH and EXIT_NO_MATCH.
61784
61785         * build-aux/useless-if-before-free: Close stdout carefully.
61786
61787 2008-02-10  Bruno Haible  <bruno@clisp.org>
61788
61789         New module 'git-merge-changelog'.
61790         * modules/git-merge-changelog: New file.
61791         * lib/git-merge-changelog.c: New file.
61792
61793 2008-02-10  Jim Meyering  <meyering@redhat.com>
61794
61795         useless-if-before-free: New option: --list (-l).
61796
61797         useless-if-before-free: Don't exit immediately upon open failure.
61798         * build-aux/useless-if-before-free: Exit 2 for errors.
61799         Upon failure to open a file, don't exit immediately.
61800         Rather, just warn and continue with any remaining files.
61801
61802 2008-02-10  Bruno Haible  <bruno@clisp.org>
61803
61804         New abstract list operation 'node_set_value'.
61805         * lib/gl_list.h (gl_list_node_set_value): New function.
61806         (struct gl_list_implementation): New field node_set_value.
61807         * lib/gl_list.c (gl_list_node_set_value): New function.
61808         * lib/gl_array_list.c (gl_array_node_set_value): New function.
61809         (gl_array_list_implementation): Update.
61810         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
61811         (gl_carray_list_implementation): Update.
61812         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
61813         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
61814         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
61815         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
61816         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
61817         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
61818         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
61819         Update.
61820         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
61821         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
61822         (gl_sublist_list_implementation): Update.
61823
61824 2008-02-10  Bruno Haible  <bruno@clisp.org>
61825
61826         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
61827         Needed when ELEMENT is #defined to 'some_type *'.
61828
61829 2008-02-10  Jim Meyering  <meyering@redhat.com>
61830
61831         New script and module: useless-if-before-free
61832         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
61833         * build-aux/useless-if-before-free: New file.
61834         * modules/useless-if-before-free: New file.
61835
61836         * build-aux/gitlog-to-changelog: Use committer date, not author date.
61837
61838         xstrtol_error: Fix typo.
61839         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
61840         s/exit_failure/exit_status/.
61841
61842 2008-02-09  Jim Meyering  <meyering@redhat.com>
61843
61844         New script and module: gitlog-to-changelog
61845         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
61846         * modules/gitlog-to-changelog: New file.
61847         * build-aux/gitlog-to-changelog: New file.
61848
61849 2008-02-08  Jim Meyering  <meyering@redhat.com>
61850
61851         Avoid two "parameter unused" warnings.
61852         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
61853         Mark "st" as used.
61854
61855         Use "git COMMAND", not "git-COMMAND".
61856         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
61857         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
61858         * build-aux/git-version-gen: Use "git status", not "git-status".
61859
61860 2008-02-07  Bruno Haible  <bruno@clisp.org>
61861
61862         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
61863         Avoids a crash on Windows Vista.
61864         Reported by Adam Strzelecki <ono@java.pl> via
61865         Simon Josefsson <simon@josefsson.org>.
61866
61867 2008-02-06  Bruno Haible  <bruno@clisp.org>
61868
61869         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
61870         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
61871         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
61872         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
61873         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61874         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61875         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
61876         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
61877         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61878         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61879         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61880         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61881         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61882         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61883         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61884         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
61885         left-adjust flag.
61886         * tests/test-snprintf-posix.h (test_function): Likewise.
61887         * tests/test-sprintf-posix.h (test_function): Likewise.
61888         * tests/test-vasprintf-posix.c (test_function): Likewise.
61889         * doc/posix-functions/fprintf.texi: Update.
61890         * doc/posix-functions/printf.texi: Update.
61891         * doc/posix-functions/snprintf.texi: Update.
61892         * doc/posix-functions/sprintf.texi: Update.
61893         * doc/posix-functions/vfprintf.texi: Update.
61894         * doc/posix-functions/vprintf.texi: Update.
61895         * doc/posix-functions/vsnprintf.texi: Update.
61896         * doc/posix-functions/vsprintf.texi: Update.
61897         Reported by Peter Fales <psfales@alcatel-lucent.com>.
61898
61899 2008-02-06  Bruno Haible  <bruno@clisp.org>
61900
61901         Fix bug introduced on 2008-01-26.
61902         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
61903
61904 2008-02-06  Bruno Haible  <bruno@clisp.org>
61905
61906         Fix bug introduced on 2007-06-10.
61907         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
61908         !NEED_PRINTF_FLAG_ZERO.
61909
61910 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
61911
61912         getloadavg: use libperfstat on AIX5
61913         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
61914
61915 2008-02-03  Bruno Haible  <bruno@clisp.org>
61916
61917         * lib/diffseq.h: Add comments about required #includes.
61918         Reported by Michael Biggs <gnulib@doubleplum.net>.
61919
61920 2008-02-01  Bruno Haible  <bruno@clisp.org>
61921
61922         * users.txt: Add gnuit.
61923
61924 2008-01-31  Bruno Haible  <bruno@clisp.org>
61925
61926         * lib/md4.c (set_uint32): Mark as inline.
61927         * lib/md5.c (set_uint32): Likewise.
61928         * lib/sha1.c (set_uint32): Likewise.
61929         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
61930         * m4/md5.m4 (gl_MD5): Likewise.
61931         * m4/sha1.m4 (gl_SHA1): Likewise.
61932
61933 2008-01-31  Jim Meyering  <meyering@redhat.com>
61934
61935         Use "sizeof VAR", rather than a literal "4".
61936         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
61937         * lib/md4.c (md4_read_ctx): Likewise.
61938         * lib/sha1.c (sha1_read_ctx): Likewise.
61939
61940 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61941
61942         * tests/test-sha1.c: New file, based on test-md5.c.
61943
61944         * modules/crypto/sha1-tests: New file.
61945
61946 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61947
61948         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
61949
61950 2008-01-31  Jim Meyering  <meyering@redhat.com>
61951
61952         Prefer "sizeof v" over the equivalent "4".
61953         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
61954         * lib/md5.c (set_uint32): Likewise.
61955         * lib/sha1.c (set_uint32): Likewise.
61956
61957 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61958
61959         * lib/sha1.c (set_uint32): Mark function as static.
61960
61961 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61962
61963         md2: clarify comments to say that alignment is not required.
61964         * lib/md2.h: Remove warning about alignment in comment.
61965         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
61966         never been required.
61967
61968 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61969
61970         md4: adapt alignment constraint fix from sha1.
61971         * lib/md4.c (set_uint32): New function, from sha1.c
61972         (md4_read_ctx): Use it.
61973         (md4_finish_ctx): Doc fix.
61974         * lib/md4.h: Doc fix.
61975
61976 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61977
61978         md5: adapt alignment constraint fix from sha1.
61979         * lib/md5.c (set_uint32): New function, from sha1.c
61980         (md5_read_ctx): Use it.
61981         (md5_finish_ctx): Doc fix.
61982         * lib/md5.h: Doc fix.
61983
61984 2008-01-30  Peter Palfrader  <weasel@debian.org>
61985
61986         sha1: remove the result buffer alignment constraint
61987         * lib/sha1.c (set_uint32): New function.
61988         (sha1_read_ctx): Rewrite to remove the result buffer alignment
61989         constraint.
61990         (sha1_finish_ctx): Remove comment warning about alignment constraint.
61991         * lib/sha1.h: Likewise.
61992
61993 2008-01-30  Andreas Schwab  <schwab@suse.de>
61994             Bruno Haible  <bruno@clisp.org>
61995
61996         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
61997         correct definition of LDBL_MIN_EXP.
61998
61999 2008-01-30  Karl Berry  <karl@gnu.org>
62000
62001         * config/srclist-update: try to preserve x bit on updates.
62002         * config/srclistvars.sh: update for karl.
62003
62004 2008-01-29  Jim Meyering  <meyering@redhat.com>
62005
62006         vasnprintf.c: Avoid warning about unused label
62007         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
62008         "overflow" label definition and associated code with the
62009         same cpp condition that guards the sole use of that label.
62010
62011 2008-01-26  Bruno Haible  <bruno@clisp.org>
62012
62013         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
62014         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
62015         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
62016         * lib/isnanl-nolibm.h (isnanl): Likewise.
62017         Reported by Paul Eggert <eggert@cs.ucla.edu>.
62018
62019 2008-01-26  Bruno Haible  <bruno@clisp.org>
62020
62021         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
62022         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
62023
62024 2008-01-26  Bruno Haible  <bruno@clisp.org>
62025
62026         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
62027         GCC >= 4.0 built-in.
62028         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
62029
62030 2008-01-26  Bruno Haible  <bruno@clisp.org>
62031
62032         Rename isnan, applicable to 'double' only, to isnand.
62033         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
62034         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
62035         (configure.ac): Update.
62036         (Include): Replace "isnan.h" with "isnand.h".
62037         * m4/isnand.m4: Renamed from m4/isnan.m4.
62038         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
62039         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
62040         instead of isnan.c.
62041         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
62042         instead of HAVE_ISNAN_IN_LIBC.
62043         (isnand): Renamed from isnan.
62044         * lib/isnand.c: New file.
62045         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
62046         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
62047         (Makefile.am): Update.
62048         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
62049         Include isnand.h instead of isnan.h.
62050         (main): Test isnand instead of isnan.
62051         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
62052         isnan-nolibm.
62053         * modules/frexp (Depends-on): Likewise.
62054         * modules/frexp-tests (Depends-on): Likewise.
62055         * modules/frexp-nolibm (Depends-on): Likewise.
62056         * modules/frexp-nolibm-tests (Depends-on): Likewise.
62057         * modules/isfinite (Depends-on): Likewise.
62058         * modules/round-tests (Depends-on): Likewise.
62059         * modules/signbit (Depends-on): Likewise.
62060         * modules/signbit-tests (Depends-on): Likewise.
62061         * modules/snprintf-posix (Depends-on): Likewise.
62062         * modules/sprintf-posix (Depends-on): Likewise.
62063         * modules/trunc-tests (Depends-on): Likewise.
62064         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
62065         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
62066         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
62067         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
62068         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
62069         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
62070         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
62071         * modules/vasnprintf-posix (Depends-on): Likewise.
62072         * modules/vasprintf-posix (Depends-on): Likewise.
62073         * modules/vfprintf-posix (Depends-on): Likewise.
62074         * modules/vsnprintf-posix (Depends-on): Likewise.
62075         * modules/vsprintf-posix (Depends-on): Likewise.
62076         * lib/frexp.c: Include isnand.h instead of isnan.h.
62077         (ISNAN): Set to isnand instead of isnan.
62078         * lib/isfinite.c: Include isnand.h instead of isnan.h.
62079         (gl_isfinited): Use isnand instead of isnan.
62080         * lib/signbitd.c: Include isnand.h instead of isnan.h.
62081         (gl_signbitd): Use isnand instead of isnan.
62082         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
62083         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
62084         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
62085         (main): Use isnand instead of isnan.
62086         * tests/test-round1.c: Include isnand.h.
62087         (main): Use isnand instead of isnan.
62088         * tests/test-round2.c: Include isnand.h instead of isnan.h.
62089         (ISNAN): Set to isnand instead of isnan.
62090         * tests/test-trunc1.c: Include isnand.h.
62091         (main): Use isnand instead of isnan.
62092         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
62093         (equal): Use isnand instead of isnan.
62094         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
62095         isnand-nolibm.
62096         * NEWS: Mention the change.
62097
62098 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
62099             Bruno Haible  <bruno@clisp.org>
62100
62101         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
62102         the GCC builtins for signbits are present and set
62103         REPLACE_SIGNBIT_USING_GCC if so.
62104         * lib/math.in.h (signbit): Define using GCC builtins if
62105         REPLACE_SIGNBIT_USING_GCC is set.
62106         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
62107         REPLACE_SIGNBIT_USING_GCC.
62108         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
62109
62110 2008-01-25  Jim Meyering  <meyering@redhat.com>
62111
62112         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
62113         * lib/poll.c: Include <config.h>, not "config.h".
62114         * tests/test-getaddrinfo.c: Likewise.
62115
62116 2008-01-25  Simon Josefsson  <simon@josefsson.org>
62117
62118         * modules/sockets-tests: New file.
62119
62120 2008-01-24  Simon Josefsson  <simon@josefsson.org>
62121
62122         * modules/sockets: New module, can be used to call WSA_Startup and
62123         WSA_Cleanup when needed.
62124
62125         * lib/sockets.h, lib/sockets.c: New files.
62126
62127         * m4/sockets.m4: New file.
62128
62129         * tests/test-sockets.c: New file.
62130
62131 2008-01-19  Bruno Haible  <bruno@clisp.org>
62132
62133         * doc/posix-headers: Renamed from doc/headers.
62134         * doc/posix-functions: Renamed from doc/functions.
62135         * doc/gnulib.texi: Update.
62136
62137 2008-01-19  Bruno Haible  <bruno@clisp.org>
62138
62139         * doc/glibc-functions/strcasestr.texi: Include contents of
62140         doc/functions/strcasestr.texi, fixing the list of platforms.
62141         * doc/functions/strcasestr.texi: Remove file.
62142
62143 2008-01-19  Bruno Haible  <bruno@clisp.org>
62144
62145         * doc/glibc-functions/memmem.texi: Include contents of
62146         doc/functions/memmem.texi.
62147         * doc/functions/memmem.texi: Remove file.
62148
62149 2008-01-18  Bruno Haible  <bruno@clisp.org>
62150
62151         * doc/glibc-functions/*.texi: New files.
62152         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
62153         to use the new files.
62154
62155 2008-01-17  Bruno Haible  <bruno@clisp.org>
62156
62157         * tests/test-gethostname.c (main): Fix printf statement.
62158
62159 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62160
62161         * modules/gethostname-tests: New file.
62162
62163         * tests/test-gethostname.c: New file.
62164
62165 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62166
62167         * lib/gethostname.c: Include string.h unconditionally, strncpy is
62168         used by the UNAME case.  Reported by Bruno Haible
62169         <bruno@clisp.org>.
62170
62171 2008-01-17  Eric Blake  <ebb9@byu.net>
62172
62173         Convert c-strcasestr to be more efficient.
62174         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
62175         (Depends-on): Add c-strcase, remove malloca, strnlen.
62176         * tests/test-c-strcasestr.c (main): Enhance test.
62177         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
62178
62179 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
62180
62181         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
62182         Use it in creating po/Makevars.
62183
62184 2008-01-15  Simon Josefsson  <simon@josefsson.org>
62185
62186         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
62187         Applications that requires it should initialize libgcrypt
62188         manually.
62189
62190 2008-01-16  Simon Josefsson  <simon@josefsson.org>
62191
62192         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
62193
62194 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
62195
62196         Fix problem with getdate on mingw32 reported by Simon Josefsson
62197         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
62198         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
62199         tzname", when deciding whether to declare tzname.
62200         * lib/strftime.c (tzname): Likewise.
62201
62202 2008-01-15  Bruno Haible  <bruno@clisp.org>
62203
62204         Work around a MacOS X 10.5 bug in frexpl().
62205         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
62206         * doc/functions/frexpl.texi: Document the bug.
62207         Reported by Elias Pipping <pipping@gentoo.org>.
62208
62209 2008-01-14  Eric Blake  <ebb9@byu.net>
62210
62211         Touch up previous patch.
62212         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
62213         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
62214
62215         Convert strcasestr module to use Two-Way algorithm.
62216         * modules/strcasestr-simple: New module, based on the old
62217         strcasestr, but with Two-Way rather than KMP.
62218         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
62219         * lib/string.in.h (rpl_strcasestr): Declare.
62220         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
62221         performance.
62222         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
62223         * modules/string (Makefile.am): Support strcasestr.
62224         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
62225         * modules/strcasestr-tests (Depends-on): Check for alarm.
62226         * tests/test-strcasestr.c: Augment test.
62227         * lib/str-two-way.h: Clean up stray macro.
62228         * NEWS: Document new module.
62229         * MODULES.html.sh (string handling): Likewise.
62230         * doc/functions/strcasestr.texi: New file.
62231         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
62232         here, since it is not a POSIX function.
62233
62234 2008-01-14  Colin Watson  <cjwatson@debian.org>
62235             Bruno Haible  <bruno@clisp.org>
62236
62237         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
62238         works fine; if not, set REPLACE_STRSIGNAL.
62239         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
62240         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62241         REPLACE_STRSIGNAL.
62242         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
62243         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
62244         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
62245
62246 2008-01-14  Bruno Haible  <bruno@clisp.org>
62247
62248         * modules/strsignal (Include): Change to <string.h>.
62249
62250 2008-01-14  Colin Watson  <cjwatson@debian.org>
62251
62252         * modules/argp (Notice): Add a notice recommending to change
62253         XGETTEXT_OPTIONS.
62254         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
62255
62256 2008-01-13  Colin Watson  <cjwatson@debian.org>
62257
62258         * modules/strsignal-tests: New file.
62259         * tests/test-strsignal.c: New file.
62260
62261         * lib/strsignal.c: New file, from glibc with modifications.
62262         * lib/siglist.h: New file, from glibc with modifications.
62263         * lib/string.in.h (strsignal): New declaration.
62264         * m4/strsignal.m4: New file.
62265         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62266         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
62267         * modules/strsignal: New file.
62268         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
62269         HAVE_DECL_STRSIGNAL.
62270
62271 2008-01-13  Bruno Haible  <bruno@clisp.org>
62272
62273         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
62274         locale encoding is not ASCII. Needed for OpenBSD 4.0.
62275         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
62276         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62277
62278 2008-01-13  Bruno Haible  <bruno@clisp.org>
62279
62280         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
62281         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
62282         * lib/argp.h (__attribute__): Likewise.
62283         * lib/c-stack.c (__attribute__): Likewise.
62284         * lib/error.h (__attribute__): Likewise.
62285         * lib/fts.c (__attribute__): Likewise.
62286         * lib/openat.h (__attribute__): Likewise.
62287         * lib/stdio.in.h (__attribute__): Likewise.
62288         * lib/string.in.h (__attribute__): Likewise.
62289         * lib/utimens.c (__attribute__): Likewise.
62290         * lib/vasnprintf.h (__attribute__): Likewise.
62291         * lib/xalloc.h (__attribute__): Likewise.
62292         * lib/xprintf.h (__attribute__): Likewise.
62293         * lib/xstrtol.h (__attribute__): Likewise.
62294         * lib/xvasprintf.h (__attribute__): Likewise.
62295
62296 2008-01-12  Bruno Haible  <bruno@clisp.org>
62297
62298         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
62299         * doc/glibc-headers/a.out.texi: New file.
62300         * doc/glibc-headers/aliases.texi: New file.
62301         * doc/glibc-headers/alloca.texi: New file.
62302         * doc/glibc-headers/ar.texi: New file.
62303         * doc/glibc-headers/argp.texi: New file.
62304         * doc/glibc-headers/argz.texi: New file.
62305         * doc/glibc-headers/byteswap.texi: New file.
62306         * doc/glibc-headers/crypt.texi: New file.
62307         * doc/glibc-headers/endian.texi: New file.
62308         * doc/glibc-headers/envz.texi: New file.
62309         * doc/glibc-headers/err.texi: New file.
62310         * doc/glibc-headers/error.texi: New file.
62311         * doc/glibc-headers/execinfo.texi: New file.
62312         * doc/glibc-headers/fpu_control.texi: New file.
62313         * doc/glibc-headers/fstab.texi: New file.
62314         * doc/glibc-headers/fts.texi: New file.
62315         * doc/glibc-headers/getopt.texi: New file.
62316         * doc/glibc-headers/ieee754.texi: New file.
62317         * doc/glibc-headers/ifaddrs.texi: New file.
62318         * doc/glibc-headers/libintl.texi: New file.
62319         * doc/glibc-headers/mcheck.texi: New file.
62320         * doc/glibc-headers/mntent.texi: New file.
62321         * doc/glibc-headers/obstack.texi: New file.
62322         * doc/glibc-headers/paths.texi: New file.
62323         * doc/glibc-headers/printf.texi: New file.
62324         * doc/glibc-headers/pty.texi: New file.
62325         * doc/glibc-headers/resolv.texi: New file.
62326         * doc/glibc-headers/shadow.texi: New file.
62327         * doc/glibc-headers/sysexits.texi: New file.
62328         * doc/glibc-headers/ttyent.texi: New file.
62329
62330 2008-01-12  Jim Meyering  <meyering@redhat.com>
62331
62332         announce-gen: emit Gnulib's git-based version string.
62333         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
62334         New option --gnulib-version=V, where V is expected to be
62335         the output of running git describe in the gnulib directory.
62336         (get_tool_versions): Request feedback on xdelta.  I suspect it's
62337         not useful, and plan to stop publishing an xdelta file with each
62338         coreutils release.
62339
62340         * build-aux/announce-gen: Also check for lzma-compressed files.
62341
62342 2008-01-11  Bruno Haible  <bruno@clisp.org>
62343
62344         * tests/test-memmem.c (main): Increase maximum allowed time.
62345         * tests/test-strstr.c (main): Likewise.
62346
62347 2008-01-11  Bruno Haible  <bruno@clisp.org>
62348
62349         * doc/functions/memmem.texi: Add more precisions about platforms.
62350         * doc/functions/strstr.texi: Likewise.
62351
62352 2008-01-10  Eric Blake  <ebb9@byu.net>
62353
62354         * m4/strstr.m4: Delete cruft from copy-n-paste.
62355         Reported by Bruno Haible.
62356
62357 2008-01-10  Bruno Haible  <bruno@clisp.org>
62358
62359         Make c-strstr rely on strstr.
62360         * lib/c-strstr.c: Don't include str-kmp.h.
62361         (c_strstr): Define in terms of strstr.
62362         * modules/c-strstr (Files): Remove lib/str-kmp.h.
62363         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
62364
62365 2008-01-10  Bruno Haible  <bruno@clisp.org>
62366
62367         * doc/gnulib.texi (String Functions in C Locale): New section.
62368         * doc/c-ctype.texi: New file.
62369         * doc/c-strcase.texi: New file.
62370         * doc/c-strcaseeq.texi: New file.
62371         * doc/c-strcasestr.texi: New file.
62372         * doc/c-strstr.texi: New file.
62373         * doc/c-strtod.texi: New file.
62374         * doc/c-strtold.texi: New file.
62375
62376 2008-01-10  Eric Blake  <ebb9@byu.net>
62377
62378         * lib/relocatable.h: Fix a comment.
62379
62380 2008-01-10  Eric Blake  <ebb9@byu.net>
62381
62382         Share two-way algorithm.
62383         * lib/str-two-way.h: New file, merged from...
62384         * lib/memmem.c: ...here...
62385         * lib/strstr.c: ...and here.
62386         * modules/memmem (Files): Use it.
62387         * modules/strstr (Files): Likewise.
62388
62389         Avoid quadratic strstr implementations.
62390         * lib/strstr.c: New file.
62391         * m4/strstr.m4: Likewise.
62392         * modules/strstr: Likewise.
62393         * modules/strstr-tests: Likewise.
62394         * tests/test-strstr.c: Likewise.
62395         * lib/string.in.h (rpl_strstr): Declare.
62396         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
62397         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
62398         * modules/string (Makefile.am): Likewise.
62399         * MODULES.html.sh (string handling): Mention new module.
62400         * doc/functions/strstr.texi (strstr): Document the bug.
62401
62402 2008-01-10  Bruno Haible  <bruno@clisp.org>
62403
62404         * lib/relocatable.h (relocate): State whether result is freshly
62405         allocated or not.
62406         * lib/relocatable.c (relocate): Return a freshly allocated string
62407         instead of a pointer to a privately held string.
62408         Reported by Sylvain Beucler <beuc@gnu.org>.
62409
62410 2008-01-10  Colin Watson  <cjwatson@debian.org>
62411
62412         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
62413         s/S_ISNLK/S_ISLNK/.
62414
62415 2008-01-09  Bruno Haible  <bruno@clisp.org>
62416
62417         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
62418         and other files.
62419         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
62420         if it's only a guess.
62421         * modules/memmem: Simplify by depending on memmem-simple.
62422
62423 2008-01-09  Bruno Haible  <bruno@clisp.org>
62424
62425         Work around OpenBSD 4.0 tdelete() bug.
62426         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
62427         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
62428         macros and don't redefine the enum values.
62429         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
62430         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
62431         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
62432
62433 2008-01-09  Bruno Haible  <bruno@clisp.org>
62434
62435         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
62436         (main): Don't perform the tests if setlocale did not install a UTF-8
62437         locale. Needed on OpenBSD 4.0.
62438         * modules/wcwidth-tests (Depends-on): Add localcharset.
62439
62440 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62441
62442         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
62443         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
62444         * NEWS: announce this.
62445         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
62446
62447 2008-01-09  Simon Josefsson  <simon@josefsson.org>
62448         and Eric Blake  <ebb9@byu.net>
62449
62450         Add memmem-simple module.
62451         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
62452         (gl_FUNC_MEMMEM): Separate performance from presence checks.
62453         * modules/memmem-simple: New file.
62454         * modules/memmem (Description): Tweak.
62455         * MODULES.html.sh (string handling): Mention new module.
62456         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
62457         addressed by memmem-simple.
62458         * NEWS: Document the difference.
62459
62460 2008-01-09  Eric Blake  <ebb9@byu.net>
62461
62462         Give gcc some memmem optimization hints.
62463         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
62464         (strcasestr): Declare as pure.
62465         * modules/memmem (Maintainer): Claim my implementation.
62466
62467 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62468
62469         Support AIX 6.1 and higher.
62470         * build-aux/config.libpath: Likewise.
62471         * build-aux/config.rpath: Likewise.
62472
62473 2008-01-08  Jim Meyering  <meyering@redhat.com>
62474             Bruno Haible  <bruno@clisp.org>
62475
62476         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
62477         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
62478         Reported by Peter Fales in
62479         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
62480
62481 2008-01-08  Bruno Haible  <bruno@clisp.org>
62482
62483         * modules/unictype/category-of (Depends-on): Add
62484         unictype/category-none.
62485         * modules/unictype/category-and-tests (Depends-on): Add
62486         unictype/category-{L,N,Lu,Nd}.
62487         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
62488         * modules/unictype/category-or-tests (Depends-on): Add
62489         unictype/category-{L,N}.
62490         * modules/unictype/category-name-tests (Depends-on): Add
62491         unictype/category-{Z,Nl}.
62492         Reported by Simon Josefsson.
62493
62494 2008-01-08  Bruno Haible  <bruno@clisp.org>
62495
62496         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
62497         convention better.
62498         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
62499         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
62500         Reported by Peter Miller <millerp@canb.auug.org.au>.
62501
62502 2008-01-08  Eric Blake  <ebb9@byu.net>
62503
62504         Rewrite memmem to guarantee linear complexity without malloc.
62505         * lib/memmem.c (memmem): Use Two-Way rather than
62506         Knuth-Morris-Pratt, to allow O(1) space usage.
62507         (critical_factorization, two_way_short_needle)
62508         (two_way_long_needle): New functions.
62509         (knuth_morris_pratt): Delete.
62510         * modules/memmem (Depends-on): No longer need malloca or stdbool.
62511         Add stdint.
62512         * tests/test-memmem.c (main): Add tests for periodic needle and
62513         sublinear performance.
62514         * doc/functions/memmem.texi (memmem): Document other deficiencies
62515         in cygwin and older glibc.
62516
62517 2008-01-08  Bruno Haible  <bruno@clisp.org>
62518
62519         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
62520         augmentation.
62521
62522 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
62523
62524         Add a configure time option: --disable-acl.
62525         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
62526         AC_ARG_ENABLE(acl).
62527
62528 2008-01-06  Simon Josefsson  <simon@josefsson.org>
62529
62530         * tests/test-localename.c: Don't include obsolete "setenv.h".
62531
62532         * modules/localename-tests (Depends-on): Need unsetenv.
62533
62534 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62535
62536         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
62537
62538 2008-01-06  Colin Watson  <cjwatson@debian.org>
62539
62540         * users.txt: Add man-db.
62541
62542 2008-01-07  Bruno Haible  <bruno@clisp.org>
62543
62544         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
62545         previous section name.
62546
62547 2008-01-07  Bruno Haible  <bruno@clisp.org>
62548
62549         * lib/progname.c (set_program_name): Don't strip off a leading
62550         "lt-" prefix outside a .libs directory.
62551         Suggested by Paul Eggert.
62552
62553 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
62554             Bruno Haible  <bruno@clisp.org>
62555
62556         Improve memory cleanup in 'relocatable' module.
62557         * lib/relocatable.h (compute_curr_prefix): Change return type to
62558         'char *'.
62559         * lib/relocatable.c (compute_curr_prefix): Change return type to
62560         'char *'. Free curr_installdir after use.
62561         (relocate): Free curr_prefix_better after use.
62562         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
62563
62564 2008-01-01  Bruno Haible  <bruno@clisp.org>
62565
62566         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
62567         failure on older glibc systems.
62568         Reported by Peter Fales <psfales@alcatel-lucent.com>.
62569
62570 2008-01-05  Eric Blake  <ebb9@byu.net>
62571
62572         Avoid quadratic system memmem.
62573         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
62574         Reported by Ralf Wildenhues.
62575
62576         Fix memmem test for mingw.
62577         * modules/memmem-tests (configure.ac): Check for alarm.
62578         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
62579         it.
62580         * doc/functions/memmem.texi: New file.
62581         * doc/gnulib.texi (Function Substitutes): Add memmem.
62582         Reported by Bruno Haible.
62583
62584 2008-01-04  Bruno Haible  <bruno@clisp.org>
62585
62586         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
62587         Require gl_HEADER_STRINGS_H_DEFAULTS, not
62588         gl_HEADER_STRING_H_DEFAULTS.
62589
62590 2008-01-04  Eric Blake  <ebb9@byu.net>
62591
62592         Shorten duration of memmem test.
62593         * tests/test-memmem.c (main): Use alarm to declare failure if test
62594         is taking too long.
62595         Reported by Ralf Wildenhues.
62596
62597 2007-12-21  Simon Josefsson  <simon@josefsson.org>
62598
62599         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
62600         string, needed by strerror.
62601
62602 2008-01-03  Colin Watson  <cjwatson@debian.org>
62603             Bruno Haible  <bruno@clisp.org>
62604
62605         * doc/gnulib-tool.texi (Localization): New section.
62606
62607 2008-01-02  Bruno Haible  <bruno@clisp.org>
62608
62609         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
62610         variables to 'unsigned char *' type.
62611         Reported by Paul Eggert.
62612
62613 2008-01-02  Jim Meyering  <jim@meyering.net>
62614
62615         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
62616
62617 2007-12-31  Jim Meyering  <jim@meyering.net>
62618
62619         Avoid use of private FTS type name.
62620         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
62621
62622 2007-12-30  Karl Berry  <karl@gnu.org>
62623
62624         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
62625         work around defect in Texinfo and/or the standalone Info browser.
62626
62627 2007-12-30  Bruno Haible  <bruno@clisp.org>
62628
62629         Unify 5 copies of the KMP code.
62630         * lib/str-kmp.h: New file.
62631         * lib/c-strcasestr.c: Include str-kmp.h.
62632         (knuth_morris_pratt): Remove function.
62633         (c_strcasestr): Update.
62634         * lib/c-strstr.c: Include str-kmp.h.
62635         (knuth_morris_pratt): Remove function.
62636         (c_strcasestr): Update.
62637         * lib/mbscasestr.c: Include str-kmp.h.
62638         (knuth_morris_pratt_unibyte): Remove function.
62639         * lib/mbsstr.c: Include str-kmp.h.
62640         (knuth_morris_pratt_unibyte): Remove function.
62641         * lib/strcasestr.c: Include str-kmp.h.
62642         (knuth_morris_pratt): Remove function.
62643         (strcasestr): Update.
62644         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
62645         * modules/c-strstr (Files): Likewise.
62646         * modules/mbscasestr (Files): Likewise.
62647         * modules/mbsstr (Files): Likewise.
62648         * modules/strcasestr (Files): Likewise.
62649         Suggested by Paul Eggert.
62650
62651 2007-12-30  Bruno Haible  <bruno@clisp.org>
62652
62653         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
62654         defined.
62655
62656 2007-12-30  Bruno Haible  <bruno@clisp.org>
62657
62658         * lib/xmalloca.h: Include xalloc.h.
62659         (xnmalloca): New macro.
62660
62661 2007-12-30  Bruno Haible  <bruno@clisp.org>
62662
62663         * lib/malloca.h (nmalloca): New macro.
62664         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
62665         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
62666         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
62667         knuth_morris_pratt_multibyte): Likewise.
62668         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
62669         knuth_morris_pratt_multibyte): Likewise.
62670         * lib/memmem.c (knuth_morris_pratt): Likewise.
62671         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
62672
62673 2007-12-25  Bruno Haible  <bruno@clisp.org>
62674
62675         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
62676         * lib/glob.c: Don't include openat.h.
62677         (link_exists2_p): Add back the code that deals with the
62678         !GLOB_ALTDIRFUNC case.
62679         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
62680         let it do the filename concatenation.
62681         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
62682         * modules/glob (Depends-on): Remove openat.
62683
62684 2007-12-31  Bruno Haible  <bruno@clisp.org>
62685
62686         * modules/dirfd (License): Change to LGPLv2+.
62687         Approved by Jim Meyering.
62688
62689 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
62690
62691         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
62692         when multiplying M by sizeof (size_t).
62693
62694 2007-12-10  Martin Lambers  <marlam@marlam.de>
62695
62696         Override getpagesize on mingw.
62697         * lib/getpagesize.c: New file.
62698         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
62699         * modules/getpagesize (Files): Add lib/getpagesize.c.
62700         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
62701         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
62702         REPLACE_GETPAGESIZE.
62703         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
62704
62705 2007-12-25  Bruno Haible  <bruno@clisp.org>
62706
62707         * modules/localcharset (Notice): New field.
62708         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
62709         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
62710
62711 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
62712             Bruno Haible  <bruno@clisp.org>
62713
62714         Avoid using the syntax symbol() in formatted documentation.
62715         * MODULES.html.sh (func_module): When replacing symbol() with a
62716         hyperlink, remove the parentheses. Show an error if some remain.
62717         Recognize and render the '...' syntax.
62718         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
62719         Rework. Add paragraph about GCC's inlining.
62720         * doc/alloca.texi: Likewise.
62721         * doc/error.texi: Remove parentheses from symbol reference.
62722         * doc/gnulib-intro.texi: Likewise.
62723         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
62724         * modules/fnmatch (Description): Reword to say "the ... function".
62725         * modules/full-read (Description): Likewise.
62726         * modules/full-write (Description): Likewise.
62727         * modules/safe-read (Description): Likewise.
62728         * modules/safe-write (Description): Likewise.
62729         * modules/strchrnul (Description): Likewise.
62730         * modules/trim (Description): Likewise.
62731         * modules/error (Description): Remove parentheses from symbol
62732         references.
62733         * modules/verror (Description): Likewise.
62734         Reported by Karl Berry.
62735
62736 2007-12-25  Bruno Haible  <bruno@clisp.org>
62737
62738         Fixup after 2007-10-16 commit.
62739         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
62740
62741 2007-12-24  Bruno Haible  <bruno@clisp.org>
62742
62743         Make --enable-relocatable work with DESTDIR.
62744         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
62745         to compute installdir from destprog.
62746         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
62747         also set the RELOC_DESTDIR variable.
62748         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62749
62750 2007-12-24  Bruno Haible  <bruno@clisp.org>
62751
62752         Fix link error due to xalloc_die().
62753         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
62754         of xreadlink.
62755         * lib/relocwrapper.c: Update comments.
62756         * build-aux/install-reloc: Remove xreadlink.c from file list.
62757         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
62758         xreadlink.c.
62759         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62760
62761 2007-12-24  Bruno Haible  <bruno@clisp.org>
62762
62763         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
62764         * lib/setenv.h: Remove file.
62765         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
62766         lib/setenv.h.
62767         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
62768         (Depends-on): Add stdlib.
62769         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
62770         gl_FUNC_UNSETENV.
62771         (Include): Replace setenv.h with <stdlib.h>.
62772         * modules/unsetenv: New file.
62773         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
62774         * lib/unsetenv.c: Include <stdlib.h> first.
62775         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
62776         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
62777         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
62778         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
62779         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
62780         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
62781         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
62782         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
62783         * doc/functions/unsetenv.texi: Update.
62784         * modules/xsetenv (Depends-on): Add unsetenv.
62785         * modules/getdate (Depends-on): Likewise.
62786         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
62787         * lib/xsetenv.c: Don't include setenv.h.
62788         * lib/getdate.y: Likewise.
62789         * lib/relocwrapper.c: Likewise.
62790         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
62791         (Depends-on): Add stdlib.
62792         * NEWS: Mention the changes.
62793         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62794
62795 2007-12-23  Bruno Haible  <bruno@clisp.org>
62796
62797         * lib/memmem.c (memmem): Use lowercase variable names. Tab
62798         indentation.
62799
62800 2007-12-23  Bruno Haible  <bruno@clisp.org>
62801
62802         * lib/c-strcasestr.c: Add more comments.
62803         * lib/c-strstr.c: Likewise.
62804         * lib/mbscasestr.c: Likewise.
62805         * lib/mbsstr.c: Likewise.
62806         * lib/strcasestr.c: Likewise.
62807         * lib/memmem.c: Likewise.
62808
62809 2007-12-23  Bruno Haible  <bruno@clisp.org>
62810
62811         * tests/test-memmem.c: Include <string.h> first.
62812
62813 2007-12-22  Bruno Haible  <bruno@clisp.org>
62814
62815         * gnulib-tool (func_create_testdir): Change $auxdir while generating
62816         the contents of $testsbase.
62817         Reported by Ralf Wildenhues.
62818
62819 2007-12-22  Bruno Haible  <bruno@clisp.org>
62820
62821         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
62822         two variables local_ldadd_before, local_ldadd_last.
62823
62824 2007-12-20  Eric Blake  <ebb9@byu.net>
62825
62826         Work around circular library issue when cross-compiling.
62827         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
62828         that progname.o does not need to pull in rpl_memcmp.
62829
62830 2007-12-19  Eric Blake  <ebb9@byu.net>
62831
62832         Fix memmem to avoid O(n^2) worst-case complexity.
62833         * lib/memmem.c (knuth_morris_pratt): New function.
62834         (memmem): Use it if first few naive iterations fail.
62835         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
62836         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
62837         * modules/memchr (License): Likewise.
62838         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
62839         malloca.
62840         * tests/test-memmem.c: Rewrite, borrowing ideas from
62841         test-mbsstr1.c; the old version wouldn't even compile!
62842         * modules/memmem-tests: New file.
62843         * lib/string.in.h (rpl_memmem): Add declaration.
62844         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
62845         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
62846         REPLACE_MEMMEM.
62847
62848 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
62849
62850         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
62851         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
62852         before any system include files, and undef after them all.  This
62853         should fix a problem on VMS reported by John E. Malmberg in
62854         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
62855
62856 2007-12-17  Eric Blake  <ebb9@byu.net>
62857
62858         Revert addition of verify, for BSD/OS.
62859         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
62860         can't handle large files, for the sake of obsolete platforms.
62861         * modules/fseeko (Depends-on): Remove verify.
62862         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
62863         * doc/functions/ftello.texi (ftello): Likewise.
62864         * doc/functions/fgetpos.texi (fgetpos): Likewise.
62865         Reported by Larry Jones.
62866
62867 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
62868
62869         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
62870         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
62871
62872 2007-12-17  Jim Meyering  <meyering@redhat.com>
62873
62874         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
62875         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
62876         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
62877         * modules/getcwd (Depends-on): Add openat.
62878         Reported by Petr Salinger.
62879
62880 2007-12-17  Bruno Haible  <bruno@clisp.org>
62881
62882         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
62883         avoid a segmentation fault of the configure test on x86_64 systems.
62884
62885 2007-12-15  Jim Meyering  <meyering@redhat.com>
62886
62887         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
62888
62889 2007-12-13  Eric Blake  <ebb9@byu.net>
62890
62891         Another fseek test.
62892         * tests/test-fseek.c (main): Also test ungetc handling.
62893         * tests/test-fseeko.c (main): Likewise.
62894         * modules/fseeko (Depends-on): Add verify.
62895         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
62896         large.
62897         Reported by Larry Jones.
62898
62899         Fix fseeko on mingw.
62900         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
62901         seek.
62902
62903         Beef up fseek tests.
62904         * tests/test-fseek.c (main): Also test eof handling.
62905         * tests/test-fseeko.c (main): Likewise.
62906         Reported by Larry Jones.
62907
62908 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
62909
62910         Fix fseeko on BSD-based platforms.
62911         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
62912         successful seek.
62913
62914 2007-12-12  Eric Blake  <ebb9@byu.net>
62915
62916         Allow circular dependency of separate libtests.a
62917         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
62918         when use_libtests.
62919
62920 2007-12-11  Eric Blake  <ebb9@byu.net>
62921
62922         Fix bug with -0.0L in previous patch.
62923         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
62924         * tests/test-isnan.c (main): Also test on zeroes.
62925         * tests/test-isnanf.c (main): Likewise.
62926         * tests/test-isnanl.h (main): Likewise.
62927
62928         Detect pseudo-denormals on x86 even when cross-compiling.
62929         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
62930         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
62931         invalid bit patterns that happen to satisfy ==.
62932
62933         Avoid link failures with separate libtests.a.
62934         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
62935         last, to satisfy circular dependencies.
62936
62937 2007-12-11  Eric Blake  <ebb9@byu.net>
62938         and Bruno Haible  <bruno@clisp.org>
62939
62940         Fix OpenBSD 4.0 <float.h> handling of long double.
62941         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
62942         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
62943         * doc/headers/float.texi (float.h): Document OpenBSD bug.
62944
62945 2007-12-11  Jim Meyering  <meyering@redhat.com>
62946
62947         * users.txt: Add libvirt.
62948
62949         Support versions of autoconf prior to 2.59c.
62950         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
62951         if it is not already defined.
62952
62953 2007-12-09  Bruno Haible  <bruno@clisp.org>
62954
62955         Let 'gnulib-tool --import' collect sources needed for the tests in
62956         tests/ rather than in lib/.
62957         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
62958         argument. If true, add rules to generate libtests.a, and put libtests.a
62959         into $(LDADD). Consider source files in subdirectories and set
62960         uses_subdirs.
62961         (func_emit_initmacro_start, func_emit_initmacro_end,
62962         func_emit_initmacro_done): Pass all arguments explicitly.
62963         (func_import): Determine two module lists main_modules,
62964         testsrelated_modules. Determine use_libtests. Determine two variables
62965         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
62966         instead of just sed_transform_lib_file. Determine two variables
62967         main_files and testsrelated_files. Compute 'files' as the union of
62968         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
62969         func_add_or_update. In the generated gnulib-comp.m4, collect the
62970         object files for tests/ in different variables than those for lib/.
62971         Substitute LIBTESTS_LIBDEPS.
62972         (func_create_testdir): Combine the uses_subdirs results from
62973         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
62974
62975 2007-12-09  Bruno Haible  <bruno@clisp.org>
62976
62977         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
62978         the build-aux directory.
62979
62980 2007-12-09  Bruno Haible  <bruno@clisp.org>
62981
62982         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
62983         introduced on 2006-09-09.
62984
62985 2007-12-07  Jim Meyering  <meyering@redhat.com>
62986
62987         Let these macros work also with autoconf-2.59.
62988         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
62989         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
62990         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
62991
62992 2007-12-06  Jim Meyering  <meyering@redhat.com>
62993
62994         Avoid a configure-time syntax error in gl_FUNC_ACL.
62995         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
62996         function in each branch, before testing the cache variable.
62997
62998 2007-12-04  Eric Blake  <ebb9@byu.net>
62999
63000         Make scripts executable.
63001         * build-aux/config.guess: Add execute permissions.
63002         * build-aux/config.sub: Likewise.
63003         * build-aux/gendocs.sh: Likewise.
63004
63005         Fix frexp on mingw.
63006         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
63007         cross-compiling.
63008         * doc/functions/frexp.texi (frexp): Document the bug.
63009
63010         Make cygwin fseeko check more reliable.
63011         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
63012         version numbers, rather than unrelated feature check.
63013         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
63014         * doc/functions/ftello.texi (ftello): Likewise.
63015         Reported by Bruno Haible.
63016
63017         * m4/strerror.m4: Bump version number.
63018
63019 2007-12-03  Bruno Haible  <bruno@clisp.org>
63020
63021         * doc/functions/mprotect.texi: Mention the mingw problem.
63022
63023 2007-12-03  Eric Blake  <ebb9@byu.net>
63024
63025         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
63026         REPLACE_STRERROR is initialized before this macro.
63027
63028 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
63029
63030         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
63031         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
63032         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
63033         put -lsec in even for programs other than 'ls'.  This fixes a problem
63034         for gettext reported by Bruno Haible in
63035         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
63036         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
63037         Add support for Solaris 10.  This isn't efficient, but should get the
63038         job done for now.
63039
63040 2007-12-03  James Youngman  <jay@gnu.org>
63041
63042         * doc/regexprops-generic.texi: change "an close-group" to "a
63043         close-group" and "illegal" to "not allowed".
63044
63045 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63046
63047         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
63048         pr_byname.h. Needed for the rare case when the maintainer has done
63049         "make maintainer-clean" in the source directory and then attempts a
63050         build outside the source directory.
63051         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
63052         scripts_byname.h.
63053
63054 2007-12-02  Martin Lambers <marlam@marlam.de>
63055             Bruno Haible  <bruno@clisp.org>
63056
63057         * lib/getpagesize.h: Remove file.
63058         * lib/unistd.in.h: Include declaration of getpagesize here.
63059         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
63060         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
63061         HAVE_SYS_PARAM_H.
63062         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
63063         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63064         * modules/getpagesize (Files): Remove lib/getpagesize.h.
63065         (Depends-on): Add unistd.
63066         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63067         (Include): Use <unistd.h> instead of getpagesize.h.
63068         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
63069         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63070         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
63071         gl_GETPAGESIZE invocation, already handled by module dependency.
63072         * lib/pagealign_alloc.c: Don't include getpagesize.h.
63073
63074 2007-12-02  Bruno Haible  <bruno@clisp.org>
63075
63076         * modules/strings-tests: New file.
63077         * tests/test-strings.c: New file.
63078
63079         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
63080         * lib/strings.in.h: New file.
63081         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
63082         * m4/strings_h.m4: New file.
63083         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
63084         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
63085         * modules/strings: New file.
63086         * modules/string (Makefile.am): Update.
63087         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
63088         Reported by Karl Berry.
63089
63090 2007-12-01  Eric Blake  <ebb9@byu.net>
63091
63092         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
63093         accommodate fix in cygwin 1.5.25.
63094
63095 2007-12-01  Jim Meyering  <meyering@redhat.com>
63096
63097         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
63098         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
63099         that would inhibit utf8-optimization of a regexp containing line-
63100         or buffer-anchors, e.g., `^', `$'.
63101
63102 2007-11-30  Bruno Haible  <bruno@clisp.org>
63103
63104         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
63105         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
63106         glthread_recursive_lock_init.
63107         * lib/lock.c (glthread_recursive_lock_init)
63108         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
63109         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63110
63111 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
63112
63113         New function qset_acl, like set_acl but with syscall semantics.
63114         * lib/acl.h (qset_acl): New decl.
63115         * lib/acl.c (qset_acl): New function.
63116         (set_acl): Use new function.  Use more-consistent diagnostics.
63117
63118 2007-11-28  Jim Meyering  <meyering@redhat.com>
63119
63120         * modules/physmem (License): Change from GPL to LGPLv2+.
63121
63122 2007-11-26  Bruno Haible  <bruno@clisp.org>
63123
63124         * lib/vasnprintf.c (decode_long_double): Don't abort if the
63125         'long double' type has excess precision.
63126         Reported by Jim Meyering in
63127         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
63128
63129 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63130
63131         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
63132         Sync from <http://gnu.org/licenses>.
63133         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
63134         with license text from same location.
63135         * doc/maintain.texi, doc/standards.texi:  Sync from
63136         <http://savannah.gnu.org/projects/gnustandards>.
63137
63138 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
63139         and Jim Meyering  <meyering@redhat.com>
63140
63141         Adjust getdate' grammar to accept a slightly more regular language.
63142         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
63143         Before, the former was rejected.
63144         * lib/getdate.y (digits_to_date_time): New function, factored
63145         out of ...
63146         (number): ...here.  Just call digits_to_date_time.
63147         (hybrid): New non-terminal to handle an <unsigned number,
63148         signed relative offset> sequence consistently.
63149
63150 2007-11-18  Jim Meyering  <meyering@redhat.com>
63151
63152         Pull my changes from coreutils:
63153         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
63154         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
63155         use of $gnulib_tool_option_extras, so that it's separated from the
63156         preceding argument.
63157
63158         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
63159         * build-aux/bootstrap (cp_mark_as_generated): Create any required
63160         parent destination directories before copying a file into place.
63161
63162 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
63163
63164         bootstrap: work also with 4-argument variant of AC_INIT
63165         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
63166
63167 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
63168
63169         Port test-getaddrinfo to Solaris.
63170         Problem reported by Bruno Haible in
63171         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
63172         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
63173         explanation of setting 'hints'.
63174         Don't reject an implementation merely because it returns EAI_SERVICE.
63175         (EAI_SERVICE): Define to 0 if not defined.
63176
63177 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
63178
63179         The license of gnu-make and posix-shell is now "GPLed build tool".
63180         * modules/gnu-make (License): Likewise.
63181         * modules/posix-shell (License): Likewise.
63182
63183         New module posix-shell, for determining a POSIX shell
63184         or perhaps something that is close enough to a POSIX shell.
63185         * m4/posix-shell.m4: New file.
63186         * modules/posix-shell: New file.
63187
63188         * MODULES.html.sh: Mention new module.
63189
63190         New module gnu-make, for determining whether we're using GNU Make.
63191         * m4/gnu-make.m4: New file.
63192         * modules/gnu-make: New file.
63193         * MODULES.html.sh: Mention new module.
63194
63195 2007-11-14  Jim Meyering  <meyering@redhat.com>
63196
63197         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
63198         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
63199         use this macro to create a function _definition_.
63200         Remove useless "#undef ARGMATCH_DIE".
63201
63202 2007-11-14  Bruno Haible  <bruno@clisp.org>
63203
63204         * lib/config.charset: Update for OpenBSD 4.1.
63205         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
63206
63207 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
63208
63209         Document 64-bit #if problems in stdint.texi.
63210         * doc/headers/stdint.texi (stdint.h): Mention problems with
63211         64-bit-#if, and how to work around them.
63212
63213         Don't insist on 'long long int' support in the preprocessor.  It
63214         breaks too many things.  For example, PRIdMAX still uses a 'long
63215         long int' format with the latest Sun compiler, even though
63216         HAVE_LONG_LONG_INT isn't defined due to that compiler's
63217         preprocessor problem.  This causes the latest coreutils to dump
63218         core on Solaris 10 sparc with the Sun C compiler.
63219         Instead, fix the 2007-10-16 problem in a different way, by evaluating
63220         the troublesome expressions at configure-time, not at #if-time.
63221         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
63222         preprocessor.
63223         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
63224         compile-time C checks, done at 'configure'-time.
63225         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
63226         * modules/inttypes (Makefile): Substitute the new symbols that
63227         gl_INTTYPES_H now generates.
63228         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
63229
63230 2007-11-12  Bruno Haible  <bruno@clisp.org>
63231
63232         Tests for Unicode character classification functions.
63233
63234         * modules/unictype/bidicategory-byname-tests: New file.
63235         * modules/unictype/bidicategory-name-tests: New file.
63236         * modules/unictype/bidicategory-of-tests: New file.
63237         * modules/unictype/bidicategory-test-tests: New file.
63238         * modules/unictype/block-list-tests: New file.
63239         * modules/unictype/block-of-tests: New file.
63240         * modules/unictype/block-test-tests: New file.
63241         * modules/unictype/category-C-tests: New file.
63242         * modules/unictype/category-Cc-tests: New file.
63243         * modules/unictype/category-Cf-tests: New file.
63244         * modules/unictype/category-Cn-tests: New file.
63245         * modules/unictype/category-Co-tests: New file.
63246         * modules/unictype/category-Cs-tests: New file.
63247         * modules/unictype/category-L-tests: New file.
63248         * modules/unictype/category-Ll-tests: New file.
63249         * modules/unictype/category-Lm-tests: New file.
63250         * modules/unictype/category-Lo-tests: New file.
63251         * modules/unictype/category-Lt-tests: New file.
63252         * modules/unictype/category-Lu-tests: New file.
63253         * modules/unictype/category-M-tests: New file.
63254         * modules/unictype/category-Mc-tests: New file.
63255         * modules/unictype/category-Me-tests: New file.
63256         * modules/unictype/category-Mn-tests: New file.
63257         * modules/unictype/category-N-tests: New file.
63258         * modules/unictype/category-Nd-tests: New file.
63259         * modules/unictype/category-Nl-tests: New file.
63260         * modules/unictype/category-No-tests: New file.
63261         * modules/unictype/category-P-tests: New file.
63262         * modules/unictype/category-Pc-tests: New file.
63263         * modules/unictype/category-Pd-tests: New file.
63264         * modules/unictype/category-Pe-tests: New file.
63265         * modules/unictype/category-Pf-tests: New file.
63266         * modules/unictype/category-Pi-tests: New file.
63267         * modules/unictype/category-Po-tests: New file.
63268         * modules/unictype/category-Ps-tests: New file.
63269         * modules/unictype/category-S-tests: New file.
63270         * modules/unictype/category-Sc-tests: New file.
63271         * modules/unictype/category-Sk-tests: New file.
63272         * modules/unictype/category-Sm-tests: New file.
63273         * modules/unictype/category-So-tests: New file.
63274         * modules/unictype/category-Z-tests: New file.
63275         * modules/unictype/category-Zl-tests: New file.
63276         * modules/unictype/category-Zp-tests: New file.
63277         * modules/unictype/category-Zs-tests: New file.
63278         * modules/unictype/category-and-not-tests: New file.
63279         * modules/unictype/category-and-tests: New file.
63280         * modules/unictype/category-byname-tests: New file.
63281         * modules/unictype/category-name-tests: New file.
63282         * modules/unictype/category-none-tests: New file.
63283         * modules/unictype/category-of-tests: New file.
63284         * modules/unictype/category-or-tests: New file.
63285         * modules/unictype/category-test-withtable-tests: New file.
63286         * modules/unictype/combining-class-tests: New file.
63287         * modules/unictype/ctype-alnum-tests: New file.
63288         * modules/unictype/ctype-alpha-tests: New file.
63289         * modules/unictype/ctype-blank-tests: New file.
63290         * modules/unictype/ctype-cntrl-tests: New file.
63291         * modules/unictype/ctype-digit-tests: New file.
63292         * modules/unictype/ctype-graph-tests: New file.
63293         * modules/unictype/ctype-lower-tests: New file.
63294         * modules/unictype/ctype-print-tests: New file.
63295         * modules/unictype/ctype-punct-tests: New file.
63296         * modules/unictype/ctype-space-tests: New file.
63297         * modules/unictype/ctype-upper-tests: New file.
63298         * modules/unictype/ctype-xdigit-tests: New file.
63299         * modules/unictype/decimal-digit-tests: New file.
63300         * modules/unictype/digit-tests: New file.
63301         * modules/unictype/mirror-tests: New file.
63302         * modules/unictype/numeric-tests: New file.
63303         * modules/unictype/property-alphabetic-tests: New file.
63304         * modules/unictype/property-ascii-hex-digit-tests: New file.
63305         * modules/unictype/property-bidi-arabic-digit-tests: New file.
63306         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
63307         * modules/unictype/property-bidi-block-separator-tests: New file.
63308         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
63309         * modules/unictype/property-bidi-common-separator-tests: New file.
63310         * modules/unictype/property-bidi-control-tests: New file.
63311         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
63312         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
63313         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
63314         * modules/unictype/property-bidi-european-digit-tests: New file.
63315         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
63316         * modules/unictype/property-bidi-left-to-right-tests: New file.
63317         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
63318         * modules/unictype/property-bidi-other-neutral-tests: New file.
63319         * modules/unictype/property-bidi-pdf-tests: New file.
63320         * modules/unictype/property-bidi-segment-separator-tests: New file.
63321         * modules/unictype/property-bidi-whitespace-tests: New file.
63322         * modules/unictype/property-byname-tests: New file.
63323         * modules/unictype/property-combining-tests: New file.
63324         * modules/unictype/property-composite-tests: New file.
63325         * modules/unictype/property-currency-symbol-tests: New file.
63326         * modules/unictype/property-dash-tests: New file.
63327         * modules/unictype/property-decimal-digit-tests: New file.
63328         * modules/unictype/property-default-ignorable-code-point-tests: New file.
63329         * modules/unictype/property-deprecated-tests: New file.
63330         * modules/unictype/property-diacritic-tests: New file.
63331         * modules/unictype/property-extender-tests: New file.
63332         * modules/unictype/property-format-control-tests: New file.
63333         * modules/unictype/property-grapheme-base-tests: New file.
63334         * modules/unictype/property-grapheme-extend-tests: New file.
63335         * modules/unictype/property-grapheme-link-tests: New file.
63336         * modules/unictype/property-hex-digit-tests: New file.
63337         * modules/unictype/property-hyphen-tests: New file.
63338         * modules/unictype/property-id-continue-tests: New file.
63339         * modules/unictype/property-id-start-tests: New file.
63340         * modules/unictype/property-ideographic-tests: New file.
63341         * modules/unictype/property-ids-binary-operator-tests: New file.
63342         * modules/unictype/property-ids-trinary-operator-tests: New file.
63343         * modules/unictype/property-ignorable-control-tests: New file.
63344         * modules/unictype/property-iso-control-tests: New file.
63345         * modules/unictype/property-join-control-tests: New file.
63346         * modules/unictype/property-left-of-pair-tests: New file.
63347         * modules/unictype/property-line-separator-tests: New file.
63348         * modules/unictype/property-logical-order-exception-tests: New file.
63349         * modules/unictype/property-lowercase-tests: New file.
63350         * modules/unictype/property-math-tests: New file.
63351         * modules/unictype/property-non-break-tests: New file.
63352         * modules/unictype/property-not-a-character-tests: New file.
63353         * modules/unictype/property-numeric-tests: New file.
63354         * modules/unictype/property-other-alphabetic-tests: New file.
63355         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
63356         * modules/unictype/property-other-grapheme-extend-tests: New file.
63357         * modules/unictype/property-other-id-continue-tests: New file.
63358         * modules/unictype/property-other-id-start-tests: New file.
63359         * modules/unictype/property-other-lowercase-tests: New file.
63360         * modules/unictype/property-other-math-tests: New file.
63361         * modules/unictype/property-other-uppercase-tests: New file.
63362         * modules/unictype/property-paired-punctuation-tests: New file.
63363         * modules/unictype/property-paragraph-separator-tests: New file.
63364         * modules/unictype/property-pattern-syntax-tests: New file.
63365         * modules/unictype/property-pattern-white-space-tests: New file.
63366         * modules/unictype/property-private-use-tests: New file.
63367         * modules/unictype/property-punctuation-tests: New file.
63368         * modules/unictype/property-quotation-mark-tests: New file.
63369         * modules/unictype/property-radical-tests: New file.
63370         * modules/unictype/property-sentence-terminal-tests: New file.
63371         * modules/unictype/property-soft-dotted-tests: New file.
63372         * modules/unictype/property-space-tests: New file.
63373         * modules/unictype/property-terminal-punctuation-tests: New file.
63374         * modules/unictype/property-test-tests: New file.
63375         * modules/unictype/property-titlecase-tests: New file.
63376         * modules/unictype/property-unassigned-code-value-tests: New file.
63377         * modules/unictype/property-unified-ideograph-tests: New file.
63378         * modules/unictype/property-uppercase-tests: New file.
63379         * modules/unictype/property-variation-selector-tests: New file.
63380         * modules/unictype/property-white-space-tests: New file.
63381         * modules/unictype/property-xid-continue-tests: New file.
63382         * modules/unictype/property-xid-start-tests: New file.
63383         * modules/unictype/property-zero-width-tests: New file.
63384         * modules/unictype/scripts-tests: New file.
63385         * modules/unictype/syntax-c-ident-tests: New file.
63386         * modules/unictype/syntax-c-whitespace-tests: New file.
63387         * modules/unictype/syntax-java-ident-tests: New file.
63388         * modules/unictype/syntax-java-whitespace-tests: New file.
63389         * tests/unictype/test-bidi_byname.c: New file.
63390         * tests/unictype/test-bidi_name.c: New file.
63391         * tests/unictype/test-bidi_of.c: New file.
63392         * tests/unictype/test-bidi_test.c: New file.
63393         * tests/unictype/test-block_list.c: New file.
63394         * tests/unictype/test-block_of.c: New file.
63395         * tests/unictype/test-block_test.c: New file.
63396         * tests/unictype/test-categ_and.c: New file.
63397         * tests/unictype/test-categ_and_not.c: New file.
63398         * tests/unictype/test-categ_byname.c: New file.
63399         * tests/unictype/test-categ_name.c: New file.
63400         * tests/unictype/test-categ_none.c: New file.
63401         * tests/unictype/test-categ_of.c: New file.
63402         * tests/unictype/test-categ_or.c: New file.
63403         * tests/unictype/test-categ_test_withtable.c: New file.
63404         * tests/unictype/test-combining.c: New file.
63405         * tests/unictype/test-decdigit.c: New file.
63406         * tests/unictype/test-digit.c: New file.
63407         * tests/unictype/test-mirror.c: New file.
63408         * tests/unictype/test-numeric.c: New file.
63409         * tests/unictype/test-pr_byname.c: New file.
63410         * tests/unictype/test-pr_test.c: New file.
63411         * tests/unictype/test-predicate-part1.h: New file.
63412         * tests/unictype/test-predicate-part2.h: New file.
63413         * tests/unictype/test-scripts.c: New file.
63414         * tests/unictype/test-sy_c_ident.c: New file.
63415         * tests/unictype/test-sy_java_ident.c: New file.
63416
63417         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
63418         for Unicode 5.0.0.
63419         * tests/unictype/test-categ_Cc.c: Likewise.
63420         * tests/unictype/test-categ_Cf.c: Likewise.
63421         * tests/unictype/test-categ_Cn.c: Likewise.
63422         * tests/unictype/test-categ_Co.c: Likewise.
63423         * tests/unictype/test-categ_Cs.c: Likewise.
63424         * tests/unictype/test-categ_L.c: Likewise.
63425         * tests/unictype/test-categ_Ll.c: Likewise.
63426         * tests/unictype/test-categ_Lm.c: Likewise.
63427         * tests/unictype/test-categ_Lo.c: Likewise.
63428         * tests/unictype/test-categ_Lt.c: Likewise.
63429         * tests/unictype/test-categ_Lu.c: Likewise.
63430         * tests/unictype/test-categ_M.c: Likewise.
63431         * tests/unictype/test-categ_Mc.c: Likewise.
63432         * tests/unictype/test-categ_Me.c: Likewise.
63433         * tests/unictype/test-categ_Mn.c: Likewise.
63434         * tests/unictype/test-categ_N.c: Likewise.
63435         * tests/unictype/test-categ_Nd.c: Likewise.
63436         * tests/unictype/test-categ_Nl.c: Likewise.
63437         * tests/unictype/test-categ_No.c: Likewise.
63438         * tests/unictype/test-categ_P.c: Likewise.
63439         * tests/unictype/test-categ_Pc.c: Likewise.
63440         * tests/unictype/test-categ_Pd.c: Likewise.
63441         * tests/unictype/test-categ_Pe.c: Likewise.
63442         * tests/unictype/test-categ_Pf.c: Likewise.
63443         * tests/unictype/test-categ_Pi.c: Likewise.
63444         * tests/unictype/test-categ_Po.c: Likewise.
63445         * tests/unictype/test-categ_Ps.c: Likewise.
63446         * tests/unictype/test-categ_S.c: Likewise.
63447         * tests/unictype/test-categ_Sc.c: Likewise.
63448         * tests/unictype/test-categ_Sk.c: Likewise.
63449         * tests/unictype/test-categ_Sm.c: Likewise.
63450         * tests/unictype/test-categ_So.c: Likewise.
63451         * tests/unictype/test-categ_Z.c: Likewise.
63452         * tests/unictype/test-categ_Zl.c: Likewise.
63453         * tests/unictype/test-categ_Zp.c: Likewise.
63454         * tests/unictype/test-categ_Zs.c: Likewise.
63455         * tests/unictype/test-ctype_alnum.c: Likewise.
63456         * tests/unictype/test-ctype_alpha.c: Likewise.
63457         * tests/unictype/test-ctype_blank.c: Likewise.
63458         * tests/unictype/test-ctype_cntrl.c: Likewise.
63459         * tests/unictype/test-ctype_digit.c: Likewise.
63460         * tests/unictype/test-ctype_graph.c: Likewise.
63461         * tests/unictype/test-ctype_lower.c: Likewise.
63462         * tests/unictype/test-ctype_print.c: Likewise.
63463         * tests/unictype/test-ctype_punct.c: Likewise.
63464         * tests/unictype/test-ctype_space.c: Likewise.
63465         * tests/unictype/test-ctype_upper.c: Likewise.
63466         * tests/unictype/test-ctype_xdigit.c: Likewise.
63467         * tests/unictype/test-decdigit.h: Likewise.
63468         * tests/unictype/test-digit.h: Likewise.
63469         * tests/unictype/test-numeric.h: Likewise.
63470         * tests/unictype/test-pr_alphabetic.c: Likewise.
63471         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
63472         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
63473         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
63474         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
63475         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
63476         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
63477         * tests/unictype/test-pr_bidi_control.c: Likewise.
63478         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
63479         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
63480         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
63481         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
63482         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
63483         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
63484         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
63485         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
63486         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
63487         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
63488         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
63489         * tests/unictype/test-pr_combining.c: Likewise.
63490         * tests/unictype/test-pr_composite.c: Likewise.
63491         * tests/unictype/test-pr_currency_symbol.c: Likewise.
63492         * tests/unictype/test-pr_dash.c: Likewise.
63493         * tests/unictype/test-pr_decimal_digit.c: Likewise.
63494         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
63495         * tests/unictype/test-pr_deprecated.c: Likewise.
63496         * tests/unictype/test-pr_diacritic.c: Likewise.
63497         * tests/unictype/test-pr_extender.c: Likewise.
63498         * tests/unictype/test-pr_format_control.c: Likewise.
63499         * tests/unictype/test-pr_grapheme_base.c: Likewise.
63500         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
63501         * tests/unictype/test-pr_grapheme_link.c: Likewise.
63502         * tests/unictype/test-pr_hex_digit.c: Likewise.
63503         * tests/unictype/test-pr_hyphen.c: Likewise.
63504         * tests/unictype/test-pr_id_continue.c: Likewise.
63505         * tests/unictype/test-pr_id_start.c: Likewise.
63506         * tests/unictype/test-pr_ideographic.c: Likewise.
63507         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
63508         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
63509         * tests/unictype/test-pr_ignorable_control.c: Likewise.
63510         * tests/unictype/test-pr_iso_control.c: Likewise.
63511         * tests/unictype/test-pr_join_control.c: Likewise.
63512         * tests/unictype/test-pr_left_of_pair.c: Likewise.
63513         * tests/unictype/test-pr_line_separator.c: Likewise.
63514         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
63515         * tests/unictype/test-pr_lowercase.c: Likewise.
63516         * tests/unictype/test-pr_math.c: Likewise.
63517         * tests/unictype/test-pr_non_break.c: Likewise.
63518         * tests/unictype/test-pr_not_a_character.c: Likewise.
63519         * tests/unictype/test-pr_numeric.c: Likewise.
63520         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
63521         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
63522         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
63523         * tests/unictype/test-pr_other_id_continue.c: Likewise.
63524         * tests/unictype/test-pr_other_id_start.c: Likewise.
63525         * tests/unictype/test-pr_other_lowercase.c: Likewise.
63526         * tests/unictype/test-pr_other_math.c: Likewise.
63527         * tests/unictype/test-pr_other_uppercase.c: Likewise.
63528         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
63529         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
63530         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
63531         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
63532         * tests/unictype/test-pr_private_use.c: Likewise.
63533         * tests/unictype/test-pr_punctuation.c: Likewise.
63534         * tests/unictype/test-pr_quotation_mark.c: Likewise.
63535         * tests/unictype/test-pr_radical.c: Likewise.
63536         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
63537         * tests/unictype/test-pr_soft_dotted.c: Likewise.
63538         * tests/unictype/test-pr_space.c: Likewise.
63539         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
63540         * tests/unictype/test-pr_titlecase.c: Likewise.
63541         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
63542         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
63543         * tests/unictype/test-pr_uppercase.c: Likewise.
63544         * tests/unictype/test-pr_variation_selector.c: Likewise.
63545         * tests/unictype/test-pr_white_space.c: Likewise.
63546         * tests/unictype/test-pr_xid_continue.c: Likewise.
63547         * tests/unictype/test-pr_xid_start.c: Likewise.
63548         * tests/unictype/test-pr_zero_width.c: Likewise.
63549         * tests/unictype/test-sy_c_whitespace.c: Likewise.
63550         * tests/unictype/test-sy_java_whitespace.c: Likewise.
63551
63552 2007-11-12  Bruno Haible  <bruno@clisp.org>
63553
63554         Unicode character classification functions.
63555         * lib/unictype.h: New file.
63556         * modules/unictype/base: New file.
63557         * modules/unictype/category-L: New file.
63558         * modules/unictype/category-Lu: New file.
63559         * modules/unictype/category-Ll: New file.
63560         * modules/unictype/category-Lt: New file.
63561         * modules/unictype/category-Lm: New file.
63562         * modules/unictype/category-Lo: New file.
63563         * modules/unictype/category-M: New file.
63564         * modules/unictype/category-Mn: New file.
63565         * modules/unictype/category-Mc: New file.
63566         * modules/unictype/category-Me: New file.
63567         * modules/unictype/category-N: New file.
63568         * modules/unictype/category-Nd: New file.
63569         * modules/unictype/category-Nl: New file.
63570         * modules/unictype/category-No: New file.
63571         * modules/unictype/category-P: New file.
63572         * modules/unictype/category-Pc: New file.
63573         * modules/unictype/category-Pd: New file.
63574         * modules/unictype/category-Ps: New file.
63575         * modules/unictype/category-Pe: New file.
63576         * modules/unictype/category-Pi: New file.
63577         * modules/unictype/category-Pf: New file.
63578         * modules/unictype/category-Po: New file.
63579         * modules/unictype/category-S: New file.
63580         * modules/unictype/category-Sm: New file.
63581         * modules/unictype/category-Sc: New file.
63582         * modules/unictype/category-Sk: New file.
63583         * modules/unictype/category-So: New file.
63584         * modules/unictype/category-Z: New file.
63585         * modules/unictype/category-Zs: New file.
63586         * modules/unictype/category-Zl: New file.
63587         * modules/unictype/category-Zp: New file.
63588         * modules/unictype/category-C: New file.
63589         * modules/unictype/category-Cc: New file.
63590         * modules/unictype/category-Cf: New file.
63591         * modules/unictype/category-Cs: New file.
63592         * modules/unictype/category-Co: New file.
63593         * modules/unictype/category-Cn: New file.
63594         * modules/unictype/category-or: New file.
63595         * modules/unictype/category-of: New file.
63596         * modules/unictype/category-test: New file.
63597         * modules/unictype/category-test-withtable: New file.
63598         * modules/unictype/category-byname: New file.
63599         * modules/unictype/category-none: New file.
63600         * modules/unictype/category-and: New file.
63601         * modules/unictype/category-and-not: New file.
63602         * modules/unictype/category-name: New file.
63603         * modules/unictype/combining-class: New file.
63604         * modules/unictype/category-all: New file.
63605         * modules/unictype/bidicategory-all: New file.
63606         * modules/unictype/bidicategory-byname: New file.
63607         * modules/unictype/bidicategory-name: New file.
63608         * modules/unictype/bidicategory-of: New file.
63609         * modules/unictype/bidicategory-test: New file.
63610         * modules/unictype/decimal-digit: New file.
63611         * modules/unictype/digit: New file.
63612         * modules/unictype/numeric: New file.
63613         * modules/unictype/mirror: New file.
63614         * modules/unictype/property-white-space: New file.
63615         * modules/unictype/property-alphabetic: New file.
63616         * modules/unictype/property-other-alphabetic: New file.
63617         * modules/unictype/property-not-a-character: New file.
63618         * modules/unictype/property-default-ignorable-code-point: New file.
63619         * modules/unictype/property-other-default-ignorable-code-point: New
63620         file.
63621         * modules/unictype/property-deprecated: New file.
63622         * modules/unictype/property-logical-order-exception: New file.
63623         * modules/unictype/property-variation-selector: New file.
63624         * modules/unictype/property-private-use: New file.
63625         * modules/unictype/property-unassigned-code-value: New file.
63626         * modules/unictype/property-uppercase: New file.
63627         * modules/unictype/property-other-uppercase: New file.
63628         * modules/unictype/property-lowercase: New file.
63629         * modules/unictype/property-other-lowercase: New file.
63630         * modules/unictype/property-titlecase: New file.
63631         * modules/unictype/property-soft-dotted: New file.
63632         * modules/unictype/property-id-start: New file.
63633         * modules/unictype/property-other-id-start: New file.
63634         * modules/unictype/property-id-continue: New file.
63635         * modules/unictype/property-other-id-continue: New file.
63636         * modules/unictype/property-xid-start: New file.
63637         * modules/unictype/property-xid-continue: New file.
63638         * modules/unictype/property-pattern-white-space: New file.
63639         * modules/unictype/property-pattern-syntax: New file.
63640         * modules/unictype/property-join-control: New file.
63641         * modules/unictype/property-grapheme-base: New file.
63642         * modules/unictype/property-grapheme-extend: New file.
63643         * modules/unictype/property-other-grapheme-extend: New file.
63644         * modules/unictype/property-grapheme-link: New file.
63645         * modules/unictype/property-bidi-control: New file.
63646         * modules/unictype/property-bidi-left-to-right: New file.
63647         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
63648         * modules/unictype/property-bidi-arabic-right-to-left: New file.
63649         * modules/unictype/property-bidi-european-digit: New file.
63650         * modules/unictype/property-bidi-eur-num-separator: New file.
63651         * modules/unictype/property-bidi-eur-num-terminator: New file.
63652         * modules/unictype/property-bidi-arabic-digit: New file.
63653         * modules/unictype/property-bidi-common-separator: New file.
63654         * modules/unictype/property-bidi-block-separator: New file.
63655         * modules/unictype/property-bidi-segment-separator: New file.
63656         * modules/unictype/property-bidi-whitespace: New file.
63657         * modules/unictype/property-bidi-non-spacing-mark: New file.
63658         * modules/unictype/property-bidi-boundary-neutral: New file.
63659         * modules/unictype/property-bidi-pdf: New file.
63660         * modules/unictype/property-bidi-embedding-or-override: New file.
63661         * modules/unictype/property-bidi-other-neutral: New file.
63662         * modules/unictype/property-hex-digit: New file.
63663         * modules/unictype/property-ascii-hex-digit: New file.
63664         * modules/unictype/property-ideographic: New file.
63665         * modules/unictype/property-unified-ideograph: New file.
63666         * modules/unictype/property-radical: New file.
63667         * modules/unictype/property-ids-binary-operator: New file.
63668         * modules/unictype/property-ids-trinary-operator: New file.
63669         * modules/unictype/property-zero-width: New file.
63670         * modules/unictype/property-space: New file.
63671         * modules/unictype/property-non-break: New file.
63672         * modules/unictype/property-iso-control: New file.
63673         * modules/unictype/property-format-control: New file.
63674         * modules/unictype/property-dash: New file.
63675         * modules/unictype/property-hyphen: New file.
63676         * modules/unictype/property-punctuation: New file.
63677         * modules/unictype/property-line-separator: New file.
63678         * modules/unictype/property-paragraph-separator: New file.
63679         * modules/unictype/property-quotation-mark: New file.
63680         * modules/unictype/property-sentence-terminal: New file.
63681         * modules/unictype/property-terminal-punctuation: New file.
63682         * modules/unictype/property-currency-symbol: New file.
63683         * modules/unictype/property-math: New file.
63684         * modules/unictype/property-other-math: New file.
63685         * modules/unictype/property-paired-punctuation: New file.
63686         * modules/unictype/property-left-of-pair: New file.
63687         * modules/unictype/property-combining: New file.
63688         * modules/unictype/property-composite: New file.
63689         * modules/unictype/property-decimal-digit: New file.
63690         * modules/unictype/property-numeric: New file.
63691         * modules/unictype/property-diacritic: New file.
63692         * modules/unictype/property-extender: New file.
63693         * modules/unictype/property-ignorable-control: New file.
63694         * modules/unictype/property-test: New file.
63695         * modules/unictype/property-byname: New file.
63696         * modules/unictype/property-all: New file.
63697         * modules/unictype/scripts: New file.
63698         * modules/unictype/scripts-all: New file.
63699         * modules/unictype/block-of: New file.
63700         * modules/unictype/block-test: New file.
63701         * modules/unictype/block-list: New file.
63702         * modules/unictype/block-all: New file.
63703         * modules/unictype/syntax-c-whitespace: New file.
63704         * modules/unictype/syntax-java-whitespace: New file.
63705         * modules/unictype/syntax-c-ident: New file.
63706         * modules/unictype/syntax-java-ident: New file.
63707         * modules/unictype/ctype-alnum: New file.
63708         * modules/unictype/ctype-alpha: New file.
63709         * modules/unictype/ctype-cntrl: New file.
63710         * modules/unictype/ctype-digit: New file.
63711         * modules/unictype/ctype-graph: New file.
63712         * modules/unictype/ctype-lower: New file.
63713         * modules/unictype/ctype-print: New file.
63714         * modules/unictype/ctype-punct: New file.
63715         * modules/unictype/ctype-space: New file.
63716         * modules/unictype/ctype-upper: New file.
63717         * modules/unictype/ctype-xdigit: New file.
63718         * modules/unictype/ctype-blank: New file.
63719         * lib/unictype/bidi_byname.c: New file.
63720         * lib/unictype/bidi_name.c: New file.
63721         * lib/unictype/bidi_of.c: New file.
63722         * lib/unictype/bidi_test.c: New file.
63723         * lib/unictype/bitmap.h: New file.
63724         * lib/unictype/block_test.c: New file.
63725         * lib/unictype/blocks.c: New file.
63726         * lib/unictype/categ_C.c: New file.
63727         * lib/unictype/categ_Cc.c: New file.
63728         * lib/unictype/categ_Cf.c: New file.
63729         * lib/unictype/categ_Cn.c: New file.
63730         * lib/unictype/categ_Co.c: New file.
63731         * lib/unictype/categ_Cs.c: New file.
63732         * lib/unictype/categ_L.c: New file.
63733         * lib/unictype/categ_Ll.c: New file.
63734         * lib/unictype/categ_Lm.c: New file.
63735         * lib/unictype/categ_Lo.c: New file.
63736         * lib/unictype/categ_Lt.c: New file.
63737         * lib/unictype/categ_Lu.c: New file.
63738         * lib/unictype/categ_M.c: New file.
63739         * lib/unictype/categ_Mc.c: New file.
63740         * lib/unictype/categ_Me.c: New file.
63741         * lib/unictype/categ_Mn.c: New file.
63742         * lib/unictype/categ_N.c: New file.
63743         * lib/unictype/categ_Nd.c: New file.
63744         * lib/unictype/categ_Nl.c: New file.
63745         * lib/unictype/categ_No.c: New file.
63746         * lib/unictype/categ_P.c: New file.
63747         * lib/unictype/categ_Pc.c: New file.
63748         * lib/unictype/categ_Pd.c: New file.
63749         * lib/unictype/categ_Pe.c: New file.
63750         * lib/unictype/categ_Pf.c: New file.
63751         * lib/unictype/categ_Pi.c: New file.
63752         * lib/unictype/categ_Po.c: New file.
63753         * lib/unictype/categ_Ps.c: New file.
63754         * lib/unictype/categ_S.c: New file.
63755         * lib/unictype/categ_Sc.c: New file.
63756         * lib/unictype/categ_Sk.c: New file.
63757         * lib/unictype/categ_Sm.c: New file.
63758         * lib/unictype/categ_So.c: New file.
63759         * lib/unictype/categ_Z.c: New file.
63760         * lib/unictype/categ_Zl.c: New file.
63761         * lib/unictype/categ_Zp.c: New file.
63762         * lib/unictype/categ_Zs.c: New file.
63763         * lib/unictype/categ_and.c: New file.
63764         * lib/unictype/categ_and_not.c: New file.
63765         * lib/unictype/categ_byname.c: New file.
63766         * lib/unictype/categ_name.c: New file.
63767         * lib/unictype/categ_none.c: New file.
63768         * lib/unictype/categ_of.c: New file.
63769         * lib/unictype/categ_or.c: New file.
63770         * lib/unictype/categ_test.c: New file.
63771         * lib/unictype/combining.c: New file.
63772         * lib/unictype/ctype_alnum.c: New file.
63773         * lib/unictype/ctype_alpha.c: New file.
63774         * lib/unictype/ctype_blank.c: New file.
63775         * lib/unictype/ctype_cntrl.c: New file.
63776         * lib/unictype/ctype_digit.c: New file.
63777         * lib/unictype/ctype_graph.c: New file.
63778         * lib/unictype/ctype_lower.c: New file.
63779         * lib/unictype/ctype_print.c: New file.
63780         * lib/unictype/ctype_punct.c: New file.
63781         * lib/unictype/ctype_space.c: New file.
63782         * lib/unictype/ctype_upper.c: New file.
63783         * lib/unictype/ctype_xdigit.c: New file.
63784         * lib/unictype/decdigit.c: New file.
63785         * lib/unictype/digit.c: New file.
63786         * lib/unictype/identsyntaxmap.h: New file.
63787         * lib/unictype/mirror.c: New file.
63788         * lib/unictype/numeric.c: New file.
63789         * lib/unictype/pr_alphabetic.c: New file.
63790         * lib/unictype/pr_ascii_hex_digit.c: New file.
63791         * lib/unictype/pr_bidi_arabic_digit.c: New file.
63792         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
63793         * lib/unictype/pr_bidi_block_separator.c: New file.
63794         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
63795         * lib/unictype/pr_bidi_common_separator.c: New file.
63796         * lib/unictype/pr_bidi_control.c: New file.
63797         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
63798         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
63799         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
63800         * lib/unictype/pr_bidi_european_digit.c: New file.
63801         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
63802         * lib/unictype/pr_bidi_left_to_right.c: New file.
63803         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
63804         * lib/unictype/pr_bidi_other_neutral.c: New file.
63805         * lib/unictype/pr_bidi_pdf.c: New file.
63806         * lib/unictype/pr_bidi_segment_separator.c: New file.
63807         * lib/unictype/pr_bidi_whitespace.c: New file.
63808         * lib/unictype/pr_byname.c: New file.
63809         * lib/unictype/pr_byname.gperf: New file.
63810         * lib/unictype/pr_combining.c: New file.
63811         * lib/unictype/pr_composite.c: New file.
63812         * lib/unictype/pr_currency_symbol.c: New file.
63813         * lib/unictype/pr_dash.c: New file.
63814         * lib/unictype/pr_decimal_digit.c: New file.
63815         * lib/unictype/pr_default_ignorable_code_point.c: New file.
63816         * lib/unictype/pr_deprecated.c: New file.
63817         * lib/unictype/pr_diacritic.c: New file.
63818         * lib/unictype/pr_extender.c: New file.
63819         * lib/unictype/pr_format_control.c: New file.
63820         * lib/unictype/pr_grapheme_base.c: New file.
63821         * lib/unictype/pr_grapheme_extend.c: New file.
63822         * lib/unictype/pr_grapheme_link.c: New file.
63823         * lib/unictype/pr_hex_digit.c: New file.
63824         * lib/unictype/pr_hyphen.c: New file.
63825         * lib/unictype/pr_id_continue.c: New file.
63826         * lib/unictype/pr_id_start.c: New file.
63827         * lib/unictype/pr_ideographic.c: New file.
63828         * lib/unictype/pr_ids_binary_operator.c: New file.
63829         * lib/unictype/pr_ids_trinary_operator.c: New file.
63830         * lib/unictype/pr_ignorable_control.c: New file.
63831         * lib/unictype/pr_iso_control.c: New file.
63832         * lib/unictype/pr_join_control.c: New file.
63833         * lib/unictype/pr_left_of_pair.c: New file.
63834         * lib/unictype/pr_line_separator.c: New file.
63835         * lib/unictype/pr_logical_order_exception.c: New file.
63836         * lib/unictype/pr_lowercase.c: New file.
63837         * lib/unictype/pr_math.c: New file.
63838         * lib/unictype/pr_non_break.c: New file.
63839         * lib/unictype/pr_not_a_character.c: New file.
63840         * lib/unictype/pr_numeric.c: New file.
63841         * lib/unictype/pr_other_alphabetic.c: New file.
63842         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
63843         * lib/unictype/pr_other_grapheme_extend.c: New file.
63844         * lib/unictype/pr_other_id_continue.c: New file.
63845         * lib/unictype/pr_other_id_start.c: New file.
63846         * lib/unictype/pr_other_lowercase.c: New file.
63847         * lib/unictype/pr_other_math.c: New file.
63848         * lib/unictype/pr_other_uppercase.c: New file.
63849         * lib/unictype/pr_paired_punctuation.c: New file.
63850         * lib/unictype/pr_paragraph_separator.c: New file.
63851         * lib/unictype/pr_pattern_syntax.c: New file.
63852         * lib/unictype/pr_pattern_white_space.c: New file.
63853         * lib/unictype/pr_private_use.c: New file.
63854         * lib/unictype/pr_punctuation.c: New file.
63855         * lib/unictype/pr_quotation_mark.c: New file.
63856         * lib/unictype/pr_radical.c: New file.
63857         * lib/unictype/pr_sentence_terminal.c: New file.
63858         * lib/unictype/pr_soft_dotted.c: New file.
63859         * lib/unictype/pr_space.c: New file.
63860         * lib/unictype/pr_terminal_punctuation.c: New file.
63861         * lib/unictype/pr_test.c: New file.
63862         * lib/unictype/pr_titlecase.c: New file.
63863         * lib/unictype/pr_unassigned_code_value.c: New file.
63864         * lib/unictype/pr_unified_ideograph.c: New file.
63865         * lib/unictype/pr_uppercase.c: New file.
63866         * lib/unictype/pr_variation_selector.c: New file.
63867         * lib/unictype/pr_white_space.c: New file.
63868         * lib/unictype/pr_xid_continue.c: New file.
63869         * lib/unictype/pr_xid_start.c: New file.
63870         * lib/unictype/pr_zero_width.c: New file.
63871         * lib/unictype/scripts.c: New file.
63872         * lib/unictype/sy_c_ident.c: New file.
63873         * lib/unictype/sy_c_whitespace.c: New file.
63874         * lib/unictype/sy_java_ident.c: New file.
63875         * lib/unictype/sy_java_whitespace.c: New file.
63876
63877         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
63878         Unicode 5.0.0.
63879         * lib/unictype/blocks.h: Likewise.
63880         * lib/unictype/categ_C.h: Likewise.
63881         * lib/unictype/categ_Cc.h: Likewise.
63882         * lib/unictype/categ_Cf.h: Likewise.
63883         * lib/unictype/categ_Cn.h: Likewise.
63884         * lib/unictype/categ_Co.h: Likewise.
63885         * lib/unictype/categ_Cs.h: Likewise.
63886         * lib/unictype/categ_L.h: Likewise.
63887         * lib/unictype/categ_Ll.h: Likewise.
63888         * lib/unictype/categ_Lm.h: Likewise.
63889         * lib/unictype/categ_Lo.h: Likewise.
63890         * lib/unictype/categ_Lt.h: Likewise.
63891         * lib/unictype/categ_Lu.h: Likewise.
63892         * lib/unictype/categ_M.h: Likewise.
63893         * lib/unictype/categ_Mc.h: Likewise.
63894         * lib/unictype/categ_Me.h: Likewise.
63895         * lib/unictype/categ_Mn.h: Likewise.
63896         * lib/unictype/categ_N.h: Likewise.
63897         * lib/unictype/categ_Nd.h: Likewise.
63898         * lib/unictype/categ_Nl.h: Likewise.
63899         * lib/unictype/categ_No.h: Likewise.
63900         * lib/unictype/categ_P.h: Likewise.
63901         * lib/unictype/categ_Pc.h: Likewise.
63902         * lib/unictype/categ_Pd.h: Likewise.
63903         * lib/unictype/categ_Pe.h: Likewise.
63904         * lib/unictype/categ_Pf.h: Likewise.
63905         * lib/unictype/categ_Pi.h: Likewise.
63906         * lib/unictype/categ_Po.h: Likewise.
63907         * lib/unictype/categ_Ps.h: Likewise.
63908         * lib/unictype/categ_S.h: Likewise.
63909         * lib/unictype/categ_Sc.h: Likewise.
63910         * lib/unictype/categ_Sk.h: Likewise.
63911         * lib/unictype/categ_Sm.h: Likewise.
63912         * lib/unictype/categ_So.h: Likewise.
63913         * lib/unictype/categ_Z.h: Likewise.
63914         * lib/unictype/categ_Zl.h: Likewise.
63915         * lib/unictype/categ_Zp.h: Likewise.
63916         * lib/unictype/categ_Zs.h: Likewise.
63917         * lib/unictype/categ_of.h: Likewise.
63918         * lib/unictype/combining.h: Likewise.
63919         * lib/unictype/ctype_alnum.h: Likewise.
63920         * lib/unictype/ctype_alpha.h: Likewise.
63921         * lib/unictype/ctype_blank.h: Likewise.
63922         * lib/unictype/ctype_cntrl.h: Likewise.
63923         * lib/unictype/ctype_digit.h: Likewise.
63924         * lib/unictype/ctype_graph.h: Likewise.
63925         * lib/unictype/ctype_lower.h: Likewise.
63926         * lib/unictype/ctype_print.h: Likewise.
63927         * lib/unictype/ctype_punct.h: Likewise.
63928         * lib/unictype/ctype_space.h: Likewise.
63929         * lib/unictype/ctype_upper.h: Likewise.
63930         * lib/unictype/ctype_xdigit.h: Likewise.
63931         * lib/unictype/decdigit.h: Likewise.
63932         * lib/unictype/digit.h: Likewise.
63933         * lib/unictype/mirror.h: Likewise.
63934         * lib/unictype/numeric.h: Likewise.
63935         * lib/unictype/pr_alphabetic.h: Likewise.
63936         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
63937         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
63938         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
63939         * lib/unictype/pr_bidi_block_separator.h: Likewise.
63940         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
63941         * lib/unictype/pr_bidi_common_separator.h: Likewise.
63942         * lib/unictype/pr_bidi_control.h: Likewise.
63943         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
63944         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
63945         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
63946         * lib/unictype/pr_bidi_european_digit.h: Likewise.
63947         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
63948         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
63949         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
63950         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
63951         * lib/unictype/pr_bidi_pdf.h: Likewise.
63952         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
63953         * lib/unictype/pr_bidi_whitespace.h: Likewise.
63954         * lib/unictype/pr_combining.h: Likewise.
63955         * lib/unictype/pr_composite.h: Likewise.
63956         * lib/unictype/pr_currency_symbol.h: Likewise.
63957         * lib/unictype/pr_dash.h: Likewise.
63958         * lib/unictype/pr_decimal_digit.h: Likewise.
63959         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
63960         * lib/unictype/pr_deprecated.h: Likewise.
63961         * lib/unictype/pr_diacritic.h: Likewise.
63962         * lib/unictype/pr_extender.h: Likewise.
63963         * lib/unictype/pr_format_control.h: Likewise.
63964         * lib/unictype/pr_grapheme_base.h: Likewise.
63965         * lib/unictype/pr_grapheme_extend.h: Likewise.
63966         * lib/unictype/pr_grapheme_link.h: Likewise.
63967         * lib/unictype/pr_hex_digit.h: Likewise.
63968         * lib/unictype/pr_hyphen.h: Likewise.
63969         * lib/unictype/pr_id_continue.h: Likewise.
63970         * lib/unictype/pr_id_start.h: Likewise.
63971         * lib/unictype/pr_ideographic.h: Likewise.
63972         * lib/unictype/pr_ids_binary_operator.h: Likewise.
63973         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
63974         * lib/unictype/pr_ignorable_control.h: Likewise.
63975         * lib/unictype/pr_iso_control.h: Likewise.
63976         * lib/unictype/pr_join_control.h: Likewise.
63977         * lib/unictype/pr_left_of_pair.h: Likewise.
63978         * lib/unictype/pr_line_separator.h: Likewise.
63979         * lib/unictype/pr_logical_order_exception.h: Likewise.
63980         * lib/unictype/pr_lowercase.h: Likewise.
63981         * lib/unictype/pr_math.h: Likewise.
63982         * lib/unictype/pr_non_break.h: Likewise.
63983         * lib/unictype/pr_not_a_character.h: Likewise.
63984         * lib/unictype/pr_numeric.h: Likewise.
63985         * lib/unictype/pr_other_alphabetic.h: Likewise.
63986         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
63987         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
63988         * lib/unictype/pr_other_id_continue.h: Likewise.
63989         * lib/unictype/pr_other_id_start.h: Likewise.
63990         * lib/unictype/pr_other_lowercase.h: Likewise.
63991         * lib/unictype/pr_other_math.h: Likewise.
63992         * lib/unictype/pr_other_uppercase.h: Likewise.
63993         * lib/unictype/pr_paired_punctuation.h: Likewise.
63994         * lib/unictype/pr_paragraph_separator.h: Likewise.
63995         * lib/unictype/pr_pattern_syntax.h: Likewise.
63996         * lib/unictype/pr_pattern_white_space.h: Likewise.
63997         * lib/unictype/pr_private_use.h: Likewise.
63998         * lib/unictype/pr_punctuation.h: Likewise.
63999         * lib/unictype/pr_quotation_mark.h: Likewise.
64000         * lib/unictype/pr_radical.h: Likewise.
64001         * lib/unictype/pr_sentence_terminal.h: Likewise.
64002         * lib/unictype/pr_soft_dotted.h: Likewise.
64003         * lib/unictype/pr_space.h: Likewise.
64004         * lib/unictype/pr_terminal_punctuation.h: Likewise.
64005         * lib/unictype/pr_titlecase.h: Likewise.
64006         * lib/unictype/pr_unassigned_code_value.h: Likewise.
64007         * lib/unictype/pr_unified_ideograph.h: Likewise.
64008         * lib/unictype/pr_uppercase.h: Likewise.
64009         * lib/unictype/pr_variation_selector.h: Likewise.
64010         * lib/unictype/pr_white_space.h: Likewise.
64011         * lib/unictype/pr_xid_continue.h: Likewise.
64012         * lib/unictype/pr_xid_start.h: Likewise.
64013         * lib/unictype/pr_zero_width.h: Likewise.
64014         * lib/unictype/scripts.h: Likewise.
64015         * lib/unictype/scripts_byname.gperf: Likewise.
64016         * lib/unictype/sy_c_ident.h: Likewise.
64017         * lib/unictype/sy_c_whitespace.h: Likewise.
64018         * lib/unictype/sy_java_ident.h: Likewise.
64019         * lib/unictype/sy_java_whitespace.h: Likewise.
64020
64021         * lib/unictype/Makefile: New file.
64022         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
64023         glibc.
64024         * lib/unictype/3level.h: New file, copied from glibc.
64025         * lib/unictype/3levelbit.h: New file.
64026
64027 2007-11-11  Bruno Haible  <bruno@clisp.org>
64028
64029         * modules/gperf: New file.
64030         * modules/iconv_open (Depends-on): Add it.
64031         (Makefile.am): Remove the GPERF definition.
64032
64033 2007-11-11  Bruno Haible  <bruno@clisp.org>
64034
64035         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
64036         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
64037
64038 2007-11-11  Bruno Haible  <bruno@clisp.org>
64039
64040         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
64041         (usage): Remove function.
64042
64043 2007-11-11  Bruno Haible  <bruno@clisp.org>
64044
64045         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
64046         gl_FUNC_CEILF_LIBS.
64047         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
64048         gl_FUNC_CEIL_LIBS.
64049         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
64050         gl_FUNC_CEILL_LIBS.
64051         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
64052         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
64053         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
64054
64055 2007-11-11  Bruno Haible  <bruno@clisp.org>
64056
64057         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
64058         roundf were declared but do not exist on functions.
64059         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
64060         roundl were declared but do not exist on functions.
64061         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
64062         HAVE_FLOORL_AND_CEILL, respectively.
64063         Needed for Sun C on Solaris 10.
64064
64065 2007-11-11  Bruno Haible  <bruno@clisp.org>
64066
64067         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
64068         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
64069         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
64070         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
64071         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
64072         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
64073         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
64074         HAVE_DECL_ROUNDF.
64075         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
64076         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
64077         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
64078         of HAVE_DECL_ROUND*.
64079         * modules/math (Makefile.am): Update.
64080
64081 2007-11-10  Bruno Haible  <bruno@clisp.org>
64082
64083         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
64084         ptrdiff_t as m4/intl.m4.
64085
64086 2007-11-10  Jim Meyering  <meyering@redhat.com>
64087
64088         Avoid link failure for the argmatch test.
64089         * tests/test-argmatch.c (usage): Define function to avoid a link
64090         failure: argmatch_die requires a usage function.
64091
64092 2007-11-09  Bruno Haible  <bruno@clisp.org>
64093
64094         * doc/functions/snprintf.texi: Mention BeOS deficiency.
64095         * doc/functions/vsnprintf.texi: Likewise.
64096         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
64097         with a size argument < 2.
64098
64099 2007-11-09  Bruno Haible  <bruno@clisp.org>
64100
64101         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
64102         buffer. Fixes an inefficiency introduced on 2007-11-03.
64103
64104 2007-11-09  Bruno Haible  <bruno@clisp.org>
64105
64106         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
64107         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
64108
64109 2007-11-08  Jim Meyering  <meyering@redhat.com>
64110
64111         Change cache variable name prefix "jm_" to "gl_" everywhere.
64112         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
64113         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
64114         * m4/uptime.m4: s/gl_/jm_/
64115
64116 2007-11-07  Bruno Haible  <bruno@clisp.org>
64117
64118         Update to GNU gettext 0.17.
64119         * m4/intl.m4: Update to GNU gettext 0.17.
64120         * m4/po.m4: Likewise.
64121         * modules/gettext (Files): Remove m4/ulonglong.m4.
64122         (configure.ac): Require gettext infrastructure from version 0.17.
64123
64124 2007-11-06  Bruno Haible  <bruno@clisp.org>
64125
64126         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
64127         symbolic values are not defined in a public header.
64128         * lib/freadable.c (freadable) [QNX]: Likewise.
64129         * lib/freadahead.c (freadahead) [QNX]: Likewise.
64130         * lib/freading.c (freading) [QNX]: Likewise.
64131         * lib/fseterr.c (fseterr) [QNX]: Likewise.
64132         * lib/fwritable.c (fwritable) [QNX]: Likewise.
64133         * lib/fwriting.c (fwriting) [QNX]: Likewise.
64134         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
64135         Reported by Alain Magloire.
64136
64137         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
64138
64139 2007-11-05  Bruno Haible  <bruno@clisp.org>
64140
64141         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
64142         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
64143         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
64144         Reported by Eric Blake.
64145
64146 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64147             Bruno Haible  <bruno@clisp.org>
64148
64149         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
64150         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
64151         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
64152         (malloc): Undefine also before including <stdlib.h>.
64153         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
64154         Needed on OSF/1 4.0.
64155
64156 2007-11-05  Jim Meyering  <meyering@redhat.com>
64157
64158         git-version-gen: sync from coreutils.
64159         * build-aux/git-version-gen: Add comments.
64160         Change the first '-' to '.' in the snapshot version string,
64161         e.g., 6.9-377-08144 -> 6.9.377-08144
64162         Remove first parameter.
64163         Don't declare a version "-dirty" merely because a time
64164         stamp has changed.
64165
64166 2007-11-04  Bruno Haible  <bruno@clisp.org>
64167
64168         * lib/lock.h: Protect all macro definitions containing an 'if'
64169         statement through a "do { ... } while (0)".
64170         * lib/tls.h: Likewise.
64171
64172 2007-11-04  Bruno Haible  <bruno@clisp.org>
64173
64174         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
64175
64176 2007-11-04  Bruno Haible  <bruno@clisp.org>
64177
64178         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
64179         * modules/fprintf-posix (Depends-on): Add nocrash.
64180         * modules/snprintf-posix (Depends-on): Likewise.
64181         * modules/sprintf-posix (Depends-on): Likewise.
64182         * modules/vasnprintf-posix (Depends-on): Likewise.
64183         * modules/vasprintf-posix (Depends-on): Likewise.
64184         * modules/vfprintf-posix (Depends-on): Likewise.
64185         * modules/vsnprintf-posix (Depends-on): Likewise.
64186         * modules/vsprintf-posix (Depends-on): Likewise.
64187         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
64188         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
64189         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
64190         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
64191         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
64192         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
64193         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
64194
64195 2007-11-04  Bruno Haible  <bruno@clisp.org>
64196
64197         * modules/nocrash: New file.
64198         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
64199         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
64200
64201 2007-11-04  Bruno Haible  <bruno@clisp.org>
64202
64203         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
64204         precision handling.
64205         * tests/test-vasprintf-posix.c (test_function): Likewise.
64206         * tests/test-snprintf-posix.h (test_function): Likewise.
64207         * tests/test-sprintf-posix.h (test_function): Likewise.
64208
64209         Fix *printf behaviour for large precisions on mingw and BeOS.
64210         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
64211         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
64212         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
64213         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64214         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64215         gl_PRINTF_PRECISION and test its result. Invoke
64216         gl_PREREQ_VASNPRINTF_PRECISION.
64217         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64218         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64219         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64220         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64221         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64222         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64223         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64224         * doc/functions/fprintf.texi: Update.
64225         * doc/functions/printf.texi: Update.
64226         * doc/functions/snprintf.texi: Update.
64227         * doc/functions/sprintf.texi: Update.
64228         * doc/functions/vfprintf.texi: Update.
64229         * doc/functions/vprintf.texi: Update.
64230         * doc/functions/vsnprintf.texi: Update.
64231         * doc/functions/vsprintf.texi: Update.
64232
64233 2007-11-04  Bruno Haible  <bruno@clisp.org>
64234
64235         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
64236
64237 2007-11-04  Bruno Haible  <bruno@clisp.org>
64238
64239         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
64240         Reported by Sylvain Beucler <beuc@gnu.org>.
64241
64242 2007-11-03  Bruno Haible  <bruno@clisp.org>
64243
64244         * tests/test-fprintf-posix2.sh: New file.
64245         * tests/test-fprintf-posix2.c: New file.
64246         * modules/fprintf-posix-tests (Files): Add them.
64247         (TESTS): Add test-fprintf-posix2.sh.
64248         (configure.ac): Check for getrlimit and setrlimit.
64249         (check_PROGRAMS): Add test-fprintf-posix2.
64250
64251         * tests/test-printf-posix2.sh: New file.
64252         * tests/test-printf-posix2.c: New file.
64253         * modules/printf-posix-tests (Files): Add them.
64254         (TESTS): Add test-printf-posix2.sh.
64255         (configure.ac): Check for getrlimit and setrlimit.
64256         (check_PROGRAMS): Add test-printf-posix2.
64257
64258         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
64259         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
64260         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
64261         (decode_double): New function, copied from decode_long_double.
64262         (scale10_round_decimal_decoded): New function, extracted from
64263         scale10_round_decimal_long_double.
64264         (scale10_round_decimal_long_double): Use it.
64265         (scale10_round_decimal_double): New function.
64266         (floorlog10): New function.
64267         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
64268         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
64269         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64270         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64271         gl_PRINTF_ENOMEM and test its result. Invoke
64272         gl_PREREQ_VASNPRINTF_ENOMEM.
64273         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64274         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64275         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64276         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64277         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64278         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64279         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64280         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
64281         * modules/snprintf-posix (Depends-on): Likewise.
64282         * modules/sprintf-posix (Depends-on): Likewise.
64283         * modules/vasnprintf-posix (Depends-on): Likewise.
64284         * modules/vasprintf-posix (Depends-on): Likewise.
64285         * modules/vfprintf-posix (Depends-on): Likewise.
64286         * modules/vsnprintf-posix (Depends-on): Likewise.
64287         * modules/vsprintf-posix (Depends-on): Likewise.
64288         * doc/functions/fprintf.texi: Update.
64289         * doc/functions/printf.texi: Update.
64290         * doc/functions/snprintf.texi: Update.
64291         * doc/functions/sprintf.texi: Update.
64292         * doc/functions/vfprintf.texi: Update.
64293         * doc/functions/vprintf.texi: Update.
64294         * doc/functions/vsnprintf.texi: Update.
64295         * doc/functions/vsprintf.texi: Update.
64296
64297 2007-11-03  Bruno Haible  <bruno@clisp.org>
64298
64299         * modules/frexp-nolibm-tests: New file.
64300
64301         * modules/frexp-nolibm: New file.
64302         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
64303
64304 2007-11-03  Bruno Haible  <bruno@clisp.org>
64305
64306         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
64307         value is C99 compliant.
64308         Needed for OSF/1 5.1.
64309
64310 2007-11-03  Bruno Haible  <bruno@clisp.org>
64311
64312         Fix out-of-memory handling of vasnprintf.
64313         * lib/printf-parse.c: Include <errno.h>.
64314         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
64315         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
64316         is already set.
64317
64318 2007-11-02  Eric Blake  <ebb9@byu.net>
64319
64320         Fix tests on cygwin.
64321         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
64322
64323 2007-11-01  Bruno Haible  <bruno@clisp.org>
64324
64325         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
64326         warning.
64327         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
64328         needed for POSIX compatibility.
64329
64330 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
64331
64332         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
64333         for compatibility with GNU.
64334
64335 2007-11-01  Bruno Haible  <bruno@clisp.org>
64336
64337         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
64338         (putenv): Renamed from rpl_putenv. Change argument type from
64339         'const char *' to 'char *'.
64340         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
64341         of defining putenv in config.h, just set REPLACE_PUTENV.
64342         * modules/putenv (Depends-on): Add stdlib.
64343         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
64344         (Include): Use <stdlib.h>.
64345         * lib/stdlib.in.h (putenv): New declaration.
64346         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
64347         REPLACE_PUTENV.
64348         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
64349         REPLACE_PUTENV.
64350         Needed for MacOS X 10.5.0.
64351         Reported by Peter O'Gorman <peter@pogma.com>.
64352
64353 2007-11-01  Jim Meyering  <meyering@redhat.com>
64354
64355         Treat an empty date string exactly like "0".
64356         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
64357         if the remaining date string (to be parsed) is empty, use "0".
64358         Reported by Mischa Molhoek and discussed in this thread:
64359         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
64360
64361 2007-10-31  Bruno Haible  <bruno@clisp.org>
64362
64363         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
64364         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
64365         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
64366         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
64367         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
64368         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
64369
64370 2007-10-31  Bruno Haible  <bruno@clisp.org>
64371
64372         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
64373         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
64374         (AC_TYPE_LONG_LONG_INT): Use it.
64375         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
64376         it as well.
64377         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
64378         to m4/longlong.m4.
64379         * modules/stdint (Files): Remove m4/ulonglong.m4.
64380         * modules/strtoull (Files): Use m4/longlong.m4 instead of
64381         m4/ulonglong.m4.
64382         * modules/strtoumax (Files): Likewise.
64383
64384 2007-10-30  Bruno Haible  <bruno@clisp.org>
64385
64386         * modules/xvasprintf-posix: New file.
64387         Suggested by Eric Blake.
64388
64389 2007-10-30  Bruno Haible  <bruno@clisp.org>
64390
64391         * modules/xprintf-posix-tests: New file.
64392         * tests/test-xprintf-posix.sh: New file.
64393         * tests/test-xprintf-posix.c: New file.
64394         * tests/test-xfprintf-posix.c: New file.
64395
64396         * modules/xprintf-posix: New file.
64397
64398 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64399
64400         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
64401         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
64402         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
64403
64404 2007-10-29  Bruno Haible  <bruno@clisp.org>
64405
64406         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
64407         contain the special marker '_cv_'.
64408         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
64409         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
64410         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
64411         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
64412         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
64413         Reported by Ralf Wildenhues.
64414
64415 2007-10-29  Bruno Haible  <bruno@clisp.org>
64416
64417         * gnulib-tool (func_import): When --lgpl is not specified, set
64418         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
64419         GPLv3.
64420         Reported by Simon Josefsson.
64421
64422 2007-10-28  Bruno Haible  <bruno@clisp.org>
64423
64424         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
64425         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
64426         HAVE_DECL_ISFINITE.
64427         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64428         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
64429         HAVE_DECL_ISFINITE.
64430
64431 2007-10-28  Bruno Haible  <bruno@clisp.org>
64432
64433         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
64434         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
64435
64436 2007-10-28  Bruno Haible  <bruno@clisp.org>
64437
64438         Fix link errors with Sun C 5.0 on Solaris 10.
64439         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
64440         function is declared but not present in the compiler's libm.
64441         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
64442         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
64443         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
64444         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
64445         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
64446         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
64447         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
64448         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64449         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
64450         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
64451         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
64452         HAVE_DECL_FLOORL.
64453
64454 2007-10-28  Bruno Haible  <bruno@clisp.org>
64455
64456         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
64457         gl_FUNC_FLOORL. Cache the result.
64458         (gl_FUNC_FLOORL): Use it.
64459         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
64460         gl_FUNC_CEILL. Cache the result.
64461         (gl_FUNC_CEILL): Use it.
64462
64463         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
64464         gl_FUNC_FLOOR. Cache the result.
64465         (gl_FUNC_FLOOR): Use it.
64466         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
64467         gl_FUNC_CEIL. Cache the result.
64468         (gl_FUNC_CEIL): Use it.
64469
64470         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
64471         gl_FUNC_FLOORF. Cache the result.
64472         (gl_FUNC_FLOORF): Use it.
64473         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
64474         gl_FUNC_CEILF. Cache the result.
64475         (gl_FUNC_CEILF): Use it.
64476
64477 2007-10-28  Bruno Haible  <bruno@clisp.org>
64478
64479         * gnulib-tool: Allow specifying the LGPL version number through
64480         --lgpl=2 or --lgpl=3.
64481         (func_usage): Document --lgpl with argument.
64482         Handle --lgpl=... arguments.
64483         (func_import): Recognize also gl_LGPL calls with an argument. When
64484         --lgpl=2 is used and the module's license is just LGPL, report an
64485         error. Set sed_transform_lib_file according to the lgpl variable. In
64486         the generated files, use --lgpl or gl_LGPL invocations with argument,
64487         if necessary.
64488         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
64489         an LGPv2+ license.
64490         * doc/gnulib-tool.texi (Modified imports): Update explanation of
64491         gl_LGPL macro.
64492
64493 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64494             Bruno Haible  <bruno@clisp.org>
64495
64496         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
64497         (u16_uctomb_aux): Likewise.
64498         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
64499         !HAVE_INLINE.
64500         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
64501
64502 2007-10-28  Bruno Haible  <bruno@clisp.org>
64503
64504         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
64505         Invoke AM_GETTEXT_OPTION if it exists.
64506         * modules/vasprintf: Likewise.
64507         * modules/verror: Likewise.
64508         * modules/xprintf: Likewise.
64509         * modules/xvasprintf: Likewise.
64510
64511 2007-10-27  Ben Pfaff  <blp@gnu.org>
64512
64513         * lib/math.in.h: Define isfinite macro and prototypes for
64514         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
64515         implementations.
64516         * m4/math_h.m4: New substitutions for isfinite module.
64517         * lib/isfinite.c: New file.
64518         * m4/isfinite.m4: New file.
64519         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
64520         * modules/isfinite: New file.
64521         * modules/isfinite-tests: New file.
64522         * tests/tests-isfinite.c: New file.
64523         * doc/functions/isfinite.texi: Mention isfinite module.
64524         * MODULES.html.sh: Mention new module.
64525
64526 2007-10-27  Ben Pfaff  <blp@gnu.org>
64527
64528         Ralf Wildenhues reported that Tru64 4.0D declares the round
64529         functions but does not have definitions.
64530         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
64531         cannot be found in any library, set the output variable to
64532         "missing" instead of "".
64533         * m4/round.m4: Also use our substitute if we cannot find round in
64534         any library, even if it is declared.
64535         * m4/roundf.m4: Likewise for roundf.
64536         * m4/roundl.m4: Likewise for roundl.
64537         * lib/math.in.h: Undefine roundf, round, roundl before defining
64538         their replacements, to allow for hypothetical systems where these
64539         may be defined as macros but not available in libraries.
64540
64541 2007-10-27  Bruno Haible  <bruno@clisp.org>
64542
64543         * doc/gnulib.texi: Invoke @firstparagraphindent.
64544         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
64545         changes in gnulib.
64546         (Source changes): New section.
64547
64548 2007-10-26  Bruno Haible  <bruno@clisp.org>
64549
64550         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
64551         borrowed from autoconf.
64552
64553 2007-10-26  Bruno Haible  <bruno@clisp.org>
64554
64555         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
64556         strerror returned the empty string. Needed on HP-UX 11.00.
64557
64558 2007-10-24  Micah Cowan  <micah@cowan.name>
64559
64560         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
64561         * build-aux/bootstrap: Remove support for now-unnecessary option,
64562         --cvs-user, and envvars CVS_USER, CVS_RSH.
64563
64564 2007-10-24  Jim Meyering  <meyering@redhat.com>
64565
64566         Avoid diagnostics from sha1sum when there is no cached checksum.
64567         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
64568         if the po.s1 file hasn't been created yet.
64569
64570         * build-aux/bootstrap: Sync from coreutils:
64571         2007-10-24  Jim Meyering  <meyering@redhat.com>
64572         Get gnulib from the git repository, not from an obsolete cvs one.
64573         * build-aux/bootstrap: Suggestion from Micah Cowan.
64574         2007-10-04  Jim Meyering  <jim@meyering.net>
64575         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
64576         (update_po_files): Work also when there are no .po files in po/.
64577
64578 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
64579
64580         * README: Append ".git" to git and cg examples.
64581         Problem reported by Benoit Sigoure.
64582
64583 2007-10-23  Micah Cowan  <micah@cowan.name>
64584
64585         * users.txt: Add wget.
64586
64587 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64588
64589         Fix linking of some unistdio tests on FreeBSD.
64590         * modules/unistdio/u16-vsnprintf-tests
64591         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
64592         * modules/unistdio/u16-vsprintf-tests
64593         (test_u16_vsnprintf1_LDADD): Likewise.
64594         * modules/unistdio/u32-vsnprintf-tests
64595         (test_u32_vsnprintf1_LDADD): Likewise.
64596         * modules/unistdio/u32-vsprintf-tests
64597         (test_u32_vsprintf1_LDADD): Likewise.
64598         * modules/unistdio/u8-vsnprintf-tests
64599         (test_u8_vsnprintf1_LDADD): Likewise.
64600         * modules/unistdio/u8-vsprintf-tests
64601         (test_u8_vsprintf1_LDADD): Likewise.
64602         * modules/unistdio/ulc-vsnprintf-tests
64603         (test_ulc_vsnprintf1_LDADD): Likewise.
64604         * modules/unistdio/ulc-vsprintf-tests
64605         (test_ulc_vsprintf1_LDADD): Likewise.
64606
64607         Fix linking of some uniconv tests on FreeBSD.
64608         * modules/uniconv/u16-conv-from-enc-tests
64609         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
64610         * modules/uniconv/u16-conv-to-enc-tests
64611         (test_u16_conv_to_enc_LDADD): Likewise.
64612         * modules/uniconv/u16-strconv-from-enc-tests
64613         (test_u16_strconv_from_enc_LDADD): Likewise.
64614         * modules/uniconv/u16-strconv-to-enc-tests
64615         (test_u16_strconv_to_enc_LDADD): Likewise.
64616         * modules/uniconv/u32-conv-from-enc-tests
64617         (test_u32_conv_from_enc_LDADD): Likewise.
64618         * modules/uniconv/u32-conv-to-enc-tests
64619         (test_u32_conv_to_enc_LDADD): Likewise.
64620         * modules/uniconv/u32-strconv-from-enc-tests
64621         (test_u32_strconv_from_enc_LDADD): Likewise.
64622         * modules/uniconv/u32-strconv-to-enc-tests
64623         (test_u32_strconv_to_enc_LDADD): Likewise.
64624         * modules/uniconv/u8-conv-from-enc-tests
64625         (test_u8_conv_from_enc_LDADD): Likewise.
64626         * modules/uniconv/u8-conv-to-enc-tests
64627         (test_u8_conv_to_enc_LDADD): Likewise.
64628         * modules/uniconv/u8-strconv-from-enc-tests
64629         (test_u8_strconv_from_enc_LDADD): Likewise.
64630         * modules/uniconv/u8-strconv-to-enc-tests
64631         (test_u8_strconv_to_enc_LDADD): Likewise.
64632
64633 2007-10-22  Bruno Haible  <bruno@clisp.org>
64634
64635         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
64636         size.
64637
64638 2007-10-22  Eric Blake  <ebb9@byu.net>
64639
64640         Tweak x*printf documentation.
64641         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
64642         variable name and comments.
64643         Suggested by Bruno Haible.
64644
64645 2007-10-22  Bruno Haible  <bruno@clisp.org>
64646
64647         * lib/acl.c (copy_acl): Fix file name in comment.
64648
64649 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64650
64651         Fix Tru64 problem with stdbool.h.
64652         * lib/stdbool.in.h (false, true):
64653         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
64654         Don't declare as an enum in this situation; it runs afoul of Tru64.
64655         Problem reported by Steven M. Schweda in
64656         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
64657
64658 2007-10-22  Eric Blake  <ebb9@byu.net>
64659
64660         Also wrap vf?printf.
64661         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
64662         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
64663         (xvprintf, xvfprintf): New functions.
64664
64665 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64666
64667         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
64668         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
64669
64670         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
64671         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
64672
64673 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64674
64675         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
64676         by Bruno Haible.
64677
64678 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64679
64680         * lib/getloadavg.c
64681         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
64682         Undef `sys' after including sys/table.h, for Tru64 4.0D.
64683
64684         * tests/test-i-ring.c: Work for C89.
64685
64686 2007-10-22  Bruno Haible  <bruno@clisp.org>
64687
64688         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
64689         -1u, in preprocessor expression, so that we don't test for the bug
64690         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
64691         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
64692
64693 2007-10-22  Eric Blake  <ebb9@byu.net>
64694
64695         * tests/test-yesno.sh: Silence stderr during test.
64696
64697 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64698
64699         * modules/crypto/gc-camellia: New file.
64700
64701         * m4/gc-camellia.m4: New file.
64702
64703         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
64704
64705         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
64706
64707 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64708
64709         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
64710         --help to stdout.  Reported by sms@antinode.org (Steven
64711         M. Schweda).
64712
64713 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64714
64715         * users.txt: Fix link to libksba.
64716
64717 2007-10-21  Ben Pfaff  <blp@gnu.org>
64718
64719         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
64720         round.c roundf implementation that depends on floorf and ceilf to
64721         be tested unconditionally.
64722
64723 2007-10-21  Ben Pfaff  <blp@gnu.org>
64724
64725         * m4/check-libm-func.m4: Removed.
64726         * m4/check-math-lib.m4: New file.
64727         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
64728         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
64729         definition and lack of AC_LIBOBJ([roundf]).
64730         * m4/roundl.m4: Ditto, and similarly for roundl.
64731         * modules/round: Reference new m4 file.
64732         * modules/roundf: Ditto.
64733         * modules/roundl: Ditto.
64734         * tests/test-round2.c (main): Use ROUND instead of round.
64735         Bug report from Bruno Haible.
64736
64737 2007-10-21  Bruno Haible  <bruno@clisp.org>
64738
64739         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
64740         context.
64741
64742 2007-10-21  Bruno Haible  <bruno@clisp.org>
64743
64744         * tests/test-wcwidth.c (main): Allow negative result for some control
64745         characters.
64746
64747         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
64748         Needed on OSF/1 5.1.
64749
64750 2007-10-21  Bruno Haible  <bruno@clisp.org>
64751
64752         * tests/test-floorf1.c: Include isnanf.h.
64753         (main): Use isnanf() instead of isnan().
64754         * tests/test-ceilf1.c: Include isnanf.h.
64755         (main): Use isnanf() instead of isnan().
64756         * tests/test-truncf1.c: Include isnanf.h.
64757         (main): Use isnanf() instead of isnan().
64758         * tests/test-roundf1.c: Include isnanf.h.
64759         (main): Use isnanf() instead of isnan().
64760
64761 2007-10-21  Eric Blake  <ebb9@byu.net>
64762
64763         * users.txt: Update URL for m4.
64764
64765 2007-10-21  Bruno Haible  <bruno@clisp.org>
64766
64767         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
64768
64769 2007-10-21  Bruno Haible  <bruno@clisp.org>
64770
64771         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
64772         Git's management files if the CVS files are not present.
64773
64774 2007-10-20  Bruno Haible  <bruno@clisp.org>
64775
64776         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
64777         gcc-3.4.x.
64778
64779 2007-10-20  Ben Pfaff  <blp@gnu.org>
64780
64781         * lib/math.in.h: Declare round, roundf, roundl if we are providing
64782         implementations.
64783         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
64784         * lib/round.c: New file.
64785         * lib/roundf.c: New file.
64786         * lib/roundl.c: New file.
64787         * m4/round.m4: New file.
64788         * m4/roundf.m4: New file.
64789         * m4/roundl.m4: New file.
64790         * m4/check-libm-func-m4: New file.
64791         * modules/math: Replace round, roundf, roundl related @VARS@ in
64792         math.in.h.
64793         * modules/round: New file.
64794         * modules/round-tests: New file.
64795         * modules/roundf: New file.
64796         * modules/roundf-tests: New file.
64797         * modules/roundl: New file.
64798         * modules/roundl-tests: New file.
64799         * tests/test-round1.c: New file.
64800         * tests/test-round2.c: New file.
64801         * tests/test-roundf1.c: New file.
64802         * tests/test-roundf2.c: New file.
64803         * tests/test-roundl.c: New file.
64804         * doc/functions/round.texi: Mention round module.
64805         * doc/functions/roundf.texi: Mention roundf module.
64806         * doc/functions/roundl.texi: Mention roundl module.
64807         * MODULES.html.sh: Mention new modules.
64808         Thanks to Bruno Haible for suggestions.
64809
64810 2007-10-20  Jim Meyering  <meyering@redhat.com>
64811
64812         * lib/xprintf.c: Include <config.h> unconditionally.
64813
64814         Change xprintf's license to GPL.
64815         * modules/xprintf (License): s/LGPL/GPL/, since this module
64816         depends on modules (exit and exitfail) which are GPL.
64817         Suggestion from Bruno Haible.
64818
64819         xprintf fixes.
64820         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
64821         Use a clearer diagnostic.
64822         Patch from Bruno Haible.
64823
64824 2007-10-20  Bruno Haible  <bruno@clisp.org>
64825
64826         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
64827         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
64828         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64829
64830 2007-10-20  Bruno Haible  <bruno@clisp.org>
64831
64832         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
64833         precision in the comparison result > x - 1 or similar.
64834         * tests/test-ceilf2.c (correct_result_p): Likewise.
64835         * tests/test-truncf2.c (correct_result_p): Likewise.
64836         * tests/test-trunc2.c (correct_result_p): Likewise.
64837         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64838
64839 2007-10-20  Bruno Haible  <bruno@clisp.org>
64840
64841         * modules/ceil: New file.
64842         * m4/ceil.m4: New file.
64843         * doc/functions/ceil.texi: Mention the 'ceil' module.
64844
64845 2007-10-20  Bruno Haible  <bruno@clisp.org>
64846
64847         * modules/floor: New file.
64848         * m4/floor.m4: New file.
64849         * doc/functions/floor.texi: Mention the 'floor' module.
64850
64851 2007-10-20  Bruno Haible  <bruno@clisp.org>
64852
64853         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
64854         of %a.
64855         * modules/floorf-tests (Depends-on): Likewise.
64856         * modules/truncf-tests (Depends-on): Likewise.
64857         * modules/trunc-tests (Depends-on): Likewise.
64858         Reported by Ben Pfaff.
64859
64860 2007-10-19  Jim Meyering  <meyering@redhat.com>
64861
64862         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
64863         Don't bother testing specific errno values.  Just test ferror.
64864
64865         New module: xprintf
64866         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
64867
64868 2007-10-19  Bruno Haible  <bruno@clisp.org>
64869
64870         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
64871         syntax.
64872         * modules/javaexec (Makefile.am): Likewise.
64873         * modules/relocatable-prog (Makefile.am): Likewise.
64874         Suggested by Jim Meyering.
64875
64876 2007-10-18  Bruno Haible  <bruno@clisp.org>
64877
64878         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
64879         Reported by Jim Meyering.
64880
64881 2007-10-18  Eric Blake  <ebb9@byu.net>
64882
64883         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
64884
64885 2007-10-18  Bruno Haible  <bruno@clisp.org>
64886
64887         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
64888         the format string into writable memory. Needed in Fortify conditions.
64889
64890 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
64891             Bruno Haible  <bruno@clisp.org>
64892
64893         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
64894         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
64895         * modules/trim (Depends-on): Add mbchar.
64896         (configure.ac): Add gl_FUNC_MBRTOWC.
64897         (Makefile.am): Augment lib_SOURCES.
64898
64899 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
64900
64901         Modify glob.c to use fstatat and dirfd, to simplify it.
64902         Suggested by Eric Blake.
64903         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
64904         Don't include <stdbool.h>; not used.
64905         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
64906         (link_exists_p): Simplify implementation, since we can now assume
64907         dirfd and fstatat.
64908         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
64909
64910 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64911
64912         * gnulib-tool (func_get_dependencies): Fix sed script to
64913         match only tests.
64914
64915 2007-10-17  Bruno Haible  <bruno@clisp.org>
64916
64917         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
64918         allow locale names without encoding suffix.
64919         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
64920         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
64921
64922 2007-10-16  Bruno Haible  <bruno@clisp.org>
64923
64924         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
64925         * lib/getgroups.c (getgroups): Likewise.
64926         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
64927
64928 2007-10-16  Bruno Haible  <bruno@clisp.org>
64929
64930         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
64931         * modules/malloc-posix (License): Likewise.
64932         * modules/realloc-posix (License): Likewise.
64933         * modules/calloc-posix (License): Likewise.
64934         * modules/intprops (License): Change from GPL to LGPL, with
64935         Paul Eggert's approval.
64936
64937 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
64938
64939         Merge glibc changes into lib/glob.c.
64940
64941         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
64942         2007-10-15 04:59:03 UTC.  Here are the changes:
64943
64944         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
64945
64946         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
64947
64948         * lib/glob.c: Add some branch prediction throughout.
64949
64950         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
64951
64952         [BZ #5103]
64953         * lib/glob.c (glob): Recognize patterns starting \/.
64954
64955         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
64956
64957         [BZ #3996]
64958         * lib/glob.c (attribute_hidden): Define if not defined.
64959         (glob): Unescape dirname, filename or username when needed and not
64960         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
64961         is NULL.  Handle unescaped [ in pattern without closing ].
64962         Don't pass GLOB_CHECK down to recursive glob for directories.
64963         (__glob_pattern_type): New function.
64964         (__glob_pattern_p): Implement using __glob_pattern_type.
64965         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
64966         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
64967         Remove unreachable code.
64968
64969         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
64970
64971         * lib/glob.c (glob_in_dir): Add some comments and asserts to
64972         explain why there are no leaks.
64973
64974         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
64975
64976         [BZ #3253]
64977         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
64978         time, rather allocate increasingly bigger arrays of pointers, if
64979         possible with alloca, if too large with malloc.
64980
64981 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
64982
64983         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
64984         Problem reported by H.Merijn Brand in
64985         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
64986         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
64987         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
64988
64989 2007-10-15  Bruno Haible  <bruno@clisp.org>
64990
64991         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
64992         with explicit rpl_ prefix.
64993         * lib/fopen.c (fopen): Likewise.
64994         * lib/freopen.c (freopen): Likewise.
64995         * lib/iconv.c (iconv): Likewise.
64996         * lib/iconv_close.c (iconv_close): Likewise.
64997
64998 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64999
65000         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
65001
65002 2007-10-15  Bruno Haible  <bruno@clisp.org>
65003
65004         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
65005         <stddef.h> instead of <stdlib.h> since we only need NULL.
65006         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65007
65008 2007-10-15  Bruno Haible  <bruno@clisp.org>
65009
65010         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
65011         Replace paragraph talking about LIBOBJS.
65012         Reported by Colin Watson <cjwatson@debian.org>.
65013
65014 2007-10-15  Bruno Haible  <bruno@clisp.org>
65015
65016         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
65017         <stdlib.h> before using NULL.
65018
65019 2007-10-15  Simon Josefsson  <simon@josefsson.org>
65020
65021         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
65022         Reported by Albert Chin <china@thewrittenword.com>.
65023
65024 2007-10-14  Bruno Haible  <bruno@clisp.org>
65025
65026         * modules/iconv_open-utf-tests: New file.
65027         * tests/test-iconv-utf.c: New file.
65028
65029         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
65030         * modules/iconv_open-utf: New file.
65031         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
65032         (iconv, iconv_close): New declarations.
65033         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
65034         be defined.
65035         (iconv_open): Add special handling of conversion between UTF-8 and
65036         UTF-{16,32}{BE,LE}.
65037         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
65038         * lib/iconv_close.c: New file.
65039         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
65040         gl_FUNC_ICONV_OPEN.
65041         (gl_FUNC_ICONV_OPEN): Use it.
65042         (gl_FUNC_ICONV_OPEN_UTF): New macro.
65043         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
65044         and REPLACE_ICONV_UTF.
65045         * modules/iconv_open (Depends-on): Add c-strcase.
65046         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
65047         ICONV_CONST.
65048         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
65049
65050 2007-10-13  Albert Chin  <china@thewrittenword.com>
65051             Bruno Haible  <bruno@clisp.org>
65052
65053         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
65054         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
65055
65056 2007-10-13  Bruno Haible  <bruno@clisp.org>
65057
65058         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
65059         defined, use the ISO C99 inline semantics.
65060         * lib/argp.h (ARGP_EI): Likewise.
65061
65062 2007-10-13  Bruno Haible  <bruno@clisp.org>
65063
65064         Handle 'inline' change in gcc 4.3.0.
65065         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
65066         argp_fmtstream_write, argp_fmtstream_set_lmargin,
65067         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
65068         argp_fmtstream_point): Disable 'extern' declaration if the function
65069         definition is going to be provided inline.
65070         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
65071         semantics, not the ISO C99 inline semantics.
65072         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
65073         'extern' declaration if the function definition is going to be provided
65074         inline.
65075         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
65076         the GNU C inline semantics, not the ISO C99 inline semantics. With
65077         GCC 4.2, avoid a warning.
65078
65079 2007-10-13  Bruno Haible  <bruno@clisp.org>
65080
65081         * lib/freading.h (freading): Enable the use of __freading for
65082         glibc >= 2.7.
65083         * lib/freading.c (freading): Likewise.
65084
65085 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
65086
65087         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
65088         "warning: C99 inline functions are not supported; using GNU89".
65089
65090 2007-10-12  Bruno Haible  <bruno@clisp.org>
65091
65092         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
65093         of 2.
65094         * tests/test-ceilf2.c: New file.
65095         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
65096
65097         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
65098         * modules/ceilf-tests: Update.
65099
65100 2007-10-12  Bruno Haible  <bruno@clisp.org>
65101
65102         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
65103         of 2.
65104         * tests/test-floorf2.c: New file.
65105         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
65106
65107         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
65108         * modules/floorf-tests: Update.
65109
65110 2007-10-12  Bruno Haible  <bruno@clisp.org>
65111
65112         * tests/test-trunc2.c: New file.
65113         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
65114
65115         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
65116         * modules/trunc-tests: Update.
65117
65118 2007-10-12  Bruno Haible  <bruno@clisp.org>
65119
65120         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
65121         of 2.
65122         * tests/test-truncf2.c: New file.
65123         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
65124
65125         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
65126         * modules/truncf-tests: Update.
65127
65128 2007-10-11  Eric Blake  <ebb9@byu.net>
65129
65130         Don't claim strerror is broken on Interix.
65131         * doc/functions/strerror.texi (strerror): Known broken systems are
65132         now Solaris 8, and not Interix.
65133         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
65134         Interix on cross-compile.
65135         Reported by Martin Koeppe in
65136         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
65137
65138 2007-10-11  Bruno Haible  <bruno@clisp.org>
65139
65140         * modules/i-ring-tests: New file.
65141         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
65142         instead of assert.
65143
65144 2007-10-11  Bruno Haible  <bruno@clisp.org>
65145
65146         * modules/filenamecat-tests: New file.
65147         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
65148         * lib/filenamecat.c: Remove test code.
65149
65150 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
65151
65152         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
65153
65154         * lib/strerror.c: Include <string.h> always, to test interface,
65155         and to remove the need for the dummy.
65156         Include intprops.h to compute width instead of doing it ourselves
65157         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
65158         (strerror): Define it to return NULL if there's no system strerror.
65159         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
65160         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
65161         ancient pre-strerror Unix systems well any more.  Saying "unknown
65162         system error" is enough.
65163         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
65164         simpler strerror.c implementation.
65165         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
65166         Simplify the tests to reflect the simpler strerror implementation.
65167         * modules/strerror (Depends-on): Add intprops.
65168
65169 2007-10-09  Eric Blake  <ebb9@byu.net>
65170
65171         Silence test-fpending.
65172         * modules/fpending-tests (Files): Add wrapper script.
65173         * tests/test-fpending.sh: New file.
65174
65175 2007-10-09  Bruno Haible  <bruno@clisp.org>
65176
65177         * MODULES.html.sh (func_module): Don't create a hyperlink for
65178         function names like 'printf_frexp'.
65179         (Misc): Add crc, memxor.
65180         (Characteristics of floating types): New section.
65181         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
65182         isnanf-nolibm, signbit, trunc, truncf, truncl.
65183         (Enhancements for ISO C 99 functions): New subsection Input/output.
65184         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
65185         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
65186         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
65187         (Compatibility checks for POSIX:2001 functions): Add clock-time.
65188         (Enhancements for POSIX:2001 functions): Add chdir-long.
65189         (File system functions): Add areadlink, chdir-safer, read-file.
65190         Remove cycle-check.
65191         (File system as inode set): New section.
65192         (Date and time): Add gethrxtime.
65193         (Multithreading): Add openmp.
65194         (Internationalization functions): Add localename.
65195         (Unicode string functions): Add unistr/u*-mbsnlen.
65196         (Support for maintaining and releasing projects): Add git-version-gen.
65197         (Lone files): Remove directories.
65198
65199 2007-10-08  Ben Pfaff  <blp@gnu.org>
65200
65201         * lib/xmalloca.h: Fix typo in comment.
65202
65203 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
65204
65205         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
65206         when avoiding problems with integer overflow.  Use a portable test
65207         instead.
65208
65209 2007-10-08  Simon Josefsson  <simon@josefsson.org>
65210
65211         * modules/dummy (License): Change to LGPLv2+.
65212         * modules/float (License): Likewise
65213         * modules/realloc (License): Likewise
65214         * modules/stdlib (License): Likewise
65215
65216 2007-10-07  Bruno Haible  <bruno@clisp.org>
65217
65218         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
65219         * floor.c (TWO_MANT_DIG): Likewise.
65220         * ceil.c (TWO_MANT_DIG): Likewise.
65221         Reported by Ben Pfaff.
65222
65223 2007-10-07  Bruno Haible  <bruno@clisp.org>
65224
65225         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
65226         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
65227         * lib/frexp.c (FUNC): Likewise.
65228         * lib/printf-frexp.h (printf_frexp): Likewise.
65229         * lib/printf-frexpl.h (printf_frexpl): Likewise.
65230         * lib/printf-frexp.c (FUNC): Likewise.
65231         Suggested by Jim Meyering.
65232
65233 2007-10-07  Jim Meyering  <meyering@redhat.com>
65234
65235         Make xnanosleep's integer overflow test more robust.
65236         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
65237         so that gcc-4.3.0 doesn't optimize away this test for overflow.
65238
65239 2007-10-07  Bruno Haible  <bruno@clisp.org>
65240
65241         * NEWS: Mention the license change.
65242
65243         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
65244         abbreviations in the modules files.
65245
65246         Change copyright notice from GPLv2+ to GPLv3+.
65247         * README: Change copyright notice.
65248         * MODULES.html.sh: Likewise.
65249         * build-aux/bootstrap.conf: Likewise.
65250         * build-aux/config.libpath: Likewise.
65251         * build-aux/csharpcomp.sh.in: Likewise.
65252         * build-aux/csharpexec.sh.in: Likewise.
65253         * build-aux/install-reloc: Likewise.
65254         * build-aux/javacomp.sh.in: Likewise.
65255         * build-aux/javaexec.sh.in: Likewise.
65256         * build-aux/ldd.sh.in: Likewise.
65257         * build-aux/reloc-ldflags: Likewise.
65258         * build-aux/relocatable.sh.in: Likewise.
65259         * build-aux/x-to-1.in: Likewise.
65260         * check-module: Likewise.
65261         * config/srclistvars.sh: Likewise.
65262         * gnulib-tool: Likewise.
65263         * lib/acl-internal.h: Likewise.
65264         * lib/acl.c: Likewise.
65265         * lib/acl.h: Likewise.
65266         * lib/acl_entries.c: Likewise.
65267         * lib/areadlink-with-size.c: Likewise.
65268         * lib/areadlink.c: Likewise.
65269         * lib/areadlink.h: Likewise.
65270         * lib/argmatch.c: Likewise.
65271         * lib/argmatch.h: Likewise.
65272         * lib/argp-ba.c: Likewise.
65273         * lib/argp-eexst.c: Likewise.
65274         * lib/argp-fmtstream.c: Likewise.
65275         * lib/argp-fmtstream.h: Likewise.
65276         * lib/argp-fs-xinl.c: Likewise.
65277         * lib/argp-help.c: Likewise.
65278         * lib/argp-namefrob.h: Likewise.
65279         * lib/argp-parse.c: Likewise.
65280         * lib/argp-pin.c: Likewise.
65281         * lib/argp-pv.c: Likewise.
65282         * lib/argp-pvh.c: Likewise.
65283         * lib/argp-xinl.c: Likewise.
65284         * lib/argp.h: Likewise.
65285         * lib/at-func.c: Likewise.
65286         * lib/atanl.c: Likewise.
65287         * lib/backupfile.c: Likewise.
65288         * lib/backupfile.h: Likewise.
65289         * lib/basename.c: Likewise.
65290         * lib/binary-io.h: Likewise.
65291         * lib/byteswap.in.h: Likewise.
65292         * lib/c-stack.c: Likewise.
65293         * lib/c-stack.h: Likewise.
65294         * lib/c-strcasestr.c: Likewise.
65295         * lib/c-strcasestr.h: Likewise.
65296         * lib/c-strstr.c: Likewise.
65297         * lib/c-strstr.h: Likewise.
65298         * lib/c-strtod.c: Likewise.
65299         * lib/calloc.c: Likewise.
65300         * lib/canon-host.c: Likewise.
65301         * lib/canon-host.h: Likewise.
65302         * lib/canonicalize-lgpl.c: Likewise.
65303         * lib/canonicalize.c: Likewise.
65304         * lib/canonicalize.h: Likewise.
65305         * lib/ceil.c: Likewise.
65306         * lib/ceilf.c: Likewise.
65307         * lib/ceill.c: Likewise.
65308         * lib/chdir-long.c: Likewise.
65309         * lib/chdir-long.h: Likewise.
65310         * lib/chdir-safer.c: Likewise.
65311         * lib/chdir-safer.h: Likewise.
65312         * lib/chown.c: Likewise.
65313         * lib/classpath.c: Likewise.
65314         * lib/classpath.h: Likewise.
65315         * lib/clean-temp.c: Likewise.
65316         * lib/clean-temp.h: Likewise.
65317         * lib/cloexec.c: Likewise.
65318         * lib/close-stream.c: Likewise.
65319         * lib/closein.c: Likewise.
65320         * lib/closein.h: Likewise.
65321         * lib/closeout.c: Likewise.
65322         * lib/closeout.h: Likewise.
65323         * lib/concat-filename.c: Likewise.
65324         * lib/copy-file.c: Likewise.
65325         * lib/copy-file.h: Likewise.
65326         * lib/count-one-bits.h: Likewise.
65327         * lib/crc.c: Likewise.
65328         * lib/crc.h: Likewise.
65329         * lib/creat-safer.c: Likewise.
65330         * lib/csharpcomp.c: Likewise.
65331         * lib/csharpcomp.h: Likewise.
65332         * lib/csharpexec.c: Likewise.
65333         * lib/csharpexec.h: Likewise.
65334         * lib/cycle-check.c: Likewise.
65335         * lib/cycle-check.h: Likewise.
65336         * lib/diacrit.c: Likewise.
65337         * lib/diacrit.h: Likewise.
65338         * lib/diffseq.h: Likewise.
65339         * lib/dirchownmod.c: Likewise.
65340         * lib/dirent.in.h: Likewise.
65341         * lib/dirfd.c: Likewise.
65342         * lib/dirfd.h: Likewise.
65343         * lib/dirname.c: Likewise.
65344         * lib/dirname.h: Likewise.
65345         * lib/dummy.c: Likewise.
65346         * lib/dup-safer.c: Likewise.
65347         * lib/dup2.c: Likewise.
65348         * lib/eealloc.h: Likewise.
65349         * lib/error.c: Likewise.
65350         * lib/error.h: Likewise.
65351         * lib/euidaccess.c: Likewise.
65352         * lib/exclude.c: Likewise.
65353         * lib/exclude.h: Likewise.
65354         * lib/execute.c: Likewise.
65355         * lib/execute.h: Likewise.
65356         * lib/exitfail.c: Likewise.
65357         * lib/exitfail.h: Likewise.
65358         * lib/expl.c: Likewise.
65359         * lib/fatal-signal.c: Likewise.
65360         * lib/fatal-signal.h: Likewise.
65361         * lib/fbufmode.c: Likewise.
65362         * lib/fbufmode.h: Likewise.
65363         * lib/fchdir.c: Likewise.
65364         * lib/fchmodat.c: Likewise.
65365         * lib/fchownat.c: Likewise.
65366         * lib/fcntl--.h: Likewise.
65367         * lib/fcntl-safer.h: Likewise.
65368         * lib/fcntl.in.h: Likewise.
65369         * lib/fd-safer.c: Likewise.
65370         * lib/fflush.c: Likewise.
65371         * lib/file-has-acl.c: Likewise.
65372         * lib/file-set.c: Likewise.
65373         * lib/file-type.c: Likewise.
65374         * lib/file-type.h: Likewise.
65375         * lib/fileblocks.c: Likewise.
65376         * lib/filemode.c: Likewise.
65377         * lib/filemode.h: Likewise.
65378         * lib/filename.h: Likewise.
65379         * lib/filenamecat.c: Likewise.
65380         * lib/filenamecat.h: Likewise.
65381         * lib/findprog.c: Likewise.
65382         * lib/findprog.h: Likewise.
65383         * lib/float.in.h: Likewise.
65384         * lib/floor.c: Likewise.
65385         * lib/floorf.c: Likewise.
65386         * lib/floorl.c: Likewise.
65387         * lib/fopen-safer.c: Likewise.
65388         * lib/fopen.c: Likewise.
65389         * lib/fpending.c: Likewise.
65390         * lib/fpending.h: Likewise.
65391         * lib/fprintf.c: Likewise.
65392         * lib/fprintftime.h: Likewise.
65393         * lib/fpucw.h: Likewise.
65394         * lib/fpurge.c: Likewise.
65395         * lib/fpurge.h: Likewise.
65396         * lib/freadable.c: Likewise.
65397         * lib/freadable.h: Likewise.
65398         * lib/freadahead.c: Likewise.
65399         * lib/freadahead.h: Likewise.
65400         * lib/freading.c: Likewise.
65401         * lib/freading.h: Likewise.
65402         * lib/free.c: Likewise.
65403         * lib/freopen.c: Likewise.
65404         * lib/frexp.c: Likewise.
65405         * lib/frexpl.c: Likewise.
65406         * lib/fseek.c: Likewise.
65407         * lib/fseterr.c: Likewise.
65408         * lib/fseterr.h: Likewise.
65409         * lib/fstatat.c: Likewise.
65410         * lib/fstrcmp.c: Likewise.
65411         * lib/fstrcmp.h: Likewise.
65412         * lib/fsusage.c: Likewise.
65413         * lib/fsusage.h: Likewise.
65414         * lib/ftell.c: Likewise.
65415         * lib/ftello.c: Likewise.
65416         * lib/fts-cycle.c: Likewise.
65417         * lib/fts.c: Likewise.
65418         * lib/fts_.h: Likewise.
65419         * lib/full-read.c: Likewise.
65420         * lib/full-read.h: Likewise.
65421         * lib/full-write.c: Likewise.
65422         * lib/full-write.h: Likewise.
65423         * lib/fwritable.c: Likewise.
65424         * lib/fwritable.h: Likewise.
65425         * lib/fwriteerror.c: Likewise.
65426         * lib/fwriteerror.h: Likewise.
65427         * lib/fwriting.c: Likewise.
65428         * lib/fwriting.h: Likewise.
65429         * lib/gcd.c: Likewise.
65430         * lib/gcd.h: Likewise.
65431         * lib/getcwd.c: Likewise.
65432         * lib/getdate.h: Likewise.
65433         * lib/getdate.y: Likewise.
65434         * lib/getdomainname.c: Likewise.
65435         * lib/getdomainname.h: Likewise.
65436         * lib/getgroups.c: Likewise.
65437         * lib/gethostname.c: Likewise.
65438         * lib/gethrxtime.c: Likewise.
65439         * lib/gethrxtime.h: Likewise.
65440         * lib/getloadavg.c: Likewise.
65441         * lib/getndelim2.c: Likewise.
65442         * lib/getndelim2.h: Likewise.
65443         * lib/getnline.c: Likewise.
65444         * lib/getnline.h: Likewise.
65445         * lib/getopt.c: Likewise.
65446         * lib/getopt.in.h: Likewise.
65447         * lib/getopt1.c: Likewise.
65448         * lib/getopt_int.h: Likewise.
65449         * lib/getpagesize.h: Likewise.
65450         * lib/getsubopt.c: Likewise.
65451         * lib/gettime.c: Likewise.
65452         * lib/getugroups.c: Likewise.
65453         * lib/getugroups.h: Likewise.
65454         * lib/getusershell.c: Likewise.
65455         * lib/gl_anyavltree_list1.h: Likewise.
65456         * lib/gl_anyavltree_list2.h: Likewise.
65457         * lib/gl_anyhash_list1.h: Likewise.
65458         * lib/gl_anyhash_list2.h: Likewise.
65459         * lib/gl_anylinked_list1.h: Likewise.
65460         * lib/gl_anylinked_list2.h: Likewise.
65461         * lib/gl_anyrbtree_list1.h: Likewise.
65462         * lib/gl_anyrbtree_list2.h: Likewise.
65463         * lib/gl_anytree_list1.h: Likewise.
65464         * lib/gl_anytree_list2.h: Likewise.
65465         * lib/gl_anytree_oset.h: Likewise.
65466         * lib/gl_anytreehash_list1.h: Likewise.
65467         * lib/gl_anytreehash_list2.h: Likewise.
65468         * lib/gl_array_list.c: Likewise.
65469         * lib/gl_array_list.h: Likewise.
65470         * lib/gl_array_oset.c: Likewise.
65471         * lib/gl_array_oset.h: Likewise.
65472         * lib/gl_avltree_list.c: Likewise.
65473         * lib/gl_avltree_list.h: Likewise.
65474         * lib/gl_avltree_oset.c: Likewise.
65475         * lib/gl_avltree_oset.h: Likewise.
65476         * lib/gl_avltreehash_list.c: Likewise.
65477         * lib/gl_avltreehash_list.h: Likewise.
65478         * lib/gl_carray_list.c: Likewise.
65479         * lib/gl_carray_list.h: Likewise.
65480         * lib/gl_linked_list.c: Likewise.
65481         * lib/gl_linked_list.h: Likewise.
65482         * lib/gl_linkedhash_list.c: Likewise.
65483         * lib/gl_linkedhash_list.h: Likewise.
65484         * lib/gl_list.c: Likewise.
65485         * lib/gl_list.h: Likewise.
65486         * lib/gl_oset.c: Likewise.
65487         * lib/gl_oset.h: Likewise.
65488         * lib/gl_rbtree_list.c: Likewise.
65489         * lib/gl_rbtree_list.h: Likewise.
65490         * lib/gl_rbtree_oset.c: Likewise.
65491         * lib/gl_rbtree_oset.h: Likewise.
65492         * lib/gl_rbtreehash_list.c: Likewise.
65493         * lib/gl_rbtreehash_list.h: Likewise.
65494         * lib/gl_sublist.c: Likewise.
65495         * lib/gl_sublist.h: Likewise.
65496         * lib/group-member.c: Likewise.
65497         * lib/group-member.h: Likewise.
65498         * lib/hard-locale.c: Likewise.
65499         * lib/hard-locale.h: Likewise.
65500         * lib/hash-pjw.c: Likewise.
65501         * lib/hash-pjw.h: Likewise.
65502         * lib/hash-triple.c: Likewise.
65503         * lib/hash.c: Likewise.
65504         * lib/hash.h: Likewise.
65505         * lib/human.c: Likewise.
65506         * lib/human.h: Likewise.
65507         * lib/i-ring.c: Likewise.
65508         * lib/i-ring.h: Likewise.
65509         * lib/idcache.c: Likewise.
65510         * lib/imaxabs.c: Likewise.
65511         * lib/imaxdiv.c: Likewise.
65512         * lib/inet_pton.c: Likewise.
65513         * lib/inet_pton.h: Likewise.
65514         * lib/intprops.h: Likewise.
65515         * lib/inttostr.c: Likewise.
65516         * lib/inttostr.h: Likewise.
65517         * lib/inttypes.in.h: Likewise.
65518         * lib/isapipe.c: Likewise.
65519         * lib/isdir.c: Likewise.
65520         * lib/isnan.c: Likewise.
65521         * lib/isnan.h: Likewise.
65522         * lib/isnanf.c: Likewise.
65523         * lib/isnanf.h: Likewise.
65524         * lib/isnanl-nolibm.h: Likewise.
65525         * lib/isnanl.c: Likewise.
65526         * lib/isnanl.h: Likewise.
65527         * lib/javacomp.c: Likewise.
65528         * lib/javacomp.h: Likewise.
65529         * lib/javaexec.c: Likewise.
65530         * lib/javaexec.h: Likewise.
65531         * lib/javaversion.c: Likewise.
65532         * lib/javaversion.h: Likewise.
65533         * lib/javaversion.java: Likewise.
65534         * lib/lbrkprop.h: Likewise.
65535         * lib/lchmod.h: Likewise.
65536         * lib/lchown.c: Likewise.
65537         * lib/ldexpl.c: Likewise.
65538         * lib/linebreak.c: Likewise.
65539         * lib/linebreak.h: Likewise.
65540         * lib/linebuffer.c: Likewise.
65541         * lib/linebuffer.h: Likewise.
65542         * lib/locale.in.h: Likewise.
65543         * lib/logl.c: Likewise.
65544         * lib/long-options.c: Likewise.
65545         * lib/long-options.h: Likewise.
65546         * lib/lstat.c: Likewise.
65547         * lib/lstat.h: Likewise.
65548         * lib/math.in.h: Likewise.
65549         * lib/mbchar.c: Likewise.
65550         * lib/mbchar.h: Likewise.
65551         * lib/mbfile.h: Likewise.
65552         * lib/mbiter.h: Likewise.
65553         * lib/mbscasecmp.c: Likewise.
65554         * lib/mbscasestr.c: Likewise.
65555         * lib/mbschr.c: Likewise.
65556         * lib/mbscspn.c: Likewise.
65557         * lib/mbslen.c: Likewise.
65558         * lib/mbsncasecmp.c: Likewise.
65559         * lib/mbsnlen.c: Likewise.
65560         * lib/mbspbrk.c: Likewise.
65561         * lib/mbspcasecmp.c: Likewise.
65562         * lib/mbsrchr.c: Likewise.
65563         * lib/mbssep.c: Likewise.
65564         * lib/mbsspn.c: Likewise.
65565         * lib/mbsstr.c: Likewise.
65566         * lib/mbstok_r.c: Likewise.
65567         * lib/mbswidth.c: Likewise.
65568         * lib/mbswidth.h: Likewise.
65569         * lib/mbuiter.h: Likewise.
65570         * lib/memcasecmp.c: Likewise.
65571         * lib/memcasecmp.h: Likewise.
65572         * lib/memchr.c: Likewise.
65573         * lib/memcmp.c: Likewise.
65574         * lib/memcoll.c: Likewise.
65575         * lib/memcoll.h: Likewise.
65576         * lib/memcpy.c: Likewise.
65577         * lib/memrchr.c: Likewise.
65578         * lib/mkancesdirs.c: Likewise.
65579         * lib/mkdir-p.c: Likewise.
65580         * lib/mkdir-p.h: Likewise.
65581         * lib/mkdir.c: Likewise.
65582         * lib/mkdirat.c: Likewise.
65583         * lib/mkdtemp.c: Likewise.
65584         * lib/mkstemp-safer.c: Likewise.
65585         * lib/mkstemp.c: Likewise.
65586         * lib/modechange.c: Likewise.
65587         * lib/modechange.h: Likewise.
65588         * lib/mountlist.c: Likewise.
65589         * lib/mountlist.h: Likewise.
65590         * lib/mpsort.c: Likewise.
65591         * lib/nanosleep.c: Likewise.
65592         * lib/obstack.c: Likewise.
65593         * lib/obstack.h: Likewise.
65594         * lib/open-safer.c: Likewise.
65595         * lib/open.c: Likewise.
65596         * lib/openat-die.c: Likewise.
65597         * lib/openat-priv.h: Likewise.
65598         * lib/openat-proc.c: Likewise.
65599         * lib/openat.c: Likewise.
65600         * lib/openat.h: Likewise.
65601         * lib/pagealign_alloc.c: Likewise.
65602         * lib/pagealign_alloc.h: Likewise.
65603         * lib/physmem.c: Likewise.
65604         * lib/physmem.h: Likewise.
65605         * lib/pipe-safer.c: Likewise.
65606         * lib/pipe.c: Likewise.
65607         * lib/pipe.h: Likewise.
65608         * lib/posixtm.c: Likewise.
65609         * lib/posixtm.h: Likewise.
65610         * lib/posixver.c: Likewise.
65611         * lib/printf-frexp.c: Likewise.
65612         * lib/printf-frexp.h: Likewise.
65613         * lib/printf-frexpl.c: Likewise.
65614         * lib/printf-frexpl.h: Likewise.
65615         * lib/printf.c: Likewise.
65616         * lib/progname.c: Likewise.
65617         * lib/progname.h: Likewise.
65618         * lib/progreloc.c: Likewise.
65619         * lib/putenv.c: Likewise.
65620         * lib/quote.c: Likewise.
65621         * lib/quote.h: Likewise.
65622         * lib/quotearg.c: Likewise.
65623         * lib/quotearg.h: Likewise.
65624         * lib/raise.c: Likewise.
65625         * lib/readline.c: Likewise.
65626         * lib/readline.h: Likewise.
65627         * lib/readlink.c: Likewise.
65628         * lib/readtokens.c: Likewise.
65629         * lib/readtokens.h: Likewise.
65630         * lib/readtokens0.c: Likewise.
65631         * lib/readtokens0.h: Likewise.
65632         * lib/readutmp.c: Likewise.
65633         * lib/readutmp.h: Likewise.
65634         * lib/realloc.c: Likewise.
65635         * lib/relocwrapper.c: Likewise.
65636         * lib/rename-dest-slash.c: Likewise.
65637         * lib/rename.c: Likewise.
65638         * lib/rmdir.c: Likewise.
65639         * lib/rpmatch.c: Likewise.
65640         * lib/safe-read.c: Likewise.
65641         * lib/safe-read.h: Likewise.
65642         * lib/safe-write.c: Likewise.
65643         * lib/safe-write.h: Likewise.
65644         * lib/same-inode.h: Likewise.
65645         * lib/same.c: Likewise.
65646         * lib/same.h: Likewise.
65647         * lib/save-cwd.c: Likewise.
65648         * lib/save-cwd.h: Likewise.
65649         * lib/savedir.c: Likewise.
65650         * lib/savedir.h: Likewise.
65651         * lib/savewd.c: Likewise.
65652         * lib/savewd.h: Likewise.
65653         * lib/search.in.h: Likewise.
65654         * lib/setenv.c: Likewise.
65655         * lib/setenv.h: Likewise.
65656         * lib/settime.c: Likewise.
65657         * lib/sh-quote.c: Likewise.
65658         * lib/sh-quote.h: Likewise.
65659         * lib/sig2str.c: Likewise.
65660         * lib/sig2str.h: Likewise.
65661         * lib/signal.in.h: Likewise.
65662         * lib/signbitd.c: Likewise.
65663         * lib/signbitf.c: Likewise.
65664         * lib/signbitl.c: Likewise.
65665         * lib/sigprocmask.c: Likewise.
65666         * lib/sincosl.c: Likewise.
65667         * lib/sleep.c: Likewise.
65668         * lib/sprintf.c: Likewise.
65669         * lib/sqrtl.c: Likewise.
65670         * lib/stat-time.h: Likewise.
65671         * lib/stdio--.h: Likewise.
65672         * lib/stdio-safer.h: Likewise.
65673         * lib/stdlib--.h: Likewise.
65674         * lib/stdlib-safer.h: Likewise.
65675         * lib/stdlib.in.h: Likewise.
65676         * lib/stpcpy.c: Likewise.
65677         * lib/stpncpy.c: Likewise.
65678         * lib/strchrnul.c: Likewise.
65679         * lib/strcspn.c: Likewise.
65680         * lib/strerror.c: Likewise.
65681         * lib/strftime.c: Likewise.
65682         * lib/strftime.h: Likewise.
65683         * lib/striconveh.c: Likewise.
65684         * lib/striconveh.h: Likewise.
65685         * lib/striconveha.c: Likewise.
65686         * lib/striconveha.h: Likewise.
65687         * lib/stripslash.c: Likewise.
65688         * lib/strnlen1.c: Likewise.
65689         * lib/strnlen1.h: Likewise.
65690         * lib/strtod.c: Likewise.
65691         * lib/strtoimax.c: Likewise.
65692         * lib/strtok_r.c: Likewise.
65693         * lib/strtol.c: Likewise.
65694         * lib/strtoll.c: Likewise.
65695         * lib/strtoul.c: Likewise.
65696         * lib/strtoull.c: Likewise.
65697         * lib/sysexits.in.h: Likewise.
65698         * lib/tempname.c: Likewise.
65699         * lib/tempname.h: Likewise.
65700         * lib/timespec.h: Likewise.
65701         * lib/tls.c: Likewise.
65702         * lib/tls.h: Likewise.
65703         * lib/tmpdir.c: Likewise.
65704         * lib/tmpdir.h: Likewise.
65705         * lib/tmpfile-safer.c: Likewise.
65706         * lib/tmpfile.c: Likewise.
65707         * lib/trigl.c: Likewise.
65708         * lib/trigl.h: Likewise.
65709         * lib/trim.c: Likewise.
65710         * lib/trim.h: Likewise.
65711         * lib/trunc.c: Likewise.
65712         * lib/truncf.c: Likewise.
65713         * lib/truncl.c: Likewise.
65714         * lib/tsearch.c: Likewise.
65715         * lib/unicodeio.c: Likewise.
65716         * lib/unicodeio.h: Likewise.
65717         * lib/unistd--.h: Likewise.
65718         * lib/unistd-safer.h: Likewise.
65719         * lib/unistdio/ulc-fprintf.c: Likewise.
65720         * lib/unistdio/ulc-vfprintf.c: Likewise.
65721         * lib/unlinkdir.c: Likewise.
65722         * lib/unlinkdir.h: Likewise.
65723         * lib/unlocked-io.h: Likewise.
65724         * lib/unsetenv.c: Likewise.
65725         * lib/userspec.c: Likewise.
65726         * lib/utime.c: Likewise.
65727         * lib/utimecmp.c: Likewise.
65728         * lib/utimecmp.h: Likewise.
65729         * lib/utimens.c: Likewise.
65730         * lib/verify.h: Likewise.
65731         * lib/verror.c: Likewise.
65732         * lib/verror.h: Likewise.
65733         * lib/version-etc-fsf.c: Likewise.
65734         * lib/version-etc.c: Likewise.
65735         * lib/version-etc.h: Likewise.
65736         * lib/vfprintf.c: Likewise.
65737         * lib/vprintf.c: Likewise.
65738         * lib/vsprintf.c: Likewise.
65739         * lib/w32spawn.h: Likewise.
65740         * lib/wait-process.c: Likewise.
65741         * lib/wait-process.h: Likewise.
65742         * lib/wcwidth.c: Likewise.
65743         * lib/write-any-file.c: Likewise.
65744         * lib/xalloc-die.c: Likewise.
65745         * lib/xalloc.h: Likewise.
65746         * lib/xasprintf.c: Likewise.
65747         * lib/xgetcwd.c: Likewise.
65748         * lib/xgetcwd.h: Likewise.
65749         * lib/xgetdomainname.c: Likewise.
65750         * lib/xgetdomainname.h: Likewise.
65751         * lib/xgethostname.c: Likewise.
65752         * lib/xmalloc.c: Likewise.
65753         * lib/xmalloca.c: Likewise.
65754         * lib/xmalloca.h: Likewise.
65755         * lib/xmemcoll.c: Likewise.
65756         * lib/xnanosleep.c: Likewise.
65757         * lib/xreadlink.c: Likewise.
65758         * lib/xreadlink.h: Likewise.
65759         * lib/xsetenv.c: Likewise.
65760         * lib/xsetenv.h: Likewise.
65761         * lib/xstriconv.c: Likewise.
65762         * lib/xstriconv.h: Likewise.
65763         * lib/xstrndup.c: Likewise.
65764         * lib/xstrndup.h: Likewise.
65765         * lib/xstrtod.c: Likewise.
65766         * lib/xstrtod.h: Likewise.
65767         * lib/xstrtol-error.c: Likewise.
65768         * lib/xstrtol.c: Likewise.
65769         * lib/xstrtol.h: Likewise.
65770         * lib/xtime.h: Likewise.
65771         * lib/xvasprintf.c: Likewise.
65772         * lib/xvasprintf.h: Likewise.
65773         * lib/yesno.c: Likewise.
65774         * lib/yesno.h: Likewise.
65775         * posix-modules: Likewise.
65776         * tests/test-alloca-opt.c: Likewise.
65777         * tests/test-arcfour.c: Likewise.
65778         * tests/test-arctwo.c: Likewise.
65779         * tests/test-argmatch.c: Likewise.
65780         * tests/test-argp-2.sh: Likewise.
65781         * tests/test-argp.c: Likewise.
65782         * tests/test-arpa_inet.c: Likewise.
65783         * tests/test-array_list.c: Likewise.
65784         * tests/test-array_oset.c: Likewise.
65785         * tests/test-atexit.c: Likewise.
65786         * tests/test-avltree_list.c: Likewise.
65787         * tests/test-avltree_oset.c: Likewise.
65788         * tests/test-avltreehash_list.c: Likewise.
65789         * tests/test-base64.c: Likewise.
65790         * tests/test-binary-io.c: Likewise.
65791         * tests/test-byteswap.c: Likewise.
65792         * tests/test-c-ctype.c: Likewise.
65793         * tests/test-c-strcasecmp.c: Likewise.
65794         * tests/test-c-strcasestr.c: Likewise.
65795         * tests/test-c-strncasecmp.c: Likewise.
65796         * tests/test-c-strstr.c: Likewise.
65797         * tests/test-canonicalize-lgpl.c: Likewise.
65798         * tests/test-canonicalize.c: Likewise.
65799         * tests/test-carray_list.c: Likewise.
65800         * tests/test-ceilf.c: Likewise.
65801         * tests/test-ceill.c: Likewise.
65802         * tests/test-count-one-bits.c: Likewise.
65803         * tests/test-crc.c: Likewise.
65804         * tests/test-dirname.c: Likewise.
65805         * tests/test-fbufmode.c: Likewise.
65806         * tests/test-fcntl.c: Likewise.
65807         * tests/test-fflush.c: Likewise.
65808         * tests/test-floorf.c: Likewise.
65809         * tests/test-floorl.c: Likewise.
65810         * tests/test-fopen.c: Likewise.
65811         * tests/test-fprintf-posix.c: Likewise.
65812         * tests/test-fprintf-posix.h: Likewise.
65813         * tests/test-fpurge.c: Likewise.
65814         * tests/test-freadable.c: Likewise.
65815         * tests/test-freadahead.c: Likewise.
65816         * tests/test-freading.c: Likewise.
65817         * tests/test-freopen.c: Likewise.
65818         * tests/test-frexp.c: Likewise.
65819         * tests/test-frexpl.c: Likewise.
65820         * tests/test-fseek.c: Likewise.
65821         * tests/test-fseeko.c: Likewise.
65822         * tests/test-fseterr.c: Likewise.
65823         * tests/test-fstrcmp.c: Likewise.
65824         * tests/test-ftell.c: Likewise.
65825         * tests/test-ftello.c: Likewise.
65826         * tests/test-fwritable.c: Likewise.
65827         * tests/test-fwriting.c: Likewise.
65828         * tests/test-getaddrinfo.c: Likewise.
65829         * tests/test-getpass.c: Likewise.
65830         * tests/test-gettimeofday.c: Likewise.
65831         * tests/test-hmac-md5.c: Likewise.
65832         * tests/test-hmac-sha1.c: Likewise.
65833         * tests/test-iconv.c: Likewise.
65834         * tests/test-iconvme.c: Likewise.
65835         * tests/test-inttypes.c: Likewise.
65836         * tests/test-isnan.c: Likewise.
65837         * tests/test-isnanf.c: Likewise.
65838         * tests/test-isnanl-nolibm.c: Likewise.
65839         * tests/test-isnanl.c: Likewise.
65840         * tests/test-isnanl.h: Likewise.
65841         * tests/test-ldexpl.c: Likewise.
65842         * tests/test-linked_list.c: Likewise.
65843         * tests/test-linkedhash_list.c: Likewise.
65844         * tests/test-locale.c: Likewise.
65845         * tests/test-localename.c: Likewise.
65846         * tests/test-lock.c: Likewise.
65847         * tests/test-lseek.c: Likewise.
65848         * tests/test-malloca.c: Likewise.
65849         * tests/test-math.c: Likewise.
65850         * tests/test-mbscasecmp.c: Likewise.
65851         * tests/test-mbscasestr1.c: Likewise.
65852         * tests/test-mbscasestr2.c: Likewise.
65853         * tests/test-mbscasestr3.c: Likewise.
65854         * tests/test-mbscasestr4.c: Likewise.
65855         * tests/test-mbschr.c: Likewise.
65856         * tests/test-mbscspn.c: Likewise.
65857         * tests/test-mbsncasecmp.c: Likewise.
65858         * tests/test-mbspbrk.c: Likewise.
65859         * tests/test-mbspcasecmp.c: Likewise.
65860         * tests/test-mbsrchr.c: Likewise.
65861         * tests/test-mbsspn.c: Likewise.
65862         * tests/test-mbsstr1.c: Likewise.
65863         * tests/test-mbsstr2.c: Likewise.
65864         * tests/test-mbsstr3.c: Likewise.
65865         * tests/test-md5.c: Likewise.
65866         * tests/test-memmem.c: Likewise.
65867         * tests/test-netinet_in.c: Likewise.
65868         * tests/test-open.c: Likewise.
65869         * tests/test-printf-frexp.c: Likewise.
65870         * tests/test-printf-frexpl.c: Likewise.
65871         * tests/test-printf-posix.c: Likewise.
65872         * tests/test-printf-posix.h: Likewise.
65873         * tests/test-rbtree_list.c: Likewise.
65874         * tests/test-rbtree_oset.c: Likewise.
65875         * tests/test-rbtreehash_list.c: Likewise.
65876         * tests/test-read-file.c: Likewise.
65877         * tests/test-rijndael.c: Likewise.
65878         * tests/test-search.c: Likewise.
65879         * tests/test-signbit.c: Likewise.
65880         * tests/test-sleep.c: Likewise.
65881         * tests/test-snprintf-posix.c: Likewise.
65882         * tests/test-snprintf-posix.h: Likewise.
65883         * tests/test-snprintf.c: Likewise.
65884         * tests/test-sprintf-posix.c: Likewise.
65885         * tests/test-sprintf-posix.h: Likewise.
65886         * tests/test-stat-time.c: Likewise.
65887         * tests/test-stdbool.c: Likewise.
65888         * tests/test-stdint.c: Likewise.
65889         * tests/test-stdio.c: Likewise.
65890         * tests/test-stdlib.c: Likewise.
65891         * tests/test-stpncpy.c: Likewise.
65892         * tests/test-strcasestr.c: Likewise.
65893         * tests/test-striconv.c: Likewise.
65894         * tests/test-striconveh.c: Likewise.
65895         * tests/test-striconveha.c: Likewise.
65896         * tests/test-string.c: Likewise.
65897         * tests/test-sys_select.c: Likewise.
65898         * tests/test-sys_socket.c: Likewise.
65899         * tests/test-sys_stat.c: Likewise.
65900         * tests/test-sys_time.c: Likewise.
65901         * tests/test-sysexits.c: Likewise.
65902         * tests/test-time.c: Likewise.
65903         * tests/test-tls.c: Likewise.
65904         * tests/test-trunc.c: Likewise.
65905         * tests/test-truncf.c: Likewise.
65906         * tests/test-truncl.c: Likewise.
65907         * tests/test-unistd.c: Likewise.
65908         * tests/test-vasnprintf-posix.c: Likewise.
65909         * tests/test-vasnprintf-posix2.c: Likewise.
65910         * tests/test-vasnprintf.c: Likewise.
65911         * tests/test-vasprintf-posix.c: Likewise.
65912         * tests/test-vasprintf.c: Likewise.
65913         * tests/test-verify.c: Likewise.
65914         * tests/test-vfprintf-posix.c: Likewise.
65915         * tests/test-vprintf-posix.c: Likewise.
65916         * tests/test-vsnprintf-posix.c: Likewise.
65917         * tests/test-vsnprintf.c: Likewise.
65918         * tests/test-vsprintf-posix.c: Likewise.
65919         * tests/test-wchar.c: Likewise.
65920         * tests/test-wctype.c: Likewise.
65921         * tests/test-wcwidth.c: Likewise.
65922         * tests/test-xstrtol.c: Likewise.
65923         * tests/test-xvasprintf.c: Likewise.
65924         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
65925         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
65926         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
65927         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
65928         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
65929         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
65930         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
65931         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
65932         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
65933         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
65934         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
65935         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
65936         * tests/uniname/test-uninames.c: Likewise.
65937         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
65938         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
65939         * tests/unistdio/test-u16-printf1.h: Likewise.
65940         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
65941         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
65942         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
65943         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
65944         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
65945         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
65946         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
65947         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
65948         * tests/unistdio/test-u32-printf1.h: Likewise.
65949         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
65950         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
65951         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
65952         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
65953         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
65954         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
65955         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
65956         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
65957         * tests/unistdio/test-u8-printf1.h: Likewise.
65958         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
65959         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
65960         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
65961         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
65962         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
65963         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
65964         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
65965         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
65966         * tests/unistdio/test-ulc-printf1.h: Likewise.
65967         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
65968         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
65969         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
65970         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
65971         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
65972         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
65973         * tests/uniwidth/test-u16-strwidth.c: Likewise.
65974         * tests/uniwidth/test-u16-width.c: Likewise.
65975         * tests/uniwidth/test-u32-strwidth.c: Likewise.
65976         * tests/uniwidth/test-u32-width.c: Likewise.
65977         * tests/uniwidth/test-u8-strwidth.c: Likewise.
65978         * tests/uniwidth/test-u8-width.c: Likewise.
65979         * tests/uniwidth/test-uc_width.c: Likewise.
65980         * config/srclist-update: Likewise.
65981         (fixlicense): Update to GPLv3+.
65982
65983         Change copyright notice from LGPLv2.1+ to LGPLv3+.
65984         * tests/test-tsearch.c: Change copyright notice.
65985
65986         Change copyright notice from LGPLv2.0+ to LGPLv3+.
65987         * lib/c-strcaseeq.h: Change copyright notice.
65988         * lib/streq.h: Likewise.
65989         * lib/uniconv.h: Likewise.
65990         * lib/uniconv/u-conv-from-enc.h: Likewise.
65991         * lib/uniconv/u-conv-to-enc.h: Likewise.
65992         * lib/uniconv/u-strconv-from-enc.h: Likewise.
65993         * lib/uniconv/u-strconv-to-enc.h: Likewise.
65994         * lib/uniconv/u16-conv-from-enc.c: Likewise.
65995         * lib/uniconv/u16-conv-to-enc.c: Likewise.
65996         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
65997         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
65998         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
65999         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
66000         * lib/uniconv/u32-conv-from-enc.c: Likewise.
66001         * lib/uniconv/u32-conv-to-enc.c: Likewise.
66002         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
66003         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
66004         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
66005         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
66006         * lib/uniconv/u8-conv-from-enc.c: Likewise.
66007         * lib/uniconv/u8-conv-to-enc.c: Likewise.
66008         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
66009         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
66010         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
66011         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
66012         * lib/uniname.h: Likewise.
66013         * lib/uniname/uniname.c: Likewise.
66014         * lib/unistdio.h: Likewise.
66015         * lib/unistdio/u-asnprintf.h: Likewise.
66016         * lib/unistdio/u-asprintf.h: Likewise.
66017         * lib/unistdio/u-printf-args.c: Likewise.
66018         * lib/unistdio/u-printf-args.h: Likewise.
66019         * lib/unistdio/u-printf-parse.h: Likewise.
66020         * lib/unistdio/u-snprintf.h: Likewise.
66021         * lib/unistdio/u-sprintf.h: Likewise.
66022         * lib/unistdio/u-vasprintf.h: Likewise.
66023         * lib/unistdio/u-vsnprintf.h: Likewise.
66024         * lib/unistdio/u-vsprintf.h: Likewise.
66025         * lib/unistdio/u16-asnprintf.c: Likewise.
66026         * lib/unistdio/u16-asprintf.c: Likewise.
66027         * lib/unistdio/u16-printf-parse.c: Likewise.
66028         * lib/unistdio/u16-snprintf.c: Likewise.
66029         * lib/unistdio/u16-sprintf.c: Likewise.
66030         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
66031         * lib/unistdio/u16-u16-asprintf.c: Likewise.
66032         * lib/unistdio/u16-u16-snprintf.c: Likewise.
66033         * lib/unistdio/u16-u16-sprintf.c: Likewise.
66034         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
66035         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
66036         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
66037         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
66038         * lib/unistdio/u16-vasnprintf.c: Likewise.
66039         * lib/unistdio/u16-vasprintf.c: Likewise.
66040         * lib/unistdio/u16-vsnprintf.c: Likewise.
66041         * lib/unistdio/u16-vsprintf.c: Likewise.
66042         * lib/unistdio/u32-asnprintf.c: Likewise.
66043         * lib/unistdio/u32-asprintf.c: Likewise.
66044         * lib/unistdio/u32-printf-parse.c: Likewise.
66045         * lib/unistdio/u32-snprintf.c: Likewise.
66046         * lib/unistdio/u32-sprintf.c: Likewise.
66047         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
66048         * lib/unistdio/u32-u32-asprintf.c: Likewise.
66049         * lib/unistdio/u32-u32-snprintf.c: Likewise.
66050         * lib/unistdio/u32-u32-sprintf.c: Likewise.
66051         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
66052         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
66053         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
66054         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
66055         * lib/unistdio/u32-vasnprintf.c: Likewise.
66056         * lib/unistdio/u32-vasprintf.c: Likewise.
66057         * lib/unistdio/u32-vsnprintf.c: Likewise.
66058         * lib/unistdio/u32-vsprintf.c: Likewise.
66059         * lib/unistdio/u8-asnprintf.c: Likewise.
66060         * lib/unistdio/u8-asprintf.c: Likewise.
66061         * lib/unistdio/u8-printf-parse.c: Likewise.
66062         * lib/unistdio/u8-snprintf.c: Likewise.
66063         * lib/unistdio/u8-sprintf.c: Likewise.
66064         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
66065         * lib/unistdio/u8-u8-asprintf.c: Likewise.
66066         * lib/unistdio/u8-u8-snprintf.c: Likewise.
66067         * lib/unistdio/u8-u8-sprintf.c: Likewise.
66068         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
66069         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
66070         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
66071         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
66072         * lib/unistdio/u8-vasnprintf.c: Likewise.
66073         * lib/unistdio/u8-vasprintf.c: Likewise.
66074         * lib/unistdio/u8-vsnprintf.c: Likewise.
66075         * lib/unistdio/u8-vsprintf.c: Likewise.
66076         * lib/unistdio/ulc-asnprintf.c: Likewise.
66077         * lib/unistdio/ulc-asprintf.c: Likewise.
66078         * lib/unistdio/ulc-printf-parse.c: Likewise.
66079         * lib/unistdio/ulc-snprintf.c: Likewise.
66080         * lib/unistdio/ulc-sprintf.c: Likewise.
66081         * lib/unistdio/ulc-vasnprintf.c: Likewise.
66082         * lib/unistdio/ulc-vasprintf.c: Likewise.
66083         * lib/unistdio/ulc-vsnprintf.c: Likewise.
66084         * lib/unistdio/ulc-vsprintf.c: Likewise.
66085         * lib/unistr.h: Likewise.
66086         * lib/unistr/u-cpy-alloc.h: Likewise.
66087         * lib/unistr/u-cpy.h: Likewise.
66088         * lib/unistr/u-endswith.h: Likewise.
66089         * lib/unistr/u-move.h: Likewise.
66090         * lib/unistr/u-set.h: Likewise.
66091         * lib/unistr/u-startswith.h: Likewise.
66092         * lib/unistr/u-stpcpy.h: Likewise.
66093         * lib/unistr/u-stpncpy.h: Likewise.
66094         * lib/unistr/u-strcat.h: Likewise.
66095         * lib/unistr/u-strcpy.h: Likewise.
66096         * lib/unistr/u-strcspn.h: Likewise.
66097         * lib/unistr/u-strdup.h: Likewise.
66098         * lib/unistr/u-strlen.h: Likewise.
66099         * lib/unistr/u-strncat.h: Likewise.
66100         * lib/unistr/u-strncpy.h: Likewise.
66101         * lib/unistr/u-strnlen.h: Likewise.
66102         * lib/unistr/u-strpbrk.h: Likewise.
66103         * lib/unistr/u-strspn.h: Likewise.
66104         * lib/unistr/u-strstr.h: Likewise.
66105         * lib/unistr/u-strtok.h: Likewise.
66106         * lib/unistr/u16-check.c: Likewise.
66107         * lib/unistr/u16-chr.c: Likewise.
66108         * lib/unistr/u16-cmp.c: Likewise.
66109         * lib/unistr/u16-cpy-alloc.c: Likewise.
66110         * lib/unistr/u16-cpy.c: Likewise.
66111         * lib/unistr/u16-endswith.c: Likewise.
66112         * lib/unistr/u16-mblen.c: Likewise.
66113         * lib/unistr/u16-mbsnlen.c: Likewise.
66114         * lib/unistr/u16-mbtouc-aux.c: Likewise.
66115         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
66116         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
66117         * lib/unistr/u16-mbtouc.c: Likewise.
66118         * lib/unistr/u16-mbtoucr.c: Likewise.
66119         * lib/unistr/u16-move.c: Likewise.
66120         * lib/unistr/u16-next.c: Likewise.
66121         * lib/unistr/u16-prev.c: Likewise.
66122         * lib/unistr/u16-set.c: Likewise.
66123         * lib/unistr/u16-startswith.c: Likewise.
66124         * lib/unistr/u16-stpcpy.c: Likewise.
66125         * lib/unistr/u16-stpncpy.c: Likewise.
66126         * lib/unistr/u16-strcat.c: Likewise.
66127         * lib/unistr/u16-strchr.c: Likewise.
66128         * lib/unistr/u16-strcmp.c: Likewise.
66129         * lib/unistr/u16-strcpy.c: Likewise.
66130         * lib/unistr/u16-strcspn.c: Likewise.
66131         * lib/unistr/u16-strdup.c: Likewise.
66132         * lib/unistr/u16-strlen.c: Likewise.
66133         * lib/unistr/u16-strmblen.c: Likewise.
66134         * lib/unistr/u16-strmbtouc.c: Likewise.
66135         * lib/unistr/u16-strncat.c: Likewise.
66136         * lib/unistr/u16-strncmp.c: Likewise.
66137         * lib/unistr/u16-strncpy.c: Likewise.
66138         * lib/unistr/u16-strnlen.c: Likewise.
66139         * lib/unistr/u16-strpbrk.c: Likewise.
66140         * lib/unistr/u16-strrchr.c: Likewise.
66141         * lib/unistr/u16-strspn.c: Likewise.
66142         * lib/unistr/u16-strstr.c: Likewise.
66143         * lib/unistr/u16-strtok.c: Likewise.
66144         * lib/unistr/u16-to-u32.c: Likewise.
66145         * lib/unistr/u16-to-u8.c: Likewise.
66146         * lib/unistr/u16-uctomb-aux.c: Likewise.
66147         * lib/unistr/u16-uctomb.c: Likewise.
66148         * lib/unistr/u32-check.c: Likewise.
66149         * lib/unistr/u32-chr.c: Likewise.
66150         * lib/unistr/u32-cmp.c: Likewise.
66151         * lib/unistr/u32-cpy-alloc.c: Likewise.
66152         * lib/unistr/u32-cpy.c: Likewise.
66153         * lib/unistr/u32-endswith.c: Likewise.
66154         * lib/unistr/u32-mblen.c: Likewise.
66155         * lib/unistr/u32-mbsnlen.c: Likewise.
66156         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
66157         * lib/unistr/u32-mbtouc.c: Likewise.
66158         * lib/unistr/u32-mbtoucr.c: Likewise.
66159         * lib/unistr/u32-move.c: Likewise.
66160         * lib/unistr/u32-next.c: Likewise.
66161         * lib/unistr/u32-prev.c: Likewise.
66162         * lib/unistr/u32-set.c: Likewise.
66163         * lib/unistr/u32-startswith.c: Likewise.
66164         * lib/unistr/u32-stpcpy.c: Likewise.
66165         * lib/unistr/u32-stpncpy.c: Likewise.
66166         * lib/unistr/u32-strcat.c: Likewise.
66167         * lib/unistr/u32-strchr.c: Likewise.
66168         * lib/unistr/u32-strcmp.c: Likewise.
66169         * lib/unistr/u32-strcpy.c: Likewise.
66170         * lib/unistr/u32-strcspn.c: Likewise.
66171         * lib/unistr/u32-strdup.c: Likewise.
66172         * lib/unistr/u32-strlen.c: Likewise.
66173         * lib/unistr/u32-strmblen.c: Likewise.
66174         * lib/unistr/u32-strmbtouc.c: Likewise.
66175         * lib/unistr/u32-strncat.c: Likewise.
66176         * lib/unistr/u32-strncmp.c: Likewise.
66177         * lib/unistr/u32-strncpy.c: Likewise.
66178         * lib/unistr/u32-strnlen.c: Likewise.
66179         * lib/unistr/u32-strpbrk.c: Likewise.
66180         * lib/unistr/u32-strrchr.c: Likewise.
66181         * lib/unistr/u32-strspn.c: Likewise.
66182         * lib/unistr/u32-strstr.c: Likewise.
66183         * lib/unistr/u32-strtok.c: Likewise.
66184         * lib/unistr/u32-to-u16.c: Likewise.
66185         * lib/unistr/u32-to-u8.c: Likewise.
66186         * lib/unistr/u32-uctomb.c: Likewise.
66187         * lib/unistr/u8-check.c: Likewise.
66188         * lib/unistr/u8-chr.c: Likewise.
66189         * lib/unistr/u8-cmp.c: Likewise.
66190         * lib/unistr/u8-cpy-alloc.c: Likewise.
66191         * lib/unistr/u8-cpy.c: Likewise.
66192         * lib/unistr/u8-endswith.c: Likewise.
66193         * lib/unistr/u8-mblen.c: Likewise.
66194         * lib/unistr/u8-mbsnlen.c: Likewise.
66195         * lib/unistr/u8-mbtouc-aux.c: Likewise.
66196         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
66197         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
66198         * lib/unistr/u8-mbtouc.c: Likewise.
66199         * lib/unistr/u8-mbtoucr.c: Likewise.
66200         * lib/unistr/u8-move.c: Likewise.
66201         * lib/unistr/u8-next.c: Likewise.
66202         * lib/unistr/u8-prev.c: Likewise.
66203         * lib/unistr/u8-set.c: Likewise.
66204         * lib/unistr/u8-startswith.c: Likewise.
66205         * lib/unistr/u8-stpcpy.c: Likewise.
66206         * lib/unistr/u8-stpncpy.c: Likewise.
66207         * lib/unistr/u8-strcat.c: Likewise.
66208         * lib/unistr/u8-strchr.c: Likewise.
66209         * lib/unistr/u8-strcmp.c: Likewise.
66210         * lib/unistr/u8-strcpy.c: Likewise.
66211         * lib/unistr/u8-strcspn.c: Likewise.
66212         * lib/unistr/u8-strdup.c: Likewise.
66213         * lib/unistr/u8-strlen.c: Likewise.
66214         * lib/unistr/u8-strmblen.c: Likewise.
66215         * lib/unistr/u8-strmbtouc.c: Likewise.
66216         * lib/unistr/u8-strncat.c: Likewise.
66217         * lib/unistr/u8-strncmp.c: Likewise.
66218         * lib/unistr/u8-strncpy.c: Likewise.
66219         * lib/unistr/u8-strnlen.c: Likewise.
66220         * lib/unistr/u8-strpbrk.c: Likewise.
66221         * lib/unistr/u8-strrchr.c: Likewise.
66222         * lib/unistr/u8-strspn.c: Likewise.
66223         * lib/unistr/u8-strstr.c: Likewise.
66224         * lib/unistr/u8-strtok.c: Likewise.
66225         * lib/unistr/u8-to-u16.c: Likewise.
66226         * lib/unistr/u8-to-u32.c: Likewise.
66227         * lib/unistr/u8-uctomb-aux.c: Likewise.
66228         * lib/unistr/u8-uctomb.c: Likewise.
66229         * lib/unitypes.h: Likewise.
66230         * lib/uniwidth.h: Likewise.
66231         * lib/uniwidth/cjk.h: Likewise.
66232         * lib/uniwidth/u16-strwidth.c: Likewise.
66233         * lib/uniwidth/u16-width.c: Likewise.
66234         * lib/uniwidth/u32-strwidth.c: Likewise.
66235         * lib/uniwidth/u32-width.c: Likewise.
66236         * lib/uniwidth/u8-strwidth.c: Likewise.
66237         * lib/uniwidth/u8-width.c: Likewise.
66238         * lib/uniwidth/width.c: Likewise.
66239
66240 2007-10-07  Bruno Haible  <bruno@clisp.org>
66241
66242         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
66243         The file is still under LGPL (see modules/inttypes).
66244
66245 2007-10-06  Bruno Haible  <bruno@clisp.org>
66246
66247         * modules/trunc (Dependencies): Add 'extensions'.
66248         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
66249         Reported by Ben Pfaff <blp@gnu.org>.
66250
66251 2007-10-06  Bruno Haible  <bruno@clisp.org>
66252
66253         * modules/freopen-tests: New file.
66254         * tests/test-freopen.c: New file.
66255
66256         * modules/fopen-tests: New file.
66257         * tests/test-fopen.c: New file.
66258
66259         * modules/fopen: New file.
66260         * lib/fopen.c: New file.
66261         * m4/fopen.m4: New file.
66262         * modules/freopen: New file.
66263         * lib/freopen.c: New file.
66264         * m4/freopen.m4: New file.
66265         * lib/stdio.in.h (fopen, freopen): New declarations.
66266         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
66267         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66268         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
66269         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66270         * doc/functions/fopen.texi: Mention the 'fopen' module.
66271         * doc/functions/freopen.texi: Mention the 'freopen' module.
66272
66273 2007-10-06  Bruno Haible  <bruno@clisp.org>
66274
66275         * modules/open-tests: New file.
66276         * tests/test-open.c: New file.
66277
66278         * modules/open: New file.
66279         * lib/open.c: New file.
66280         * m4/open.m4: New file.
66281         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
66282         lib/open.c does.
66283         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
66284         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
66285         macros.
66286         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
66287         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
66288         REPLACE_OPEN.
66289         * doc/functions/open.texi: Mention the 'open' module.
66290
66291 2007-10-04  Bruno Haible  <bruno@clisp.org>
66292
66293         * modules/ceill-tests: New file.
66294         * tests/test-ceill.c: New file.
66295
66296         * modules/ceill: New file.
66297         * lib/ceill.c: Replace entire file.
66298         * m4/ceill.m4: New file.
66299         * lib/math.in.h (ceill): Replace declaration.
66300         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
66301         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
66302         * doc/functions/ceill.texi: Mention the 'ceill' module.
66303         * modules/mathl (Files): Remove lib/ceill.c.
66304         (Depends-on): Add ceill.
66305
66306 2007-10-04  Bruno Haible  <bruno@clisp.org>
66307
66308         * modules/ceilf-tests: New file.
66309         * tests/test-ceilf.c: New file.
66310
66311         * modules/ceilf: New file.
66312         * lib/ceil.c: New file.
66313         * lib/ceilf.c: New file.
66314         * m4/ceilf.m4: New file.
66315         * lib/math.in.h (ceilf): New declaration.
66316         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
66317         HAVE_DECL_CEILF.
66318         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
66319         HAVE_DECL_CEILF.
66320         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
66321
66322 2007-10-04  Bruno Haible  <bruno@clisp.org>
66323
66324         * modules/floorl-tests: New file.
66325         * tests/test-floorl.c: New file.
66326
66327         * modules/floorl: New file.
66328         * lib/floorl.c: Replace entire file.
66329         * m4/floorl.m4: New file.
66330         * lib/math.in.h (floorl): Replace declaration.
66331         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
66332         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
66333         * doc/functions/floorl.texi: Mention the 'floorl' module.
66334         * modules/mathl (Files): Remove lib/floorl.c.
66335         (Depends-on): Add floorl.
66336
66337 2007-10-04  Bruno Haible  <bruno@clisp.org>
66338
66339         * modules/floorf-tests: New file.
66340         * tests/test-floorf.c: New file.
66341
66342         * modules/floorf: New file.
66343         * lib/floor.c: New file.
66344         * lib/floorf.c: New file.
66345         * m4/floorf.m4: New file.
66346         * lib/math.in.h (floorf): New declaration.
66347         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
66348         HAVE_DECL_FLOORF.
66349         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
66350         HAVE_DECL_FLOORF.
66351         * doc/functions/floorf.texi: Mention the 'floorf' module.
66352
66353 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
66354             Bruno Haible  <bruno@clisp.org>
66355
66356         Advertise for the Git server instead of the CVS server.
66357         * doc/gnulib-intro.texi (Steady Development): Mention the Git
66358         repository instead of the CVS one.
66359         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
66360         about all VCS systems generically.
66361         * doc/gnulib.texi (Introduction): Capitalize `Git'.
66362
66363 2007-10-04  Bruno Haible  <bruno@clisp.org>
66364
66365         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
66366         means.
66367         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
66368
66369 2007-10-04  Bruno Haible  <bruno@clisp.org>
66370
66371         * modules/truncl-tests: New file.
66372         * tests/test-truncl.c: New file.
66373
66374         * modules/truncl: New file.
66375         * lib/truncl.c: New file.
66376         * m4/truncl.m4: New file.
66377         * lib/math.in.h (truncl): New declaration.
66378         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
66379         HAVE_DECL_TRUNCL.
66380         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
66381         HAVE_DECL_TRUNCL.
66382         * doc/functions/truncl.texi: Mention the 'truncl' module.
66383
66384 2007-10-04  Bruno Haible  <bruno@clisp.org>
66385
66386         * modules/truncf-tests: New file.
66387         * tests/test-truncf.c: New file.
66388
66389         * modules/truncf: New file.
66390         * lib/trunc.c: Make paramerizable through USE_* macros.
66391         * lib/truncf.c: New file.
66392         * m4/truncf.m4: New file.
66393         * lib/math.in.h (truncf): New declaration.
66394         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
66395         HAVE_DECL_TRUNCF.
66396         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
66397         HAVE_DECL_TRUNCF.
66398         * doc/functions/truncf.texi: Mention the 'truncf' module.
66399
66400 2007-10-03  Bruno Haible  <bruno@clisp.org>
66401
66402         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
66403         augmentation also for tests modules.
66404         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
66405         * modules/atexit-tests (Makefile.am): Likewise.
66406         * modules/binary-io-tests (Makefile.am): Likewise.
66407         * modules/c-strcase-tests (Makefile.am): Likewise.
66408         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
66409         * modules/canonicalize-tests (Makefile.am): Likewise.
66410         * modules/closein-tests (Makefile.am): Likewise.
66411         * modules/fprintf-posix-tests (Makefile.am): Likewise.
66412         * modules/freadahead-tests (Makefile.am): Likewise.
66413         * modules/fseek-tests (Makefile.am): Likewise.
66414         * modules/fseeko-tests (Makefile.am): Likewise.
66415         * modules/ftell-tests (Makefile.am): Likewise.
66416         * modules/ftello-tests (Makefile.am): Likewise.
66417         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
66418         * modules/isnanl-tests (Makefile.am): Likewise.
66419         * modules/lseek-tests (Makefile.am): Likewise.
66420         * modules/mbscasecmp-tests (Makefile.am): Likewise.
66421         * modules/mbscasestr-tests (Makefile.am): Likewise.
66422         * modules/mbschr-tests (Makefile.am): Likewise.
66423         * modules/mbscspn-tests (Makefile.am): Likewise.
66424         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
66425         * modules/mbspbrk-tests (Makefile.am): Likewise.
66426         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
66427         * modules/mbsrchr-tests (Makefile.am): Likewise.
66428         * modules/mbsspn-tests (Makefile.am): Likewise.
66429         * modules/mbsstr-tests (Makefile.am): Likewise.
66430         * modules/printf-posix-tests (Makefile.am): Likewise.
66431         * modules/snprintf-posix-tests (Makefile.am): Likewise.
66432         * modules/sprintf-posix-tests (Makefile.am): Likewise.
66433         * modules/tsearch-tests (Makefile.am): Likewise.
66434         * modules/uniname/uniname-tests (Makefile.am): Likewise.
66435         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
66436         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
66437         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
66438         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
66439         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
66440         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
66441         * modules/vprintf-posix-tests (Makefile.am): Likewise.
66442         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
66443         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
66444         * modules/xstrtoimax-tests (Makefile.am): Likewise.
66445         * modules/xstrtol-tests (Makefile.am): Likewise.
66446         * modules/xstrtoumax-tests (Makefile.am): Likewise.
66447         * modules/yesno-tests (Makefile.am): Likewise.
66448
66449 2007-10-03  Bruno Haible  <bruno@clisp.org>
66450
66451         * modules/trunc-tests: New file.
66452         * tests/test-trunc.c: New file.
66453
66454         * modules/trunc: New file.
66455         * lib/trunc.c: New file.
66456         * m4/trunc.m4: New file.
66457         * lib/math.in.h (trunc): New declaration.
66458         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
66459         HAVE_DECL_TRUNC.
66460         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
66461         HAVE_DECL_TRUNC.
66462         * doc/functions/trunc.texi: Mention the 'trunc' module.
66463
66464 2007-10-03  Bruno Haible  <bruno@clisp.org>
66465
66466         * tests/test-fpending.c: New file, mostly copied
66467         from coreutils/lib/t-fpending.c.
66468         * modules/fpending-tests: New file.
66469
66470 2007-10-03  Bruno Haible  <bruno@clisp.org>
66471
66472         Port the stdio extensions to QNX (untested).
66473         * lib/fseterr.c (fseterr): Add support for QNX.
66474         * lib/fbufmode.c (fbufmode): Likewise.
66475         * lib/freadable.c (freadable): Likewise.
66476         * lib/fwritable.c (fwritable): Likewise.
66477         * lib/freading.c (freading): Likewise.
66478         * lib/fwriting.c (fwriting): Likewise.
66479         * lib/freadahead.c (freadahed): Likewise.
66480         * lib/fpurge.c (fpurge): Likewise.
66481         * lib/fseeko.c (rpl_fseeko): Likewise.
66482
66483 2007-10-03  Bruno Haible  <bruno@clisp.org>
66484             Jim Meyering  <jim@meyering.net>
66485             Eric Blake  <ebb9@byu.net>
66486
66487         * doc/relocatable.texi: Use @command instead of @program.
66488
66489 2007-10-02  Jim Meyering  <jim@meyering.net>
66490
66491         Perform one more "_.h" -> ".in.h" substitution.
66492         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
66493         instead of unistd_.h here, too.
66494
66495 2007-10-01  Bruno Haible  <bruno@clisp.org>
66496
66497         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
66498         Needed for the alloca-opt module.
66499
66500 2007-09-30  Bruno Haible  <bruno@clisp.org>
66501
66502         * lib/alloca.in.h: Renamed from lib/alloca_.h.
66503         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
66504         alloca_.h.
66505         * lib/argz.in.h: Renamed from lib/argz_.h.
66506         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
66507         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
66508         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
66509         byteswap_.h.
66510         * lib/dirent.in.h: Renamed from lib/dirent_.h.
66511         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
66512         dirent_.h.
66513         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
66514         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
66515         fcntl_.h.
66516         * lib/float.in.h: Renamed from lib/float_.h.
66517         * modules/float (Files, Makefile.am): Use float.in.h instead of
66518         float_.h.
66519         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
66520         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
66521         fnmatch_.h.
66522         * lib/getopt.in.h: Renamed from lib/getopt_.h.
66523         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
66524         getopt_.h.
66525         * lib/glob.in.h: Renamed from lib/glob_.h.
66526         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
66527         * lib/iconv.in.h: Renamed from lib/iconv_.h.
66528         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
66529         iconv_.h.
66530         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
66531         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
66532         inttypes_.h.
66533         * lib/locale.in.h: Renamed from lib/locale_.h.
66534         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
66535         locale_.h.
66536         * lib/math.in.h: Renamed from lib/math_.h.
66537         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
66538         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
66539         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
66540         of netinet_in_.h. Add dependency.
66541         * lib/poll.in.h: Renamed from lib/poll_.h.
66542         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
66543         * lib/search.in.h: Renamed from lib/search_.h.
66544         * modules/search (Files, Makefile.am): Use search.in.h instead of
66545         search_.h.
66546         * lib/signal.in.h: Renamed from lib/signal_.h.
66547         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
66548         _signal.h.
66549         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
66550         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
66551         stdbool_.h.
66552         * lib/stdint.in.h: Renamed from lib/stdint_.h.
66553         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
66554         stdint_.h.
66555         * lib/stdio.in.h: Renamed from lib/stdio_.h.
66556         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
66557         stdio_.h.
66558         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
66559         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
66560         stdlib_.h.
66561         * lib/string.in.h: Renamed from lib/string_.h.
66562         * modules/string (Files, Makefile.am): Use string.in.h instead of
66563         string_.h.
66564         * doc/gnulib-tool.texi (Initial import): Update.
66565         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
66566         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
66567         of sys_select_.h. Add dependency.
66568         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
66569         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
66570         of sys_socket_.h.
66571         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
66572         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
66573         sys_stat_.h.
66574         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
66575         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
66576         sys_time_.h.
66577         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
66578         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
66579         sysexits_.h.
66580         * lib/time.in.h: Renamed from lib/time_.h.
66581         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
66582         * lib/unistd.in.h: Renamed from lib/unistd_.h.
66583         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
66584         unistd_.h.
66585         * lib/wchar.in.h: Renamed from lib/wchar_.h.
66586         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
66587         wchar_.h.
66588         * lib/wctype.in.h: Renamed from lib/wctype_.h.
66589         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
66590         wctype_.h.
66591         * build-aux/bootstrap (slurp): Update.
66592         * lib/.cppi-disable: Update.
66593
66594 2007-09-30  Bruno Haible  <bruno@clisp.org>
66595
66596         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
66597         Needed on BeOS.
66598
66599 2007-09-30  Bruno Haible  <bruno@clisp.org>
66600
66601         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
66602
66603 2007-09-29  Bruno Haible  <bruno@clisp.org>
66604
66605         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
66606
66607 2007-09-29  Bruno Haible  <bruno@clisp.org>
66608
66609         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
66610         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
66611         * build-aux/install-reloc: Compile also areadlink.c.
66612         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
66613
66614 2007-09-29  Bruno Haible  <bruno@clisp.org>
66615
66616         * gnulib-tool (func_emit_initmacro_done): Indentation.
66617
66618 2007-09-29  Bruno Haible  <bruno@clisp.org>
66619
66620         * README: Add CVS checkout update instructions.
66621         Info from Bob Proulx <bob@proulx.com>.
66622
66623 2007-09-28  Eric Blake  <ebb9@byu.net>
66624
66625         Provide move-if-change.
66626         * build-aux/move-if-change: New file, based on best practice
66627         rather than any canonical upstream location.
66628
66629 2007-09-28  Jim Meyering  <jim@meyering.net>
66630
66631         Fix canonicalize loop-detection corner case.
66632         Do not attempt to stat the symlink values stored via seen_triple.
66633         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
66634         on linux-2.6.18, (but not 2.6.22).
66635         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
66636         triple_compare.  The former compares dev,ino,filename, while the latter
66637         would actually stat dirname(filename) when dev and ino were equal.
66638         * lib/hash-triple.c: Install <string.h>.
66639         (STREQ): Define.
66640         (triple_compare_ino_str): New function.
66641         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
66642
66643 2007-09-28  Eric Blake  <ebb9@byu.net>
66644
66645         Enforce that AC_REPLACE_FUNCS files exist.
66646         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
66647         override check for typos.
66648
66649         Fix test-closein on Solaris 10.
66650         * tests/test-closein.c (main): Don't assume stdin can be inherited
66651         closed on all systems.
66652         * tests/test-closein.sh: Likewise.
66653         Reported by Piotr Tarnowski.
66654
66655 2007-09-28  Jim Meyering  <jim@meyering.net>
66656
66657         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
66658
66659 2007-09-27  Jim Meyering  <jim@meyering.net>
66660
66661         canonicalize: Avoid a false-positive cycle failure.
66662         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
66663         Sort.  Remove cycle-check.
66664         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
66665         not cycle-check.h.
66666         (seen_triple): New function.
66667         (canonicalize_filename_mode): Use it instead of cycle-check.
66668         * tests/test-canonicalize.c: Add a test for this bug.
66669         * tests/test-canonicalize.sh: Set up and run the test.
66670
66671         New module, file-set, from coreutils.
66672         * modules/file-set: Define it.
66673         * lib/file-set.c, lib/file-set.h: Implement.
66674
66675         New module, hash-triple, from coreutils.
66676         * modules/hash-triple: Define it.
66677         * lib/hash-triple.c, lib/hash-triple.h: Implement.
66678
66679 2007-09-25  Eric Blake  <ebb9@byu.net>
66680
66681         Fix strerror on Interix.
66682         * lib/string_.h (strerror): Declare replacement.
66683         * doc/functions/strerror.texi (strerror): Document the Interix
66684         shortcoming.
66685         * modules/string (Makefile.am): Support new hooks.
66686         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
66687         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
66688         gl_FUNC_STRERROR_SEPARATE.
66689         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
66690         * lib/strerror.c (rpl_strerror): Provide replacement.
66691         * modules/strerror (Depends-on): Add string.
66692         (configure.ac): Detect use of module.
66693         * tests/test-strerror.c: New file.
66694         * modules/strerror-tests: New test module.
66695         * modules/argp (Depends-on): Add strerror.
66696         * modules/error (Depends-on): Likewise.
66697         Reported by Martin Koeppe.
66698
66699 2007-09-24  Bruno Haible  <bruno@clisp.org>
66700
66701         * README: Update git instructions.
66702
66703 2007-09-24  Eric Blake  <ebb9@byu.net>
66704
66705         Revert fpending breakage from 2007-09-08.
66706         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
66707         __fpending.c.
66708
66709 2007-09-24  Jim Meyering  <jim@meyering.net>
66710
66711         filenamecat.c: Add a test.
66712         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
66713         showing how the function works when DIR is the empty string.
66714
66715 2007-09-21  Simon Josefsson  <simon@josefsson.org>
66716
66717         * tests/test-canonicalize.sh: Turn on executable bit.
66718
66719 2007-09-19  Eric Blake  <ebb9@byu.net>
66720
66721         * README: Update CVS instructions.
66722
66723 2007-09-18  Bruno Haible  <bruno@clisp.org>
66724
66725         * modules/areadlink: New file.
66726         * lib/areadlink.h (areadlink): New declaration.
66727         * lib/areadlink.c: New file, based on lib/xreadlink.c.
66728
66729 2007-09-17  Jim Meyering  <jim@meyering.net>
66730
66731         * lib/savewd.c (ESTALE) [!defined]: Define.
66732         Reported to be required on Interix by Martin Koeppe.
66733
66734 2007-09-17  Bruno Haible  <bruno@clisp.org>
66735
66736         * gnulib-tool (func_version): Use $version.
66737
66738 2007-09-16  Bruno Haible  <bruno@clisp.org>
66739
66740         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
66741         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
66742         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
66743         Reported by Greg Schafer <gschafer@zip.com.au>.
66744
66745 2007-09-15  Bruno Haible  <bruno@clisp.org>
66746
66747         * gnulib-tool (sed): Try a little harder to make bash understand the
66748         alias.
66749         Reported by Bruce Korb <bruce.korb@gmail.com>.
66750
66751 2007-09-13  Eric Blake  <ebb9@byu.net>
66752
66753         * ChangeLog: Remove conflict markers.
66754
66755 2007-09-13  Simon Josefsson  <simon@josefsson.org>
66756
66757         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
66758         Reported by Bruno Haible <bruno@clisp.org>.
66759
66760 2007-09-12  Bruno Haible  <bruno@clisp.org>
66761
66762         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
66763         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
66764         is not defined.
66765
66766 2007-09-12  Eric Blake  <ebb9@byu.net>
66767
66768         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
66769         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
66770         Autoconf definition.
66771         * modules/euidaccess (Depends-on): Add extensions, for
66772         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
66773         * modules/fnmatch (Depends-on): Likewise.
66774         * modules/getaddrinfo (Depends-on): Likewise.
66775         * modules/getdelim (Depends-on): Likewise.
66776         * modules/getline (Depends-on): Likewise.
66777         * modules/getsubopt (Depends-on): Likewise.
66778         * modules/gettext (Depends-on): Likewise.
66779         * modules/group-member (Depends-on): Likewise.
66780         * modules/mbchar (Depends-on): Likewise.
66781         * modules/memmem (Depends-on): Likewise.
66782         * modules/mempcpy (Depends-on): Likewise.
66783         * modules/memrchr (Depends-on): Likewise.
66784         * modules/pagealign_alloc (Depends-on): Likewise.
66785         * modules/readutmp (Depends-on): Likewise.
66786         * modules/stpcpy (Depends-on): Likewise.
66787         * modules/stpncpy (Depends-on): Likewise.
66788         * modules/strchrnul (Depends-on): Likewise.
66789         * modules/strndup (Depends-on): Likewise.
66790         * modules/strsep (Depends-on): Likewise.
66791         * modules/strverscmp (Depends-on): Likewise.
66792         * modules/vasprintf (Depends-on): Likewise.
66793         * modules/wcwidth (Depends-on): Likewise.
66794         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
66795         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
66796         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
66797         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
66798         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
66799         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
66800         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
66801         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
66802         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
66803         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
66804         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
66805         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
66806         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
66807         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
66808         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
66809         * m4/readutmp.m4 (gl_READUTMP): Likewise.
66810         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
66811         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
66812         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66813         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
66814         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
66815         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
66816         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
66817         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
66818         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
66819         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
66820         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
66821         so that lock.m4 can be used in gettext without extensions module.
66822
66823 2007-09-11  Bruno Haible  <bruno@clisp.org>
66824
66825         * m4/isc-posix.m4: Remove file.
66826         Suggested by Eric Blake.
66827
66828 2007-09-11  Eric Blake  <ebb9@byu.net>
66829
66830         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
66831
66832 2007-09-10  Bruno Haible  <bruno@clisp.org>
66833
66834         * posix-modules: Fix typo in error message.
66835         Reported by Matt <mkraai@beckman.com>.
66836
66837 2007-09-09  Bruno Haible  <bruno@clisp.org>
66838
66839         * doc/functions/getdelim.texi: Update list of platforms lacking the
66840         function.
66841         * doc/functions/getline.texi: Likewise.
66842
66843 2007-09-09  Jim Meyering  <jim@meyering.net>
66844
66845         * lib/hash.c (hash_initialize): Detect calloc failure.
66846         Reported by Bruno Haible.
66847
66848 2007-09-09  Bruno Haible  <bruno@clisp.org>
66849
66850         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
66851         malloc or realloc fails.
66852
66853 2007-09-09  Bruno Haible  <bruno@clisp.org>
66854
66855         * modules/getcwd (Depends-on): Add malloc-posix.
66856         * modules/glob (Depends-on): Likewise.
66857         * modules/putenv (Depends-on): Likewise.
66858         * modules/strdup (Depends-on): Likewise.
66859         * modules/getdelim (Depends-on): Add realloc-posix.
66860         * modules/read-file (Depends-on): Likewise.
66861
66862 2007-09-09  Bruno Haible  <bruno@clisp.org>
66863
66864         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
66865         (gl_FUNC_MALLOC_POSIX): Require it.
66866         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
66867         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
66868         * modules/realloc (Files): Add m4/malloc.m4.
66869         * modules/calloc (Files): Likewise.
66870
66871 2007-09-09  Bruno Haible  <bruno@clisp.org>
66872
66873         * modules/malloc-posix: New file.
66874         * modules/malloc (Depends-on): Add malloc-posix.
66875         * lib/malloc.c: Include errno.h.
66876         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
66877         and a POSIX-compatible malloc into a single function. Set ENOMEM
66878         when returning NULL.
66879         * m4/malloc.m4: New file.
66880         * doc/functions/malloc.texi: Mention the malloc-posix module.
66881         * lib/stdlib_.h (malloc): New declaration.
66882         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66883         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
66884         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
66885         and HAVE_MALLOC_POSIX.
66886
66887 2007-09-09  Bruno Haible  <bruno@clisp.org>
66888
66889         * modules/realloc-posix: New file.
66890         * modules/realloc (Depends-on): Add realloc-posix.
66891         * lib/realloc.c: Include errno.h.
66892         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
66893         and a POSIX-compatible realloc into a single function. Set ENOMEM
66894         when returning NULL.
66895         * m4/realloc.m4: New file.
66896         * doc/functions/realloc.texi: Mention the realloc-posix module.
66897         * lib/stdlib_.h (realloc): New declaration.
66898         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66899         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
66900         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
66901         and HAVE_REALLOC_POSIX.
66902
66903 2007-09-09  Bruno Haible  <bruno@clisp.org>
66904
66905         * modules/calloc-posix: New file.
66906         * modules/calloc (Depends-on): Add calloc-posix.
66907         * lib/calloc.c: Include errno.h.
66908         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
66909         and a POSIX-compatible calloc into a single function. Set ENOMEM
66910         when returning NULL.
66911         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
66912         * doc/functions/calloc.texi: Mention the calloc-posix module.
66913         * lib/stdlib_.h (calloc): New declaration.
66914         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66915         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
66916         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
66917         and HAVE_CALLOC_POSIX.
66918
66919 2007-09-09  Bruno Haible  <bruno@clisp.org>
66920
66921         Allow for modules to show an arbitrary notice.
66922         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
66923         * gnulib-tool: New option --extract-notice.
66924         (func_usage): Document it.
66925         (sed_extract_prog): Update.
66926         (func_get_notice): New function.
66927         (func_modules_notice): New function.
66928         (func_import, func_create_testdir): Invoke it.
66929         Suggested by Jim Meyering.
66930
66931 2007-09-09  Bruno Haible  <bruno@clisp.org>
66932
66933         * gnulib-tool: New options --verbose, --quiet.
66934         (func_usage): Document them.
66935         (verbose): New variable.
66936         (func_execute_command): New function.
66937         (func_import): Don't show the module list and the file list if
66938         $verbose < 0.
66939         (func_create_testdir): Likewise. Use func_execute_command.
66940         (func_create_megatestdir): Use func_execute_command.
66941
66942 2007-09-08  Bruno Haible  <bruno@clisp.org>
66943
66944         * gnulib-tool (func_import): Prefer rsync over wget when available,
66945         for fetching the PO files.
66946
66947 2007-09-08  Bruno Haible  <bruno@clisp.org>
66948
66949         * posix-modules: New file. Portions copied from gnulib-tool.
66950         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
66951
66952 2007-09-08  Jim Meyering  <jim@meyering.net>
66953
66954         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
66955         * lib/fpending.h: Rename from __fpending.h.
66956         * lib/fpending.c: Rename from __fpending.c.
66957         Include "fpending.h", not "__fpending.h".
66958         * lib/__fpending.h, lib/__fpending.c: Remove files.
66959         * modules/fpending (Files): Reflect new file names.
66960         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
66961
66962 2007-09-08  Bruno Haible  <bruno@clisp.org>
66963
66964         * m4/inttypes-h.m4: Remove stub file.
66965
66966 2007-09-07  Simon Josefsson  <simon@josefsson.org>
66967
66968         * doc/headers/stdint.texi: Discuss #include_next issue.
66969
66970 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
66971
66972         * build-aux/bootstrap: Remove obsolete comment about wget --help.
66973
66974 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66975
66976         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
66977         in variable name.
66978
66979 2007-09-03  Jim Meyering  <jim@meyering.net>
66980
66981         New module: git-version-gen.
66982         * modules/git-version-gen: New file.
66983
66984         Import changes from coreutils for bootstrap script.
66985
66986         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
66987
66988         bootstrap: uses rsync to download the .po files
66989         * build-aux/bootstrap (po_download_command_format): New global.
66990         (download_po_files): Use rsync.
66991         (update_po_files): Don't remove .po files after download,
66992         so future rsync runs can take advantage of the copies.
66993
66994         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
66995
66996         Solve the unnecessary-.po-file-regeneration problem once and for all.
66997         * build-aux/bootstrap (download_po_files): New function, renamed from
66998         get_translations.  Now, downloads, but doesn't update LINGUAS.
66999         (update_po_files): New function.
67000
67001         bootstrap: Ignore more.
67002         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
67003         uniwidth to e.g., lib/.gitignore.
67004         (slurp): Handle the sys_stat_.h -> sys mapping, too.
67005
67006         * build-aux/bootstrap: New setting: vc_ignore.
67007         (insert_sorted_if_absent): Create $file if absent.
67008         Adapt to new, possibly empty, list: $vc_ignore.
67009
67010         bootstrap: generate more ignorable names
67011         * build-aux/bootstrap (slurp): When generating ignorable names,
67012         also map .sin to .sed, .gperf to .c, and .y to .c.
67013
67014 2007-09-03  Jim Meyering  <jim@meyering.net>
67015
67016         * build-aux/git-version-gen: New file, from coreutils.  For details, see
67017         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
67018
67019 2007-09-02  Bruno Haible  <bruno@clisp.org>
67020
67021         Fix mis-recognition of 'mcs' on QNX 6.
67022         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
67023         output contains the string "Mono".
67024         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
67025         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
67026
67027 2007-09-01  Bruno Haible  <bruno@clisp.org>
67028
67029         Fix collision between uniwidth/* and linebreak modules.
67030         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
67031         u32_width): Remove declarations.
67032         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
67033         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
67034         streq3, streq2, streq1, streq0): Remove functions.
67035         (STREQ): Remove macro.
67036         (is_cjk_encoding): Remove function.
67037         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
67038         (uc_width, u8_width, u16_width, u32_width): Remove functions.
67039         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
67040         * NEWS: Document the change.
67041
67042 2007-09-01  Bruno Haible  <bruno@clisp.org>
67043
67044         * lib/streq.h: Add double-inclusion guard.
67045
67046 2007-09-01  Karl Berry  <karl@gnu.org>
67047
67048         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
67049
67050 2007-08-28  Jim Meyering  <jim@meyering.net>
67051
67052         Rename mreadlink_with_size to areadlink_with_size.
67053         * NEWS: Document the change.
67054         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
67055         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
67056         * lib/mreadlink.h: Rename this to...
67057         * lib/areadlink.h: ...this.
67058         * modules/mreadlink-with-size: Rename this to...
67059         * modules/areadlink-with-size: ...this.
67060         * lib/canonicalize.c: Reflect the renaming.
67061         * modules/canonicalize: Likewise.
67062
67063 2007-08-26  Bruno Haible  <bruno@clisp.org>
67064
67065         * gnulib-tool (func_import): When deciding which files to remove,
67066         consider also dangling symbolic links.
67067         Reported by Eric Blake.
67068
67069 2007-08-26  Bruno Haible  <bruno@clisp.org>
67070
67071         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
67072
67073 2007-08-23  Simon Josefsson  <simon@josefsson.org>
67074
67075         * lib/readline.c: Don't include getline.h, the prototype is now
67076         found in stdio.h.
67077
67078 2007-08-23  Jim Meyering  <jim@meyering.net>
67079
67080         Getdelim touchup.
67081         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
67082         around the funlockfile call, since funlockfile never sets errno.
67083         Don't set errno upon failed realloc.
67084
67085 2007-08-22  Eric Blake  <ebb9@byu.net>
67086
67087         Getline touchups.
67088         * lib/getdelim.c (getdelim): Revert regression that required *n to
67089         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
67090         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
67091         getdelim, rather than whether implementation is missing.
67092         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
67093         * lib/stdio_.h (getline): Also declare if replacement is
67094         required.
67095         * doc/functions/getdelim.texi: New file.
67096         * doc/functions/getline.texi: Likewise.
67097         * doc/gnulib.texi (Function Substitutes): Add new files.
67098         Reported by Bruno Haible.
67099
67100 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
67101
67102         * users.txt: Add Guile.
67103
67104 2007-08-22  Eric Blake  <ebb9@byu.net>
67105
67106         * tests/test-getdelim.c (main): Use remove, not unlink.
67107         * tests/test-getline.c (main): Likewise.
67108
67109         Move getline and getdelim into stdio.h, per POSIX 200x.
67110         * modules/getline (Files): Remove getline.h.
67111         (Depends-on): Add stdio.
67112         (configure.ac): Add module indicator.
67113         * modules/getdelim (Files): Remove getdelim.h.
67114         (Depends-on): Add stdio.
67115         (configure.ac): Add module indicator.
67116         * modules/stdio (Makefile.am): Work with new indicators.
67117         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
67118         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
67119         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
67120         * lib/getdelim.h: Delete.
67121         * lib/getline.h: Delete.
67122         * lib/stdio_.h (getdelim, getline): Declare.
67123         * modules/getdelim-tests: New module.
67124         * modules/getline-tests: Likewise.
67125         * tests/test-getdelim.c: New file.
67126         * tests/test-getline.c: Likewise.
67127         * NEWS: Document the change.
67128         * lib/getline.c: Update choice of header.
67129         * lib/csharpcomp.c: Likewise.
67130         * lib/getpass.c: Likewise.
67131         * lib/javacomp.c: Likewise.
67132         * lib/javaversion.c: Likewise.
67133         * lib/yesno.c: Likewise.
67134         * lib/getdelim.c: Likewise.
67135         (getdelim): Set errno on failure, and avoid memory leak.
67136
67137 2007-08-19  Bruno Haible  <bruno@clisp.org>
67138
67139         * modules/closein (Depends-on): Add freadahead.
67140         * lib/closein.c: Include freadahead.h.
67141         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
67142         is zero.
67143
67144 2007-08-19  Bruno Haible  <bruno@clisp.org>
67145
67146         * modules/freadahead-tests: New file.
67147         * tests/test-freadahead.sh: New file.
67148         * tests/test-freadahead.c: New file.
67149
67150         * modules/freadahead: New file.
67151         * lib/freadahead.h: New file.
67152         * lib/freadahead.c: New file.
67153         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
67154         fbufmode, fpurge, freadable, fwritable.
67155
67156 2007-08-19  Eric Blake  <ebb9@byu.net>
67157
67158         Test yesno in combination with closein.
67159         * lib/yesno.c (yesno): Document use of stdin.
67160         * modules/yesno-tests (Files): New module.
67161         * tests/test-yesno.c (main): New file.
67162         * tests/test-yesno.sh: Likewise.
67163
67164 2007-08-19  Bruno Haible  <bruno@clisp.org>
67165
67166         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
67167         * lib/fseeko.c (rpl_fseeko): Likewise.
67168         * lib/fseterr.c (fseterr): Likewise.
67169
67170 2007-08-19  Bruno Haible  <bruno@clisp.org>
67171
67172         * tests/test-lseek.c (main): Disable a test for BeOS.
67173         * doc/functions/lseek.texi: Document the BeOS bug.
67174
67175 2007-08-19  Bruno Haible  <bruno@clisp.org>
67176             Eric Blake  <ebb9@byu.net>
67177
67178         * lib/lseek.c: Include <sys/stat.h>.
67179         (rpl_lseek): Add workaround code also for Unix platforms.
67180         Needed for BeOS.
67181         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
67182         * doc/functions/lseek.texi: Document BeOS definiency.
67183
67184 2007-08-18  Bruno Haible  <bruno@clisp.org>
67185
67186         * modules/fstrcmp-tests: New file.
67187         * tests/test-fstrcmp.c: New file.
67188
67189 2007-08-18  Bruno Haible  <bruno@clisp.org>
67190
67191         * modules/fstrcmp: New file, from GNU gettext with modifications.
67192         * lib/fstrcmp.h: New file, from GNU gettext.
67193         * lib/fstrcmp.c: New file, from GNU gettext.
67194         * MODULES.html.sh (String handling): Add fstrcmp.
67195
67196 2007-08-18  Bruno Haible  <bruno@clisp.org>
67197
67198         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
67199         'bool'.
67200         (diag, compareseq): Remove const from the ctxt argument.
67201         (USE_HEURISTIC): Undefine at the end.
67202
67203 2007-08-18  Jim Meyering  <jim@meyering.net>
67204
67205         New file: lib/idcache.h
67206         * NEWS: Mention the addition.
67207         * modules/idcache (Files): Add lib/idcache.h
67208         * lib/idcache.c: Include "idcache.h".
67209         Don't include <sys/types.h>.
67210         Add a FIXME comment.
67211         Move file-scoped "static" declarations to the top.
67212         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
67213
67214 2007-08-17  Bruno Haible  <bruno@clisp.org>
67215         and Paul Eggert  <eggert@cs.ucla.edu>
67216
67217         * MODULES.html.sh: Add diffseq.
67218         * modules/diffseq: New file.
67219         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
67220         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
67221
67222 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67223
67224         Import changes from coreutils for bootstrap script.
67225
67226         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
67227
67228         * build-aux/bootstrap (slurp): Work even in environments where
67229         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
67230         current code does not slurp files whose names start with ".", and
67231         this looks like it might be a troublesome area.
67232
67233         2007-07-11  Jim Meyering  <jim@meyering.net>
67234
67235         If there's a GPL vN copyright comment, require that N == 3.
67236
67237         2007-07-08  Jim Meyering  <jim@meyering.net>
67238
67239         Run the coreutils-specific code only if tests/Makefile.am.in exists.
67240         * build-aux/bootstrap (mam_template): Move definition out of loop.
67241
67242         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
67243
67244         * build-aux/bootstrap (symlink_to_dir): Rename function from
67245         symlink_to_gnulib.  Add a directory parameter.  Update all
67246         callers.
67247         (cp_mark_as_generated): Also check for -- and link to -- files in
67248         gl/.
67249
67250         2007-07-08  Jim Meyering  <jim@meyering.net>
67251
67252         Adapt to deeper hierarchy in gnulib.
67253         * build-aux/bootstrap (symlink_to_dir): If the destination
67254         directory doesn't exist, create it. This is required at least for
67255         "lib/uniwidth/cjk.h".
67256
67257         2007-05-15  Jim Meyering  <jim@meyering.net>
67258
67259         * build-aux/bootstrap: Now that generated Makefile.am files
67260         are no longer under version control, they must be created at
67261         bootstrap time.
67262
67263 2007-08-14  Ben Pfaff  <blp@gnu.org>
67264
67265         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
67266
67267 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
67268
67269         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
67270         given the changes below.
67271         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
67272         even on hosts that have padding bits beyond the supported 64.
67273
67274 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
67275
67276         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
67277         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
67278         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
67279         depends on it.
67280         (xstrtol_error): Remove.
67281         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
67282         but with a different signature.
67283         (ATTRIBUTE_NORETURN, __attribute__): New macros.
67284         * lib/xstrtol-error.c: Include exitfail.h.
67285         (xstrtol_fatal): New function, with a different signature from the
67286         old xstrtol_error, so that the caller need not worry about passing
67287         in an exit status, or about storage management of the option argument.
67288         (xstrtol_error): Now a static function.  Redo signature to
67289         implement xstrtol_fatal.  Output the correct number of hyphens in
67290         front of the option so that the caller need not worry about
67291         storage management.
67292         (N_): New macro.
67293         (_): Remove; not used now.
67294         * modules/xstrtol: Depend on getopt.
67295         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
67296         of old STRTOL_FATAL_ERROR macro.
67297         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
67298         of test program.
67299         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
67300         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
67301
67302 2007-08-08  Eric Blake  <ebb9@byu.net>
67303
67304         * lib/xstrtol-error.c: Add missing include.
67305
67306         Move xstrtol messages into gnulib domain, when --pobase is used.
67307         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
67308         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
67309         * modules/xstrtol (Files): Distribute new file.
67310         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
67311         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
67312         * tests/test-xstrtol.c: ...into new file.
67313         * tests/test-xstrtoul.c: Also test xstrtoul.
67314         * tests/test-xstrtoimax.c: Also test xstrtoimax.
67315         * tests/test-xstrtoumax.c: Also test xstrtoumax.
67316         * tests/test-xstrtol.sh: Drive the tests.
67317         * tests/test-xstrtoimax.sh: Likewise.
67318         * tests/test-xstrtoumax.sh: Likewise.
67319         * modules/xstrtol-tests: New module.
67320         * modules/xstrtoimax-tests: Likewise.
67321         * modules/xstrtoumax-tests: Likewise.
67322
67323 2007-08-08  Jim Meyering  <jim@meyering.net>
67324
67325         New function: mfile_name_concat.
67326         * lib/filenamecat.c (mfile_name_concat): New function, just like
67327         file_name_concat, but return NULL upon failure rather than exiting
67328         with a diagnostic.
67329         * lib/filenamecat.h: Declare it.
67330
67331 2007-08-07  Bruno Haible  <bruno@clisp.org>
67332
67333         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
67334         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
67335         warning from gcc.
67336         Reported by Eric Blake.
67337
67338 2007-08-07  Simon Josefsson  <simon@josefsson.org>
67339
67340         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
67341         * modules/crypto/arcfour (License): Likewise.
67342         * modules/crypto/des-tests (License): Likewise.
67343         * modules/crypto/gc-arctwo-tests (License): Likewise.
67344         * modules/crypto/gc-des-tests (License): Likewise.
67345         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
67346         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
67347         * modules/crypto/gc-md2-tests (License): Likewise.
67348         * modules/crypto/gc-md4-tests (License): Likewise.
67349         * modules/crypto/gc-md5-tests (License): Likewise.
67350         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
67351         * modules/crypto/gc-rijndael-tests (License): Likewise.
67352         * modules/crypto/gc-sha1-tests (License): Likewise.
67353         * modules/crypto/gc-tests (License): Likewise.
67354         * modules/crypto/hmac-md5 (License): Likewise.
67355         * modules/crypto/hmac-sha1 (License): Likewise.
67356         * modules/crypto/md2-tests (License): Likewise.
67357         * modules/crypto/md4-tests (License): Likewise.
67358         * modules/crypto/md5 (License): Likewise.
67359         * modules/crypto/rijndael (License): Likewise.
67360         * modules/crypto/sha1 (License): Likewise.
67361         * modules/memxor (License): Likewise.
67362
67363 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67364         and Bruno Haible  <bruno@clisp.org>
67365
67366         * NEWS: Describe interface changes to human, xstrtol.
67367         * lib/human.h: Include <xstrtol.h>.
67368         (human_options): Return enum strtol_error, not int.  Remove
67369         bool arg; take int * instead.
67370         * lib/human.c: Don't include "gettext.h".
67371         (_): Remove; no longer used.
67372         Don't include <xstrtol.h>, since human.h does it.
67373         (human_options): Adjust to abovementioned interface changes.
67374         Do not report error to stderr; that's now the caller's
67375         responsibility.
67376         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
67377         interface change.
67378         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
67379         Str, Argument_type_string.  All uses changed.  Put " argument"
67380         in diagnostics to make them clearer.  Change wording of suffix
67381         message for clarity.
67382         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
67383         Argument_type_string.
67384         (STRTOL_FATAL_WARN): Remove; no longer used.
67385         * modules/human (Depends-on): Remove gettext-h.
67386
67387 2007-08-06  Simon Josefsson  <simon@josefsson.org>
67388
67389         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
67390
67391 2007-07-31  Bruno Haible  <bruno@clisp.org>
67392
67393         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
67394         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
67395         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
67396
67397 2007-07-31  Bruno Haible  <bruno@clisp.org>
67398
67399         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
67400         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
67401
67402 2007-07-30  Bruno Haible  <bruno@clisp.org>
67403
67404         * modules/base64 (License): Use the synonymous term "LGPLv2+".
67405         * modules/c-ctype (License): Likewise.
67406         * modules/c-strcase (License): Likewise.
67407         * modules/check-version (License): Likewise.
67408         * modules/iconv (License): Likewise.
67409         * modules/iconv_open (License): Likewise.
67410         * modules/read-file (License): Likewise.
67411         * modules/striconv (License): Likewise.
67412         * modules/strverscmp (License): Likewise.
67413         * modules/vasprintf (License): Likewise.
67414         * modules/crypto/des (License): Likewise.
67415         * modules/crypto/gc (License): Likewise.
67416         * modules/crypto/gc-arcfour (License): Likewise.
67417         * modules/crypto/gc-arctwo (License): Likewise.
67418         * modules/crypto/gc-des (License): Likewise.
67419         * modules/crypto/gc-hmac-md5 (License): Likewise.
67420         * modules/crypto/gc-hmac-sha1 (License): Likewise.
67421         * modules/crypto/gc-md2 (License): Likewise.
67422         * modules/crypto/gc-md4 (License): Likewise.
67423         * modules/crypto/gc-md5 (License): Likewise.
67424         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
67425         * modules/crypto/gc-random (License): Likewise.
67426         * modules/crypto/gc-rijndael (License): Likewise.
67427         * modules/crypto/gc-sha1 (License): Likewise.
67428         * modules/crypto/md2 (License): Likewise.
67429         * modules/crypto/md4 (License): Likewise.
67430
67431 2007-07-30  Jim Meyering  <jim@meyering.net>
67432
67433         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
67434         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
67435         it has valid stat data.  This bug would cause du not to count the
67436         sizes of inaccessible directories.
67437         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
67438         in <http://bugzilla.redhat.com/250077>.
67439
67440 2007-07-25  Peter O'Gorman  <peter@pogma.com>
67441             Bruno Haible  <bruno@clisp.org>
67442
67443         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
67444         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
67445         #include_next, gives a diagnostic about it, but reports no error in
67446         the exit code.
67447         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
67448
67449 2007-07-24  Ben Pfaff  <blp@gnu.org>
67450
67451         Improve name: "count-one-bits" is better than "popcount".
67452         * MODULES.html.sh: Update name.
67453         * lib/popcount.h: Renamed lib/count-one-bits.h.
67454         (popcount): Renamed count_one_bits.
67455         (popcountl): Renamed count_one_bits_l.
67456         (popcountll): Renamed count_one_bits_ll.
67457         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
67458         * modules/popcount: Renamed module/count-one-bits.
67459         * modules/popcount-tests: Renamed module/count-one-bits-tests.
67460         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
67461
67462 2007-07-23  Ben Pfaff  <blp@gnu.org>
67463
67464         * lib/popcount.h (popcount32): Reduce size of constants, to allow
67465         better code generation, and add U to large constants to avoid
67466         warnings, in non-GCC case.
67467         Suggested by Bruno Haible.
67468
67469 2007-07-23  Ben Pfaff  <blp@gnu.org>
67470
67471         * lib/popcount.h: Use verify_true instead of if...abort.
67472         * modules/popcount: Depend on verify module.
67473         Suggested by Jim Meyering.
67474
67475 2007-07-23  Bruno Haible  <bruno@clisp.org>
67476
67477         * gnulib-tool (func_import): Create a .cvsignore file also when the
67478         directory is not yet in CVS but the toplevel directory is. When
67479         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
67480         Reported by Karl Berry.
67481
67482 2007-07-22  Ben Pfaff  <blp@gnu.org>
67483
67484         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
67485         case.
67486         Suggested by Eric Blake.
67487
67488 2007-07-22  Ben Pfaff  <blp@gnu.org>
67489
67490         New module: popcount.
67491         * MODULES.html.sh: Add popcount.
67492         * modules/popcount: New file.
67493         * modules/popcount-tests: New file.
67494         * tests/test-popcount.c: New file.
67495         * lib/popcount.h: New file.
67496         * m4/popcount.m4: New file.
67497
67498 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
67499
67500         * build-aux/announce-gen: Update to GPLv3.
67501
67502         * build-aux/config.guess: Update from config.
67503
67504 2007-07-21  Bruno Haible  <bruno@clisp.org>
67505
67506         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
67507         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
67508
67509 2007-07-20  Jim Meyering  <jim@meyering.net>
67510
67511         * check-module: Diagnose a self-dependency.
67512
67513 2007-07-19  Bruno Haible  <bruno@clisp.org>
67514
67515         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
67516         empty.
67517         Reported by Eric Blake.
67518
67519 2007-07-18  Bruno Haible  <bruno@clisp.org>
67520
67521         * gnulib-tool: New options --po-base, --po-domain.
67522         (func_usage): Document them.
67523         (pobase, po_domain): New variables.
67524         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
67525         DEFAULT_TEXT_DOMAIN.
67526         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
67527         (func_import): Consider pobase and po_domain. Create a po/ directory.
67528         (func_create_testdir): Set pobase and po_domain to empty.
67529         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
67530         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
67531
67532 2007-07-18  Bruno Haible  <bruno@clisp.org>
67533
67534         * gnulib-tool (func_get_automake_snippet): Synthesize also an
67535         EXTRA_DIST augmentation for files in build-aux/.
67536
67537 2007-07-16  Bruno Haible  <bruno@clisp.org>
67538
67539         * modules/lseek (License): Use the synonymous term "LGPLv2+".
67540         * modules/getdelim (License): Likewise.
67541
67542 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67543
67544         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
67545         * modules/d-type (License): Likewise.
67546         * modules/extensions (License): Likewise.
67547         * modules/fnmatch (License): Likewise.
67548         * modules/fseeko (License): Likewise.
67549         * modules/getaddrinfo (License): Likewise.
67550         * modules/getline (License): Likewise.
67551         * modules/getlogin_r (License): Likewise.
67552         * modules/getpass (License): Likewise.
67553         * modules/gettimeofday (License): Likewise.
67554         * modules/glob (License): Likewise.
67555         * modules/inet_ntop (License): Likewise.
67556         * modules/malloc (License): Likewise.
67557         * modules/malloca (License): Likewise.
67558         * modules/memmem (License): Likewise.
67559         * modules/mempcpy (License): Likewise.
67560         * modules/memset (License): Likewise.
67561         * modules/minmax (License): Likewise.
67562         * modules/mktime (License): Likewise.
67563         * modules/netinet_in (License): Likewise.
67564         * modules/pathmax (License): Likewise.
67565         * modules/poll (License): Likewise.
67566         * modules/regex (License): Likewise.
67567         * modules/snprintf (License): Likewise.
67568         * modules/stdbool (License): Likewise.
67569         * modules/stdint (License): Likewise.
67570         * modules/stdio (License): Likewise.
67571         * modules/strcase (License): Likewise.
67572         * modules/strcasestr (License): Likewise.
67573         * modules/strdup (License): Likewise.
67574         * modules/string (License): Likewise.
67575         * modules/strndup (License): Likewise.
67576         * modules/strnlen (License): Likewise.
67577         * modules/strpbrk (License): Likewise.
67578         * modules/strptime (License): Likewise.
67579         * modules/strsep (License): Likewise.
67580         * modules/sys_select (License): Likewise.
67581         * modules/sys_socket (License): Likewise.
67582         * modules/sys_stat (License): Likewise.
67583         * modules/sys_time (License): Likewise.
67584         * modules/time (License): Likewise.
67585         * modules/time_r (License): Likewise.
67586         * modules/timegm (License): Likewise.
67587         * modules/unistd (License): Likewise.
67588         * modules/vsnprintf (License): Likewise.
67589         * modules/wctype (License): Likewise.
67590
67591 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67592
67593         * modules/argz (License): LGPLv2+.
67594
67595 2007-07-15  Karl Berry  <karl@gnu.org>
67596
67597         * doc/gnulib.texi: revise node structure per new fdl.texi.
67598
67599 2007-07-14  Bruno Haible  <bruno@clisp.org>
67600
67601         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
67602         the output file.
67603         * lib/uniname/uninames.h: Regenerated.
67604
67605 2007-07-14  Karl Berry  <karl@gnu.org>
67606
67607         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
67608         omitting sectioning and index commands.
67609
67610 2007-07-13  Bruno Haible  <bruno@clisp.org>
67611
67612         New gnulib-tool option --more-symlinks.
67613         * gnulib-tool (func_usage): Document --more-symlinks.
67614         (do_copyrights): New variable.
67615         Recognize option --more-symlinks.
67616         (func_import): Don't add a copyright notice transform to
67617         sed_transform_lib_file if do_copyrights is empty.
67618
67619 2007-07-13  Bruno Haible  <bruno@clisp.org>
67620
67621         * lib/vasnprintf.c (decimal_point_char): Define also if
67622         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
67623         && !NEED_PRINTF_DIRECTIVE_A.
67624         Reported by Clemens Koller <clemens.koller@anagramm.de> via
67625         Gary V. Vaughan <gary@gnu.org>.
67626
67627 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
67628
67629         * lib/inttypes_.h: Undo previous change, since it was fixed
67630         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
67631
67632 2007-07-13  Bruno Haible  <bruno@clisp.org>
67633
67634         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
67635         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
67636
67637 2007-07-13  Jim Meyering  <jim@meyering.net>
67638
67639         df: Don't fail for Tru64's "file-on-file mount".
67640         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
67641         so we fall through and use statfs instead.  Details here:
67642         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
67643         Reported by Albert Chin.
67644
67645 2007-07-13  Bruno Haible  <bruno@clisp.org>
67646
67647         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
67648         * modules/configmake (License): Likewise.
67649         * modules/gettext (License): Likewise.
67650         * modules/gettext-h (License): Likewise.
67651         * modules/include_next (License): Likewise.
67652         * modules/link-warning (License): Likewise.
67653         * modules/localcharset (License): Likewise.
67654         * modules/localename (License): Likewise.
67655         * modules/lock (License): Likewise.
67656         * modules/relocatable-lib-lgpl (License): Likewise.
67657         * modules/size_max (License): Likewise.
67658         * modules/vasnprintf (License): Likewise.
67659         * modules/wchar (License): Likewise.
67660         * modules/xsize (License): Likewise.
67661
67662 2007-07-13  Bruno Haible  <bruno@clisp.org>
67663
67664         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
67665         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
67666
67667 2007-07-12  Bruno Haible  <bruno@clisp.org>
67668
67669         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
67670         in the modules files.
67671
67672 2007-07-11  Karl Berry  <karl@gnu.org>
67673
67674         * MODULES.html.sh (func_module): use
67675          sed -e '\|^'"${includefile}"'$|d'
67676          instead of /.../d, to avoid errors on $includefile's containing /.
67677
67678 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
67679
67680         * gnulib-tool (func_import): Avoid duplication of --avoid
67681         statements
67682         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
67683         names to `_' in variable names.
67684
67685 2007-07-10  Eric Blake  <ebb9@byu.net>
67686
67687         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
67688         * NEWS: Document this change.
67689
67690 2007-07-08  Bruno Haible  <bruno@clisp.org>
67691
67692         Update to Unicode 5.0.
67693         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
67694         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
67695         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
67696         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
67697         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
67698         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
67699         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
67700         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
67701         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
67702         U+10A3F, U+1D242..U+1D244.
67703         (nonspacing_table_ind): Update.
67704         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
67705         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
67706
67707 2007-07-08  Bruno Haible  <bruno@clisp.org>
67708
67709         Update to Unicode 5.0.
67710         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
67711         code transform. Extend the name index field of unicode_name_to_code and
67712         unicode_code_to_name from 16 to 24 bits.
67713         * lib/uniname/uniname.c (unicode_character_name,
67714         unicode_name_character): Add the range 0x12xxx to the code transform.
67715         * lib/uniname/uninames.h: Regenerated.
67716         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
67717
67718 2007-07-07  Bruno Haible  <bruno@clisp.org>
67719
67720         * modules/wcwidth-tests: New file.
67721         * tests/test-wcwidth.c: New file.
67722
67723         Work around MacOS X wcwidth() bug.
67724         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
67725         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
67726         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
67727         original wcwidth in non-UTF-8 locales.
67728         * modules/wcwidth (Depends-on): Add localcharset, streq,
67729         uniwidth/width.
67730         * doc/functions/wcwidth.texi: Update.
67731
67732 2007-07-07  Bruno Haible  <bruno@clisp.org>
67733
67734         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
67735         (wcwidth): New declaration.
67736         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
67737         macros.
67738         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
67739         here. Prepare for creating <wchar.h> unconditionally.
67740         * modules/wchar (Depends-on): Add link-warning.
67741         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
67742         REPLACE_WCWIDTH, and GL_LINK_WARNING.
67743         * lib/wcwidth.h: Remove file.
67744         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
67745         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
67746         * modules/wcwidth (Files): Remove lib/wcwidth.h.
67747         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
67748         (Include): Replace wcwidth.h with <wchar.h>.
67749         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
67750         * lib/mbchar.h: Don't include wcwidth.h.
67751         * lib/mbswidth.c: Likewise.
67752         * NEWS: Mention the change.
67753
67754 2007-07-07  Bruno Haible  <bruno@clisp.org>
67755
67756         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
67757         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
67758         definition with an external declaration.
67759         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
67760         defined as a function. Remove AC_C_INLINE requirement.
67761         * modules/wcwidth (Files): Add lib/wcwidth.c.
67762         (Makefile.am): Remove redundant statement.
67763
67764 2007-07-07  Bruno Haible  <bruno@clisp.org>
67765
67766         * MODULES.html.sh (Unicode string functions): Add the new modules.
67767
67768         * tests/uniwidth/test-u32-strwidth.c: New file.
67769         * modules/uniwidth/u32-strwidth-tests: New file.
67770
67771         * lib/uniwidth/u32-strwidth.c: New file.
67772         * modules/uniwidth/u32-strwidth: New file.
67773
67774         * tests/uniwidth/test-u16-strwidth.c: New file.
67775         * modules/uniwidth/u16-strwidth-tests: New file.
67776
67777         * lib/uniwidth/u16-strwidth.c: New file.
67778         * modules/uniwidth/u16-strwidth: New file.
67779
67780         * tests/uniwidth/test-u8-strwidth.c: New file.
67781         * modules/uniwidth/u8-strwidth-tests: New file.
67782
67783         * lib/uniwidth/u8-strwidth.c: New file.
67784         * modules/uniwidth/u8-strwidth: New file.
67785
67786         * tests/uniwidth/test-u32-width.c: New file.
67787         * modules/uniwidth/u32-width-tests: New file.
67788
67789         * lib/uniwidth/u32-width.c: New file.
67790         * modules/uniwidth/u32-width: New file.
67791
67792         * tests/uniwidth/test-u16-width.c: New file.
67793         * modules/uniwidth/u16-width-tests: New file.
67794
67795         * lib/uniwidth/u16-width.c: New file.
67796         * modules/uniwidth/u16-width: New file.
67797
67798         * tests/uniwidth/test-u8-width.c: New file.
67799         * modules/uniwidth/u8-width-tests: New file.
67800
67801         * lib/uniwidth/u8-width.c: New file.
67802         * modules/uniwidth/u8-width: New file.
67803
67804         * tests/uniwidth/test-uc_width.c: New file.
67805         * modules/uniwidth/width-tests: New file.
67806
67807         * lib/uniwidth/width.c: New file, from GNU libiconv.
67808         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
67809         * modules/uniwidth/width: New file.
67810
67811         * lib/uniwidth.h: New file, from GNU libiconv.
67812         * modules/uniwidth/base: New file.
67813
67814 2007-07-07  Bruno Haible  <bruno@clisp.org>
67815
67816         * lib/uniname.h: New file, from GNU gettext.
67817         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
67818         * lib/uniname/uninames.h: New file, from GNU gettext.
67819         * lib/uniname/uniname.c: New file, from GNU gettext.
67820         * tests/uniname/test-uninames.sh: New file.
67821         * tests/uniname/test-uninames.c: New file, from GNU gettext.
67822         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
67823         * modules/uniname/base: New file.
67824         * modules/uniname/uniname: New file.
67825         * modules/uniname/uniname-tests: New file.
67826         * MODULES.html.sh (Unicode string functions): Add the new modules.
67827
67828 2007-07-06  Bruno Haible  <bruno@clisp.org>
67829
67830         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
67831
67832 2007-07-06  Bruno Haible  <bruno@clisp.org>
67833
67834         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
67835         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
67836         includes <cygwin/sys_time.h> which includes <sys/select.h> which
67837         include <sys/time.h>.
67838         Reported by Eric Blake.
67839
67840 2007-07-06  Eric Blake  <ebb9@byu.net>
67841
67842         Fix testing canonicalize on cygwin.
67843         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
67844         Revert patch from 2007-06-19.
67845         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
67846         canonicalize module is also in use.
67847         * tests/test-canonicalize.c: New file.
67848         * tests/test-canonicalize.sh: Likewise.
67849         * modules/canonicalize-tests: Likewise.
67850
67851 2007-07-06  Jim Meyering  <jim@meyering.net>
67852
67853         * lib/getugroups.c (getugroups): Detect getgrent failure.
67854         Adjust comment to reflect reality: this function may return -1.
67855
67856 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
67857
67858         * build-aux/bootstrap (TP_URL,get_translations): Update to use
67859         the new TP address.
67860         (usage): Fix typo
67861         (gnulib_mk): New variable.
67862
67863 2007-07-05  Jim Meyering  <jim@meyering.net>
67864
67865         Don't let endgrent clobber errno, no matter how improbable.
67866         * lib/getugroups.c (getugroups): Save and restore errno around
67867         endgrent call.
67868
67869         Close the group DB even when failing with 2^31 or more members.
67870         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
67871
67872 2007-07-04  Jim Meyering  <jim@meyering.net>
67873
67874         * lib/getugroups.h: New file.
67875         * lib/getugroups.c: Include "getugroups.h".
67876         Remove uses of "register" keyword.
67877         Move local variable, "cp", down into scope where used.
67878         Give "username" parameter the "const" attribute.
67879         * modules/getugroups (Files): Add lib/getugroups.h
67880
67881 2007-07-04  Karl Berry  <karl@gnu.org>
67882
67883         * MODULES.html.sh (func_all_modules): Complete rename of
67884         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
67885
67886 2007-07-02  Bruno Haible  <bruno@clisp.org>
67887
67888         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
67889         mode, when inttypes.h comes from gnulib.
67890         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
67891
67892 2007-07-02  Simon Josefsson  <simon@josefsson.org>
67893
67894         * NEWS: Mention lgpl module name change.
67895
67896         * modules/lgpl-2.1: Renamed from lgpl.
67897
67898         * NEWS: Mention gpl module name change.
67899
67900         * modules/gpl-3.0: New file, based on gpl-2.0.
67901
67902         * modules/gpl-2.0: Renamed from gpl.
67903
67904         * modules/gpl: Fix filename, doc/gpl.texi is now found at
67905         doc/gpl-2.0.texi.
67906
67907 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
67908
67909         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
67910         #define __STDC_LIMIT_MACROS temporarily while including
67911         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
67912         Problem reported by Joel E. Denny in
67913         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
67914
67915 2007-07-01  Bruno Haible  <bruno@clisp.org>
67916
67917         * lib/unistdio.h: New file.
67918         * lib/unistdio/u-asnprintf.h: New file.
67919         * lib/unistdio/u-asprintf.h: New file.
67920         * lib/unistdio/u-printf-args.c: New file.
67921         * lib/unistdio/u-printf-args.h: New file.
67922         * lib/unistdio/u-printf-parse.h: New file.
67923         * lib/unistdio/u-snprintf.h: New file.
67924         * lib/unistdio/u-sprintf.h: New file.
67925         * lib/unistdio/u-vasprintf.h: New file.
67926         * lib/unistdio/u-vsnprintf.h: New file.
67927         * lib/unistdio/u-vsprintf.h: New file.
67928         * lib/unistdio/ulc-asnprintf.c: New file.
67929         * lib/unistdio/ulc-asprintf.c: New file.
67930         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
67931         * lib/unistdio/ulc-printf-parse.c: New file.
67932         * lib/unistdio/ulc-snprintf.c: New file.
67933         * lib/unistdio/ulc-sprintf.c: New file.
67934         * lib/unistdio/ulc-vasnprintf.c: New file.
67935         * lib/unistdio/ulc-vasprintf.c: New file.
67936         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
67937         * lib/unistdio/ulc-vsnprintf.c: New file.
67938         * lib/unistdio/ulc-vsprintf.c: New file.
67939         * lib/unistdio/u8-asnprintf.c: New file.
67940         * lib/unistdio/u8-asprintf.c: New file.
67941         * lib/unistdio/u8-printf-parse.c: New file.
67942         * lib/unistdio/u8-snprintf.c: New file.
67943         * lib/unistdio/u8-sprintf.c: New file.
67944         * lib/unistdio/u8-vasnprintf.c: New file.
67945         * lib/unistdio/u8-vasprintf.c: New file.
67946         * lib/unistdio/u8-vsnprintf.c: New file.
67947         * lib/unistdio/u8-vsprintf.c: New file.
67948         * lib/unistdio/u8-u8-asnprintf.c: New file.
67949         * lib/unistdio/u8-u8-asprintf.c: New file.
67950         * lib/unistdio/u8-u8-snprintf.c: New file.
67951         * lib/unistdio/u8-u8-sprintf.c: New file.
67952         * lib/unistdio/u8-u8-vasnprintf.c: New file.
67953         * lib/unistdio/u8-u8-vasprintf.c: New file.
67954         * lib/unistdio/u8-u8-vsnprintf.c: New file.
67955         * lib/unistdio/u8-u8-vsprintf.c: New file.
67956         * lib/unistdio/u16-asnprintf.c: New file.
67957         * lib/unistdio/u16-asprintf.c: New file.
67958         * lib/unistdio/u16-printf-parse.c: New file.
67959         * lib/unistdio/u16-snprintf.c: New file.
67960         * lib/unistdio/u16-sprintf.c: New file.
67961         * lib/unistdio/u16-vasnprintf.c: New file.
67962         * lib/unistdio/u16-vasprintf.c: New file.
67963         * lib/unistdio/u16-vsnprintf.c: New file.
67964         * lib/unistdio/u16-vsprintf.c: New file.
67965         * lib/unistdio/u16-u16-asnprintf.c: New file.
67966         * lib/unistdio/u16-u16-asprintf.c: New file.
67967         * lib/unistdio/u16-u16-snprintf.c: New file.
67968         * lib/unistdio/u16-u16-sprintf.c: New file.
67969         * lib/unistdio/u16-u16-vasnprintf.c: New file.
67970         * lib/unistdio/u16-u16-vasprintf.c: New file.
67971         * lib/unistdio/u16-u16-vsnprintf.c: New file.
67972         * lib/unistdio/u16-u16-vsprintf.c: New file.
67973         * lib/unistdio/u32-asnprintf.c: New file.
67974         * lib/unistdio/u32-asprintf.c: New file.
67975         * lib/unistdio/u32-printf-parse.c: New file.
67976         * lib/unistdio/u32-snprintf.c: New file.
67977         * lib/unistdio/u32-sprintf.c: New file.
67978         * lib/unistdio/u32-vasnprintf.c: New file.
67979         * lib/unistdio/u32-vasprintf.c: New file.
67980         * lib/unistdio/u32-vsnprintf.c: New file.
67981         * lib/unistdio/u32-vsprintf.c: New file.
67982         * lib/unistdio/u32-u32-asnprintf.c: New file.
67983         * lib/unistdio/u32-u32-asprintf.c: New file.
67984         * lib/unistdio/u32-u32-snprintf.c: New file.
67985         * lib/unistdio/u32-u32-sprintf.c: New file.
67986         * lib/unistdio/u32-u32-vasnprintf.c: New file.
67987         * lib/unistdio/u32-u32-vasprintf.c: New file.
67988         * lib/unistdio/u32-u32-vsnprintf.c: New file.
67989         * lib/unistdio/u32-u32-vsprintf.c: New file.
67990         * tests/unistdio/test-ulc-asnprintf1.c: New file.
67991         * tests/unistdio/test-ulc-asnprintf1.h: New file.
67992         * tests/unistdio/test-ulc-printf1.h: New file.
67993         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
67994         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
67995         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
67996         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
67997         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
67998         * tests/unistdio/test-ulc-vasprintf1.c: New file.
67999         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
68000         * tests/unistdio/test-ulc-vsprintf1.c: New file.
68001         * tests/unistdio/test-u8-asnprintf1.c: New file.
68002         * tests/unistdio/test-u8-asnprintf1.h: New file.
68003         * tests/unistdio/test-u8-printf1.h: New file.
68004         * tests/unistdio/test-u8-vasnprintf1.c: New file.
68005         * tests/unistdio/test-u8-vasnprintf2.c: New file.
68006         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
68007         * tests/unistdio/test-u8-vasnprintf3.c: New file.
68008         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
68009         * tests/unistdio/test-u8-vasprintf1.c: New file.
68010         * tests/unistdio/test-u8-vsnprintf1.c: New file.
68011         * tests/unistdio/test-u8-vsprintf1.c: New file.
68012         * tests/unistdio/test-u16-asnprintf1.c: New file.
68013         * tests/unistdio/test-u16-asnprintf1.h: New file.
68014         * tests/unistdio/test-u16-printf1.h: New file.
68015         * tests/unistdio/test-u16-vasnprintf1.c: New file.
68016         * tests/unistdio/test-u16-vasnprintf2.c: New file.
68017         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
68018         * tests/unistdio/test-u16-vasnprintf3.c: New file.
68019         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
68020         * tests/unistdio/test-u16-vasprintf1.c: New file.
68021         * tests/unistdio/test-u16-vsnprintf1.c: New file.
68022         * tests/unistdio/test-u16-vsprintf1.c: New file.
68023         * tests/unistdio/test-u32-asnprintf1.c: New file.
68024         * tests/unistdio/test-u32-asnprintf1.h: New file.
68025         * tests/unistdio/test-u32-printf1.h: New file.
68026         * tests/unistdio/test-u32-vasnprintf1.c: New file.
68027         * tests/unistdio/test-u32-vasnprintf2.c: New file.
68028         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
68029         * tests/unistdio/test-u32-vasnprintf3.c: New file.
68030         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
68031         * tests/unistdio/test-u32-vasprintf1.c: New file.
68032         * tests/unistdio/test-u32-vsnprintf1.c: New file.
68033         * tests/unistdio/test-u32-vsprintf1.c: New file.
68034         * modules/unistdio/base: New file.
68035         * modules/unistdio/u-printf-args: New file.
68036         * modules/unistdio/ulc-asnprintf: New file.
68037         * modules/unistdio/ulc-asprintf: New file.
68038         * modules/unistdio/ulc-fprintf: New file.
68039         * modules/unistdio/ulc-printf-parse: New file.
68040         * modules/unistdio/ulc-snprintf: New file.
68041         * modules/unistdio/ulc-sprintf: New file.
68042         * modules/unistdio/ulc-vasnprintf: New file.
68043         * modules/unistdio/ulc-vasprintf: New file.
68044         * modules/unistdio/ulc-vfprintf: New file.
68045         * modules/unistdio/ulc-vsnprintf: New file.
68046         * modules/unistdio/ulc-vsprintf: New file.
68047         * modules/unistdio/u8-asnprintf: New file.
68048         * modules/unistdio/u8-asprintf: New file.
68049         * modules/unistdio/u8-printf-parse: New file.
68050         * modules/unistdio/u8-snprintf: New file.
68051         * modules/unistdio/u8-sprintf: New file.
68052         * modules/unistdio/u8-vasnprintf: New file.
68053         * modules/unistdio/u8-vasprintf: New file.
68054         * modules/unistdio/u8-vsnprintf: New file.
68055         * modules/unistdio/u8-vsprintf: New file.
68056         * modules/unistdio/u8-u8-asnprintf: New file.
68057         * modules/unistdio/u8-u8-asprintf: New file.
68058         * modules/unistdio/u8-u8-snprintf: New file.
68059         * modules/unistdio/u8-u8-sprintf: New file.
68060         * modules/unistdio/u8-u8-vasnprintf: New file.
68061         * modules/unistdio/u8-u8-vasprintf: New file.
68062         * modules/unistdio/u8-u8-vsnprintf: New file.
68063         * modules/unistdio/u8-u8-vsprintf: New file.
68064         * modules/unistdio/u16-asnprintf: New file.
68065         * modules/unistdio/u16-asprintf: New file.
68066         * modules/unistdio/u16-printf-parse: New file.
68067         * modules/unistdio/u16-snprintf: New file.
68068         * modules/unistdio/u16-sprintf: New file.
68069         * modules/unistdio/u16-vasnprintf: New file.
68070         * modules/unistdio/u16-vasprintf: New file.
68071         * modules/unistdio/u16-vsnprintf: New file.
68072         * modules/unistdio/u16-vsprintf: New file.
68073         * modules/unistdio/u16-u16-asnprintf: New file.
68074         * modules/unistdio/u16-u16-asprintf: New file.
68075         * modules/unistdio/u16-u16-snprintf: New file.
68076         * modules/unistdio/u16-u16-sprintf: New file.
68077         * modules/unistdio/u16-u16-vasnprintf: New file.
68078         * modules/unistdio/u16-u16-vasprintf: New file.
68079         * modules/unistdio/u16-u16-vsnprintf: New file.
68080         * modules/unistdio/u16-u16-vsprintf: New file.
68081         * modules/unistdio/u32-asnprintf: New file.
68082         * modules/unistdio/u32-asprintf: New file.
68083         * modules/unistdio/u32-printf-parse: New file.
68084         * modules/unistdio/u32-snprintf: New file.
68085         * modules/unistdio/u32-sprintf: New file.
68086         * modules/unistdio/u32-vasnprintf: New file.
68087         * modules/unistdio/u32-vasprintf: New file.
68088         * modules/unistdio/u32-vsnprintf: New file.
68089         * modules/unistdio/u32-vsprintf: New file.
68090         * modules/unistdio/u32-u32-asnprintf: New file.
68091         * modules/unistdio/u32-u32-asprintf: New file.
68092         * modules/unistdio/u32-u32-snprintf: New file.
68093         * modules/unistdio/u32-u32-sprintf: New file.
68094         * modules/unistdio/u32-u32-vasnprintf: New file.
68095         * modules/unistdio/u32-u32-vasprintf: New file.
68096         * modules/unistdio/u32-u32-vsnprintf: New file.
68097         * modules/unistdio/u32-u32-vsprintf: New file.
68098         * modules/unistdio/ulc-asnprintf-tests: New file.
68099         * modules/unistdio/ulc-vasnprintf-tests: New file.
68100         * modules/unistdio/ulc-vasprintf-tests: New file.
68101         * modules/unistdio/ulc-vsnprintf-tests: New file.
68102         * modules/unistdio/ulc-vsprintf-tests: New file.
68103         * modules/unistdio/u8-asnprintf-tests: New file.
68104         * modules/unistdio/u8-vasnprintf-tests: New file.
68105         * modules/unistdio/u8-vasprintf-tests: New file.
68106         * modules/unistdio/u8-vsnprintf-tests: New file.
68107         * modules/unistdio/u8-vsprintf-tests: New file.
68108         * modules/unistdio/u16-asnprintf-tests: New file.
68109         * modules/unistdio/u16-vasnprintf-tests: New file.
68110         * modules/unistdio/u16-vasprintf-tests: New file.
68111         * modules/unistdio/u16-vsnprintf-tests: New file.
68112         * modules/unistdio/u16-vsprintf-tests: New file.
68113         * modules/unistdio/u32-asnprintf-tests: New file.
68114         * modules/unistdio/u32-vasnprintf-tests: New file.
68115         * modules/unistdio/u32-vasprintf-tests: New file.
68116         * modules/unistdio/u32-vsnprintf-tests: New file.
68117         * modules/unistdio/u32-vsprintf-tests: New file.
68118         * MODULES.html.sh (Unicode string functions): Add the new modules.
68119
68120 2007-07-01  Bruno Haible  <bruno@clisp.org>
68121
68122         * lib/sprintf.c (sprintf): Limit the available length estimation,
68123         to avoid address wraparound.
68124         * lib/vsprintf.c (vsprintf): Likewise.
68125         * modules/sprintf-posix (Dependencies): Add stdint.
68126         * modules/vsprintf-posix (Dependencies): Likewise.
68127
68128 2007-07-01  Bruno Haible  <bruno@clisp.org>
68129
68130         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
68131         Windows PATH as well. Conservative double-quoting. Comments.
68132
68133 2007-07-01  Bruno Haible  <bruno@clisp.org>
68134             Eric Blake  <ebb9@byu.net>
68135             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68136
68137         * gnulib-tool (self_abspathname): Fix algorithm to cope with
68138         empty components in $PATH, denoting '.'.
68139
68140 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68141
68142         * gnulib-tool: Fix indentation.
68143         (func_create_megatestdir): Likewise.
68144         Report by Bruno Haible.
68145
68146 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68147
68148         Sync from Automake.
68149         * build-aux/gnupload: Fix shell portability issues with for loops.
68150         Report by Karl Berry.
68151
68152 2007-06-29  Simon Josefsson  <simon@josefsson.org>
68153
68154         * build-aux/maint.mk (POURL): Use translationproject.org.
68155
68156 2007-06-27  Simon Josefsson  <simon@josefsson.org>
68157             Bruno Haible  <bruno@clisp.org>
68158
68159         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
68160         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
68161         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
68162         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
68163         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
68164
68165 2007-06-27  Bruno Haible  <bruno@clisp.org>
68166
68167         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
68168         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
68169
68170 2007-06-26  Karl Berry  <karl@gnu.org>
68171
68172         * MODULES.html.sh: remove xreadlink-with-size.
68173
68174 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68175
68176         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
68177         method that I hope also handles the double-include problem noted
68178         by Bruno Haible in
68179         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
68180
68181 2007-06-23  Bruno Haible  <bruno@clisp.org>
68182
68183         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68184         Don't let the 'mostlyclean' target fail if the last subdirectory could
68185         not be removed.
68186         Reported by Karl Berry.
68187
68188 2007-06-23  Bruno Haible  <bruno@clisp.org>
68189
68190         * gnulib-tool (echo): Add a speedier workaround for ksh.
68191         * tests/test-echo.sh: Likewise.
68192
68193 2007-06-23  Bruno Haible  <bruno@clisp.org>
68194
68195         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
68196         * tests/test-echo.sh: Likewise.
68197
68198 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68199
68200         * gnulib-tool (IFS): Initialize early, so we don't set it to
68201         empty later.
68202         (self_abspathname): Rewrite algorithm to set it, reindent.
68203         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
68204         (func_create_megatestdir): Merge some sed scripts.
68205
68206 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68207
68208         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
68209         exposed by Sun Studio 11 cc on Solaris 8.
68210
68211 2007-06-22  Bruno Haible  <bruno@clisp.org>
68212
68213         * gnulib-tool (echo): Ensure the echo primitive does not interpret
68214         backslashes.
68215         * tests/test-echo.sh: New file.
68216
68217 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68218
68219         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
68220         simplify `sed_replace_build_aux' scripts, they are portable but
68221         echoing them with `echo' is not.
68222         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
68223
68224 2007-06-21  Karl Berry  <karl@gnu.org>
68225
68226         * config/srclist.txt: guess we can't handle the licenses via
68227         srclist at the moment.
68228
68229 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
68230
68231         * MODULES.html.sh: Add include_next.
68232         * modules/include_next: New file.
68233
68234 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
68235
68236         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
68237         INCLUDE_NEXT.
68238         (gl_CHECK_NEXT_HEADERS): New macro.
68239         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
68240         the obsolescent gl_ABSOLUTE_HEADER.
68241         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
68242         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
68243         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
68244         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
68245         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
68246         * m4/math_h.m4 (gl_MATH_H): Likewise.
68247         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
68248         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
68249         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
68250         * m4/stdint.m4 (gl_STDINT_H): Likewise.
68251         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
68252         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
68253         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
68254         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
68255         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
68256         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
68257         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
68258         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
68259         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
68260         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
68261         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
68262         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
68263         * m4/inttypes.m4 (gl_INTTYPES_H): Define
68264         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
68265         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
68266         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
68267         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
68268         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
68269         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
68270         * lib/float_.h: Likewise.
68271         * lib/inttypes_.h: Likewise.
68272         * lib/math_.h: Likewise.
68273         * lib/search_.h: Likewise.
68274         * lib/signal_.h: Likewise.
68275         * lib/stdint_.h: Likewise.
68276         * lib/stdio_.h: Likewise.
68277         * lib/stdlib_.h: Likewise.
68278         * lib/string_.h: Likewise.
68279         * lib/sys_stat_.h: Likewise.
68280         * lib/sys_time_.h: Likewise.
68281         * lib/time_.h: Likewise.
68282         * lib/unistd_.h: Likewise.
68283         * lib/wchar_.h: Likewise.
68284         * lib/wctype_.h: Likewise.
68285         * lib/dirent_.h: Likewise.
68286         * lib/iconv_.h: Likewise.
68287         * lib/locale_.h: Likewise.
68288         * lib/netinet_in_.h: Likewise.
68289         * lib/sys_select_.h: Likewise.
68290         * lib/sys_socket_.h: Likewise.
68291         * lib/sysexits_.h: Likewise.
68292         * modules/fcntl (Depends-on): Depend on include_next, not
68293         absolute_header.
68294         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
68295         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
68296         * modules/fchdir: Likewise.
68297         * modules/float: Likewise.
68298         * modules/iconv_open: Likewise.
68299         * modules/inttypes: Likewise.
68300         * modules/locale: Likewise.
68301         * modules/math: Likewise.
68302         * modules/netinet_in: Likewise.
68303         * modules/search: Likewise.
68304         * modules/signal: Likewise.
68305         * modules/stdint: Likewise.
68306         * modules/stdio: Likewise.
68307         * modules/stdlib: Likewise.
68308         * modules/string: Likewise.
68309         * modules/sys_select: Likewise.
68310         * modules/sys_socket: Likewise.
68311         * modules/sys_stat: Likewise.
68312         * modules/sys_time: Likewise.
68313         * modules/sysexits: Likewise.
68314         * modules/time: Likewise.
68315         * modules/unistd: Likewise.
68316         * modules/wchar: Likewise.
68317         * modules/wctype: Likewise.
68318         * modules/sys_stat: Change maintainer to "all".
68319         * modules/unistd: Likewise.
68320
68321 2007-06-20  Karl Berry  <karl@gnu.org>
68322
68323         * config/srclist.txt: track www changes in license files.
68324
68325 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
68326
68327         * build-aux/bootstrap: Remove stray dot.
68328         Make sure build_aux settings are honored when linking
68329         gnulib_extra_files.
68330
68331 2007-06-19  Eric Blake  <ebb9@byu.net>
68332
68333         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
68334         Allow compilation on cygwin.
68335
68336 2007-06-19  Jim Meyering  <jim@meyering.net>
68337
68338         xreadlink-with-size: Remove module.  No longer used.
68339         Ex-callers now use xreadlink or mreadlink-with-size.
68340         * modules/xreadlink-with-size: Remove module.
68341         * lib/xreadlink-with-size.c: Remove file.
68342         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
68343         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
68344         just before the function definition *is* accurate.
68345
68346         Eliminate one way canonicalize_filename_mode could exit.
68347         * lib/canonicalize.c (canonicalize_filename_mode):
68348         Use mreadlink_with_size, not xreadlink_with_size.
68349
68350 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
68351
68352         Detect porting problems to FreeBSD/arm, which has time_t wider than
68353         long int.  Original problem reported for GNU diff by Xin Li in
68354         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
68355         * modules/getdate (Depends-on): Add intprops, verify.
68356         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
68357         is an integer type no wider than long int.
68358
68359 2007-06-18  Jim Meyering  <jim@meyering.net>
68360
68361         New module: mreadlink-with-size.
68362         * MODULES.html.sh: Add mreadlink-with-size.
68363         * modules/mreadlink-with-size: New module
68364         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
68365         not xreadlink-with-size.
68366         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
68367
68368 2007-06-16  Bruno Haible  <bruno@clisp.org>
68369
68370         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
68371         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
68372         Reported by Gary V. Vaughan <gary@gnu.org>.
68373
68374 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
68375
68376         Revamp lchown so that it lives in unistd.h where it belongs.
68377         * lib/lchown.h: Remove.
68378         * lib/dirchownmod.c: Don't include lib/lchown.h.
68379         * lib/fchownat.c: Likewise.
68380         * lib/openat.c: Likewise.
68381         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
68382         does not follow symlinks.
68383         (EOPNOTSUPP): Define if not defined.
68384         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
68385         is defined to 0.
68386         (lchown): New decl.
68387         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
68388         Do not check for lchown decl.
68389         Set REPLACE_LCHOWN.
68390         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
68391         REPLACE_LCHOWN.
68392         * modules/chown: Make it clear it follows symlinks.
68393         * modules/lchown: Make it clear it doesn't follow symlinks.
68394         (Files): Remove lib/lchown.h
68395         (Depends-on): Add unistd.
68396         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
68397         (Include): Include <unistd.h>, not "lchown.h".
68398         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
68399         REPLACE_LCHOWN.
68400
68401 2007-06-15  Jim Meyering  <jim@meyering.net>
68402
68403         Change license (GPL to LGPL) of fsusage and dependents.
68404         * modules/fsusage (License): Change to LGPL.
68405         * modules/full-read (License): Likewise.
68406         * modules/full-write (License): Likewise.
68407         * modules/safe-read (License): Likewise.
68408         * modules/safe-write (License): Likewise.
68409
68410 2007-06-14  Ben Pfaff  <blp@gnu.org>
68411
68412         Missing part of allocsa -> malloca transition.
68413         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
68414         gl_MALLOCA.
68415
68416 2007-06-12  Bruno Haible  <bruno@clisp.org>
68417
68418         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
68419         to ia64, x86_64, i386.
68420         Reported by Eric Blake.
68421
68422 2007-06-12  Bruno Haible  <bruno@clisp.org>
68423
68424         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
68425         cross-compiling to x86_64.
68426
68427 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
68428
68429         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
68430         glitch reported by Ralf Wildenhues in
68431         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
68432
68433         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
68434         Vin Shelton.
68435
68436 2007-06-11  Bruno Haible  <bruno@clisp.org>
68437
68438         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
68439         replacement string.
68440         Reported by Eric Blake.
68441
68442 2007-06-10  Bruno Haible  <bruno@clisp.org>
68443
68444         Prepare vasnprintf code for use with Unicode strings.
68445         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
68446         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
68447         TYPE_U32_STRING.
68448         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
68449         a_u32_string variants.
68450         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68451         * lib/printf-args.c: Don't include config.h and the specification
68452         header if PRINTF_FETCHARGS is already defined.
68453         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68454         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
68455         TYPE_U16_STRING, TYPE_U32_STRING.
68456         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
68457         u16_directive, u16_directives, u32_directive, u32_directives): New
68458         types.
68459         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
68460         New declarations.
68461         * lib/printf-parse.c: Don't include config.h and the specification
68462         header if PRINTF_PARSE is already defined. Eliminate the set of
68463         parameters for WIDE_CHAR_VERSION; the user of this file must provide
68464         them now. Include c-ctype.h.
68465         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
68466         directive and CHAR_T_ONLY_ASCII.
68467         * lib/vasnprintf.c: Don't include config.h and the specification header
68468         if VASNPRINTF is already defined.
68469         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
68470         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
68471         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
68472         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
68473         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
68474         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
68475         code accordingly.
68476         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
68477         pad_ourselves also in this case, with the 'c' and 's' directives, and
68478         with a different notion of "width".
68479         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
68480
68481 2007-06-10  Bruno Haible  <bruno@clisp.org>
68482
68483         * modules/unistr/u32-mbsnlen: New file.
68484         * lib/unistr/u32-mbsnlen.c: New file.
68485
68486         * modules/unistr/u16-mbsnlen: New file.
68487         * lib/unistr/u16-mbsnlen.c: New file.
68488
68489         * modules/unistr/u8-mbsnlen: New file.
68490         * lib/unistr/u8-mbsnlen.c: New file.
68491
68492         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
68493         declarations.
68494
68495 2007-06-10  Bruno Haible  <bruno@clisp.org>
68496
68497         * lib/string_.h (mbsnlen): New declaration.
68498         * lib/mbsnlen.c: New file.
68499         * m4/mbsnlen.m4: New file.
68500         * modules/mbsnlen: New file.
68501         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
68502         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
68503         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
68504
68505 2007-06-10  Bruno Haible  <bruno@clisp.org>
68506
68507         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
68508
68509 2007-06-10  Bruno Haible  <bruno@clisp.org>
68510
68511         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
68512         * lib/mbuiter.h: Likewise.
68513
68514 2007-06-10  Bruno Haible  <bruno@clisp.org>
68515
68516         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
68517         declaration.
68518
68519 2007-06-10  Karl Berry  <karl@gnu.org>
68520
68521         * config/srclist.txt: remove gettext entries, Bruno prefers
68522         to update individually.
68523
68524 2007-06-10  Bruno Haible  <bruno@clisp.org>
68525
68526         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
68527         'maxlen'. Ensure only length + width bytes are allocated, not
68528         length + 1 + width.
68529
68530 2007-06-09  Bruno Haible  <bruno@clisp.org>
68531
68532         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
68533         (CHAR_T): Remove macro.
68534         (VASNPRINTF): Update.
68535
68536 2007-06-09  Bruno Haible  <bruno@clisp.org>
68537
68538         * MODULES.html.sh (Unicode string functions): Add the new modules.
68539
68540         * modules/uniconv/u32-conv-to-enc: New file.
68541         * lib/uniconv/u32-conv-to-enc.c: New file.
68542         * modules/uniconv/u32-conv-to-enc-tests: New file.
68543         * tests/uniconv/test-u32-conv-to-enc.c: New file.
68544
68545         * modules/uniconv/u16-conv-to-enc: New file.
68546         * lib/uniconv/u16-conv-to-enc.c: New file.
68547         * lib/uniconv/u-conv-to-enc.h: New file.
68548         * modules/uniconv/u16-conv-to-enc-tests: New file.
68549         * tests/uniconv/test-u16-conv-to-enc.c: New file.
68550
68551         * modules/uniconv/u8-conv-to-enc: New file.
68552         * lib/uniconv/u8-conv-to-enc.c: New file.
68553         * modules/uniconv/u8-conv-to-enc-tests: New file.
68554         * tests/uniconv/test-u8-conv-to-enc.c: New file.
68555
68556         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
68557         u32_conv_to_encoding): New declarations.
68558
68559 2007-06-09  Bruno Haible  <bruno@clisp.org>
68560
68561         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
68562
68563 2007-06-09  Bruno Haible  <bruno@clisp.org>
68564
68565         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
68566         * modules/malloca: Renamed from modules/allocsa, updated.
68567         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
68568         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
68569         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
68570         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
68571         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
68572         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
68573         * modules/xmalloca: Renamed from modules/xallocsa, updated.
68574         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
68575         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
68576         * modules/c-strcasestr (Depends-on): Update.
68577         * lib/c-strcasestr.c: Update.
68578         * modules/c-strstr (Depends-on): Update.
68579         * lib/c-strstr.c: Update.
68580         * modules/canonicalize-lgpl (Depends-on): Update.
68581         * lib/canonicalize-lgpl.c: Update.
68582         * modules/clean-temp (Depends-on): Update.
68583         * lib/clean-temp.c: Update.
68584         * modules/csharpcomp (Depends-on): Update.
68585         * lib/csharpcomp.c: Update.
68586         * modules/csharpexec (Depends-on): Update.
68587         * lib/csharpexec.c: Update.
68588         * modules/javacomp (Depends-on): Update.
68589         * lib/javacomp.c: Update.
68590         * modules/javaexec (Depends-on): Update.
68591         * lib/javaexec.c: Update.
68592         * modules/mbscasestr (Depends-on): Update.
68593         * lib/mbscasestr.c: Update.
68594         * modules/mbsstr (Depends-on): Update.
68595         * lib/mbsstr.c: Update.
68596         * modules/setenv (Depends-on): Update.
68597         * lib/setenv.c: Update.
68598         * modules/strcasestr (Depends-on): Update.
68599         * lib/strcasestr.c: Update.
68600         * modules/striconveha (Depends-on): Update.
68601         * lib/striconveha.c: Update.
68602         * modules/relocatable-prog-wrapper (Files): Update.
68603         * lib/relocwrapper.c: Update.
68604         * build-aux/install-reloc: Update.
68605         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
68606
68607 2007-06-08  Bruno Haible  <bruno@clisp.org>
68608
68609         Port to uClibc.
68610         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
68611         * lib/fpurge.c (fpurge): Likewise.
68612         * lib/freading.c (freading): Likewise.
68613         * lib/fseeko.c (rpl_fseeko): Likewise.
68614         * lib/fseterr.c (fseterr): Likewise.
68615         * lib/fwriting.c (fwriting): Likewise.
68616         * tests/test-fflush.c (main): Avoid a failure on uClibc.
68617
68618 2007-06-08  Bruno Haible  <bruno@clisp.org>
68619
68620         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
68621         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
68622         * modules/gettext (Files): Add m4/intlmacosx.m4.
68623
68624 2007-06-07  Bruno Haible  <bruno@clisp.org>
68625
68626         * modules/localename-tests: New file.
68627         * tests/test-localename.c: New file.
68628
68629         New module 'localename'.
68630         * lib/localename.h: New file.
68631         * lib/localename.c: New file, from GNU gettext.
68632         * m4/localename.m4: New file.
68633         * modules/localename: New file.
68634
68635 2007-06-07  Bruno Haible  <bruno@clisp.org>
68636
68637         Work around the lack of <wchar.h> on some builds of uClibc.
68638         * doc/headers/wchar.texi: Update.
68639         * lib/wchar_.h: Include <wchar.h> only if it exists.
68640         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
68641         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
68642         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
68643         doesn't exist.
68644         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
68645         * modules/mbfile (Depends-on): Add wchar.
68646         * modules/mbiter (Depends-on): Likewise.
68647         * modules/mbuiter (Depends-on): Likewise.
68648         Reported by Simon Josefsson.
68649
68650 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
68651
68652         Work around problem reported by Steven M. Schweda in
68653         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
68654         Tru64 5.1B with the Compaq compiler environment installed declares
68655         an 'isblank' function but does not define it in the C library.
68656         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
68657         * lib/regex_internal.h (isblank): Likewise.
68658         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
68659         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
68660
68661 2007-06-05  Bruno Haible  <bruno@clisp.org>
68662
68663         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
68664         ia64.
68665         * modules/printf-safe: New file.
68666         * modules/fprintf-posix (Depends-on): Add printf-safe.
68667         * modules/printf-posix (Depends-on): Likewise.
68668         * modules/snprintf-posix (Depends-on): Likewise.
68669         * modules/sprintf-posix (Depends-on): Likewise.
68670         * modules/vasnprintf-posix (Depends-on): Likewise.
68671         * modules/vasprintf-posix (Depends-on): Likewise.
68672         * modules/vfprintf-posix (Depends-on): Likewise.
68673         * modules/vprintf-posix (Depends-on): Likewise.
68674         * modules/vsnprintf-posix (Depends-on): Likewise.
68675         * modules/vsprintf-posix (Depends-on): Likewise.
68676         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
68677         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
68678         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
68679         "no" on i386, x86_64, ia64.
68680         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
68681         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68682         on i386, x86_64, ia64.
68683         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
68684         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68685         on i386, x86_64, ia64.
68686         * tests/test-vasnprintf-posix.c: Include float.h.
68687         (LDBL80_WORDS): New macro.
68688         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68689         on i386, x86_64, ia64.
68690         * tests/test-vasprintf-posix.c: Include float.h.
68691         (LDBL80_WORDS): New macro.
68692         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68693         on i386, x86_64, ia64.
68694         * tests/test-snprintf-posix.c: Include float.h.
68695         * tests/test-sprintf-posix.c: Likewise.
68696         * tests/test-vsnprintf-posix.c: Likewise.
68697         * tests/test-vsprintf-posix.c: Likewise.
68698
68699 2007-06-05  Bruno Haible  <bruno@clisp.org>
68700
68701         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
68702         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
68703         non-IEEE numbers on i386, x86_64, ia64.
68704         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
68705         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
68706         * tests/test-isnanl.h: Include float.h.
68707         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
68708
68709 2007-06-05  Bruno Haible  <bruno@clisp.org>
68710
68711         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
68712         also the %a / %A. Handle the %a / %A code before this extra handling.
68713
68714 2007-06-05  Bruno Haible  <bruno@clisp.org>
68715
68716         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
68717         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
68718
68719 2007-06-05  Bruno Haible  <bruno@clisp.org>
68720
68721         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
68722         typo in variable name.
68723
68724 2007-06-05  Eric Blake  <ebb9@byu.net>
68725
68726         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
68727         Reported by Simon Josefsson.
68728
68729 2007-06-04  Bruno Haible  <bruno@clisp.org>
68730
68731         Avoid test failures on some PowerPC platforms.
68732         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
68733         Define differently for PowerPC.
68734         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
68735         Reported by Gary V. Vaughan <gary@gnu.org>.
68736
68737 2007-06-02  Bruno Haible  <bruno@clisp.org>
68738
68739         Fix test-stdint failure on FreeBSD/ia64.
68740         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
68741         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
68742         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
68743         * doc/headers/stdint.texi: Update.
68744
68745 2007-06-01  Bruno Haible  <bruno@clisp.org>
68746
68747         * tests/test-binary-io.c (main): Pass a third argument to open().
68748         Reported by Gary V. Vaughan <gary@gnu.org>.
68749
68750 2007-06-01  Bruno Haible  <bruno@clisp.org>
68751
68752         * doc/functions/frexpl.texi: Update for mingw.
68753
68754 2007-06-01  Bruno Haible  <bruno@clisp.org>
68755
68756         * tests/test-lseek.c (main): Disable test of errno for invalid third
68757         argument.
68758         * doc/functions/lseek.texi: Update.
68759         Reported by Gary V. Vaughan <gary@gnu.org>.
68760
68761 2007-05-28  Bruno Haible  <bruno@clisp.org>
68762
68763         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
68764
68765 2007-05-31  Eric Blake  <ebb9@byu.net>
68766
68767         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
68768         cross compiling.
68769
68770 2007-05-30  Eric Blake  <ebb9@byu.net>
68771         and Bruno Haible  <bruno@clisp.org>
68772
68773         Work around mingw test failures exposed by m4-1.4.9b.
68774         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
68775         * tests/test-unistd.c: Disable uid_t and git_t tests for the
68776         moment.
68777
68778 2007-05-30  Bruno Haible  <bruno@clisp.org>
68779
68780         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
68781         assuming that they are closed. Needed on HP-UX 11.
68782
68783 2007-05-29  Bruno Haible  <bruno@clisp.org>
68784
68785         Fix a problem with #include_next.
68786         * lib/dirent_.h: Split the double-inclusion guard.
68787         * lib/fcntl_.h: Likewise.
68788         * lib/float_.h: Likewise.
68789         * lib/iconv_.h: Likewise.
68790         * lib/inttypes_.h: Likewise.
68791         * lib/locale_.h: Likewise.
68792         * lib/math_.h: Likewise.
68793         * lib/netinet_in_.h: Likewise.
68794         * lib/search_.h: Likewise.
68795         * lib/signal_.h: Likewise.
68796         * lib/stdint_.h: Likewise.
68797         * lib/stdio_.h: Likewise.
68798         * lib/stdlib_.h: Likewise.
68799         * lib/string_.h: Likewise.
68800         * lib/sys_select_.h: Likewise.
68801         * lib/sys_socket_.h: Likewise.
68802         * lib/sys_stat_.h: Likewise.
68803         * lib/sys_time_.h: Likewise.
68804         * lib/sysexits_.h: Likewise.
68805         * lib/time_.h: Likewise.
68806         * lib/unistd_.h: Likewise.
68807         * lib/wchar_.h: Likewise.
68808         * lib/wctype_.h: Likewise.
68809
68810 2007-05-29  Bruno Haible  <bruno@clisp.org>
68811
68812         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
68813         for the moment.
68814
68815 2007-05-29  Bruno Haible  <bruno@clisp.org>
68816
68817         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
68818         invocation.
68819         Reported by Eric Blake.
68820
68821 2007-05-29  Bruno Haible  <bruno@clisp.org>
68822
68823         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
68824         compiling case.
68825
68826 2007-05-29  Eric Blake  <ebb9@byu.net>
68827             Bruno Haible  <bruno@clisp.org>
68828
68829         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
68830         cross compiles.
68831
68832 2007-05-28  Eric Blake  <ebb9@byu.net>
68833
68834         * modules/closein-tests (test_closein_LDADD): Support test on
68835         cygwin with libtool.
68836
68837 2007-05-28  Bruno Haible  <bruno@clisp.org>
68838
68839         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
68840         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
68841         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
68842         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
68843         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
68844         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
68845         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
68846         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
68847         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
68848
68849 2007-05-28  Eric Blake  <ebb9@byu.net>
68850
68851         Unconditionally include <config.h> in unit tests.
68852         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
68853         * tests/test-allocsa.c, tests/test-arcfour.c,
68854         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
68855         tests/test-array_list.c, tests/test-array_oset.c,
68856         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
68857         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
68858         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
68859         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
68860         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
68861         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
68862         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
68863         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
68864         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
68865         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
68866         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
68867         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
68868         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
68869         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
68870         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
68871         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
68872         test-md5.c, test-memmem.c, test-printf-posix.c,
68873         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
68874         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
68875         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
68876         test-strcasestr.c, test-striconv.c, test-striconveh.c,
68877         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
68878         test-vasnprintf-posix2.c, test-vasnprintf.c,
68879         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
68880         test-vfprintf-posix.c, test-vprintf-posix.c,
68881         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
68882         test-xvasprintf.c: Likewise.
68883
68884 2007-05-28  Bruno Haible  <bruno@clisp.org>
68885
68886         * gnulib-tool (func_import): Remember the --with-tests command-line
68887         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
68888         Reported by Eric Blake.
68889
68890 2007-05-28  Bruno Haible  <bruno@clisp.org>
68891
68892         * modules/ftell-tests: New file.
68893         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
68894         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
68895
68896         * lib/ftell.c: New file.
68897         * modules/ftell: New file.
68898         * m4/ftell.m4: New file.
68899         * doc/functions/ftell.texi: Update.
68900         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
68901         REPLACE_FTELL.
68902         * lib/stdio_.h (rpl_ftell): New declaration.
68903         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
68904         REPLACE_FTELL.
68905
68906 2007-05-28  Eric Blake  <ebb9@byu.net>
68907
68908         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
68909
68910 2007-05-28  Bruno Haible  <bruno@clisp.org>
68911
68912         * modules/fseek-tests: New file.
68913         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
68914         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
68915
68916         * lib/fseek.c: New file.
68917         * modules/fseek: New file.
68918         * m4/fseek.m4: New file.
68919         * doc/functions/fseek.texi: Update.
68920         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
68921         REPLACE_FSEEK.
68922         * lib/stdio_.h (rpl_fseek): New declaration.
68923         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
68924         REPLACE_FSEEK.
68925
68926 2007-05-28  Bruno Haible  <bruno@clisp.org>
68927
68928         * lib/stdio_.h (fflush): More comments.
68929
68930 2007-05-28  Bruno Haible  <bruno@clisp.org>
68931
68932         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
68933         runtime test.
68934
68935 2007-05-28  Eric Blake  <ebb9@byu.net>
68936
68937         Improve lseek module.
68938         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
68939         * lib/unistd_.h (lseek): Scale back link warning message.
68940         * tests/test-lseek.c: Beef up test.
68941         * tests/test-lseek.sh: Exercise more facets of lseek.
68942         Reported by Bruno Haible.
68943
68944 2007-05-28  Bruno Haible  <bruno@clisp.org>
68945
68946         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
68947         to define.
68948
68949 2007-05-27  Bruno Haible  <bruno@clisp.org>
68950
68951         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
68952
68953 2007-05-27  Bruno Haible  <bruno@clisp.org>
68954
68955         * modules/openmp: New file.
68956         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
68957         Noah Misch.
68958
68959 2007-05-26  Bruno Haible  <bruno@clisp.org>
68960
68961         * modules/chdir-long (Depends-on): Add fchdir.
68962         * modules/chdir-safer (Depends-on): Likewise.
68963         * modules/fts (Depends-on): Likewise.
68964         * modules/fts-lgpl (Depends-on): Likewise.
68965         * modules/openat (Depends-on): Likewise.
68966         * modules/savewd (Depends-on): Likewise.
68967
68968 2007-05-24  Eric Blake  <ebb9@byu.net>
68969
68970         Fix lseek on mingw.
68971         * modules/lseek: New module.
68972         * m4/lseek.m4: New file.
68973         * lib/lseek.c: New file.
68974         * modules/lseek-tests: New file.
68975         * tests/test-lseek.c: New file.
68976         * tests/test-lseek.sh: New file.
68977         * MODULES.html.sh: Document lseek module.
68978         * modules/fflush (Depends-on): Add lseek, fseeko.
68979         * modules/fseeko (Depends-on): Likewise.
68980         * modules/ftello (Depends-on): Likewise.
68981         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
68982         broken.
68983         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
68984         broken.
68985         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
68986         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
68987         * lib/ftello.c (rpl_ftello): Likewise.
68988         * tests/test-fseeko.c (main): Test this.
68989         * tests/test-fseeko.sh: Likewise.
68990         * tests/test-ftello.c (main): Likewise.
68991         * tests/test-ftello.sh: Likewise.
68992         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
68993         implies replacing fseek.
68994         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
68995         HAVE_FTELLO.
68996         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
68997         * modules/unistd (Makefile.am): Likewise.
68998         * lib/unistd_.h (lseek): Declare a replacement.
68999         * doc/functions/lseek.texi (lseek): Document this fix.
69000         * doc/functions/fseek.texi (fseek): Likewise.
69001         * doc/functions/ftell.texi (ftell): Likewise.
69002
69003 2007-05-24  Bruno Haible  <bruno@clisp.org>
69004
69005         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
69006         in the printed representation of a NaN.
69007         * tests/test-vasprintf-posix.c (test_function): Likewise.
69008         * tests/test-snprintf-posix.h (test_function): Likewise.
69009         * tests/test-sprintf-posix.h (test_function): Likewise.
69010         Reported by Eric Blake.
69011
69012 2007-05-23  Eric Blake  <ebb9@byu.net>
69013
69014         Fix fseeko/ftello on cygwin 1.5.24.
69015         * doc/functions/fseeko.texi (fseeko): Document the fix.
69016         * doc/functions/ftello.texi (ftello): Document the fix.
69017         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
69018         * doc/functions/stdout.text (stdout): New file.
69019         * doc/functions/stderr.text (stderr): New file.
69020         * doc/gnulib.texi (Function Substitutes): Use new files.
69021         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
69022         prior to 1.7.0.
69023         * tests/test-ftello.c (main): Likewise for ftello.
69024         * tests/test-fseeko.sh: New file.
69025         * tests/test-ftello.sh: New file.
69026         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
69027         with seekable stdin.
69028         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
69029         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
69030         (gl_REPLACE_FSEEKO): New macro.
69031         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
69032         * modules/fseeko (Files): Distribute fseeko.c.
69033         * modules/ftello (Files): Distribute ftello.c.
69034         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
69035         mode.
69036         * lib/ftello.c (rpl_ftello): New file.
69037         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
69038         fseeko, ftello.
69039         (gl_STDIN_LARGE_OFFSET): New macro.
69040         * modules/stdio (Makefile.am): Perform the replacement.
69041         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
69042
69043 2007-05-23  Bruno Haible  <bruno@clisp.org>
69044
69045         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
69046         GNULIB_POSIXCHECK is defined.
69047
69048 2007-05-21  Bruno Haible  <bruno@clisp.org>
69049
69050         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
69051         Check also the output for NaN arguments. When cross-compiling, guess
69052         no on IRIX.
69053         * lib/vasnprintf.c: Update comments.
69054         * tests/test-vasnprintf-posix.c (strisnan): New function.
69055         (test_function): Use it.
69056         * tests/test-vasprintf-posix.c (strisnan): New function.
69057         (test_function): Use it.
69058         * tests/test-snprintf-posix.h (strisnan): New function.
69059         (test_function): Use it.
69060         * tests/test-sprintf-posix.h (strisnan): New function.
69061         (test_function): Use it.
69062         Reported by Eric Blake.
69063
69064 2007-05-20  Bruno Haible  <bruno@clisp.org>
69065
69066         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
69067         numbers that fails on BeOS.
69068         * doc/functions/frexpl.texi: Update.
69069
69070 2007-05-20  Jim Meyering  <jim@meyering.net>
69071
69072         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
69073         forced upon us by glibc-2.6.
69074
69075 2007-05-20  Bruno Haible  <bruno@clisp.org>
69076
69077         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
69078         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
69079         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
69080         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
69081         NEED_PRINTF_INFINITE.
69082         (is_infinitel): New function.
69083         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
69084         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
69085         gl_PREREQ_VASNPRINTF_INFINITE.
69086         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
69087         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69088         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
69089         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
69090         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
69091         gl_PREREQ_VASNPRINTF_INFINITE.
69092         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69093         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69094         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69095         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69096         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69097         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69098         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69099         * doc/functions/fprintf.texi: Update.
69100         * doc/functions/printf.texi: Update.
69101         * doc/functions/snprintf.texi: Update.
69102         * doc/functions/sprintf.texi: Update.
69103         * doc/functions/vfprintf.texi: Update.
69104         * doc/functions/vprintf.texi: Update.
69105         * doc/functions/vsnprintf.texi: Update.
69106         * doc/functions/vsprintf.texi: Update.
69107
69108 2007-05-20  Bruno Haible  <bruno@clisp.org>
69109
69110         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
69111         was not found in libc.
69112         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
69113
69114 2007-05-20  Bruno Haible  <bruno@clisp.org>
69115
69116         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69117         printed as "-nan" instead of "nan".
69118         * tests/test-vasprintf-posix.c (test_function): Likewise.
69119         * tests/test-snprintf-posix.h (test_function): Likewise.
69120         * tests/test-sprintf-posix.h (test_function): Likewise.
69121         Needed for HP-UX 11.
69122
69123 2007-05-20  Jim Meyering  <jim@meyering.net>
69124
69125         Fix buggy test for the fchownat-deref bug.
69126         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
69127         symlink required for the run-test.  Without it, this test would
69128         always declare that fchownat doesn't work, and client code would
69129         unnecessarily use the replacement function with fixed libc.
69130         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
69131         Reported by Greg Schafer.
69132
69133 2007-05-19  Bruno Haible  <bruno@clisp.org>
69134
69135         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
69136         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
69137         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
69138         Needed for IRIX 6.5 and Solaris 2.5.1.
69139
69140 2007-05-19  Bruno Haible  <bruno@clisp.org>
69141
69142         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
69143         (test_function): Skip tests involving -0.0 on platforms where
69144         -0.0 = 0.0.
69145         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
69146         (test_function): Skip tests involving -0.0 on platforms where
69147         -0.0 = 0.0.
69148         * tests/test-snprintf-posix.h (have_minus_zero): New function.
69149         (test_function): Skip tests involving -0.0 on platforms where
69150         -0.0 = 0.0.
69151         * tests/test-sprintf-posix.h (have_minus_zero): New function.
69152         (test_function): Skip tests involving -0.0 on platforms where
69153         -0.0 = 0.0.
69154         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
69155         tests.
69156         * tests/test-printf-posix.h (test_function): Likewise.
69157         * tests/test-printf-posix.output: Remove all -0.0 related results.
69158         Needed for IRIX 6.5.
69159
69160 2007-05-19  Bruno Haible  <bruno@clisp.org>
69161
69162         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69163         printed as "nan0x7fffffff" instead of "nan".
69164         * tests/test-vasprintf-posix.c (test_function): Likewise.
69165         * tests/test-snprintf-posix.h (test_function): Likewise.
69166         * tests/test-sprintf-posix.h (test_function): Likewise.
69167         * tests/test-fprintf-posix.h (NaN): Remove macro.
69168         (test_function): Remove all NaN related tests.
69169         * tests/test-printf-posix.h (NaN): Remove macro.
69170         (test_function): Remove all NaN related tests.
69171         * tests/test-printf-posix.output: Remove all NaN related results.
69172         Needed for IRIX 6.5.
69173
69174 2007-05-19  Bruno Haible  <bruno@clisp.org>
69175
69176         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
69177         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
69178
69179 2007-05-19  Bruno Haible  <bruno@clisp.org>
69180
69181         * lib/float_.h: New file.
69182         * m4/float_h.m4: New file.
69183         * modules/float: New file.
69184         * modules/isnanl (Dependencies): Add float.
69185         * modules/isnanl-nolibm (Dependencies): Likewise.
69186         * modules/mathl (Dependencies): Likewise.
69187         * modules/printf-frexpl (Dependencies): Likewise.
69188         * modules/signbit (Dependencies): Likewise.
69189         * modules/vasnprintf (Dependencies): Likewise.
69190         * doc/headers/float.texi: Update.
69191
69192 2007-05-19  Jim Meyering  <jim@meyering.net>
69193
69194         * lib/utimens.c (gl_futimens): Rename from futimens,
69195         now that glibc-2.6 declares futimens.
69196         * lib/utimens.h: Likewise.
69197
69198 2007-05-19  Bruno Haible  <bruno@clisp.org>
69199
69200         Avoid test failures on mingw.
69201         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
69202         * tests/test-printf-posix.sh: Likewise.
69203         * tests/test-vfprintf-posix.sh: Likewise.
69204         * tests/test-vprintf-posix.sh: Likewise.
69205
69206 2007-05-19  Bruno Haible  <bruno@clisp.org>
69207
69208         Fix *printf result for NaN, Inf, -0.0 on mingw.
69209         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
69210         * lib/vasnprintf.c: Include math.h and isnan.h.
69211         (is_infinite_or_zero): New function.
69212         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
69213         values in the %f, %F, %e, %E, %g, %G directives.
69214         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
69215         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69216         gl_PRINTF_INFINITE and test its result. Invoke
69217         gl_PREREQ_VASNPRINTF_INFINITE.
69218         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69219         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69220         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69221         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69222         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69223         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69224         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69225         * doc/functions/fprintf.texi: Update.
69226         * doc/functions/printf.texi: Update.
69227         * doc/functions/snprintf.texi: Update.
69228         * doc/functions/sprintf.texi: Update.
69229         * doc/functions/vfprintf.texi: Update.
69230         * doc/functions/vprintf.texi: Update.
69231         * doc/functions/vsnprintf.texi: Update.
69232         * doc/functions/vsprintf.texi: Update.
69233
69234 2007-05-19  Bruno Haible  <bruno@clisp.org>
69235
69236         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
69237         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
69238         Instead of multiplying with 10^k, set extra_zeroes to k.
69239         (scale10_round_long_double): Remove function.
69240
69241 2007-05-18  Bruno Haible  <bruno@clisp.org>
69242
69243         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
69244         introduced on 2007-05-06.
69245
69246 2007-05-18  Bruno Haible  <bruno@clisp.org>
69247
69248         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
69249         %g directives.
69250         * tests/test-vasprintf-posix.c (test_function): Likewise.
69251         * tests/test-snprintf-posix.h (test_function): Likewise.
69252         * tests/test-sprintf-posix.h (test_function): Likewise.
69253
69254 2007-05-18  Bruno Haible  <bruno@clisp.org>
69255
69256         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
69257         (strmatch): New function.
69258         (test_function): Test the %f directive on numbers of various exponents.
69259         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
69260         (strmatch): New function.
69261         (test_function): Test the %f directive on numbers of various exponents.
69262         * tests/test-snprintf-posix.h (strmatch): New function.
69263         (test_function): Test the %f directive on numbers of various exponents.
69264         * tests/test-sprintf-posix.h (strmatch): New function.
69265         (test_function): Test the %f directive on numbers of various exponents.
69266         * tests/test-snprintf-posix.c (SIZEOF): New macro.
69267         * tests/test-sprintf-posix.c (SIZEOF): New macro.
69268         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
69269         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
69270
69271 2007-05-18  Bruno Haible  <bruno@clisp.org>
69272
69273         Add support for 'long double' number output.
69274         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
69275         * lib/vasnprintf.c: Include math.h and float+.h.
69276         (mp_limb_t): New type.
69277         (GMP_LIMB_BITS): New macro.
69278         (mp_twolimb_t): New type.
69279         (GMP_TWOLIMB_BITS): New macro.
69280         (mpn_t): New type.
69281         (multiply, divide, convert_to_decimal, decode_long_double,
69282         scale10_round_long_double, scale10_round_decimal_long_double,
69283         floorlog10l): New functions.
69284         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
69285         for the %f, %F, %e, %E, %g, %G directives.
69286         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
69287         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69288         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
69289         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
69290         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69291         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69292         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69293         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69294         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69295         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69296         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69297         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
69298         * modules/snprintf-posix (Depends-on): Likewise.
69299         * modules/sprintf-posix (Depends-on): Likewise.
69300         * modules/vasnprintf-posix (Depends-on): Likewise.
69301         * modules/vasprintf-posix (Depends-on): Likewise.
69302         * modules/vfprintf-posix (Depends-on): Likewise.
69303         * modules/vsnprintf-posix (Depends-on): Likewise.
69304         * modules/vsprintf-posix (Depends-on): Likewise.
69305         * modules/vasnprintf (Files): Add lib/float+.h.
69306         * doc/functions/fprintf.texi: Update.
69307         * doc/functions/printf.texi: Update.
69308         * doc/functions/snprintf.texi: Update.
69309         * doc/functions/sprintf.texi: Update.
69310         * doc/functions/vfprintf.texi: Update.
69311         * doc/functions/vprintf.texi: Update.
69312         * doc/functions/vsnprintf.texi: Update.
69313         * doc/functions/vsprintf.texi: Update.
69314
69315 2007-05-18  Bruno Haible  <bruno@clisp.org>
69316
69317         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
69318
69319 2007-05-18  Bruno Haible  <bruno@clisp.org>
69320
69321         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
69322         for printing 64-bit integers. Needed for mingw.
69323
69324 2007-05-18  Bruno Haible  <bruno@clisp.org>
69325
69326         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
69327         gl_FUNC_FREXPL_WORKS.
69328         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
69329
69330 2007-05-18  Bruno Haible  <bruno@clisp.org>
69331
69332         * modules/frexpl-nolibm-tests: New file.
69333
69334         * modules/frexpl-nolibm: New file.
69335         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
69336
69337 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69338
69339         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
69340         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69341         GCC 4.2, which otherwise issues a lot of warnings.
69342         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
69343         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
69344         Likewise.
69345         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
69346         * modules/iconv_open (iconv.h): Likewise.
69347         * modules/locale (locale.h): Likewise.
69348         * modules/netinet_in (netinet/in.h): Likewise.
69349         * modules/sys_select (sys_select.h): Likewise.
69350         * modules/sys_socket (sys/socket.h): Likewise.
69351         * modules/sys_stat (sys/stat.h): Likewise.
69352         * modules/sysexits (sysexits.h): Likewise.
69353         * modules/unistd (unistd.h): Likewise.
69354
69355 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69356
69357         * modules/closein-tests (Makefile.am): Distribute
69358         `test-closein.sh'.
69359
69360 2007-05-17  Bruno Haible  <bruno@clisp.org>
69361
69362         * tests/test-printf-posix.output: Renamed from
69363         tests/test-fprintf-posix.out.
69364         * modules/fprintf-posix-tests: Update.
69365         * modules/printf-posix-tests: Update.
69366         * modules/vfprintf-posix-tests: Update.
69367         * modules/vprintf-posix-tests: Update.
69368         * tests/test-fprintf-posix.sh: Update.
69369         * tests/test-printf-posix.sh: Update.
69370         * tests/test-vfprintf-posix.sh: Update.
69371         * tests/test-vprintf-posix.sh: Update.
69372         Reported by Ralf Wildenhues.
69373
69374 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69375
69376         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
69377         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69378         GCC 4.2, which otherwise issues a lot of warnings.
69379         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
69380         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
69381         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
69382         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
69383         it should no longer be needed.
69384         * lib/string_.h: Likewise.
69385         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
69386         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
69387         * modules/inttypes (inttypes.h): Likewise.
69388         * modules/math (math.h): Likewise.
69389         * modules/search (search.h): Likewise.
69390         * modules/signal (signal.h): Likewise.
69391         * modules/stdint (stdint.h): Likewise.
69392         * modules/stdio (stdio.h): Likewise.
69393         * modules/stdlib (stdlib.h): Likewise.
69394         * modules/string (string.h): Likewise.
69395         * modules/sys_time (sys/time.h): Likewise.
69396         * modules/time (time.h): Likewise.
69397         * modules/wchar (wchar.h): Likewise.
69398         * modules/wctype (wtype.h): Likewise.
69399
69400 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
69401
69402         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
69403
69404 2007-05-13  Bruno Haible  <bruno@clisp.org>
69405
69406         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
69407         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
69408         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
69409         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69410         (gl_PREREQ_STRTOK_R): Don't require it here.
69411
69412 2007-05-13  Bruno Haible  <bruno@clisp.org>
69413
69414         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
69415         when used in C++ mode.
69416
69417 2007-05-12  Bruno Haible  <bruno@clisp.org>
69418
69419         * lib/linebuffer.h: Tweak doc.
69420         * lib/linebuffer.c: Likewise.
69421
69422 2007-05-12  James Youngman  <jay@gnu.org>
69423
69424         * lib/linebuffer.c (readlinebuffer_delim): New function,
69425         like readlinebuffer, but use a caller-specified delimiter.
69426         (readlinebuffer): Just call readlinebuffer_delim with '\n'
69427         as the delimiter.
69428         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
69429
69430 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
69431
69432         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
69433         * modules/openat (Files): Remove openat-die.c.
69434         (Depends-on): Add openat-die.
69435         * modules/openat-die: New module.
69436
69437 2007-05-06  Bruno Haible  <bruno@clisp.org>
69438
69439         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
69440         Update with info about Cygwin.
69441         * doc/functions/fprintf.texi: Update.
69442         * doc/functions/printf.texi: Update.
69443         * doc/functions/snprintf.texi: Update.
69444         * doc/functions/sprintf.texi: Update.
69445         * doc/functions/vfprintf.texi: Update.
69446         * doc/functions/vprintf.texi: Update.
69447         * doc/functions/vsnprintf.texi: Update.
69448         * doc/functions/vsprintf.texi: Update.
69449         Reported by Eric Blake.
69450
69451 2007-05-06  Bruno Haible  <bruno@clisp.org>
69452
69453         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
69454         padding ourselves for the floating-point directives.
69455         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
69456         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
69457         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69458         gl_PRINTF_FLAG_ZERO and test its result. Invoke
69459         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
69460         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69461         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69462         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69463         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69464         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69465         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69466         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69467         * tests/test-snprintf-posix.h (test_function): Also check the width
69468         and some flags in the %f directive.
69469         * tests/test-sprintf-posix.h (test_function): Likewise.
69470         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69471         * tests/test-vasprintf-posix.c (test_function): Likewise.
69472         * doc/functions/fprintf.texi: Update.
69473         * doc/functions/printf.texi: Update.
69474         * doc/functions/snprintf.texi: Update.
69475         * doc/functions/sprintf.texi: Update.
69476         * doc/functions/vfprintf.texi: Update.
69477         * doc/functions/vprintf.texi: Update.
69478         * doc/functions/vsnprintf.texi: Update.
69479         * doc/functions/vsprintf.texi: Update.
69480
69481 2007-05-06  Bruno Haible  <bruno@clisp.org>
69482
69483         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
69484         pass the ' flag character to sprintf or snprintf.
69485         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
69486         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
69487         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69488         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
69489         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
69490         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69491         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69492         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69493         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69494         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69495         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69496         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69497         * tests/test-snprintf-posix.h (test_function): Also check the grouping
69498         flag.
69499         * tests/test-sprintf-posix.h (test_function): Likewise.
69500         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69501         * tests/test-vasprintf-posix.c (test_function): Likewise.
69502         * doc/functions/fprintf.texi: Update.
69503         * doc/functions/printf.texi: Update.
69504         * doc/functions/snprintf.texi: Update.
69505         * doc/functions/sprintf.texi: Update.
69506         * doc/functions/vfprintf.texi: Update.
69507         * doc/functions/vprintf.texi: Update.
69508         * doc/functions/vsnprintf.texi: Update.
69509         * doc/functions/vsprintf.texi: Update.
69510
69511 2007-05-01  Bruno Haible  <bruno@clisp.org>
69512
69513         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
69514
69515 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
69516
69517         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
69518         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
69519
69520 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
69521
69522         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
69523         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
69524         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
69525
69526 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
69527
69528         * lib/argp-help.c (struct hol_entry): New member `ord'.
69529         (HOL_ENTRY_PTRCMP): Use ord for comparison
69530         (hol_sort): Initialize ord.
69531
69532 2007-05-01  Bruno Haible  <bruno@clisp.org>
69533
69534         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
69535         Reported by Eric Blake.
69536         * doc/gnulib.texi (Function Substitutes): Update.
69537
69538 2007-05-01  Bruno Haible  <bruno@clisp.org>
69539
69540         * doc/functions.texi: Remove file, now redundant through
69541         doc/functions/*.texi.
69542
69543 2007-05-01  Bruno Haible  <bruno@clisp.org>
69544
69545         * modules/argp (Depends-on): Add sleep.
69546
69547 2007-05-01  Bruno Haible  <bruno@clisp.org>
69548
69549         * modules/sleep-tests: New file.
69550         * tests/test-sleep.c: New file.
69551
69552         * modules/sleep: New file.
69553         * lib/sleep.c: New file.
69554         * m4/sleep.m4: New file.
69555         * lib/unistd_.h (sleep): New declaration.
69556         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
69557         HAVE_SLEEP.
69558         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
69559         * doc/functions/sleep.texi: Document the sleep module.
69560
69561 2007-05-01  Bruno Haible  <bruno@clisp.org>
69562
69563         * lib/sigprocmask.h: Remove file.
69564         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
69565         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
69566         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
69567         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
69568         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
69569         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
69570         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
69571         HAVE_SIGSET_T as a shell variable.
69572         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
69573         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
69574         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
69575         (Depends-on): Add signal. Remove verify.
69576         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
69577         (Include): Mention <signal.h> instead of sigprocmask.h.
69578         * NEWS: Mention the change.
69579         * lib/fatal-signal.c: Don't include sigprocmask.h.
69580
69581 2007-05-01  Bruno Haible  <bruno@clisp.org>
69582
69583         * modules/signal: New file.
69584         * lib/signal_.h: New file.
69585         * m4/signal_h.m4: New file.
69586
69587 2007-05-01  Bruno Haible  <bruno@clisp.org>
69588
69589         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
69590         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
69591         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
69592         HAVE_WCTYPE_CTMP_BUG into wctype.h.
69593
69594 2007-05-01  Bruno Haible  <bruno@clisp.org>
69595
69596         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
69597         configure time.
69598         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
69599         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
69600         * modules/sys_stat (Makefile.am): Substitute their values into
69601         sys/stat.h.
69602
69603 2007-05-01  Bruno Haible  <bruno@clisp.org>
69604
69605         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
69606         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
69607         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
69608
69609 2007-05-01  Bruno Haible  <bruno@clisp.org>
69610
69611         * doc/header/assert.texi: Undo last change: don't mention the gnulib
69612         'assert' module here.
69613
69614 2007-05-01  Bruno Haible  <bruno@clisp.org>
69615
69616         * doc/functions/*.texi: New files.
69617         * doc/functions/google-ranking.txt: New file.
69618         * doc/gnulib.texi (Function Substitutes): New chapter.
69619         (ctime, inet_ntoa): Remove sections.
69620         * doc/ctime.texi: Remove file.
69621         * doc/inet_ntoa.texi: Remove file.
69622         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
69623         dependencies.
69624         (%.info): New rule, specifying a --reference-limit.
69625
69626 2007-05-01  Bruno Haible  <bruno@clisp.org>
69627
69628         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
69629
69630 2007-05-01  Bruno Haible  <bruno@clisp.org>
69631
69632         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
69633         the portability of 'mkdir' to mingw systems.
69634
69635 2007-05-01  Bruno Haible  <bruno@clisp.org>
69636
69637         * doc/headers/google-ranking.txt: New file.
69638
69639 2007-04-30  Eric Blake  <ebb9@byu.net>
69640
69641         Prefer fseeko to fseek.
69642         * modules/getpass (Depends-on): Add fseeko.
69643         * lib/getpass.c (getpass): Use fseeko, not fseek.
69644
69645 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
69646
69647         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
69648         assumes the sorting is stable, while most qsort implementations
69649         are not.  Use argument addresses to ensure they never compare as
69650         equal.
69651
69652         * tests/test-argp-2.sh (usage-indent test): Fix output
69653         (func_compare): Restore diff options
69654         * tests/test-argp.c: Restore #include "progname.h"
69655
69656 2007-04-29  Bruno Haible  <bruno@clisp.org>
69657
69658         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
69659         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69660         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
69661         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69662         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
69663         (configure.ac): Define CHECK_SNPRINTF_POSIX.
69664         (TESTS, check_PROGRAMS): Add test-snprintf.
69665         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
69666         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
69667         (TESTS, check_PROGRAMS): Add test-vsnprintf.
69668         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
69669         assertions that fail on HP-UX, OSF/1, or IRIX.
69670         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
69671
69672 2007-04-29  Bruno Haible  <bruno@clisp.org>
69673
69674         * MODULES.html.sh (posix_functions): Remove 'contents'.
69675
69676 2007-04-29  Karl Berry  <karl@gnu.org>
69677
69678         * config/srclist.txt (gendocs_template_min): new entry.
69679
69680 2007-04-29  Bruno Haible  <bruno@clisp.org>
69681
69682         Work around fpurge bug on BSD systems.
69683         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
69684         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
69685         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
69686         fpurge to rpl_fpurge if the system already has this function.
69687         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
69688         the case where the system already has this function. Correct invariants
69689         on BSD systems.
69690         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
69691         BSD systems.
69692
69693 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
69694
69695         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
69696         proposed by Sven Verdoolaege.
69697
69698         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
69699         options.
69700         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
69701         (usage and help tests): Update
69702
69703 2007-04-29  Bruno Haible  <bruno@clisp.org>
69704
69705         * tests/test-fflush.c (main): Use a file of size 17, not 10.
69706         Print more information in case of failure. Disable a test on BeOS.
69707
69708 2007-04-29  Bruno Haible  <bruno@clisp.org>
69709
69710         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
69711         This helps debugging on systems on which no gdb is available.
69712
69713 2007-04-29  Bruno Haible  <bruno@clisp.org>
69714
69715         * lib/freading.h: Improve comments.
69716         * lib/fwriting.h: Likewise.
69717         * tests/test-freading.c (main): Don't check freading immediately after
69718         repositioning. Needed for glibc.
69719
69720 2007-04-29  Bruno Haible  <bruno@clisp.org>
69721
69722         * lib/freading.c (freading): Trivial simplification.
69723
69724 2007-04-28  Bruno Haible  <bruno@clisp.org>
69725
69726         * tests/test-fwriting.c (main): Also test the interaction between
69727         fflush and fwriting.
69728         * modules/fwriting-tests (Depends-on): Add fflush.
69729
69730         * tests/test-freading.c (main): Also test the interaction between
69731         fflush and freading.
69732         * modules/freading-tests (Depends-on): Add fflush.
69733
69734 2007-04-28  Bruno Haible  <bruno@clisp.org>
69735
69736         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
69737         fseeko and ftello.
69738         Suggested by Eric Blake.
69739
69740 2007-04-28  Jim Meyering  <jim@meyering.net>
69741
69742         Avoid false-negative in gl_STDINT_H's C99 conformance test.
69743         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
69744         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
69745
69746 2007-04-27  Eric Blake  <ebb9@byu.net>
69747
69748         * doc/headers/assert.texi (assert.h): Document assert module use.
69749
69750 2007-04-27  Bruno Haible  <bruno@clisp.org>
69751
69752         * doc/headers/*.texi: New files.
69753         * doc/gnulib.texi (Header File Substitutes): New chapter.
69754         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
69755         dependencies.
69756         (standards.info ,standards.html, standards.dvi): Update dependencies.
69757         (mostlyclean, clean): New targets.
69758
69759 2007-04-27  Bruno Haible  <bruno@clisp.org>
69760
69761         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
69762         * modules/sysexits (Files, Makefile.am): Update.
69763
69764         * lib/sys_socket_.h: Renamed from lib/socket_.h.
69765         * modules/sys_socket (Files, Makefile.am): Update.
69766
69767         * lib/sys_stat_.h: Renamed from lib/stat_.h.
69768         * modules/sys_stat (Files, Makefile.am): Update.
69769
69770 2007-04-27  Eric Blake  <ebb9@byu.net>
69771
69772         * lib/freading.h: Improve comments.
69773         * lib/fwriting.h: Likewise.
69774         * lib/fflush.c: Likewise.
69775
69776         Fix closein for mingw.
69777         * modules/closein-tests: Add tests for closein.
69778         * tests/test-closein.c: New file.
69779         * tests/test-closein.sh: Likewise.
69780         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
69781         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
69782
69783 2007-04-27  Bruno Haible  <bruno@clisp.org>
69784
69785         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
69786         version is < 6.
69787         * lib/math_.h [__DECC]: Likewise.
69788         * lib/stdio_.h [__DECC]: Likewise.
69789         * lib/stdlib_.h [__DECC]: Likewise.
69790         * lib/string_.h [__DECC]: Likewise.
69791         * lib/time_.h [__DECC]: Likewise.
69792         * lib/wchar_.h [__DECC]: Likewise.
69793         * lib/wctype_.h [__DECC]: Likewise.
69794
69795 2007-04-27  Bruno Haible  <bruno@clisp.org>
69796
69797         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
69798
69799 2007-04-27  Bruno Haible  <bruno@clisp.org>
69800
69801         * lib/fflush.c: Add comments.
69802         * modules/fpurge-tests (Depends-on): Add fflush.
69803         * modules/freadable-tests (Depends-on): Likewise.
69804         * modules/fwritable-tests (Depends-on): Likewise.
69805
69806 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
69807
69808         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
69809         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
69810         Report by Bruno Haible <bruno@clisp.org>.
69811
69812 2007-04-26  Eric Blake  <ebb9@byu.net>
69813
69814         Fix fflush on mingw.
69815         * modules/fflush (Depends-on): Add freading.
69816         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
69817         but unread data.
69818
69819 2007-04-26  Eric Blake  <ebb9@byu.net>
69820         and Bruno Haible  <bruno@clisp.org>
69821
69822         Implement freading and fwriting.
69823         * lib/freading.c: New file.
69824         * lib/freading.h: Likewise.
69825         * m4/freading.m4: Likewise.
69826         * modules/freading: Likewise.
69827         * modules/freading-tests: Likewise.
69828         * tests/test-freading.c: Likewise.
69829         * lib/fwriting.c: New file.
69830         * lib/fwriting.h: Likewise.
69831         * m4/fwriting.m4: Likewise.
69832         * modules/fwriting: Likewise.
69833         * modules/fwriting-tests: Likewise.
69834         * tests/test-fwriting.c: Likewise.
69835         * MODULES.html.sh (File stream based Input/Output): Mention them.
69836
69837 2007-04-26  Bruno Haible  <bruno@clisp.org>
69838
69839         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
69840         'long' when we assume it.
69841         Suggested by Eric Blake.
69842
69843 2007-04-26  Bruno Haible  <bruno@clisp.org>
69844
69845         Ensure fseeko, ftello are declared on glibc systems.
69846         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
69847         * modules/fseeko (configure.ac-early): Likewise.
69848         * modules/ftello (configure.ac-early): Likewise.
69849         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
69850         AC_FUNC_FSEEKO for this.
69851         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
69852         (gl_CHECK_FSEEKO): Remove macro.
69853
69854 2007-04-26  Bruno Haible  <bruno@clisp.org>
69855
69856         * tests/test-fflush.c (main): Also check the ftell result after
69857         fflush and fseek/fseeko.
69858         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
69859         file descriptor position cache in the stream.
69860         * lib/fseeko.c (rpl_fseeko): Likewise.
69861
69862 2007-04-26  Bruno Haible  <bruno@clisp.org>
69863
69864         * modules/fflush-tests (Depends-on): Add fseeko.
69865
69866 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
69867             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69868
69869         * lib/argz_.h: ensure error_t definition is obtained in same
69870         mechanism system argz.h would have.
69871         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
69872         argz facilities are known bad.  Err on the side of caution if
69873         cross-compiling.
69874
69875 2007-04-25  Eric Blake  <ebb9@byu.net>
69876
69877         * lib/fpurge.c (includes): Use stdlib.h for free.
69878         * tests/test-fflush.c (main): Also test fflush-fseeko.
69879
69880 2007-04-25  Bruno Haible  <bruno@clisp.org>
69881
69882         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
69883         * lib/fseeko.c: New file.
69884         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
69885         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
69886         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
69887         gl_FUNC_FSEEKO.
69888         (gl_FUNC_FSEEKO): Invoke it.
69889         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
69890         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
69891         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
69892
69893 2007-04-25  Bruno Haible  <bruno@clisp.org>
69894
69895         * modules/fflush (Depends-on): Add ftello.
69896
69897 2007-04-25  Bruno Haible  <bruno@clisp.org>
69898
69899         * modules/ftello-tests: New file.
69900         * tests/test-ftello.c: New file.
69901
69902         * modules/ftello: New file.
69903         * m4/ftello.m4: New file.
69904         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
69905         HAVE_FTELLO.
69906         * lib/stdio_.h (ftello): New declaration.
69907         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
69908         HAVE_FTELLO.
69909
69910 2007-04-25  Bruno Haible  <bruno@clisp.org>
69911
69912         * modules/fseeko-tests: New file.
69913         * tests/test-fseeko.c: New file.
69914
69915         * modules/fseeko: New file.
69916         * m4/fseeko.m4: New file.
69917         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
69918         HAVE_FSEEKO.
69919         * lib/stdio_.h (fseeko): New declaration.
69920         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
69921         HAVE_FSEEKO.
69922
69923 2007-04-25  Bruno Haible  <bruno@clisp.org>
69924
69925         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
69926
69927 2007-04-25  Bruno Haible  <bruno@clisp.org>
69928
69929         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
69930         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
69931         * tests/test-unistd.c: Likewise.
69932         * tests/test-fcntl.c: Likewise.
69933
69934 2007-04-23  Eric Blake  <ebb9@byu.net>
69935
69936         * lib/fflush.c: Fix missing include.
69937         Reported by Bruno Haible.
69938
69939 2007-04-23  Bruno Haible  <bruno@clisp.org>
69940
69941         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
69942         Reported by Eric Blake.
69943
69944 2007-04-23  Bruno Haible  <bruno@clisp.org>
69945
69946         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
69947
69948 2007-04-23  Bruno Haible  <bruno@clisp.org>
69949
69950         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
69951
69952 2007-04-23  Bruno Haible  <bruno@clisp.org>
69953
69954         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
69955         Needed on HP-UX 11.
69956
69957 2007-04-16  Eric Blake  <ebb9@byu.net>
69958
69959         Make fflush rely on fpurge.
69960         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
69961         open coding all variants.
69962         * modules/fflush (Depends-on): Add fpurge and unistd.
69963         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
69964         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
69965
69966         Fix --with-tests compilation on cygwin.
69967         * modules/argmatch-tests (Makefile.am): List gnulib library first
69968         in LDADD.
69969         * modules/argp-tests (Makefile.am): Likewise.
69970         * modules/array-list-tests (Makefile.am): Likewise.
69971         * modules/array-oset-tests (Makefile.am): Likewise.
69972         * modules/avltree-list-tests (Makefile.am): Likewise.
69973         * modules/avltree-oset-tests (Makefile.am): Likewise.
69974         * modules/avltreehash-list-tests (Makefile.am): Likewise.
69975         * modules/carray-list-tests (Makefile.am): Likewise.
69976         * modules/dirname-tests (Makefile.am): Likewise.
69977         * modules/frexp-tests (Makefile.am): Likewise.
69978         * modules/isnanl-tests (Makefile.am): Likewise.
69979         * modules/linked-list-tests (Makefile.am): Likewise.
69980         * modules/linkedhash-list-tests (Makefile.am): Likewise.
69981         * modules/lock-tests (Makefile.am): Likewise.
69982         * modules/rbtree-list-tests (Makefile.am): Likewise.
69983         * modules/rbtree-oset-tests (Makefile.am): Likewise.
69984         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
69985         * modules/tls-tests (Makefile.am): Likewise.
69986         * modules/tsearch-tests (Makefile.am): Likewise.
69987         * modules/xvasprintf-tests (Makefile.am): Likewise.
69988
69989         Fix fpurge for cygwin.
69990         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
69991         value.
69992         * modules/fpurge-tests (Depends-on): Clean up trash.
69993
69994 2007-04-16  Simon Josefsson  <simon@josefsson.org>
69995
69996         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
69997
69998         * m4/autobuild.m4: Re-indent.
69999
70000 2007-04-13  Bruno Haible  <bruno@clisp.org>
70001
70002         * modules/fpurge-tests: New file.
70003         * tests/test-fpurge.c: New file.
70004
70005         * modules/fpurge: New file.
70006         * lib/fpurge.h: New file.
70007         * lib/fpurge.c: New file.
70008         * m4/fpurge.m4: New file.
70009
70010 2007-04-13  Bruno Haible  <bruno@clisp.org>
70011
70012         * modules/fbufmode-tests: New file.
70013         * tests/test-fbufmode.c: New file.
70014
70015         * modules/fbufmode: New file.
70016         * lib/fbufmode.h: New file.
70017         * lib/fbufmode.c: New file.
70018         * m4/fbufmode.m4: New file.
70019
70020 2007-04-13  Bruno Haible  <bruno@clisp.org>
70021
70022         * modules/fwritable-tests: New file.
70023         * tests/test-fwritable.c: New file.
70024
70025         * modules/fwritable: New file.
70026         * lib/fwritable.h: New file.
70027         * lib/fwritable.c: New file.
70028         * m4/fwritable.m4: New file.
70029
70030 2007-04-13  Bruno Haible  <bruno@clisp.org>
70031
70032         * modules/freadable-tests: New file.
70033         * tests/test-freadable.c: New file.
70034
70035         * modules/freadable: New file.
70036         * lib/freadable.h: New file.
70037         * lib/freadable.c: New file.
70038         * m4/freadable.m4: New file.
70039
70040 2007-04-13  Bruno Haible  <bruno@clisp.org>
70041
70042         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
70043         MOSTLYCLEANFILES.
70044
70045 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
70046
70047         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
70048         gzip bootstrap.conf to avoid dragging in i18n machinery.
70049         (gnulib_tool_option): Use it.
70050
70051 2007-04-13  Bruno Haible  <bruno@clisp.org>
70052
70053         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
70054         %F directives.
70055         * tests/test-vasprintf-posix.c (test_function): Likewise.
70056         * tests/test-snprintf-posix.h (test_function): Likewise.
70057         * tests/test-sprintf-posix.h (test_function): Likewise.
70058         * tests/test-fprintf-posix.h (test_function): Likewise.
70059         * tests/test-printf-posix.h (test_function): Likewise.
70060         * tests/test-fprintf-posix.out: Likewise.
70061
70062 2007-04-13  Bruno Haible  <bruno@clisp.org>
70063
70064         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
70065         * modules/tls-tests (configure.ac): Likewise.
70066         Reported by Arto C. Nirkko <anirkko@insel.ch>.
70067
70068 2007-04-13  Bruno Haible  <bruno@clisp.org>
70069
70070         * lib/tls.c (glthread_tls_get): Fix return type.
70071         Patch by Arto C. Nirkko <anirkko@insel.ch>.
70072
70073 2007-04-12  Eric Blake  <ebb9@byu.net>
70074
70075         * modules/gettime (Depends-on): Remove gettime.
70076         Reported by Dmitry V. Levin.
70077
70078 2007-04-12  Bruno Haible  <bruno@clisp.org>
70079
70080         * modules/fflush (Include): Mention <stdio.h>.
70081         * modules/strtoimax (Include): Mention <inttypes.h>.
70082         * modules/strtoumax (Include): Likewise.
70083
70084 2007-04-12  Eric Blake  <ebb9@byu.net>
70085
70086         * .cvsignore: New file.
70087         * .gitignore: Likewise.
70088
70089 2007-04-12  Bruno Haible  <bruno@clisp.org>
70090
70091         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
70092         not before, since $(LDADD) often contains libgnu.a.
70093         * modules/striconv-tests (test_striconv_LDADD): Likewise.
70094         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
70095         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
70096         Needed on Cygwin.
70097
70098 2007-04-12  Eric Blake  <ebb9@byu.net>
70099
70100         Work around glibc's failure to flush stdin on fclose.
70101         * lib/closein.c (close_stdin): Flush stdin before closing.
70102
70103         Work around glibc's failure to reset seekable stdin on exit.
70104         * modules/closein: New module.
70105         * lib/closein.c: New file.
70106         * lib/closein.h: Likewise.
70107         * m4/closein.m4: Likewise.
70108         * MODULES.html.sh (File stream based Input/Output): Document it.
70109
70110 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70111
70112         * gnulib-tool: Rename generated 'autobuild' script to
70113         'do-autobuild' in --create-megatestdir output.
70114
70115         * doc/gnulib.texi (Build robot for gnulib): Fix.
70116
70117 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70118
70119         * modules/sysexits (Depends-on): Add absolute-header.
70120
70121 2007-04-12  Eric Blake  <ebb9@byu.net>
70122
70123         No need to preserve errno on success.
70124         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
70125         Reported by Bruno Haible.
70126
70127 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70128
70129         * MODULES.html.sh (Support for maintaining and releasing
70130         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
70131
70132 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70133
70134         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
70135
70136 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70137
70138         * modules/autobuild: New module.
70139
70140         * m4/autobuild.m4: New file.
70141
70142 2007-04-11  Bruno Haible  <bruno@clisp.org>
70143
70144         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
70145         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
70146         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
70147         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
70148         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
70149         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70150         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70151         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
70152         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70153         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70154         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
70155         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70156         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70157         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
70158         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70159         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70160         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
70161         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70162         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70163         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
70164         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70165         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70166         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
70167         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70168         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70169         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
70170         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70171         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70172         Reported by Eric Blake.
70173
70174 2007-04-11  Bruno Haible  <bruno@clisp.org>
70175
70176         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
70177
70178 2007-04-10  Bruno Haible  <bruno@clisp.org>
70179
70180         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
70181         for NaN and Infinity. Needed on FreeBSD 6.1.
70182         * tests/test-vasnprintf-posix.c (test_function): Undo last change
70183         regarding results for "%010a" of Infinity and NaN.
70184         * tests/test-vasprintf-posix.c (test_function): Likewise.
70185         * tests/test-snprintf-posix.h (test_function): Likewise.
70186         * tests/test-sprintf-posix.h (test_function): Likewise.
70187         * tests/test-fprintf-posix.h (test_function): Likewise.
70188         * tests/test-printf-posix.h (test_function): Likewise.
70189         * tests/test-fprintf-posix.out: Likewise.
70190
70191 2007-04-10  Bruno Haible  <bruno@clisp.org>
70192
70193         * modules/locale-tests: New file.
70194         * tests/test-locale.c: New file.
70195
70196         * modules/locale: New file.
70197         * lib/locale_.h: New file.
70198         * m4/locale_h.m4: New file.
70199
70200 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
70201             Bruno Haible  <bruno@clisp.org>
70202
70203         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
70204         be determined, test for availability of the copysignf, copysign,
70205         copysignl functions.
70206         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
70207         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
70208         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
70209
70210 2007-04-09  Eric Blake  <ebb9@byu.net>
70211
70212         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
70213         * modules/stdio (Makefile.am): Support fflush.
70214         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
70215         * modules/fflush: New file.
70216         * lib/fflush.c: Likewise.
70217         * m4/fflush.m4: Likewise.
70218         * modules/fflush-tests: New test.
70219         * tests/test-fflush.c: Likewise.
70220         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
70221
70222 2007-04-06  Bruno Haible  <bruno@clisp.org>
70223
70224         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
70225         (VASNPRINTF): Use signbit for faster determination whether to print a
70226         minus sign.
70227         * modules/vasnprintf (Files): Remove lib/float+.h.
70228         * modules/fprintf-posix (Depends-on): Add signbit.
70229         * modules/snprintf-posix (Depends-on): Likewise.
70230         * modules/sprintf-posix (Depends-on): Likewise.
70231         * modules/vasnprintf-posix (Depends-on): Likewise.
70232         * modules/vasprintf-posix (Depends-on): Likewise.
70233         * modules/vfprintf-posix (Depends-on): Likewise.
70234         * modules/vsnprintf-posix (Depends-on): Likewise.
70235         * modules/vsprintf-posix (Depends-on): Likewise.
70236
70237 2007-04-06  Bruno Haible  <bruno@clisp.org>
70238
70239         * tests/test-frexp.c (main): Test also the sign bit of zero results.
70240         * tests/test-frexpl.c (main): Likewise.
70241         * tests/test-ldexpl.c (main): Likewise.
70242         * modules/frexp-tests (Depends-on): Add signbit.
70243         * modules/frexpl-tests (Depdends-on): Likewise.
70244         * modules/ldexpl-tests (Depdends-on): Likewise.
70245
70246 2007-04-06  Bruno Haible  <bruno@clisp.org>
70247
70248         * modules/signbit-tests: New file.
70249         * tests/test-signbit.c: New file.
70250
70251         * modules/signbit: New file.
70252         * lib/signbitf.c: New file.
70253         * lib/signbitd.c: New file.
70254         * lib/signbitl.c: New file.
70255         * m4/signbit.m4: New file.
70256         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
70257         (signbit): New macro.
70258         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
70259         REPLACE_SIGNBIT.
70260         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
70261         REPLACE_FREXPL into math.h.
70262
70263 2007-04-06  Bruno Haible  <bruno@clisp.org>
70264
70265         * modules/isnanf-nolibm-tests: New file.
70266         * tests/test-isnanf.c: New file.
70267
70268         * modules/isnanf-nolibm: New file.
70269         * lib/isnanf.h: New file.
70270         * lib/isnanf.c: New file.
70271         * lib/isnan.c: Consider the USE_FLOAT macro.
70272         * m4/isnanf.m4: New file.
70273
70274 2007-04-06  Bruno Haible  <bruno@clisp.org>
70275
70276         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
70277         (Link): New section.
70278
70279         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
70280
70281 2007-04-06  Bruno Haible  <bruno@clisp.org>
70282
70283         Assume the 'long double' type.
70284         * m4/longdouble.m4: Remove file.
70285         * config/srclist.txt: Don't mention longdouble.m4.
70286         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
70287         * lib/float+.h: Likewise.
70288         * lib/frexp.c: Likewise.
70289         * lib/printf-args.h: Likewise.
70290         * lib/printf-args.c: Likewise.
70291         * lib/printf-frexp.c: Likewise.
70292         * lib/printf-parse.c: Likewise.
70293         * lib/vasnprintf.c: Likewise.
70294         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
70295         * m4/intl.m4: Likewise.
70296         * m4/isnanl.m4: Likewise.
70297         * m4/printf.m4: Likewise.
70298         * m4/printf-frexpl.m4: Likewise.
70299         * m4/vasnprintf.m4: Likewise.
70300         * modules/allocsa (Files): Remove m4/longdouble.m4.
70301         * modules/gettext (Files): Likewise.
70302         * modules/relocatable-prog-wrapper (Files): Likewise.
70303         * modules/vasnprintf (Files): Likewise.
70304         * modules/isnanl (Files): Likewise.
70305         (Include): Simplify.
70306         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
70307         (Include): Simplify.
70308         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
70309         (Include): Simplify.
70310         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
70311         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70312         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
70313         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70314         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70315         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70316         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
70317         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70318         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70319         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70320         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
70321         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70322         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
70323         * tests/test-isnanl.c: Likewise.
70324         * tests/test-snprintf-posix.h: Likewise.
70325         * tests/test-sprintf-posix.h: Likewise.
70326         * tests/test-vasnprintf-posix.c: Likewise.
70327         * tests/test-vasnprintf-posix2.c: Likewise.
70328         * tests/test-vasprintf-posix.c: Likewise.
70329
70330 2007-04-06  Bruno Haible  <bruno@clisp.org>
70331
70332         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
70333         * lib/math_.h [__DECC]: Include the overridden include file through
70334         #include_next, outside the double-inclusion guard.
70335         * lib/stdio_.h [__DECC]: Likewise.
70336         * lib/stdlib_.h [__DECC]: Likewise.
70337         * lib/string_.h [__DECC]: Likewise.
70338         * lib/time_.h [__DECC]: Likewise.
70339         * lib/wchar_.h [__DECC]: Likewise.
70340         * lib/wctype_.h [__DECC]: Likewise.
70341         * lib/inttypes_.h [__DECC]: Likewise.
70342         Reported by Albert Chin <china@thewrittenword.com> in
70343         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
70344
70345 2007-04-04  Eric Blake  <ebb9@byu.net>
70346
70347         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
70348         1.5.x.
70349
70350 2007-04-04  Bruno Haible  <bruno@clisp.org>
70351
70352         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
70353         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
70354
70355 2007-04-04  Bruno Haible  <bruno@clisp.org>
70356
70357         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
70358         results for "%010a" of Infinity and NaN.
70359         * tests/test-vasprintf-posix.c (test_function): Likewise.
70360         * tests/test-snprintf-posix.h (test_function): Likewise.
70361         * tests/test-sprintf-posix.h (test_function): Likewise.
70362         * tests/test-fprintf-posix.h (test_function): Remove these tests.
70363         * tests/test-printf-posix.h (test_function): Likewise.
70364         * tests/test-fprintf-posix.out: Update.
70365         Needed for FreeBSD 6.1.
70366
70367 2007-04-04  Bruno Haible  <bruno@clisp.org>
70368
70369         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
70370         directly used by the gnulib modules nor by gnulib-tool.
70371
70372 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
70373
70374         * DEPENDENCIES: Give overall description of version dependency
70375         desirability.  Use more-typical names for apps.
70376         Add shell, coreutils, diffutils, grep, tar, gzip.
70377
70378 2007-04-04  Simon Josefsson  <simon@josefsson.org>
70379
70380         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
70381
70382 2007-04-04  Karl Berry  <karl@gnu.org>
70383
70384         * MODULES.html.sh (func_module): missing '.
70385
70386 2007-04-03  Bruno Haible  <bruno@clisp.org>
70387
70388         * modules/argmatch-tests (Makefile.am): New variable
70389         test_argmatch_LDADD.
70390         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
70391         * modules/array-list-tests (Makefile.am): New variable
70392         test_array_list_LDADD.
70393         * modules/array-oset-tests (Makefile.am): New variable
70394         test_array_oset_LDADD.
70395         * modules/avltree-list-tests (Makefile.am): New variable
70396         test_avltree_list_LDADD.
70397         * modules/avltree-oset-tests (Makefile.am): New variable
70398         test_avltree_oset_LDADD.
70399         * modules/avltreehash-list-tests (Makefile.am): New variable
70400         test_avltreehash_list_LDADD.
70401         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
70402         test_canonicalize_lgpl_LDADD.
70403         * modules/carray-list-tests (Makefile.am): New variable
70404         test_carray_list_LDADD.
70405         * modules/dirname-tests (Makefile.am): New variable
70406         test_dirname_LDADD.
70407         * modules/linked-list-tests (Makefile.am): New variable
70408         test_linked_list_LDADD.
70409         * modules/linkedhash-list-tests (Makefile.am): New variable
70410         test_linkedhash_list_LDADD.
70411         * modules/rbtree-list-tests (Makefile.am): New variable
70412         test_rbtree_list_LDADD.
70413         * modules/rbtree-oset-tests (Makefile.am): New variable
70414         test_rbtree_oset_LDADD.
70415         * modules/rbtreehash-list-tests (Makefile.am): New variable
70416         test_rbtreehash_list_LDADD.
70417         * modules/xvasprintf-tests (Makefile.am): New variable
70418         test_xvasprintf_LDADD.
70419         Reported by Eric Blake.
70420
70421 2007-04-03  Eric Blake  <ebb9@byu.net>
70422
70423         * DEPENDENCIES: Weaken m4 requirements.
70424
70425 2007-04-03  Bruno Haible  <bruno@clisp.org>
70426
70427         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
70428         * modules/isnanl-tests (configure.ac): Likewise.
70429
70430 2007-04-03  Ben Pfaff  <blp@gnu.org>
70431
70432         * modules/iconv_open: Add $(srcdir)/ to source directory
70433         references in Makefile fragments that call gperf, to fix VPATH
70434         builds.
70435
70436 2007-04-03  Bruno Haible  <bruno@clisp.org>
70437
70438         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
70439         * lib/ldexpl.c: Undo last change.
70440
70441 2007-04-03  Bruno Haible  <bruno@clisp.org>
70442
70443         * modules/printf-frexpl (Depends-on): Undo last change.
70444         (Files): Add m4/ldexpl.m4.
70445
70446 2007-04-03  Bruno Haible  <bruno@clisp.org>
70447
70448         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
70449         * modules/isnanl (Link): New section.
70450
70451         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
70452         * modules/frexp (Link): New section.
70453
70454         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
70455         * modules/frexpl (Link): New section.
70456
70457         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
70458         * modules/ldexpl (Link): New section.
70459
70460 2007-04-03  Bruno Haible  <bruno@clisp.org>
70461
70462         * modules/TEMPLATE-EXTENDED: New file.
70463         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
70464
70465 2007-04-03  Bruno Haible  <bruno@clisp.org>
70466
70467         * DEPENDENCIES: New file.
70468         Suggested by Simon Josefsson.
70469
70470 2007-04-03  Bruno Haible  <bruno@clisp.org>
70471
70472         * doc/gnulib.texi: Escape @.
70473
70474 2007-04-03  James Youngman  <jay@gnu.org>
70475         and Paul Eggert  <eggert@cs.ucla.edu>
70476
70477         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
70478         birthtime on all systems that have birthtime, not just those which
70479         use st_birthtimensec rather than st_birthtim.  Putting zero in
70480         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
70481         that the birth time is not available for files on an NFS mount.
70482
70483 2007-04-03  Simon Josefsson  <simon@josefsson.org>
70484
70485         * modules/memxor: Move back from crypto/, suggested by Bruno.
70486         * modules/crypto/hmac-sha1: Fix memxor dependency.
70487
70488         * modules/crypto/gc: Moved from ../.
70489
70490 2007-04-02  Eric Blake  <ebb9@byu.net>
70491
70492         * lib/ldexpl.c (includes): Avoid libm.
70493
70494         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
70495
70496 2007-04-02  Bruno Haible  <bruno@clisp.org>
70497
70498         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
70499         on IRIX.
70500
70501 2007-04-02  Bruno Haible  <bruno@clisp.org>
70502
70503         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
70504         x86 or x86_64 platforms running MacOS X.
70505         Reported by Ryan Schmidt <@ryandesign.com>.
70506
70507 2007-04-02  Bruno Haible  <bruno@clisp.org>
70508
70509         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
70510         i386.
70511
70512 2007-04-01  Simon Josefsson  <simon@josefsson.org>
70513
70514         * modules/crypto/arcfour: Moved from ../.
70515         * modules/crypto/arcfour-tests: Moved from ../.
70516         * modules/crypto/arctwo: Moved from ../.
70517         * modules/crypto/arctwo-tests: Moved from ../.
70518         * modules/crypto/des: Moved from ../.
70519         * modules/crypto/des-tests: Moved from ../.
70520         * modules/crypto/gc-arcfour: Moved from ../.
70521         * modules/crypto/gc-arcfour-tests: Moved from ../.
70522         * modules/crypto/gc-arctwo: Moved from ../.
70523         * modules/crypto/gc-arctwo-tests: Moved from ../.
70524         * modules/crypto/gc-des: Moved from ../.
70525         * modules/crypto/gc-des-tests: Moved from ../.
70526         * modules/crypto/gc-hmac-md5: Moved from ../.
70527         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
70528         * modules/crypto/gc-hmac-sha1: Moved from ../.
70529         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
70530         * modules/crypto/gc-md2: Moved from ../.
70531         * modules/crypto/gc-md2-tests: Moved from ../.
70532         * modules/crypto/gc-md4: Moved from ../.
70533         * modules/crypto/gc-md4-tests: Moved from ../.
70534         * modules/crypto/gc-md5: Moved from ../.
70535         * modules/crypto/gc-md5-tests: Moved from ../.
70536         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
70537         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
70538         * modules/crypto/gc-random: Moved from ../.
70539         * modules/crypto/gc-rijndael: Moved from ../.
70540         * modules/crypto/gc-rijndael-tests: Moved from ../.
70541         * modules/crypto/gc-sha1: Moved from ../.
70542         * modules/crypto/gc-sha1-tests: Moved from ../.
70543         * modules/crypto/gc-tests: Moved from ../.
70544         * modules/crypto/hmac-md5: Moved from ../.
70545         * modules/crypto/hmac-md5-tests: Moved from ../.
70546         * modules/crypto/hmac-sha1: Moved from ../.
70547         * modules/crypto/hmac-sha1-tests: Moved from ../.
70548         * modules/crypto/md2: Moved from ../.
70549         * modules/crypto/md2-tests: Moved from ../.
70550         * modules/crypto/md4: Moved from ../.
70551         * modules/crypto/md4-tests: Moved from ../.
70552         * modules/crypto/md5: Moved from ../.
70553         * modules/crypto/md5-tests: Moved from ../.
70554         * modules/crypto/memxor: Moved from ../.
70555         * modules/crypto/rijndael: Moved from ../.
70556         * modules/crypto/rijndael-tests: Moved from ../.
70557         * modules/crypto/sha1: Moved from ../.
70558
70559 2007-03-30  James Youngman  <jay@gnu.org>
70560
70561         * tests/test-stat-time.c (prepare_test): use chmod() rather than
70562         rename() to change the ctime of a file (because ctime is unaffected
70563         by rename on jfs2 on AIX 5.1).
70564         (main): Start by doing cleanup, in case a previous run failed leaving
70565         test files behind.
70566
70567 2007-03-31  Bruno Haible  <bruno@clisp.org>
70568
70569         Support old proprietary implementations of iconv.
70570         * modules/iconv_open: New file.
70571         * lib/iconv_.h: New file.
70572         * m4/iconv_h.m4: New file.
70573         * lib/iconv_open.c: New file.
70574         * lib/iconv_open-aix.gperf: New file.
70575         * lib/iconv_open-hpux.gperf: New file.
70576         * lib/iconv_open-irix.gperf: New file.
70577         * lib/iconv_open-osf.gperf: New file.
70578         * m4/iconv_open.m4: New file.
70579         * modules/linebreak (Depends-on): Add iconv_open.
70580         * modules/striconv (Depends-on): Likewise.
70581         * modules/striconveh (Depends-on): Likewise.
70582         * modules/unicodeio (Depends-on): Likewise.
70583         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
70584         (iconv_t)(-1).
70585         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
70586         conversion if cd is (iconv_t)(-1).
70587         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
70588         is not possible.
70589
70590 2007-03-31  Bruno Haible  <bruno@clisp.org>
70591
70592         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
70593         work on Solaris either. Protect also second use of "autodetect_jp".
70594
70595 2007-03-31  Bruno Haible  <bruno@clisp.org>
70596
70597         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
70598         the function is not present.
70599
70600 2007-03-31  Bruno Haible  <bruno@clisp.org>
70601
70602         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
70603         the function is not present.
70604
70605 2007-03-31  Bruno Haible  <bruno@clisp.org>
70606
70607         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
70608         a bug in HP-UX iconv_open().
70609
70610 2007-03-31  Bruno Haible  <bruno@clisp.org>
70611
70612         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
70613         (Mathematics <math.h>): New section, add fpieee.
70614         (Input/output <stdio.h>): Add fseterr.
70615         (Mathematics <math.h>): New section, add printf-frexp.
70616         (Container data structures): Add sublist.
70617         (Core language properties): Add fpucw, inline.
70618         (Functions for greatest-width integer types <inttypes.h>): Add
70619         imaxabs, imaxdiv, inttypes.
70620         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
70621         isnanl-nolibm, ldexp.
70622         (Mathematics <math.h>): New section, add printf-frexpl.
70623         (Support for systems lacking POSIX:2001): Add fprintf-posix,
70624         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
70625         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
70626         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
70627         (Unicode string functions): Add unistr/u*-mbtoucr.
70628         (Java): Add javacomp-script, javaexec-script.
70629         (C#): Add csharpcomp-script, csharpexec-script.
70630         (Support for building libraries and executables): Add havelib,
70631         relocatable-*.
70632         (Support for maintaining and releasing projects): Renamed from
70633         'Support for maintaining and release projects'. Add announce-gen.
70634
70635 2007-03-31  Bruno Haible  <bruno@clisp.org>
70636
70637         * README: Talk primarily about git.
70638         (git and CVS): Renamed from CVS.
70639         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
70640         gnulib is available through git.
70641         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
70642
70643 2007-03-30  Bruno Haible  <bruno@clisp.org>
70644
70645         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
70646         * lib/poll_.h: Likewise.
70647         * lib/stat_.h: Likewise.
70648         * lib/sys_time_.h: Likewise.
70649         * lib/sysexit_.h: Likewise.
70650         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
70651         * lib/stdbool_.h: Likewise.
70652         * lib/byteswap_.h: Add double-inclusion guard.
70653
70654 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
70655
70656         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
70657
70658 2007-03-30  Karl Berry  <karl@gnu.org>
70659
70660         * config/srclist-update: double space after USA in the license
70661         substitution, since that's how it's usually (?) written.
70662
70663 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
70664
70665         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
70666         reported by Bruno Haible.
70667
70668 2007-03-29  Bruno Haible  <bruno@clisp.org>
70669
70670         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
70671         a bug in AIX iconv().
70672
70673 2007-03-29  Bruno Haible  <bruno@clisp.org>
70674
70675         * modules/ldexpl-tests: New file.
70676         * tests/test-ldexpl.c: New file.
70677
70678 2007-03-29  Bruno Haible  <bruno@clisp.org>
70679
70680         * lib/ldexpl.c: Include fpucw.h.
70681         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
70682         multiplication.
70683         * modules/ldexpl (Depends-on): Add fpucw.
70684
70685 2007-03-29  Bruno Haible  <bruno@clisp.org>
70686
70687         * modules/ldexpl: New file.
70688         * m4/ldexpl.m4: New file.
70689         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
70690         set.
70691         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
70692         REPLACE_LDEXPL.
70693         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
70694         REPLACE_LDEXPL.
70695         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
70696         gl_FUNC_LDEXPL_WORKS.
70697         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
70698         * modules/mathl (Files): Remove lib/ldexpl.c.
70699         (Depends-on): Add ldexpl.
70700
70701 2007-03-29  Bruno Haible  <bruno@clisp.org>
70702
70703         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
70704
70705 2007-03-29  Bruno Haible  <bruno@clisp.org>
70706
70707         * tests/test-striconveh.c (main): Don't assume that a direct conversion
70708         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
70709         and possibly also HP-UX.
70710         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
70711         work on AIX, IRIX, HP-UX, OSF/1.
70712         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
70713         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
70714         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
70715         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
70716         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
70717         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
70718
70719 2007-03-29  Bruno Haible  <bruno@clisp.org>
70720
70721         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
70722
70723 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
70724
70725         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
70726         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
70727
70728 2007-03-29  Eric Blake  <ebb9@byu.net>
70729
70730         * lib/acl-internal.h: Remove redundant include.
70731         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
70732         Cygwin when a file is locked.
70733
70734 2007-03-29  Bruno Haible  <bruno@clisp.org>
70735
70736         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
70737         file.
70738         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
70739
70740 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
70741
70742         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
70743         try to remove a parent directory if the child couldn't be removed
70744         (except for the first rmdir, which could fail because the child
70745         doesn't exist).  Problem reported by Jeff Blaine in
70746         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
70747
70748 2007-03-28  Bruno Haible  <bruno@clisp.org>
70749
70750         * lib/striconveh.c (utf8conv_carefully): New function.
70751         (mem_cd_iconveh_internal): Invoke it.
70752
70753 2007-03-28  Bruno Haible  <bruno@clisp.org>
70754
70755         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
70756         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
70757         input.
70758         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
70759         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
70760         unistr/u8-uctomb.
70761
70762 2007-03-28  Bruno Haible  <bruno@clisp.org>
70763
70764         * modules/unistr/u8-mbtoucr: New file.
70765         * lib/unistr/u8-mbtoucr.c: New file.
70766         * modules/unistr/u16-mbtoucr: New file.
70767         * lib/unistr/u16-mbtoucr.c: New file.
70768         * modules/unistr/u16-mbtoucr: New file.
70769         * lib/unistr/u16-mbtoucr.c: New file.
70770         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
70771
70772 2007-03-27  Simon Josefsson  <simon@josefsson.org>
70773             Bruno Haible  <bruno@clisp.org>
70774
70775         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
70776         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
70777         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
70778
70779         * m4/stdio_h.m4: Add stubs for vasprintf too.
70780
70781         * modules/stdio: Support vasprintf in sed command.
70782
70783         * modules/vasprintf: Depend on stdio for prototypes.  Remove
70784         vasprintf.h.  Add stdio module indicator.
70785
70786         * lib/stdio_.h: Declare asprintf and vasprintf, based on
70787         vasprintf.h.
70788
70789         * lib/vasprintf.h: File removed.
70790
70791         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
70792         * lib/vasprintf.c: Ditto.
70793         * lib/xvasprintf.c: Ditto.
70794         * tests/test-vasprintf-posix.c: Ditto.
70795         * tests/test-vasprintf.c: Ditto.
70796
70797 2007-03-27  Bruno Haible  <bruno@clisp.org>
70798
70799         Make vasnprintf multithread-safe.
70800         * lib/vasnprintf.c (decimal_point_char): New function.
70801         (VASNPRINTF): Use it.
70802         Suggested by Simon Josefsson.
70803
70804 2007-03-27  Eric Blake  <ebb9@byu.net>
70805
70806         Support sub-second birthtime on cygwin.
70807         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
70808         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
70809         (get_stat_birthtime): Also work with st_birthtim.
70810
70811 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
70812
70813         * lib/stat-time.h (USE_BIRTHTIME): Remove.
70814         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
70815         (get_stat_birthtime_ns): Do not try to use "spare" fields.
70816         (get_stat_birthtime_ns): Simplify compile-time tests.
70817         (get_stat_birthtime): Change the API to look like
70818         get_stat_mtime etc., except return a negative tv_nsec on error.
70819         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
70820         Don't check for "spare" fields.
70821         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
70822         or for struct stat.st_birthtime, as these tests aren't used.
70823         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
70824
70825 2007-03-27  Bruno Haible  <bruno@clisp.org>
70826
70827         * lib/stat-time.h: Include <sys/stat.h>.
70828
70829 2007-03-27  James Youngman  <jay@gnu.org>
70830
70831         * lib/stat-time.h (get_stat_birthtime): New function for
70832           retrieving st_birthtime as provided by UFS2 (hence *BSD).
70833         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
70834           and its variants.
70835         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
70836         * modules/stat-time-test: New file.
70837         * tests/test-stat-time.c: New test, devised by Bruno Haible.
70838
70839 2007-03-26  Bruno Haible  <bruno@clisp.org>
70840
70841         Better support of signalling NaNs.
70842         * lib/atanl.c: Include isnanl.h.
70843         (atanl): Perform test for NaN at the beginning of the function and
70844         through a call to isnanl.
70845         * lib/cosl.c: Include isnanl.h.
70846         (cosl): Perform test for NaN at the beginning of the function and
70847         through a call to isnanl.
70848         * lib/ldexpl.c: Include isnanl.h.
70849         (ldexpl): Perform test for NaN through a call to isnanl.
70850         * lib/logl.c: Include isnanl.h.
70851         (logl): Perform test for NaN at the beginning of the function and
70852         through a call to isnanl.
70853         * lib/sinl.c: Include isnanl.h.
70854         (sinl): Perform test for NaN at the beginning of the function and
70855         through a call to isnanl.
70856         * lib/sqrtl.c: Include isnanl.h.
70857         (sqrtl): Perform test for NaN at the beginning of the function and
70858         through a call to isnanl.
70859         * lib/tanl.c: Include isnanl.h.
70860         (tanl): Perform test for NaN at the beginning of the function and
70861         through a call to isnanl.
70862         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
70863         * modules/mathl (Depends-on): Add isnanl.
70864
70865 2007-03-26  Eric Blake  <ebb9@byu.net>
70866
70867         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
70868         regression in logic sense of previous patch.
70869
70870 2007-03-26  Bruno Haible  <bruno@clisp.org>
70871
70872         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
70873         unportable shell command "if ! ...".
70874         Reported by Ralf Wildenhues.
70875
70876 2007-03-25  Bruno Haible  <bruno@clisp.org>
70877
70878         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
70879         <sysexits.h> file, and only add EX_CONFIG.
70880         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
70881         absolute file name and whether it is sufficient. Substitute also
70882         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
70883         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
70884         ABSOLUTE_SYSEXITS_H into sysexits.h.
70885
70886 2007-03-25  Bruno Haible  <bruno@clisp.org>
70887
70888         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
70889         hints is NULL.
70890
70891 2007-03-25  Bruno Haible  <bruno@clisp.org>
70892
70893         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
70894         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
70895
70896 2007-03-25  Bruno Haible  <bruno@clisp.org>
70897
70898         * lib/vasnprintf.c: Include langinfo.h.
70899         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
70900         multithread-safe.
70901         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
70902         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
70903         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
70904         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
70905         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
70906         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
70907         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
70908         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
70909         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
70910         Reported by Simon Josefsson.
70911
70912 2007-03-25  Bruno Haible  <bruno@clisp.org>
70913
70914         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
70915         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
70916         * modules/vasnprintf (Depends-on): Add stdint.
70917
70918 2007-03-25  Bruno Haible  <bruno@clisp.org>
70919
70920         * modules/fpieee: New file.
70921         * m4/fpieee.m4: New file.
70922         * modules/isnan-nolibm (Depends-on): Add fpieee.
70923         * modules/isnanl-nolibm (Depends-on): Add fpieee.
70924         * modules/isnanl (Depends-on): Add fpieee.
70925
70926 2007-03-25  Bruno Haible  <bruno@clisp.org>
70927
70928         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
70929
70930 2007-03-25  Bruno Haible  <bruno@clisp.org>
70931
70932         Avoid test failures on IRIX 6.5.
70933         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
70934         (main): Use it.
70935         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
70936         macros.
70937         (main): Use them.
70938
70939 2007-03-25  Bruno Haible  <bruno@clisp.org>
70940
70941         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
70942         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
70943         exists but doesn't work.
70944         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
70945         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
70946         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
70947         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
70948         math.h.
70949
70950 2007-03-25  Bruno Haible  <bruno@clisp.org>
70951
70952         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
70953         returns inf. Needed on IRIX 6.5.
70954
70955 2007-03-25  Bruno Haible  <bruno@clisp.org>
70956
70957         * tests/test-frexpl.c: Include isnanl-nolibm.h.
70958         (main): Use isnanl instead of x != x idiom.
70959         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
70960
70961         * tests/test-frexp.c: Include isnan.h.
70962         (main): Use isnan instead of x != x idiom.
70963         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
70964
70965 2007-03-25  Bruno Haible  <bruno@clisp.org>
70966
70967         * tests/test-frexp.c (NaN): New function/macro.
70968         (main): Use it instead of 0.0 / 0.0.
70969         * tests/test-isnan.c (NaN): New function/macro.
70970         (main): Use it instead of 0.0 / 0.0.
70971         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
70972         (test_function): Use it instead of 0.0 / 0.0.
70973         * tests/test-vasprintf-posix.c (NaN): New function/macro.
70974         (test_function): Use it instead of 0.0 / 0.0.
70975         * tests/test-snprintf-posix.h (NaN): New function/macro.
70976         (test_function): Use it instead of 0.0 / 0.0.
70977         * tests/test-sprintf-posix.h (NaN): New function/macro.
70978         (test_function): Use it instead of 0.0 / 0.0.
70979         * tests/test-fprintf-posix.h (NaN): New function/macro.
70980         (test_function): Use it instead of 0.0 / 0.0.
70981         * tests/test-printf-posix.h (NaN): New function/macro.
70982         (test_function): Use it instead of 0.0 / 0.0.
70983
70984         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
70985
70986 2007-03-25  Bruno Haible  <bruno@clisp.org>
70987
70988         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
70989
70990 2007-03-25  Bruno Haible  <bruno@clisp.org>
70991
70992         * lib/regexec.c (merge_state_with_log): Make static.
70993
70994 2007-03-25  Bruno Haible  <bruno@clisp.org>
70995
70996         * lib/trigl.c (kernel_rem_pio2): Make static.
70997
70998 2007-03-25  Bruno Haible  <bruno@clisp.org>
70999
71000         * lib/sincosl.c (sincosl_table): Make static.
71001
71002 2007-03-25  Bruno Haible  <bruno@clisp.org>
71003
71004         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
71005         if the compiler does not support C99.
71006
71007 2007-03-25  Bruno Haible  <bruno@clisp.org>
71008
71009         * modules/time (Makefile.am): Ensure all rule action lines start with a
71010         tab.
71011
71012 2007-03-24  Bruno Haible  <bruno@clisp.org>
71013
71014         * modules/tsearch-tests: New file.
71015         * tests/test-tsearch.sh: New file.
71016         * tests/test-tsearch.c: New file, mostly copied from glibc.
71017
71018         * modules/search-tests: New file.
71019         * tests/test-search.c: New file.
71020
71021         * modules/search: New file.
71022         * lib/search_.h: New file, incorporating lib/tsearch.h.
71023         * m4/search_h.m4: New file.
71024         * lib/tsearch.h: Remove file.
71025         * lib/tsearch.c: Include search.h instead of tsearch.h.
71026         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
71027         HAVE_TSEARCH.
71028         * modules/tsearch (Files): Remove lib/tsearch.h.
71029         (Depends-on): Add search.
71030         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
71031         (Include): Change tsearch.h into search.h.
71032
71033 2007-03-24  Bruno Haible  <bruno@clisp.org>
71034
71035         * modules/fpucw: New file.
71036         * lib/fpucw.h: New file.
71037         * lib/frexp.c: Include fpucw.h.
71038         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71039         (FUNC): Use them.
71040         * lib/printf-frexp.c: Include fpucw.h.
71041         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71042         (FUNC): Use them.
71043         * lib/vasnprintf.c: Include fpucw.h.
71044         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
71045         'long double' calculations.
71046         * tests/test-frexpl.c: Include fpucw.h.
71047         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71048         * tests/test-printf-frexpl.c: Include fpucw.h.
71049         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71050         * modules/frexpl (Depends-on): Add fpucw.
71051         * modules/printf-frexpl (Depends-on): Likewise.
71052         * modules/fprintf-posix (Depends-on): Likewise.
71053         * modules/snprintf-posix (Depends-on): Likewise.
71054         * modules/sprintf-posix (Depends-on): Likewise.
71055         * modules/vasnprintf-posix (Depends-on): Likewise.
71056         * modules/vasprintf-posix (Depends-on): Likewise.
71057         * modules/vfprintf-posix (Depends-on): Likewise.
71058         * modules/vsnprintf-posix (Depends-on): Likewise.
71059         * modules/vsprintf-posix (Depends-on): Likewise.
71060         * modules/frexpl-tests (Depends-on): Likewise.
71061         * modules/printf-frexpl-tests (Depends-on): Likewise.
71062
71063 2007-03-24  Bruno Haible  <bruno@clisp.org>
71064
71065         * lib/float+.h: New file.
71066         * lib/isnan.c: Include float+.h.
71067         (SIZE): New macro.
71068         (FUNC): Compare only SIZE bytes of the value.
71069         * lib/vasnprintf.c: Include float+.h.
71070         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
71071         SIZEOF_LDBL or SIZEOF_DBL bytes.
71072         * modules/isnan-nolibm (Files): Add lib/float+.h.
71073         * modules/isnanl-nolibm (Files): Add lib/float+.h.
71074         * modules/isnanl (Files): Add lib/float+.h.
71075         * modules/vasnprintf (Files): Add lib/float+.h.
71076
71077 2007-03-24  Bruno Haible  <bruno@clisp.org>
71078
71079         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
71080         include isnanl-nolibm.h.
71081
71082 2007-03-24  Bruno Haible  <bruno@clisp.org>
71083
71084         * tests/test-read-file.c (main): Don't produce spurious output for
71085         expected situations. Make the test fail if it encountered unexpected
71086         results.
71087
71088 2007-03-24  Bruno Haible  <bruno@clisp.org>
71089
71090         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
71091         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
71092
71093 2007-03-24  Bruno Haible  <bruno@clisp.org>
71094
71095         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
71096
71097 2007-03-24  Bruno Haible  <bruno@clisp.org>
71098
71099         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
71100         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
71101
71102         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
71103         * modules/utf8-ucs4: Turn into a symbolic link to module
71104         unistr/u8-mbtouc.
71105
71106         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
71107         utf8-ucs4-unsafe.
71108         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
71109         unistr/u8-mbtouc-unsafe.
71110
71111         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
71112         * modules/utf16-ucs4: Turn into a symbolic link to module
71113         unistr/u16-mbtouc.
71114
71115         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
71116         utf16-ucs4-unsafe.
71117         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
71118         unistr/u16-mbtouc-unsafe.
71119
71120         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
71121         * modules/ucs4-utf8: Turn into a symbolic link to module
71122         unistr/u8-ubtomb.
71123
71124         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
71125         * modules/ucs4-utf16: Turn into a symbolic link to module
71126         unistr/u16-ubtomb.
71127
71128 2007-03-24  Bruno Haible  <bruno@clisp.org>
71129
71130         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
71131         Enable the function only if HAVE_INLINE.
71132         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
71133         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71134         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
71135         Enable the function only if HAVE_INLINE.
71136         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
71137         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71138         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
71139         Enable the function only if HAVE_INLINE.
71140         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
71141         Enable the function only if HAVE_INLINE.
71142         * modules/utf8-ucs4: Update.
71143         * modules/utf8-ucs4-unsafe: Update.
71144         * modules/utf16-ucs4: Update.
71145         * modules/utf16-ucs4-unsafe: Update.
71146         * modules/ucs4-utf8: Update.
71147         * modules/ucs4-utf16: Update.
71148
71149 2007-03-24  Bruno Haible  <bruno@clisp.org>
71150
71151         * lib/utf8-ucs4.h: Remove file.
71152         * lib/utf8-ucs4-unsafe.h: Remove file.
71153         * lib/utf16-ucs4.h: Remove file.
71154         * lib/utf16-ucs4-unsafe.h: Remove file.
71155         * lib/ucs4-utf8.h: Remove file.
71156         * lib/ucs4-utf16.h: Remove file.
71157         * lib/unistr.h: Include their previous contents.
71158         * m4/utf-ucs4.m4: Remove file.
71159         * m4/ucs4-utf.m4: Remove file.
71160         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
71161         (Depends-on): Add unistr/base.
71162         (configure.ac): Remove gl_UTF_UCS4.
71163         (Makefile.am): Update.
71164         (Include): Change to unistr.h.
71165         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
71166         (Depends-on): Add unistr/base.
71167         (configure.ac): Remove gl_UTF_UCS4.
71168         (Makefile.am): Update.
71169         (Include): Change to unistr.h.
71170         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
71171         (Depends-on): Add unistr/base.
71172         (configure.ac): Remove gl_UTF_UCS4.
71173         (Makefile.am): Update.
71174         (Include): Change to unistr.h.
71175         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
71176         (Depends-on): Add unistr/base.
71177         (configure.ac): Remove gl_UTF_UCS4.
71178         (Makefile.am): Update.
71179         (Include): Change to unistr.h.
71180         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
71181         (Depends-on): Add unistr/base.
71182         (configure.ac): Remove gl_UCS4_UTF.
71183         (Makefile.am): Update.
71184         (Include): Change to unistr.h.
71185         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
71186         (Depends-on): Add unistr/base.
71187         (configure.ac): Remove gl_UCS4_UTF.
71188         (Makefile.am): Update.
71189         (Include): Change to unistr.h.
71190         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
71191         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
71192         utf8-ucs4-unsafe.h.
71193         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
71194         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
71195         utf16-ucs4-unsafe.h.
71196         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
71197         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
71198         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
71199         * lib/unistr/u8-strchr.c: Likewise.
71200         * lib/unistr/u8-strrchr.c: Likewise.
71201         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
71202         * lib/unistr/u16-strchr.c: Likewise.
71203         * lib/unistr/u16-strrchr.c: Likewise.
71204         * lib/striconveh.c: Update.
71205         * lib/linebreak.c: Update.
71206
71207 2007-03-24  Bruno Haible  <bruno@clisp.org>
71208
71209         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
71210         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
71211
71212 2007-03-22  Bruno Haible  <bruno@clisp.org>
71213
71214         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
71215
71216 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
71217
71218         * MODULES.html.sh (File system functions): New module write-any-file.
71219         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
71220         * m4/write-any-file.m4: New files.
71221
71222 2007-03-23  Eric Blake  <ebb9@byu.net>
71223
71224         * gnulib-tool: Rearrange space-tab sequences, since some editors
71225         like to eat them.
71226
71227 2007-03-23  Eric Blake  <ebb9@byu.net>
71228
71229         * lib/version-etc.c (version_etc_va): Update license wording to
71230         be more concise.  Recommended by Richard Stallman.
71231
71232 2007-03-22  Bruno Haible  <bruno@clisp.org>
71233
71234         * lib/poll.c (MSG_PEEK): New fallback definition.
71235
71236 2007-03-22  Bruno Haible  <bruno@clisp.org>
71237
71238         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
71239         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
71240         (main): Update.
71241         Fixes a compilation error on BeOS.
71242
71243 2007-03-22  Bruno Haible  <bruno@clisp.org>
71244
71245         * modules/frexpl-tests: New file.
71246         * tests/test-frexpl.c: New file.
71247
71248         * modules/frexpl: New file.
71249         * m4/frexpl.m4: New file.
71250         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
71251         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
71252         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
71253         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
71254         (Depends-on): Add frexpl. Remove isnanl-nolibm.
71255         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
71256
71257 2007-03-22  Bruno Haible  <bruno@clisp.org>
71258
71259         * lib/frexpl.c: Share code with lib/frexp.c.
71260         * modules/mathl (Files): Add lib/frexp.c.
71261         (Depends-on): Add isnanl-nolibm.
71262
71263 2007-03-22  Bruno Haible  <bruno@clisp.org>
71264
71265         * modules/printf-frexp (Files): Add m4/frexp.m4.
71266         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
71267         only if the found frexp function actually works.
71268
71269 2007-03-22  Bruno Haible  <bruno@clisp.org>
71270
71271         * lib/frexp.c: Remove older implementation that uses divisions.
71272
71273 2007-03-21  Bruno Haible  <bruno@clisp.org>
71274
71275         * modules/frexp-tests: New file.
71276         * tests/test-frexp.c: New file.
71277
71278         * modules/frexp: New file.
71279         * lib/frexp.c: New file.
71280         * m4/frexp.m4: New file.
71281         * lib/math_.h (frexp): New declaration.
71282         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
71283         REPLACE_FREXP.
71284         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
71285
71286 2007-03-21  Bruno Haible  <bruno@clisp.org>
71287
71288         * modules/isnanl-tests: New file.
71289         * tests/test-isnanl.c: New file.
71290
71291         * modules/isnanl: New file.
71292         * lib/isnanl.h: New file.
71293         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
71294         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
71295         gl_FUNC_ISNANL_WORKS.
71296         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
71297         New macros.
71298
71299 2007-03-21  Bruno Haible  <bruno@clisp.org>
71300
71301         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
71302         lib/isnanl.h.
71303         (Include): Update.
71304         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
71305         * lib/vasnprintf.c: Update.
71306         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
71307         tests/test-isnanl.h, remove tests/test-isnanl.c.
71308         (Makefile.am): Update.
71309         * tests/test-isnanl-nolibm.c: New file.
71310         * tests/test-isnanl.h: New file.
71311         * tests/test-isnanl.c: Remove file.
71312
71313 2007-03-21  Jim Meyering  <jim@meyering.net>
71314
71315         When trying to open ".", treat ESTALE like EACCES.
71316         * lib/savewd.c (savewd_save): Resort to forking not just upon
71317         failure with EACCES, but also when errno is ESTALE.
71318
71319 2007-03-20  Bruno Haible  <bruno@clisp.org>
71320
71321         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
71322         Needed on AIX 5.1. Reported by Matthew Woehlke.
71323
71324 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71325
71326         Suggestions by Bruno Haible:
71327         * lib/acl-internal.h: Include "gettext.h" rather than rolling
71328         our own.
71329         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
71330         * modules/acl (Depends-on): Add gettext.
71331
71332 2007-03-19  Bruno Haible  <bruno@clisp.org>
71333
71334         * modules/iconvme: Remove file.
71335         * lib/iconvme.h: Remove file.
71336         * lib/iconvme.c: Remove file.
71337         * m4/iconvme.m4: Remove file.
71338
71339 2007-03-19  Bruno Haible  <bruno@clisp.org>
71340
71341         * doc/relocatable-maint.texi: Break long shell script line.
71342         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71343
71344 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71345
71346         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
71347         handle file_has_acl.
71348         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
71349         * lib/acl.c: Move header inclusions and related macro defns into
71350         lib/acl-internal.h.
71351         (S_ISLNK): Remove defn, since that's now done for us.
71352         (file_has_acl): Move to lib/file-has-acl.c.
71353         Call acl_trivial if available.  This is the crucial part of the fix.
71354         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
71355         shared within the library.  Rewrite a bit, partly to make it compatible
71356         with the GNU coding style.
71357         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
71358         Remove unnecessary double-quotes.
71359         Don't test for acl_to_text; the build will catch that.
71360         Replace acl_entries if it doesn't exist and it is needed.
71361         Check for -lsec and acl_trivial (as used on Solaris 10).
71362         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
71363         lib/file-has-acl.c.
71364         (Depends-on): Add sys_stat, for S_ISLNK.
71365
71366 2007-03-19  Ben Pfaff  <blp@gnu.org>
71367
71368         * doc/gnulib.texi: Fix typos.
71369         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71370
71371 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71372
71373         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
71374         If size is zero here, buf must be zero.
71375
71376 2007-03-19  Simon Josefsson  <simon@josefsson.org>
71377
71378         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
71379         <bruno@clisp.org>.
71380
71381 2007-03-18  Bruno Haible  <bruno@clisp.org>
71382
71383         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
71384         Suggested by Eric Blake.
71385
71386 2007-03-18  Ben Pfaff  <blp@gnu.org>
71387
71388         * doc/relocatable.texi: Recommend using as prefix a directory
71389         that does not exist and will never be created.  Based on
71390         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
71391         and others.
71392
71393 2007-03-17  Bruno Haible  <bruno@clisp.org>
71394
71395         * lib/fchownat.c: Include lchown.h.
71396
71397 2007-03-17  Bruno Haible  <bruno@clisp.org>
71398
71399         Fix endless loop when the given allocated size was > INT_MAX.
71400         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
71401         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
71402         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
71403         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
71404         * lib/sprintf.c (sprintf): Likewise.
71405
71406 2007-03-17  Bruno Haible  <bruno@clisp.org>
71407
71408         * tests/test-argp-2.sh (func_compare): Output a context diff.
71409
71410 2007-03-17  Bruno Haible  <bruno@clisp.org>
71411
71412         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
71413         locale's decimal-point character.
71414
71415 2007-03-17  Bruno Haible  <bruno@clisp.org>
71416
71417         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
71418         before comparing it. Needed because on some platforms (e.g. x86) a
71419         'long double' occupies less bytes than sizeof (long double).
71420
71421 2007-03-17  Bruno Haible  <bruno@clisp.org>
71422
71423         * tests/test-crc.c (main): Make printf statements 64-bit clean.
71424         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
71425         * tests/test-getaddrinfo.c (simple): Likewise.
71426         * tests/test-read-file.c (main): Likewise.
71427
71428 2007-03-17  Bruno Haible  <bruno@clisp.org>
71429
71430         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
71431
71432 2007-03-17  Bruno Haible  <bruno@clisp.org>
71433
71434         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
71435         unused variable.
71436
71437 2007-03-17  Bruno Haible  <bruno@clisp.org>
71438
71439         * tests/test-c-strcasecmp.c: Include c-strcase.h.
71440         * tests/test-c-strncasecmp.c: Likewise.
71441
71442 2007-03-17  Bruno Haible  <bruno@clisp.org>
71443
71444         * modules/stdlib (Depends-on): Add unistd.
71445         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
71446         Needed for MacOS X 10.3.
71447
71448 2007-03-17  Bruno Haible  <bruno@clisp.org>
71449
71450         * lib/unistr/u-strdup.h: Include <stdlib.h>.
71451
71452 2007-03-17  Bruno Haible  <bruno@clisp.org>
71453
71454         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
71455
71456 2007-03-17  Bruno Haible  <bruno@clisp.org>
71457
71458         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
71459         to reflect files copied from gnulib (with or without modifications).
71460         Suggested by Jim Meyering.
71461
71462 2007-03-17  Eric Blake  <ebb9@byu.net>
71463
71464         * NEWS: Document stdlib change from 2007-02-18.
71465
71466 2007-03-17  Jim Meyering  <jim@meyering.net>
71467
71468         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
71469         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
71470         someone uses a name containing shell meta-characters.
71471         Reported by Alfred M. Szmidt.
71472
71473         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
71474
71475 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71476
71477         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
71478         and copy gettext configuration files only if configure.ac contains
71479         a use of AM_GNU_GETTEXT_VERSION.
71480
71481 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71482
71483         * build-aux/bootstrap (gnulib_name): New variable.
71484         (gnulib_tool_options): Use it.
71485
71486 2007-03-13  Simon Josefsson  <simon@josefsson.org>
71487
71488         * tests/test-des.c: Use new namespace.
71489
71490 2007-03-15  Bruno Haible  <bruno@clisp.org>
71491
71492         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
71493         Reported by James Youngman <jay@gnu.org>.
71494
71495 2007-03-15  Bruno Haible  <bruno@clisp.org>
71496
71497         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
71498         declared prototype. Needed with cc on OSF/1 5.1.
71499
71500 2007-03-15  Bruno Haible  <bruno@clisp.org>
71501
71502         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
71503         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
71504         (struct gl_list_implementation): Add dispose_fn argument to the
71505         'create_empty', 'create' methods.
71506         (struct gl_list_impl_base): Add field 'dispose_fn'.
71507         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
71508         argument.
71509         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
71510         dispose_fn argument.
71511         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
71512         dispose_fn on the dropped values.
71513         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
71514         dispose_fn argument.
71515         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
71516         dropped values.
71517         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
71518         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71519         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
71520         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71521         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
71522         argument.
71523         (gl_tree_list_free): Call dispose_fn on the dropped values.
71524         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
71525         the dropped values.
71526         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
71527         Add dispose_fn argument.
71528         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
71529         Call dispose_fn on the dropped values.
71530         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
71531         Add dispose_fn argument.
71532         (gl_sublist_create): Initialize the 'dispose_fn' field.
71533         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
71534         * tests/test-array_list.c (main): Update.
71535         * tests/test-carray_list.c (main): Update.
71536         * tests/test-avltree_list.c (main): Update.
71537         * tests/test-rbtree_list.c (main): Update.
71538         * tests/test-avltreehash_list.c (main): Update.
71539         * tests/test-rbtreehash_list.c (main): Update.
71540         * tests/test-linked_list.c (main): Update.
71541         * tests/test-linkedhash_list.c (main): Update.
71542         * tests/test-array_oset.c (main): Update.
71543
71544 2007-03-15  Bruno Haible  <bruno@clisp.org>
71545
71546         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
71547         (gl_oset_create_empty): Add dispose_fn argument.
71548         (struct gl_oset_implementation): Add dispose_fn argument to
71549         'create_empty' method.
71550         (struct gl_oset_impl_base): Add dispose_fn field.
71551         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
71552         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
71553         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
71554         values.
71555         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
71556         (gl_tree_oset_free): Call dispose_fn on the dropped values.
71557         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71558         dropped value.
71559         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71560         dropped value.
71561         * tests/test-array_oset.c (main): Update.
71562         * tests/test-avltree_oset.c (main): Update.
71563         * tests/test-rbtree_oset.c (main): Update.
71564         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
71565
71566 2007-03-13  Bruno Haible  <bruno@clisp.org>
71567
71568         * tests/test-stdbool.c (i): Update after last patch.
71569
71570 2007-03-12  Bruno Haible  <bruno@clisp.org>
71571
71572         * lib/quotearg.c: Include <wctype.h> early, before the definition of
71573         the iswprint macro. Needed on Solaris 2.5.1.
71574
71575 2007-03-12  Bruno Haible  <bruno@clisp.org>
71576
71577         * tests/test-printf-frexp.c (main): Declare x as volatile.
71578
71579 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71580
71581         * doc/gnulib.texi (Build robot for gnulib): New section.
71582
71583 2007-03-12  Jim Meyering  <jim@meyering.net>
71584
71585         * build-aux/bootstrap: New file.
71586         * build-aux/bootstrap.conf: New file, from coreutils.
71587
71588 2007-03-11  Bruno Haible  <bruno@clisp.org>
71589
71590         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
71591
71592 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71593
71594         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
71595         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
71596         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
71597
71598 2007-03-11  Bruno Haible  <bruno@clisp.org>
71599
71600         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
71601         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
71602
71603 2007-03-11  Bruno Haible  <bruno@clisp.org>
71604
71605         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
71606         formula. Needed for SunPRO C 5.0.
71607
71608 2007-03-11  Bruno Haible  <bruno@clisp.org>
71609
71610         * modules/long-options (Depends-on): Add getopt.
71611
71612 2007-03-11  Bruno Haible  <bruno@clisp.org>
71613
71614         * modules/modechange (Depends-on): Add stdbool.
71615
71616 2007-03-11  Bruno Haible  <bruno@clisp.org>
71617
71618         * modules/i-ring (Depends-on): Add stdbool.
71619
71620 2007-03-11  Bruno Haible  <bruno@clisp.org>
71621
71622         * modules/gc-des (Depends-on): Add stdbool.
71623
71624 2007-03-11  Bruno Haible  <bruno@clisp.org>
71625
71626         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
71627
71628 2007-03-11  Bruno Haible  <bruno@clisp.org>
71629
71630         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
71631
71632 2007-03-11  Bruno Haible  <bruno@clisp.org>
71633
71634         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
71635
71636 2007-03-11  Bruno Haible  <bruno@clisp.org>
71637
71638         * lib/vasnprintf.c (sprintf): Undefine.
71639
71640 2007-03-11  Bruno Haible  <bruno@clisp.org>
71641
71642         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
71643         initializers in SunPRO C and Compaq C compilers.
71644
71645 2007-03-11  Bruno Haible  <bruno@clisp.org>
71646
71647         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
71648         decrementing code ANSI C compliant.
71649
71650 2007-03-11  Bruno Haible  <bruno@clisp.org>
71651
71652         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
71653         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
71654
71655 2007-03-11  Bruno Haible  <bruno@clisp.org>
71656
71657         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
71658         <stdbool.h> substitute doesn't pass.
71659
71660 2007-03-11  Bruno Haible  <bruno@clisp.org>
71661
71662         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
71663
71664 2007-03-11  Bruno Haible  <bruno@clisp.org>
71665
71666         * gnulib-tool (func_create_megatestdir): Create also an autobuild
71667         script, for submission to autobuild.josefsson.org.
71668
71669 2007-03-10  Bruno Haible  <bruno@clisp.org>
71670
71671         * modules/canonicalize-lgpl-tests: New file.
71672         * tests/test-canonicalize-lgpl.sh: New file.
71673         * tests/test-canonicalize-lgpl.c: New file.
71674
71675         * modules/c-strcase-tests: New file.
71676         * tests/test-c-strcase.sh: New file.
71677         * tests/test-c-strcasecmp.c: New file.
71678         * tests/test-c-strncasecmp.c: New file.
71679
71680         * modules/atexit-tests: New file.
71681         * tests/test-atexit.sh: New file.
71682         * tests/test-atexit.c: New file.
71683
71684 2007-03-10  Bruno Haible  <bruno@clisp.org>
71685
71686         * tests/test-binary-io.sh: Use temporary filenames that are not so
71687         likely to clash with those of other tests (in a parallel make).
71688         * tests/test-binary-io.c: Likewise.
71689
71690 2007-03-10  Bruno Haible  <bruno@clisp.org>
71691
71692         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
71693         fallback; use #error instead.
71694         Suggested by Simon Josefsson.
71695
71696 2007-03-10  Bruno Haible  <bruno@clisp.org>
71697
71698         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
71699         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
71700         first and the last.
71701
71702 2007-03-10  Bruno Haible  <bruno@clisp.org>
71703
71704         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
71705
71706 2007-03-10  Bruno Haible  <bruno@clisp.org>
71707
71708         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
71709         "make distcheck".
71710         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
71711         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
71712         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
71713
71714 2007-03-10  Bruno Haible  <bruno@clisp.org>
71715
71716         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
71717         variable.
71718         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
71719         variable.
71720
71721 2007-03-09  Eric Blake  <ebb9@byu.net>
71722         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
71723
71724         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
71725         types are not being provided by gnulib.
71726         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
71727         types are supported.
71728
71729 2007-03-10  Bruno Haible  <bruno@clisp.org>
71730
71731         * lib/stdio_.h (__attribute__): New macro.
71732         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
71733         vsprintf): Specify __attribute__ __format__ for GCC.
71734         Suggested by Eric Blake.
71735
71736 2007-03-09  Bruno Haible  <bruno@clisp.org>
71737
71738         * modules/printf-posix-tests: New file.
71739         * tests/test-printf-posix.sh: New file.
71740         * tests/test-printf-posix.c: New file.
71741
71742         * modules/printf-posix: New file.
71743         * lib/printf.c: New file.
71744         * m4/printf-posix-rpl.m4: New file.
71745         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
71746         REPLACE_PRINTF.
71747         * lib/stdio_.h (printf): New declaration.
71748         (format, __format__, ____printf____, ____scanf____, ____strftime____,
71749         ____strfmon____): New macros.
71750         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
71751         REPLACE_PRINTF.
71752
71753 2007-03-09  Bruno Haible  <bruno@clisp.org>
71754
71755         * tests/test-vasnprintf-posix2.sh: New file.
71756         * tests/test-vasnprintf-posix2.c: New file.
71757         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
71758         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
71759         (Makefile.am): Activate test-vasnprintf-posix2.sh.
71760
71761         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
71762         a locale dependent decimal point, rather than always '.'.
71763
71764 2007-03-09  Eric Blake  <ebb9@byu.net>
71765
71766         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
71767         spite of platforms like Tandem/NSK that define it to -1.
71768
71769 2007-03-08  Bruno Haible  <bruno@clisp.org>
71770
71771         * modules/vprintf-posix-tests: New file.
71772         * tests/test-vprintf-posix.sh: New file.
71773         * tests/test-vprintf-posix.c: New file.
71774         * tests/test-printf-posix.h: New file.
71775
71776         * modules/vprintf-posix: New file.
71777         * lib/vprintf.c: New file.
71778         * m4/vprintf-posix.m4: New file.
71779         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
71780         REPLACE_VPRINTF.
71781         * lib/stdio_.h (vprintf): New declaration.
71782         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
71783         REPLACE_VPRINTF.
71784
71785 2007-03-08  Bruno Haible  <bruno@clisp.org>
71786
71787         * modules/fprintf-posix-tests: New file.
71788         * tests/test-fprintf-posix.sh: New file.
71789         * tests/test-fprintf-posix.c: New file.
71790
71791         * modules/fprintf-posix: New file.
71792         * lib/fprintf.c: New file.
71793         * m4/fprintf-posix.m4: New file.
71794         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
71795         REPLACE_FPRINTF.
71796         * lib/stdio_.h (fprintf): New declaration.
71797         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
71798         REPLACE_FPRINTF.
71799
71800 2007-03-08  Bruno Haible  <bruno@clisp.org>
71801
71802         * modules/vfprintf-posix-tests: New file.
71803         * tests/test-vfprintf-posix.sh: New file.
71804         * tests/test-vfprintf-posix.c: New file.
71805         * tests/test-fprintf-posix.h: New file.
71806         * tests/test-fprintf-posix.out: New file.
71807
71808         * modules/vfprintf-posix: New file.
71809         * lib/vfprintf.c: New file.
71810         * m4/vfprintf-posix.m4: New file.
71811         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
71812         REPLACE_VFPRINTF.
71813         * lib/stdio_.h (vfprintf): New declaration.
71814         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
71815         REPLACE_VFPRINTF.
71816
71817 2007-03-08  Bruno Haible  <bruno@clisp.org>
71818
71819         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
71820
71821 2007-03-08  Bruno Haible  <bruno@clisp.org>
71822
71823         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
71824         instead of 'expr' invocations.
71825         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
71826         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
71827         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
71828         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
71829         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
71830         Suggested by Paul Eggert.
71831
71832 2007-03-08  Bruno Haible  <bruno@clisp.org>
71833
71834         * modules/fseterr-tests: New file.
71835         * tests/test-fseterr.c: New file.
71836
71837         * modules/fseterr: New file.
71838         * lib/fseterr.h: New file.
71839         * lib/fseterr.c: New file.
71840
71841 2007-03-08  Bruno Haible  <bruno@clisp.org>
71842
71843         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
71844         * lib/getopt_.h: Likewise.
71845         * lib/mbswidth.h: Likewise.
71846         * lib/setenv.h: Likewise.
71847         * lib/vasnprintf.h: Likewise.
71848         * lib/vasprintf.h: Likewise.
71849         * lib/verror.h: Likewise.
71850         * lib/xsetenv.h: Likewise.
71851         * lib/xvasprintf.h: Likewise.
71852
71853 2007-03-08  Jim Meyering  <jim@meyering.net>
71854
71855         * users.txt: Add parted.
71856
71857         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
71858
71859 2007-03-07  Bruno Haible  <bruno@clisp.org>
71860
71861         * m4/printf.m4: Make the shell script snippets copy&pastable.
71862
71863 2007-03-02  Bruno Haible  <bruno@clisp.org>
71864
71865         * lib/netinet_in_.h: New file.
71866         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
71867         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
71868         * modules/netinet_in (Files): Add lib/netinet_in_.h.
71869         (Depends-on): Add absolute-header.
71870         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
71871         into netinet/in.h.
71872
71873 2007-03-03  Bruno Haible  <bruno@clisp.org>
71874
71875         * lib/sys_select_.h: New file.
71876         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
71877         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
71878         * modules/sys_select (Files): Add lib/sys_select_.h.
71879         (Depends-on): Add absolute-header.
71880         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
71881         into sys/select.h.
71882
71883 2007-03-02  Bruno Haible  <bruno@clisp.org>
71884
71885         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
71886         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
71887         values.
71888         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
71889         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
71890         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
71891         * modules/sys_socket (Depends-on): Add absolute-header.
71892         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
71893         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
71894         (Include): Remove requirement of inclusion of <sys/types.h>.
71895
71896 2007-03-02  Bruno Haible  <bruno@clisp.org>
71897
71898         * lib/byteswap_.h (bswap_32): Fix formula.
71899
71900 2007-03-06  Bruno Haible  <bruno@clisp.org>
71901
71902         * modules/sprintf-posix-tests: New file.
71903         * tests/test-sprintf-posix.c: New file.
71904
71905         * modules/sprintf-posix: New file.
71906         * lib/sprintf.c: New file.
71907         * m4/sprintf-posix.m4: New file.
71908         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
71909         REPLACE_SPRINTF.
71910         * lib/stdio_.h (sprintf): New declaration.
71911         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
71912         REPLACE_SPRINTF.
71913
71914 2007-03-06  Bruno Haible  <bruno@clisp.org>
71915
71916         * modules/vsprintf-posix-tests: New file.
71917         * tests/test-vsprintf-posix.c: New file.
71918         * tests/test-sprintf-posix.h: New file.
71919
71920         * modules/vsprintf-posix: New file.
71921         * lib/vsprintf.c: New file.
71922         * m4/vsprintf-posix.m4: New file.
71923         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
71924         REPLACE_VSPRINTF.
71925         * lib/stdio_.h (vsprintf): New declaration.
71926         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
71927         REPLACE_VSPRINTF.
71928
71929 2007-03-06  Bruno Haible  <bruno@clisp.org>
71930
71931         * modules/vsnprintf (Depend-on): Remove minmax.
71932
71933 2007-03-06  Bruno Haible  <bruno@clisp.org>
71934
71935         * modules/snprintf-posix-tests: New file.
71936         * tests/test-snprintf-posix.c: New file.
71937
71938         * modules/snprintf-posix: New file.
71939         * m4/snprintf-posix.m4: New file.
71940         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
71941         gl_FUNC_SNPRINTF.
71942         (gl_FUNC_SNPRINTF): Invoke it.
71943         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
71944         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
71945         is set.
71946         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
71947
71948 2007-03-06  Bruno Haible  <bruno@clisp.org>
71949
71950         * modules/vsnprintf-posix-tests: New file.
71951         * tests/test-vsnprintf-posix.c: New file.
71952         * tests/test-snprintf-posix.h: New file.
71953
71954         * modules/vsnprintf-posix: New file.
71955         * m4/vsnprintf-posix.m4: New file.
71956         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
71957         gl_FUNC_VSNPRINTF.
71958         (gl_FUNC_VSNPRINTF): Invoke it.
71959         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
71960         * lib/stdio_.h (vsnprintf): Define as a replacement if
71961         REPLACE_VSNPRINTF is set.
71962         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
71963
71964 2007-03-06  Bruno Haible  <bruno@clisp.org>
71965
71966         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
71967         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
71968
71969 2007-03-06  Bruno Haible  <bruno@clisp.org>
71970
71971         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
71972         (asinl): Declare also if HAVE_DECL_ASINL is set.
71973         (atanl): Declare also if HAVE_DECL_ATANL is set.
71974         (ceill): Declare also if HAVE_DECL_CEILL is set.
71975         (cosl): Declare also if HAVE_DECL_COSL is set.
71976         (expl): Declare also if HAVE_DECL_EXPL is set.
71977         (floorl): Declare also if HAVE_DECL_FLOORL is set.
71978         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
71979         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
71980         (logl): Declare also if HAVE_DECL_LOGL is set.
71981         (sinl): Declare also if HAVE_DECL_SINL is set.
71982         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
71983         (tanl): Declare also if HAVE_DECL_TANL is set.
71984         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
71985         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
71986         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
71987         declaration of frexpl, ldexpl.
71988         * modules/printf-frexpl (Depends-on): Add math.
71989         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
71990
71991 2007-03-05  Bruno Haible  <bruno@clisp.org>
71992
71993         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
71994         frexpl and ldexpl are declared.
71995         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
71996
71997 2007-03-05  Bruno Haible  <bruno@clisp.org>
71998
71999         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
72000         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
72001
72002 2007-03-05  Bruno Haible  <bruno@clisp.org>
72003
72004         * lib/stdio_.h: Include <stddef.h>.
72005
72006 2007-03-05  Bruno Haible  <bruno@clisp.org>
72007
72008         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
72009
72010 2007-03-05  Bruno Haible  <bruno@clisp.org>
72011
72012         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
72013         NetBSD 4, from Ralf Wildenhues.
72014
72015 2007-03-04  Bruno Haible  <bruno@clisp.org>
72016
72017         * lib/vasprintf.h: Update #if logic for the case when the functions
72018         exist but are overridden.
72019
72020 2007-03-04  Bruno Haible  <bruno@clisp.org>
72021
72022         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
72023         implementations: glibc-2.4 and MacOS X 10.3.
72024         * tests/test-vasnprintf-posix.c (test_function): Test also the case
72025         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
72026         * tests/test-vasprintf-posix.c (test_function): Likewise.
72027
72028 2007-03-04  Bruno Haible  <bruno@clisp.org>
72029
72030         * modules/vasprintf-posix-tests: New file.
72031         * tests/test-vasprintf-posix.c: New file.
72032
72033         * modules/vasprintf-posix: New file.
72034         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
72035         defined.
72036         * m4/vasprintf-posix.m4: New file.
72037         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
72038         gl_FUNC_VASPRINTF.
72039         (gl_FUNC_VASPRINTF): Invoke it.
72040         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
72041         here.
72042         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
72043
72044 2007-03-04  Bruno Haible  <bruno@clisp.org>
72045
72046         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
72047         REPLACE_GETTIMEOFDAY.
72048         * modules/sys_time (Makefile.am): Likewise.
72049         * m4/sys_time_h.m4: Likewise.
72050         * m4/gettimeofday.m4: Likewise.
72051
72052 2007-03-04  Bruno Haible  <bruno@clisp.org>
72053
72054         * modules/vasnprintf-posix-tests: New file.
72055         * tests/test-vasnprintf-posix.c: New file.
72056
72057         * modules/vasnprintf-posix: New file.
72058         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
72059         printf-frexpl.h.
72060         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
72061         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
72062         REPLACE_VASNPRINTF is defined.
72063         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
72064         gl_FUNC_VASNPRINTF.
72065         (gl_FUNC_VASNPRINTF): Invoke it.
72066         * m4/vasnprintf-posix.m4: New file.
72067         * m4/printf.m4: New file.
72068
72069 2007-03-04  Bruno Haible  <bruno@clisp.org>
72070
72071         Compile progreloc.c only if --enable-relocatable is specified.
72072         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
72073         if --enable-relocatable was specified.
72074         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
72075         lib_SOURCES.
72076
72077 2007-03-04  Jim Meyering  <jim@meyering.net>
72078
72079         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
72080         Use it consistently, rather than enumerating errno constants.
72081
72082 2007-03-04  Bruno Haible  <bruno@clisp.org>
72083
72084         * modules/xvasprintf-tests: New file.
72085         * tests/test-xvasprintf.c: New file.
72086
72087         * modules/vasprintf-tests: New file.
72088         * tests/test-vasprintf.c: New file.
72089
72090         * modules/vasnprintf-tests: New file.
72091         * tests/test-vasnprintf.c: New file.
72092
72093         * modules/vsnprintf-tests: New file.
72094         * tests/test-vsnprintf.c: New file.
72095
72096         * modules/snprintf-tests: New file.
72097         * tests/test-snprintf.c: New file.
72098
72099 2007-03-04  Bruno Haible  <bruno@clisp.org>
72100
72101         Compile relocatable.c only if --enable-relocatable is specified.
72102         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
72103         gl_RELOCATABLE_LIBRARY.
72104         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
72105         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
72106         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
72107         gl_RELOCATABLE_LIBRARY.
72108         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
72109         (Makefile.am): Remove lib_SOURCES.
72110         * modules/relocatable-lib-lgpl (configure.ac): Invoke
72111         gl_RELOCATABLE_LIBRARY.
72112         (Makefile.am): Remove lib_SOURCES.
72113         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
72114         always.
72115         * modules/relocatable-prog-wrapper (configure.ac): Invoke
72116         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
72117
72118 2007-03-04  Bruno Haible  <bruno@clisp.org>
72119
72120         * modules/argmatch-tests: New file.
72121         * tests/test-argmatch.c: New file.
72122
72123         * tests/test-allocsa.c (main): Halve the number of loop runs.
72124
72125         * modules/alloca-opt-tests: New file.
72126         * tests/test-alloca-opt.c: New file.
72127
72128 2007-03-04  Jim Meyering  <jim@meyering.net>
72129
72130         Work around difference between Linux ACLs and Solaris 10 ZFS.
72131         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
72132         for EINVAL.
72133
72134 2007-03-03  Bruno Haible  <bruno@clisp.org>
72135
72136         * modules/relocatable-prog (Depends-on): Add back progreloc's
72137         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
72138
72139 2007-03-03  Bruno Haible  <bruno@clisp.org>
72140
72141         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
72142         * modules/relocatable-lib: New file.
72143
72144 2007-03-03  Bruno Haible  <bruno@clisp.org>
72145
72146         * modules/relocatable-prog: Renamed from modules/relocatable.
72147         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
72148
72149 2007-03-03  Bruno Haible  <bruno@clisp.org>
72150
72151         * modules/relocatable-script (Files): Add doc/relocatable.texi,
72152         m4/relocatable-lib.m4.
72153         (Depends-on): Remove 'relocatable'.
72154         (configure.ac): Add gl_RELOCATABLE_NOP.
72155
72156 2007-03-03  Bruno Haible  <bruno@clisp.org>
72157
72158         * modules/relocatable-prog-wrapper: New file.
72159         * modules/relocatable (Depends-on): Add it. Remove all other
72160         dependencies except progname.
72161         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
72162
72163         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
72164         (gl_FUNC_STRERROR): Nop.
72165         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
72166
72167         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
72168         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
72169
72170         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
72171         (gl_FUNC_READLINK): Update.
72172
72173         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
72174
72175 2007-03-03  Bruno Haible  <bruno@clisp.org>
72176
72177         * lib/xreadlink.c: Include <unistd.h> unconditionally.
72178         * modules/xreadlink (Depends-on): Add unistd.
72179         * modules/xreadlink-with-size (Depends-on): Likewise.
72180
72181 2007-03-03  Bruno Haible  <bruno@clisp.org>
72182
72183         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
72184         extracted from gt_FUNC_SETENV.
72185         (gt_FUNC_SETENV): Remove macro.
72186         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
72187         remove gt_FUNC_SETENV.
72188
72189 2007-03-03  Bruno Haible  <bruno@clisp.org>
72190
72191         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
72192         ENABLE_RELOCATABLE here.
72193         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
72194
72195 2007-03-03  Bruno Haible  <bruno@clisp.org>
72196
72197         * modules/rbtreehash-list-tests (Depends-on): Add progname.
72198         * tests/test-rbtreehash_list.c: Include progname.h.
72199         (main): Call set_program_name.
72200
72201         * modules/rbtree-oset-tests (Depends-on): Add progname.
72202         * tests/test-rbtree_oset.c: Include progname.h.
72203         (main): Call set_program_name.
72204
72205         * modules/rbtree-list-tests (Depends-on): Add progname.
72206         * tests/test-rbtree_list.c: Include progname.h.
72207         (main): Call set_program_name.
72208
72209         * modules/linked-list-tests (Depends-on): Add progname.
72210         * tests/test-linked_list.c: Include progname.h.
72211         (main): Call set_program_name.
72212
72213 2007-03-03  Bruno Haible  <bruno@clisp.org>
72214
72215         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
72216         All uses of __restrict changed to _Restrict_.
72217         * lib/glob_.h (__restrict): Remove macro.
72218
72219 2007-03-02  Bruno Haible  <bruno@clisp.org>
72220
72221         * modules/gettext (configure.ac): Require gettext infrastructure
72222         from version 0.16.1.
72223
72224 2007-03-02  Bruno Haible  <bruno@clisp.org>
72225
72226         * modules/linkedhash-list-tests (Depends-on): Add progname.
72227         * tests/test-linkedhash_list.c: Include progname.h.
72228         (main): Call set_program_name.
72229
72230         * modules/carray-list-tests (Depends-on): Add progname.
72231         * tests/test-carray_list.c: Include progname.h.
72232         (main): Call set_program_name.
72233
72234         * modules/avltreehash-list-tests (Depends-on): Add progname.
72235         * tests/test-avltreehash_list.c: Include progname.h.
72236         (main): Call set_program_name.
72237
72238         * modules/avltree-oset-tests (Depends-on): Add progname.
72239         * tests/test-avltree_oset.c: Include progname.h.
72240         (main): Call set_program_name.
72241
72242         * modules/avltree-list-tests (Depends-on): Add progname.
72243         * tests/test-avltree_list.c: Include progname.h.
72244         (main): Call set_program_name.
72245
72246         * modules/array-oset-tests (Depends-on): Add progname.
72247         * tests/test-array_oset.c: Include progname.h.
72248         (main): Call set_program_name.
72249
72250         * modules/array-list-tests (Depends-on): Add progname.
72251         * tests/test-array_list.c: Include progname.h.
72252         (main): Call set_program_name.
72253
72254         * modules/argp-tests (Depends-on): Add progname.
72255         * tests/test-argp.c: Include argp.h first. Include progname.h.
72256         (main): Call set_program_name.
72257
72258 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
72259
72260         * doc/gnulib-tool.texi (Initial import): Reword description of
72261         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
72262         limited effect even if defined after the first system include.
72263
72264 2007-03-01  Bruno Haible  <bruno@clisp.org>
72265
72266         * build-aux/config.libpath: Update to libtool-1.5.22.
72267         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
72268
72269 2007-03-01  Bruno Haible  <bruno@clisp.org>
72270
72271         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
72272         foo_CFLAGS.
72273         Reported by Ralf Wildenhues.
72274
72275 2007-03-01  Bruno Haible  <bruno@clisp.org>
72276
72277         * build-aux/install-reloc: Remove object files left over by some
72278         compilers.
72279         Reported by Ralf Wildenhues.
72280
72281 2007-03-01  Bruno Haible  <bruno@clisp.org>
72282
72283         * build-aux/install-reloc: Break long lines.
72284
72285 2007-03-01  Bruno Haible  <bruno@clisp.org>
72286
72287         * doc/relocatable.texi: Document that it may not work on OpenBSD.
72288         Reported by Ralf Wildenhues.
72289
72290 2007-03-01  Bruno Haible  <bruno@clisp.org>
72291
72292         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
72293         include ordering constraints.
72294
72295 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72296
72297         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
72298         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
72299         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
72300         as another example.
72301         * lib/time_.h: Fix misspelling.
72302         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
72303         Require gl_HEADER_TIME_H_DEFAULTS.
72304         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
72305         * m4/time_r.m4 (gl_TIME_R): Likewise.
72306         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
72307
72308 2007-03-01  Bruno Haible  <bruno@clisp.org>
72309
72310         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
72311         * m4/utimens.m4 (gl_UTIMENS): Likewise.
72312
72313 2007-03-01  Jim Meyering  <jim@meyering.net>
72314
72315         * modules/xreadlink (Maintainer): Add my name.
72316         * modules/xreadlink-with-size (Depends-on): Alphabetize.
72317
72318 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
72319             Bruno Haible  <bruno@clisp.org>
72320
72321         * build-aux/install-reloc: Compile also c-ctype.c.
72322         * build-aux/relocatable.sh.in: New file.
72323         * doc/relocatable.texi: New file.
72324         * doc/relocatable-maint.texi: New file.
72325         * doc/gnulib.texi: Include relocatable-maint.texi.
72326         * lib/progreloc.c: Include unistd.h unconditionally.
72327         * lib/relocwrapper.c: Include unistd.h unconditionally.
72328         Include c-ctype.h.
72329         (add_dotbin): Use c_tolower.
72330         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
72331         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
72332         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
72333         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
72334         to m4/relocatable-lib.m4.
72335         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
72336         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
72337         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
72338         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
72339         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
72340         * modules/relocatable: New file.
72341         * modules/relocatable-lib: New file.
72342         * modules/relocatable-script: New file.
72343
72344 2007-02-28  Bruno Haible  <bruno@clisp.org>
72345
72346         Import --enable-relocatable infrastructure.
72347         * build-aux/config.libpath: New file, from GNU gettext.
72348         * build-aux/install-reloc: New file, from GNU gettext.
72349         * build-aux/reloc-ldflags: New file, from GNU gettext.
72350         * lib/relocatable.h: New file, from GNU gettext.
72351         * lib/relocatable.c: New file, from GNU gettext.
72352         * lib/relocwrapper.c: New file, from GNU gettext.
72353         * m4/relocatable.m4: New file, from GNU gettext.
72354
72355 2007-02-28  Bruno Haible  <bruno@clisp.org>
72356
72357         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
72358
72359         * modules/xreadlink: New file, from GNU gettext with modifications.
72360         * lib/xreadlink.c: New file, from GNU gettext.
72361         * lib/xreadlink.h: Add comments.
72362         (xreadlink): New declaration.
72363
72364         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
72365         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
72366         lib/xreadlink-with-size.c.
72367         (configure.ac): Remove gl_XREADLINK invocation.
72368         (Makefile.am): Augment lib_SOURCES.
72369         * m4/xreadlink.m4: Remove file.
72370         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
72371         (xreadlink_with_size): Renamed from xreadink.
72372         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
72373         * modules/canonicalize (Depends-on): Replace xreadlink with
72374         xreadlink-with-size.
72375         * lib/canonicalize.c (canonicalize_filename_mode): Update.
72376
72377 2007-02-25  Jim Meyering  <jim@meyering.net>
72378
72379         * build-aux/announce-gen: When complaining about excess arguments,
72380         list them.
72381
72382 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
72383
72384         * README: Document signed integer overflow situation more
72385         accurately.
72386
72387 2007-02-25  Bruno Haible  <bruno@clisp.org>
72388
72389         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
72390         'a' or 'A' conversion.
72391
72392 2007-02-25  Bruno Haible  <bruno@clisp.org>
72393
72394         * modules/filename: Renamed from modules/pathname.
72395         (Files): Replace lib/pathname.h with lib/filename.h. Replace
72396         lib/concatpath.c with lib/concat-filename.c.
72397         (Makefile.am): Update.
72398         (Include): Replace pathname.h with filename.h.
72399         * lib/filename.h: Renamed from lib/pathname.h.
72400         (concatenated_filename): Renamed from concatenated_pathname.
72401         * lib/concat-filename.c: Renamed from lib/concatpath.c.
72402         (concatenated_filename): Renamed from concatenated_pathname.
72403         * lib/findprog.c: Include filename.h instead of pathname.h.
72404         (find_in_path): Update.
72405         * lib/javacomp.c: Include filename.h instead of pathname.h.
72406         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
72407         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
72408         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
72409         is_oldgcj_14_13_usable, is_javac_usable): Update.
72410         * lib/javaexec.c: Include filename.h instead of pathname.h.
72411         (execute_java_class): Update.
72412         * modules/findprog: Update.
72413         * modules/javacomp: Update.
72414         * modules/javaexec: Update.
72415         * MODULES.html.sh (File system functions): Add 'filename', remove
72416         'pathname'.
72417
72418 2007-02-25  Bruno Haible  <bruno@clisp.org>
72419
72420         * modules/printf-frexpl-tests: New file.
72421         * tests/test-printf-frexpl.c: New file.
72422
72423         * modules/printf-frexpl: New file.
72424         * lib/printf-frexpl.h: New file.
72425         * lib/printf-frexpl.c: New file.
72426         * m4/printf-frexpl.m4: New file.
72427
72428 2007-02-25  Bruno Haible  <bruno@clisp.org>
72429
72430         * modules/printf-frexp-tests: New file.
72431         * tests/test-printf-frexp.c: New file.
72432
72433         * modules/printf-frexp: New file.
72434         * lib/printf-frexp.h: New file.
72435         * lib/printf-frexp.c: New file.
72436         * m4/printf-frexp.m4: New file.
72437
72438 2007-02-25  Bruno Haible  <bruno@clisp.org>
72439
72440         Assume automake >= 1.10 for the tests.
72441         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
72442         * modules/arctwo-tests: Likewise.
72443         * modules/argp-tests: Likewise.
72444         * modules/avltree-list-tests: Likewise.
72445         * modules/avltree-oset-tests: Likewise.
72446         * modules/avltreehash-list-tests: Likewise.
72447         * modules/carray-list-tests: Likewise.
72448         * modules/crc-tests: Likewise.
72449         * modules/des-tests: Likewise.
72450         * modules/gc-arcfour-tests: Likewise.
72451         * modules/gc-arctwo-tests: Likewise.
72452         * modules/gc-des-tests: Likewise.
72453         * modules/gc-hmac-md5-tests: Likewise.
72454         * modules/gc-hmac-sha1-tests: Likewise.
72455         * modules/gc-md2-tests: Likewise.
72456         * modules/gc-md4-tests: Likewise.
72457         * modules/gc-md5-tests: Likewise.
72458         * modules/gc-pbkdf2-sha1-tests: Likewise.
72459         * modules/gc-rijndael-tests: Likewise.
72460         * modules/gc-sha1-tests: Likewise.
72461         * modules/gc-tests: Likewise.
72462         * modules/getaddrinfo-tests: Likewise.
72463         * modules/hmac-md5-tests: Likewise.
72464         * modules/hmac-sha1-tests: Likewise.
72465         * modules/linked-list-tests: Likewise.
72466         * modules/linkedhash-list-tests: Likewise.
72467         * modules/lock-tests: Likewise.
72468         * modules/md2-tests: Likewise.
72469         * modules/md4-tests: Likewise.
72470         * modules/md5-tests: Likewise.
72471         * modules/rbtree-list-tests: Likewise.
72472         * modules/rbtree-oset-tests: Likewise.
72473         * modules/rbtreehash-list-tests: Likewise.
72474         * modules/read-file-tests: Likewise.
72475         * modules/rijndael-tests: Likewise.
72476         * modules/stdint-tests: Likewise.
72477         * modules/tls-tests: Likewise.
72478
72479 2007-02-24  Bruno Haible  <bruno@clisp.org>
72480
72481         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
72482         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
72483         function; instead check whether isnan with a double argument links.
72484         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
72485         function; instead check whether isnan with a 'long double' argument
72486         links.
72487         Reported by Eric Blake <ebb9@byu.net>.
72488
72489 2007-02-24  Bruno Haible  <bruno@clisp.org>
72490
72491         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
72492         defined.
72493         * lib/isnanl.c: Remove all code. Just include isnan.c.
72494         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
72495
72496 2007-02-25  Jim Meyering  <jim@meyering.net>
72497
72498         Avoid conflicting types for 'unsetenv' on FreeBSD.
72499         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
72500         conflicting with FreeBSD's (5.0 and 6.1) function declaration
72501         in stdlib.h.
72502
72503 2007-02-24  Bruno Haible  <bruno@clisp.org>
72504
72505         * modules/isnanl-nolibm-tests: New file.
72506         * tests/test-isnanl.c: New file.
72507
72508         * modules/isnanl-nolibm: New file.
72509         * lib/isnanl.h: New file.
72510         * lib/isnanl.c: New file.
72511         * m4/isnanl.m4: New file.
72512
72513 2007-02-24  Bruno Haible  <bruno@clisp.org>
72514
72515         * modules/isnan-nolibm-tests: New file.
72516         * tests/test-isnan.c: New file.
72517
72518         * modules/isnan-nolibm: New file.
72519         * lib/isnan.h: New file.
72520         * lib/isnan.c: New file.
72521         * m4/isnan.m4: New file.
72522
72523 2007-02-24  Bruno Haible  <bruno@clisp.org>
72524
72525         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
72526         assume that an exponent fits in 20 bits.
72527
72528 2007-02-24  Jim Meyering  <jim@meyering.net>
72529
72530         * m4/regex.m4: Update the description of the configure-time option,
72531         --without-included-regex, to state accurately what the defaults are,
72532         and perhaps to give people an idea why using this option is risky.
72533
72534 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
72535
72536         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
72537         loops on small arguments.  This attempts to avoid the problem
72538         Bruno Haible reported for AIX 4.3.2 in
72539         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
72540
72541 2007-02-23  Bruno Haible  <bruno@clisp.org>
72542
72543         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
72544         Needed for help2man.
72545
72546 2007-02-23  Karl Berry  <karl@gnu.org>
72547
72548         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
72549         exists, foo.h should be cvs-ignored, not committed.
72550
72551 2007-02-23  Eric Blake  <ebb9@byu.net>
72552
72553         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
72554         * lib/stat-time.h (includes): Likewise.
72555         * lib/utimecmp.c (includes): Likewise.
72556         * lib/utimens.h (includes): Likewise.
72557         * lib/getdate.y (includes): Also include "timespec.h" for use
72558         internal to the module.
72559         * modules/utimens (Depends-on): Revert yesterday's patch.
72560         * modules/nanosleep (Depends-on): Add missing dependency.
72561
72562 2007-02-22  Bruno Haible  <bruno@clisp.org>
72563
72564         * lib/glob.c: Don't include getlogin_r.h.
72565
72566 2007-02-22  Jim Meyering  <jim@meyering.net>
72567
72568         * modules/utimens (Depends-on): Add timespec, required for
72569         utimens.h's inclusion of timespec.h.
72570
72571 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
72572
72573         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
72574         long unreadable paths in GNU/Linux.  Problem reported by Andreas
72575         Schwab in
72576         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
72577         I'll try to think of a better way to fix the Solaris problem.
72578
72579         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
72580         like glibc; on Solaris 10, it fails with errno == EINVAL.
72581         POSIX says the behavior is unspecified if the first argument is NULL,
72582         so play it safe and never pass NULL to the system getcwd.
72583
72584 2007-02-21  Jim Meyering  <jim@meyering.net>
72585
72586         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
72587         of gettimeofday.  It would conflict with the one now always
72588         provided via sys_time_.h.  Reported by Matthew Woehlke, as
72589         an IRIX 6.5 build failure.
72590
72591 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
72592
72593         Minor fixups to port to Solaris 10 with Sun C 5.8.
72594         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
72595         * modules/getcwd (Depends-on): Add dirfd.
72596         * lib/putenv.c (putenv): #undef it.
72597         (rpl_putenv): New decl.
72598         (malloc, free): Include <stdlib.h> rather than prototyping separately.
72599
72600 2007-02-20  Bruno Haible  <bruno@clisp.org>
72601
72602         * modules/stdio-tests: New file.
72603         * tests/test-stdio.c: New file.
72604
72605         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
72606         (Depends-on): Add stdio.
72607         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72608         (Include): Use <stdio.h> instead of vsnprintf.h.
72609         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72610         HAVE_DECL_VSNPRINTF.
72611         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
72612
72613         * modules/snprintf (Files): Remove lib/snprintf.h.
72614         (Depends-on): Add stdio.
72615         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72616         (Include): Use <stdio.h> instead of snprintf.h.
72617         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72618         HAVE_DECL_SNPRINTF.
72619         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
72620         * lib/getaddrinfo.c: Likewise.
72621
72622         * modules/stdio: New file.
72623         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
72624         * lib/snprintf.h: Remove file.
72625         * lib/vsnprintf.h: Remove file.
72626         * lib/.cppi-disable: Remove snprintf.h.
72627         * m4/stdio_h.m4: New file.
72628         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
72629
72630 2007-02-20  Jim Meyering  <jim@meyering.net>
72631
72632         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
72633         used by e.g., mingw.  From Bruno Haible.
72634
72635 2007-02-19  Bruno Haible  <bruno@clisp.org>
72636
72637         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
72638         warnings.
72639         Reported by Ben Pfaff <blp@cs.stanford.edu>.
72640
72641 2007-02-19  Bruno Haible  <bruno@clisp.org>
72642
72643         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
72644         from mingw users.
72645
72646 2007-02-19  Bruno Haible  <bruno@clisp.org>
72647
72648         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
72649         warnings.
72650         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
72651
72652 2007-02-19  Jim Meyering  <jim@meyering.net>
72653
72654         Don't use FD after a successful "fdopendir (fd)".
72655         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
72656         Reset it by calling dirfd on the just-obtained DIR*.
72657
72658         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
72659         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
72660
72661 2007-02-18  Bruno Haible  <bruno@clisp.org>
72662
72663         * lib/readlink.c: Include <unistd.h>.
72664         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
72665         HAVE_READLINK.
72666         * modules/readlink (Depends-on): Add unistd.
72667         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72668         (Include): Add <unistd.h>.
72669
72670         * lib/getlogin_r.h: Remove file.
72671         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
72672         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
72673         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
72674         HAVE_DECL_GETLOGIN_R.
72675         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
72676         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72677         (Include): Use <unistd.h> instead of getlogin_r.h.
72678
72679         * lib/getcwd.h: Remove file.
72680         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
72681         * lib/xgetcwd.c: Likewise.
72682         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
72683         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
72684         * modules/getcwd (Files): Remove lib/getcwd.h.
72685         (Depends-on): Add unistd.
72686         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72687         (Include): Use <unistd.h> instad of getcwd.h.
72688
72689         * lib/ftruncate.c: Include <unistd.h> first.
72690         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
72691         Set HAVE_FTRUNCATE.
72692         * modules/ftruncate (Depends-on): Add unistd.
72693         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72694
72695         * lib/fchdir.c: Include <unistd.h> first.
72696         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
72697         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
72698         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
72699         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72700         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
72701
72702         * lib/dup2.c: Include <unistd.h> first.
72703         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
72704         HAVE_DUP2.
72705         * modules/dup2 (Depends-on): Add unistd.
72706         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72707
72708         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
72709         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
72710         REPLACE_CHOWN. Don't define chown as a macro here.
72711         * modules/chown (Depends-on): Add unistd.
72712         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72713
72714         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
72715         Add definition for GL_LINK_WARNING.
72716         (chown, dup2): New declarations.
72717         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
72718         link warning.
72719         (ftruncate): New declaration.
72720         (getcwd): New declaration, taken from old getcwd.h.
72721         (getlogin_r): New declaration, taken from old getlogin_r.h.
72722         (readlink): New declaration.
72723         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
72724         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
72725         (gl_PREREQ_UNISTD): Remove macro.
72726         (gl_UNISTD_MODULE_INDICATOR): New macro.
72727         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
72728         many new variables. Don't set UNISTD_H.
72729         * modules/unistd (Description): Change.
72730         (Depends-on): Add link-warning.
72731         (configure.ac): Update.
72732         (Makefile.am): Create unistd.h always. Substitute many new variables
72733         into it.
72734
72735 2007-02-18  Bruno Haible  <bruno@clisp.org>
72736
72737         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
72738         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
72739         HAVE_GETSUBOPT.
72740         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
72741         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
72742         * lib/getsubopt.h: Remove file.
72743         * modules/getsubopt (Files): Remove lib/getsubopt.h.
72744         (Depends-on): Add stdlib.
72745         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72746         (Includes): Use <stdlib.h> instead of getsubopt.h.
72747         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
72748         Set HAVE_GETSUBOPT.
72749         * lib/getsubopt.c: Don't include getsubopt.h.
72750
72751 2007-02-18  Bruno Haible  <bruno@clisp.org>
72752
72753         * modules/fchdir (Depends-on): Add dup2.
72754
72755 2007-02-18  Bruno Haible  <bruno@clisp.org>
72756
72757         * lib/stdlib_.h: Handle glibc's special invocation convention
72758         specially.
72759
72760 2007-02-18  Bruno Haible  <bruno@clisp.org>
72761
72762         * modules/stdlib-tests: New file.
72763         * tests/test-stdlib.c: New file.
72764
72765         * modules/mkstemp (Files): Remove lib/mkstemp.h.
72766         (Depends-on): Add stdlib.
72767         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72768         (Includes): Use <stdlib.h> instead of mkstemp.h.
72769         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
72770         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
72771         * lib/mkstemp.c: Don't include mkstemp.h.
72772         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
72773         * lib/stdlib--.h: Don't include mkstemp.h.
72774
72775         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
72776         (Depends-on): Add stdlib.
72777         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72778         (Includes): Use <stdlib.h> instead of mkdtemp.h.
72779         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
72780         HAVE_MKDTEMP.
72781         * lib/mkdtemp.c: Don't include mkdtemp.h.
72782         * lib/clean-temp.c: Don't include mkdtemp.h.
72783
72784         * modules/exit (Files): Remove lib/exit.h.
72785         (Depends-on): Add stdlib.
72786         (Makefile.am): Remove lib_SOURCES.
72787         (Include): Use <stdlib.h> instead of exit.h.
72788         * lib/argmatch.c: Don't include exit.h.
72789         * lib/execute.c: Likewise.
72790         * lib/pagealign_alloc.c: Likewise.
72791         * lib/pipe.c: Likewise.
72792         * lib/wait-process.c: Likewise.
72793         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
72794         * lib/exitfail.c: Likewise.
72795         * lib/savewd.c: Likewise.
72796         * lib/xsetenv.c: Likewise.
72797
72798         * modules/stdlib: New file.
72799         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
72800         and extra comments about mkstemp().
72801         * lib/exit.h: Remove file.
72802         * lib/mkdtemp.h: Remove file.
72803         * lib/mkstemp.h: Remove file.
72804         * m4/stdlib_h.m4: New file.
72805         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
72806
72807 2007-02-18  Bruno Haible  <bruno@clisp.org>
72808
72809         * modules/math-tests: New file.
72810         * tests/test-math.c: New file.
72811
72812         * modules/math: New file.
72813         * modules/mathl (Files): Remove lib/mathl.h.
72814         (Depends-on): Add math.
72815         (Makefile.am): Don't mention mathl.h.
72816         (Include): Use <math.h> instead of mathl.h.
72817         * lib/math_.h: New file.
72818         * lib/mathl.h: Remove file.
72819         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
72820         mathl.h.
72821         * lib/asinl.c: Likewise.
72822         * lib/atanl.c: Likewise.
72823         * lib/ceill.c: Likewise.
72824         * lib/cosl.c: Likewise.
72825         * lib/expl.c: Likewise.
72826         * lib/floorl.c: Likewise.
72827         * lib/frexpl.c: Likewise.
72828         * lib/ldexpl.c: Likewise.
72829         * lib/logl.c: Likewise.
72830         * lib/sincosl.c: Likewise.
72831         * lib/sinl.c: Likewise.
72832         * lib/sqrtl.c: Likewise.
72833         * lib/tanl.c: Likewise.
72834         * lib/trigl.c: Likewise.
72835         * m4/math_h.m4: New file.
72836         * MODULES.html.sh (Mathematics): Add math.
72837
72838 2007-02-17  Bruno Haible  <bruno@clisp.org>
72839
72840         * modules/wctype-tests: New file.
72841         * tests/test-wctype.c: New file.
72842
72843         * modules/wchar-tests: New file.
72844         * tests/test-wchar.c: New file.
72845
72846         * modules/unistd-tests: New file.
72847         * tests/test-unistd.c: New file.
72848
72849         * modules/time-tests: New file.
72850         * tests/test-time.c: New file.
72851
72852         * modules/sysexits-tests: New file.
72853         * tests/test-sysexits.c: New file.
72854
72855         * modules/sys_time-tests: New file.
72856         * tests/test-sys_time.c: New file.
72857
72858         * modules/sys_stat-tests: New file.
72859         * tests/test-sys_stat.c: New file.
72860
72861         * modules/sys_socket-tests: New file.
72862         * tests/test-sys_socket.c: New file.
72863
72864         * modules/sys_select-tests: New file.
72865         * tests/test-sys_select.c: New file.
72866
72867         * modules/string-tests: New file.
72868         * tests/test-string.c: New file.
72869
72870         * modules/stdbool-tests: New file.
72871         * tests/test-stdbool.c: New file.
72872
72873         * modules/netinet_in-tests: New file.
72874         * tests/test-netinet_in.c: New file.
72875
72876         * modules/inttypes-tests: New file.
72877         * tests/test-inttypes.c: New file.
72878
72879         * modules/fcntl-tests: New file.
72880         * tests/test-fcntl.c: New file.
72881
72882         * modules/byteswap-tests: New file.
72883         * tests/test-byteswap.c: New file.
72884
72885         * modules/arpa_inet-tests: New file.
72886         * tests/test-arpa_inet.c: New file.
72887
72888 2007-02-17  Bruno Haible  <bruno@clisp.org>
72889
72890         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
72891         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
72892         if the corresponding module is not enabled. Emit link warnings if
72893         the function is used nevertheless.
72894         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
72895         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
72896         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
72897         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
72898         * modules/inttypes (Depends-on): Add link-warning.
72899         (Makefile.am): Copy the contents of build-aux/link-warning.h into
72900         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
72901         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
72902         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
72903         * modules/imaxdiv (configure.ac): Likewise.
72904         * modules/strtoimax (configure.ac): Likewise.
72905         * modules/strtoumax (configure.ac): Likewise.
72906
72907 2007-02-17  Bruno Haible  <bruno@clisp.org>
72908
72909         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
72910         gl_STRING_MODULE_INDICATOR_DEFAULTS.
72911         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
72912         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
72913
72914 2007-02-17  Bruno Haible  <bruno@clisp.org>
72915
72916         * modules/link-warning: New file.
72917         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
72918         * lib/string_.h (GL_LINK_WARNING): Remove definition.
72919         * modules/string (Depends-on): Add link-warning.
72920         (Makefile.am): Copy the contents of build-aux/link-warning.h into
72921         string.h.
72922         * MODULES.html.sh (Support for building libraries and executables): Add
72923         link-warning.
72924
72925 2007-02-17  Bruno Haible  <bruno@clisp.org>
72926
72927         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
72928         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
72929         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
72930         long lines.
72931
72932 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
72933             Bruno Haible  <bruno@clisp.org>
72934
72935         * modules/tmpfile: New file.
72936         * lib/tmpfile.c: New file.
72937         * m4/tmpfile.m4: New file.
72938         * MODULES.html.sh (func_all_modules): New section "Input/output".
72939
72940 2007-02-15  Bruno Haible  <bruno@clisp.org>
72941
72942         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
72943         (supports_delete_on_close): New function.
72944         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
72945
72946 2007-02-14  Bruno Haible  <bruno@clisp.org>
72947
72948         * modules/mbspcasecmp-tests: New file.
72949         * tests/test-mbspcasecmp.sh: New file.
72950         * tests/test-mbspcasecmp.c: New file.
72951
72952         New module mbspcasecmp.
72953         * modules/mbspcasecmp: New file.
72954         * lib/mbspcasecmp.c: New file.
72955         * lib/string_.h (strncasecmp): Change warning message.
72956         (mbspcasecmp): New declaration.
72957         * m4/mbspcasecmp.m4: New file.
72958         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72959         GNULIB_MBSPCASECMP.
72960         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
72961         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
72962
72963 2007-02-14  Bruno Haible  <bruno@clisp.org>
72964
72965         * modules/mbsncasecmp-tests: New file.
72966         * tests/test-mbsncasecmp.sh: New file.
72967         * tests/test-mbsncasecmp.c: New file.
72968
72969         New module mbsncasecmp.
72970         * modules/mbsncasecmp: New file.
72971         * lib/mbsncasecmp.c: New file.
72972         * lib/string_.h (mbsncasecmp): New declaration.
72973         * m4/mbsncasecmp.m4: New file.
72974         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72975         GNULIB_MBSNCASECMP.
72976         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
72977         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
72978
72979 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
72980
72981         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
72982         Verify that it doesn't overlap with our flags.
72983         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
72984         do not have the desired effect in multibyte locales; instead, use
72985         mbscasecmp.
72986         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
72987         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
72988         we don't require GNU fnmatch ourselves (if our users require it, they
72989         should do so explicitly).
72990
72991         Fix regex code so it doesn't rely on strcasecmp.
72992         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
72993         Otherwise, include gnulib's langinfo.h.
72994         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
72995         undesirable behavior in non-C locales.  Instead, rely on localecharset.
72996         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
72997         * modules/regex (FILES): Remove m4/codeset.m4.
72998         (Depends-on): Add localcharset.  Remove strcase.
72999
73000 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73001
73002         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
73003         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
73004
73005 2007-02-13  Bruno Haible  <bruno@clisp.org>
73006
73007         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
73008         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73009
73010 2007-02-12  Bruno Haible  <bruno@clisp.org>
73011
73012         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
73013         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
73014         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
73015         time warning rather than a link error.
73016
73017 2007-02-12  Bruno Haible  <bruno@clisp.org>
73018
73019         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
73020         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
73021         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73022
73023 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73024
73025         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
73026         args, not 2.
73027
73028 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73029
73030         New module 'time', so that apps can include <time.h> as per
73031         POSIX and GNU instead of separate include files like time_r.h
73032         and timegm.h.  This implementation tries out a simpler approach
73033         for replacing decls in standard include files (as compared to
73034         the string module), somewhat as an experiment.
73035
73036         * config/srclist.txt: Comment out mktime.c for now.
73037         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
73038         since it doesn't apply any more.  Use generic wording instead.
73039         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
73040         'time'.
73041         * lib/time_.h, m4/time_h.m4, modules/time: New files.
73042         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
73043         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
73044         Don't include <sys/types.h>; no longer needed since we assume C89.
73045         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
73046         * lib/strftime.c: Likewise.
73047         * lib/time_r.c: Likewise.
73048         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
73049         * lib/nanosleep.c: Include <time.h> first, to check interface.
73050         * lib/strptime.c: Likewise.
73051         * lib/time_r.c: Likewise.
73052         * lib/timegm.c: Likewise.
73053         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
73054         needed.
73055         * lib/timegm.c: Don't include timegm.h; no longer needed.
73056         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
73057         time.h now handles any problems in that area.
73058         (struct timespec, nanosleep): Remove; time.h now arranges for these.
73059         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
73060         that time.h defines struct timespec.
73061         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
73062         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
73063         handles that.
73064         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
73065         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
73066         needed.  Set REPLACE_LOCALTIME.
73067         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
73068         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
73069         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
73070         nanosleep; time_h.m4 now does that.  Don't require
73071         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
73072         module handles this now.
73073         * modules/getdate (Depends-on): Remove timespec.  Add time.
73074         * modules/nanosleep (Depends-on): Likewise.
73075         * modules/stat-time (Depends-on): Likewise.
73076         * modules/nanosleep (Include): Include time.h, not timespec.h.
73077         * modules/strptime (Files): Remove lib/strptime.h.
73078         (Depends-on): Add extensions, time.
73079         (Include): Include time.h, not strptime.h.
73080         * modules/time_r (Files): Remove lib/time_r.h.
73081         (Depends-on): Add time.
73082         (Include): Include time.h, not time_r.h.
73083         * modules/timegm: Likewise.
73084         * modules/timespec (Description): Now does timespec-related decls
73085         of our own, instead of struct timespec itself.
73086         (Depends-on): Add time; remove extensions.
73087         (Maintainer): Add self.
73088         * modules/utimecmp (Depends-on): Add time; remove timespec.
73089         * modules/utimens (Depends-on): Likewise.
73090         * modules/xnanosleep (Depends-on): Likewise.
73091
73092 2007-02-11  Bruno Haible  <bruno@clisp.org>
73093
73094         * lib/c-strstr.c: Include allocsa.h.
73095         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73096         * lib/c-strcasestr.c: Include allocsa.h.
73097         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73098         * lib/strcasestr.c: Include allocsa.h.
73099         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73100         * lib/mbsstr.c: Include allocsa.h.
73101         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73102         allocsa/freesa instead of malloc/free.
73103         * lib/mbscasestr.c: Include allocsa.h.
73104         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73105         allocsa/freesa instead of malloc/free.
73106         * modules/c-strstr (Depends-on): Add allocsa.
73107         * modules/c-strcasestr (Depends-on): Likewise.
73108         * modules/strcasestr (Depends-on): Likewise.
73109         * modules/mbsstr (Depends-on): Likewise.
73110         * modules/mbscasestr (Depends-on): Likewise.
73111
73112 2007-02-11  Bruno Haible  <bruno@clisp.org>
73113
73114         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
73115
73116         * modules/mbsspn-tests: New file.
73117         * tests/test-mbsspn.sh: New file.
73118         * tests/test-mbsspn.c: New file.
73119
73120 2007-02-11  Bruno Haible  <bruno@clisp.org>
73121
73122         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
73123
73124         * modules/mbspbrk-tests: New file.
73125         * tests/test-mbspbrk.sh: New file.
73126         * tests/test-mbspbrk.c: New file.
73127
73128 2007-02-11  Bruno Haible  <bruno@clisp.org>
73129
73130         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
73131         unneeded cast.
73132
73133         * modules/mbscspn-tests: New file.
73134         * tests/test-mbscspn.sh: New file.
73135         * tests/test-mbscspn.c: New file.
73136
73137 2007-02-11  Bruno Haible  <bruno@clisp.org>
73138
73139         * modules/mbscasecmp-tests: New file.
73140         * tests/test-mbscasecmp.sh: New file.
73141         * tests/test-mbscasecmp.c: New file.
73142
73143 2007-02-11  Bruno Haible  <bruno@clisp.org>
73144
73145         Ensure O(n) worst-case complexity of mbscasestr.
73146         * lib/mbscasestr.c: Include stdbool.h.
73147         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73148         functions.
73149         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
73150         the bookkeeping indicates that it's worth it.
73151         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
73152
73153         * modules/mbscasestr-tests: New file.
73154         * tests/test-mbscasestr1.c: New file.
73155         * tests/test-mbscasestr2.sh: New file.
73156         * tests/test-mbscasestr2.c: New file.
73157         * tests/test-mbscasestr3.sh: New file.
73158         * tests/test-mbscasestr3.c: New file.
73159         * tests/test-mbscasestr4.sh: New file.
73160         * tests/test-mbscasestr4.c: New file.
73161         * m4/locale-tr.m4: New file.
73162
73163 2007-02-11  Bruno Haible  <bruno@clisp.org>
73164
73165         Ensure O(n) worst-case complexity of mbsstr.
73166         * lib/mbsstr.c: Include stdbool.h.
73167         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73168         functions.
73169         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
73170         bookkeeping indicates that it's worth it.
73171         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
73172
73173         * modules/mbsstr-tests: New file.
73174         * tests/test-mbsstr1.c: New file.
73175         * tests/test-mbsstr2.sh: New file.
73176         * tests/test-mbsstr2.c: New file.
73177         * tests/test-mbsstr3.sh: New file.
73178         * tests/test-mbsstr3.c: New file.
73179         * m4/locale-fr.m4: New file.
73180
73181 2007-02-11  Bruno Haible  <bruno@clisp.org>
73182
73183         * lib/mbsrchr.c (mbsrchr): Fix bug.
73184
73185         * modules/mbsrchr-tests: New file.
73186         * tests/test-mbsrchr.sh: New file.
73187         * tests/test-mbsrchr.c: New file.
73188
73189 2007-02-11  Bruno Haible  <bruno@clisp.org>
73190
73191         * lib/mbschr.c (mbschr): Fix bug.
73192
73193         * modules/mbschr-tests: New file.
73194         * tests/test-mbschr.sh: New file.
73195         * tests/test-mbschr.c: New file.
73196         * m4/locale-zh.m4: New file.
73197
73198 2007-02-11  Bruno Haible  <bruno@clisp.org>
73199
73200         Support for copying multibyte string iterators.
73201         * lib/mbiter.h: Include <string.h>.
73202         (mbiter_multi_copy): New function.
73203         (mbi_copy): New macro.
73204         * lib/mbuiter.h: Include <string.h>.
73205         (mbuiter_multi_copy): New function.
73206         (mbui_copy): New macro.
73207
73208 2007-02-11  Bruno Haible  <bruno@clisp.org>
73209
73210         New module mbslen.
73211         * modules/mbslen: New file.
73212         * lib/mbslen.c: New file.
73213         * lib/string_.h (mbslen): New declaration.
73214         * m4/mbslen.m4: New file.
73215         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73216         GNULIB_MBSLEN.
73217         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
73218         * MODULES.html.sh (Internationalization functions): Add mbslen.
73219
73220 2007-02-11  Bruno Haible  <bruno@clisp.org>
73221
73222         Ensure O(n) worst-case complexity of strcasestr substitute.
73223         * lib/strcasestr.c: Include stdbool.h.
73224         (knuth_morris_pratt): New function.
73225         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73226         bookkeeping indicates that it's worth it.
73227         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
73228
73229         * modules/strcasestr-tests: New file.
73230         * tests/test-strcasestr.c: New file.
73231
73232 2007-02-11  Bruno Haible  <bruno@clisp.org>
73233
73234         Ensure O(n) worst-case complexity of c_strcasestr.
73235         * lib/c-strcasestr.c: Include stdbool.h, string.h.
73236         (knuth_morris_pratt): New function.
73237         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
73238         the bookkeeping indicates that it's worth it.
73239         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
73240
73241         * modules/c-strcasestr-tests: New file.
73242         * tests/test-c-strcasestr.c: New file.
73243
73244 2007-02-11  Bruno Haible  <bruno@clisp.org>
73245
73246         Ensure O(n) worst-case complexity of c_strstr.
73247         * lib/c-strstr.c: Include stdbool.h, string.h.
73248         (knuth_morris_pratt): New function.
73249         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73250         bookkeeping indicates that it's worth it.
73251         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
73252
73253         * lib/c-strstr.c: Complete rewrite for maintainability.
73254
73255         * modules/c-strstr-tests: New file.
73256         * tests/test-c-strstr.c: New file.
73257
73258 2007-02-11  Bruno Haible  <bruno@clisp.org>
73259
73260         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
73261         5.2.1 and earlier, whereby \055 was treated just like the range
73262         delimiter '-'.
73263         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
73264
73265 2007-02-08  Bruno Haible  <bruno@clisp.org>
73266
73267         * modules/regex (Depends-on): Add stdbool.
73268         Reported by Dalibor Topic <robilad@kaffe.org>.
73269
73270 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
73271
73272         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
73273         Prefer returning from main to exiting from it.
73274         Remove unnecessary parens after sizeof.
73275
73276 2007-02-05  Bruno Haible  <bruno@clisp.org>
73277
73278         New module mbssep.
73279         * modules/mbssep: New file.
73280         * lib/mbssep.c: New file.
73281         * lib/string_.h (strsep): Add a conditional link warning.
73282         (mbssep): New declaration.
73283         * m4/mbssep.m4: New file.
73284         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73285         GNULIB_MBSSEP.
73286         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
73287         * MODULES.html.sh (Internationalization functions): Add mbssep.
73288
73289 2007-02-05  Bruno Haible  <bruno@clisp.org>
73290
73291         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
73292         Optimize search in case of 1 delimiter.
73293
73294 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73295
73296         * lib/acl.h: Include sys/types.h before sys/acl.h.
73297
73298 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73299
73300         Merge upstream fix for glibc bugzilla #3957:
73301
73302         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
73303
73304         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
73305         bit for RE_HAT_LISTS_NOT_NEWLINE.
73306         (build_charclass_op): Remove bogus comment.
73307
73308 2007-02-05  Simon Josefsson  <simon@josefsson.org>
73309
73310         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
73311
73312 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73313
73314         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
73315         * lib/memmem.c [!defined _LIBC]: Include config.h.
73316
73317 2007-02-04  Bruno Haible  <bruno@clisp.org>
73318
73319         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
73320         warning message.
73321
73322 2007-02-04  Bruno Haible  <bruno@clisp.org>
73323
73324         New module mbstok_r.
73325         * modules/mbstok_r: New file.
73326         * lib/mbstok_r.c: New file.
73327         * lib/string_.h (strtok_r): Change argument names to match the
73328         comments. Add a conditional link warning.
73329         (mbstok_r): New declaration.
73330         * m4/mbstok_r.m4: New file.
73331         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73332         GNULIB_MBSTOK_R.
73333         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
73334         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
73335
73336 2007-02-04  Bruno Haible  <bruno@clisp.org>
73337
73338         New module mbsspn.
73339         * modules/mbsspn: New file.
73340         * lib/mbsspn.c: New file.
73341         * lib/string_.h (strspn): Add a conditional link warning.
73342         (mbsspn): New declaration.
73343         * m4/mbsspn.m4: New file.
73344         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73345         GNULIB_MBSSPN.
73346         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
73347         * MODULES.html.sh (Internationalization functions): Add mbsspn.
73348
73349 2007-02-04  Bruno Haible  <bruno@clisp.org>
73350
73351         New module mbspbrk.
73352         * modules/mbspbrk: New file.
73353         * lib/mbspbrk.c: New file.
73354         * lib/string_.h (strpbrk): Add a conditional link warning.
73355         (mbspbrk): New declaration.
73356         * m4/mbspbrk.m4: New file.
73357         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73358         GNULIB_MBSPBRK.
73359         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
73360         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
73361
73362 2007-02-04  Bruno Haible  <bruno@clisp.org>
73363
73364         New module mbscspn.
73365         * modules/mbscspn: New file.
73366         * lib/mbscspn.c: New file.
73367         * lib/string_.h (strcspn): Add a conditional link warning.
73368         (mbscspn): New declaration.
73369         * m4/mbscspn.m4: New file.
73370         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73371         GNULIB_MBSCSPN.
73372         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
73373         * MODULES.html.sh (Internationalization functions): Add mbscspn.
73374
73375 2007-02-04  Bruno Haible  <bruno@clisp.org>
73376
73377         New module mbscasestr, reduced goal of strcasestr.
73378         * modules/mbscasestr: New file.
73379         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
73380         (mbscasestr): Renamed from strcasestr.
73381         * lib/strcasestr.c: Don't include mbuiter.h.
73382         (strcasestr): Remove support for multibyte locales.
73383         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
73384         Change the conditional link warning.
73385         (mbscasestr): New declaration.
73386         * m4/mbscasestr.m4: New file.
73387         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
73388         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
73389         REPLACE_STRCASESTR.
73390         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
73391         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73392         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73393         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
73394         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
73395         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73396         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
73397         (Depends-on): Remove mbuiter.
73398         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
73399
73400 2007-02-04  Bruno Haible  <bruno@clisp.org>
73401
73402         Simplify handling of strncasecmp.
73403         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
73404         the conditional link warning.
73405         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73406         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
73407         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
73408         * modules/strcase (configure.ac): Don't invoke
73409         gl_STRING_MODULE_INDICATOR.
73410         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
73411
73412 2007-02-04  Bruno Haible  <bruno@clisp.org>
73413
73414         New module mbscasecmp, reduced goal of strcasecmp.
73415         * modules/mbscasecmp: New file.
73416         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
73417         (mbscasecmp): Renamed from strcasecmp.
73418         * lib/strcasecmp.c: Don't include mbuiter.h.
73419         (strcasecmp): Remove support for multibyte locales.
73420         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
73421         Change the conditional link warning.
73422         (mbscasecmp): New declaration.
73423         * m4/mbscasecmp.m4: New file.
73424         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
73425         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
73426         REPLACE_STRCASECMP.
73427         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
73428         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73429         GNULIB_MBSCASECMP.
73430         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
73431         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
73432         * modules/strcase (Files): Remove m4/mbrtowc.m4.
73433         (Depends-on): Remove mbuiter.
73434         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
73435
73436 2007-02-04  Bruno Haible  <bruno@clisp.org>
73437
73438         New module mbsstr. Remove module strstr.
73439         * modules/mbsstr: New file.
73440         * modules/strstr: Remove file.
73441         * lib/mbsstr.c: Renamed from lib/strstr.c.
73442         (mbsstr): Renamed from strstr.
73443         * lib/string_.h (strstr): Remove declaration. Change the conditional
73444         link warning.
73445         (mbsstr): New declaration.
73446         * m4/mbsstr.m4: New file.
73447         * m4/strstr.m4: Remove file.
73448         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
73449         REPLACE_STRSTR.
73450         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
73451         Don't initialize GNULIB_STRSTR.
73452         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
73453         substitute GNULIB_STRSTR and REPLACE_STRSTR.
73454         * MODULES.html.sh (Internationalization functions): Add mbsstr.
73455         (Support for systems lacking ANSI C 89): Remove strstr.
73456
73457 2007-02-04  Bruno Haible  <bruno@clisp.org>
73458
73459         New module mbsrchr.
73460         * modules/mbsrchr: New file.
73461         * lib/mbsrchr.c: New file.
73462         * lib/string_.h (strrchr): Add a conditional link warning.
73463         (mbsrchr): New declaration.
73464         * m4/mbsrchr.m4: New file.
73465         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73466         GNULIB_MBSRCHR.
73467         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
73468         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
73469
73470 2007-02-04  Bruno Haible  <bruno@clisp.org>
73471
73472         New module mbschr.
73473         * modules/mbschr: New file.
73474         * lib/mbschr.c: New file.
73475         * lib/string_.h (strchr): Add a conditional link warning.
73476         (mbschr): New declaration.
73477         * m4/mbschr.m4: New file.
73478         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73479         GNULIB_MBSCHR.
73480         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
73481         * MODULES.html.sh (Internationalization functions): Add mbschr.
73482
73483 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73484
73485         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
73486
73487         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
73488
73489 2007-02-04  Bruno Haible  <bruno@clisp.org>
73490
73491         New module description section 'configure.ac-early'.
73492         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
73493         (func_get_autoconf_early_snippet): New function.
73494         (func_import, func_create_testdir): Use it. Remove special cases for
73495         modules 'extensions' and 'lock'.
73496         * modules/extensions (configure.ac-early): Require
73497         gl_USE_SYSTEM_EXTENSIONS.
73498         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
73499
73500 2007-02-04  Bruno Haible  <bruno@clisp.org>
73501
73502         Make use of gcj-4.3's -fsource and -ftarget option.
73503         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
73504         and if so try the options -fsource and -ftarget.
73505         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
73506         source_version, ftarget_option, target_version arguments.
73507         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
73508         (is_envjavac_oldgcj_14_14_usable): Renamed from
73509         is_envjavac_gcj_14_14_usable.
73510         (is_envjavac_oldgcj_14_13_usable): Renamed from
73511         is_envjavac_gcj_14_13_usable.
73512         (is_gcj_present): Update.
73513         (is_gcj_43, is_gcj43_usable): New functions.
73514         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
73515         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
73516         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
73517         try the options -fsource and -ftarget.
73518
73519 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
73520
73521         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
73522         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
73523         larger value.
73524
73525 2007-02-03  Jim Meyering  <jim@meyering.net>
73526
73527         Give tools a better chance to allocate space for very large buffers.
73528         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
73529
73530         Make pwd and readlink work also when run with an unreadable parent dir
73531         on systems with openat support.
73532         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
73533         provided getcwd function, even when we have openat support.
73534         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
73535
73536 2007-02-02  Bruno Haible  <bruno@clisp.org>
73537
73538         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
73539         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
73540         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
73541         portability problems if one of these functions is only used on specific
73542         platforms.
73543         Reported by Paul Eggert.
73544
73545 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
73546
73547         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
73548         is causing more trouble than it's curing.
73549         * lib/regex_internal.h (__mempcpy): Remove.
73550         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
73551         (and make the code a tad smaller to boot).
73552         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
73553
73554 2007-02-02  Jim Meyering  <jim@meyering.net>
73555
73556         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
73557         section, not in the Makefile.am: one.
73558
73559 2007-02-02  Eric Blake  <ebb9@byu.net>
73560
73561         * lib/strchrnul.c: Always include config.h first.
73562
73563         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
73564         gnulib strstr is not necessary here.
73565
73566 2007-02-02  Simon Josefsson  <simon@josefsson.org>
73567
73568         * m4/socklen.m4: Fix typo.
73569
73570 2007-02-02  Eric Blake  <ebb9@byu.net>
73571
73572         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
73573         * modules/netinet_in (Makefile.am): Likewise.
73574
73575 2007-02-01  Bruno Haible  <bruno@clisp.org>
73576
73577         * lib/string_.h (GL_LINK_WARNING): New macro.
73578         (strcasecmp, strstr, strcasestr): If provided by the system,
73579         conditionally define as a macro that leads to a warning instead of to
73580         an error.
73581         (strncasecmp): Conditionally define as a macro that leads to a warning.
73582
73583 2007-02-01  Karl Berry  <karl@gnu.org>
73584
73585         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
73586
73587 2007-02-01  Bruno Haible  <bruno@clisp.org>
73588
73589         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
73590         renamings.
73591
73592 2007-02-01  Eric Blake  <ebb9@byu.net>
73593
73594         * modules/regex (Depends-on): Revert dependence on mempcpy.
73595         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
73596         module's definition of mempcpy.
73597         Reported by Paul Eggert.
73598
73599 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
73600
73601         * lib/string_.h: If the gnulib module XYZ is not present, undefine
73602         the symbol XYZ before redefining it.  This fixes a problem with
73603         programs that don't use XYZ, when compiled on systems that define
73604         XYZ to something else.
73605
73606 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
73607
73608         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
73609         occurs when "mkdir -m foo" creates a setgid directory that is (1)
73610         writeable to group or other and (2) is intended to have a special
73611         mode bit that is set or cleared.  In such a case, the directory
73612         should be neither group- nor other-writeable until the special
73613         mode bits are right.
73614
73615 2007-01-31  Eric Blake  <ebb9@byu.net>
73616
73617         * modules/mountlist (Depends-on): Add strstr.
73618
73619         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
73620         bug.
73621         * modules/string (Makefile.am): Remove redundant replacement.
73622         * modules/regex (Depends-on): Add mempcpy.
73623
73624 2007-01-31  Bruno Haible  <bruno@clisp.org>
73625
73626         New module description field 'Link'.
73627         * gnulib-tool (func_usage): Document --extract-link-directive.
73628         (sed_extract_prog): Recognize 'Link' directive.
73629         (func_get_link_directive): New function.
73630         (func_import): Show summary of link directives.
73631         Handle --extract-link-directive option.
73632         * modules/acl (Link): New section.
73633         * modules/clock-time (Link): New section.
73634         * modules/euidaccess (Link): New section.
73635         * modules/gettext (Link): New section.
73636         * modules/iconv (Link): New section.
73637         * modules/lock (Link): New section.
73638         * modules/nanosleep (Link): New section.
73639         * modules/readline (Link): New section.
73640
73641 2007-01-27  Bruno Haible  <bruno@clisp.org>
73642
73643         Enforce the use of gnulib modules for unportable <string.h> functions.
73644         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
73645         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
73646         (gl_HEADER_STRING_H_BODY): Require it.
73647         * lib/string_.h: If the gnulib module XYZ is not present, redefine
73648         the symbol XYZ to one that gives a link error.
73649         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
73650         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
73651         * modules/mempcpy (configure.ac): Likewise.
73652         * modules/memrchr (configure.ac): Likewise.
73653         * modules/stpcpy (configure.ac): Likewise.
73654         * modules/stpncpy (configure.ac): Likewise.
73655         * modules/strcase (configure.ac): Likewise.
73656         * modules/strcasestr (configure.ac): Likewise.
73657         * modules/strchrnul (configure.ac): Likewise.
73658         * modules/strdup (configure.ac): Likewise.
73659         * modules/strndup (configure.ac): Likewise.
73660         * modules/strnlen (configure.ac): Likewise.
73661         * modules/strpbrk (configure.ac): Likewise.
73662         * modules/strsep (configure.ac): Likewise.
73663         * modules/strstr (configure.ac): Likewise.
73664         * modules/strtok_r (configure.ac): Likewise.
73665
73666 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
73667
73668         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
73669
73670 2007-01-30  Jim Meyering  <jim@meyering.net>
73671
73672         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
73673
73674 2007-01-29  Bruno Haible  <bruno@clisp.org>
73675
73676         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
73677         * lib/execute.c: Likewise.
73678         * lib/pipe.c: Likewise.
73679         * lib/printf-args.h: Likewise.
73680         * lib/printf-args.c: Likewise.
73681         * lib/printf-parse.c: Likewise.
73682         * lib/vasnprintf.c: Likewise.
73683
73684 2007-01-29  Eric Blake  <ebb9@byu.net>
73685
73686         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
73687         declaration.
73688
73689 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
73690
73691         * lib/strptime.h (strptime): Use 'restrict' for args where
73692         POSIX requires this.
73693         * lib/strptime.c (strptime): Likewise.
73694         Change license notice from LGPL to GPL, since gnulib-tool will
73695         change this as needed.
73696         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
73697         defined.
73698         Include "strptime.h" first, to check interface.
73699         Do not #undef _LIBC and _NL_CURRENT.
73700         Do not include <stdlib.h>; no longer needed.
73701         Include "time_r.h" and declare ptime_locale_status
73702         only if _LIBC is not defined.
73703         (__P): Remove unused macro.
73704         (match_string): Bring back glibc version, but use it only if _LIBC
73705         is defined.
73706         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
73707         Remove unnecessary assertion and abort() call.
73708         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
73709         * m4/strptime.m4: Fix serial number comment.
73710         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
73711         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
73712         (Depends-on): Add time_r.
73713
73714 2007-01-29  Bruno Haible  <bruno@clisp.org>
73715
73716         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73717         strptime.
73718         * modules/strptime (Depends-on): Add stdbool.
73719         * lib/strptime.h: Include <time.h> always. Add comments.
73720
73721 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73722
73723         * modules/strptime: New file.
73724         * lib/strptime.h: New file.
73725         * lib/strptime.c: New file.
73726         * m4/strptime.m4: New file.
73727
73728 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
73729
73730         * MODULES.html.sh: New module mpsort.
73731         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
73732
73733         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
73734         a circularity problem with HP-UX ia64 reported by Bob Proulx in
73735         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
73736         All uses changed.
73737         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
73738         All uses changed.
73739         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
73740         to _Restrict_.
73741         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
73742         the parameter matches the prototype.
73743
73744 2007-01-28  Jim Meyering  <jim@meyering.net>
73745
73746         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
73747         sys/time.h here, reverting that part of the previous patch:
73748         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
73749
73750 2007-01-28  Bruno Haible  <bruno@clisp.org>
73751
73752         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
73753         value of $(SYS_TIME_H).
73754         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
73755         remove it conditionally, too. [added by Jim Meyering]
73756         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
73757         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
73758         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
73759         GETTIMEOFDAY_REPLACEMENT to 1.
73760
73761 2007-01-28  Bruno Haible  <bruno@clisp.org>
73762
73763         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
73764         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
73765         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
73766         Set UNISTD_H instead of UNISTD_H2.
73767         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
73768
73769 2007-01-28  Bruno Haible  <bruno@clisp.org>
73770
73771         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
73772         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
73773
73774 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73775
73776         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
73777         (func_create_testdir): Ensure C locale for `grep' and `tr'
73778         character ranges.
73779         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
73780         ACLOCAL_AMFLAGS parsing state machine.
73781
73782 2007-01-27  Bruno Haible  <bruno@clisp.org>
73783
73784         * modules/unistr/base: Update.
73785
73786 2007-01-27  Bruno Haible  <bruno@clisp.org>
73787
73788         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
73789         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
73790         * modules/unistr/u32-mbtouc-unsafe: Renamed from
73791         modules/unistr/u32-mbtouc.
73792         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
73793         * lib/unistr.h: Update.
73794         * lib/linebreak.c: Update.
73795         * modules/unistr/u32-mbtouc: Renamed from
73796         modules/unistr/u32-mbtouc-safe.
73797         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
73798         * lib/unistr.h: Update.
73799         * lib/unistr/u32-to-u8.c: Update.
73800         * lib/unistr/u32-to-u16.c: Update.
73801
73802 2007-01-27  Bruno Haible  <bruno@clisp.org>
73803
73804         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
73805         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
73806         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
73807         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
73808         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
73809         * modules/unistr/u16-mbtouc-unsafe: Renamed from
73810         modules/unistr/u16-mbtouc.
73811         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
73812         * lib/unistr.h: Update.
73813         * lib/linebreak.c: Update.
73814         * modules/linebreak: Update.
73815         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
73816         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
73817         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
73818         * modules/unistr/u16-mbtouc: Renamed from
73819         modules/unistr/u16-mbtouc-safe.
73820         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
73821         * lib/unistr.h: Update.
73822         * lib/unistr/u16-to-u8.c: Update.
73823         * modules/unistr/u16-to-u8: Update.
73824         * lib/unistr/u16-to-u32.c: Update.
73825         * modules/unistr/u16-to-u32: Update.
73826
73827 2007-01-27  Bruno Haible  <bruno@clisp.org>
73828
73829         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
73830         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
73831         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
73832         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
73833         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
73834         * modules/unistr/u8-mbtouc-unsafe: Renamed from
73835         modules/unistr/u8-mbtouc.
73836         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
73837         * lib/unistr.h: Update.
73838         * lib/striconveh.c: Update.
73839         * modules/striconveh: Update.
73840         * lib/linebreak.c: Update.
73841         * modules/linebreak: Update.
73842         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
73843         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
73844         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
73845         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
73846         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
73847         * lib/unistr.h: Update.
73848         * lib/striconveh.c: Update.
73849         * modules/striconveh: Update.
73850         * lib/unistr/u8-to-u16.c: Update.
73851         * modules/unistr/u8-to-u16: Update.
73852         * lib/unistr/u8-to-u32.c: Update.
73853         * modules/unistr/u8-to-u32: Update.
73854
73855 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73856
73857         Sync from Libtool.
73858         * lib/argz.c: Do not include strings.h nor memory.h, include
73859         string.h unconditionally.  Patch by Simon Josefsson.
73860
73861 2007-01-27  Bruno Haible  <bruno@clisp.org>
73862
73863         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
73864         from gl_HEADER_STRING_H_BODY.
73865         (gl_HEADER_STRING_H_BODY): Require it.
73866         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
73867         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
73868         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
73869         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
73870         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
73871         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
73872         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
73873         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
73874         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
73875         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
73876         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
73877         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
73878         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
73879         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
73880         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
73881
73882 2007-01-27  Bruno Haible  <bruno@clisp.org>
73883
73884         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
73885         check_PROGRAMS into noinst_PROGRAMS.
73886         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
73887         check_PROGRAMS in this case.
73888         (func_import): Set for_test to false.
73889         (func_create_testdir): Set for_test to true.
73890
73891 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
73892             Bruno Haible  <bruno@clisp.org>
73893
73894         * modules/strcasestr (Files): Remove lib/strcasestr.h.
73895         (Depends-on): Add string.
73896         (Includes): Use <string.h> instead of strcasestr.h.
73897         * modules/string (Makefile.am): Also substitute the value of
73898         REPLACE_STRCASESTR.
73899         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
73900         assume strcasestr is declared in <string.h> not <strings.h>. Also
73901         set REPLACE_STRCASESTR.
73902         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
73903         REPLACE_STRCASESTR.
73904         * lib/strcasestr.h: Remove file.
73905         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
73906         * lib/string_.h (strcasestr): New declaration.
73907
73908 2007-01-27  Bruno Haible  <bruno@clisp.org>
73909
73910         * lib/string_.h: Use 'extern'.
73911
73912 2007-01-27  Jim Meyering  <jim@meyering.net>
73913
73914         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
73915         of set-but-not-used local, "q".
73916
73917         * lib/mempcpy.c: Include <config.h> before <string.h>.
73918         This fixes a compilation error on HP-UX, due to the system's
73919         "restrict"-using mempcpy prototype.
73920
73921 2007-01-26  Bruno Haible  <bruno@clisp.org>
73922
73923         Small optimization.
73924         * lib/javacomp.c: Include c-strstr.h.
73925          (is_envjavac_gcj): Use c_strstr instead of strstr.
73926         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
73927
73928 2007-01-26  Bruno Haible  <bruno@clisp.org>
73929
73930         * MODULES.html.sh (Unicode string functions): Add the new modules.
73931
73932         * modules/uniconv/u32-strconv-to-locale: New file.
73933         * lib/uniconv/u32-strconv-to-locale.c: New file.
73934
73935         * modules/uniconv/u16-strconv-to-locale: New file.
73936         * lib/uniconv/u16-strconv-to-locale.c: New file.
73937
73938         * modules/uniconv/u8-strconv-to-locale: New file.
73939         * lib/uniconv/u8-strconv-to-locale.c: New file.
73940
73941         * modules/uniconv/u32-strconv-from-locale: New file.
73942         * lib/uniconv/u32-strconv-from-locale.c: New file.
73943
73944         * modules/uniconv/u16-strconv-from-locale: New file.
73945         * lib/uniconv/u16-strconv-from-locale.c: New file.
73946
73947         * modules/uniconv/u8-strconv-from-locale: New file.
73948         * lib/uniconv/u8-strconv-from-locale.c: New file.
73949
73950         * modules/uniconv/u32-strconv-to-enc: New file.
73951         * lib/uniconv/u32-strconv-to-enc.c: New file.
73952         * modules/uniconv/u32-strconv-to-enc-tests: New file.
73953         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
73954
73955         * modules/uniconv/u16-strconv-to-enc: New file.
73956         * lib/uniconv/u16-strconv-to-enc.c: New file.
73957         * lib/uniconv/u-strconv-to-enc.h: New file.
73958         * modules/uniconv/u16-strconv-to-enc-tests: New file.
73959         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
73960
73961         * modules/uniconv/u8-strconv-to-enc: New file.
73962         * lib/uniconv/u8-strconv-to-enc.c: New file.
73963         * modules/uniconv/u8-strconv-to-enc-tests: New file.
73964         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
73965
73966         * modules/uniconv/u32-strconv-from-enc: New file.
73967         * lib/uniconv/u32-strconv-from-enc.c: New file.
73968         * modules/uniconv/u32-strconv-from-enc-tests: New file.
73969         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
73970
73971         * modules/uniconv/u16-strconv-from-enc: New file.
73972         * lib/uniconv/u16-strconv-from-enc.c: New file.
73973         * modules/uniconv/u16-strconv-from-enc-tests: New file.
73974         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
73975
73976         * modules/uniconv/u8-strconv-from-enc: New file.
73977         * lib/uniconv/u8-strconv-from-enc.c: New file.
73978         * lib/uniconv/u-strconv-from-enc.h: New file.
73979         * modules/uniconv/u8-strconv-from-enc-tests: New file.
73980         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
73981
73982         * modules/uniconv/u32-conv-from-enc: New file.
73983         * lib/uniconv/u32-conv-from-enc.c: New file.
73984         * modules/uniconv/u32-conv-from-enc-tests: New file.
73985         * tests/uniconv/test-u32-conv-from-enc.c: New file.
73986
73987         * modules/uniconv/u16-conv-from-enc: New file.
73988         * lib/uniconv/u16-conv-from-enc.c: New file.
73989         * lib/uniconv/u-conv-from-enc.h: New file.
73990         * modules/uniconv/u16-conv-from-enc-tests: New file.
73991         * tests/uniconv/test-u16-conv-from-enc.c: New file.
73992
73993         * modules/uniconv/u8-conv-from-enc: New file.
73994         * lib/uniconv/u8-conv-from-enc.c: New file.
73995         * modules/uniconv/u8-conv-from-enc-tests: New file.
73996         * tests/uniconv/test-u8-conv-from-enc.c: New file.
73997
73998         * modules/uniconv/base: New file.
73999         * lib/uniconv.h: New file.
74000
74001 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
74002
74003         * doc/gnulib-tool.texi (Initial import): Update to match current
74004         behavior with strdup module.
74005         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
74006         * lib/memmem.h: Remove; all uses removed.  This is now done
74007         by <string.h>.
74008         * lib/mempcpy.h: Likewise.
74009         * lib/memrchr.h: Likewise.
74010         * lib/stpcpy.h: Likewise.
74011         * lib/stpncpy.h: Likewise.
74012         * lib/strcase.h: Likewise.
74013         * lib/strchrnul.h: Likewise.
74014         * lib/strdup.h: Likewise.
74015         * lib/strndup.h: Likewise.
74016         * lib/strnlen.h: Likewise.
74017         * lib/strpbrk.h: Likewise.
74018         * lib/strsep.h: Likewise.
74019         * lib/strstr.h: Likewise.
74020         * lib/strtok_r.h: Likewise.
74021         * lib/string_.h: New file.
74022         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
74023         Rely on <string.h> instead.
74024         * lib/canon-host.c: Likewise.
74025         * lib/chdir-long.c: Likewise.
74026         * lib/concatpath.c: Likewise.
74027         * lib/exclude.c: Likewise.
74028         * lib/fchdir.c: Likewise.
74029         * lib/getaddrinfo.c: Likewise.
74030         * lib/getcwd.c: Likewise.
74031         * lib/getsubopt.c: Likewise.
74032         * lib/glob.c: Likewise.
74033         * lib/hard-locale.c: Likewise.
74034         * lib/iconvme.c: Likewise.
74035         * lib/javacomp.c: Likewise.
74036         * lib/mempcpy.c: Likewise.
74037         * lib/memrchr.c: Likewise.
74038         * lib/regex_internal.h: Likewise.
74039         * lib/stpncpy.c: Likewise.
74040         * lib/strcasecmp.c: Likewise.
74041         * lib/strchrnul.c: Likewise.
74042         * lib/strdup.c: Likewise.
74043         * lib/striconv.c: Likewise.
74044         * lib/striconveh.c: Likewise.
74045         * lib/striconveha.c: Likewise.
74046         * lib/strncasecmp.c: Likewise.
74047         * lib/strndup.c: Likewise.
74048         * lib/strnlen.c: Likewise.
74049         * lib/strsep.c: Likewise.
74050         * lib/strstr.c: Likewise.
74051         * lib/strtok_r.c: Likewise.
74052         * lib/userspec.c: Likewise.
74053         * lib/w32spawn.h: Likewise.
74054         * lib/xstrndup.c: Likewise.
74055         * lib/mountlist.c (strstr): Remove decl.
74056         * m4/string_h.m4: New file.
74057         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
74058         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
74059         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
74060         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
74061         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
74062         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
74063         Set REPLACE_STRCASECMP if necessary.
74064         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
74065         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
74066         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
74067         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
74068         HAVE_DECL_STRDUP if necessary.
74069         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
74070         since gl_FUNC_STRNDUP does that now.
74071         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
74072         Check for decl here...
74073         (gl_PREREQ_STRNLEN): ... not here.
74074         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
74075         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
74076         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
74077         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
74078         necessary.
74079         * modules/string: New file.
74080         * modules/memmem (Files): Remove special-purpose include file.
74081         (Depends-on): Add string.
74082         (Include): Include <string.h>, not the removed file.
74083         * modules/mempcpy: Likewise.
74084         * modules/memrchr: Likewise.
74085         * modules/stpcpy: Likewise.
74086         * modules/stpncpy: Likewise.
74087         * modules/strcase: Likewise.
74088         * modules/strchrnul: Likewise.
74089         * modules/strdup: Likewise.
74090         * modules/strndup: Likewise.
74091         * modules/strnlen: Likewise.
74092         * modules/strpbrk: Likewise.
74093         * modules/strsep: Likewise.
74094         * modules/strstr: Likewise.
74095         * modules/strtok_r: Likewise.
74096         * tests/test-dirname.c: Don't include "strdup.h", since
74097         <string.h> now suffices.
74098         * tests/test-memmem.c: Don't include "memmem.h", since
74099         <string.h> now suffices.
74100
74101 2007-01-25  Bruno Haible  <bruno@clisp.org>
74102
74103         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
74104         *resultp is 0.
74105
74106         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
74107         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
74108         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
74109         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
74110
74111         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
74112         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
74113         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
74114         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
74115         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
74116         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
74117
74118 2007-01-24  Bruno Haible  <bruno@clisp.org>
74119
74120         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
74121         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
74122         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
74123         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
74124         gl_FUNC_FTS_CORE.
74125         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
74126         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
74127         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
74128         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
74129         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
74130         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
74131         gl_FUNC_FCHOWNAT.
74132         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
74133         gl_FUNC_STRFTIME.
74134         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
74135         Reported by Ralf Wildenhues.
74136
74137 2007-01-24  Bruno Haible  <bruno@clisp.org>
74138
74139         Drop AC_REQUIRE calls that are redundant with the module dependencies.
74140         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
74141         gl_GETADDRINFO.
74142         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
74143         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
74144         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
74145
74146 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
74147
74148         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
74149         Don't use 'exit'; just return from 'main'.
74150         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
74151
74152         * lib/fnmatch_.h: Readjust white space and comments to match
74153         glibc, to avoid spurious diffs.
74154
74155 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74156
74157         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
74158         2004-12-01 change by Jakub Jelinek, since this code won't compile
74159         if !LIBC.  Problem reported by Bob Proulx.
74160
74161 2007-01-23  Bruno Haible  <bruno@clisp.org>
74162
74163         * lib/striconveh.c: Include c-strcaseeq.h.
74164         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
74165         * modules/striconveh (Depends-on): Add c-strcaseeq.
74166
74167 2007-01-23  Bruno Haible  <bruno@clisp.org>
74168
74169         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
74170
74171         * modules/c-strcaseeq: New file.
74172         * lib/c-strcaseeq.h: New file.
74173
74174         * modules/streq: New file.
74175         * lib/streq.h: New file.
74176
74177 2007-01-23  Bruno Haible  <bruno@clisp.org>
74178
74179         * modules/striconveha-tests: New file.
74180         * tests/test-striconveha.c: New file.
74181
74182         * lib/striconveha.h: Include <stdbool.h>.
74183         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
74184         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
74185         (mem_iconveha_notranslit): Renamed from mem_iconveha.
74186         (mem_iconveha): New function.
74187         (str_iconveha_notranslit): Renamed from str_iconveha.
74188         (str_iconveha): New function.
74189         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
74190         c-strcase.
74191
74192 2007-01-23  Bruno Haible  <bruno@clisp.org>
74193
74194         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
74195         encodings without forgiving before trying any encoding with handler.
74196         (str_iconveha): Try all encodings without forgiving before trying any
74197         encoding with handler.
74198
74199 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74200
74201         Import the following changes from libc.
74202
74203         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
74204
74205         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
74206
74207         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
74208
74209         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
74210         normal_bracket label.
74211
74212         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
74213
74214         [BZ #361]
74215         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
74216         to normal_bracket after fetching the next character.
74217
74218 2007-01-22  Bruno Haible  <bruno@clisp.org>
74219
74220         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
74221         argument.
74222         * lib/striconveh.c (iconv_carefully_1): New function.
74223         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
74224         argument.
74225         (str_cd_iconveh): Update.
74226         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
74227         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
74228         * tests/test-striconveh.c (MAGIC): New macro.
74229         (new_offsets): New function.
74230         (main): Test call with and without offsets.
74231
74232 2007-01-22  Bruno Haible  <bruno@clisp.org>
74233
74234         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
74235         * modules/sys_select (Makefile.am): Likewise.
74236         * modules/sys_socket (Makefile.am): Likewise.
74237         * modules/sys_time (Makefile.am): Likewise.
74238
74239 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
74240
74241         * modules/gettimeofday (License): Change from GPL to LGPL, since
74242         gettimeofday is a library function.
74243
74244 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74245
74246         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
74247
74248 2007-01-21  Bruno Haible  <bruno@clisp.org>
74249
74250         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
74251
74252 2007-01-21  Bruno Haible  <bruno@clisp.org>
74253
74254         * modules/striconveha: New file.
74255         * lib/striconveha.h: New file.
74256         * lib/striconveha.c: New file.
74257         * MODULES.html.sh (Internationalization functions): Add striconveha.
74258         * lib/striconv.c (str_iconv): Optimize the case of an empty input
74259         string.
74260         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
74261
74262 2007-01-21  Bruno Haible  <bruno@clisp.org>
74263
74264         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
74265         * lib/striconveh.c (str_iconveh): Likewise.
74266
74267 2007-01-21  Bruno Haible  <bruno@clisp.org>
74268
74269         * lib/striconveh.h (mem_iconveh): New declaration.
74270         * lib/striconveh.c (mem_iconveh): New function.
74271         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
74272
74273 2007-01-21  Bruno Haible  <bruno@clisp.org>
74274
74275         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
74276
74277         * lib/striconveh.h (mem_cd_iconveh): Change specification.
74278         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
74279         original result buffer.
74280         (str_cd_iconveh): Update.
74281         * tests/test-striconveh.c (main): Update.
74282
74283         * lib/striconv.h (mem_cd_iconv): Change specification.
74284         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
74285         result buffer.
74286         (str_cd_iconv): Update.
74287         * tests/test-striconv.c (main): Update.
74288
74289 2007-01-21  Bruno Haible  <bruno@clisp.org>
74290
74291         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
74292
74293 2007-01-20  Jim Meyering  <jim@meyering.net>
74294
74295         * lib/userspec.c (parse_with_separator): If a user or group string
74296         starts with "+", skip the corresponding name-to-ID look-up, since
74297         such a look-up must fail: user and group names may not include "+".
74298
74299 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
74300
74301         * lib/poll.c: Include sys/time.h and time.h unconditionally,
74302         since we now assume the sys_time module.
74303         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
74304         check for sys/time.h; no longer needed.
74305         * modules/poll (Depends-on): Depend on sys_time.
74306
74307 2007-01-18  Bruno Haible  <bruno@clisp.org>
74308
74309         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
74310         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74311
74312         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
74313         gettimeofday.
74314
74315         * tests/test-gettimeofday.c: Include <time.h>.
74316         (dummy): Remove variable.
74317
74318         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
74319         gl_HEADER_SYS_TIME_H.
74320         (gl_HEADER_SYS_TIME_H): New macro.
74321
74322         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
74323         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74324         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
74325         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
74326         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74327         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
74328         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
74329         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74330         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
74331         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
74332         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74333
74334         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
74335         last change; it caused a compilation error when cross-compiling to
74336         Cygwin.
74337
74338 2007-01-18  Jim Meyering  <jim@meyering.net>
74339
74340         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
74341         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
74342         than the race-prone "test -d sys || mkdir sys".
74343         (configure.ac): Use AC_PROG_MKDIR_P.
74344         * modules/sys_select: Likewise.
74345         * modules/sys_socket: Likewise.
74346         * modules/sys_time: Likewise.
74347
74348 2007-01-18  Eric Blake  <ebb9@byu.net>
74349
74350         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
74351         replace gettimeofday.
74352         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
74353         name, to avoid infinite recursion.
74354
74355 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
74356
74357         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
74358         module sys_time.
74359         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
74360         assume timespec.h defines struct timeval.
74361         * lib/settime.c: Likewise.
74362         * lib/utimens.c: Likewise.
74363         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
74364         since we now assume the gettimeofday module.
74365         * lib/tempname.c (__gen_tempname): Likewise.
74366         * lib/gettimeofday.h: Remove.
74367         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
74368         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
74369         Include <time.h>, for 'time()'.
74370         (localtime_buffer_addr): Also use this workaround if
74371         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
74372         to simplify the uses.  All uses changed.
74373         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
74374         that #undef is inside {}, and 'const' follows type name consistently.
74375         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
74376         (gettimeofday): Do not use the maximum possible value for
74377         tv->tv_usec, since that might break usages other than ls.c.
74378         Instead, we'll leave ls.c alone.  This undoes today's patch
74379         by Bruno.  Add a compile-time warning for 1s-clock resolution;
74380         we've never observed the problem but might as well keep the
74381         canary.
74382         * lib/nanosleep.c: Include timespec.h first, for interface check.
74383         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
74384         now assume the sys_time module.
74385         * lib/tempname.c: Likewise.
74386         * lib/timespec.h: Likewise.
74387         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
74388         needed.
74389         * lib/strftime.c: Likewise.
74390         * lib/timespec.h: Likewise.
74391         * lib/posixtm.c: Include posixtm.h first, for interface check.
74392         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
74393         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
74394         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
74395         * lib/sys_time_.h: New file.
74396         * lib/timespec.h (struct timespec): Use long int, not long.
74397         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
74398         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
74399         Remove obsolescent call to AC_HEADER_TIME.
74400         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
74401         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74402         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74403         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
74404         Likewise.
74405         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
74406         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
74407         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
74408         into the sys_time module.  Check for gettimeofday just once.
74409         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
74410         for gettimeofday signature to just check the signature.  Merely
74411         compile it, since linking doesn't test signature.  Improve test for
74412         whether gettimeofday.o is actually needed.
74413         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
74414         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
74415         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
74416         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74417         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
74418         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
74419         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
74420         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
74421         than worrying about sys/time.h.
74422         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
74423         Don't bother worrying about TIME_WITH_SYS_TIME.
74424         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
74425         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
74426         * m4/sys_time_h.m4: New file.
74427         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
74428         Don't include sys/time.h.  Return from main rather than exiting.
74429         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
74430         all uses changed.
74431         * modules/gethrxtime (Depends-on): Add sys_time.
74432         * modules/gettime (Depends-on): Likewise.
74433         * modules/gettimeofday (Depends-on): Likewise.
74434         * modules/nanosleep (Depends-on): Likewise.
74435         * modules/settime (Depends-on): Likewise.
74436         * modules/tempname (Depends-on): Likewise.
74437         * modules/utimens (Depends-on): Likewise.
74438         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
74439         (Include): Change back to <sys/time.h>.
74440         (Maintainer): Add self.
74441         * modules/sys_time: New file.
74442         * modules/tempname (Depends-on): Add gettimeofday.
74443         * tests/test-gettimeofday.c: Include <sys/time.h>
74444         rather than gettimeofday.h.
74445
74446 2007-01-17  Bruno Haible  <bruno@clisp.org>
74447
74448         * gnulib-tool (func_get_license): Revert last patch. Instead, let
74449         the license default to GPL.
74450         (func_create_testdir): Don't complain if a module is LGPL and its
74451         tests module depends on GPLed modules.
74452
74453 2007-01-17  Bruno Haible  <bruno@clisp.org>
74454
74455         * lib/gettimeofday.c (gettimeofday): Add code for the case
74456         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
74457         maximum possible value for tv->tv_usec, rather than the minimum one.
74458
74459 2005-10-08  Martin Lambers  <marlam@marlam.de>
74460 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
74461 2007-01-16  Bruno Haible  <bruno@clisp.org>
74462
74463         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
74464         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
74465         gl_FUNC_GETTIMEOFDAY.
74466         (Include): Add gettimeofday.h.
74467         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
74468         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
74469         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
74470         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
74471         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
74472         * lib/gettimeofday.h: New file.
74473         * lib/gettimeofday.c: Include <sys/timeb.h>.
74474         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
74475         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74476         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
74477         fall back on time().
74478
74479         * tests/test-gettimeofday.c: New file.
74480         * modules/gettimeofday-tests: New file.
74481
74482 2007-01-16  Eric Blake  <ebb9@byu.net>
74483
74484         * modules/fnmatch (Depends-on): Depend on wchar.
74485         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
74486         * m4/fnmatch.m4: Likewise.
74487         * modules/mbchar (Makefile.am): Assume <wchar.h>.
74488         * m4/mbchar.m4: Likewise.
74489         * modules/mbswidth (Depends-on): Depend on wchar.
74490         * lib/mbswidth.c: Assume <wchar.h>.
74491         * m4/mbswidth.m4: Likewise.
74492         * modules/quotearg (Depends-on): Depend on wchar.
74493         * lib/quotearg.c: Assume <wchar.h>.
74494         * m4/quotearg.m4: Likewise.
74495         * modules/regex (Depends-on): Depend on wchar.
74496         * lib/regex_internal.h: Assume <wchar.h>.
74497         * m4/regex.m4: Likewise.
74498         * modules/stdint (Depends-on): Depend on wchar.
74499         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
74500         * m4/stdint.m4: Likewise.
74501         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
74502         * modules/strftime (Depends-on): Depend on wchar.
74503         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
74504         * modules/strtol (Depends-on): Depend on wchar.
74505         * lib/strtol.c: Assume <wchar.h>.
74506         * modules/wcwidth (Depends-on): Depend on wchar.
74507         * lib/wcwidth.h: Assume <wchar.h>.
74508         * m4/wcwidth.m4: Likewise.
74509
74510 2007-01-16  Bruno Haible  <bruno@clisp.org>
74511
74512         * modules/csharpexec-script: New, created from...
74513         * modules/csharpexec: ... this.
74514
74515 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
74516
74517         * modules/javaexec-script: New, created from...
74518         * modules/javaexec: ... this.
74519
74520 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74521
74522         * modules/poll (Dependencies): Add sys_select.
74523
74524 2007-01-15  Jim Meyering  <jim@meyering.net>
74525
74526         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
74527         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
74528         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
74529         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
74530
74531 2007-01-15  Bruno Haible  <bruno@clisp.org>
74532
74533         * modules/striconveh: New file.
74534         * lib/striconveh.h: New file.
74535         * lib/striconveh.c: New file.
74536         * MODULES.html.sh (Internationalization functions): Add striconveh.
74537
74538         * modules/striconveh-tests: New file.
74539         * tests/test-striconveh.c: New file.
74540
74541 2007-01-15  Bruno Haible  <bruno@clisp.org>
74542
74543         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
74544         not from GNU libiconv or GNU libc.
74545
74546 2007-01-15  Bruno Haible  <bruno@clisp.org>
74547
74548         * doc/gnulib-intro.texi (Copyright): Explain the different license
74549         terms for module descriptions, autoconf macros, tests, documentation.
74550
74551 2007-01-14  Bruno Haible  <bruno@clisp.org>
74552
74553         * modules/striconv-tests: New file.
74554         * tests/test-striconv.c: New file.
74555
74556 2007-01-14  Bruno Haible  <bruno@clisp.org>
74557
74558         * modules/iconv-tests: New file.
74559         * tests/test-iconv.c: New file.
74560
74561 2007-01-14  Bruno Haible  <bruno@clisp.org>
74562
74563         * gnulib-tool (func_get_license): For test modules, use the license of
74564         the main module.
74565
74566 2007-01-14  Bruno Haible  <bruno@clisp.org>
74567
74568         * modules/iconv (Include): Clarify that <iconv.h> can only be included
74569         if iconv is found to exist.
74570
74571 2007-01-14  Bruno Haible  <bruno@clisp.org>
74572
74573         * modules/c-ctype-tests: New file.
74574         * tests/test-c-ctype.c: New file.
74575
74576 2007-01-14  Bruno Haible  <bruno@clisp.org>
74577
74578         * modules/binary-io-tests: New file.
74579         * tests/test-binary-io.sh: New file.
74580         * tests/test-binary-io.c: New file.
74581
74582 2007-01-14  Bruno Haible  <bruno@clisp.org>
74583
74584         * modules/array-oset-tests: New file.
74585         * tests/test-array_oset.c: New file.
74586
74587 2007-01-14  Bruno Haible  <bruno@clisp.org>
74588
74589         * modules/array-list-tests: New file.
74590         * tests/test-array_list.c: New file.
74591
74592 2007-01-14  Bruno Haible  <bruno@clisp.org>
74593
74594         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
74595         and make.
74596         Reported by Simon Josefsson in
74597         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
74598
74599 2007-01-14  Bruno Haible  <bruno@clisp.org>
74600
74601         * modules/allocsa-tests: New file.
74602         * tests/test-allocsa.c: New file.
74603
74604 2007-01-14  Bruno Haible  <bruno@clisp.org>
74605
74606         * modules/fchdir (Depends-on): Add absolute-header.
74607         * modules/unistd (Depends-on): Likewise.
74608
74609 2006-12-30  Bruno Haible  <bruno@clisp.org>
74610
74611         * modules/fchdir: New file.
74612         * modules/unistd (Files): Add lib/unistd_.h.
74613         (Makefile.am): Generate unistd.h from unistd_.h.
74614         * lib/fchdir.c: New file.
74615         * lib/dirent_.h: New file.
74616         * lib/unistd_.h: New file.
74617         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
74618         * m4/fchdir.m4: New file.
74619         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
74620         (gl_HEADER_UNISTD): Invoke it.
74621         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
74622         function.
74623         * lib/backupfile.c (opendir, closedir): Undefine.
74624         * lib/chown.c (open, close): Undefine.
74625         * lib/clean-temp.c (open, close): Undefine.
74626         * lib/copy-file.c (open, close): Undefine.
74627         * lib/execute.c (open, close): Undefine.
74628         * lib/fsusage.c (open, close): Undefine.
74629         * lib/gc-gnulib.c (open, close): Undefine.
74630         * lib/getcwd.c (opendir, closedir): Undefine.
74631         * lib/glob.c (opendir, closedir): Undefine.
74632         * lib/javacomp.c (open, close): Undefine.
74633         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
74634         * lib/openat-proc.c (open, close): Undefine.
74635         * lib/pagealign_alloc.c (open, close): Undefine.
74636         * lib/pipe.c (open, close): Undefine.
74637         * lib/progreloc.c (open, close): Undefine.
74638         * lib/savedir.c (opendir, closedir): Undefine.
74639         * lib/utime.c (open, close): Undefine.
74640         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
74641
74642 2007-01-10  Bruno Haible  <bruno@clisp.org>
74643
74644         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
74645
74646 2007-01-12  Eric Blake  <ebb9@byu.net>
74647
74648         Provide a robust <wchar.h>.  Further simplifications are now
74649         possible in other modules, but not included here.
74650         * modules/wchar: New module.
74651         * m4/wchar.m4: New file.
74652         * lib/wchar_.h: Likewise.
74653         * modules/mbchar (Depends-on): Depend on wchar, as the first use
74654         of the new module.
74655         * MODULES.html.sh (Extended multibyte and wide character utilities):
74656         New section.
74657
74658 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
74659
74660         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
74661         to a reasonable default for memory allocation.
74662         (xreadlink): Don't allocate a huge buffer, to work around a buggy
74663         file system that reports garbage st_size values for symlinks.
74664         Problem reported by Liyang Hu.
74665
74666 2007-01-11  Simon Josefsson  <simon@josefsson.org>
74667
74668         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
74669         Emacs .#* auto-save files).
74670
74671 2007-01-11  Bruno Haible  <bruno@clisp.org>
74672
74673         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
74674         directory.
74675
74676 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
74677
74678         Use @...@ consistently in lib/wctype_.h.
74679         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
74680         on it being set to 1 or 0.
74681         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
74682         go back to AC_SUBSTing it.
74683         * modules/wctype (Makefile.am): Undo previous change.
74684
74685 2007-01-10  Eric Blake  <ebb9@byu.net>
74686
74687         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
74688         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
74689         * modules/wctype (Makefile.am): Likewise.
74690         Reported by Chris McGuire.
74691
74692 2007-01-10  Jim Meyering  <jim@meyering.net>
74693
74694         fts.c: a small readability/maintainability improvement
74695         * lib/fts.c (fts_read): Make this code slightly more readable and
74696         maintainable by hoisting the "sp->fts_cur = p" assignments to
74697         immediately follow the statements that set P.  Derived from
74698         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
74699
74700 2007-01-10  Eric Blake  <ebb9@byu.net>
74701
74702         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
74703         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
74704         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
74705         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
74706         Reported by Chris McGuire.
74707
74708 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74709
74710         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
74711         in sed script.
74712
74713 2007-01-09  Bruno Haible  <bruno@clisp.org>
74714
74715         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
74716         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
74717         variables.
74718         (func_module): Use them.
74719
74720 2007-01-09  Bruno Haible  <bruno@clisp.org>
74721
74722         * modules/unistr/base: New file.
74723         * lib/unistr.h: New file.
74724
74725         * modules/unistr/u8-to-u16: New file.
74726         * lib/unistr/u8-to-u16.c: New file.
74727
74728         * modules/unistr/u8-to-u32: New file.
74729         * lib/unistr/u8-to-u32.c: New file.
74730
74731         * modules/unistr/u16-to-u8: New file.
74732         * lib/unistr/u16-to-u8.c: New file.
74733
74734         * modules/unistr/u16-to-u32: New file.
74735         * lib/unistr/u16-to-u32.c: New file.
74736
74737         * modules/unistr/u32-to-u8: New file.
74738         * lib/unistr/u32-to-u8.c: New file.
74739
74740         * modules/unistr/u32-to-u16: New file.
74741         * lib/unistr/u32-to-u16.c: New file.
74742
74743         * modules/unistr/u8-check: New file.
74744         * modules/unistr/u16-check: New file.
74745         * modules/unistr/u32-check: New file.
74746         * lib/unistr/u8-check.c: New file.
74747         * lib/unistr/u16-check.c: New file.
74748         * lib/unistr/u32-check.c: New file.
74749
74750         * modules/unistr/u8-chr: New file.
74751         * modules/unistr/u16-chr: New file.
74752         * modules/unistr/u32-chr: New file.
74753         * lib/unistr/u8-chr.c: New file.
74754         * lib/unistr/u16-chr.c: New file.
74755         * lib/unistr/u32-chr.c: New file.
74756
74757         * modules/unistr/u8-cmp: New file.
74758         * modules/unistr/u16-cmp: New file.
74759         * modules/unistr/u32-cmp: New file.
74760         * lib/unistr/u8-cmp.c: New file.
74761         * lib/unistr/u16-cmp.c: New file.
74762         * lib/unistr/u32-cmp.c: New file.
74763
74764         * modules/unistr/u8-cpy: New file.
74765         * modules/unistr/u16-cpy: New file.
74766         * modules/unistr/u32-cpy: New file.
74767         * lib/unistr/u8-cpy.c: New file.
74768         * lib/unistr/u16-cpy.c: New file.
74769         * lib/unistr/u32-cpy.c: New file.
74770         * lib/unistr/u-cpy.h: New file.
74771
74772         * modules/unistr/u8-cpy-alloc: New file.
74773         * modules/unistr/u16-cpy-alloc: New file.
74774         * modules/unistr/u32-cpy-alloc: New file.
74775         * lib/unistr/u8-cpy-alloc.c: New file.
74776         * lib/unistr/u16-cpy-alloc.c: New file.
74777         * lib/unistr/u32-cpy-alloc.c: New file.
74778         * lib/unistr/u-cpy-alloc.h: New file.
74779
74780         * modules/unistr/u8-endswith: New file.
74781         * modules/unistr/u16-endswith: New file.
74782         * modules/unistr/u32-endswith: New file.
74783         * lib/unistr/u8-endswith.c: New file.
74784         * lib/unistr/u16-endswith.c: New file.
74785         * lib/unistr/u32-endswith.c: New file.
74786         * lib/unistr/u-endswith.h: New file.
74787
74788         * modules/unistr/u8-mblen: New file.
74789         * modules/unistr/u16-mblen: New file.
74790         * modules/unistr/u32-mblen: New file.
74791         * lib/unistr/u8-mblen.c: New file.
74792         * lib/unistr/u16-mblen.c: New file.
74793         * lib/unistr/u32-mblen.c: New file.
74794
74795         * modules/unistr/u8-mbtouc: New file.
74796         * modules/unistr/u16-mbtouc: New file.
74797         * modules/unistr/u32-mbtouc: New file.
74798         * lib/unistr/u8-mbtouc.c: New file.
74799         * lib/unistr/u16-mbtouc.c: New file.
74800         * lib/unistr/u32-mbtouc.c: New file.
74801
74802         * modules/unistr/u8-mbtouc-safe: New file.
74803         * modules/unistr/u16-mbtouc-safe: New file.
74804         * modules/unistr/u32-mbtouc-safe: New file.
74805         * lib/unistr/u8-mbtouc-safe.c: New file.
74806         * lib/unistr/u16-mbtouc-safe.c: New file.
74807         * lib/unistr/u32-mbtouc-safe.c: New file.
74808
74809         * modules/unistr/u8-move: New file.
74810         * modules/unistr/u16-move: New file.
74811         * modules/unistr/u32-move: New file.
74812         * lib/unistr/u8-move.c: New file.
74813         * lib/unistr/u16-move.c: New file.
74814         * lib/unistr/u32-move.c: New file.
74815         * lib/unistr/u-move.h: New file.
74816
74817         * modules/unistr/u8-next: New file.
74818         * modules/unistr/u16-next: New file.
74819         * modules/unistr/u32-next: New file.
74820         * lib/unistr/u8-next.c: New file.
74821         * lib/unistr/u16-next.c: New file.
74822         * lib/unistr/u32-next.c: New file.
74823
74824         * modules/unistr/u8-prev: New file.
74825         * modules/unistr/u16-prev: New file.
74826         * modules/unistr/u32-prev: New file.
74827         * lib/unistr/u8-prev.c: New file.
74828         * lib/unistr/u16-prev.c: New file.
74829         * lib/unistr/u32-prev.c: New file.
74830
74831         * modules/unistr/u8-set: New file.
74832         * modules/unistr/u16-set: New file.
74833         * modules/unistr/u32-set: New file.
74834         * lib/unistr/u8-set.c: New file.
74835         * lib/unistr/u16-set.c: New file.
74836         * lib/unistr/u32-set.c: New file.
74837         * lib/unistr/u-set.h: New file.
74838
74839         * modules/unistr/u8-startswith: New file.
74840         * modules/unistr/u16-startswith: New file.
74841         * modules/unistr/u32-startswith: New file.
74842         * lib/unistr/u8-startswith.c: New file.
74843         * lib/unistr/u16-startswith.c: New file.
74844         * lib/unistr/u32-startswith.c: New file.
74845         * lib/unistr/u-startswith.h: New file.
74846
74847         * modules/unistr/u8-stpcpy: New file.
74848         * modules/unistr/u16-stpcpy: New file.
74849         * modules/unistr/u32-stpcpy: New file.
74850         * lib/unistr/u8-stpcpy.c: New file.
74851         * lib/unistr/u16-stpcpy.c: New file.
74852         * lib/unistr/u32-stpcpy.c: New file.
74853         * lib/unistr/u-stpcpy.h: New file.
74854
74855         * modules/unistr/u8-stpncpy: New file.
74856         * modules/unistr/u16-stpncpy: New file.
74857         * modules/unistr/u32-stpncpy: New file.
74858         * lib/unistr/u8-stpncpy.c: New file.
74859         * lib/unistr/u16-stpncpy.c: New file.
74860         * lib/unistr/u32-stpncpy.c: New file.
74861         * lib/unistr/u-stpncpy.h: New file.
74862
74863         * modules/unistr/u8-strcat: New file.
74864         * modules/unistr/u16-strcat: New file.
74865         * modules/unistr/u32-strcat: New file.
74866         * lib/unistr/u8-strcat.c: New file.
74867         * lib/unistr/u16-strcat.c: New file.
74868         * lib/unistr/u32-strcat.c: New file.
74869         * lib/unistr/u-strcat.h: New file.
74870
74871         * modules/unistr/u8-strchr: New file.
74872         * modules/unistr/u16-strchr: New file.
74873         * modules/unistr/u32-strchr: New file.
74874         * lib/unistr/u8-strchr.c: New file.
74875         * lib/unistr/u16-strchr.c: New file.
74876         * lib/unistr/u32-strchr.c: New file.
74877
74878         * modules/unistr/u8-strcmp: New file.
74879         * modules/unistr/u16-strcmp: New file.
74880         * modules/unistr/u32-strcmp: New file.
74881         * lib/unistr/u8-strcmp.c: New file.
74882         * lib/unistr/u16-strcmp.c: New file.
74883         * lib/unistr/u32-strcmp.c: New file.
74884
74885         * modules/unistr/u8-strcpy: New file.
74886         * modules/unistr/u16-strcpy: New file.
74887         * modules/unistr/u32-strcpy: New file.
74888         * lib/unistr/u8-strcpy.c: New file.
74889         * lib/unistr/u16-strcpy.c: New file.
74890         * lib/unistr/u32-strcpy.c: New file.
74891         * lib/unistr/u-strcpy.h: New file.
74892
74893         * modules/unistr/u8-strcspn: New file.
74894         * modules/unistr/u16-strcspn: New file.
74895         * modules/unistr/u32-strcspn: New file.
74896         * lib/unistr/u8-strcspn.c: New file.
74897         * lib/unistr/u16-strcspn.c: New file.
74898         * lib/unistr/u32-strcspn.c: New file.
74899         * lib/unistr/u-strcspn.h: New file.
74900
74901         * modules/unistr/u8-strdup: New file.
74902         * modules/unistr/u16-strdup: New file.
74903         * modules/unistr/u32-strdup: New file.
74904         * lib/unistr/u8-strdup.c: New file.
74905         * lib/unistr/u16-strdup.c: New file.
74906         * lib/unistr/u32-strdup.c: New file.
74907         * lib/unistr/u-strdup.h: New file.
74908
74909         * modules/unistr/u8-strlen: New file.
74910         * modules/unistr/u16-strlen: New file.
74911         * modules/unistr/u32-strlen: New file.
74912         * lib/unistr/u8-strlen.c: New file.
74913         * lib/unistr/u16-strlen.c: New file.
74914         * lib/unistr/u32-strlen.c: New file.
74915         * lib/unistr/u-strlen.h: New file.
74916
74917         * modules/unistr/u8-strmblen: New file.
74918         * modules/unistr/u16-strmblen: New file.
74919         * modules/unistr/u32-strmblen: New file.
74920         * lib/unistr/u8-strmblen.c: New file.
74921         * lib/unistr/u16-strmblen.c: New file.
74922         * lib/unistr/u32-strmblen.c: New file.
74923
74924         * modules/unistr/u8-strmbtouc: New file.
74925         * modules/unistr/u16-strmbtouc: New file.
74926         * modules/unistr/u32-strmbtouc: New file.
74927         * lib/unistr/u8-strmbtouc.c: New file.
74928         * lib/unistr/u16-strmbtouc.c: New file.
74929         * lib/unistr/u32-strmbtouc.c: New file.
74930
74931         * modules/unistr/u8-strncat: New file.
74932         * modules/unistr/u16-strncat: New file.
74933         * modules/unistr/u32-strncat: New file.
74934         * lib/unistr/u8-strncat.c: New file.
74935         * lib/unistr/u16-strncat.c: New file.
74936         * lib/unistr/u32-strncat.c: New file.
74937         * lib/unistr/u-strncat.h: New file.
74938
74939         * modules/unistr/u8-strncmp: New file.
74940         * modules/unistr/u16-strncmp: New file.
74941         * modules/unistr/u32-strncmp: New file.
74942         * lib/unistr/u8-strncmp.c: New file.
74943         * lib/unistr/u16-strncmp.c: New file.
74944         * lib/unistr/u32-strncmp.c: New file.
74945
74946         * modules/unistr/u8-strncpy: New file.
74947         * modules/unistr/u16-strncpy: New file.
74948         * modules/unistr/u32-strncpy: New file.
74949         * lib/unistr/u8-strncpy.c: New file.
74950         * lib/unistr/u16-strncpy.c: New file.
74951         * lib/unistr/u32-strncpy.c: New file.
74952         * lib/unistr/u-strncpy.h: New file.
74953
74954         * modules/unistr/u8-strnlen: New file.
74955         * modules/unistr/u16-strnlen: New file.
74956         * modules/unistr/u32-strnlen: New file.
74957         * lib/unistr/u8-strnlen.c: New file.
74958         * lib/unistr/u16-strnlen.c: New file.
74959         * lib/unistr/u32-strnlen.c: New file.
74960         * lib/unistr/u-strnlen.h: New file.
74961
74962         * modules/unistr/u8-strpbrk: New file.
74963         * modules/unistr/u16-strpbrk: New file.
74964         * modules/unistr/u32-strpbrk: New file.
74965         * lib/unistr/u8-strpbrk.c: New file.
74966         * lib/unistr/u16-strpbrk.c: New file.
74967         * lib/unistr/u32-strpbrk.c: New file.
74968         * lib/unistr/u-strpbrk.h: New file.
74969
74970         * modules/unistr/u8-strrchr: New file.
74971         * modules/unistr/u16-strrchr: New file.
74972         * modules/unistr/u32-strrchr: New file.
74973         * lib/unistr/u8-strrchr.c: New file.
74974         * lib/unistr/u16-strrchr.c: New file.
74975         * lib/unistr/u32-strrchr.c: New file.
74976
74977         * modules/unistr/u8-strspn: New file.
74978         * modules/unistr/u16-strspn: New file.
74979         * modules/unistr/u32-strspn: New file.
74980         * lib/unistr/u8-strspn.c: New file.
74981         * lib/unistr/u16-strspn.c: New file.
74982         * lib/unistr/u32-strspn.c: New file.
74983         * lib/unistr/u-strspn.h: New file.
74984
74985         * modules/unistr/u8-strstr: New file.
74986         * modules/unistr/u16-strstr: New file.
74987         * modules/unistr/u32-strstr: New file.
74988         * lib/unistr/u8-strstr.c: New file.
74989         * lib/unistr/u16-strstr.c: New file.
74990         * lib/unistr/u32-strstr.c: New file.
74991         * lib/unistr/u-strstr.h: New file.
74992
74993         * modules/unistr/u8-strtok: New file.
74994         * modules/unistr/u16-strtok: New file.
74995         * modules/unistr/u32-strtok: New file.
74996         * lib/unistr/u8-strtok.c: New file.
74997         * lib/unistr/u16-strtok.c: New file.
74998         * lib/unistr/u32-strtok.c: New file.
74999         * lib/unistr/u-strtok.h: New file.
75000
75001         * modules/unistr/u8-uctomb: New file.
75002         * modules/unistr/u16-uctomb: New file.
75003         * modules/unistr/u32-uctomb: New file.
75004         * lib/unistr/u8-uctomb.c: New file.
75005         * lib/unistr/u16-uctomb.c: New file.
75006         * lib/unistr/u32-uctomb.c: New file.
75007
75008         * MODULES.html.sh (Unicode string functions): Add the new modules.
75009
75010 2007-01-08  Bruno Haible  <bruno@clisp.org>
75011
75012         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
75013         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
75014         subdirectories.
75015
75016 2007-01-08  Karl Berry  <karl@gnu.org>
75017
75018         * doc/error.texi: mention that main() fns must set program_name
75019         when progname is used.
75020
75021 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
75022
75023         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
75024         WCTYPE_H is empty, for the benefit of builds from non-distclean
75025         directories.  Problem reported by Eric Blake in
75026         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
75027
75028 2007-01-08  Bruno Haible  <bruno@clisp.org>
75029
75030         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
75031         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
75032         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
75033         PROVIDE_CANONICALIZE_FILENAME_MODE.
75034         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
75035
75036 2007-01-08  Bruno Haible  <bruno@clisp.org>
75037
75038         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
75039         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
75040         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
75041         * lib/fts.c: Likewise.
75042         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
75043
75044 2006-12-25  Bruno Haible  <bruno@clisp.org>
75045
75046         * modules/utf8-ucs4-safe: New file.
75047         * lib/utf8-ucs4-safe.h: New file.
75048         * lib/unistr/utf8-ucs4-safe.c: New file.
75049
75050         * modules/utf16-ucs4-safe: New file.
75051         * lib/utf16-ucs4-safe.h: New file.
75052         * lib/unistr/utf16-ucs4-safe.c: New file.
75053
75054         * MODULES.html.sh (Unicode string functions): Add the new modules.
75055
75056 2007-01-08  Bruno Haible  <bruno@clisp.org>
75057
75058         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
75059         (Depends-on): Add unitypes.
75060         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75061         (u8_mbtouc_aux): Move out to separate file.
75062         (u8_mbtouc): Use ucs4_t, uint8_t types.
75063         * lib/unistr/utf8-ucs4.c: New file.
75064
75065         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
75066         (Depends-on): Add unitypes.
75067         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75068         (u16_mbtouc_aux): Move out to separate file.
75069         (u16_mbtouc): Use ucs4_t, uint16_t types.
75070         * lib/unistr/utf16-ucs4.c: New file.
75071
75072         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
75073         (Depends-on): Add unitypes.
75074         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
75075         (u8_uctomb_aux): Move out to separate file.
75076         (u8_uctomb): Use ucs4_t, uint8_t types.
75077         * lib/unistr/ucs4-utf8.c: New file.
75078
75079         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
75080         (Depends-on): Add unitypes.
75081         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
75082         (u16_uctomb_aux): Move out to separate file.
75083         (u16_uctomb): Use ucs4_t, uint16_t types.
75084         * lib/unistr/ucs4-utf16.c: New file.
75085
75086 2006-12-25  Bruno Haible  <bruno@clisp.org>
75087
75088         * modules/unitypes: New file.
75089         * lib/unitypes.h: New file.
75090         * MODULES.html.sh (func_all_modules): New section "Unicode string
75091         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
75092         this section. Add unitypes.
75093
75094 2007-01-08  Bruno Haible  <bruno@clisp.org>
75095
75096         Avoid variable names that conflict with those from libtool.
75097         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
75098         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
75099         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
75100         library_names_spec to acl_library_names_spec, hardcode_* to
75101         acl_hardcode_*.
75102         Reported by Ralf Wildenhues.
75103
75104 2007-01-08  Bruno Haible  <bruno@clisp.org>
75105
75106         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
75107         definition.
75108         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
75109         definition.
75110         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
75111         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
75112         definition.
75113         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
75114         definition.
75115         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
75116         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
75117         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
75118         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
75119         definition.
75120         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
75121         definition.
75122         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
75123         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
75124         GC_USE_<algorithm>.
75125         * lib/gc-libgcrypt.c: Likewise.
75126         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
75127         * modules/gc-arctwo (configure.ac): Likewise.
75128         * modules/gc-des (configure.ac): Likewise.
75129         * modules/gc-hmac-md5 (configure.ac): Likewise.
75130         * modules/gc-hmac-sha1 (configure.ac): Likewise.
75131         * modules/gc-md2 (configure.ac): Likewise.
75132         * modules/gc-md4 (configure.ac): Likewise.
75133         * modules/gc-md5 (configure.ac): Likewise.
75134         * modules/gc-random (configure.ac): Likewise.
75135         * modules/gc-rijndael (configure.ac): Likewise.
75136         * modules/gc-sha1 (configure.ac): Likewise.
75137
75138 2007-01-08  Bruno Haible  <bruno@clisp.org>
75139
75140         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
75141         macro definition.
75142         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
75143         definition.
75144         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
75145         definition.
75146         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
75147         * modules/fcntl-safer (configure.ac): Likewise.
75148         * modules/fopen-safer (configure.ac): Likewise.
75149         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
75150         GNULIB_FWRITEERROR macro definition.
75151
75152 2007-01-08  Bruno Haible  <bruno@clisp.org>
75153
75154         * m4/gnulib-common.m4: New file.
75155         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
75156         (func_get_filelist): Add m4/gnulib-common.m4.
75157
75158 2007-01-08  Bruno Haible  <bruno@clisp.org>
75159
75160         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
75161         command.
75162
75163 2007-01-08  Jim Meyering  <jim@meyering.net>
75164
75165         Use a more robust test for a "can't happen" condition.
75166         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
75167         narrowed the st_size value.  Presuming the "can't happen" condition
75168         is true, that narrowing could conceivably convert an invalid st_size
75169         value into a valid one.  Instead, use a change based on Matthew
75170         Woehlke's original patch.
75171
75172         Slight readability improvement: use an assert-like macro
75173         in place of literal "abort ()" uses.
75174         * lib/fts.c (fts_assert): Define.
75175         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
75176         Use this macro instead of a bare 'abort'.
75177
75178 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
75179
75180         Don't worry about using IRIX 5.3's wctype.h broken definitions;
75181         simply work around them.
75182         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
75183         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
75184         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
75185         declaring.
75186         Don't bother to define as macros, since the standard doesn't require it.
75187         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
75188         longer worry about IRIX 5.3.
75189         (HAVE_WCTYPE_CTMP_BUG): Remove.
75190
75191 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75192
75193         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
75194         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
75195         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
75196         Problems reported by Georg Schwarz for IRIX 5.3.
75197
75198         * gnulib-tool (autoconf_minversion): Take the maximum version number
75199         found, not the minimum.  Problem reported by James Youngman.
75200
75201 2007-01-03  Karl Berry  <karl@gnu.org>
75202
75203         * doc/error.texi: new file, explaining interaction with progname.
75204         * doc/gnulib.texi: include it.  Update copyright.
75205
75206 2007-01-03  Simon Josefsson  <simon@josefsson.org>
75207
75208         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
75209         AC_CANONICAL_HOST, to improve autobuild outputs.
75210
75211 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
75212             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
75213
75214         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
75215         sockets, server sockets, and other file descriptors.  Count errors
75216         to compute the return value.  Reorder the code a bit to be easier
75217         to follow.  Don't set event bits that were not requested (except
75218         POLLERR and POLLHUP).
75219
75220 2007-01-01  Bruno Haible  <bruno@clisp.org>
75221
75222         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
75223
75224 2007-01-03  Jim Meyering  <jim@meyering.net>
75225
75226         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
75227
75228 2007-01-02  Bruno Haible  <bruno@clisp.org>
75229
75230         * modules/settime (Include): Require timespec.h.
75231         * modules/nanosleep (Include): Likewise.
75232
75233 2007-01-01  Bruno Haible  <bruno@clisp.org>
75234
75235         * gnulib-tool (func_emit_copyright_notice): Bump year.
75236         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
75237
75238 2007-01-01  Bruno Haible  <bruno@clisp.org>
75239
75240         Improve support for OpenBSD.
75241         * build-aux/config.rpath (libname_spec): Export.
75242         (library_names_spec): New variable. Export.
75243         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
75244         library_names_spec from the config.rpath output. Locate shared library
75245         through the name pattern in library_names_spec.
75246
75247 2007-01-01  Eric Blake  <ebb9@byu.net>
75248
75249         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
75250
75251 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
75252
75253         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
75254         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
75255         assume the C locale, and avoid an "eval" that could cause trouble.
75256         Problem with SORT reported by Bob Proulx.
75257
75258         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
75259         Define.  Trivial patch from Henning Nielsen Lund, originally
75260         sent to bug-grep@gnu.org today.
75261
75262 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
75263
75264         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
75265         struct stat.  Problem reported by Henning Nielsen Lund.
75266         * lib/acl.c: Include acl.h first, to check interface.  Don't
75267         bother to include sys/types.h and sys/stat.h again.
75268
75269 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
75270
75271         Import the following change from libc; problem reported by
75272         Sven Verdoolaege.
75273
75274         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
75275
75276         [BZ #1373]
75277         * lib/argp.h: Remove __NTH for __argp_usage inline function.
75278
75279 2006-12-28  Jim Meyering  <jim@meyering.net>
75280
75281         * build-aux/announce-gen: Do not assume that the package
75282         builds any of tar.gz, tar.bz2, and .xdelta files.
75283         Suggestion from Simon Josefsson.
75284
75285 2006-12-28  Simon Josefsson  <simon@josefsson.org>
75286
75287         * modules/announce-gen: New file.
75288
75289 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
75290
75291         * lib/mbchar.h: Just include <wctype.h>; the wctype module
75292         handles its gotchas now.
75293         * lib/mbswidth.c: Likewise.
75294         * lib/wcwidth.h: Likewise.
75295         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
75296         and iswcntrl; the wctype module does this stuff now.
75297         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
75298         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
75299         * modules/mbchar (Depends-on): Add wctype.
75300         * modules/mbswidth (Depends-on): Likewise.
75301         * modules/wcwidth (Depends-on): Likewise.
75302
75303 2006-12-27  Eric Blake  <ebb9@byu.net>
75304
75305         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
75306         module uses more than what <wctype.h> is required to provide.
75307
75308 2006-12-26  Eric Blake  <ebb9@byu.net>
75309
75310         * gnulib-tool (sed_extract_prog): Avoid space-tab.
75311
75312 2006-12-26  Eric Blake  <ebb9@byu.net>
75313
75314         * modules/absolute-header: New module.
75315         * modules/fcntl (Depends-on): Depend on it.
75316         * modules/inttypes (Depends-on): Likewise.
75317         * modules/stdint (Depends-on): Likewise.
75318         * modules/sys_stat (Depends-on): Likewise.
75319         * modules/wctype (Depends-on): Likewise.
75320         * MODULES.html.sh (Support for building libraries and
75321         executables): Document it.
75322
75323 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
75324
75325         * gnulib-tool (SED): Remove, undoing previous change.
75326         The problem was that it broke coreutils on Solaris, because
75327         "sed --posix" leaked into a makefile.
75328         (sed): New alias, if 'alias' and GNU sed.
75329
75330 2006-12-24  Jim Meyering  <jim@meyering.net>
75331
75332         Work around an fchownat bug in glibc-2.4:
75333         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
75334         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
75335         in spite of the -P option.
75336         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
75337         New macros.
75338         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
75339         * modules/openat (Files): Add lib/fchownat.c.
75340         * lib/openat.c (fchownat): Don't define here.  Move to...
75341         * lib/fchownat.c: ...this new file.
75342
75343 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
75344
75345         Fix bug reported by Bruno Haible in
75346         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
75347         where quotearg.c didn't compile on Mac OS X 10.2 because it
75348         lacks <wchar.h> and wint_t.
75349         * lib/wctype_.h (__wctype_wint_t): New type.
75350         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
75351         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
75352         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
75353         Arg is now of type __wctype_wint_t, not wint_t.
75354         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
75355         substitute HAVE_WINT_T.
75356         * modules/wctype (Files): Add m4/wint_t.m4.
75357         (wctype.h): Substitute HAVE_WINT_T.
75358
75359 2006-12-23  Bruno Haible  <bruno@clisp.org>
75360
75361         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
75362
75363 2006-12-23  Bruno Haible  <bruno@clisp.org>
75364
75365         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
75366         S_ISLNK.
75367         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
75368         mingw.
75369
75370 2006-12-22  Bruno Haible  <bruno@clisp.org>
75371
75372         * lib/copy-file.c: Include acl.h.
75373         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
75374         Close the file descriptors only after being done with copy_acl.
75375         * modules/copy-file (Depends-on): Add acl.
75376
75377 2006-12-22  Bruno Haible  <bruno@clisp.org>
75378
75379         * gnulib-tool (SED): New variable.
75380         Use $SED instead of sed everywhere.
75381
75382 2006-12-22  Bruno Haible  <bruno@clisp.org>
75383
75384         * modules/no-c++: New file.
75385         * m4/no-c++.m4: New file.
75386         * MODULES.html.sh (Support for building libraries and executables):
75387         Add no-c++.
75388
75389 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
75390
75391         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
75392         Include <limits.h>, and use its INT_MAX to rewrite the
75393         j loop so that it does not overflow 'int'.  Problem reported by
75394         Ralf Wildenhues in
75395         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
75396         Play it safe by shifting left by 1 rather than multiplying by 2,
75397         as GCC is less likely to optimize this away when the value
75398         is signed (when it assumes overflow leads to undefined behavior).
75399         Also, don't assume time_t uses two's complement.
75400
75401 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
75402
75403         * MODULES.html.sh: New module wctype.
75404         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
75405         * lib/fnmatch.c: Don't bother to include <wchar.h> before
75406         <wctype.h>, since the new wctype module should fix this.
75407         * lib/quotearg.c: Include <wctype.h> unconditionally, since
75408         the wctype module should arrange for it.
75409         * lib/regex_internal.h: Likewise.
75410         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
75411         since the wctype module should handle this now.
75412         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
75413         * modules/fnmatch (Depends-on): Add wctype.
75414         * modules/quotearg (Depends-on): Likewise.
75415         * modules/regex (Depends-on): Likewise.
75416
75417 2006-12-19  Bruno Haible  <bruno@clisp.org>
75418
75419         * lib/strdup.h [C++]: Wrap definitions in extern "C".
75420         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
75421
75422 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75423
75424         * modules/savewd (Depends-on): Fix dependency on fcntl.
75425
75426 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75427
75428         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
75429         conforms to C99, rather than relying on the user's environment
75430         setting of STDINT_H.
75431
75432 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75433         and Eric Blake  <ebb9@byu.net>
75434
75435         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
75436         This is more consistent with the other defines here.
75437         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
75438         Port to z/OS.  Problem reported by Paul Gilmartin.
75439         Change local vars to use gl_ prefix rather than ac_.
75440         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
75441         with other defines.
75442         * modules/double-slash-root: New module.
75443         * modules/dirname (Files): Remove m4/double-slash-root.m4.
75444         (Depends-on): Add double-slash-root.
75445         * MODULES.html.sh (File system functions): Mention new module.
75446
75447 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
75448
75449         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
75450         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
75451         This is for the benefit of gzip, which doesn't do i18n.
75452
75453 2006-12-12  Jim Meyering  <jim@meyering.net>
75454
75455         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
75456         Reported by Andreas Schwab <schwab@suse.de>.
75457
75458 2006-12-12  Bruno Haible  <bruno@clisp.org>
75459
75460         Merge these changes.
75461         2006-09-05  Bruno Haible  <bruno@clisp.org>
75462         * lib/iconvme.c (iconv_string): No need to save and restore errno when
75463         iconv_alloc succeeded.
75464         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
75465         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
75466         test for " && dest " at the end - dest is always != NULL there. Call
75467         iconv with 4xNULL arguments initially, to reset the state. Call iconv
75468         with 2xNULL arguments, also to flush the state storage. Handle the
75469         IRIX iconv behaviour. Realloc the final result, to throw away unused
75470         memory.
75471
75472 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
75473
75474         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
75475         and fchmodat unconditionally, since glibc 2.4 has them.
75476         Problem reported by Arkadiusz Miskiewicz.
75477
75478 2006-12-10  Bruno Haible  <bruno@clisp.org>
75479
75480         * gnulib-tool (func_import): Show the include files only for those
75481         modules that are copied and specified.
75482         Reported by Karl Berry.
75483
75484 2006-12-08  Jim Meyering  <jim@meyering.net>
75485
75486         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
75487         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
75488
75489         * build-aux/announce-gen: Add two new options, both optional:
75490         --bootstrap-tools=TOOL_LIST
75491               a comma-separated list of tools, e.g.,
75492               autoconf,automake,bison,gnulib
75493         --gnulib-snapshot-date=DATE
75494               if gnulib is in the bootstrap tool list,
75495               then report this as the snapshot date.
75496               If not specified, use the current date/time.
75497               If you specify a date here, be sure it's UTC.
75498
75499 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75500
75501         * tests/test-argp-2.sh: Fix test to match actual output.
75502         (func_compare): Fix sed script to be portable.
75503
75504 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
75505
75506         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
75507         workaround for this case.  It is not autoconfigured now; offhand
75508         it's hard to see how to autoconfigure it.
75509
75510 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
75511
75512         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
75513         a directory that is about to be chowned.  Such a directory's
75514         initial file permissions should permit the owner only and this
75515         should not be changed until after the chown, since the group and
75516         other bits would be incorrect if they granted permission before
75517         the chown.
75518
75519         Fix porting problem for iswctype reported by Georg Schwarz in:
75520         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
75521         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
75522         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
75523         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
75524         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
75525
75526 2006-12-03  Jim Meyering  <jim@meyering.net>
75527
75528         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
75529         p->fts_statp may not yet be defined.
75530         (fts_read): Instead, set it in the caller, once p->fts_statp is
75531         sure to be defined, and corresponds to a top-level directory.
75532         This bug made du -x fail.  Here's the coreutils test case:
75533         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
75534         Reported by Mike Frysinger.
75535
75536 2006-12-01  Jim Meyering  <jim@meyering.net>
75537
75538         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
75539         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
75540         Reported by Simon Josefsson.
75541
75542 2006-11-30  Jim Meyering  <jim@meyering.net>
75543
75544         * m4/warning.m4: Use the all-permissive copyright notice
75545         recommended by RMS (rather than LGPL).
75546         * m4/vararrays.m4: Likewise.
75547         * m4/flexmember.m4: Likewise.
75548
75549 2006-11-29  Bruno Haible  <bruno@clisp.org>
75550
75551         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75552         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
75553         using +=.
75554         Reported by Simon Josefsson <simon@josefsson.org>.
75555
75556 2006-11-28  James Youngman <jay@gnu.org>
75557
75558         * README: Advise users that they might find the bug-gnulib@gnu.org
75559         and autotools-announce@gnu.org mailing lists useful.
75560
75561 2006-11-28  Bruno Haible  <bruno@clisp.org>
75562
75563         * m4/ptrdiff_max.m4: Remove file.
75564
75565 2006-11-21  Bruno Haible  <bruno@clisp.org>
75566
75567         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
75568         _AC_COMPUTE_INT.
75569         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75570         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
75571         _AC_COMPUTE_INT.
75572         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75573         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
75574         _AC_COMPUTE_INT.
75575         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75576
75577 2006-11-28  Jim Meyering  <jim@meyering.net>
75578
75579         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
75580         warning from "gcc -Wshadow" about shadowing the builtin.
75581
75582 2006-11-27  Bruno Haible  <bruno@clisp.org>
75583
75584         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
75585         _AC_COMPUTE_INT.
75586         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75587
75588 2006-11-27  Bruno Haible  <bruno@clisp.org>
75589             Paul Eggert  <eggert@cs.ucla.edu>
75590
75591         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
75592
75593 2006-11-26  Bruno Haible  <bruno@clisp.org>
75594
75595         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75596         noinst_LTLIBRARIES.
75597
75598 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
75599             Bruno Haible  <bruno@clisp.org>
75600
75601         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
75602         if compiling with "gcc -ansi".
75603
75604 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
75605
75606         Fix some incompatibilities with gcc -ansi -pedantic.
75607         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
75608         if compiling pedantically with GCC, unless it's C99 or later.
75609         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
75610         it mishandles gcc -ansi -pedantic as well.
75611         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
75612         if gcc -pedantic.
75613         * lib/regexec.c (check_node_accept_bytes): Don't use auto
75614         initializers for struct if -pedantic, unless it's C99 or later.
75615
75616 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
75617
75618         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
75619         Don't close an fd more than once. Identical atimes indicate
75620         success, not failure.
75621
75622 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
75623
75624         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
75625
75626 2006-11-23  Jim Meyering  <jim@meyering.net>
75627
75628         * build-aux/announce-gen: New file.  From coreutils.
75629
75630 2006-11-22  Jim Meyering  <jim@meyering.net>
75631
75632         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
75633         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
75634         (fts_read): Use a temporary to narrow the overused st_size member
75635         before using it in a switch statement.  Reported by Matthew Woehlke.
75636
75637         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
75638         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
75639
75640 2006-11-20  Bruno Haible  <bruno@clisp.org>
75641
75642         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
75643         changequote instead of pairs of brackets.
75644         Reported by Andreas Schwab <schwab@suse.de>.
75645
75646 2006-11-21  Jim Meyering  <jim@meyering.net>
75647
75648         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
75649         so as to remain compatible with older compilers.
75650         Patch from Michael Deutschmann.
75651
75652 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75653
75654         * MODULES.html.sh (File system functions): Add openat.
75655
75656         * lib/openat.h (rpl_fstatat): New macro, if
75657         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
75658         (fstatat): Define to rpl_fstatat under the same conditions,
75659         unless COMPILING_FSTATAT.
75660         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
75661         seems to have the bug.
75662         * lib/fstatat.c: New file.
75663         * modules/openat (Files): Add it.
75664
75665 2006-11-20  Bruno Haible  <bruno@clisp.org>
75666
75667         * Makefile: New file.
75668
75669 2006-11-20  Jim Meyering  <jim@meyering.net>
75670
75671         The beginnings of syntax-related checks for gnulib.
75672         * lib/Makefile: New file.
75673         * lib/t-idcache: New script.  Ensure that the two halves of
75674         idcache.c stay in sync.
75675
75676         * lib/idcache.c: Adjust comments in user- and group- portions to
75677         be more accurate, and to be consistent with one another.
75678
75679 2006-11-20  Jim Meyering  <jim@meyering.net>
75680
75681         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
75682         continue using the flexible array member (thus, this module performs
75683         half as many malloc calls), with the addition that...
75684         (getgroup, getuser): Consistently record a non-match via an empty
75685         "name" string, and map an empty string match to a NULL return value.
75686         * modules/idcache (Depends-on): Re-add flexmember.
75687
75688         * lib/idcache.c (getuser): Remove all uses of the register keyword.
75689         (getuidbyname, getgroup, getgidbyname): Likewise.
75690
75691         Use cleaner syntax: NULL rather than 0.
75692         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
75693
75694 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75695
75696         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
75697         It mishandled the case where the group was missing.
75698         Problem reported by Greg Schafer.
75699         * modules/idcache: Likewise.
75700
75701 2006-11-18  Jim Meyering  <jim@meyering.net>
75702
75703         * check-module (%exempt_header): Add exception for some
75704         conditionally-included headers.
75705
75706         * modules/i-ring (Depends-on): Add verify.
75707         (License): Change to LGPL.
75708
75709 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
75710
75711         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
75712         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
75713         and inttostr.h.  Use snprintf rather than uinttostr, so that
75714         LGPLed code doesn't depend on GPLed.
75715
75716 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
75717
75718         * modules/inline (License): Change from GPL to LGPL.
75719
75720 2006-11-17  Jim Meyering  <jim@meyering.net>
75721
75722         * modules/d-type (License): Switch to LGPL.
75723
75724 2006-11-15  Bruno Haible  <bruno@clisp.org>
75725
75726         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
75727
75728 2006-11-15  Eric Blake  <ebb9@byu.net>
75729
75730         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
75731         the module dependency.
75732
75733 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75734             Bruno Haible  <bruno@clisp.org>
75735
75736         * gnulib-tool (func_create_testdir): Add license consistency check.
75737
75738 2006-11-15  Eric Blake  <ebb9@byu.net>
75739
75740         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
75741         random "(cached)" in configure output.
75742
75743 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75744
75745         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
75746         test for conforming inttypes.h is both announced and cached.
75747
75748         * MODULES.html.sh (seen_modules, seen_files): New variables.
75749         (func_module): Rewrite to use a few less gnulib-tool and sed
75750         invocations.  Avoid a couple of quadratic algorithms for ...
75751         (missed_modules, missed_files): ... these, with ...
75752         (func_append, func_tmpdir): ... these new functions, from
75753         gnulib-tool.  Analogously, install traps for cleanup.
75754
75755         * tests/test-gc.c (main): Remove unused variables.
75756         * tests/test-read-file.c: Include stdlib.h, for 'free'.
75757
75758 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
75759
75760         * modules/inttostr (License): Change to LGPL.
75761
75762 2006-11-14  Eric Blake  <ebb9@byu.net>
75763
75764         * modules/tempname (License): Change to LGPL.
75765
75766 2006-11-14  Eric Blake  <ebb9@byu.net>
75767
75768         * doc/functions.texi (Function Portability): *printf functions on
75769         Cygwin now understand all POSIX size specifiers.
75770
75771 2006-11-14  Bruno Haible  <bruno@clisp.org>
75772
75773         * modules/c-ctype (License): Change to LGPL.
75774
75775 2006-11-12  Bruno Haible  <bruno@clisp.org>
75776
75777         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
75778         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
75779         for GNOME libraries, for which the include files are installed in
75780         subdirectories of $prefix/include.
75781
75782 2006-11-12  Bruno Haible  <bruno@clisp.org>
75783
75784         * m4/lib-link.m4: Require at least autoconf-2.54.
75785         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
75786         name to underscores for the --with option.
75787
75788 2006-11-13  Bruno Haible  <bruno@clisp.org>
75789
75790         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
75791         the tests directory.
75792         Reported by Ralf Wildenhues.
75793
75794 2006-11-13  Bruno Haible  <bruno@clisp.org>
75795
75796         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
75797         (func_emit_initmacro_end): Undo the override here.
75798         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
75799         Works around the famous automake error in coreutils.
75800
75801 2006-11-13  Eric Blake  <ebb9@byu.net>
75802
75803         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
75804         element, not its node.
75805
75806 2006-11-12  Bruno Haible  <bruno@clisp.org>
75807
75808         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
75809         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
75810
75811 2006-11-12  Bruno Haible  <bruno@clisp.org>
75812
75813         * gnulib-tool: New option --local-symlink.
75814         (func_usage): Document it.
75815         (lsymbolic): New variable.
75816         (func_import, func_create_testdir): If --symlink was not specified,
75817         test whether --local-symlink was specified and the file comes from
75818         the local_gnulib_dir.
75819
75820 2006-11-12  Bruno Haible  <bruno@clisp.org>
75821
75822         * gnulib-tool (func_ln): New function.
75823         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
75824
75825 2006-11-12  Bruno Haible  <bruno@clisp.org>
75826
75827         Finish support for source files in subdirectories.
75828         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
75829         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
75830         AUTOMAKE_OPTIONS.
75831         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
75832
75833 2006-11-12  Bruno Haible  <bruno@clisp.org>
75834
75835         * gnulib-tool (func_get_automake_snippet): Synthesize also an
75836         EXTRA_lib_SOURCES augmentation.
75837         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
75838
75839 2006-11-12  Jim Meyering  <jim@meyering.net>
75840
75841         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
75842         file descriptors.  This also averts a failure on systems with
75843         native openat support when a traversed directory lacks "x" access.
75844         * lib/fts_.h: Include "i-ring.h"
75845         (struct FTS) [fts_fd_ring]: New member.
75846         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
75847         (FCHDIR): Add parentheses.
75848         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
75849         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
75850         When descending, rather than simply closing the previous
75851         fts_cwd_fd value, push that file descriptor onto the ring.
75852         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
75853         (fts_open): Initialize the new fd_ring member.
75854         (fts_close): Clear the ring.
75855         (fts_safe_changedir): When possible, use our new fd_ring to skip
75856         the diropen and fstat and dev/ino comparison that would normally
75857         accompany a virtual `chdir ("..")'.
75858
75859         * modules/fts (Depends-on): Add i-ring.
75860         * modules/i-ring: New module.
75861         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
75862         * m4/i-ring.m4: New file.
75863
75864 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75865
75866         * gnulib-tool (func_create_testdir): Fix replacement of
75867         `build-aux' in configure.ac.  Run autotools in gltests
75868         subdirectory.
75869         (func_create_testdir, func_create_megatestdir, test): There is
75870         no need for '--force' in most autotool invocations in a new
75871         tree.  Actually fail the whole test if any of the tools, or the
75872         configure or make stages fail.
75873
75874         Sync from Automake.
75875         * build-aux/gnupload: Revert last change.  Add pointer to upload
75876         instructions of the GNU Maintenance Instructions.
75877         Suggestion by Karl Berry.
75878
75879 2006-11-10  Jim Meyering  <jim@meyering.net>
75880
75881         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
75882
75883 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75884
75885         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
75886         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
75887         (bind_textdomain_codeset) [! ENABLE_NLS]:
75888         Evaluate all the arguments.  That way, callers get compatible behavior
75889         if the arguments have side effects.  Also, it avoids some GCC
75890         diagnostics in some cases; Joel E. Denny reported problems when Bison
75891         was configured with --enable-gcc-warnigs.
75892
75893 2006-11-10  Jim Meyering  <jim@meyering.net>
75894
75895         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
75896         relevant options in CFLAGS (like -O, -fno-inline) are taken into
75897         account.
75898
75899 2006-11-10  Jim Meyering  <jim@meyering.net>
75900
75901         * modules/inline: New file/module.
75902         * modules/xalloc (Files): Remove m4/inline.m4.
75903         (Depends-on): Add inline, instead.
75904         * modules/oset: Likewise.
75905         * modules/list: Likewise.
75906
75907 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75908
75909         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
75910         Problem reported by Matthew Woehlke.
75911
75912 2006-11-09  Bruno Haible  <bruno@clisp.org>
75913
75914         * lib/tempname.c (gen_tempname): Remove variant that invokes
75915         __gen_tempname.
75916         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
75917         __gen_tempname.
75918
75919 2006-11-08  Bruno Haible  <bruno@clisp.org>
75920
75921         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
75922         to 'yes' instead of 'cross-compiling'.
75923
75924 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
75925
75926         * lib/quotearg.h (quotearg_free): New decl.
75927         * lib/quotearg.c (quotearg_free): New function.
75928         (slot0, nslots, slotvec0, slotvec):
75929         Now file-scope so that quotearg_free can get at them.
75930
75931 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75932
75933         Sync from Automake.
75934         * build-aux/gnupload: Add missing 'gnu' to example URL.
75935         Report by Karl Berry.
75936
75937 2006-11-08  Bruno Haible  <bruno@clisp.org>
75938
75939         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
75940         Suggested by Paul Eggert.
75941
75942 2006-11-08  Jim Meyering  <jim@meyering.net>
75943
75944         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
75945         It's already included if !_LIBC.
75946         (fts_safe_changedir): Add a comment.
75947
75948 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
75949
75950         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
75951         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
75952         Matthew Woehlke.
75953
75954         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
75955         definitions up, to avoid colliding with change below.
75956         (static_inline) [HAVE_INLINE]: New macro.
75957         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
75958         Provide extern decls when !HAVE_INLINE.  Do not define unless
75959         static_inline is defined, either by us or by xmalloc.c.  Use
75960         static_inline rather than static inline.
75961         (XCALLOC): Optimize sizeof(T) = 1 case.
75962         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
75963
75964 2006-11-07  Bruno Haible  <bruno@clisp.org>
75965
75966         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
75967         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
75968         AC_C_INLINE.
75969         * modules/xalloc (Files): Add m4/inline.m4.
75970
75971 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75972
75973         * README: Fix typo.
75974         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
75975         (Miscellanous Notes): ...from this.
75976
75977 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
75978
75979         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
75980         Mention that offsetof should be used instead of sizeof.
75981         From Bruno Haible.
75982
75983 2006-11-07  Bruno Haible  <bruno@clisp.org>
75984
75985         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
75986
75987 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
75988
75989         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
75990         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
75991         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
75992         (gl_tree_add_before, gl_tree_add_after):
75993         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
75994         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
75995         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
75996         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
75997         (gl_linked_add_after, gl_linked_add_at): Likewise.
75998         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
75999         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
76000         (gl_tree_add_before, gl_tree_add_after): Likewise.
76001         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
76002         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
76003         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
76004
76005 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76006
76007         * lib/gl_oset.h: Use C comment style, not C++ comment style.
76008
76009 2006-11-06  Bruno Haible  <bruno@clisp.org>
76010
76011         * m4/inline.m4: New file.
76012         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
76013         * modules/list (Files): Add m4/inline.m4.
76014         * modules/oset (Files): Likewise.
76015
76016 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
76017
76018         * lib/idcache.c: Include <stddef.h>, for offsetof.
76019         (struct userid.name): Change from char * to a flexible array member.
76020         All uses changed.
76021         * modules/idcache (Depends-on): Add flexmember.
76022
76023         * MODULES.html.sh (Core language properties): New module flexmember.
76024         * modules/flexmember, m4/flexmember.m4: New files.
76025
76026         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
76027         inline functions that are identical with the old xnmalloc_inline,
76028         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
76029         that we can avoid some unnecessary integer multiplications and
76030         divisions in the common case where the element size is known at
76031         compile time.
76032         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
76033         needed.
76034         (xnboundedmalloc): Remove.
76035         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
76036         arguments, for consistency with rest of this header.
76037         (xcharalloc): Rewrite using XNMALLOC.
76038         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
76039         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
76040         versions have been moved to lib/xalloc.h and renamed to be the
76041         non-*_inline versions.
76042         (xmalloc, xrealloc): Implement without reference to the xnmalloc
76043         and xnrealloc functions, since those functions are now inline and
76044         now call us.
76045         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
76046         renaming described above.
76047         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
76048         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
76049         captures the dependency in AC_C_INLINE.
76050
76051         New module canonicalize-lgpl, proposed by Charles Wilson in
76052         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
76053         with a few small changes afterwards.
76054         * MODULES.html.sh (File system functions): New module
76055         canonicalize-lgpl.
76056         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
76057         and canonicalize_file_name.
76058         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
76059         * modules/canonicalize-lgpl: New files.
76060
76061 2006-11-05  Bruno Haible  <bruno@clisp.org>
76062
76063         * gnulib-tool (func_import, func_create_testdir): Create directories
76064         also for files in subdirectories of lib/.
76065
76066 2006-11-05  Bruno Haible  <bruno@clisp.org>
76067
76068         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
76069         ANSI C compliant.
76070
76071 2006-11-03  Bruno Haible  <bruno@clisp.org>
76072
76073         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
76074         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
76075         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
76076         (xnboundedmalloc): New inline function.
76077         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
76078         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
76079         xmalloc.
76080         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
76081         xmalloc.
76082         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
76083         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
76084         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
76085         xmalloc.
76086         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76087         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
76088         xmalloc.
76089         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
76090         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76091         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
76092         xmalloc.
76093         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76094         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
76095         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76096         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
76097         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
76098         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
76099         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
76100
76101 2006-11-03  Bruno Haible  <bruno@clisp.org>
76102
76103         * lib/c-ctype.h [C++]: Define functions without name mangling.
76104         * lib/fwriteerror.h [C++]: Likewise.
76105         * lib/gcd.h [C++]: Likewise.
76106         * lib/linebreak.h [C++]: Likewise.
76107
76108 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
76109
76110         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
76111         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
76112         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
76113         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
76114         Check for functions and headers just once.
76115         Check for declaration of canonicalize_file_name.
76116         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
76117
76118 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76119
76120         * gnulib-tool (func_import): Fix typo in actioncmd.
76121
76122 2006-11-02  Bruno Haible  <bruno@clisp.org>
76123
76124         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
76125         newline sequence in the Makefile.am snippet as a space, like "make"
76126         does.
76127         Reported by Roger Persson <perrog@gmail.com>.
76128
76129 2006-11-01  Bruno Haible  <bruno@clisp.org>
76130
76131         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
76132         already declared in <string.h>.
76133         * lib/strcase.h (strncasecmp): Don't declare it if yes.
76134
76135 2006-11-01  Bruno Haible  <bruno@clisp.org>
76136
76137         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
76138         * lib/strcase.h: Include <string.h>.
76139         (strcasecmp): Define to rpl_strcasecmp here.
76140
76141 2006-11-01  Bruno Haible  <bruno@clisp.org>
76142
76143         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
76144
76145 2006-11-01  Eric Blake  <ebb9@byu.net>
76146
76147         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
76148
76149         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
76150
76151 2006-10-29  Bruno Haible  <bruno@clisp.org>
76152
76153         Make it compile in C++ mode.
76154         * lib/full-write.c (full_rw): Add a cast.
76155
76156 2006-11-01  Bruno Haible  <bruno@clisp.org>
76157
76158         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
76159         be POSIX compliant.
76160         Reported by Roger Persson <perrog@gmail.com>.
76161
76162 2006-11-01  Eric Blake  <ebb9@byu.net>
76163
76164         * lib/getopt_.h: Fix comments.
76165
76166 2006-10-31  Eric Blake  <ebb9@byu.net>
76167
76168         * modules/tmpdir (Depends-on): Add sys_stat.
76169         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
76170         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
76171         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
76172         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
76173         tempname.
76174
76175 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
76176
76177         Avoid some C++ diagnostics reported by Bruno Haible.
76178         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
76179         xmalloc.
76180         (quotearg_alloc): Use xcharalloc rather than xmalloc.
76181         (struct slotvec): Move to top level.
76182         (quotearg_n_options): Rewrite to avoid xmalloc.
76183         * lib/xalloc.h (xcharalloc): New function.
76184         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
76185         [defined __cplusplus]: Add function template that provides result
76186         type propagation.  This part of the change is from Bruno Haible.
76187
76188 2006-10-29  Bruno Haible  <bruno@clisp.org>
76189
76190         Make it compile in C++ mode.
76191         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
76192         * lib/strnlen1.c (strnlen1): Cast memchr result.
76193         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
76194         * lib/clean-temp.c (string_equals, string_hash): Add casts.
76195         (create_temp_dir): Rename local variable 'template'.
76196         (compile_csharp_using_sscli): Add cast.
76197         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
76198         * lib/findprog.c (find_in_path): Likewise.
76199         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
76200         * lib/wait-process.c (register_slave_subprocess): Likewise.
76201
76202 2006-10-22  Bruno Haible  <bruno@clisp.org>
76203
76204         * modules/tsearch: New file.
76205         * lib/tsearch.h: New file.
76206         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
76207         * m4/tsearch.m4: New file.
76208         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
76209
76210 2006-10-29  Eric Blake  <ebb9@byu.net>
76211
76212         * lib/arcfour.c: Assume config.h.
76213         * lib/arctwo.c: Likewise.
76214         * lib/base64.c: Likewise.
76215         * lib/check-version.c: Likewise.
76216         * lib/crc.c: Likewise.
76217         * lib/des.c: Likewise.
76218         * lib/gc-gnulib.c: Likewise.
76219         * lib/gc-libgcrypt.c: Likewise.
76220         * lib/gc-pbkdf2-sha1.c: Likewise.
76221         * lib/getaddrinfo.c: Likewise.
76222         * lib/getdelim.c: Likewise.
76223         * lib/getline.c: Likewise.
76224         * lib/hmac-md5.c: Likewise.
76225         * lib/hmac-sha1.c: Likewise.
76226         * lib/iconvme.c: Likewise.
76227         * lib/md2.c: Likewise.
76228         * lib/md4.c: Likewise.
76229         * lib/memxor.c: Likewise.
76230         * lib/read-file.c: Likewise.
76231         * lib/readline.c: Likewise.
76232         * lib/rijndael-alg-fst.c: Likewise.
76233         * lib/rijndael-api-fst.c: Likewise.
76234         * lib/xgetdomainname.c: Likewise.
76235
76236 2006-10-28  Eric Blake  <ebb9@byu.net>
76237
76238         * lib/xstrndup.c: Assume config.h.
76239
76240 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
76241
76242         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
76243         stat-macros.h is now for our own macros, whereas stat_h is for
76244         macros in the <sys/stat.h> name space.
76245         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
76246         (STAT_MACROS_H): Remove.
76247         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
76248         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
76249         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
76250         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
76251         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
76252         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
76253         Move these macros to ...
76254         * lib/stat_.h: here.  Don't include stat-macros.h.
76255         * lib/canonicalize.c: Don't include stat-macros.h.
76256         * lib/chown.c: Likewise.
76257         * lib/euidaccess.c: Likewise.
76258         * lib/file-type.c: Likewise.
76259         * lib/filemode.c: Likewise.
76260         * lib/glob.c: Likewise.
76261         * lib/isapipe.c: Likewise.
76262         * lib/lchown.c: Likewise.
76263         * lib/lstat.c: Likewise.
76264         * lib/mkdir-p.c: Likewise.
76265         * lib/rmdir.c: Likewise.
76266         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
76267         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
76268         unless mkdir isn't declared, to speed up 'configure'.
76269         Always create sys/stat.h, since it's unlikely any real sys/stat.h
76270         would define all the S_* symbols.
76271         * modules/canonicalize (Depends-on):
76272         Depend on sys_stat, not stat-macros.
76273         * modules/chown: Likewise.
76274         * modules/euidaccess: Likewise.
76275         * modules/filemode: Likewise.
76276         * modules/file-type: Likewise.
76277         * modules/glob: Likewise.
76278         * modules/isapipe: Likewise.
76279         * modules/lchown: Likewise.
76280         * modules/lstat: Likewise.
76281         * modules/mkancesdirs: Likewise.
76282         * modules/rmdir: Likewise.
76283         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
76284         * modules/modechange: Likewise.
76285         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
76286         (configure.ac): Remove gl_STAT_MACROS.
76287         * modules/sys_stat (Depends-on): Remove stat-macros.
76288
76289 2006-10-27  Bruno Haible  <bruno@clisp.org>
76290
76291         * m4/signed.m4: Remove file.
76292         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
76293         invocation.
76294         * modules/vasnprintf (Files): Remove m4/signed.m4.
76295
76296 2006-10-27  Bruno Haible  <bruno@clisp.org>
76297
76298         Update to GNU gettext 0.16.
76299         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
76300         m4/inttypes-h.m4, m4/signed.m4.
76301         * m4/gettext.m4: Update to GNU gettext 0.16.
76302         * m4/intl.m4: New file, from GNU gettext.
76303         * m4/intldir.m4: New file, from GNU gettext.
76304         * config/srclist.txt: Update
76305
76306 2006-10-27  Eric Blake  <ebb9@byu.net>
76307
76308         * MODULES.html.sh: Document tempname.
76309         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
76310         dependencies.
76311         (Files): Move lib/tempname.c...
76312         * modules/tempname: ...to this new module.
76313         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
76314         (gl_PREREQ_TEMPNAME): Move...
76315         * m4/tempname.m4: ...to this new file.
76316         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
76317         * modules/sys_stat (Depends-on): Add stat-macros.
76318         * lib/stat_.h (includes): Pick up stat macros.
76319         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
76320         if stat macros are broken.
76321         * lib/tempname.c (includes): No need to include "stat-macros.h".
76322         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
76323         (direxists, __path_search) [!_LIBC]: Don't compile these in
76324         gnulib; the tmpdir module covers that.
76325         * lib/tempname.h: New file.
76326
76327 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
76328
76329         * COPYING: Explain how gnulib-tool converts licence headers.
76330         Almost all wording by Eric Blake.
76331
76332 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
76333
76334         * lib/mbchar.h (is_basic_table): Make read-only.
76335         * lib/mbchar.c (is_basic_table): Likewise.
76336         Reported by John Darrington.
76337
76338 2006-10-25  Bruno Haible  <bruno@clisp.org>
76339
76340         * lib/progname.h (set_program_name): Undefine before defining.
76341
76342 2006-10-25  Bruno Haible  <bruno@clisp.org>
76343
76344         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
76345         false for non-gcc C++ compilers.
76346         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
76347
76348 2006-10-24  Bruno Haible  <bruno@clisp.org>
76349
76350         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
76351         iconv implementations like Irix iconv.
76352
76353 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76354
76355         * modules/vararrays: New file.
76356         * m4/vararrays.m4: New file, taken from diffutils.
76357         * MODULES.html.sh: New module vararrays.
76358
76359 2006-10-24  Karl Berry  <karl@gnu.org>
76360
76361         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
76362         Don't call GNU Unix.
76363
76364 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76365
76366         * users.txt: Add Libtool.
76367
76368         Sync from Libtool:
76369
76370         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76371
76372         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
76373         to gnulib's policy of including config.h unconditionally.
76374
76375 2006-10-24  Bruno Haible  <bruno@clisp.org>
76376
76377         * modules/wcwidth (Files): Add m4/wint_t.m4.
76378         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
76379         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
76380
76381 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76382
76383         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
76384         to pacify GCC with some -W flags enabled.  Problem reported by
76385         Bruno Haible.
76386
76387 2006-10-24  Jim Meyering  <jim@meyering.net>
76388
76389         * MODULES.html.sh: Remove uinttostr.  It's not a module.
76390         Reported by Karl Berry.
76391
76392 2006-10-23  Bruno Haible  <bruno@clisp.org>
76393
76394         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
76395
76396 2006-10-24  Bruno Haible  <bruno@clisp.org>
76397
76398         * lib/gl_list.h: Use C comment style, not C++ comment style.
76399
76400 2006-10-23  Eric Blake  <ebb9@byu.net>
76401
76402         * lib/getaddrinfo.c (includes): Add missing include.
76403
76404 2006-10-23  Bruno Haible  <bruno@clisp.org>
76405             Paul Eggert  <eggert@cs.ucla.edu>
76406
76407         Ability to rename obstack_free.
76408         * lib/obstack.h (__obstack_free): New macro. Declare instead of
76409         obstack_free.
76410         (obstack_free): Invoke the __obstack_free macro.
76411         * lib/obstack.c (obstack_free): Use __obstack_free macro.
76412
76413 2006-10-23  Bruno Haible  <bruno@clisp.org>
76414             Paul Eggert  <eggert@cs.ucla.edu>
76415
76416         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
76417         __argc, __argv from the declaration. (They are defined as macros on
76418         mingw.)
76419
76420 2006-10-22  Bruno Haible  <bruno@clisp.org>
76421
76422         * doc/gnulib-intro.texi: New file.
76423         * doc/gnulib.texi: Include it.
76424
76425 2006-10-21  Bruno Haible  <bruno@clisp.org>
76426
76427         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
76428         "Introduction", "Miscellanous Notes", "Particular Modules".
76429
76430 2006-10-21  Bruno Haible  <bruno@clisp.org>
76431
76432         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76433         Change mostlyclean-local rule to avoid sh syntax error from bash
76434         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
76435
76436 2006-10-23  Jim Meyering  <jim@meyering.net>
76437
76438         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
76439         in place of snprintf.
76440
76441         * modules/inttostr (Files): Add lib/uinttostr.c.
76442         * lib/uinttostr.c (inttostr): New file/function.
76443         * lib/inttostr.h (uinttostr): Declare.
76444         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
76445         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
76446         Add uinttostr.
76447         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
76448
76449 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76450
76451         * lib/canonicalize.c (ELOOP): Define if not already defined.
76452         Problem reported by Bruno Haible in
76453         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
76454
76455 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76456
76457         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
76458         Problem reported by Perry Smith and Ville Laurikari.
76459
76460         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
76461         uses.
76462
76463 2006-10-19  Bruno Haible  <bruno@clisp.org>
76464
76465         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
76466         for mingw.
76467
76468 2006-10-19  Bruno Haible  <bruno@clisp.org>
76469
76470         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
76471         Needed for mingw.
76472
76473 2006-10-19  Bruno Haible  <bruno@clisp.org>
76474
76475         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
76476
76477 2006-10-19  Bruno Haible  <bruno@clisp.org>
76478
76479         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
76480         it.
76481
76482 2006-10-19  Bruno Haible  <bruno@clisp.org>
76483
76484         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
76485         invocation.
76486
76487 2006-10-19  Bruno Haible  <bruno@clisp.org>
76488
76489         * gnulib-tool (func_create_testdir): Don't include ftruncate and
76490         mountlist by default.
76491
76492 2006-10-16  Bruno Haible  <bruno@clisp.org>
76493
76494         * lib/c-strstr.c: Include c-strstr.h.
76495
76496 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76497
76498         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
76499         in a slash.
76500
76501 2006-10-18  Bruno Haible  <bruno@clisp.org>
76502
76503         * lib/lock.h [C++]: Wrap definitions in extern "C".
76504
76505 2006-10-18  Bruno Haible  <bruno@clisp.org>
76506
76507         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
76508         gl_LIBOBJS list.
76509
76510 2006-10-18  Bruno Haible  <bruno@clisp.org>
76511
76512         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
76513
76514 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
76515
76516         * lib/xstrtol.h: Include gettext.h.
76517         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
76518         Problem reported by Eric Blake.
76519         * modules/xstrtol (Depends-on): Add gettext-h.
76520
76521 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
76522
76523         * lib/strftime.c (advance): New macro.
76524         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
76525         incomplete type, so you can't add 0 to it.  Problem and patch
76526         reported by Eelco Dolstra for dietlibc.
76527
76528 2006-10-18  Jim Meyering  <jim@meyering.net>
76529
76530         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
76531         type for a local, and rename it: s/up/user_proc/.
76532
76533 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
76534
76535         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
76536         READ_UTMP_USER_PROCESS.
76537         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
76538
76539 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
76540
76541         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
76542         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
76543
76544 2006-10-17  Eric Blake  <ebb9@byu.net>
76545
76546         * lib/sigprocmask.c (sigprocmask): Fix typo.
76547
76548         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
76549
76550         * modules/clean-temp (Makefile.am): Don't add to make output...
76551         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
76552         config.h.
76553
76554 2006-10-17  Bruno Haible  <bruno@clisp.org>
76555
76556         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
76557         differently if DEFAULT_TEXT_DOMAIN is set.
76558
76559 2006-10-16  Bruno Haible  <bruno@clisp.org>
76560
76561         * lib/clean-temp.c: Include fwriteerror.h.
76562
76563 2006-10-16  Bruno Haible  <bruno@clisp.org>
76564
76565         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
76566
76567 2006-10-16  Bruno Haible  <bruno@clisp.org>
76568
76569         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
76570         * lib/sigprocmask.h: Include <sys/types.h>.
76571         (sigset_t): Use the system's definition if present.
76572
76573 2006-10-17  Eric Blake  <ebb9@byu.net>
76574
76575         * lib/xvasprintf.c (includes): Assume config.h.
76576         * lib/xasprintf.c (includes): Likewise.
76577
76578 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
76579
76580         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
76581         at least as wide as intmax_t.
76582
76583 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
76584
76585         (Imported from Automake.)
76586         * build-aux/gnupload: Update to version 1.1 of directive file.
76587
76588 2006-10-16  Eric Blake  <ebb9@byu.net>
76589
76590         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
76591         match Automake 1.10a.
76592
76593 2006-10-14  Bruno Haible  <bruno@clisp.org>
76594
76595         * modules/sigprocmask: New file.
76596         * lib/sigprocmask.h: New file.
76597         * lib/sigprocmask.c: New file.
76598         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
76599         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
76600         request sigprocmask.o.
76601         (gl_PREREQ_SIGPROCMASK): New macro.
76602         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
76603         (Depends-on): Add sigprocmask.
76604         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
76605         gt_SIGNALBLOCKING. Test for 'raise' only once.
76606         * lib/fatal-signal.c: Include sigprocmask.h.
76607         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
76608         unblock_fatal_signals): Define always.
76609         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76610         sigprocmask.
76611
76612 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76613
76614         Sync from Automake.
76615         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
76616         which incorrectly sets the mode of an existing destination
76617         directory.  In some cases the unpatched install-sh could do the
76618         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
76619         system.  We hope this is rare in practice, but it's clearly worth
76620         fixing.  Problem reported by Alex Unleashed in
76621         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
76622         Also, don't bother to check for -m bugs unless we're using -m;
76623         suggested by Stepan Kasal.
76624
76625 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76626
76627         Sync from Automake.
76628         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
76629         `-c' flag, so they appear at the same position as in %FASTDEP%
76630         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
76631         which ignores unknown options only after the first non-option.
76632         Bug report against M4 by Nelson H. F. Beebe.
76633
76634 2006-10-13  Jim Meyering  <jim@meyering.net>
76635
76636         Fix a bug in yesterday's change.
76637         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
76638         p->fts_statp->st_dev would be used uninitialized.
76639         Ensures that we always call fts_stat on the very first entry.
76640         Miklos Szeredi reported that find -xdev stopped working.
76641
76642 2006-10-12  Bruno Haible  <bruno@clisp.org>
76643
76644         * gnulib-tool (func_get_automake_snippet): Append an automatically
76645         computed EXTRA_DIST augmentation.
76646         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
76647         * modules/alloca-opt (Makefile.am): Likewise.
76648         * modules/allocsa (Makefile.am): Likewise.
76649         * modules/arcfour (Makefile.am): Likewise.
76650         * modules/arctwo (Makefile.am): Likewise.
76651         * modules/argmatch (Makefile.am): Likewise.
76652         * modules/argz (Makefile.am): Likewise.
76653         * modules/atexit (Makefile.am): Likewise.
76654         * modules/backupfile (Makefile.am): Likewise.
76655         * modules/byteswap (Makefile.am): Likewise.
76656         * modules/c-strtod (Makefile.am): Likewise.
76657         * modules/c-strtold (Makefile.am): Likewise.
76658         * modules/calloc (Makefile.am): Likewise.
76659         * modules/canon-host (Makefile.am): Likewise.
76660         * modules/canonicalize (Makefile.am): Likewise.
76661         * modules/chdir-long (Makefile.am): Likewise.
76662         * modules/chdir-safer (Makefile.am): Likewise.
76663         * modules/check-version (Makefile.am): Likewise.
76664         * modules/chown (Makefile.am): Likewise.
76665         * modules/cloexec (Makefile.am): Likewise.
76666         * modules/close-stream (Makefile.am): Likewise.
76667         * modules/closeout (Makefile.am): Likewise.
76668         * modules/crc (Makefile.am): Likewise.
76669         * modules/csharpexec (Makefile.am): Likewise.
76670         * modules/cycle-check (Makefile.am): Likewise.
76671         * modules/des (Makefile.am): Likewise.
76672         * modules/dev-ino (Makefile.am): Likewise.
76673         * modules/dirfd (Makefile.am): Likewise.
76674         * modules/dirname (Makefile.am): Likewise.
76675         * modules/dup2 (Makefile.am): Likewise.
76676         * modules/eealloc (Makefile.am): Likewise.
76677         * modules/error (Makefile.am): Likewise.
76678         * modules/euidaccess (Makefile.am): Likewise.
76679         * modules/exclude (Makefile.am): Likewise.
76680         * modules/exitfail (Makefile.am): Likewise.
76681         * modules/fcntl-safer (Makefile.am): Likewise.
76682         * modules/fcntl (Makefile.am): Likewise.
76683         * modules/file-type (Makefile.am): Likewise.
76684         * modules/fileblocks (Makefile.am): Likewise.
76685         * modules/filemode (Makefile.am): Likewise.
76686         * modules/filenamecat (Makefile.am): Likewise.
76687         * modules/fnmatch (Makefile.am): Likewise.
76688         * modules/fopen-safer (Makefile.am): Likewise.
76689         * modules/fpending (Makefile.am): Likewise.
76690         * modules/fprintftime (Makefile.am): Likewise.
76691         * modules/free (Makefile.am): Likewise.
76692         * modules/fsusage (Makefile.am): Likewise.
76693         * modules/ftruncate (Makefile.am): Likewise.
76694         * modules/fts (Makefile.am): Likewise.
76695         * modules/gc-arcfour (Makefile.am): Likewise.
76696         * modules/gc-des (Makefile.am): Likewise.
76697         * modules/gc-hmac-md5 (Makefile.am): Likewise.
76698         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
76699         * modules/gc-md4 (Makefile.am): Likewise.
76700         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
76701         * modules/gc-sha1 (Makefile.am): Likewise.
76702         * modules/gc (Makefile.am): Likewise.
76703         * modules/getaddrinfo (Makefile.am): Likewise.
76704         * modules/getcwd (Makefile.am): Likewise.
76705         * modules/getdelim (Makefile.am): Likewise.
76706         * modules/getdomainname (Makefile.am): Likewise.
76707         * modules/getgroups (Makefile.am): Likewise.
76708         * modules/gethostname (Makefile.am): Likewise.
76709         * modules/gethrxtime (Makefile.am): Likewise.
76710         * modules/getline (Makefile.am): Likewise.
76711         * modules/getloadavg (Makefile.am): Likewise.
76712         * modules/getlogin_r (Makefile.am): Likewise.
76713         * modules/getndelim2 (Makefile.am): Likewise.
76714         * modules/getopt (Makefile.am): Likewise.
76715         * modules/getpagesize (Makefile.am): Likewise.
76716         * modules/getpass-gnu (Makefile.am): Likewise.
76717         * modules/getpass (Makefile.am): Likewise.
76718         * modules/getsubopt (Makefile.am): Likewise.
76719         * modules/gettime (Makefile.am): Likewise.
76720         * modules/gettimeofday (Makefile.am): Likewise.
76721         * modules/getugroups (Makefile.am): Likewise.
76722         * modules/getusershell (Makefile.am): Likewise.
76723         * modules/glob (Makefile.am): Likewise.
76724         * modules/group-member (Makefile.am): Likewise.
76725         * modules/hard-locale (Makefile.am): Likewise.
76726         * modules/hash (Makefile.am): Likewise.
76727         * modules/hmac-md5 (Makefile.am): Likewise.
76728         * modules/hmac-sha1 (Makefile.am): Likewise.
76729         * modules/human (Makefile.am): Likewise.
76730         * modules/idcache (Makefile.am): Likewise.
76731         * modules/imaxabs (Makefile.am): Likewise.
76732         * modules/imaxdiv (Makefile.am): Likewise.
76733         * modules/inet_ntop (Makefile.am): Likewise.
76734         * modules/inet_pton (Makefile.am): Likewise.
76735         * modules/intprops (Makefile.am): Likewise.
76736         * modules/inttostr (Makefile.am): Likewise.
76737         * modules/inttypes (Makefile.am): Likewise.
76738         * modules/isapipe (Makefile.am): Likewise.
76739         * modules/javaversion (Makefile.am): Likewise.
76740         * modules/lchmod (Makefile.am): Likewise.
76741         * modules/lchown (Makefile.am): Likewise.
76742         * modules/localcharset (Makefile.am): Likewise.
76743         * modules/long-options (Makefile.am): Likewise.
76744         * modules/lstat (Makefile.am): Likewise.
76745         * modules/malloc (Makefile.am): Likewise.
76746         * modules/mathl (Makefile.am): Likewise.
76747         * modules/mbchar (Makefile.am): Likewise.
76748         * modules/md2 (Makefile.am): Likewise.
76749         * modules/md4 (Makefile.am): Likewise.
76750         * modules/md5 (Makefile.am): Likewise.
76751         * modules/memcasecmp (Makefile.am): Likewise.
76752         * modules/memchr (Makefile.am): Likewise.
76753         * modules/memcmp (Makefile.am): Likewise.
76754         * modules/memcoll (Makefile.am): Likewise.
76755         * modules/memcpy (Makefile.am): Likewise.
76756         * modules/memmem (Makefile.am): Likewise.
76757         * modules/memmove (Makefile.am): Likewise.
76758         * modules/mempcpy (Makefile.am): Likewise.
76759         * modules/memrchr (Makefile.am): Likewise.
76760         * modules/memset (Makefile.am): Likewise.
76761         * modules/memxor (Makefile.am): Likewise.
76762         * modules/mkancesdirs (Makefile.am): Likewise.
76763         * modules/mkdir-p (Makefile.am): Likewise.
76764         * modules/mkdir (Makefile.am): Likewise.
76765         * modules/mkdtemp (Makefile.am): Likewise.
76766         * modules/mkstemp (Makefile.am): Likewise.
76767         * modules/mktime (Makefile.am): Likewise.
76768         * modules/modechange (Makefile.am): Likewise.
76769         * modules/mountlist (Makefile.am): Likewise.
76770         * modules/nanosleep (Makefile.am): Likewise.
76771         * modules/obstack (Makefile.am): Likewise.
76772         * modules/openat (Makefile.am): Likewise.
76773         * modules/pagealign_alloc (Makefile.am): Likewise.
76774         * modules/pathmax (Makefile.am): Likewise.
76775         * modules/physmem (Makefile.am): Likewise.
76776         * modules/poll (Makefile.am): Likewise.
76777         * modules/posixtm (Makefile.am): Likewise.
76778         * modules/posixver (Makefile.am): Likewise.
76779         * modules/putenv (Makefile.am): Likewise.
76780         * modules/quote (Makefile.am): Likewise.
76781         * modules/quotearg (Makefile.am): Likewise.
76782         * modules/raise (Makefile.am): Likewise.
76783         * modules/read-file (Makefile.am): Likewise.
76784         * modules/readline (Makefile.am): Likewise.
76785         * modules/readlink (Makefile.am): Likewise.
76786         * modules/readtokens (Makefile.am): Likewise.
76787         * modules/readutmp (Makefile.am): Likewise.
76788         * modules/realloc (Makefile.am): Likewise.
76789         * modules/regex (Makefile.am): Likewise.
76790         * modules/rename-dest-slash (Makefile.am): Likewise.
76791         * modules/rename (Makefile.am): Likewise.
76792         * modules/rijndael (Makefile.am): Likewise.
76793         * modules/rmdir (Makefile.am): Likewise.
76794         * modules/rpmatch (Makefile.am): Likewise.
76795         * modules/safe-read (Makefile.am): Likewise.
76796         * modules/safe-write (Makefile.am): Likewise.
76797         * modules/same-inode (Makefile.am): Likewise.
76798         * modules/same (Makefile.am): Likewise.
76799         * modules/save-cwd (Makefile.am): Likewise.
76800         * modules/savedir (Makefile.am): Likewise.
76801         * modules/setenv (Makefile.am): Likewise.
76802         * modules/settime (Makefile.am): Likewise.
76803         * modules/sha1 (Makefile.am): Likewise.
76804         * modules/sig2str (Makefile.am): Likewise.
76805         * modules/snprintf (Makefile.am): Likewise.
76806         * modules/stat-macros (Makefile.am): Likewise.
76807         * modules/stat-time (Makefile.am): Likewise.
76808         * modules/stdbool (Makefile.am): Likewise.
76809         * modules/stdint (Makefile.am): Likewise.
76810         * modules/stdlib-safer (Makefile.am): Likewise.
76811         * modules/stpcpy (Makefile.am): Likewise.
76812         * modules/stpncpy (Makefile.am): Likewise.
76813         * modules/strcase (Makefile.am): Likewise.
76814         * modules/strcasestr (Makefile.am): Likewise.
76815         * modules/strchrnul (Makefile.am): Likewise.
76816         * modules/strcspn (Makefile.am): Likewise.
76817         * modules/strdup (Makefile.am): Likewise.
76818         * modules/strerror (Makefile.am): Likewise.
76819         * modules/strftime (Makefile.am): Likewise.
76820         * modules/strndup (Makefile.am): Likewise.
76821         * modules/strnlen (Makefile.am): Likewise.
76822         * modules/strpbrk (Makefile.am): Likewise.
76823         * modules/strsep (Makefile.am): Likewise.
76824         * modules/strstr (Makefile.am): Likewise.
76825         * modules/strtod (Makefile.am): Likewise.
76826         * modules/strtoimax (Makefile.am): Likewise.
76827         * modules/strtok_r (Makefile.am): Likewise.
76828         * modules/strtol (Makefile.am): Likewise.
76829         * modules/strtoll (Makefile.am): Likewise.
76830         * modules/strtoul (Makefile.am): Likewise.
76831         * modules/strtoull (Makefile.am): Likewise.
76832         * modules/strtoumax (Makefile.am): Likewise.
76833         * modules/strverscmp (Makefile.am): Likewise.
76834         * modules/sys_socket (Makefile.am): Likewise.
76835         * modules/sys_stat (Makefile.am): Likewise.
76836         * modules/sysexits (Makefile.am): Likewise.
76837         * modules/time_r (Makefile.am): Likewise.
76838         * modules/timegm (Makefile.am): Likewise.
76839         * modules/timespec (Makefile.am): Likewise.
76840         * modules/tmpfile-safer (Makefile.am): Likewise.
76841         * modules/trim (Makefile.am): Likewise.
76842         * modules/unistd-safer (Makefile.am): Likewise.
76843         * modules/unlinkdir (Makefile.am): Likewise.
76844         * modules/unlocked-io (Makefile.am): Likewise.
76845         * modules/userspec (Makefile.am): Likewise.
76846         * modules/utime (Makefile.am): Likewise.
76847         * modules/utimecmp (Makefile.am): Likewise.
76848         * modules/utimens (Makefile.am): Likewise.
76849         * modules/vasnprintf (Makefile.am): Likewise.
76850         * modules/vasprintf (Makefile.am): Likewise.
76851         * modules/vsnprintf (Makefile.am): Likewise.
76852         * modules/xalloc (Makefile.am): Likewise.
76853         * modules/xgetcwd (Makefile.am): Likewise.
76854         * modules/xnanosleep (Makefile.am): Likewise.
76855         * modules/xreadlink (Makefile.am): Likewise.
76856         * modules/xstrtod (Makefile.am): Likewise.
76857         * modules/xstrtol (Makefile.am): Likewise.
76858         * modules/xstrtold (Makefile.am): Likewise.
76859         * modules/yesno (Makefile.am): Likewise.
76860         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
76861
76862 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
76863
76864         * modules/error (Makefile.am): Distribute files through
76865         EXTRA_DIST, not lib_SOURCES.
76866
76867 2006-10-12  Eric Blake  <ebb9@byu.net>
76868
76869         * modules/error (Makefile.am): Distribute files in /lib.
76870         * modules/obstack (Makefile.am): Likewise.
76871
76872 2006-10-12  Bruno Haible  <bruno@clisp.org>
76873
76874         * modules/acl (Makefile.am): Distribute all files in lib/ through
76875         EXTRA_DIST.
76876         * modules/arcfour (Makefile.am): Likewise.
76877         * modules/arctwo (Makefile.am): Likewise.
76878         * modules/argmatch (Makefile.am): Likewise.
76879         * modules/argz (Makefile.am): Likewise.
76880         * modules/atexit (Makefile.am): Likewise.
76881         * modules/backupfile (Makefile.am): Likewise.
76882         * modules/c-strtod (Makefile.am): Likewise.
76883         * modules/c-strtold (Makefile.am): Likewise.
76884         * modules/calloc (Makefile.am): Likewise.
76885         * modules/canon-host (Makefile.am): Likewise.
76886         * modules/canonicalize (Makefile.am): Likewise.
76887         * modules/chdir-long (Makefile.am): Likewise.
76888         * modules/chdir-safer (Makefile.am): Likewise.
76889         * modules/check-version (Makefile.am): Likewise.
76890         * modules/chown (Makefile.am): Likewise.
76891         * modules/cloexec (Makefile.am): Likewise.
76892         * modules/close-stream (Makefile.am): Likewise.
76893         * modules/closeout (Makefile.am): Likewise.
76894         * modules/crc (Makefile.am): Likewise.
76895         * modules/cycle-check (Makefile.am): Likewise.
76896         * modules/des (Makefile.am): Likewise.
76897         * modules/dirfd (Makefile.am): Likewise.
76898         * modules/dirname (Makefile.am): Likewise.
76899         * modules/dup2 (Makefile.am): Likewise.
76900         * modules/euidaccess (Makefile.am): Likewise.
76901         * modules/exclude (Makefile.am): Likewise.
76902         * modules/exitfail (Makefile.am): Likewise.
76903         * modules/fcntl-safer (Makefile.am): Likewise.
76904         * modules/file-type (Makefile.am): Likewise.
76905         * modules/fileblocks (Makefile.am): Likewise.
76906         * modules/filemode (Makefile.am): Likewise.
76907         * modules/filenamecat (Makefile.am): Likewise.
76908         * modules/fnmatch (Makefile.am): Likewise.
76909         * modules/fopen-safer (Makefile.am): Likewise.
76910         * modules/fpending (Makefile.am): Likewise.
76911         * modules/fprintftime (Makefile.am): Likewise.
76912         * modules/free (Makefile.am): Likewise.
76913         * modules/fsusage (Makefile.am): Likewise.
76914         * modules/ftruncate (Makefile.am): Likewise.
76915         * modules/fts (Makefile.am): Likewise.
76916         * modules/gc (Makefile.am): Likewise.
76917         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
76918         * modules/getaddrinfo (Makefile.am): Likewise.
76919         * modules/getcwd (Makefile.am): Likewise.
76920         * modules/getdelim (Makefile.am): Likewise.
76921         * modules/getdomainname (Makefile.am): Likewise.
76922         * modules/getgroups (Makefile.am): Likewise.
76923         * modules/gethostname (Makefile.am): Likewise.
76924         * modules/gethrxtime (Makefile.am): Likewise.
76925         * modules/getline (Makefile.am): Likewise.
76926         * modules/getloadavg (Makefile.am): Likewise.
76927         * modules/getlogin_r (Makefile.am): Likewise.
76928         * modules/getopt (Makefile.am): Likewise.
76929         * modules/getpass (Makefile.am): Likewise.
76930         * modules/getpass-gnu (Makefile.am): Likewise.
76931         * modules/getsubopt (Makefile.am): Likewise.
76932         * modules/gettime (Makefile.am): Likewise.
76933         * modules/gettimeofday (Makefile.am): Likewise.
76934         * modules/getugroups (Makefile.am): Likewise.
76935         * modules/getusershell (Makefile.am): Likewise.
76936         * modules/glob (Makefile.am): Likewise.
76937         * modules/group-member (Makefile.am): Likewise.
76938         * modules/hard-locale (Makefile.am): Likewise.
76939         * modules/hash (Makefile.am): Likewise.
76940         * modules/hmac-md5 (Makefile.am): Likewise.
76941         * modules/hmac-sha1 (Makefile.am): Likewise.
76942         * modules/human (Makefile.am): Likewise.
76943         * modules/idcache (Makefile.am): Likewise.
76944         * modules/imaxabs (Makefile.am): Likewise.
76945         * modules/imaxdiv (Makefile.am): Likewise.
76946         * modules/inet_ntop (Makefile.am): Likewise.
76947         * modules/inet_pton (Makefile.am): Likewise.
76948         * modules/inttostr (Makefile.am): Likewise.
76949         * modules/isapipe (Makefile.am): Likewise.
76950         * modules/lchown (Makefile.am): Likewise.
76951         * modules/long-options (Makefile.am): Likewise.
76952         * modules/lstat (Makefile.am): Likewise.
76953         * modules/malloc (Makefile.am): Likewise.
76954         * modules/mathl (Makefile.am): Likewise.
76955         * modules/mbchar (Makefile.am): Likewise.
76956         * modules/md2 (Makefile.am): Likewise.
76957         * modules/md4 (Makefile.am): Likewise.
76958         * modules/md5 (Makefile.am): Likewise.
76959         * modules/memcasecmp (Makefile.am): Likewise.
76960         * modules/memchr (Makefile.am): Likewise.
76961         * modules/memcmp (Makefile.am): Likewise.
76962         * modules/memcoll (Makefile.am): Likewise.
76963         * modules/memcpy (Makefile.am): Likewise.
76964         * modules/memmem (Makefile.am): Likewise.
76965         * modules/memmove (Makefile.am): Likewise.
76966         * modules/mempcpy (Makefile.am): Likewise.
76967         * modules/memrchr (Makefile.am): Likewise.
76968         * modules/memset (Makefile.am): Likewise.
76969         * modules/memxor (Makefile.am): Likewise.
76970         * modules/mkancesdirs (Makefile.am): Likewise.
76971         * modules/mkdir (Makefile.am): Likewise.
76972         * modules/mkdir-p (Makefile.am): Likewise.
76973         * modules/mkdtemp (Makefile.am): Likewise.
76974         * modules/mkstemp (Makefile.am): Likewise.
76975         * modules/mktime (Makefile.am): Likewise.
76976         * modules/modechange (Makefile.am): Likewise.
76977         * modules/mountlist (Makefile.am): Likewise.
76978         * modules/nanosleep (Makefile.am): Likewise.
76979         * modules/openat (Makefile.am): Likewise.
76980         * modules/pagealign_alloc (Makefile.am): Likewise.
76981         * modules/physmem (Makefile.am): Likewise.
76982         * modules/poll (Makefile.am): Likewise.
76983         * modules/posixtm (Makefile.am): Likewise.
76984         * modules/posixver (Makefile.am): Likewise.
76985         * modules/putenv (Makefile.am): Likewise.
76986         * modules/quote (Makefile.am): Likewise.
76987         * modules/quotearg (Makefile.am): Likewise.
76988         * modules/raise (Makefile.am): Likewise.
76989         * modules/read-file (Makefile.am): Likewise.
76990         * modules/readline (Makefile.am): Likewise.
76991         * modules/readlink (Makefile.am): Likewise.
76992         * modules/readtokens (Makefile.am): Likewise.
76993         * modules/readutmp (Makefile.am): Likewise.
76994         * modules/realloc (Makefile.am): Likewise.
76995         * modules/regex (Makefile.am): Likewise.
76996         * modules/rename (Makefile.am): Likewise.
76997         * modules/rename-dest-slash (Makefile.am): Likewise.
76998         * modules/rijndael (Makefile.am): Likewise.
76999         * modules/rmdir (Makefile.am): Likewise.
77000         * modules/rpmatch (Makefile.am): Likewise.
77001         * modules/safe-read (Makefile.am): Likewise.
77002         * modules/safe-write (Makefile.am): Likewise.
77003         * modules/same (Makefile.am): Likewise.
77004         * modules/save-cwd (Makefile.am): Likewise.
77005         * modules/savedir (Makefile.am): Likewise.
77006         * modules/setenv (Makefile.am): Likewise.
77007         * modules/settime (Makefile.am): Likewise.
77008         * modules/sha1 (Makefile.am): Likewise.
77009         * modules/sig2str (Makefile.am): Likewise.
77010         * modules/snprintf (Makefile.am): Likewise.
77011         * modules/stdlib-safer (Makefile.am): Likewise.
77012         * modules/stpcpy (Makefile.am): Likewise.
77013         * modules/stpncpy (Makefile.am): Likewise.
77014         * modules/strcase (Makefile.am): Likewise.
77015         * modules/strcasestr (Makefile.am): Likewise.
77016         * modules/strchrnul (Makefile.am): Likewise.
77017         * modules/strcspn (Makefile.am): Likewise.
77018         * modules/strdup (Makefile.am): Likewise.
77019         * modules/strerror (Makefile.am): Likewise.
77020         * modules/strftime (Makefile.am): Likewise.
77021         * modules/strndup (Makefile.am): Likewise.
77022         * modules/strnlen (Makefile.am): Likewise.
77023         * modules/strpbrk (Makefile.am): Likewise.
77024         * modules/strsep (Makefile.am): Likewise.
77025         * modules/strstr (Makefile.am): Likewise.
77026         * modules/strtod (Makefile.am): Likewise.
77027         * modules/strtoimax (Makefile.am): Likewise.
77028         * modules/strtok_r (Makefile.am): Likewise.
77029         * modules/strtol (Makefile.am): Likewise.
77030         * modules/strtoll (Makefile.am): Likewise.
77031         * modules/strtoul (Makefile.am): Likewise.
77032         * modules/strtoull (Makefile.am): Likewise.
77033         * modules/strtoumax (Makefile.am): Likewise.
77034         * modules/strverscmp (Makefile.am): Likewise.
77035         * modules/time_r (Makefile.am): Likewise.
77036         * modules/timegm (Makefile.am): Likewise.
77037         * modules/tmpfile-safer (Makefile.am): Likewise.
77038         * modules/unistd-safer (Makefile.am): Likewise.
77039         * modules/unlinkdir (Makefile.am): Likewise.
77040         * modules/userspec (Makefile.am): Likewise.
77041         * modules/utime (Makefile.am): Likewise.
77042         * modules/utimecmp (Makefile.am): Likewise.
77043         * modules/utimens (Makefile.am): Likewise.
77044         * modules/vasnprintf (Makefile.am): Likewise.
77045         * modules/vasprintf (Makefile.am): Likewise.
77046         * modules/vsnprintf (Makefile.am): Likewise.
77047         * modules/xalloc (Makefile.am): Likewise.
77048         * modules/xgetcwd (Makefile.am): Likewise.
77049         * modules/xnanosleep (Makefile.am): Likewise.
77050         * modules/xreadlink (Makefile.am): Likewise.
77051         * modules/xstrtod (Makefile.am): Likewise.
77052         * modules/xstrtol (Makefile.am): Likewise.
77053         * modules/xstrtold (Makefile.am): Likewise.
77054         * modules/yesno (Makefile.am): Likewise.
77055
77056 2006-10-12  Jim Meyering  <jim@meyering.net>
77057
77058         * m4/getloadavg.m4: Revert the change below.
77059
77060         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
77061         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
77062         fail with a symlink, which is what coreutils' ./bootstrap now
77063         creates by default.
77064
77065 2006-10-12  Bruno Haible  <bruno@clisp.org>
77066
77067         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
77068         mingw.
77069         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
77070         MSVC and mingw explicitly.
77071
77072 2006-10-11  Simon Josefsson  <jas@extundo.com>
77073             Bruno Haible  <bruno@clisp.org>
77074
77075         Add support for multiple gnulib-tool invocations in the scope of a
77076         single configure.ac file.
77077         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
77078         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
77079         with the same contents as the _LIBADD variable.
77080         (func_emit_initmacro_start, func_emit_initmacro_end,
77081         func_emit_initmacro_done): New functions.
77082         (func_import, func_create_testdir): Invoke them. Allow the identifiers
77083         gl_LIBOBJS and gl_LTLIBOBJS.
77084
77085 2006-10-11  Bruno Haible  <bruno@clisp.org>
77086
77087         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
77088         (func_create_testdir): Don't create po/Makefile.am, don't invoke
77089         autoreconf. Instead, invoke autopoint explicitly but move back the
77090         *.m4 files from gnulib.
77091
77092 2006-10-11  Bruno Haible  <bruno@clisp.org>
77093
77094         * gnulib-tool (func_usage): Make module names after --create-testdir
77095         optional.
77096         (func_create_testdir): If no module was specified, use nearly all
77097         modules.
77098
77099 2006-10-12  Jim Meyering  <jim@meyering.net>
77100
77101         Big performance improvement for fts-based tools that use FTS_NOSTAT.
77102         Avoid spurious inode-mismatch problems on non-POSIX file systems.
77103         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
77104         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
77105         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
77106         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
77107         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
77108         (fts_set_stat_required): New function.
77109         (fts_open): Defer the calls to fts_stat, if possible or requested.
77110         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
77111         into fts_stat itself.
77112         (fts_read): Perform any required (deferred) fts_stat call.
77113         (fts_build): Likewise, for the directory we're about to open and read.
77114         In the readdir loop, carefully decide whether each entry will require
77115         an eventual call to fts_stat, using dirent.d_type info if available.
77116         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
77117         a command line argument into this function.  Update all callers.
77118         Map a return value of FTS_DOT to FTS_D for a command line argument.
77119         * modules/fts (Depends-on): Add d-type.  Alphabetize.
77120         Thanks to Miklos Szeredi for his tenacity and for the initial
77121         bug report about "find" failing on a FUSE-based file system.
77122
77123         * lib/fts.c (fts_open): Use consistent indentation.
77124
77125 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
77126
77127         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
77128         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
77129         reported by Jim Meyering.  All uses of cache variables renamed
77130         to match Autoconf's.
77131         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
77132         the other one.
77133
77134         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
77135         Fix misspelling in diagnostic.
77136
77137 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77138
77139         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
77140         defined.  Problem reported by Matthew Woehlke.
77141
77142         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
77143         Add support for Tandem NonStop R series.
77144         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
77145         Use new macro.
77146
77147         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
77148         (has_trailing_slash): Omit size arg; all callers changed.
77149         Omit 'inline', since it doesn't help performance and we'd
77150         need to configure it.
77151         Don't count //, ///, etc. as having a trailing slash.
77152         As a side effect, this removes a C99ism reported by Matthew Woehlke.
77153         (rpl_rename_dest_slash): On failure, use rename's errno rather
77154         than (in some cases) an incorrect or junk errno.
77155         Simplify code by removing need to compute length; this does
77156         cause it to make two passes instead of one over the file name,
77157         but it's worth it.
77158
77159         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
77160         change, since Autoconf's version may no longer be appropriate now
77161         that we are using CVS Autoconf's version.  Add support for Tandem.
77162
77163 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77164             Bruno Haible  <bruno@clisp.org>
77165
77166         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
77167         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
77168         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
77169         gl_AC_TYPE_LONG_LONG.
77170
77171         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
77172         instead of HAVE_LONG_LONG.
77173         * lib/printf-args.c (printf_fetchargs): Likewise.
77174         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
77175         * lib/vasnprintf.c (VASNPRINTF): Likewise.
77176         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
77177         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
77178         gl_AC_TYPE_LONG_LONG.
77179
77180 2006-10-11  Bruno Haible  <bruno@clisp.org>
77181
77182         * m4/longlong.m4: Add comments.
77183         * m4/ulonglong.m4: Likewise.
77184
77185 2006-10-10  Bruno Haible  <bruno@clisp.org>
77186
77187         Make it possible to #define stpcpy, strdup to aliases.
77188         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
77189         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
77190
77191 2006-10-10  Bruno Haible  <bruno@clisp.org>
77192
77193         Make it possible to #define gcd to an alias.
77194         * lib/gcd.c: Include config.h.
77195
77196 2006-10-10  Bruno Haible  <bruno@clisp.org>
77197
77198         Make it possible to #define c_isascii to an alias.
77199         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
77200         defined. Undefine the macros before defining them, to avoid gcc
77201         warnings.
77202         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
77203         define NO_C_CTYPE_MACROS early.
77204
77205 2006-10-10  Bruno Haible  <bruno@clisp.org>
77206
77207         Make it possible to #define set_program_name to an alias.
77208         * lib/progname.c: Don't undefine set_program_name; instead, undefine
77209         ENABLE_RELOCATABLE early.
77210
77211 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
77212
77213         Port to Tandem NSK OSS, which has 64-bit signed int but at most
77214         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
77215         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
77216         More generally, don't assume that 64-bit signed int is available
77217         if unsigned int is, and vice versa.
77218         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
77219         unsigned symbols, not on their signed counterparts.
77220         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
77221         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
77222         (UINT64_C, UINTMAX_C):
77223         Likewise.
77224         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
77225         unsigned counterparts.
77226         (Have_long_long, Unsigned): New macros.
77227         (Int): Renamed from INT.
77228         (strtoimax): Use the new macros.
77229         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
77230         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
77231         * modules/inttypes (inttypes.h): Substitute
77232         HAVE_UNSIGNED_LONG_LONG_INT.
77233         * modules/stdint (stdint.h): Likewise.
77234         (Files): Add m4/ulonglong.m4.
77235
77236 2006-10-10  Bruno Haible  <bruno@clisp.org>
77237
77238         Fix a gcc -Wshadow warning.
77239         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
77240         to 'bucket'.
77241         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
77242         gl_linked_indexof_from_to): Likewise.
77243         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
77244         Likewise.
77245         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
77246         Likewise.
77247         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
77248         Reported by Eric Blake.
77249
77250 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
77251
77252         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
77253         for NetBSD.  Problem reported by Bruno Haible.
77254
77255 2006-10-09  Jim Meyering  <jim@meyering.net>
77256
77257         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
77258         Patch from Bruno Haible.
77259
77260 2006-10-09  Jim Meyering  <jim@meyering.net>
77261
77262         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
77263         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
77264         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
77265
77266 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
77267
77268         Don't include <config.h> twice; this doesn't work in some cases,
77269         e.g., when config.h has "#define intmax_t long long int" and
77270         we include <config.h>, <inttypes.h>, <config.h> in that order.
77271         Problem reported by Matthew Woehlke in:
77272         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
77273         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
77274         * lib/fts-cycle.c: Don't include config.h.
77275         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
77276         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
77277         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
77278         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
77279         inttypes.h.
77280         * lib/xstrtoumax.c: Likewise.
77281         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
77282         __strtol and the like, so that this module is more like its siblings.
77283         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
77284         Remove; no longer needed now that we assume gnulib inttypes.h.
77285
77286 2006-10-08  Bruno Haible  <bruno@clisp.org>
77287
77288         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
77289         option.
77290
77291 2006-10-07  Jim Meyering  <jim@meyering.net>
77292
77293         * modules/inttypes (inttypes.h): Revert what seems to have been
77294         an inadvertent part of today's change: use "|", not "/" in the
77295         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
77296
77297 2006-10-07  Bruno Haible  <bruno@clisp.org>
77298
77299         * modules/sublist: New file.
77300
77301 2006-10-07  Bruno Haible  <bruno@clisp.org>
77302
77303         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
77304         * modules/argz (argz.h): Likewise.
77305         * modules/arpa_inet (arpa/inet.h): Likewise.
77306         * modules/byteswap (byteswap.h): Likewise.
77307         * modules/configmake (configmake.h): Likewise.
77308         * modules/fcntl (fcntl.h): Likewise.
77309         * modules/fnmatch (fnmatch.h): Likewise.
77310         * modules/getopt (getopt.h): Likewise.
77311         * modules/glob (glob.h): Likewise.
77312         * modules/inttypes (inttypes.h): Likewise.
77313         * modules/netinet_in (netinet/in.h): Likewise.
77314         * modules/poll (poll.h): Likewise.
77315         * modules/stdbool (stdbool.h): Likewise.
77316         * modules/stdint (stdint.h): Likewise.
77317         * modules/sys_select (sys/select.h): Likewise.
77318         * modules/sys_socket (sys/socket.h): Likewise.
77319         * modules/sys_stat (sys/stat.h): Likewise.
77320         * modules/sysexits (sysexits.h): Likewise.
77321         * modules/unistd (unistd.h): Likewise.
77322         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77323         Add a "DO NOT EDIT" comment to the generated file.
77324         (func_import): Likewise for gnulib-comp.m4.
77325
77326 2006-10-07  Bruno Haible  <bruno@clisp.org>
77327
77328         * lib/gl_sublist.h: New file.
77329         * lib/gl_sublist.c: New file.
77330
77331 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
77332
77333         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
77334         name (relative to the original working directory) and the file
77335         name component (relative to the temporary working directory).  All
77336         callers changed.
77337         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
77338         * lib/mkdir-p.c (make_dir_parents): Likewise.
77339         * lib/mkdir-p.h (make_dir_parents): Likewise.
77340
77341 2006-10-06  Eric Blake  <ebb9@byu.net>
77342
77343         Define several macros for use by the clean-temp module.
77344         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
77345         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
77346         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
77347
77348         * lib/clean-temp.h (close_stream_temp): New declaration.
77349         * lib/clean-temp.c (includes): Pull in headers according to what
77350         other modules are in use.
77351         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
77352
77353 2006-10-06  Bruno Haible  <bruno@clisp.org>
77354
77355         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
77356         instead of fopen, fwriteerror.
77357
77358 2006-10-06  Bruno Haible  <bruno@clisp.org>
77359
77360         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
77361         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
77362         int.
77363         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
77364         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
77365         Return an error indicator.
77366         Suggested by Eric Blake.
77367
77368 2006-10-06  Bruno Haible  <bruno@clisp.org>
77369
77370         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
77371         Reported by Eric Blake.
77372
77373 2006-10-06  Bruno Haible  <bruno@clisp.org>
77374
77375         * modules/closeout (Description): Mention stderr too.
77376
77377 2006-10-06  Bruno Haible  <bruno@clisp.org>
77378         and Paul Eggert  <eggert@cs.ucla.edu>
77379
77380         * lib/closeout.c (close_stdout): Also close stderr.
77381         * lib/closeout.h: Update comment.
77382
77383 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
77384
77385         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
77386         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
77387         * lib/dirchownmod.c: Include lchown.h.
77388         * lib/lchown.c: Don't include files that lchown.h now includes.
77389         Don't declare chown, since lchown.h now does that.
77390         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
77391         (lchown): Define to rpl_chown if lchown is declared but
77392         does not exist.  Declare using a prototype if lchown is not
77393         declared.  Add a copyright notice.
77394         * lib/mkstemp.h: Include <unistd.h>.
77395         * lib/openat.c: Include lchown.h.
77396
77397         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
77398         we now test for that separately.
77399         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
77400         rather than O_NOFOLLOW, when testing whether it's possible to
77401         avoid a race condition reliably.
77402         * lib/savewd.c (savewd_chdir): Likewise.
77403
77404         Remove macros that are no longer needed now that stdint.h is
77405         reliable.
77406         * lib/fsusage.c (UINTMAX_MAX): Remove.
77407         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
77408         * lib/utimecmp.c (SIZE_MAX): Remove.
77409
77410         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
77411
77412         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
77413         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
77414         O_NOATIME works.
77415
77416 2006-10-05  Bruno Haible  <bruno@clisp.org>
77417
77418         * lib/gl_list.h (gl_sortedlist_search_from_to,
77419         gl_sortedlist_indexof_from_to): New declarations.
77420         (gl_list_implementation): New fields sortedlist_search_from_to,
77421         sortedlist_indexof_from_to.
77422         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
77423         inline functions.
77424         * lib/gl_list.c (gl_sortedlist_search_from_to,
77425         gl_sortedlist_indexof_from_to): New functions.
77426         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
77427         function.
77428         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
77429         (gl_array_sortedlist_search_from_to): New function.
77430         (gl_array_list_implementation): Update.
77431         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
77432         function.
77433         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
77434         (gl_carray_sortedlist_search_from_to): New function.
77435         (gl_carray_list_implementation): Update.
77436         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
77437         gl_linked_sortedlist_indexof_from_to): New functions.
77438         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77439         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77440         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
77441         gl_tree_sortedlist_indexof_from_to): New functions.
77442         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77443         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77444         Update.
77445         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77446         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
77447         Update.
77448
77449 2006-10-05  Bruno Haible  <bruno@clisp.org>
77450
77451         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
77452         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
77453         (struct gl_list_implementation): Add fields search_from_to,
77454         indexof_from_to. Remove fields search, indexof.
77455         (gl_list_search): Use the search_from_to method.
77456         (gl_list_search_from, gl_list_search_from_to): New functions.
77457         (gl_list_indexof): Use the indexof_from_to method.
77458         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77459         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
77460         (gl_list_search_from, gl_list_search_from_to): New functions.
77461         (gl_list_indexof): Use the indexof_from_to method.
77462         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77463         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
77464         gl_array_indexof. Add start_index, end_index arguments.
77465         (gl_array_search_from_to): Renamed from gl_array_search. Add
77466         start_index, end_index arguments.
77467         (gl_array_remove, gl_array_list_implementation): Update.
77468         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
77469         gl_carray_indexof. Add start_index, end_index arguments.
77470         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
77471         start_index, end_index arguments.
77472         (gl_carray_remove, gl_carray_list_implementation): Update.
77473         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
77474         gl_linked_search. Add start_index, end_index arguments.
77475         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
77476         start_index, end_index arguments.
77477         (gl_linked_remove): Update.
77478         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77479         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77480         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
77481         field to 'size_t'.
77482         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
77483         gl_tree_search. Add start_index, end_index arguments.
77484         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77485         start_index, end_index arguments.
77486         (gl_tree_remove): Update.
77487         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77488         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77489         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
77490         function.
77491         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
77492         gl_tree_search. Add start_index, end_index arguments.
77493         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77494         start_index, end_index arguments.
77495         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77496         Update.
77497         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
77498
77499 2006-10-05  Bruno Haible  <bruno@clisp.org>
77500
77501         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
77502
77503         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
77504         fwriteerror_temp): New declarations.
77505         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
77506         (descriptors): New variable.
77507         (cleanup): First, close the descriptors.
77508         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
77509         fclose_temp, fwriteerror_temp): New functions.
77510
77511 2006-10-04  Jim Meyering  <jim@meyering.net>
77512
77513         * lib/fts.c (fts_open): Tiny comment change.
77514
77515 2006-10-04  Bruno Haible  <bruno@clisp.org>
77516
77517         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
77518         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
77519         gl_LOCK_BODY.
77520         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
77521         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
77522         gl_LOCK_EARLY_BODY.
77523         (gl_LOCK): Require gl_LOCK_BODY.
77524
77525 2006-10-04  Bruno Haible  <bruno@clisp.org>
77526
77527         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
77528         (gl_oset_search_atleast): New declaration.
77529         (struct gl_oset_implementation): Add field 'search_atleast'.
77530         (gl_oset_search_atleast): New inline function.
77531         * lib/gl_oset.c (gl_oset_search_atleast): New function.
77532         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
77533         (gl_array_oset_implementation): Update.
77534         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
77535         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
77536         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
77537
77538 2006-10-04  Bruno Haible  <bruno@clisp.org>
77539
77540         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
77541
77542 2006-10-03  Bruno Haible  <bruno@clisp.org>
77543
77544         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
77545         from gl_avltreehash_list_implementation.
77546
77547 2006-10-03  Bruno Haible  <bruno@clisp.org>
77548
77549         * lib/gl_oset.c (gl_oset_add): Fix return type.
77550
77551 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
77552
77553         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
77554
77555 2006-10-02  Eric Blake  <ebb9@byu.net>
77556
77557         * modules/strnlen (Depends-on): Add extensions.
77558
77559 2006-10-02  Eric Blake  <ebb9@byu.net>
77560
77561         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
77562         definition in 2.60+.
77563
77564 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
77565
77566         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
77567         checks.
77568
77569 2006-10-02  Bruno Haible  <bruno@clisp.org>
77570
77571         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
77572         to the AUTOMAKE_OPTIONS.
77573         Reported by Jim Meyering.
77574
77575 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
77576
77577         Work around bug in Solaris 10 /proc file system:
77578         /proc/self/fd/NNN/.. isn't the parent directory of
77579         the directory whose file descriptor is NNN.  This needs to
77580         be worked around at run time, not compile time, since a
77581         program might be built on Solaris 8, where things work, and
77582         run on Solaris 10.
77583         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
77584         to use the following interface instead:
77585         (OPENAT_BUFFER_SIZE): New macro.
77586         (openat_proc_name): New function.
77587         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
77588         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
77589         Likewise.
77590         * lib/openat-proc.c: New file.
77591         * modules/openat (Files): Add lib/openat-proc.c.
77592         (Depends-on): Add same-inode, stdbool.
77593         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
77594
77595 2006-09-29  Bruno Haible  <bruno@clisp.org>
77596
77597         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
77598         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
77599         argument. Set stdout_closed before testing for ferror, not after.
77600         (fwriteerror, fwriteerror_no_ebadf): New functions.
77601
77602 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77603
77604         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
77605
77606 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
77607
77608         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
77609         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
77610
77611 2006-09-28  Jim Meyering  <jim@meyering.net>
77612
77613         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
77614         Include <unistd.h>.
77615
77616 2006-09-28  Bruno Haible  <bruno@clisp.org>
77617
77618         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
77619         * modules/linkedhash-list (Depends-on): Likewise.
77620         * modules/rbtreehash-list (Depends-on): Likewise.
77621
77622 2006-09-28  Bruno Haible  <bruno@clisp.org>
77623
77624         * lib/strndup.h: Simplify the redefinition of strndup.
77625         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
77626         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
77627
77628 2006-09-28  Bruno Haible  <bruno@clisp.org>
77629
77630         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
77631         * lib/gl_linkedhash_list.c: Likewise.
77632         * lib/gl_rbtreehash_list.c: Likewise.
77633
77634 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
77635
77636         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
77637         getaddrinfo.
77638
77639         * lib/__fpending.h: Don't include <stdio_ext.h> unless
77640         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
77641         it causes <stdio_ext.h> to cause a compile-time error.
77642         Problem reported by Nelson H. F. Beebe.
77643         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
77644         of HAVE_DECL___PENDING.
77645
77646         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
77647         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
77648         declaration.
77649
77650 2006-09-27  Jim Meyering  <jim@meyering.net>
77651
77652         This file could end up with a definition for a function
77653         named __strndup, rather than rpl_strndup on a system with
77654         incomplete weak_alias support.
77655         * lib/strndup.c (strndup): Rename from __strndup.
77656         Remove #defines that used to map __strndup to strndup.
77657         Don't use K&R prototypes.
77658         Remove LIBC-related code, since this file is not sync'd with glibc.
77659         * lib/strndup.h: Revamp, accordingly.
77660         * m4/strndup.m4: Modernize.
77661
77662 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
77663
77664         * modules/savewd (Depends-on): Add 'raise'.
77665         * lib/savewd.c: Include <signal.h>, for 'raise'.
77666
77667 2006-09-26  Jim Meyering  <jim@meyering.net>
77668
77669         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
77670         when we detect Darwin 8.7.0's acl_get_file bug.
77671         Rearrange to perform the new (below) run-test while $LIBS
77672         contains any acl-related library.  Set USE_ACL at the end.
77673         (gl_ACL_GET_FILE): New function.
77674
77675 2006-09-26  Eric Blake  <ebb9@byu.net>
77676
77677         * lib/verror.c: Include <config.h> unconditionally.
77678
77679 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
77680
77681         * modules/clock-time (Maintainer): Add self.
77682         * modules/getlogin_r (Depends-on): Add extensions.
77683
77684 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77685
77686         * modules/clock-time: New module.
77687         * modules/nanosleep (Depends-on): Add clock-time.
77688         * modules/gethrxtime (Depends-on): Likewise.
77689         * modules/gettime (Depends-on): Likewise.
77690         * modules/settime (Depends-on): Likewise.
77691
77692         * modules/fts-lgpl: Depend on openat.
77693         * modules/mkancesdirs: Depend on savewd.
77694         * modules/mkdir-p: Likewise.
77695
77696 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77697
77698         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
77699
77700         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
77701         `gl_have_arbitrary_file_name_length_limit' to
77702         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
77703         actually works between configure runs.
77704
77705 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77706             Bruno Haible  <bruno@clisp.org>
77707
77708         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
77709
77710 2006-09-25  Jim Meyering  <jim@meyering.net>
77711
77712         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
77713         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
77714
77715 2006-09-25  Eric Blake  <ebb9@byu.net>
77716
77717         * gnulib-tool (func_import, func_create_testdir): Fix typos in
77718         exec's in 2006-09-18 patch when shuffling fds.
77719
77720 2006-09-25  Bruno Haible  <bruno@clisp.org>
77721
77722         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
77723         Reported by Jim Meyering.
77724
77725 2006-09-24  Jim Meyering  <jim@meyering.net>
77726
77727         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
77728         compare a pointer against a literal "0".  That caused failures with
77729         at least HP-UX's hpcc.
77730
77731 2006-09-22  Simon Josefsson  <jas@extundo.com>
77732
77733         * modules/gc-sha1:
77734         * modules/gc-md4:
77735         * modules/gc-hmac-sha1:
77736         * modules/gc-hmac-md5:
77737         * modules/gc-des:
77738         * modules/gc-arcfour: Distribute more files.
77739
77740 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77741
77742         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
77743         (gl_linked_iterator_from_to): Initialize struct completely.
77744         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
77745         (gl_tree_iterator_from_to): Likewise
77746         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
77747         * lib/gl_array_list.c [lint] (gl_array_iterator)
77748         (gl_array_iterator_from_to): Likewise.
77749         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
77750         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
77751         (gl_carray_iterator_from_to): Likewise.
77752
77753         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
77754         * lib/md4.c (md4_process_block): Remove unused variable.
77755         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
77756         parentheses for clarity.
77757
77758 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77759
77760         * modules/bison-i18n (Depends-on): Add gettext.
77761
77762 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77763
77764         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
77765         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
77766         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
77767         also add missing comma that caused broken test.
77768         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
77769         stdlib.h, for `abort'.
77770         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
77771         variables.
77772         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
77773         include unistd.h if present, for `rmdir'.
77774         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
77775         variables.
77776         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
77777         in the process include standard headers for prototypes.
77778         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
77779         gets declared on GNU/Linux.
77780         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
77781         unistd.h, for `rmdir'.
77782         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
77783
77784         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
77785         always true.
77786         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
77787
77788         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
77789
77790 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77791
77792         * gnulib-tool (func_version): Create output all at once.  This
77793         may help avoid triggering unnecessary SIGPIPEs, and at any
77794         rate it doesn't hurt.
77795
77796 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77797             Bruno Haible  <bruno@clisp.org>
77798
77799         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
77800         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
77801         * m4/signed.m4 (bh_C_SIGNED): Likewise.
77802
77803         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
77804         (gl_FUNC_VASPRINTF): Invoke it.
77805
77806 2006-09-22  Bruno Haible  <bruno@clisp.org>
77807
77808         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
77809         getloadavg.c as first argument.
77810
77811 2006-09-22  Bruno Haible  <bruno@clisp.org>
77812
77813         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
77814         at the beginning of the gl_INIT macro.
77815         * modules/getloadavg (configure.ac): Pass $gl_source_base to
77816         gl_GETLOADAVG.
77817
77818 2006-09-22  Bruno Haible  <bruno@clisp.org>
77819
77820         * gnulib-tool (func_create_megatestdir): Don't include the config-h
77821         module.
77822         Suggested by Ralf Wildenhues.
77823
77824 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
77825
77826         Import this patch from libc:
77827
77828         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
77829
77830         * lib/regex_internal.c (re_string_reconstruct): Handle
77831         offset < pstr->valid_raw_len && pstr->offsets_needed case.
77832         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
77833         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
77834         re_string_context_at.
77835
77836         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
77837         now requires it.
77838         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
77839         gl_REGEX now does it for us.
77840         (gl_REGEX): Add test taken from
77841         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
77842
77843         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
77844         Check that large offsets work.  Modernize Autoconf usages.
77845         Prefer "yes" to mean a good thing rather than a bad.
77846         Don't put "#define mkstemp" in config.h, as this might interfere
77847         with standard system headers that "#define mkstemp mkstemp64".
77848
77849         * modules/mkstemp (Depends-on): Add extensions, so that
77850         mkstemp is visible on some platforms.
77851         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
77852         (Include): Change to "mkstemp.h" from <stdlib.h>.
77853         (Files): Add mkstemp.h.
77854
77855         * lib/mkstemp.h: New file, since some standard headers
77856         #define mkstemp.
77857         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
77858         Include "mkstemp.h".
77859         Make the _LIBC code resemble glibc original more,
77860         e.g., use K&R style.
77861         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
77862         (mkstemp): Remove, since mkstemp.h does this for us.
77863         * lib/stdlib--.h: Include mkstemp.h.
77864
77865         Import this patch from libc:
77866
77867         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
77868
77869         * lib/tempname.c (__gen_tempname): Change attempts_min
77870         into a macro.  Use preprocessor to decide how to initialize
77871         attempts [Coverity CID 67].
77872
77873 2006-09-20  Bruno Haible  <bruno@clisp.org>
77874
77875         * lib/mkdtemp.c: Import from libc.
77876         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
77877                 * sysdeps/posix/tempname.c (__gen_tempname): Change
77878                 attempts_min into a macro.  Use preprocessor to decide how to
77879                 initialize attempts [Coverity CID 67].
77880         2001-11-27  Paul Eggert  <eggert@twinsun.com>
77881                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
77882                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
77883
77884 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77885
77886         * gnulib-tool (func_exit): New function, to allow to pass the
77887         exit status portably through the trap.  Use everywhere.
77888         (--help, --version): Signal a write error.
77889         (trap): catch SIGPIPE, for write errors.
77890         Exit at the end of the trap, with the correct exit status.
77891
77892 2006-09-19  Karl Berry  <karl@gnu.org>
77893
77894         * doc/gnulib.texi: note about the license texinfo files.
77895
77896 2006-09-19  Eric Blake  <ebb9@byu.net>
77897
77898         * gnulib-tool: Avoid space-tab.
77899
77900 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
77901
77902         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
77903         that prevented coreutils 6.1 from building.  Problem reported
77904         by Petter Reinholdtsen.
77905
77906 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
77907
77908         * gnulib-tool (avoidlist): Fix typo that broke options like
77909         --avoid=lock that are used by coreutils bootstrap.
77910
77911 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
77912
77913         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
77914         more systematically.
77915
77916 2006-09-18  Jim Meyering  <jim@meyering.net>
77917
77918         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
77919
77920 2006-09-18  Bruno Haible  <bruno@clisp.org>
77921
77922         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
77923
77924 2006-09-18  Bruno Haible  <bruno@clisp.org>
77925
77926         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
77927         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
77928         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
77929         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
77930         * m4/gettext.m4: Require autoconf >= 2.52.
77931         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
77932         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
77933         of gl_cv_header_inttypes_h.
77934
77935 2006-09-18  Bruno Haible  <bruno@clisp.org>
77936
77937         * lib/javaversion.c: Include configmake.h.
77938
77939 2006-09-18  Bruno Haible  <bruno@clisp.org>
77940
77941         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
77942         avoid that the while loops be executed in a subshell.
77943
77944 2006-09-18  Bruno Haible  <bruno@clisp.org>
77945
77946         * MODULES.html.sh (func_module): Break long lines.
77947         Suggested by Bruce Korb <bkorb@gnu.org>.
77948
77949 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77950
77951         Speed up by a factor of 1.12.
77952         * gnulib-tool (nl): New variable.
77953         (func_import): Rewrite include directive extraction to only read each
77954         directive once.
77955
77956 2006-09-17  Bruno Haible  <bruno@clisp.org>
77957
77958         * modules/javaversion (Makefile.am): Remove DEFS setting.
77959         (Depends-on): Add configmake, for PKGDATADIR definition.
77960
77961 2006-09-17  Bruno Haible  <bruno@clisp.org>
77962
77963         * gnulib-tool (func_create_testdir): Rewrite all files at once.
77964
77965 2006-09-17  Bruno Haible  <bruno@clisp.org>
77966
77967         * gnulib-tool (func_append): New function, stolen from libtool.m4.
77968         (func_modules_transitive_closure, func_modules_add_dummy,
77969         func_modules_to_filelist, func_import, func_create_testdir,
77970         func_create_megatestdir, ...): Use it wherever possible.
77971         Suggested by Ralf Wildenhues.
77972
77973 2006-09-16  Karl Berry  <karl@gnu.org>
77974
77975         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
77976         to avoid sectioning errors.
77977         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
77978         [ifinfo]: blank line after @center-ed titles.
77979         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
77980         Spell FSF address consistently with others.
77981         (These changes approved by rms.)
77982
77983 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77984
77985         Speed up by a factor of 1.61.
77986         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
77987         already checked module names again.
77988
77989 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77990
77991         Speed up by a factor of 1.13.
77992         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
77993         for new_files, and the input to func_add_or_update.
77994
77995 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77996
77997         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
77998         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
77999
78000 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78001
78002         * modules/mkancesdirs (Depends-on): Add fcntl.
78003         * modules/savewd: New file.
78004         * MODULES.html.sh (File system functions): Add savewd.
78005
78006         * modules/configmake (Makefile.am): Add support for the
78007         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
78008
78009 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78010
78011         * m4/savewd.m4: New file.
78012
78013 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78014
78015         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
78016         (dirchownmod): New arg FD.  All callers changed.
78017         Use FD rather than opening the directory ourself, as opening is
78018         now the caller's responsibility.
78019         * lib/dirchownmod.h: Likewise.
78020         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
78021         hosts that require <sys/types.h> before <sys/stat.h>.  Include
78022         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
78023         (test_dir): Remove.
78024         (mkancesdirs): Return length of prefix of FILE that has already
78025         been made, or -2 if there is a child doing the work.  Redo
78026         algorithm so that it is O(N) rather than O(N**2).  Optimize away
78027         ".", and treat ".." specially since it might stray back into
78028         already-created areas.  Use a subprocess if necessary.  New arg
78029         WD; all users changed.  MAKE_DIR function should now return 1
78030         if it creates a directory that is not readable.  Return -2 if
78031         a child process is spun off.
78032         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
78033         Adjust signature to match code.
78034         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
78035         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
78036         all users changed.
78037         * lib/savewd.c, lib/savewd.h: New files.
78038
78039 2006-09-15  Jim Meyering  <jim@meyering.net>
78040
78041         * modules/rename-dest-slash: New module.
78042         * MODULES.html.sh (posix_compat): Add it here.
78043
78044         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
78045
78046 2006-09-15  Jim Meyering  <jim@meyering.net>
78047
78048         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
78049         file.
78050
78051         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
78052
78053 2006-09-15  Jim Meyering  <jim@meyering.net>
78054
78055         * lib/rename-dest-slash.c (has_trailing_slash): Use
78056         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
78057         (rpl_rename_dest_slash): Perform the cheaper trailing slash
78058         test before testing whether SRC is a directory.
78059         Suggestions from Bruno Haible.
78060
78061         Avoid a warning about an unused variable.
78062         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
78063         into the #ifdef block where it's used.
78064
78065         * lib/rename-dest-slash.c: New file.
78066
78067 2006-09-14  Bruno Haible  <bruno@clisp.org>
78068
78069         * lib/allocsa.c: Include <config.h> unconditionally.
78070         * lib/asnprintf.c: Likewise.
78071         * lib/asprintf.c: Likewise.
78072         * lib/c-strcasecmp.c: Likewise.
78073         * lib/c-strcasestr.c: Likewise.
78074         * lib/c-strncasecmp.c: Likewise.
78075         * lib/c-strstr.c: Likewise.
78076         * lib/classpath.c: Likewise.
78077         * lib/clean-temp.c: Likewise.
78078         * lib/concatpath.c: Likewise.
78079         * lib/copy-file.c: Likewise.
78080         * lib/csharpcomp.c: Likewise.
78081         * lib/csharpexec.c: Likewise.
78082         * lib/execute.c: Likewise.
78083         * lib/fatal-signal.c: Likewise.
78084         * lib/findprog.c: Likewise.
78085         * lib/fwriteerror.c: Likewise.
78086         * lib/gl_array_list.c: Likewise.
78087         * lib/gl_array_oset.c: Likewise.
78088         * lib/gl_avltree_list.c: Likewise.
78089         * lib/gl_avltree_oset.c: Likewise.
78090         * lib/gl_avltreehash_list.c: Likewise.
78091         * lib/gl_carray_list.c: Likewise.
78092         * lib/gl_linked_list.c: Likewise.
78093         * lib/gl_linkedhash_list.c: Likewise.
78094         * lib/gl_list.c: Likewise.
78095         * lib/gl_oset.c: Likewise.
78096         * lib/gl_rbtree_list.c: Likewise.
78097         * lib/gl_rbtree_oset.c: Likewise.
78098         * lib/gl_rbtreehash_list.c: Likewise.
78099         * lib/imaxabs.c: Likewise.
78100         * lib/imaxdiv.c: Likewise.
78101         * lib/javacomp.c: Likewise.
78102         * lib/javaexec.c: Likewise.
78103         * lib/javaversion.c: Likewise.
78104         * lib/linebreak.c: Likewise.
78105         * lib/localcharset.c: Likewise.
78106         * lib/lock.c: Likewise.
78107         * lib/mbchar.c: Likewise.
78108         * lib/mbswidth.c: Likewise.
78109         * lib/mkdtemp.c: Likewise.
78110         * lib/pipe.c: Likewise.
78111         * lib/printf-args.c: Likewise.
78112         * lib/printf-parse.c: Likewise.
78113         * lib/progname.c: Likewise.
78114         * lib/progreloc.c: Likewise.
78115         * lib/readlink.c: Likewise.
78116         * lib/sh-quote.c: Likewise.
78117         * lib/stpcpy.c: Likewise.
78118         * lib/stpncpy.c: Likewise.
78119         * lib/strcasecmp.c: Likewise.
78120         * lib/strcasestr.c: Likewise.
78121         * lib/strcspn.c: Likewise.
78122         * lib/striconv.c: Likewise.
78123         * lib/strncasecmp.c: Likewise.
78124         * lib/strnlen1.c: Likewise.
78125         * lib/strstr.c: Likewise.
78126         * lib/strtok_r.c: Likewise.
78127         * lib/tls.c: Likewise.
78128         * lib/tmpdir.c: Likewise.
78129         * lib/unicodeio.c: Likewise.
78130         * lib/unsetenv.c: Likewise.
78131         * lib/vasnprintf.c: Likewise.
78132         * lib/vasprintf.c: Likewise.
78133         * lib/wait-process.c: Likewise.
78134         * lib/xallocsa.c: Likewise.
78135         * lib/xsetenv.c: Likewise.
78136         * lib/xstriconv.c: Likewise.
78137
78138 2006-09-13  Simon Josefsson  <jas@extundo.com>
78139
78140         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
78141         that internally, suggested by Ralf Wildenhues
78142         <Ralf.Wildenhues@gmx.de>.
78143
78144 2006-09-13  Simon Josefsson  <jas@extundo.com>
78145
78146         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
78147         @LIBOBJS@.
78148         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78149
78150 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
78151
78152         * lib/_fpending.c: Include <config.h> unconditionally, since we no
78153         longer worry about uses that don't define HAVE_CONFIG_H.
78154         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
78155         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
78156         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
78157         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
78158         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
78159         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
78160         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
78161         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
78162         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
78163         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
78164         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
78165         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
78166         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
78167         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
78168         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
78169         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
78170         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
78171         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
78172         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
78173         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
78174         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
78175         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
78176         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
78177         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
78178         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
78179         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
78180         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
78181         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
78182         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
78183         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
78184         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
78185         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
78186         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
78187         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
78188         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
78189         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
78190         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
78191         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
78192         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
78193         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
78194         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
78195         Likewise.
78196
78197 2006-09-13  Eric Blake  <ebb9@byu.net>
78198
78199         * lib/getopt.c: Fix typo in last commit.
78200
78201 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
78202
78203         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
78204         dgettext.
78205
78206 2006-09-12  Jim Meyering  <jim@meyering.net>
78207
78208         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
78209         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
78210         Reported by Nelson H. F. Beebe.
78211
78212 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
78213
78214         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
78215         program_invocation_name and program_invocation_short_name are
78216         initialized.
78217         * lib/argp-namefrob.h: Move declarations of program_invocation_name
78218         and program_invocation_short_name to argp.h, so they are visible
78219         to user programs.
78220         * lib/argp.h: Likewise
78221
78222 2006-09-10  Bruno Haible  <bruno@clisp.org>
78223
78224         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
78225         m4/inttypes_h.m4, m4/uintmax_t.m4.
78226
78227 2006-09-10  Bruno Haible  <bruno@clisp.org>
78228
78229         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
78230         gl_AC_TYPE_UINTMAX_T.
78231
78232 2006-09-10  Bruno Haible  <bruno@clisp.org>
78233
78234         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
78235
78236 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78237
78238         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
78239         convention.  Text proposed by Bruno Haible.
78240         (struct argp_option): Document the use of N_() wrappers.
78241
78242         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
78243         '\v', and translate the two parts separately, instead of feeding
78244         the whole string to gettext.  This allows to exclude
78245         '\v' from the strings visible to the translator by writing doc
78246         strings as N_("..") "\v" N_("..").
78247
78248 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
78249
78250         * config/srclist.txt: Undo latest change; the bug was fixed.
78251
78252 2006-09-09  Bruno Haible  <bruno@clisp.org>
78253
78254         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
78255         assignments if building a library without libtool.
78256         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
78257         in func_emit_lib_Makefile_am.
78258         (func_import): When building a static library libfoo.a, arrange to
78259         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
78260         (func_create_testdir): Likewise.
78261         * modules/gc (configure.ac, Makefile.am): If building statically,
78262         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
78263         * modules/iconvme (configure.ac, Makefile.am): Likewise.
78264         * modules/striconv (configure.ac, Makefile.am): Likewise.
78265         Based on a suggestion by Ralf Wildenhues.
78266
78267 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78268
78269         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
78270         Check for unistd.h too, since Autoconf doesn't assume POSIX.
78271         Also:
78272
78273         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78274         Add year_2050_test to catch glibc bug 2821
78275         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78276
78277         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78278         Prefer #ifdef to #if.
78279
78280         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
78281         Return from 'main' instead of calling 'exit'.
78282
78283 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78284
78285         * lib/mktime.c (guess_time_tm): Fix bug where mktime
78286         returned the maximum time_t value rather than (time_t) -1.
78287         Problem originally reported by William Bardwell
78288         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78289
78290         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78291         Moved to here ...
78292         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78293         ... from here.
78294
78295 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78296
78297         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
78298         2821 is fixed.
78299
78300 2006-09-08  Jim Meyering  <jim@meyering.net>
78301
78302         Don't make generated files read-only.  That would bother too many
78303         people.  However, do retain the ability to work when targets are
78304         read-only: remove the destination and temporary files before writing
78305         them (when generated via sed or echo), or by using the -f option for
78306         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
78307         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78308         * modules/byteswap, modules/configmake, modules/fcntl:
78309         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78310         * modules/localcharset, modules/netinet_in, modules/poll:
78311         * modules/stdbool, modules/stdint, modules/sys_select:
78312         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78313
78314 2006-09-08  Jim Meyering  <jim@meyering.net>
78315
78316         Avoid new build failure on FreeBSD 6.0.
78317         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
78318         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
78319         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
78320
78321 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78322
78323         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
78324
78325 2006-09-07  Jim Meyering  <jim@meyering.net>
78326
78327         Fix global typo in last change: use chmod u-w, not chmod u-x.
78328         Spotted by Paul Eggert and Bruce Korb.
78329         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78330         * modules/byteswap, modules/configmake, modules/fcntl:
78331         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78332         * modules/localcharset, modules/netinet_in, modules/poll:
78333         * modules/stdbool, modules/stdint, modules/sys_select:
78334         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78335
78336 2006-09-06  Jim Meyering  <jim@meyering.net>
78337
78338         Make generated files be read-only.
78339         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
78340         Ensure that each generated file is now read-only.
78341         * modules/argz: Likewise.
78342         * modules/arpa_inet: Likewise.
78343         * modules/byteswap: Likewise.
78344         * modules/configmake: Likewise.
78345         * modules/fcntl: Likewise.
78346         * modules/fnmatch: Likewise.
78347         * modules/getopt: Likewise.
78348         * modules/glob: Likewise.
78349         * modules/inttypes: Likewise.
78350         * modules/netinet_in: Likewise.
78351         * modules/poll: Likewise.
78352         * modules/stdbool: Likewise.
78353         * modules/stdint: Likewise.
78354         * modules/sys_select: Likewise.
78355         * modules/sys_socket: Likewise.
78356         * modules/sys_stat: Likewise.
78357         * modules/sysexits: Likewise.
78358         * modules/localcharset: Same as above, but continue using temporary
78359         file named "t-$@" (why different?) rather than the "$@-t" used
78360         everywhere else.
78361
78362         * modules/sysexits (Makefile.am): Replace literal occurrences
78363         of "sysexit.h" more readable, and more consistent, "$@".
78364
78365 2006-09-06  Bruno Haible  <bruno@clisp.org>
78366
78367         * modules/striconv: New file.
78368         * modules/xstriconv: New file.
78369         * MODULES.html.sh (Internationalization functions): Add striconv,
78370         xstriconv.
78371
78372 2006-09-06  Bruno Haible  <bruno@clisp.org>
78373
78374         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
78375         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
78376         not using libtool correctly.
78377
78378 2006-09-06  Bruno Haible  <bruno@clisp.org>
78379
78380         * lib/striconv.h: New file.
78381         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
78382         iconvstring.c.
78383         * lib/xstriconv.h: New file.
78384         * lib/xstriconv.c: New file.
78385
78386 2006-09-06  Bruno Haible  <bruno@clisp.org>
78387
78388         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
78389         lib_..._LDFLAGS.
78390
78391 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78392
78393         * lib/argz_.h: Sync from Libtool.
78394
78395         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
78396                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
78397
78398         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
78399
78400 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78401
78402         * modules/trim: New file.
78403
78404 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78405
78406         * lib/trim.h: New file.
78407         * lib/trim.c: New file.
78408
78409 2006-09-05  Bruno Haible  <bruno@clisp.org>
78410
78411         * MODULES.html.sh (String handling): Add trim.
78412
78413 2006-09-04  Karl Berry  <karl@gnu.org>
78414
78415         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
78416         until next release.
78417
78418 2006-09-03  Bruno Haible  <bruno@clisp.org>
78419
78420         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
78421         correctly.
78422
78423 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78424
78425         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
78426         not gl_GETLOADAVG.  Omit unneeded semicolons.
78427         Problems reported by Ralf Wildenhues in
78428         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78429         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
78430         at the end, which is the usual gnulib style.
78431
78432         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
78433         of doing all the work ourselves.
78434         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
78435         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
78436
78437 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78438
78439         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
78440         Problem reported by Ralf Wildenhues in
78441         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78442
78443         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
78444         HAVE_STRUCT_STATFS_F_FSTYPENAME.
78445
78446 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78447
78448         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
78449         yesterday's patch by changing test -n to test -z.
78450
78451 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78452
78453         * modules/getloadavg (Files): Add m4/getloadavg.m4.
78454         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
78455         the former is now obsolescent.
78456
78457         * modules/chdir-long (Depends-on): Add fcntl.
78458
78459 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78460
78461         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
78462         obsolescent, and programs should use gnulib instead.
78463         * m4/getloadavg.m4: New file, with contents taken from Autoconf
78464         but with prefixes changed.
78465
78466 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78467
78468         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
78469         or stdbool.h, because they might not exist while configuring.
78470
78471         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
78472         Don't include unistd.h or limits.h; not needed, since chdir-long.h
78473         does that for us.
78474         (O_DIRECTORY): Remove.
78475
78476 2006-08-31  Eric Blake  <ebb9@byu.net>
78477
78478         * gnulib-tool: Don't let emacs change spaces to TAB.
78479
78480 2006-08-31  Bruno Haible  <bruno@clisp.org>
78481
78482         * gnulib-tool: When calling func_import more than once, do it in a
78483         subshell.
78484         Reported by Eric Blake <ebb9@byu.net>.
78485
78486 2006-08-31  Bruno Haible  <bruno@clisp.org>
78487
78488         * gnulib-tool (nl): Remove variable.
78489         (sed_transform_lib_file): Use more robust test for config-h module.
78490         (func_import): Fix typo in 2006-08-25 patch.
78491
78492 2006-08-31  Bruno Haible  <bruno@clisp.org>
78493
78494         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
78495         specified, augment Makefile.am variables instead of assigning them.
78496
78497 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78498
78499         Work around a bug in both the Linux and SunOS 64-bit kernels:
78500         nanosleep mishandles sleeps for longer than 2**31 seconds.
78501         Problem reported by Frank v Waveren in
78502         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78503         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
78504         Check for nanosleep bug.
78505         (LIB_NANOSLEEP): Append clock_gettime library if needed.
78506
78507 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78508
78509         Work around a bug in both the Linux and SunOS 64-bit kernels:
78510         nanosleep mishandles sleeps for longer than 2**31 seconds.
78511         Problem reported by Frank v Waveren in
78512         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78513         * lib/nanosleep.c (BILLION): New constant.
78514         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
78515         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
78516         implementation.
78517
78518 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78519
78520         * modules/nanosleep (Depends-on): Add gettime.
78521
78522 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78523         and Simon Josefsson  <jas@extundo.com>
78524         and Oskar Liljeblad  <oskar@osk.mine.nu>
78525
78526         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
78527         * gnulib-tool (func_import): New license type 'unmodifiable license
78528         text'.
78529         * modules/fdl: Use it.  Longer description.
78530         * module/gpl, module/lgpl: New files.
78531
78532 2006-08-30  Jim Meyering  <jim@meyering.net>
78533
78534         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
78535         shadowing the parameter.
78536
78537 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78538
78539         Sync from Libtool:
78540
78541         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78542
78543         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
78544         sharing with gnulib.  Report by Eric Blake.
78545
78546 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78547
78548         * modules/isapipe: New file.
78549         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
78550
78551 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78552
78553         * modules/configmake (Makefile.am): Add a comment, and omit
78554         the CONFIGMAKE_ prefix from generated macro names.  Suggested
78555         by Bruno Haible.
78556
78557 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78558
78559         * m4/isapipe.m4: New file.
78560
78561 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78562
78563         * lib/isapipe.c, lib/isapipe.h: New files.
78564
78565 2006-08-29  Jim Meyering  <jim@meyering.net>
78566
78567         * modules/configmake (Makefile.am): Make configmake.h depend on
78568         Makefile.  Otherwise, a stale configmake.h could hang around.
78569
78570 2006-08-29  Eric Blake  <ebb9@byu.net>
78571
78572         * lib/error.c (error_at_line, print_errno_message): Match libc, after
78573         resolution of upstream bug 3044.
78574
78575 2006-08-29  Bruno Haible  <bruno@clisp.org>
78576
78577         * modules/localcharset (Depends-on): Add configmake.
78578         (Makefile.am): Remove setting of LIBDIR through DEFS.
78579
78580 2006-08-29  Bruno Haible  <bruno@clisp.org>
78581
78582         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
78583         defined.
78584
78585 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78586
78587         * modules/fcntl: New file.
78588         * modules/chdir-safer (Depends-on): Add fcntl.
78589         * modules/fts: Likewise.
78590         * modules/mkdir-p: Likewise.
78591
78592         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
78593         This undoes the most recent change, since we're now addressing the
78594         problem in a different way.
78595
78596         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
78597         into output, since the output might be called Makefile.am even
78598         if $makefile_name is something different.
78599         (func_import): Use $makefile_am rather than
78600         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
78601         empty.
78602
78603         * modules/inttypes (Files): Add m4/inttypes-h.m4.
78604
78605 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78606
78607         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
78608         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
78609         recent change to stdint.m4, since we're now addressing the problem in a
78610         different way.
78611
78612 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78613
78614         * m4/fcntl_h.m4: New file.
78615
78616 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78617
78618         * lib/fcntl_.h: New file.
78619         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
78620         the fcntl module.
78621         * lib/dirchownmod.c: Likewise.
78622         * lib/fts.c: Likewise.
78623
78624         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
78625         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
78626         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
78627         just before including <inttypes.h>, to avoid circular inclusion.
78628
78629 2006-08-28  Jim Meyering  <jim@meyering.net>
78630
78631         * doc/visibility.texi: Actually read and correct the grammar of the
78632         sentence affected by yesterday's change.
78633
78634 2006-08-28  Eric Blake  <ebb9@byu.net>
78635
78636         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
78637         needs wrapper.
78638
78639 2006-08-28  Eric Blake  <ebb9@byu.net>
78640
78641         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
78642
78643 2006-08-28  Eric Blake  <ebb9@byu.net>
78644
78645         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
78646
78647 2006-08-28  Bruno Haible  <bruno@clisp.org>
78648
78649         * modules/c-strstr: New file, from GNU gettext.
78650         * MODULES.html.sh (String handling): Add c-strstr.
78651
78652 2006-08-28  Bruno Haible  <bruno@clisp.org>
78653
78654         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
78655         macros.
78656         Reported by Eric Blake.
78657
78658 2006-08-28  Bruno Haible  <bruno@clisp.org>
78659
78660         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
78661         (VASNPRINTF): Return a string of length > INT_MAX without failing.
78662         * lib/vasprintf.c: Include errno.h, limits.h.
78663         (EOVERFLOW): New fallback definition.
78664         (vasprintf): Test here whether the string length is > INT_MAX.
78665         * lib/vsnprintf.c: Include errno.h, limits.h.
78666         (EOVERFLOW): New fallback definition.
78667         (vsnprintf): Fix bug when generated string was too long for the buffer.
78668         Test here whether the string length is > INT_MAX.
78669
78670 2006-08-28  Bruno Haible  <bruno@clisp.org>
78671
78672         * lib/inttypes_.h (SCNX*): Remove definitions.
78673         Reported by Eric Blake.
78674
78675 2006-08-28  Bruno Haible  <bruno@clisp.org>
78676
78677         * lib/c-strstr.h: New file, from GNU gettext.
78678         * lib/c-strstr.c: New file, from GNU gettext.
78679
78680 2006-08-28  Bruno Haible  <bruno@clisp.org>
78681
78682         * gnulib-tool: Reorder some statements.
78683
78684 2006-08-28  Bruno Haible  <bruno@clisp.org>
78685
78686         * gnulib-tool: New option --makefile-name.
78687         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
78688         $makefile_name.
78689         (func_import): Write $makefile_name to the cache file, and read it from
78690         there unless explicitly specified. Use $makefile_name as file name
78691         instead of Makefile.am. Adjust the recommendations accordingly.
78692
78693 2006-08-28  Bruno Haible  <bruno@clisp.org>
78694
78695         * gnulib-tool (func_verify_module): Check against misapplying patch.
78696
78697 2006-08-28  Bruno Haible  <bruno@clisp.org>
78698
78699         * gnulib-tool (func_relativize, func_relconcat): New functions.
78700         Give an error if --local-dir is given with --update.
78701         Remove trailing slashes from $local_gnulib_dir.
78702         (func_import): Store the relativized $local_gnulib_dir in
78703         gnulib-cache.m4, and read it from there if not specified explicitly.
78704
78705 2006-08-28  Bruno Haible  <bruno@clisp.org>
78706
78707         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
78708         is the current directory. Respect also $local_gnulib_dir.
78709
78710 2006-08-28  Bruno Haible  <bruno@clisp.org>
78711             Simon Josefsson  <jas@extundo.com>
78712
78713         BeOS portability.
78714         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
78715
78716 2006-08-27  Jim Meyering  <jim@meyering.net>
78717
78718         * doc/visibility.texi: Remove duplicate word: "pointer".
78719
78720 2006-08-26  Bruno Haible  <bruno@clisp.org>
78721
78722         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
78723         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
78724         (Makefile.am): Create inttypes.h from inttypes_.h.
78725         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
78726
78727         * modules/imaxabs: New file.
78728
78729         * modules/imaxdiv: New file.
78730
78731 2006-08-26  Bruno Haible  <bruno@clisp.org>
78732
78733         * m4/inttypes.m4: New file.
78734         * m4/_inttypes_h.m4: Remove file.
78735         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
78736         PRI_MACROS_BROKEN.
78737         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
78738
78739         * m4/imaxabs.m4: New file.
78740
78741         * m4/imaxdiv.m4: New file.
78742
78743 2006-08-26  Bruno Haible  <bruno@clisp.org>
78744
78745         * lib/inttypes_.h: New file.
78746         * lib/inttypes.h: Remove file.
78747         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
78748
78749         * lib/imaxabs.c: New file.
78750
78751         * lib/imaxdiv.c: New file.
78752
78753 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78754
78755         New config-h module, so that "make" output needn't be cluttered
78756         by -DHAVE_CONFIG_H.
78757         * MODULES.html.sh (Support for building libraries and executables):
78758         Add config-h.
78759         * modules/config-h: New file.
78760         * gnulib-tool (nl, sed_transform_lib_file): New vars.
78761         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
78762         the config-h module is used.
78763
78764         New configmake module, so that "make" output needn't be cluttered
78765         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
78766         * MODULES.html.sh (Support for building libraries and executables):
78767         Add configmake.
78768         * modules/configmake: New file.
78769
78770 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78771
78772         * m4/config-h.m4: New file.
78773
78774 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78775
78776         * config/srclist.txt: Add elisp-comp.
78777
78778 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78779
78780         * MODULES.html.sh (Support for building libraries and executables):
78781         Add elisp-comp.
78782         * build-aux/elisp-comp: New file.
78783         * modules/elisp-comp: New file.
78784
78785 2006-08-24  Bruno Haible  <bruno@clisp.org>
78786
78787         * gnulib-tool (func_create_testdir): Use non-default values of
78788         sourcebase and m4base.
78789
78790 2006-08-24  Bruno Haible  <bruno@clisp.org>
78791
78792         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
78793         HTML structure.
78794
78795 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78796
78797         * modules/openat (Depends-on): Add lchown.
78798
78799 2006-08-23  Bruno Haible  <bruno@clisp.org>
78800
78801         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
78802         of gl_LOCK_EARLY instead of gl_LOCK.
78803
78804 2006-08-23  Bruno Haible  <bruno@clisp.org>
78805
78806         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
78807         on OSF/1 to no.
78808         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
78809
78810 2006-08-23  Bruno Haible  <bruno@clisp.org>
78811
78812         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
78813         as unusable.
78814
78815         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
78816         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
78817         (gl_LOCK): New macro.
78818
78819 2006-08-22  Simon Josefsson  <jas@extundo.com>
78820
78821         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
78822         to md5 module.
78823
78824 2006-08-22  Simon Josefsson  <jas@extundo.com>
78825
78826         * MODULES.html.sh: Add "Support for maintaining and release
78827         projects".
78828
78829         * build-aux/gnupload: New file, from coreutils.
78830
78831 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78832
78833         Avoid the need for AC_LIBSOURCES in m4 macros.
78834         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
78835         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
78836         * modules/check-version (EXTRA_DIST): Add check-version.h.
78837         * modules/crc (EXTRA_DIST): Add crc.h.
78838         * modules/des (EXTRA_DIST): Add des.h.
78839         * modules/gc (EXTRA_DIST): Add gc.h.
78840         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
78841         * modules/getline (EXTRA_DIST): Add getline.h.
78842         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
78843         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
78844         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
78845         * modules/md2 (EXTRA_DIST): Add md2.h.
78846         * modules/md4 (EXTRA_DIST): Add md4.h.
78847         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
78848         * modules/read-file (EXTRA_DIST): Add read-file.h.
78849         * modules/readline (EXTRA_DIST): Add readline.h.
78850         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
78851         rijndael-api-fst.h.
78852
78853 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78854
78855         * m4/rijndael.m4 (gl_ARCFOUR):
78856         * m4/arctwo.m4 (gl_ARCTWO):
78857         * m4/check-version.m4 (gl_CHECK_VERSION):
78858         * m4/crc.m4 (gl_CRC):
78859         * m4/des.m4 (gl_DES):
78860         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
78861         * m4/gc.m4 (gl_GC):
78862         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
78863         * m4/getline.m4 (gl_FUNC_GETLINE):
78864         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
78865         * m4/hmac-md5.m4 (gl_HMAC_MD5):
78866         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
78867         * m4/md2.m4 (gl_MD2):
78868         * m4/md4.m4 (gl_MD4):
78869         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
78870         * m4/read-file.m4 (gl_FUNC_READ_FILE):
78871         * m4/readline.m4 (gl_FUNC_READLINE):
78872         * m4/rijndael.m4 (gl_RIJNDAEL):
78873         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
78874         to get the necessary .h files and whatnot.
78875
78876 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78877
78878         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
78879         gnulib rather than the other way around.
78880         * config/srclistvars.sh (COREUTILS): Remove.
78881
78882 2006-08-22  Jim Meyering  <jim@meyering.net>
78883
78884         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
78885
78886         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
78887
78888 2006-08-22  Eric Blake  <ebb9@byu.net>
78889
78890         * modules/regexprops-generic: New file.
78891         * MODULES.html.sh (Support for building documentation): List it.
78892
78893 2006-08-22  Eric Blake  <ebb9@byu.net>
78894
78895         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
78896         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
78897         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
78898         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
78899
78900 2006-08-22  Bruno Haible  <bruno@clisp.org>
78901
78902         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
78903         and lib_LTLIBRARIES like the other lib_* variables.
78904
78905 2006-08-22  Bruno Haible  <bruno@clisp.org>
78906
78907         * build-aux/x-to-1.in: New file, from GNU gettext.
78908
78909 2006-08-22  Bruno Haible  <bruno@clisp.org>
78910
78911         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
78912         <utmpx.h> exists.
78913
78914 2006-08-22  Bruno Haible  <bruno@clisp.org>
78915
78916         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
78917         <utmpx.h> exists.
78918
78919 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78920
78921         BeOS portability.
78922         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
78923         exist.
78924         Problem reported by Bruno Haible.
78925
78926 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78927
78928         Avoid the need for AC_LIBSOURCES in m4 macros.
78929         * modules/acl (EXTRA_DIST): Add acl.h.
78930         * modules/argmatch (Files): Add m4/argmatch.m4.
78931         (configure.ac): Add gl_ARGMATCH.
78932         (EXTRA_DIST): Renamed from lib_SOURCES, for
78933         consistency with the other modules.  Remove argmatch.c.
78934         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
78935         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
78936         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
78937         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
78938         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
78939         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
78940         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
78941         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
78942         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
78943         * modules/closeout (EXTRA_DIST): Add closeout.h.
78944         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
78945         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
78946         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
78947         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
78948         dirname.h; remove basename.c and stripslash.c.
78949         * modules/exclude (EXTRA_DIST): Add exclude.h.
78950         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
78951         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
78952         * modules/file-type (EXTRA_DIST): Add file-type.h.
78953         * modules/filemode (EXTRA_DIST): Add filemode.h.
78954         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
78955         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
78956         * modules/fpending (EXTRA_DIST): Add __fpending.h.
78957         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
78958         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
78959         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
78960         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
78961         * modules/getdate (EXTRA_DIST): Add getdate.c.
78962         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
78963         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
78964         * modules/getpass (EXTRA_DIST): Add getpass.h.
78965         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
78966         * modules/group-member (EXTRA_DIST): Add group-member.h.
78967         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
78968         * modules/hash (EXTRA_DIST): Add hash.h.
78969         * modules/human (EXTRA_DIST): Add human.h.
78970         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
78971         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
78972         * modules/lchown (EXTRA_DIST): Add lchown.h.
78973         * modules/long-options (EXTRA_DIST): Add long-options.h.
78974         * modules/lstat (EXTRA_DIST): Add lstat.h.
78975         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
78976         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
78977         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
78978         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
78979         * modules/memxor (EXTRA_DIST): Add memxor.h.
78980         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
78981         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
78982         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
78983         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
78984         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
78985         * modules/physmem (EXTRA_DIST): Add physmem.h.
78986         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
78987         * modules/posixver (EXTRA_DIST): Add posixver.h.
78988         * modules/quote (EXTRA_DIST): Add quote.h.
78989         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
78990         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
78991         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
78992         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
78993         regex_internal.h regexec.c.
78994         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
78995         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
78996         * modules/same (EXTRA_DIST): Add same.h.
78997         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
78998         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
78999         * modules/savedir (EXTRA_DIST): Add savedir.h.
79000         * modules/sha1 (EXTRA_DIST): Add sha1.h.
79001         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
79002         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
79003         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
79004         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
79005         * modules/strdup (EXTRA_DIST): Add strdup.h.
79006         * modules/strftime (EXTRA_DIST): Add strftime.h.
79007         * modules/strndup (EXTRA_DIST): Add strndup.h.
79008         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
79009         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
79010         * modules/time_r (EXTRA_DIST): Add time_r.h.
79011         * modules/timespec (EXTRA_DIST): Add timespec.h.
79012         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
79013         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
79014         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
79015         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
79016         * modules/userspec (EXTRA_DIST): Add userspec.h.
79017         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
79018         * modules/utimens (EXTRA_DIST): Add utimens.h.
79019         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
79020         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
79021         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
79022         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
79023         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
79024         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
79025         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
79026         * modules/yesno (EXTRA_DIST): Add yesno.h.
79027
79028 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79029
79030         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
79031
79032         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
79033         * m4/dev-ino.m4, same-inode.m4: Remove.
79034
79035         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
79036         * m4/acl.m4 (AC_FUNC_ACL):
79037         * m4/backupfile.m4 (gl_BACKUPFILE):
79038         * m4/c-strtod.m4 (gl_C99_STRTOLD):
79039         * m4/canon-host.m4 (gl_CANON_HOST):
79040         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
79041         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
79042         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
79043         * m4/cloexec.m4 (gl_CLOEXEC):
79044         * m4/close-stream.m4 (gl_CLOSE_STREAM):
79045         * m4/closeout.m4 (gl_CLOSEOUT):
79046         * m4/dirfd.m4 (gl_FUNC_DIRFD):
79047         * m4/dirname.m4 (gl_DIRNAME):
79048         * m4/exclude.m4 (gl_EXCLUDE):
79049         * m4/exitfail.m4 (gl_EXITFAIL):
79050         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
79051         * m4/file-type.m4 (gl_FILE_TYPE):
79052         * m4/filemode.m4 (gl_FILEMODE):
79053         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
79054         * m4/fpending.m4 (gl_FUNC_FPENDING):
79055         * m4/fprintftime.m4 (gl_FPRINTFTIME):
79056         * m4/fts.m4 (gl_FUNC_FTS):
79057         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
79058         * m4/getdate.m4 (gl_GETDATE):
79059         * m4/gethrxtime.m4 (gl_GETHRXTIME):
79060         * m4/getpagesize.m4 (gl_GETPAGESIZE):
79061         * m4/getpass.m4 (gl_FUNC_GETPASS):
79062         * m4/gettime.m4 (gl_GETTIME):
79063         * m4/getugroups.m4 (gl_GETUGROUPS):
79064         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
79065         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
79066         * m4/hard-locale.m4 (gl_HARD_LOCALE):
79067         * m4/hash.m4 (gl_HASH):
79068         * m4/idcache.m4 (gl_IDCACHE):
79069         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
79070         * m4/lchown.m4 (gl_FUNC_LCHOWN):
79071         * m4/long-options.m4 (gl_LONG_OPTIONS):
79072         * m4/lstat.m4 (gl_FUNC_LSTAT):
79073         * m4/md5.m4 (gl_MD5):
79074         * m4/memcasecmp.m4 (gl_MEMCASECMP):
79075         * m4/memcoll.m4 (gl_MEMCOLL):
79076         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
79077         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
79078         * m4/memxor.m4 (gl_MEMXOR):
79079         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
79080         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
79081         * m4/modechange.m4 (gl_MODECHANGE):
79082         * m4/mountlist.m4 (gl_MOUNTLIST):
79083         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
79084         * m4/openat.m4 (gl_FUNC_OPENAT):
79085         * m4/pathmax.m4 (gl_PATHMAX):
79086         * m4/physmem.m4 (gl_PHYSMEM):
79087         * m4/posixtm.m4 (gl_POSIXTM):
79088         * m4/posixver.m4 (gl_POSIXVER):
79089         * m4/quote.m4 (gl_QUOTE):
79090         * m4/quotearg.m4 (gl_QUOTEARG):
79091         * m4/readtokens.m4 (gl_READTOKENS):
79092         * m4/readutmp.m4 (gl_READUTMP):
79093         * m4/regex.m4 (gl_REGEX):
79094         * m4/safe-read.m4 (gl_SAFE_READ):
79095         * m4/safe-write.m4 (gl_SAFE_WRITE):
79096         * m4/same.m4 (gl_SAME):
79097         * m4/save-cwd.m4 (gl_SAVE_CWD):
79098         * m4/savedir.m4 (gl_SAVEDIR):
79099         * m4/settime.m4 (gl_SETTIME):
79100         * m4/sha1.m4 (gl_SHA1):
79101         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
79102         * m4/stat-macros.m4 (gl_STAT_MACROS):
79103         * m4/stat-time.m4 (gl_STAT_TIME):
79104         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
79105         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
79106         * m4/strdup.m4 (gl_FUNC_STRDUP):
79107         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
79108         * m4/strndup.m4 (gl_FUNC_STRNDUP):
79109         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
79110         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
79111         * m4/time_r.m4 (gl_TIME_R):
79112         * m4/timespec.m4 (gl_TIMESPEC):
79113         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
79114         * m4/unlinkdir.m4 (gl_UNLINKDIR):
79115         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
79116         * m4/userspec.m4 (gl_USERSPEC):
79117         * m4/utimecmp.m4 (gl_UTIMECMP):
79118         * m4/utimens.m4 (gl_UTIMENS):
79119         * m4/xalloc.m4 (gl_XALLOC):
79120         * m4/xgetcwd.m4 (gl_XGETCWD):
79121         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
79122         * m4/xreadlink.m4 (gl_XREADLINK):
79123         * m4/xstrtod.m4 (gl_XSTRTOD):
79124         * m4/yesno.m4 (gl_YESNO):
79125         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
79126         to get the necessary .h files and whatnot.
79127
79128 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
79129             Bruno Haible  <bruno@clisp.org>
79130
79131         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
79132         /bin/sh understanding of '!' conditional negation.
79133
79134 2006-08-21  Jim Meyering  <jim@meyering.net>
79135
79136         * modules/openat (Depends-on): Really alphabetize.
79137
79138         * modules/acl (Depends-on): Add error and quote.
79139
79140         * check-module (find_included_lib_files): Add at-func.c to the
79141         ok-to-include-more-than-once white list.
79142
79143         * modules/openat (Depends-on): Add lstat.  Alphabetize.
79144
79145 2006-08-21  Bruno Haible  <bruno@clisp.org>
79146
79147         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79148         Emit a pkgdata_DATA variable only if some snippets add contents to it.
79149         Reported by Martin Lambers <marlam@marlam.de>.
79150
79151 2006-08-21  Bruno Haible  <bruno@clisp.org>
79152
79153         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
79154         specify an installation location, don't emit a noinst_LIBRARIES or
79155         noinst_LTLIBRARIES assignment.
79156
79157 2006-08-21  Bruno Haible  <bruno@clisp.org>
79158
79159         BeOS portability.
79160         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
79161         BeOS has mbrtowc() but no <wctype.h>.
79162
79163 2006-08-21  Bruno Haible  <bruno@clisp.org>
79164
79165         BeOS portability.
79166         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
79167         exist.
79168
79169 2006-08-21  Bruno Haible  <bruno@clisp.org>
79170
79171         BeOS portability.
79172         * lib/mbchar.h: Include <wctype.h> only if it exists.
79173
79174 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79175
79176         Remove files that are no longer needed by their respective modules.
79177         * m4/obstack.m4: Remove.
79178         * m4/strerror_r.m4: Remove.
79179         * m4/uint32_t.m4: Remove.
79180         * m4/uintptr_t.m4: Remove.
79181         * m4/ullong_max.m4: Remove.
79182         * m4/xstrtoimax.m4: Remove.
79183         * m4/xstrtoumax.m4: Remove.
79184
79185         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
79186         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
79187         dependencies now capture this.
79188
79189         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
79190         Do not use AC_LIBSOURCES, since gnulib modules now do this.
79191         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
79192         * m4/human.m4 (gl_HUMAN): Likewise.
79193         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
79194         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
79195
79196         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
79197
79198         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
79199         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
79200         stdint.
79201         * m4/human.m4 (gl_HUMAN): Likewise.
79202         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
79203         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
79204         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79205         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79206         * m4/xstrtol (gl_XSTRTOL): Likewise.
79207
79208         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
79209         AC_TYPE_LONG_LONG_INT.
79210         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79211         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
79212         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
79213         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79214
79215         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
79216         on stdbool.
79217
79218         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
79219         (gl_PREREQ_XSTRTOUL): Remove.
79220
79221         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
79222
79223         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
79224         mode.
79225
79226 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79227
79228         Add and change modules to make it easier for coreutils to use
79229         gnulib-tool.
79230         * modules/backupfile (Files): Remove m4/d-ino.m4.
79231         (Depends-on): Add d-ino.
79232         * modules/cycle-check (Depends-on): Add stdint.
79233         (lib_SOURCES): Add cycle-check.h.
79234         * modules/d-ino: New module.
79235         * modules/d-type: New module.
79236         * modules/error (Files): Remove m4/strerror_r.m4.
79237         * modules/filemode (Files): Add m4/st_dm_mode.m4.
79238         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
79239         m4/inttypes_h.m4, m4/uintmax_t.m4.
79240         (Depends-on): Add stdint.
79241         (lib_SOURCES): Add fsusage.h.
79242         * modules/getcwd (Files): Remove d-ino.m4.
79243         (Depends-on): Add d-ino.
79244         * modules/getndelim2 (Depends-on): Add stdint.
79245         * modules/glob (Files): Remove m4/d-type.m4.
79246         (Depends-on): Add d-type.
79247         * modules/host-os: New module.
79248         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
79249         m4/inttypes_h.m4, m4/uintmax_t.m4.
79250         * Depends-on: Add stdint.
79251         (lib_SOURCES): Add human.h.
79252         * modules/inttostr (Files): Remove m4/intmax_t.m4,
79253         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
79254         m4/uintmax_t.m4, m4/ulonglong.m4.
79255         (Depends-on): Add stdint.
79256         (EXTRA_DIST): Add inttostr.h.
79257         * modules/lchmod: New module.
79258         * modules/link-follow: New module.
79259         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
79260         (Depends-on): Add lchmod.
79261         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
79262         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
79263         (Depends-on): Add stdint.
79264         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
79265         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
79266         (Depends-on): Add stdint.
79267         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
79268         * modules/perl: New module.
79269         * modules/regex (Depends-on): Add stdint.
79270         * modules/rmdir-errno: New module.
79271         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79272         m4/intmax_t.m4.
79273         (Depends-on): Add stdint.
79274         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79275         m4/uintmax_t.m4.
79276         (Depends-on): Add stdint.
79277         * modules/unlink-busy: New module.
79278         * modules/utimecmp (Depends-on): Add stdint.
79279         * modules/uptime: New module.
79280         * modules/winsz-ioctl: New module.
79281         * modules/winsz-termios: New module.
79282         * modules/xnanosleep (Depends-on): Add nanosleep.
79283         * modules/ullong_max: Remove.
79284         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
79285         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
79286         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
79287         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
79288         (Depends-on): Add inttypes.
79289         (lib_SOURCES): Add xstrtol.h.
79290         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
79291         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
79292         * MODULES.html.sh: Move 'assert' into the assert section.
79293         Move 'dummy' into the linking section.
79294         Remove ullong_max.
79295         Add section for compatibility checks for POSIX:2001 functions,
79296         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
79297         winsz-ioctl, and winsz-termios into it.
79298         Add lchmod.
79299         Add top-level Misc section and put host-os, perl, and uptime
79300         into it.
79301
79302 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79303
79304         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
79305         now assume the stdint module.  Do not include inttypes.h.
79306         * lib/fsusage.h: Likewise.
79307         * lib/getndelim2.c: Likewise.
79308         * lib/human.h: Likewise.
79309         * lib/inttostr.h: Likewise.
79310         * lib/obstack.c: Likewise.
79311         * lib/regex_internal.h: Likewise.
79312         * lib/tempname.c: Likewise.
79313         * lib/utimecmp.c: Likewise.
79314         * lib/xstrtol.h: Likewise.
79315
79316         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
79317
79318         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
79319         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
79320         * lib/xtime.h: Likewise.
79321
79322 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79323
79324         * modules/openat (Files): Add lib/fchmodat.c.
79325         Fixes problem reported by Jay Youngman.
79326
79327 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79328
79329         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
79330         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
79331
79332 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
79333             Bruno Haible  <bruno@clisp.org>
79334
79335         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
79336         and is a script that invokes bison. Tighten the code. Add comments.
79337
79338 2006-08-18  Jim Meyering  <jim@meyering.net>
79339
79340         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
79341         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
79342         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
79343         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
79344
79345 2006-08-18  Bruno Haible  <bruno@clisp.org>
79346
79347         * modules/bison-i18n: New file.
79348         * MODULES.html.sh (Internationalization functions): Add it.
79349
79350 2006-08-18  Bruno Haible  <bruno@clisp.org>
79351
79352         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
79353         sys/statvfs.h. When getmntinfo was found, check its declaration and
79354         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
79355
79356 2006-08-18  Bruno Haible  <bruno@clisp.org>
79357
79358         * m4/bison-i18n.m4: New file, from bison.
79359
79360 2006-08-18  Bruno Haible  <bruno@clisp.org>
79361
79362         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
79363         (ME_DUMMY): Treat "kernfs" as a dummy.
79364         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
79365
79366 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79367
79368         Update from coreutils.
79369
79370         2006-08-15  Jim Meyering  <jim@meyering.net>
79371
79372         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
79373
79374         2006-01-17  Jim Meyering  <jim@meyering.net>
79375
79376         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
79377
79378         2006-01-11  Jim Meyering  <jim@meyering.net>
79379
79380         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
79381         Check for the lchmod function.
79382
79383 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79384
79385         Update from coreutils.
79386
79387         * lib/__fpending.h: Add copyright notice.
79388         * lib/fprintftime.h: Likewise.
79389         * lib/savedir.c: Use (C) in copyright notice.
79390         * lib/savedir.h: Likewise.
79391
79392         2006-08-15  Jim Meyering  <jim@meyering.net>
79393
79394         * lib/at-func.c: New file, with the logic of all emulated at-functions.
79395         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
79396         in support of the EXPECTED_ERRNO macro.
79397         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
79398         definitions.  Instead, define the appropriate symbols and include
79399         "at-func.c".
79400         * lib/mkdirat.c (mkdirat): Likewise.
79401         * lib/fchmodat.c (fchmodat): Likewise.
79402         (ENOSYS): Remove definition.
79403         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
79404         it.  Don't include "unistd--.h" -- it wasn't ever used.
79405
79406         2006-01-17  Jim Meyering  <jim@meyering.net>
79407
79408         Rewrite fts.c not to change the current working directory,
79409         by using openat, fstatat, fdopendir, etc..
79410
79411         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
79412         (HAVE_OPENAT_SUPPORT): Define.
79413         [_LIBC] (fchdir): Don't undef or define; no longer used.
79414         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
79415         Now, this `function' always succeeds, and consumes its file descriptor
79416         parameter -- so callers must not close such FDs.  Update callers.
79417         (diropen_fd, opendirat, cwd_advance_fd): New functions.
79418         (diropen): Add parameter, SP.  Adjust all callers.
79419         Implement using diropen_fd, rather than open.
79420         (fts_open): Initialize new member, fts_cwd_fd.
79421         Remove fts_rft-setting code.
79422         (fts_close): Close fts_cwd_fd, if necessary.
79423         (__opendir2): Define in terms of opendir or opendirat,
79424         depending on whether the FST_NOCHDIR flag is set.
79425         (fts_build): Since fts_safe_changedir consumes its FD, and since
79426         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
79427         and close the dup'd file descriptor upon failure.
79428         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
79429         (fts_safe_changedir): Tweak semantics to reflect that this function
79430         now calls cwd_advance_fd and hence consumes its FD argument.
79431         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
79432         [struct FTS] (fts_rft): Remove now-unused member.
79433         [struct FTS] (fts_cycle.state): Improve comment.
79434
79435         * lib/openat.c (openat_needs_fchdir): New function.
79436         * lib/openat.h (openat_needs_fchdir): Declare it.
79437
79438 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
79439
79440         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
79441         Problem and fix reported by Pádraig Brady in
79442         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
79443
79444 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79445
79446         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
79447
79448 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79449
79450         * lib/memcoll.c (memcoll): Optimize for the common case where the
79451         arguments are bytewise equal.
79452
79453 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79454
79455         * doc/regexprops-generic.texi: Add a copyright notice.
79456
79457 2006-08-15  Bruno Haible  <bruno@clisp.org>
79458
79459         * modules/tmpdir (License): Change to LGPL.
79460
79461 2006-08-15  Bruno Haible  <bruno@clisp.org>
79462
79463         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
79464         module.
79465
79466 2006-08-14  Simon Josefsson  <jas@extundo.com>
79467
79468         * config/srclist.txt: Add gnupload.
79469
79470 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79471
79472         Change copyright notice from LGPL 2 to GPL 2, since that's the
79473         standard form used in the gnulib repository.
79474         * tests/test-lock.c: Likewise.
79475         * tests/test-stdint.c: Likewise.
79476         * tests/test-tls.c: Likewise.
79477
79478         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
79479         prelude-manager.  User shorter URLs for GNU projects, without '?'.
79480         Add copyright notice.
79481
79482         * check-module: Add copyright notice.  Output a copyright
79483         notice if "--version" is specified.
79484         * modules/COPYING: New file.
79485         * tests/test-getaddrinfo.c: Add copyright notice.
79486         * tests/test-verify.c: Likewise.
79487
79488 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79489
79490         Change copyright notice from LGPL 2 to GPL 2, since that's the
79491         standard form used in the gnulib repository.
79492         * lib/lock.c: LGPL -> GPL.
79493         * lib/lock.h: Likewise.
79494         * lib/strnlen1.c: Likewise.
79495         * lib/strnlen1.h: Likewise.
79496         * lib/tls.c: Likewise.
79497         * lib/tls.h: Likewise.
79498         * lib/tmpdir.c: Likewise.
79499
79500         * lib/TODO: Remove; this belongs only in coreutils.
79501
79502 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79503
79504         Add copyright notices to long-enough files that lack them, since
79505         otherwise the files aren't clearly free.  Use the same notice that
79506         getdate.texi already uses.
79507         * doc/alloca-opt.texi: Add copyright notice.
79508         * doc/alloca.texi: Likewise.
79509         * doc/ctime.texi: Likewise.
79510         * doc/functions.texi: Likewise.
79511         * doc/gcd.texi: Likewise.
79512         * doc/gnulib-tool.texi: Likewise.
79513         * doc/inet_ntoa.texi: Likewise.
79514         * doc/visibility.texi: Likewise.
79515
79516         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
79517         * doc/quote.texi: Add copyright notice.
79518
79519         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
79520         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
79521         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
79522         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
79523         is now obsolete, and give a pointer to the Sun list.
79524         Add copyright notice.
79525
79526 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79527
79528         * config/srclistvars.sh: Add copyright notice.
79529
79530 2006-08-14  Eric Blake  <ebb9@byu.net>
79531
79532         Import the following change from libc:
79533
79534         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
79535
79536         Upstream bug 2997.
79537         * lib/misc/error.c: Add space between program name and message if file
79538         name is missing.
79539
79540 2006-08-12  Karl Berry  <karl@gnu.org>
79541
79542         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
79543         remove, these originate in gnulib now.
79544
79545 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79546
79547         * doc/Makefile (standards.info standards.html standards.dvi):
79548         Also depend on make-stds.texi.
79549
79550 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79551
79552         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
79553         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
79554
79555         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
79556         in wchar_t.  Problem reported by Eric Blake.
79557
79558         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
79559         LEN is smaller than SIZE.  Suggested by Bruno Haible.
79560         Also, help the compiler to keep LEN in a register.
79561
79562 2006-08-11  Eric Blake  <ebb9@byu.net>
79563
79564         * users.txt: Sort.  Add tar.
79565
79566 2006-08-11  Bruno Haible  <bruno@clisp.org>
79567
79568         * users.txt: New file.
79569
79570 2006-08-11  Bruno Haible  <bruno@clisp.org>
79571
79572         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
79573         before <wchar.h>. Needed for OSF/1 and BSD/OS.
79574
79575 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79576
79577         * modules/snprintf (Depends-on): Remove minmax.
79578         (Maintainer): Add self and Bruno.
79579
79580 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79581
79582         * lib/.cppi-disable: Add snprintf.h, socket_.h.
79583         * lib/snprintf.c: Include <errno.h> and <limits.h>.
79584         (EOVERFLOW): Define if the system does not.
79585         Do not include "minmax.h"; it wasn't used.
79586         (snprintf): Don't assume size_t promotes to an unsigned type.
79587         Fix bug when generated string was too long for the buffer: the
79588         buffer's contents are supposed to be the initial prefix of the
79589         output.  Don't assume vasnprintf returns EOVERFLOW if the size
79590         exceeds INT_MAX; do the check ourselves.
79591
79592         Import the following changes from libc:
79593
79594         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
79595
79596         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
79597         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
79598         set wc to the byte which couldn't be converted.
79599         (re_string_reconstruct): Don't clear valid_raw_len before calling
79600         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
79601         tip_context using re_string_context_at.
79602
79603         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
79604
79605         * lib/posix/regex.h: g++ still cannot handled [restrict].
79606
79607         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
79608
79609         * lib/posix/regex.h: Remove special handling for VMS.
79610
79611 2006-08-10  Jim Meyering  <jim@meyering.net>
79612
79613         * modules/same-inode: New module.
79614         * modules/dev-ino: New module.
79615         * modules/cycle-check: Depend on these modules, rather than simply
79616         including their .h files.
79617         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
79618         required via m4/cycle-check.m4.
79619         * modules/same: Depend on new same-inode module, rather than
79620         including same-inode.h.
79621         * modules/chdir-safer: New file.
79622
79623         * modules/chown (Depends-on): Add stat-macros.
79624
79625 2006-08-10  Jim Meyering  <jim@meyering.net>
79626
79627         * m4/cycle-check.m4: New file.
79628         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
79629         * m4/dev-ino.m4, m4/same-inode.m4: New files.
79630
79631 2006-08-10  Eric Blake  <ebb9@byu.net>
79632
79633         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
79634         in from original proposal.
79635
79636 2006-08-10  Eric Blake  <ebb9@byu.net>
79637         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
79638
79639         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
79640         namespace.
79641
79642 2006-08-10  Bruno Haible  <bruno@clisp.org>
79643
79644         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
79645         as well.
79646
79647 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79648
79649         Sync from coreutils.
79650
79651         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
79652
79653         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
79654         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
79655
79656 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79657
79658         * modules/restrict: Remove; no longer needed now that we assume
79659         Autoconf 2.59 or later.
79660         * MODULES.html.sh: Remove 'restrict'.
79661         * modules/argp (Depends-on): Remove 'restrict'.
79662         * modules/base64 (Depends-on): Likewise.
79663         * modules/gc (Depends-on): Likewise.
79664         * modules/getaddrinfo (Depends-on): Likewise.
79665         * modules/glob (Depends-on): Likewise.
79666         * modules/inet_ntop (Depends-on): Likewise.
79667         * modules/inet_pton (Depends-on): Likewise.
79668         * modules/memxor (Depends-on): Likewise.
79669         * modules/regex (Depends-on): Likewise.
79670         * modules/strtok_r (Depends-on): Likewise.
79671         * modules/time_r (Depends-on): Likewise.
79672
79673 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79674
79675         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
79676         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
79677         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
79678         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
79679         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
79680         * m4/memxor.m4 (gl_MEMXOR): Likewise.
79681         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
79682         gl_C_RESTRICT replaced by AC_C_RESTRICT.
79683
79684         Merge from coreutils.
79685         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
79686         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
79687         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
79688         * m4/time_r.m4 (gl_TIME_R): Likewise.
79689
79690 2006-08-09  Karl Berry  <karl@gnu.org>
79691
79692         * config/srclist.txt: no more gettext-tools, per Bruno.
79693
79694 2006-08-08  Eric Blake  <ebb9@byu.net>
79695
79696         * modules/verror: New module.
79697         * MODULES.html.sh: Document it.
79698
79699 2006-08-08  Eric Blake  <ebb9@byu.net>
79700
79701         * lib/verror.h, lib/verror.c: New files.
79702
79703 2006-08-08  Eric Blake  <ebb9@byu.net>
79704
79705         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
79706         verror_at_line output complies with GNU Coding Standards even when
79707         file is NULL.
79708
79709 2006-08-07  Bruno Haible  <bruno@clisp.org>
79710
79711         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
79712         versions of AIX.
79713         Reported by Ralf Wildenhues.
79714
79715 2006-08-07  Bruno Haible  <bruno@clisp.org>
79716
79717         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
79718         in an AC_DEFUN. Needed so that the autoconf snippets can use
79719         AC_REQUIRE.
79720
79721 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79722
79723         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79724         Initialize pkgdata_DATA.
79725         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
79726         overriding it.
79727
79728 2006-08-06  Eric Blake  <ebb9@byu.net>
79729
79730         * lib/error.h: Fold in some upstream changes from glibc.
79731         * lib/error.c: Likewise.
79732
79733 2006-08-04  Bruno Haible  <bruno@clisp.org>
79734
79735         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79736         Make the mostlyclean-local rule depend on mostlyclean-generic.
79737         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
79738
79739 2006-07-31  Bruno Haible  <bruno@clisp.org>
79740
79741         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
79742         <stdlib.h>, <string.h>.
79743
79744 2006-07-30  Bruno Haible  <bruno@clisp.org>
79745
79746         * modules/readlink (License): Change to LGPL.
79747
79748 2006-07-30  Bruno Haible  <bruno@clisp.org>
79749
79750         * modules/javaversion (Makefile.am): Distribute javaversion.java and
79751         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
79752         set PKGDATADIR to point to it.
79753
79754 2006-07-30  Bruno Haible  <bruno@clisp.org>
79755
79756         * modules/csharpexec (configure.ac): Comment out macro invocation.
79757         * modules/javaexec (configure.ac): Likewise.
79758         * modules/javacomp-script (configure.ac): Likewise.
79759
79760         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
79761
79762 2006-07-30  Bruno Haible  <bruno@clisp.org>
79763
79764         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
79765         linked-list.
79766
79767 2006-07-30  Bruno Haible  <bruno@clisp.org>
79768
79769         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
79770
79771 2006-07-30  Bruno Haible  <bruno@clisp.org>
79772
79773         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79774         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
79775         get removed.
79776
79777 2006-07-29  Bruno Haible  <bruno@clisp.org>
79778
79779         Make it possible for gnulib-tool to work with locally modified or
79780         augmented gnulib repositories.
79781         * gnulib-tool (func_usage): Document --local-dir option.
79782         (local_gnulib_dir): New variable.
79783         Handle --local-dir option.
79784         (func_lookup_file): New function.
79785         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
79786         (func_get_description, func_get_filelist, func_get_description,
79787         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
79788         func_get_automake_snippet, func_get_include_directive,
79789         func_get_license, func_get_maintainer): Use func_lookup_file.
79790         (func_import, func_create_testdir): Use func_lookup_file.
79791
79792 2006-07-29  Bruno Haible  <bruno@clisp.org>
79793
79794         * modules/setenv (Depends-on): Add unistd.
79795
79796 2006-07-29  Bruno Haible  <bruno@clisp.org>
79797
79798         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
79799
79800 2006-07-29  Bruno Haible  <bruno@clisp.org>
79801
79802         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
79803
79804 2006-07-29  Bruno Haible  <bruno@clisp.org>
79805
79806         * gnulib-tool (import, update): If there is no Makefile.am, look at
79807         aclocal.m4, instead of bailing out.
79808
79809 2006-07-29  Bruno Haible  <bruno@clisp.org>
79810
79811         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
79812         Categorize the options by when they are useful.
79813
79814 2006-07-29  Bruno Haible  <bruno@clisp.org>
79815
79816         * gnulib-tool (func_usage): Document option --no-libtool.
79817         Handle option --no-libtool.
79818         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
79819         for changed semantics of $libtool variable.
79820         (func_import): Likewise. If libtool is not used, show this through
79821         an option --no-libtool.
79822         (func_create_testdir): Update.
79823
79824 2006-07-29  Bruno Haible  <bruno@clisp.org>
79825
79826         * gnulib-tool (func_import): Extend error message about missing
79827         --doc-base.
79828
79829 2006-07-29  Bruno Haible  <bruno@clisp.org>
79830
79831         * gnulib-tool (func_import): Don't create the $docbase directory if
79832         there is no file to store there.
79833
79834 2006-07-29  Bruno Haible  <bruno@clisp.org>
79835
79836         * gnulib-tool (autoconf_minversion): If a --dir option is given and
79837         relevant, look for configure.ac there, not in the current directory.
79838         Also use a simple search for AC_PREREQ, not "autoconf --trace".
79839
79840 2006-07-29  Bruno Haible  <bruno@clisp.org>
79841
79842         * gnulib-tool (SORT): New variable.
79843         (func_usage): Undocument --assume-autoconf option.
79844         Remove --assume-autoconf option handling.
79845         (autoconf_minversion): Determine from the contents of configure.ac.
79846         (func_import): Remove autoconf_minversion handling.
79847         Suggested by Eric Blake.
79848
79849 2006-07-29  Bruno Haible  <bruno@clisp.org>
79850
79851         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
79852
79853 2006-07-29  Bruno Haible  <bruno@clisp.org>
79854
79855         * config/srclist.txt (*setenv.[ch]): Remove rules.
79856
79857 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79858
79859         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
79860
79861 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79862
79863         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
79864         arpa/inet.h.
79865
79866 2006-07-28  Simon Josefsson  <jas@extundo.com>
79867
79868         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
79869         * modules/inet_pton (Depends-on): Likewise.
79870
79871 2006-07-28  Simon Josefsson  <jas@extundo.com>
79872
79873         * m4/netinet_in_h.m4: New file.
79874
79875 2006-07-28  Simon Josefsson  <jas@extundo.com>
79876
79877         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
79878         #include's.
79879
79880 2006-07-28  Simon Josefsson  <jas@extundo.com>
79881
79882         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
79883         #include's.
79884
79885 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
79886
79887         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
79888         setgid on directories only if they set these bits.
79889         * lib/modechange.h: Remove obsolete comment about masks.
79890
79891 2006-07-28  Eric Blake  <ebb9@byu.net>
79892
79893         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
79894         macro expansion.
79895
79896 2006-07-28  Bruno Haible  <bruno@clisp.org>
79897
79898         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
79899
79900 2006-07-28  Bruno Haible  <bruno@clisp.org>
79901
79902         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
79903
79904 2006-07-28  Bruno Haible  <bruno@clisp.org>
79905
79906         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
79907         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
79908         Define fallbacks.
79909         Avoids link error on FreeBSD 4.x.
79910         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79911
79912         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
79913         encoding.
79914         * lib/mbswidth.c (iswcntrl): Likewise.
79915
79916 2006-07-27  Bruno Haible  <bruno@clisp.org>
79917
79918         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
79919         test.
79920
79921 2006-07-27  Bruno Haible  <bruno@clisp.org>
79922
79923         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
79924         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
79925         defined.
79926
79927 2006-07-26  Eric Blake  <ebb9@byu.net>
79928
79929         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
79930
79931 2006-07-26  Eric Blake  <ebb9@byu.net>
79932
79933         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
79934         like mingw that lack mkstemp.
79935         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
79936         avoid compilation warning on mingw.
79937
79938 2006-07-26  Bruno Haible  <bruno@clisp.org>
79939
79940         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
79941         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
79942         INT_FAST*_MIN, INTPTR_MIN.
79943
79944 2006-07-25  Bruno Haible  <bruno@clisp.org>
79945
79946         * modules/version-etc (Depends-on): Add stdarg.
79947
79948 2006-07-25  Bruno Haible  <bruno@clisp.org>
79949
79950         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
79951         complex commands.
79952
79953 2006-07-25  Bruno Haible  <bruno@clisp.org>
79954
79955         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
79956         defined in <stdarg.h> or config.h.
79957
79958 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
79959
79960         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
79961         (gl_STDIO_SAFER): Remove.
79962
79963 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
79964
79965         * MODULES.html.sh (File stream based Input/Output):
79966         Add fopen-safer, tmpfile-safer; remove stdio-safer.
79967         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
79968         * modules/fopen-safer, modules/tmpfile-safer: New files.
79969         * modules/stdio-safer: Remove.
79970
79971 2006-07-24  Bruno Haible  <bruno@clisp.org>
79972
79973         * modules/tmpdir: New file.
79974         * MODULES.html.sh (File system functions): Add it.
79975
79976 2006-07-24  Bruno Haible  <bruno@clisp.org>
79977
79978         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
79979         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
79980
79981 2006-07-24  Bruno Haible  <bruno@clisp.org>
79982
79983         * modules/clean-temp: New file.
79984
79985 2006-07-24  Bruno Haible  <bruno@clisp.org>
79986
79987         * m4/tmpdir.m4: New file, from GNU gettext.
79988
79989 2006-07-24  Bruno Haible  <bruno@clisp.org>
79990
79991         * lib/tmpdir.h: New file, from GNU gettext.
79992         * lib/tmpdir.c: New file, from GNU gettext.
79993
79994 2006-07-24  Bruno Haible  <bruno@clisp.org>
79995
79996         * lib/clean-temp.h: New file, from GNU gettext.
79997         * lib/clean-temp.c: New file, from GNU gettext.
79998
79999 2006-07-23  Eric Blake  <ebb9@byu.net>
80000
80001         * modules/stdio-safer (Files): Add tmpfile-safer.c.
80002         (Depends-on): Add binary-io.
80003
80004 2006-07-23  Eric Blake  <ebb9@byu.net>
80005
80006         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
80007
80008 2006-07-23  Eric Blake  <ebb9@byu.net>
80009
80010         * lib/tmpfile-safer.c: New file.
80011         * lib/stdio-safer.h (fopen_safer): Add prototype.
80012         * lib/stdio--.h (tmpfile): Make safer.
80013
80014 2006-07-23  Bruno Haible  <bruno@clisp.org>
80015
80016         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
80017         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
80018         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
80019         gl_linked_remove_at): Use it.
80020
80021 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80022         and Simon Josefsson <jas@extundo.com>
80023
80024         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
80025
80026         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
80027
80028 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80029
80030         * modules/close-stream: New file.
80031         * modules/closeout (Description): Make it clear that it exits
80032         with a diagnostic on error.
80033         (Depends-on): Add close-stream.  Remove fpending, stdbool.
80034         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
80035
80036 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80037
80038         * m4/close-stream.m4: New file.
80039
80040 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80041
80042         * lib/close-stream.c, lib/close-stream.h: New files.
80043
80044 2006-07-22  Bruno Haible  <bruno@clisp.org>
80045
80046         Merge from GNU gettext 0.15.
80047
80048         2006-05-01  Bruno Haible  <bruno@clisp.org>
80049
80050                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
80051
80052         2006-07-22  Bruno Haible  <bruno@clisp.org>
80053
80054                 * modules/javaversion: New file.
80055                 * MODULES.html.sh (Java): Add javaversion.
80056
80057         2006-03-12  Bruno Haible  <bruno@clisp.org>
80058
80059                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
80060
80061         2005-12-04  Bruno Haible  <bruno@clisp.org>
80062
80063                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
80064                 (untested).
80065
80066         2006-06-21  Bruno Haible  <bruno@clisp.org>
80067
80068                 Avoid warnings from recent versions of mcs.
80069                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
80070                 -o, -L, -r any more. Use options documented since mcs-1.0
80071                 instead. Similarly for -g.
80072
80073         2005-12-04  Bruno Haible  <bruno@clisp.org>
80074
80075                 * build-aux/csharpcomp.sh.in: Suffix for resources is
80076                 .resources, not .resource.
80077
80078         2005-07-09  Bruno Haible  <bruno@clisp.org>
80079
80080                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
80081                 add a .dll suffix.
80082                 Reported by Mark Junker <mjscod@gmx.de>.
80083
80084         2006-07-22  Bruno Haible  <bruno@clisp.org>
80085
80086                 * modules/gettext: Upgrade to gettext-0.15.
80087                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
80088                 m4/visibility.m4.
80089                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
80090
80091 2006-07-22  Bruno Haible  <bruno@clisp.org>
80092
80093         Merge from GNU gettext 0.15.
80094
80095         2006-03-25  Bruno Haible  <bruno@clisp.org>
80096
80097                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
80098
80099         2006-07-21  Bruno Haible  <bruno@clisp.org>
80100
80101                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
80102                 "1.1".
80103
80104         2006-05-09  Bruno Haible  <bruno@clisp.org>
80105
80106                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
80107                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
80108                 for the conftestver execution.
80109
80110         2006-05-01  Bruno Haible  <bruno@clisp.org>
80111
80112                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
80113                 optional target-version argument. Verify that the compiler
80114                 groks source of the specified source-version, or add -source
80115                 option as necessary. Verify that the compiler produces
80116                 bytecode in the specified target-version, or add -target and
80117                 -source options as necessary. Make the result of the test
80118                 available as variable CONF_JAVAC. Also log error output in
80119                 config.log.
80120
80121         2006-03-11  Bruno Haible  <bruno@clisp.org>
80122
80123                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
80124
80125         2006-05-09  Bruno Haible  <bruno@clisp.org>
80126
80127                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
80128                 CLASSPATH_SEPARATOR to a semicolon.
80129
80130         2006-03-12  Bruno Haible  <bruno@clisp.org>
80131
80132                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
80133                 available as variable CONF_JAVA, for subsequent autoconf
80134                 tests. Also log error output in config.log.
80135
80136         2006-07-19  Bruno Haible  <bruno@clisp.org>
80137
80138                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
80139                 that getline works on glibc2 systems. Needed to avoid trouble
80140                 in relocatable.c.
80141                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
80142
80143         2005-12-04  Bruno Haible  <bruno@clisp.org>
80144
80145                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
80146                 launcher (untested).
80147
80148         2005-12-04  Bruno Haible  <bruno@clisp.org>
80149
80150                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
80151
80152         2006-07-22  Bruno Haible  <bruno@clisp.org>
80153
80154                 * gettext.m4: Update from GNU gettext-0.15.
80155                 * nls.m4: Likewise.
80156                 * po.m4: Likewise.
80157                 * inttypes-pri.m4: Likewise.
80158                 * inttypes-h.m4: Renamed from inttypes.m4.
80159                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
80160
80161 2006-07-22  Bruno Haible  <bruno@clisp.org>
80162
80163         Merge from GNU gettext 0.15.
80164
80165         2005-07-05  Bruno Haible  <bruno@clisp.org>
80166
80167                 * printf-args.c (printf_fetchargs): Work around broken
80168                 definition of wint_t on mingw.
80169
80170         2005-02-12  Bruno Haible  <bruno@clisp.org>
80171
80172                 * xallocsa.h: Add extern "C" for C++.
80173
80174         2006-05-17  Bruno Haible  <bruno@clisp.org>
80175
80176                 Cygwin portability.
80177                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
80178
80179         2006-04-30  Bruno Haible  <bruno@clisp.org>
80180
80181                 * progreloc.c: Include <mach-o/dyld.h> if available.
80182                 (find_executable): Use _NSGetExecutablePath when possible.
80183
80184         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
80185
80186                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
80187                 function.
80188
80189         2005-12-29  Bruno Haible  <bruno@clisp.org>
80190
80191                 * progreloc.c (set_program_name_and_installdir): Fix
80192                 compilation error.
80193
80194         2005-12-04  Bruno Haible  <bruno@clisp.org>
80195
80196                 Cygwin portability.
80197                 * progreloc.c: Include <windows.h> also on Cygwin.
80198                 (find_executable): Add support for Cygwin.
80199                 (set_program_name_and_installdir): Handle also platforms with
80200                 nonempty EXEEXT.
80201
80202         2006-07-11  Bruno Haible  <bruno@clisp.org>
80203
80204                 * javacomp.c: Fix a comment.
80205                 Reported by Jim Meyering.
80206
80207         2006-04-30  Bruno Haible  <bruno@clisp.org>
80208
80209                 * javacomp.h (compile_java_class): Add source_version,
80210                 target_version arguments.
80211                 * javacomp.c: Rewritten to choose only a compiler that
80212                 respects the specified source_version and target_version.
80213
80214         2006-06-27  Bruno Haible  <bruno@clisp.org>
80215
80216                 Assume correct S_ISDIR macro.
80217                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
80218
80219         2006-07-22  Bruno Haible  <bruno@clisp.org>
80220
80221                 * javaversion.h: New file, from GNU gettext.
80222                 * javaversion.c: New file, from GNU gettext.
80223                 * javaversion.java: New file, from GNU gettext.
80224                 * javaversion.class: New file, from GNU gettext.
80225
80226         2006-05-17  Bruno Haible  <bruno@clisp.org>
80227
80228                 Cygwin portability.
80229                 * javaexec.c (execute_java_class): Test for jview program
80230                 also on Cygwin.
80231
80232         2006-04-09  Bruno Haible  <bruno@clisp.org>
80233
80234                 * fatal-signal.c: Don't include string.h.
80235                 (at_fatal_signal): Use a copying loop instead of memcpy.
80236
80237         2005-12-04  Bruno Haible  <bruno@clisp.org>
80238
80239                 * csharpexec.c: Add support for 'clix' launcher (untested).
80240                 (execute_csharp_using_sscli): New function.
80241                 (execute_csharp_program): Call it.
80242
80243         2006-06-21  Bruno Haible  <bruno@clisp.org>
80244
80245                 Avoid warnings from recent versions of mcs.
80246                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
80247                 -o, -L, -r any more. Use options documented since mcs-1.0
80248                 instead. Similarly for -g.
80249
80250         2005-07-09  Bruno Haible  <bruno@clisp.org>
80251
80252                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
80253                 add a .dll suffix.
80254                 Reported by Mark Junker <mjscod@gmx.de>.
80255
80256         2006-06-17  Bruno Haible  <bruno@clisp.org>
80257
80258                 * config.charset: Update for NetBSD 3.0.
80259
80260         2006-05-17  Bruno Haible  <bruno@clisp.org>
80261
80262                 Cygwin portability.
80263                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
80264
80265         2006-05-16  Bruno Haible  <bruno@clisp.org>
80266
80267                 * localcharset.c [CYGWIN]: Include <windows.h>.
80268                 (get_charset_aliases): For Cygwin, return the same CPxxx
80269                 aliases list as under WIN32.
80270                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
80271                 the environment variables. Fall back to GetACP().
80272
80273         2006-04-05  Bruno Haible  <bruno@clisp.org>
80274
80275                 * config.charset: Update Juan Manuel Guerrero's address.
80276
80277         2005-02-12  Bruno Haible  <bruno@clisp.org>
80278
80279                 * allocsa.h: Add extern "C" for C++.
80280
80281         2005-02-10  Bruno Haible  <bruno@clisp.org>
80282
80283                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
80284                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
80285
80286         2006-07-22  Bruno Haible  <bruno@clisp.org>
80287
80288                 * gettext.h: Update to GNU gettext-0.15.
80289
80290 2006-07-22  Bruno Haible  <bruno@clisp.org>
80291
80292         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
80293         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
80294         lib-prefix.m4, longdouble.m4, ssize_t.m4.
80295
80296 2006-07-21  Eric Blake  <ebb9@byu.net>
80297
80298         * modules/stdlib-safer: New file.
80299         * MODULES.html.sh (File stream based Input/Output): Add
80300         stdlib-safer.
80301
80302 2006-07-21  Eric Blake  <ebb9@byu.net>
80303
80304         * lib/stdlib-safer.h: New file from coreutils, required by
80305         stdlib--.h.
80306
80307 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
80308
80309         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
80310
80311 2006-07-20  Bruno Haible  <bruno@clisp.org>
80312
80313         * gnulib-tool: Recognize new option --assume-autoconf.
80314         (autoconf_minversion): New variable.
80315         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
80316
80317 2006-07-20  Bruno Haible  <bruno@clisp.org>
80318
80319         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
80320
80321 2006-07-19  Derek R. Price  <derek@ximbiot.com>
80322
80323         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
80324         Reindent and repaginate.
80325
80326 2006-07-19  Derek Price  <derek@ximbiot.com>
80327
80328         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
80329         Correct grammar.
80330
80331 2006-07-17  Bruno Haible  <bruno@clisp.org>
80332
80333         * modules/list: New file.
80334         * modules/array-list: New file.
80335         * modules/carray-list, modules/carray-list-tests: New files.
80336         * modules/linked-list, modules/linked-list-tests: New files.
80337         * modules/avltree-list, modules/avltree-list-tests: New files.
80338         * modules/rbtree-list, modules/rbtree-list-tests: New files.
80339         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
80340         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
80341         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
80342         * modules/oset: New file.
80343         * modules/array-oset: New file.
80344         * modules/avltree-oset, modules/avltree-oset-tests: New files.
80345         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
80346         * tests/test-carray_list.c: New file.
80347         * tests/test-linked_list.c: New file.
80348         * tests/test-avltree_list.c: New file.
80349         * tests/test-rbtree_list.c: New file.
80350         * tests/test-linkedhash_list.c: New file.
80351         * tests/test-avltreehash_list.c: New file.
80352         * tests/test-rbtreehash_list.c: New file.
80353         * tests/test-avltree_oset.c: New file.
80354         * tests/test-rbtree_oset.c: New file.
80355         * MODULES.html.sh (Container data structures): New section.
80356
80357 2006-07-17  Bruno Haible  <bruno@clisp.org>
80358
80359         * m4/gl_list.m4: New file.
80360
80361 2006-07-17  Bruno Haible  <bruno@clisp.org>
80362
80363         * lib/gl_list.h: New file.
80364         * lib/gl_list.c: New file.
80365         * lib/gl_array_list.h: New file.
80366         * lib/gl_array_list.c: New file.
80367         * lib/gl_carray_list.h: New file.
80368         * lib/gl_carray_list.c: New file.
80369         * lib/gl_linked_list.h: New file.
80370         * lib/gl_linked_list.c: New file.
80371         * lib/gl_anylinked_list1.h: New file.
80372         * lib/gl_anylinked_list2.h: New file.
80373         * lib/gl_avltree_list.h: New file.
80374         * lib/gl_avltree_list.c: New file.
80375         * lib/gl_anyavltree_list1.h: New file.
80376         * lib/gl_anyavltree_list2.h: New file.
80377         * lib/gl_rbtree_list.h: New file.
80378         * lib/gl_rbtree_list.c: New file.
80379         * lib/gl_anyrbtree_list1.h: New file.
80380         * lib/gl_anyrbtree_list2.h: New file.
80381         * lib/gl_anytree_list1.h: New file.
80382         * lib/gl_anytree_list2.h: New file.
80383         * lib/gl_linkedhash_list.h: New file.
80384         * lib/gl_linkedhash_list.c: New file.
80385         * lib/gl_anyhash_list1.h: New file.
80386         * lib/gl_anyhash_list2.h: New file.
80387         * lib/gl_avltreehash_list.h: New file.
80388         * lib/gl_avltreehash_list.c: New file.
80389         * lib/gl_rbtreehash_list.h: New file.
80390         * lib/gl_rbtreehash_list.c: New file.
80391         * lib/gl_anytreehash_list1.h: New file.
80392         * lib/gl_anytreehash_list2.h: New file.
80393
80394         * lib/gl_oset.h: New file.
80395         * lib/gl_oset.c: New file.
80396         * lib/gl_array_oset.h: New file.
80397         * lib/gl_array_oset.c: New file.
80398         * lib/gl_avltree_oset.h: New file.
80399         * lib/gl_avltree_oset.c: New file.
80400         * lib/gl_rbtree_oset.h: New file.
80401         * lib/gl_rbtree_oset.c: New file.
80402         * lib/gl_anytree_oset.h: New file.
80403
80404 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80405
80406         * m4/mkancesdirs.m4: New file.
80407         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
80408         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
80409         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
80410         it.
80411
80412 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80413
80414         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
80415         * lib/mkancesdirs.h: New files.
80416         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
80417         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
80418         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
80419         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
80420         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
80421         callers changed.  Revamp internals significantly, by not
80422         attempting to create directories that are temporarily more
80423         permissive than the final results.  Do not attempt to use
80424         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
80425         This removes some race conditions, fixes some bugs, and simplifies
80426         things.  Use new dirchownmod function to do owner and mode changes.
80427         * lib/mkdir-p.h: Likewise.
80428         * lib/modechange.c (octal_to_mode): New function.
80429         (struct mode_change): New member mentioned.
80430         (make_node_op_equals): New arg mentioned.  All callers changed.
80431         (mode_compile): Keep track of which mode bits the user has explicitly
80432         mentioned.
80433         (mode_adjust): New arg DIR, so that we implement the X op correctly.
80434         New arg PMODE_BITS, to keep track of which mode bits the user
80435         mentioned; it treats S_ISUID and S_ISGID speciall.
80436         All callers changed.
80437         * lib/modechange.h: Likewise.
80438
80439 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80440
80441         * MODULES.html.sh: Add mkancestors.
80442         * modules/mkancesdirs: New module.
80443         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
80444         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
80445         The chdir-safer and afs files are now orphans; I'll remove them
80446         unless someone speaks up.
80447         Add lib/dirchownmod.c, lib/dirchownmod.h.
80448         (Depends-on): Remove alloca, chown, save-cwd, dirname.
80449         Add lchown, mkancesdirs.
80450         (Maintainer): Add self.
80451
80452 2006-07-15  Karl Berry  <karl@gnu.org>
80453
80454         * gnulib-tool: help message wording/arrangement.
80455
80456 2006-07-14  Simon Josefsson  <jas@extundo.com>
80457
80458         * doc/gnulib.texi (Libtool and Windows): New section.
80459
80460 2006-07-12  Simon Josefsson  <jas@extundo.com>
80461
80462         * modules/gendocs (License): Fix license, approved by Karl.
80463
80464 2006-07-12  Eric Blake  <ebb9@byu.net>
80465
80466         * MODULES.html.sh: Add gendocs.
80467
80468 2006-07-11  Eric Blake  <ebb9@byu.net>
80469
80470         * modules/fdl: New module, to install doc/fdl.texi.
80471         * MODULES.html.sh: Add new section for documentation modules.
80472         * gnulib-tool: Avoid space-tab.
80473         (--doc-base): New option, to manage files from doc.
80474
80475 2006-07-11  Eric Blake  <ebb9@byu.net>
80476
80477         * m4/absolute-header.m4: Fix comments to match recent change.
80478
80479 2006-07-11  Eric Blake  <ebb9@byu.net>
80480
80481         * gnulib-tool: List --doc-base before --tests-base.
80482
80483 2006-07-11  Derek R. Price  <derek@ximbiot.com>
80484
80485         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
80486
80487 2006-07-11  Bruno Haible  <bruno@clisp.org>
80488
80489         * README: Mention where to put documentation.
80490
80491 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80492
80493         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
80494
80495 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80496
80497         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
80498         to stdint.m4.
80499
80500 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80501
80502         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
80503         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
80504         "no/such/file/stdint.h" when there is no such file, so that
80505         the resulting C code can be parsed by dodgy compilers.
80506         Problems reported by Bob Proulx.
80507
80508 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80509
80510         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
80511         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80512         macros into the GNU _D_EXACT_NAMLEN.
80513         * lib/savedir.c:  Likewise.
80514         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
80515
80516 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80517         and Paul Eggert  <eggert@cs.ucla.edu>
80518
80519         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
80520         * m4/savedir.m4:
80521         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80522         macros into the GNU _D_EXACT_NAMLEN.
80523
80524 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80525
80526         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
80527         around the absolute name, to work around a problem with the HP-UX
80528         11.23 native C compiler, reported by Bob Proulx.
80529
80530 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80531
80532         * doc/maintain.texi, make-stds.texi: Sync from
80533         <http://savannah.gnu.org/projects/gnustandards>.
80534
80535 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80536
80537         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
80538
80539 2006-07-09  Jim Meyering  <jim@meyering.net>
80540
80541         * m4/glob.m4: Remove a doubled word in a comment.
80542
80543 2006-07-09  Jim Meyering  <jim@meyering.net>
80544
80545         * lib/argp-pv.c: Remove a doubled word in a comment.
80546         * lib/check-version.c (check_version): Likewise.
80547         * lib/javacomp.c (compile_java_class): Likewise.
80548
80549 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
80550
80551         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
80552         for the benefit of people using Autoconf 2.60.  If you want to
80553         support older Autoconf versions you can copy m4/onceonly_2_57.m4
80554         (or m4/onceonly.m4, if pre-2.57) manually.
80555
80556 2006-07-08  Jim Meyering  <jim@meyering.net>
80557
80558         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
80559         comment.
80560         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
80561         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
80562         comment.
80563
80564 2006-07-08  Jim Meyering  <jim@meyering.net>
80565
80566         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
80567
80568 2006-07-07  Simon Josefsson  <jas@extundo.com>
80569
80570         * tests/test-crc.c: Change expected crc value, the test vector
80571         were probably computed using the old broken crc.c?
80572
80573 2006-07-06  Simon Josefsson  <jas@extundo.com>
80574
80575         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
80576         now the canonical place for the M4 file).
80577
80578         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
80579         from the sys_socket dependency now.
80580
80581         * modules/inet_pton (Files): Ditto.
80582
80583         * modules/inet_ntop (Files): Ditto.
80584
80585 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80586
80587         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
80588         not gl_PREREQ_GETUSERSHELL.
80589
80590 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80591
80592         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
80593         with only one argument, for Autoconf 2.60.
80594         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
80595         expand to nothing, so add a shell command to avoid syntax error.
80596         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
80597
80598 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80599
80600         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
80601
80602 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80603
80604         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
80605         no longer needed.  Check for isblank decl.
80606         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
80607         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
80608         of existence.
80609
80610 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80611
80612         * lib/getloadavg.c: Use __VMS, not VMS.
80613         * lib/getopt.c: Likewise.
80614         * lib/getpagesize.h: Likewise.
80615         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
80616         and probably does not work.
80617
80618 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80619
80620         * lib/.cppi-disable: Add wcwidth.
80621         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
80622         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
80623         (ISGRAPH): Remove.  All uses changed to isgraph.
80624         (FOLD) [!defined _LIBC]: Remove special case.
80625         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
80626         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
80627         HAVE_ISBLANK.
80628         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
80629         case.
80630
80631 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
80632
80633         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
80634         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
80635         brackets.  Other minor changes to suppress some compiler
80636         warnings.
80637
80638 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80639         and Paul Eggert  <eggert@cs.ucla.edu>
80640
80641         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
80642         of invoking obsolescent AC_HEADER_DIRENT macro.
80643         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
80644         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
80645         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
80646         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
80647         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
80648         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
80649         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
80650         * m4/readdir.m4: Remove; no longer needed.
80651
80652 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80653         and Paul Eggert  <eggert@cs.ucla.edu>
80654
80655         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
80656         Don't worry about this obsolete case any more.
80657         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
80658         directories.
80659         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
80660         worry about this obsolete case any more.
80661         * lib/fts.c: Likewise.
80662         * lib/getcwd.c: Likewise.
80663         * lib/glob.h: Likewise.
80664         * lib/savedir.c: Likewise.
80665
80666 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80667
80668         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
80669         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
80670         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
80671         needed.
80672         All uses removed.
80673         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80674         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
80675         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
80676         needed.
80677         * m4/getdate.m4 (gl_GETDATE): Likewise.
80678         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
80679         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
80680         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
80681         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80682         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
80683         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80684         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
80685         needed.
80686
80687 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80688
80689         * lib/memcasecmp.c: Include <limits.h>.
80690         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
80691         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
80692         Don't assume isdigit succeeds only on '0' through '9'.
80693
80694 2006-07-05  Eric Blake  <ebb9@byu.net>
80695
80696         * modules/getaddrinfo (Depends-on): Add snprintf.
80697
80698 2006-07-05  Eric Blake  <ebb9@byu.net>
80699
80700         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
80701         to avoid 'header present but could not be compiled' on cygwin.
80702
80703 2006-07-05  Eric Blake  <ebb9@byu.net>
80704
80705         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
80706         missing from netdb.h.
80707         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
80708
80709 2006-07-05  Derek R. Price  <derek@ximbiot.com>
80710
80711         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
80712         no longer needed.
80713         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
80714         * m4/getdate.m4 (gl_GETDATE): Likewise.
80715         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
80716         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
80717         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
80718         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80719         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80720
80721 2006-07-05  Derek R. Price  <derek@ximbiot.com>
80722
80723         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
80724         All uses of is_space replaced by isspace.
80725         * lib/exit.h: Don't talk about STDC_HEADERS.
80726         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
80727         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
80728         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
80729         replaced by isprint etc.
80730         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
80731         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
80732         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
80733         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
80734         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
80735         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
80736
80737 2006-07-05  Bruno Haible  <bruno@clisp.org>
80738
80739         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
80740         the function exists, before testing against AIX.
80741         Reported by Martin Lambers <marlam@marlam.de>.
80742
80743 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
80744
80745         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
80746         From Mark D. Baushke.
80747
80748 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
80749
80750         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
80751         to the absolute name, not just one, to bypass Sun C 5.8's
80752         "warning: #include of /usr/include/... may be non-portable".
80753
80754 2006-07-04  Eric Blake  <ebb9@byu.net>
80755
80756         * modules/dirname-tests: New test module.
80757         * tests/test-dirname.c: New file, replacing dirname.c
80758         TEST_DIRNAME section that was recently deleted.
80759
80760 2006-07-04  Bruno Haible  <bruno@clisp.org>
80761
80762         Assume ANSI C header files and <ctype.h> functions.
80763         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
80764         (mbsnwidth): Use isprint, iscntrl instead.
80765
80766 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80767
80768         Merge from coreutils.
80769         * MODULES.html.sh: Add xstrtold.
80770         * modules/xstrtold: New file.
80771         * modules/cycle-check (Files): Add lib/same-inode.h.
80772         * modules/dirname (Files): Add m4/double-slash-root.m4.
80773         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
80774         * modules/mkdir-p (Files): Add lib/same-inode.h.
80775         * modules/same (Files): Add lib/same-inode.h.
80776
80777 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80778
80779         * m4/absolute-header.m4: Renamed from full-header-path.m4.
80780         This is to keep the terminology clean; POSIX talks about
80781         "absolute pathnames", not "full pathnames", but the GNU
80782         Coding Standards say to use "path" for something else;
80783         so use "absolute" to keep both sides happy.
80784         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
80785         Set gl_absolute_header, not gl_full_header_path.
80786         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
80787         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
80788         All uses changed.
80789
80790         Merge from coreutils.
80791
80792         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
80793
80794         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
80795         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
80796         want to require the building of c-strtod.o.
80797         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
80798         needs -lm directly.
80799         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
80800
80801         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
80802
80803         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
80804         --as-needed option if available.  Problem reported by Albert Chin in
80805         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
80806         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
80807         cc merely issues a bunch of annoying warnings for --as-needed
80808         (this problem was reported by Bob Proulx).  Also, try linking with
80809         -lm to detect a bug in binutils 2.16 (this problem was reported
80810         by Ralf Wildenhues).
80811
80812         2006-06-18  Jim Meyering  <jim@meyering.net>
80813
80814         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
80815         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
80816         macro.
80817         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
80818         also check for glibc-2.4's abort-inducing bug.
80819
80820         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
80821         Low-probability clean-up should be to use rmdir to get rid of
80822         the just-created directory, not unlink.
80823
80824         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
80825         configure fail, and request a bug report to inform us about it.
80826         Add a comment that, barring reports to the contrary, in 2007 we'll
80827         assume ftruncate is universally available.
80828
80829         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
80830
80831         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
80832
80833         2006-03-12  Jim Meyering  <jim@meyering.net>
80834
80835         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
80836         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
80837         * m4/same.m4 (gl_SAME): Likewise.
80838         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
80839
80840         2006-03-11  Eric Blake  <ebb9@byu.net>
80841
80842         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
80843         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
80844         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
80845         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
80846
80847 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80848
80849         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
80850         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
80851         reported by Mark D. Baushke, one in
80852         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
80853
80854         Merge from coreutils.
80855
80856         * lib/.cppi-disable: Add stdint_.h.
80857         * lib/.cvsignore: Add stdint.h.
80858
80859         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
80860
80861         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
80862         both double and long double versions.
80863         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
80864         * lib/xstrtold.c: New file.
80865         * lib/xstrtod.h (xstrtold): New decl.
80866
80867         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
80868
80869         * lib/filemode.c (setst): Remove.
80870         (strmode): Rewrite to avoid setst.  This makes the code shorter,
80871         (arguably) clearer, and the generated code is a bit smaller on my
80872         Debian GNU/Linux stable x86 host.
80873
80874         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
80875
80876         * lib/filemode.c: Include "filemode.h" first, to test the interface.
80877         Assume that filemode.h includes sys/types.h and sys/stat.h.
80878         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
80879         (ftypelet): Reorder to put common cases first, for efficiency.
80880         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
80881         to do 'M'.
80882         (strmode): Renamed from mode_string, and now stores 12 bytes instead
80883         of 10, for compatibility with FreeBSD.  All callers changed.
80884         (filemodestring): Now stores 12 bytes instead of 10, and sets file
80885         types that can't be deduced solely from st_mode.  First arg is now a
80886         const pointer.
80887         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
80888         (strmode): Renamed from mode_string.
80889         (filemodestring): New decl.
80890         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
80891         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
80892         needed.
80893         (S_ISPORT, S_ISWHT): New macros, if not already defined.
80894
80895         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
80896
80897         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
80898         fsusage.h now does that.  Include fsusage.h first, to test interface.
80899         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
80900         at most one method (the old code could have generated decls that
80901         didn't conform to C89, not that this was ever exercised).
80902         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
80903
80904         2006-03-19  Jim Meyering  <jim@meyering.net>
80905
80906         Work even in a chroot where d_ino values for entries in "/"
80907         don't match the stat.st_ino values for the same names.
80908         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
80909         number, iterate through all entries again, using lstat instead.
80910         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
80911         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
80912
80913         * lib/getcwd.c (__getcwd): Clarify a comment.
80914         Use memcpy in place of a call to strcpy.
80915
80916         2006-03-12  Jim Meyering  <jim@meyering.net>
80917
80918         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
80919         matches that of the current directory (which we're about to chdir ".."
80920         out of), then save the dev-ino of the parent, instead.
80921
80922         * lib/same-inode.h (SAME_INODE): New file/macro.
80923         * lib/chdir-safer.c (SAME_INODE): Remove definition.
80924         Include "same-inode.h", instead.
80925         * lib/same.c: Likewise.
80926         * lib/cycle-check.h: Include "same-inode.h".
80927         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
80928         * lib/cycle-check.c (SAME_INODE): Remove definition.
80929         * lib/root-dev-ino.h: Include "same-inode.h".
80930
80931         2006-03-11  Eric Blake  <ebb9@byu.net>
80932
80933         * lib/same.c (same_name): s/base_name/last_component/
80934         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
80935         * lib/filenamecat.c (file_name_concat): Likewise.
80936
80937         2006-03-11  Eric Blake  <ebb9@byu.net>,
80938                     Paul Eggert  <eggert@cs.ucla.edu>
80939
80940         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
80941         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
80942         drive prefix.
80943         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
80944         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
80945         (last_component): New method.
80946         * lib/dirname.c (dir_len): Determine when drive letters need a
80947         subsequent slash.  Preserve // when it is special.
80948         (dir_name): Don't append dot when drive letter is absolute.
80949         [TEST_DIRNAME]: Move into a full-blown gnulib test.
80950         * lib/basename.c (base_name): New semantics - malloc the result.
80951         Preserve // when it is special.  Preserve relative files that look
80952         like drive letters.
80953         (base_len): Preserve // when it is special.
80954         (last_component): New method, similar to old base_name semantics.
80955         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
80956         base_name.  Strip redundant slashes from ///.
80957
80958 2006-07-03  Jim Meyering  <jim@meyering.net>
80959
80960         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
80961         macro is used before the first cycle_check call.
80962
80963 2006-07-03  Eric Blake  <ebb9@byu.net>
80964
80965         * modules/dirname (Depends-on): Add xstrndup.
80966
80967 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
80968
80969         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
80970         test cases, so that config.log is a bit easier to follow.
80971
80972 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
80973
80974         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
80975         both are 64 bits, since this seems to be the tradition, and this
80976         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
80977         we ever run into a host that prefers long long to long in this
80978         case, we'll need another configure-time test.  Problem reported by
80979         Jim Meyering.
80980
80981 2006-07-02  Eric Blake  <ebb9@byu.net>
80982
80983         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
80984
80985 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
80986
80987         * modules/inttypes (Depends-on): No longer depends on stdint.
80988         * modules/stdint (Description): Say more about assumptions.
80989         Say that the fast types might differ.  Say macros are used.
80990         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
80991         (Makefile.am): Revise list of substituted symbols to match
80992         new stdint.m4.
80993         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
80994         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
80995         * tests/test-stdint.c (verify_same_types)
80996         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
80997         the code conforms to C99/C89.
80998         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
80999         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
81000
81001 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81002
81003         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
81004         but fix a bug, by requiring at least 64 bits.
81005         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
81006         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
81007         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
81008         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
81009
81010         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
81011         changes.  Make 2.59 a prerequisite.  Check and substitute for
81012         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
81013         inttypes.h.  Do not use special include files; just use the
81014         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
81015         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
81016         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
81017         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
81018         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
81019         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
81020         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
81021         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
81022         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
81023         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
81024         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
81025         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
81026         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
81027         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
81028         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
81029         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
81030         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
81031         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
81032         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
81033         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
81034         WINT_MAX.  Check for C99 conformance more strictly, by detecting
81035         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
81036         not check for things that C99 does not require, e.g., int8_t.  If
81037         a test isn't needed unless <stdint.h> isn't working, and is
81038         unlikely to be needed for any other reason, then don't do it
81039         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
81040         size_t, since we assume C89 freestanding at least.  Do not check
81041         for sig_atomic_t, wchar_t, or wint_t, since the code now does
81042         the right thing even if the types are not defined.  Instead use:
81043         (gl_STDINT_TYPE_PROPERTIES): New macro.
81044         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
81045         testing whether <sys/types.h> clashes, as Autoconf does this for
81046         us now.  All uses removed.
81047         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
81048         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
81049         (gl_CHECK_TYPE_SAME):
81050         Remove; no longer needed.
81051         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
81052         exists, since we'll return 0 anyway in that case.
81053         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
81054
81055 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81056
81057         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
81058         possible collision with system files.
81059         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
81060         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
81061         WCHAR_MIN and WCHAR_MAX in this case.
81062         (<stddef.h>): Do not include; no longer needed.
81063         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
81064         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
81065         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
81066         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
81067         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
81068         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
81069         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
81070         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
81071         !defined(__c99))]: Include in this case too, since it's harmless
81072         now.
81073         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
81074         dangerous to do so.
81075         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
81076         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
81077         (_STDINT_MIN, _STDINT_MAX): New macros.
81078         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
81079         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
81080         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
81081         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
81082         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
81083         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
81084         macros, not typedefs; this simplifies things quite a bit.
81085         Use long int for all types narrower than int64_t.
81086         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
81087         Define in terms of long long int or int64_t or long int,
81088         not int64_t or int32_t.  This saves some compile-time testing.
81089         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
81090         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
81091         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
81092         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
81093         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
81094         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
81095         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
81096         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
81097         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
81098         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
81099         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81100         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81101         undef any previous version and define our own version, for
81102         simplicity and consistency with the new macros for types.
81103         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81104         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81105         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
81106         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
81107         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
81108         @WINT_T_SUFFIX@ to keep things simple here.
81109         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
81110         Simplify by assuming typical 8/16/32/64 host, since we're
81111         already doing that elsewhere anyway.
81112         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
81113         and assume long long int is 64 bits if available.  This
81114         speeds up 'configure'.
81115
81116 2006-07-01  Eric Blake  <ebb9@byu.net>
81117
81118         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
81119         Reported by Andreas Buening.
81120
81121 2006-07-01  Eric Blake  <ebb9@byu.net>
81122
81123         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
81124
81125 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
81126
81127         * lib/getaddrinfo.c: fixed typo
81128
81129 2006-06-29  Jim Meyering  <jim@meyering.net>
81130
81131         * modules/strftime (Maintainer): Add my name, since with the
81132         FPRINTFTIME changes strftime.c has forked from glibc.
81133
81134 2006-06-29  Eric Blake  <ebb9@byu.net>
81135
81136         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
81137
81138 2006-06-29  Eric Blake  <ebb9@byu.net>
81139
81140         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
81141
81142 2006-06-29  Eric Blake  <ebb9@byu.net>
81143
81144         * lib/stat_.h: New file.
81145
81146 2006-06-29  Eric Blake  <ebb9@byu.net>
81147
81148         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
81149         unused static function.
81150
81151 2006-06-29  Eric Blake  <ebb9@byu.net>
81152
81153         * doc/functions.texi (Function Portability): Document missing lstat
81154         on mingw.
81155
81156 2006-06-29  Eric Blake  <ebb9@byu.net>
81157
81158         * MODULES.html.sh: Add sys_stat.
81159         * modules/sys_stat: New module.
81160         * modules/mkstemp (Depends-on): Add sys_stat.
81161
81162 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81163
81164         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
81165
81166 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81167
81168         * m4/c-bs-a.m4: Removed.
81169
81170 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81171
81172         * lib/strftime.c: Assume strftime() exists.
81173
81174 2006-06-29  Derek Price  <derek@ximbiot.com>
81175
81176         * modules/c-bs-a: Removed - \a is C89.
81177         * MODULES.html.sh: Remove c-bs-a.
81178
81179 2006-06-29  Bruno Haible  <bruno@clisp.org>
81180
81181         * modules/wcwidth (License): Change to LGPL.
81182
81183 2006-06-28  Simon Josefsson  <jas@extundo.com>
81184
81185         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
81186         on _WIN32.
81187
81188         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
81189         getnameinfo.
81190
81191 2006-06-28  Simon Josefsson  <jas@extundo.com>
81192
81193         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
81194
81195 2006-06-28  Simon Josefsson  <jas@extundo.com>
81196
81197         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
81198         functions there.  It will succeed on Windows XP, but on Windows
81199         2000 and (presumably) earlier, it will fail, and use the internal
81200         re-implementation.
81201         (use_win32_p): New function.
81202         (getaddrinfo): Use strtoul on servname, to support numeric ports.
81203         Support AI_NUMERICSERV to disable getservbyname.
81204         (getnameinfo): New function, only supports
81205         NI_NUMERICHOST|NI_NUMERICSERV for now.
81206
81207         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
81208         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
81209         getnameinfo.
81210
81211 2006-06-28  Eric Blake  <ebb9@byu.net>
81212
81213         * modules/wcwidth: New file.
81214         * modules/mbchar (Depends-on): Add wcwidth.
81215         * modules/mbswidth (Depends-on): Add wcwidth.
81216         * MODULES.html.sh: Add wcwidth.
81217
81218 2006-06-28  Eric Blake  <ebb9@byu.net>
81219
81220         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
81221         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
81222
81223 2006-06-28  Eric Blake  <ebb9@byu.net>
81224
81225         * lib/xvasprintf.h: Fix comments.
81226
81227 2006-06-28  Eric Blake  <ebb9@byu.net>
81228
81229         * lib/mbchar.h (wcwidth): Include wcwidth.h.
81230         * lib/mbswidth.c (wcwidth): Move from here...
81231         * lib/wcwidth.h: ...to this new file.
81232
81233 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81234
81235         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
81236
81237         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
81238         it's obsolete.
81239         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
81240
81241 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81242
81243         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
81244         Autoconf 2.60 says this stuff was obsolete.
81245
81246 2006-06-28  Bruno Haible  <bruno@clisp.org>
81247
81248         * modules/wcwidth (Files): Add m4/wchar_t.m4.
81249
81250 2006-06-28  Bruno Haible  <bruno@clisp.org>
81251
81252         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
81253         gt_TYPE_WCHAR_T.
81254
81255 2006-06-28  Bruno Haible  <bruno@clisp.org>
81256
81257         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
81258         declaration for wcwidth.
81259         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
81260
81261 2006-06-28  Bruno Haible  <bruno@clisp.org>
81262
81263         * lib/mkdtemp.c [MINGW]: Include <io.h>.
81264         (mkdir): Define using _mkdir.
81265
81266 2006-06-28  Bruno Haible  <bruno@clisp.org>
81267
81268         * lib/getaddrinfo.h: Fix POSIX URL.
81269         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
81270         _WIN32.
81271         (use_win32_p): Make static.
81272         (getaddrinfo): Reject service name if it is empty or does not consist
81273         solely of decimal digits, or if its value is > 65535.
81274         (getnameinfo): Remove useless casts.
81275
81276 2006-06-27  Simon Josefsson  <jas@extundo.com>
81277
81278         * modules/sys_select: New file, suggested by Bruno Haible, Paul
81279         Eggert and Martin Lambers.
81280
81281 2006-06-27  Simon Josefsson  <jas@extundo.com>
81282
81283         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
81284         Eggert and Martin Lambers.
81285
81286 2006-06-27  Bruno Haible  <bruno@clisp.org>
81287
81288         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
81289         result to 0, not to empty.
81290         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
81291
81292 2006-06-27  Bruno Haible  <bruno@clisp.org>
81293
81294         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
81295
81296 2006-06-26  Simon Josefsson  <jas@extundo.com>
81297
81298         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
81299         present.
81300
81301 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
81302
81303         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
81304         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
81305         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
81306
81307 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
81308
81309         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
81310
81311 2006-06-26  Bruno Haible  <bruno@clisp.org>
81312
81313         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
81314
81315 2006-06-26  Bruno Haible  <bruno@clisp.org>
81316
81317         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
81318
81319 2006-06-26  Bruno Haible  <bruno@clisp.org>
81320
81321         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
81322         SGI C compiler in pre-C99 mode.
81323         Suggested by Mark D. Baushke and Larry Jones.
81324
81325 2006-06-26  Bruno Haible  <bruno@clisp.org>
81326
81327         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
81328         WCHAR_MAX.
81329         Reported by Mark D. Baushke and Larry Jones.
81330
81331 2006-06-26  Bruno Haible  <bruno@clisp.org>
81332
81333         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
81334         in pre-C99 mode.
81335         Suggested by Mark D. Baushke and Larry Jones.
81336
81337 2006-06-23  Simon Josefsson  <jas@extundo.com>
81338             Bruno Haible  <bruno@clisp.org>
81339
81340         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
81341         Emit mostlyclean-local rule.
81342         (func_emit_tests_Makefile_am): Likewise.
81343         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
81344
81345 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
81346
81347         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
81348
81349 2006-06-23  Bruno Haible  <bruno@clisp.org>
81350
81351         * tests/test-stdint.c: Update to match ISO C 99 Technical
81352         Corrigendum 1.
81353
81354 2006-06-23  Bruno Haible  <bruno@clisp.org>
81355
81356         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
81357
81358 2006-06-23  Bruno Haible  <bruno@clisp.org>
81359
81360         * lib/stdint_.h: Treat IRIX like OpenBSD.
81361
81362 2006-06-23  Bruno Haible  <bruno@clisp.org>
81363
81364         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
81365         ISO C 99 Technical Corrigendum 1.
81366
81367 2006-06-22  Simon Josefsson  <jas@extundo.com>
81368
81369         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
81370         MinGW.
81371
81372 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81373
81374         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
81375         needed.  Some compiler complained about some of them.  Problem reported
81376         by Larry Jones in
81377         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
81378
81379 2006-06-21  Simon Josefsson  <jas@extundo.com>
81380
81381         * tests/test-getaddrinfo.c: New file.
81382
81383         * modules/getaddrinfo-tests: New file.
81384
81385         * MODULES.html.sh: Add inet_pton.
81386
81387         * modules/inet_pton: New file.
81388
81389 2006-06-21  Simon Josefsson  <jas@extundo.com>
81390
81391         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
81392         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
81393         of using the (limited) gnulib implementation on Windows XP.
81394
81395         * m4/inet_pton.m4: New file.
81396
81397 2006-06-21  Simon Josefsson  <jas@extundo.com>
81398
81399         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
81400         variable.
81401
81402         * lib/socket_.h: Don't define WINVER.
81403
81404         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
81405         slightly modified to work in gnulib.
81406
81407 2006-06-21  Simon Josefsson  <jas@extundo.com>
81408
81409         * doc/gnulib.texi (Windows sockets): Add.
81410
81411 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
81412
81413         * lib/read-file.c (fread_file): Start with buffer allocation of
81414         0 bytes rather than 1 byte; this simplifies the code.
81415         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
81416         code to free buffer and save/restore errno.
81417         (internal_read_file): Remove unused local.
81418
81419 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
81420
81421         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
81422         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
81423         Problem reported by Denis Excoffier in
81424         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
81425
81426 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81427
81428         * modules/sys_socket, modules/socklen: Include sys/types since
81429         FreeBSD 4.x's sys/socket.h needs it.
81430
81431 2006-06-19  Simon Josefsson  <jas@extundo.com>
81432
81433         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
81434
81435 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
81436
81437         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
81438
81439 2006-06-19  Bruno Haible  <bruno@clisp.org>
81440
81441         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
81442         and FULL_PATH_INTTYPES_H in angle brackets.
81443         Reported by Mark D. Baushke <mdb@gnu.org>.
81444
81445 2006-06-17  Eric Blake  <ebb9@byu.net>
81446
81447         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
81448         errno.
81449
81450 2006-06-17  Bruno Haible  <bruno@clisp.org>
81451
81452         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
81453         <sys/inttypes.h>.
81454
81455 2006-06-17  Bruno Haible  <bruno@clisp.org>
81456
81457         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
81458         whether errno is declared. Assume <errno.h> declares errno.
81459
81460 2006-06-17  Bruno Haible  <bruno@clisp.org>
81461
81462         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
81463
81464 2006-06-17  Bruno Haible  <bruno@clisp.org>
81465
81466         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
81467         problem on Solaris 2.5.1.
81468
81469 2006-06-16  Eric Blake  <ebb9@byu.net>
81470
81471         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
81472         * lib/unicodeio.c [!defined errno]: Likewise.
81473         * lib/strtol.c [!defined errno]: Likewise.
81474         * lib/strtod.c [!defined errno]: Likewise.
81475
81476 2006-06-15  Eric Blake  <ebb9@byu.net>
81477
81478         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
81479
81480 2006-06-15  Eric Blake  <ebb9@byu.net>
81481
81482         * config/srclist.txt (ssize_t.m4): Lose sync.
81483
81484 2006-06-15  Bruno Haible  <bruno@clisp.org>
81485
81486         * modules/stdint (Files): Include m4/full-header-path.m4,
81487         m4/size_max.m4, m4/wchar_t.m4.
81488         (Makefile.am): Many more substitutions.
81489         * modules/stdint-tests: New file.
81490         * tests/test-stdint.c: New file.
81491
81492 2006-06-15  Bruno Haible  <bruno@clisp.org>
81493
81494         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
81495         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
81496         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
81497         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
81498         gl_CHECK_TYPE_SAME): New macros.
81499
81500 2006-06-15  Bruno Haible  <bruno@clisp.org>
81501
81502         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
81503
81504 2006-06-15  Bruno Haible  <bruno@clisp.org>
81505
81506         * lib/stdint_.h: Rewritten to be fully auto-configured.
81507         Fixes bug on HP-UX/IA64.
81508
81509 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
81510
81511         * lib/getdate.y (__attribute__): Don't define if already defined.
81512         Problem reported by Larry Jones.
81513         * lib/utimens.c (__attribute__): Likewise.
81514
81515 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
81516
81517         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
81518         reported by Andreas Schwab.
81519
81520 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81521             Bruno Haible  <bruno@clisp.org>
81522
81523         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
81524         check for the declaration of strnlen and a run test that exposes the
81525         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
81526         rpl_strndup.
81527
81528 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81529             Bruno Haible  <bruno@clisp.org>
81530
81531         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
81532
81533 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81534
81535         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
81536         compile test, for Tru64 4.0D.
81537
81538 2006-05-28  Karl Berry  <karl@gnu.org>
81539
81540         * config/srclist.txt (printf-args.c): lose sync.
81541
81542 2006-05-26  Martin Lambers  <marlam@marlam.de>
81543
81544         * lib/getpass.c: Updates the test for the native W32 API, and adds
81545         missing includes, thus fixing compilation warnings.
81546
81547 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
81548
81549         * lib/exclude.c (exclude_fnmatch): New function.
81550         (excluded_file_name): Call exclude_fnmatch.
81551         * lib/exclude.h (excluded_file_name): New prototype
81552
81553 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
81554
81555         * lib/tempname.c (small_open, large_open): New macros.
81556         (__open, __open64) [!_LIBC]: Remove.
81557         (__gen_tempname): Use small_open and large_open instead of __open
81558         and __open64.  This fixes a portability bug on HP-UX 11.11i
81559         reported by Simon Wing-Tang in
81560         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
81561
81562 2006-05-24  Bruno Haible  <bruno@clisp.org>
81563
81564         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
81565         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
81566         Reported by Thorsten Maerz <torte@netztorte.de> via
81567         Aaron Stone <aaron@serendipity.cx>.
81568
81569 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81570
81571         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
81572         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
81573         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
81574         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
81575         not really conditional on the cache.
81576         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
81577
81578 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81579
81580         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
81581         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
81582         (my_usleep): Don't mishandle maximum value.
81583
81584 2006-05-19  Jim Meyering  <jim@meyering.net>
81585
81586         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
81587
81588 2006-05-17  Bruno Haible  <bruno@clisp.org>
81589
81590         Cygwin portability.
81591         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
81592
81593 2006-05-17  Bruno Haible  <bruno@clisp.org>
81594
81595         * lib/stdint_.h: Fix recognition of Cygwin.
81596
81597 2006-05-15  Bruno Haible  <bruno@clisp.org>
81598
81599         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
81600         on libtool patch by Ralf Wildenhues.
81601
81602 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81603
81604         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
81605         test for C99 conformance; (bool) 0.5 is an integer constant
81606         expression, but (bool) -0.5 is not.  Problem reported by Fedor
81607         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
81608
81609 2006-05-11  Simon Josefsson  <jas@extundo.com>
81610
81611         * m4/xvasprintf.m4: Fix obvious typo.
81612
81613 2006-05-11  Jim Meyering  <jim@meyering.net>
81614
81615         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
81616         James Lemley.
81617
81618 2006-05-10  Simon Josefsson  <jas@extundo.com>
81619
81620         * lib/md4.c: Typo fix, update copyright years.
81621         (K1, K2): Don't use L because it turn computations into 64-bit on
81622         64-bit platforms.
81623
81624 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
81625
81626         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
81627         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
81628         unwanted sign propagation, e.g., on hosts with 64-bit int.
81629         There still are some problems with reeelly weird theoretical hosts
81630         (e.g., 33-bit int) but it's not worth worrying about now.
81631         * lib/sha1.c (rol): Likewise.
81632         (K1, K2, K3, K4): Remove unnecessary L suffix.
81633
81634 2006-05-10  Bruno Haible  <bruno@clisp.org>
81635
81636         * lib/des.c: Cast to avoid warnings.
81637
81638 2006-05-09  Bruno Haible  <bruno@clisp.org>
81639
81640         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
81641         (Depends-on): Depend also on xsize, stdarg.
81642         (configure.ac): Add gl_XVASPRINTF.
81643
81644 2006-05-09  Bruno Haible  <bruno@clisp.org>
81645
81646         * m4/xvasprintf.m4: New file.
81647
81648 2006-05-09  Bruno Haible  <bruno@clisp.org>
81649
81650         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
81651         (EOVERFLOW): Define fallback value.
81652         (xstrcat): New function.
81653         (xvasprintf): Recognize the special case of a string concatenation.
81654
81655 2006-05-08  Eric Blake  <ebb9@byu.net>
81656
81657         * gnulib-tool (func_version): Base copyright year on CVS date.
81658         (func_emit_copyright_notice): New function.
81659         (func_emit_lib_Makefile_am): Use it.
81660         (func_emit_tests_Makefile_am): Likewise.
81661         (func_import): Likewise.
81662
81663 2006-05-08  Bruno Haible  <bruno@clisp.org>
81664
81665         * modules/stdarg: New file.
81666         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
81667
81668 2006-05-08  Bruno Haible  <bruno@clisp.org>
81669
81670         * m4/stdarg.m4: New file, from GNU gettext.
81671
81672 2006-05-08  Bruno Haible  <bruno@clisp.org>
81673
81674         * config/srclist.txt (build-aux/config.rpath): different from latest
81675         release.
81676
81677 2006-05-08  Bruno Haible  <bruno@clisp.org>
81678
81679         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
81680
81681 2006-05-05  Jim Meyering  <jim@meyering.net>
81682
81683         * m4/warning.m4: New file, derived from bison's file by the same name.
81684
81685 2006-05-03  Bruno Haible  <bruno@clisp.org>
81686
81687         * lib/stdint_.h: Shorter URL.
81688         * lib/inttypes.h: Likewise.
81689
81690 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81691
81692         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
81693
81694 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81695
81696         * lib/verify.h: Document the internals better.  Most of this change
81697         was written by Bruno Haible.
81698
81699 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81700
81701         * doc/verify.texi: New file, partly based on a proposal by
81702         Bruno Haible.
81703
81704 2006-05-02  Bruno Haible  <bruno@clisp.org>
81705
81706         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
81707         test from here...
81708         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
81709
81710 2006-04-29  Bruno Haible  <bruno@clisp.org>
81711
81712         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
81713         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
81714
81715 2006-04-29  Bruno Haible  <bruno@clisp.org>
81716
81717         * gnulib-tool: Make --update option actually work.
81718
81719 2006-04-29  Bruno Haible  <bruno@clisp.org>
81720
81721         * doc/gcd.texi: New file.
81722         * doc/gnulib.texi: Include it.
81723
81724 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
81725
81726         * lib/getdate.y (get_date): When adding relative date, start with the
81727         initial time, not with the result of the first mktime call.
81728
81729 2006-04-25  Bruno Haible  <bruno@clisp.org>
81730
81731         * gnulib-tool (func_import): Output the include directives in three
81732         blocks, sorted separately.
81733         Reported by Ben Pfaff <blp@cs.stanford.edu>.
81734
81735 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
81736
81737         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
81738         to define main with arguments, for C++.  Reported by Eric Blake.
81739         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
81740         Prefer 'int main ()' to 'int main (void)', for C++.
81741         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
81742         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
81743         for 'main', for C99 and C++.
81744
81745 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
81746
81747         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
81748         Don't assume that exit status -1 is valid.
81749         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
81750         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
81751         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
81752         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
81753         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
81754         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
81755         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
81756         functions can be used without declaring them, or that you can
81757         exit with status -1.
81758         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
81759
81760 2006-04-24  Karl Berry  <karl@gnu.org>
81761
81762         * config/srclist.txt (longdouble.m4): sync lost.
81763
81764 2006-04-24  Eric Blake  <ebb9@byu.net>
81765
81766         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
81767
81768 2006-04-24  Bruno Haible  <bruno@clisp.org>
81769
81770         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
81771         poll() implementation in AIX.
81772         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81773
81774 2006-04-24  Bruno Haible  <bruno@clisp.org>
81775
81776         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
81777         assigned exactly once.
81778
81779 2006-04-23  Claudio Fontana  <claudio@gnu.org>
81780             Bruno Haible  <bruno@clisp.org>
81781
81782         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
81783         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
81784         for AM_CPPFLAGS.
81785
81786 2006-04-23  Bruno Haible  <bruno@clisp.org>
81787
81788         * modules/copy-file: Depend on unistd.
81789         * modules/execute: Likewise.
81790         * modules/fatal-signal: Likewise.
81791         * modules/findprog: Likewise.
81792         * modules/mkdtemp : Likewise.
81793         * modules/pipe: Likewise.
81794         * modules/wait-process: Likewise.
81795
81796 2006-04-23  Bruno Haible  <bruno@clisp.org>
81797
81798         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
81799         condition was already detected.
81800         Reported by Ben Pfaff <blp@cs.stanford.edu>.
81801
81802 2006-04-23  Bruno Haible  <bruno@clisp.org>
81803
81804         * lib/copy-file.c: Include <unistd.h> unconditionally.
81805         * lib/execute.c: Likewise.
81806         * lib/fatal-signal.c: Likewise.
81807         * lib/findprog.c: Likewise.
81808         * lib/mkdtemp.c: Likewise.
81809         * lib/pipe.h: Likewise.
81810         * lib/pipe.c: Likewise.
81811         * lib/wait-process.h: Likewise.
81812
81813 2006-04-23  Bruno Haible  <bruno@clisp.org>
81814
81815         * gnulib-tool (func_usage): Fix --import description. Document
81816         --update.
81817         (func_import): Create temporary file in a temporary directory, if
81818         --dry-run is specified. Silence errors from 'grep' when there are no
81819         m4 files in $m4dir.
81820         (func_create_testdir): Silence errors from 'grep' when there are no
81821         m4 files in $m4dir.
81822         Reported by Karl Berry <karl@freefriends.org>.
81823
81824 2006-04-20  Bruno Haible  <bruno@clisp.org>
81825
81826         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
81827         one argument, so that the code will be portable to Autoconf 2.60.
81828         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
81829         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
81830         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
81831
81832 2006-04-19  Derek Price  <derek@ximbiot.com>
81833             Eric Blake  <ebb9@byu.net>
81834
81835         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
81836         rather than "/full/path.h".  Update comment to match.  Shorten &
81837         generalize m4_translit call via AS_TR_CPP.
81838
81839 2006-04-19  Derek Price  <derek@ximbiot.com>
81840             Eric Blake  <ebb9@byu.net>
81841
81842         * lib/inttypes.h: Correct grammar in comment.
81843
81844 2006-04-18  Derek Price  <derek@ximbiot.com>
81845             Paul Eggert  <eggert@cs.ucla.edu>
81846
81847         * modules/inttypes: New file.
81848         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
81849
81850 2006-04-18  Derek Price  <derek@ximbiot.com>
81851             Paul Eggert  <eggert@cs.ucla.edu>
81852
81853         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
81854         New files.
81855
81856 2006-04-18  Derek Price  <derek@ximbiot.com>
81857             Paul Eggert  <eggert@cs.ucla.edu>
81858
81859         * lib/inttypes.h: New file.
81860         * lib/strtoimax.c: Assume <inttypes.h>.
81861
81862 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
81863
81864         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
81865         isn't mounted.  Problem reported by Kir Kolyshkin.
81866
81867 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
81868
81869         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
81870         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
81871         Derek R. Price.
81872         * lib/regex.h (RE_DUP_MAX): Update comment to match current
81873         implementation.
81874
81875 2006-04-12  Eric Blake  <ebb9@byu.net>
81876
81877         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
81878         is now done automatically by the corresponding Autoconf macro.
81879
81880 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
81881
81882         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
81883         time_r.h.
81884
81885 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81886
81887         Merge regex changes from libc, removing some of our
81888         POSIX-conformance changes that were rejected and redoing them in a
81889         less-intrusive way.
81890
81891         * lib/regcomp.c (re_compile_internal, init_dfa):
81892         Length arg is now size_t, not Idx.  All uses changed.
81893         (peek_token): Forward decl now says internal_function.
81894         (__re_error_msgid, __re_error_msgid_idx):
81895         Now static rather than extern with attribute_hidden.
81896         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
81897         For some reason libc prefers K&R style defns for external functions.
81898         (regerror) [!defined _LIBC]: Likewise.
81899         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
81900         (seek_collating_symbol_entry, lookup_collation_sequence_value):
81901         (build_range_exp, build_collating_symbol):
81902         Use K&R-style defn.
81903         (re_compile_fastmap): Use '\0' to memset, not 0.
81904         (utf8_sb_map): Make the calculations more obvious.
81905         (init_dfa, parse_bracket_exp, build_charclass_op):
81906         Call calloc and cast result, as glibc does.
81907         (init_word_char, fetch_token, peek_token, peek_token_bracket):
81908         (build_range_exp, build_collating_symbol):
81909         Now internal functions.
81910
81911         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
81912
81913         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
81914         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
81915         Don't depend on VMS; depend on __VMS instead, for POSIX
81916         namespace cleanness.
81917         (regoff_t): Define to ssize_t, not long int.
81918
81919         Remove the REG_ macros named below.  Instead, make the old names
81920         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
81921         __USE_GNU_REGEX.
81922         (REG_BACKSLASH_ESCAPE_IN_LISTS):
81923         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
81924         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
81925         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
81926         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
81927         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
81928         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
81929         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
81930         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
81931         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
81932         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
81933         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
81934         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
81935         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
81936         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
81937         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
81938         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
81939         (REG_NREGS):
81940         Remove.  All uses replaced by the old RE_* names.
81941         (RE_BACKSLASH_ESCAPE_IN_LISTS):
81942         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
81943         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
81944         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
81945         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
81946         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
81947         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
81948         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
81949         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
81950         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
81951         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
81952         Don't bother having these macros be independent of each others'
81953         values, since they no longer exist in the POSIX name space.
81954
81955         Rename the following member names back to their old names,
81956         unless !__USE_GNU_REGEX.  All uses changed back.
81957         (buffer): Renamed from re_buffer.
81958         (allocated): Renamed from re_allocated.
81959         (used): Renamed from re_used.
81960         (syntax): Renamed from re_syntax.
81961         (fastmap): Renamed from re_fastmap.
81962         (translate): Renamed from re_translate.
81963         (can_be_null): Renamed from re_can_be_null.
81964         (regs_allocated): Renamed from re_regs_allocated.
81965         (fastmap_accurate): Renamed from re_fastmap_accurate.
81966         (no_sub): Renamed from re_no_sub.
81967         (not_bol): Renamed from re_not_bol.
81968         (not_eol): Renamed from re_not_eol.
81969         (newline_anchor): Renamed from re_newline_anchor.
81970         (num_regs): Renamed from rm_num_regs.
81971         (start): Renamed from rm_start.
81972         (end): Renamed from rm_end.
81973
81974         (free_state): Move up a bit.
81975
81976         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
81977         #define to be empty.
81978         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
81979         when that is what is intended.
81980         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
81981         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
81982         (MAX): New macro.
81983         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
81984         All uses changed back to re_malloc, etc.  It's now the caller's
81985         responsibility to check for overflow; all callers changed.
81986         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
81987         (re_x2nrealloc): Remove.
81988         (free_state): Remove decl.
81989
81990         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
81991         (re_set_registers, re_exec):
81992         Use K&R-style defn.
81993
81994         2006-01-31  Roland McGrath  <roland@redhat.com>
81995
81996         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
81997         Reported by Mike Frysinger <vapier@gentoo.org>.
81998
81999         2006-01-15  Andreas Jaeger  <aj@suse.de>
82000
82001         [BZ #1950]
82002         * lib/regex_internal.c (re_string_reconstruct): Adjust for
82003         build_wcs_upper_buffer change.
82004         (build_wcs_upper_buffer): Change return type.
82005
82006         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
82007
82008         * lib/regex_internal.h: Include <stdint.h> if available.
82009
82010         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
82011
82012         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
82013
82014         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
82015
82016         * lib/regcomp.c: Adjust for changed secondary hash function.
82017
82018         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
82019
82020         * lib/regex.h: Pretty printing.
82021         Clean up namespace a bit.
82022
82023         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
82024
82025         * lib/regexec.c (update_cur_sifted_state, check_arrival,
82026         check_arrival_add_next_nodes): Avoid using uninitialized variable.
82027
82028         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82029                     Ulrich Drepper  <drepper@redhat.com>
82030
82031         [BZ #1302]
82032         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
82033         changed.
82034         (bitset_word_t): Renamed from bitset_word.  All uses changed.
82035
82036         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
82037
82038         [BZ #281]
82039         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
82040         * lib/regcomp.c: Remove unnecessary uses of
82041         unsigned RE_TRANSLATE_TYPE.
82042         * lib/regex_internal.h: Likewise.
82043         * lib/regex_internal.c: Likewise.
82044         * lib/regexec.c: Likewise.
82045         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
82046
82047         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
82048
82049         * lib/regexec.c (find_recover_state): Remove unnecessary
82050         initialization.
82051         (transit_state_bkref): Make DFA a const pointer.
82052         (get_subexp): Likewise.
82053         (check_arrival): Likewise.
82054         (update_cur_sifted_state): Likewise.
82055         (re_search_internal): Likewise.
82056         (prune_impossible_nodes): Likewise.
82057         (acquire_init_state_context): Likewise.
82058         (proceed_next_node): Likewise.
82059         (set_regs): Likewise.
82060         (free_fail_stack_return): Likewise.
82061         (check_arrival_expand_ecl): Mark DFA parameter as const.
82062         (check_arrival_expand_ecl_sub): Likewise.
82063         (check_subexp_limits): Likewise.
82064         (sub_epsilon_src_nodes):  Likewise.
82065         (add_epsilon_src_nodes):  Likewise.
82066         (merge_state_array): Likewise.
82067         (update_regs): Likewise.
82068         (build_trtable): Likewise.
82069         (sift_states_backward): Mark MCTX parameter as const.
82070         (build_sifted_states): Likewise.
82071         (update_cur_sifted_state): Likewise.
82072         (sift_states_mkref): Likewise.
82073         (check_arrival_expand_ecl): Mark eclosure as const.
82074         (check_dst_limits_calc_pos_1): Likewise.
82075         * lib/regex_internal.h (re_match_context_t): Make dfa a const
82076         pointer.
82077
82078         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
82079
82080         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
82081         (transit_state_sb): Likewise.
82082         (transit_state_mb): Likewise.
82083         (sift_states_iter_mb): Likewise.
82084         (check_arrival_add_next_nodes): Likewise.
82085         (check_node_accept_bytes): Change first parameter to pointer-to-const.
82086         [_LIBC] (re_search_2_stub): Use mempcpy.
82087
82088         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
82089         mbrtowc for very simple UTF-8 case.
82090
82091         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
82092         a pointer-to-const.
82093         (re_acquire_state_context): Likewise.
82094         * lib/regex_internal.h: Adjust prototypes.
82095
82096         * lib/regex.c: Prevent using C++ compilers.
82097
82098         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
82099         (re_acquire_state_context): Likewise.
82100
82101 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82102
82103         * modules/regex (Depends-on): Add ssize_t.
82104
82105 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82106
82107         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
82108         translation table.
82109
82110 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82111
82112         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
82113
82114 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
82115             Bruno Haible  <bruno@clisp.org>
82116
82117         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
82118         <sys/types.h> and <inttypes.h>.
82119
82120 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82121
82122         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
82123         `__error_t_defined', so argp.h will not typedef the former.
82124
82125 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
82126
82127         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
82128         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
82129         glibc names.  Even if glibc is changed to conform to POSIX, the
82130         traditional names will be available anyway, since regex depends on
82131         the extensions module.  Also, fix a longstanding typo in the
82132         implementation of Spencer ERE test #75 from grep 2.3.  Problems
82133         reported by Emanuele Giaquinta.  Also, change sense of cached
82134         variable, so that the message makes sense.
82135
82136 2006-03-24  Simon Josefsson  <jas@extundo.com>
82137
82138         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
82139         including some doc fixes.
82140         (base64_encode_alloc): Fix +1 bug on allocation failures.
82141
82142 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82143
82144         * lib/base64.c (base64_encode): Do not read past end of array with
82145         unsanitized input on systems with CHAR_BIT > 8.
82146
82147 2006-03-24  Eric Blake  <ebb9@byu.net>
82148
82149         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
82150
82151 2006-03-22  Karl Berry  <karl@gnu.org>
82152
82153         * config/srclist.txt (*setenv.[ch]): get from coreutils.
82154         * config/srclistvars.sh (COREUTILS): new var.
82155
82156 2006-03-17  Jim Meyering  <jim@meyering.net>
82157
82158         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
82159         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
82160
82161 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82162
82163         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
82164         no longer needs it.  Instead, check that regoff_t is as least
82165         as wide as ptrdiff_t.
82166
82167         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
82168         so that our regex.h stays compatible with the installed regex.
82169         This is helpful for installers who configure --without-included-regex.
82170         Problem reported by Emanuele Giaquinta.
82171
82172 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82173
82174         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
82175         Typedef to long int, not to off_, as POSIX will likely change
82176         in that direction.
82177
82178 2006-03-15  Eric Blake  <ebb9@byu.net>
82179
82180         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
82181
82182 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82183
82184         * lib/argp-help.c (validate_uparams): Fix typo
82185         * lib/argp-parse.c (argp_default_options): Consistently begin help
82186         messages with a lowercase letter.
82187
82188 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
82189
82190         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
82191         overrun buffers and shouldn't be used (much as gets shouldn't be
82192         used).
82193         * lib/time_r.c (asctime_r, ctime_r): Likewise.
82194
82195 2006-03-08  Simon Josefsson  <jas@extundo.com>
82196
82197         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
82198         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82199
82200 2006-03-08  Simon Josefsson  <jas@extundo.com>
82201
82202         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
82203         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82204
82205 2006-03-08  Simon Josefsson  <jas@extundo.com>
82206
82207         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
82208         signal that configure disabled the device.
82209
82210 2006-03-08  Simon Josefsson  <jas@extundo.com>
82211
82212         * build-aux/maint.mk: Fix refresh-po, to handle no translated
82213         languages.
82214
82215 2006-03-07  Simon Josefsson  <jas@extundo.com>
82216
82217         * modules/getopt (Depends-on): Add unistd.
82218
82219         * modules/unistd: New file.
82220
82221 2006-03-07  Simon Josefsson  <jas@extundo.com>
82222
82223         * modules/gc-random: New file.
82224
82225 2006-03-07  Simon Josefsson  <jas@extundo.com>
82226
82227         * m4/unistd_h.m4: New file.
82228
82229 2006-03-07  Simon Josefsson  <jas@extundo.com>
82230
82231         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
82232         test to be side-effect free by storing the result in the cache
82233         variable gl_cv_lib_readline, and moving the assignment of
82234         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
82235         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82236
82237 2006-03-07  Simon Josefsson  <jas@extundo.com>
82238
82239         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
82240         error on missing devices (the functions will return an error).
82241
82242         * m4/gc.m4: Move random stuff to gc-random.m4
82243
82244 2006-03-07  Simon Josefsson  <jas@extundo.com>
82245
82246         * lib/unistd_.h: New file.
82247
82248 2006-03-07  Simon Josefsson  <jas@extundo.com>
82249
82250         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
82251
82252 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82253
82254         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
82255         Problem reported by Juan Manuel Guerrero.
82256
82257 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82258
82259         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
82260         the unistd module.
82261         * lib/getlogin_r.c: Likewise.
82262         * lib/getlogin_r.h: Likewise.
82263         * lib/glob.c: Likewise.
82264         * lib/pagealign_alloc.c: Likewise.
82265         * lib/unistd_.h: Remove; no longer needed.
82266
82267 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82268
82269         * MODULES.html.sh (Support for systems lacking POSIX:2001):
82270         Add unistd.
82271         * modules/c-stack (Depends-on): Add unistd.
82272         * modules/getlogin_r: Likewise.
82273         * modules/glob: Likewise.
82274         * modules/pagealign_alloc: Likewise.
82275         * modules/unistd (Files): Remove lib/unistd_.h.
82276         (EXTRA_DIST): Remove.
82277         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
82278         need unistd_.h.
82279         (MOSTLYCLEANFILES): Remove unistd.h-t.
82280
82281 2006-03-03  Simon Josefsson  <jas@extundo.com>
82282
82283         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
82284
82285 2006-03-03  Simon Josefsson  <jas@extundo.com>
82286
82287         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
82288         libidn and bison.
82289
82290 2006-03-03  Simon Josefsson  <jas@extundo.com>
82291
82292         * build-aux/maint.mk: Add indent target.
82293
82294 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
82295
82296         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
82297         our replacement poll.h in any case, to avoid a differing
82298         declaration from a system header.  Seen on AIX.
82299
82300 2006-03-01  Simon Josefsson  <jas@extundo.com>
82301
82302         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
82303         <kasal@ucw.cz>.
82304
82305 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82306
82307         * modules/gettime (Depends-on): Add extensions module.
82308         * modules/nanosleep (Depends-on): Likewise.
82309         * modules/settime (Depends-on): Likewise.
82310
82311 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82312
82313         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
82314         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
82315         pedantically.
82316         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
82317         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
82318
82319         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
82320         not "==".  Reported by Ralf Wildenhues.
82321
82322 2006-03-01  Karl Berry  <karl@gnu.org>
82323
82324         * doc/Copyright/request-*: new files, synced from gnuorg.
82325
82326 2006-03-01  Karl Berry  <karl@gnu.org>
82327
82328         * config/srclist.txt (Copyright/*): new entries.
82329
82330 2006-02-28  Simon Josefsson  <jas@extundo.com>
82331
82332         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
82333
82334 2006-02-27  Simon Josefsson  <jas@extundo.com>
82335
82336         * lib/base64.h: Indent #define's.  From Jim Meyering
82337         <jim@meyering.net>.
82338
82339 2006-02-27  Jim Meyering  <jim@meyering.net>
82340
82341         Revert the change of 2006-02-24, so these files can continue
82342         to be sync'd from gettext.
82343         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
82344         of `config.h'.
82345
82346 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
82347
82348         * modules/intprops: New file.
82349         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
82350         Add intprops.
82351         * modules/getloadavg (Files): Remove lib/intprops.h.
82352         (Depends-on): Add intprops.
82353         * modules/human: Likewise.
82354         * modules/inttostr: Likewise.
82355         * modules/openat: Likewise.
82356         * modules/sig2str: Likewise.
82357         * modules/userspec: Likewise.
82358         * modules/utimecmp: Likewise.
82359         * modules/xnanosleep: Likewise.
82360         * modules/xstrtol: Likewise.
82361
82362 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
82363
82364         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
82365         * modules/lock-tests (TESTS): Use $(EXEEXT).
82366         * modules/tls-tests: Likewise.
82367         * modules/argp-tests: Likewise.
82368         (check_PROGRAMS): New var, replacing...
82369         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
82370
82371 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82372
82373         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
82374         `config.h'.
82375
82376 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
82377
82378         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
82379
82380 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82381
82382         Sync from coreutils.
82383         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
82384         gl_CHDIR_SAFER.
82385
82386 2006-02-22  Jim Meyering  <jim@meyering.net>
82387
82388         Sync from coreutils.
82389         * m4/chdir-safer.m4: New file.
82390
82391 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
82392
82393         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
82394         AT_FDCWD exceeds INT_MAX.
82395         * lib/openat.h (AT_FDCWD): Likewise.
82396
82397 2006-02-17  Eric Blake  <address@hidden>
82398
82399         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
82400
82401 2006-02-16  Simon Josefsson  <jas@extundo.com>
82402
82403         * modules/getaddrinfo (Depends-on): Add sys_socket.
82404
82405 2006-02-15  Simon Josefsson  <jas@extundo.com>
82406
82407         * build-aux/maint.mk: Add dsyntax-check rule.
82408
82409 2006-02-15  Eric Blake  <ebb9@byu.net>
82410
82411         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
82412         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
82413         'present but cannot compile' warnings on cygwin.
82414         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
82415         use ws2tcpip.h if sys/socket.h works.
82416         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
82417         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
82418
82419 2006-02-14  Simon Josefsson  <jas@extundo.com>
82420
82421         * modules/maintainer-makefile (Files): Rename.
82422
82423         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
82424         and (the local) Makefile.cfg to maint-cfg.mk.
82425
82426         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
82427         to the latter.
82428
82429         * modules/maintainer-makefile: New module.
82430
82431         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
82432         severaly stripped to make it possible to build it up from scratch
82433         with reliable tests.
82434
82435         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
82436         fixes to permit overriding the default actions when configure and
82437         makefile are not available.
82438
82439 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
82440
82441         Sync from coreutils.
82442         * modules/lstat (Depends-on): Don't depend on xalloc.
82443         (License): Change from GPL to LGPL, since this is now simply a
82444         replacement for a libc function.
82445
82446 2006-02-14  Jim Meyering  <jim@meyering.net>
82447
82448         Sync from coreutils.
82449
82450         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
82451         failure on deficient systems, and simplify gnulib lgpl dependencies.
82452         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
82453         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
82454
82455         * lib/xalloc-die.c: Remove unused definition of N_.
82456
82457 2006-02-14  Jim Meyering  <jim@meyering.net>
82458
82459         Sync from coreutils.
82460         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
82461         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
82462         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
82463         double-quote uses of that variable, to accommodate the rare case in
82464         which getmntent is available in none of the libraries checked.  This
82465         happens at least on FreeBSD 5.0.
82466
82467 2006-02-13  Simon Josefsson  <jas@extundo.com>
82468
82469         * gnulib-tool (Usage): Fix --import, from
82470         karl@freefriends.org (Karl Berry).
82471
82472 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82473
82474         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
82475
82476 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
82477
82478         * lib/argp-namefrob.h: Restore changes accidentally lost during the
82479         "autoupdate" on 2005-12-12.
82480
82481 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82482
82483         * modules/closeout (Depends-on): Remove atexit.
82484
82485 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82486
82487         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
82488         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
82489
82490 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
82491
82492         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
82493         __EXTENSIONS__ if this causes compilation to fail.  Problem
82494         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
82495         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
82496
82497 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
82498
82499         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
82500         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
82501         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
82502         All uses changed.
82503
82504 2006-01-26  Simon Josefsson  <jas@extundo.com>
82505
82506         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
82507         prototype is visible on mingw32.
82508
82509         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
82510         for mingw32.
82511
82512         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
82513         mingw32).
82514
82515 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
82516
82517         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
82518         attempt to open for write; this always fails, at least on POSIX
82519         hosts.  This reinstates the 2006-01-09 change, which was
82520         inadvertently removed.
82521
82522 2006-01-26  Bruno Haible  <bruno@clisp.org>
82523
82524         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
82525         Reported by Paul Eggert.
82526
82527 2006-01-26  Bruno Haible  <bruno@clisp.org>
82528             Paul Eggert  <eggert@cs.ucla.edu>
82529
82530         * lib/stdbool_.h (_Bool)
82531         [(! (defined __cplusplus || defined __BEOS__)
82532           && !defined __GNUC__
82533           && !(defined __HP_cc || defined __xlc__
82534                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
82535                || defined __sgi))]:
82536         #define to signed char in these cases too; this simplifies
82537         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
82538         etc., separately) and makes it more conservative.
82539
82540 2006-01-25  Simon Josefsson  <jas@extundo.com>
82541
82542         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
82543         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
82544         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
82545
82546 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82547
82548         * lib/argp-namefrob.h: Bugfix. Remove stray #
82549
82550 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
82551
82552         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
82553         so that we test the test.
82554         Check for yet another HP-UX cc bug involving *bool |= bool.
82555
82556 2006-01-25  Karl Berry  <karl@gnu.org>
82557
82558         * config/srclist.txt (vasnprintf.c): sync lost.
82559
82560 2006-01-25  Jim Meyering  <jim@meyering.net>
82561
82562         Sync from the stable (b5) branch of coreutils:
82563
82564         * lib/fts.c (fts_children): Don't let close() clobber errno from
82565         failed fchdir().
82566
82567         * lib/fts.c (fts_stat): When following a symlink-to-directory,
82568         don't necessarily interpret stat-fails+lstat-succeeds as indicating
82569         a dangling symlink.  That can also happen at least for ELOOP.
82570         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
82571         FYI, this bug predates the inclusion of fts.c in coreutils.
82572
82573         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
82574         in their own block, so pre-c99 compilers don't object.
82575
82576         Avoid the double-free (first in fts_read, second in fts_close) that
82577         would occur when an `active' directory is made inaccessible (e.g.,
82578         via chmod a-x) during a traversal.
82579         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
82580         before returning.  Reproduce this failure by
82581         mkdir -p a/b; cd a; chmod a-x . b
82582         Reported by Stavros Passas.
82583
82584 2006-01-25  Jim Meyering  <jim@meyering.net>
82585
82586         * lib/fileblocks.c: Remove more useless parentheses.
82587         * lib/readutmp.h: Likewise.
82588
82589 2006-01-25  Bruno Haible  <bruno@clisp.org>
82590
82591         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
82592         warnings.
82593         Reported by Paul Eggert.
82594
82595 2006-01-25  Bruno Haible  <bruno@clisp.org>
82596
82597         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
82598         rid of a trap command. For Solaris sh.
82599         Reported by Mark D. Baushke <mdb@gnu.org>.
82600
82601 2006-01-24  Simon Josefsson  <jas@extundo.com>
82602
82603         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
82604         Bruno.
82605
82606 2006-01-24  Karl Berry  <karl@gnu.org>
82607
82608         * config/srclist.txt (argp-namefrob.h): sync lost.
82609
82610 2006-01-24  Jim Meyering  <jim@meyering.net>
82611
82612         * modules/openat (Files): Add lib/intprops.h.
82613         From Mark D. Baushke.
82614
82615 2006-01-24  Jim Meyering  <jim@meyering.net>
82616
82617         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
82618         Reported by Mark D. Baushke.
82619
82620 2006-01-24  Jim Meyering  <jim@meyering.net>
82621
82622         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
82623
82624 2006-01-24  Bruno Haible  <bruno@clisp.org>
82625
82626         * modules/strnlen (Maintainer): Change from glibc to all.
82627
82628 2006-01-24  Bruno Haible  <bruno@clisp.org>
82629
82630         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
82631         Patch by Paul Eggert.
82632
82633 2006-01-24  Bruno Haible  <bruno@clisp.org>
82634
82635         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
82636         already has it.
82637         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
82638         2005-11-26.
82639
82640         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
82641         'signed char' to avoid problems with the built-in _Bool type.
82642         Reported by Paul Eggert on 2005-11-26.
82643
82644 2006-01-24  Bruno Haible  <bruno@clisp.org>
82645
82646         * gnulib-tool (func_import): Avoid constructing complicated sed
82647         expressions inside backquote.
82648         Report and solution by Mark D. Baushke <mdb@gnu.org>.
82649
82650 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
82651
82652         These changes imported from libc.
82653         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
82654         test and two separate function calls.
82655         * lib/strndup.c (__strndup): Add libc_hidden_def.
82656
82657 2006-01-23  Simon Josefsson  <jas@extundo.com>
82658
82659         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
82660         Remove the test_*_SOURCES variable: automake infers it by default.
82661         * modules/tls-tests: Likewise.
82662
82663 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82664
82665         Work around porting bugs reported by Dieter in
82666         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
82667         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
82668         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
82669         Include "getopt.h" first, to check interface.
82670         (getenv): Declare only if defined HAVE_DECL_GETENV &&
82671         !HAVE_DECL_GETENV.
82672         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
82673         (__strndup): Revert to K&R-style function dfns, the glibc style.
82674         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
82675         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
82676         Include strnlen.h first, to get prototype properly.
82677         (strnlen): Renamed from __strnlen.
82678         Remove weak alias.
82679
82680 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82681
82682         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
82683
82684 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82685
82686         * config/srclist.txt: Adjust to reflect glibc reorganization.
82687         This affects only comments.
82688
82689 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82690
82691          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
82692          Reported by Bruce Korb <bkorb@gnu.org>.
82693
82694 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
82695
82696         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
82697         to pacify gcc -Wswitch-default.
82698
82699 2006-01-22  Bruno Haible  <bruno@clisp.org>
82700
82701         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
82702         temporary buffer for sprintf, take into account the precision also
82703         for 'd', 'i', 'u', 'o', 'x', 'X'.
82704
82705 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
82706
82707         * modules/argp-tests: New module
82708         * tests/test-argp.c: New file
82709         * tests/test-argp-2.sh: New file
82710
82711 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
82712
82713         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
82714         (__argp_base_name): Removed
82715         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
82716         typo.
82717         (__argp_base_name): Provide macro definition or extern declaration
82718         depending on the configuration
82719
82720 2006-01-20  Simon Josefsson  <jas@extundo.com>
82721
82722         * modules/inet_ntop (Depends-on): Depend on sys_socket.
82723
82724 2006-01-20  Simon Josefsson  <jas@extundo.com>
82725
82726         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
82727
82728 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82729
82730         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
82731         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
82732         Suggested by Bruno Haible.
82733
82734 2006-01-20  Karl Berry  <karl@gnu.org>
82735
82736         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
82737         until changes propagate, I guess.
82738
82739 2006-01-19  Simon Josefsson  <jas@extundo.com>
82740
82741         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
82742
82743 2006-01-19  Simon Josefsson  <jas@extundo.com>
82744
82745         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
82746
82747 2006-01-19  Simon Josefsson  <jas@extundo.com>
82748
82749         * gnulib-tool: Set check_PROGRAMS.
82750
82751         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
82752         modules/des-tests, modules/gc-arcfour-tests,
82753         modules/gc-arctwo-tests, modules/gc-des-tests,
82754         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
82755         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
82756         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
82757         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
82758         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
82759         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
82760         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
82761         test_*_SOURCES.
82762
82763 2006-01-18  Simon Josefsson  <jas@extundo.com>
82764
82765         * modules/socklen (Depends-on): Depend on sys_socket.
82766
82767 2006-01-18  Simon Josefsson  <jas@extundo.com>
82768
82769         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
82770         modules/des-tests, modules/gc-arcfour-tests,
82771         modules/gc-arctwo-tests, modules/gc-des-tests,
82772         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
82773         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
82774         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
82775         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
82776         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
82777         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
82778         $(EXEEXT) to automake TESTS variable, for mingw32.
82779
82780 2006-01-17  Simon Josefsson  <jas@extundo.com>
82781
82782         * modules/socklen (Include): Need sys/socket.h.
82783
82784 2006-01-17  Bruno Haible  <bruno@clisp.org>
82785
82786         * modules/ssize_t (Include): Add <sys/types.h>.
82787
82788 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
82789
82790         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
82791         it's not portable and it doesn't work with cross-compiles.
82792         Problem reported by Bruno Haible.  Fix missing-$ typo in
82793         'test "gl_cv_ignore_unused_libraries" ...' that prevented
82794         -zignore from being used with Sun's C compiler.
82795
82796 2006-01-12  Simon Josefsson  <jas@extundo.com>
82797
82798         * lib/base64.c: Fix warning, reported by Bruno Haible
82799         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
82800
82801 2006-01-12  Bruno Haible  <bruno@clisp.org>
82802
82803         * modules/ldd: New file.
82804         * build-aux/ldd.sh.in: New file.
82805         * MODULES.html.sh (Support for building libraries and executables): Add
82806         ldd.
82807
82808 2006-01-12  Bruno Haible  <bruno@clisp.org>
82809
82810         * m4/ldd.m4: New file.
82811
82812 2006-01-12  Bruno Haible  <bruno@clisp.org>
82813
82814         * gnulib-tool (func_import, func_create_testdir): Don't go into an
82815         endless loop while replacing $auxdir with build-aux.
82816
82817 2006-01-11  Simon Josefsson  <jas@extundo.com>
82818
82819         * lib/stdint_.h (SIZE_MAX): Add missing (.
82820
82821 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
82822
82823         Sync from coreutils.
82824         * lib/md5.c: Fix commentary typos.
82825         (alignof, UNALIGNED_P): No need for a GCC-specific version.
82826         * lib/md5.h (__attribute__): Remove; unused.
82827         * lib/sha1.c: Fix commentary to match md5 better.
82828         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
82829         so that we don't need to worry about alignment.  All uses changed.
82830         This merges the 2005-10-28 md5 change into sha1.
82831
82832 2006-01-11  Jim Meyering  <jim@meyering.net>
82833
82834         Sync from coreutils.
82835         * lib/md5.c (OP): Fix spacing.
82836
82837 2006-01-11  Bruno Haible  <bruno@clisp.org>
82838
82839         Ensure automatic ordering between gl_LOCK and gl_ARGP.
82840         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
82841         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
82842
82843 2006-01-11  Bruno Haible  <bruno@clisp.org>
82844
82845         Ensure automatic ordering between gl_LOCK and gl_ARGP.
82846         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
82847         the "early" section as well.
82848
82849 2006-01-11  Bruno Haible  <bruno@clisp.org>
82850
82851         Avoid "ar: no archive members specified" error on MacOS X.
82852         * gnulib-tool (func_modules_add_dummy): New function.
82853         (func_import, func_create_testdir): Invoke it.
82854
82855 2006-01-11  Bruno Haible  <bruno@clisp.org>
82856
82857         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
82858         with $auxdir in AC_CONFIG_FILES statements.
82859
82860 2006-01-11  Bruno Haible  <bruno@clisp.org>
82861
82862         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
82863         Initialize also noinst_HEADERS to empty.
82864
82865 2006-01-11  Bruno Haible  <bruno@clisp.org>
82866
82867         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
82868         variables.
82869         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
82870         autoreconf.
82871
82872 2006-01-11  Bruno Haible  <bruno@clisp.org>
82873
82874         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
82875         overridable by the user.
82876         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82877
82878 2006-01-10  Simon Josefsson  <jas@extundo.com>
82879
82880         * modules/sys_socket: New file.
82881
82882 2006-01-10  Simon Josefsson  <jas@extundo.com>
82883
82884         * m4/sys_socket_h.m4: New file.
82885
82886 2006-01-10  Simon Josefsson  <jas@extundo.com>
82887
82888         * lib/socket_.h: New file.
82889
82890 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82891
82892         * modules/readutmp (Maintainer): Add myself.
82893
82894 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82895
82896         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
82897         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
82898         People who are still concerned with buggy memcmp implementations
82899         can invoke gl_FUNC_MEMCMP themselves.
82900
82901 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82902
82903         * lib/regex_internal.h (BITSET_WORD_BITS):
82904         Work around a bug in 64-bit PGC (before version 6.1-2), where the
82905         preprocessor mishandles large unsigned values as if they were signed.
82906         Problem reported by Claudio Fontana in
82907         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
82908
82909 2006-01-10  Jim Meyering  <jim@meyering.net>
82910
82911         Avoid the double-free (first in fts_read, second in fts_close) that
82912         would occur when an `active' directory is made inaccessible (e.g.,
82913         via chmod a-x) during a traversal.
82914         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
82915         before returning.  Reproduce this failure by
82916         mkdir -p a/b; cd a; chmod a-x . b
82917         Reported by Stavros Passas.
82918
82919         Sync from coreutils.
82920         * lib/sha1.c: Tweak grammar in a comment.
82921
82922 2006-01-10  Jim Meyering  <jim@meyering.net>
82923
82924         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
82925         Patch by Joerg Sonnenberger.
82926
82927 2006-01-10  Bruno Haible  <bruno@clisp.org>
82928
82929         * modules/readutmp: Depend on module free.
82930         * modules/strtok_r: Depend on module restrict.
82931
82932 2006-01-10  Bruno Haible  <bruno@clisp.org>
82933
82934         * modules/gettext (configure.ac): Add an invocation of
82935         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
82936
82937 2006-01-10  Bruno Haible  <bruno@clisp.org>
82938
82939         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
82940         Reported by Werner Lemberg <wl@gnu.org>.
82941
82942 2006-01-10  Bruno Haible  <bruno@clisp.org>
82943
82944         * lib/localcharset.c: Update from GNU gettext.
82945
82946 2006-01-10  Bruno Haible  <bruno@clisp.org>
82947
82948         * lib/argp.h (__const): Remove macro. Use const instead.
82949         * lib/argp-fmtstream.h (__const): Likewise.
82950         * lib/glob_.h (__const): Remove macro.
82951         * lib/glob-libc.h: Use const instead of __const.
82952
82953 2006-01-10  Bruno Haible  <bruno@clisp.org>
82954
82955         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
82956         variable.
82957         Needed to avoid an automake error regarding the 'gettext' module.
82958
82959 2006-01-09  Simon Josefsson  <jas@extundo.com>
82960
82961         * modules/inet_ntop (Depends-on): Add restrict.
82962
82963 2006-01-09  Simon Josefsson  <jas@extundo.com>
82964
82965         * modules/gc-rijndael-tests (License): Put under LGPL.
82966
82967         * modules/gc-des-tests (License): Likewise.
82968
82969         * modules/gc-arcfour-tests (License): Likewise.
82970
82971         * modules/gc-arctwo-tests (License): Likewise.
82972
82973         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
82974
82975         * modules/gc-hmac-sha1-tests (Files): Likewise.
82976
82977         * modules/gc-hmac-md5-tests (License): Likewise.
82978
82979         * modules/gc-sha1-tests (License): Likewise.
82980
82981         * modules/gc-md5-tests (License): Likewise.
82982
82983         * modules/gc-md4-tests (License): Likewise.
82984
82985         * modules/gc-md2-tests (License): Likewise.
82986
82987         * modules/gc-tests (License): Likewise.
82988
82989         * modules/des-tests (License): Likewise.
82990
82991         * modules/md4-tests (License): Likewise.
82992
82993         * modules/md2-tests (License): Likewise.
82994
82995 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
82996
82997         Sync from coreutils:
82998
82999         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
83000         * modules/lib-ignore: New file.
83001         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
83002         chdir-safer.m4, lchmod.m4.
83003         * modules/openat: Add mkdirat.c, openat-priv.h.
83004
83005 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83006
83007         Sync from coreutils.
83008         * m4/lib-ignore.m4: New file.
83009         * m4/lchmod.m4: New file.
83010
83011 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83012
83013         Sync from coreutils.
83014         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
83015         for write access: POSIX says that must fail.
83016         * lib/fts.c (diropen): Likewise.
83017         * lib/save-cwd.c (save_cwd): Likewise.
83018         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
83019         well, for minor improvements on hosts that lack O_DIRECTORY.
83020         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
83021         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
83022         Fall back on chown if open failed with EACCES.
83023
83024         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
83025         Report an error at compile-time if only a 1-second nominal clock
83026         resolution is found.
83027
83028         * lib/lchmod.h: New file.
83029         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
83030         (make_dir_parents): Use lchown rather than chown, and
83031         lchmod rather than chmod.
83032
83033         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
83034         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
83035         "proc" reported by n0dalus.
83036
83037         * lib/mountlist.c: Include <limits.h>.
83038         (dev_from_mount_options)
83039         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
83040         New function.  It no longer assumes "dev=" has the System V meaning
83041         on Linux (since it doesn't).  It also parses "dev=" more carefully.
83042         (read_file_system_list)
83043         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
83044         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
83045         dev= in that case.
83046
83047         * lib/posixtm.h (PDS_PRE_2000): New macro.
83048         * lib/posixtm.c (year): Arg is now syntax_bits rather than
83049         allow_century.  All usages changed.  Reject dates outside the range
83050         1969-1999 if PDS_PRE_2000 is used.
83051
83052 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83053
83054         Sync from coreutils.
83055         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
83056         (Time of day items): Mention the possibility of leap seconds.
83057         Problem reported by Dr. David Alan Gilbert.
83058
83059 2006-01-09  Jim Meyering  <jim@meyering.net>
83060
83061         Sync from coreutils.
83062
83063         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
83064
83065         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
83066
83067         * lib/modechange.c (mode_compile): Reject an invalid mode string
83068         that starts with an octal digit.  From Andreas Gruenbacher.
83069
83070         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
83071         and dup to open_safer and dup_safer, respectively.
83072         (openat_permissive): Fix typo in comment.
83073
83074         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
83075         "gettext.h"; either no longer needed or are guaranteed by openat.h.
83076         (_): Remove; no longer needed.
83077         (openat): Renamed from rpl_openat; no need for rpl_openat
83078         since openat.h renames openat for us.
83079         Replace most of the body with a call to openat_permissive,
83080         to avoid duplicate code.
83081         Port to (probably hypothetical) environments were mode_t is
83082         wider than int.
83083         (openat_permissive): Require mode arg, so that we can check
83084         types better.  Put it just after flags.  Change cwd failure
83085         indicator from pointer-to-bool to pointer-to-errno-value.
83086         All callers changed.
83087         Invoke openat_save_fail and/or openat_restore_fail if
83088         cwd_errno is null, so that openat can call us.
83089         (openat_permissive, fdopendir, fstatat, unlinkat):
83090         Simplify errno handling to avoid some duplicate code,
83091         as it's OK to set errno on success.
83092         * lib/openat.h: Revamp code so that function macros depend on
83093         __OPENAT_PREFIX only, not also on AT_FDCWD.
83094         (openat_ro): Remove.  Caller changed to use openat_permissive.
83095         (openat_permissive): Now a macro, if not a function.
83096         (openat_restore_fail, openat_save_fail): Now always functions,
83097         since mkdirat needs them even if __OPENAT_PREFIX is defined.
83098
83099         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
83100         and openat.c.
83101         * lib/mkdirat.c: Include openat-priv.h.
83102         Remove definitions of macros defined therein.
83103         * lib/openat.c: Likewise.
83104
83105         * lib/mkdirat.c (mkdirat): New file and function.
83106         * lib/openat.h (mkdirat): Declare.
83107
83108         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
83109
83110         * lib/openat.h (openat_permissive): Declare.
83111         (openat_ro): Define.
83112
83113         * lib/openat.c (EXPECTED_ERRNO): New macro.
83114         (openat_permissive): New function -- used in remove.c rewrite.
83115         (all functions): Set errno just before returning, only if there
83116         was an actual failure.
83117         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
83118
83119         Emulate openat-family functions using Linux's procfs, if possible.
83120         Idea and some code based on Ulrich Drepper's glibc changes.
83121
83122         * lib/openat.c: (BUILD_PROC_NAME): New macro.
83123         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
83124         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
83125         before falling back on save_cwd and restore_cwd.
83126         (fdopendir, fstatat, unlinkat): Likewise.
83127
83128         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
83129         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
83130
83131         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
83132         as second argument to va_arg.  Otherwise, some versions of gcc
83133         warn that `if this code is reached, the program will abort'.
83134
83135 2006-01-09  Jim Meyering  <jim@meyering.net>
83136
83137         Sync from coreutils.
83138         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
83139         Require openat-priv.h.
83140
83141 2006-01-09  Bruno Haible  <bruno@clisp.org>
83142
83143         * modules/strnlen (Include): Use strnlen.h.
83144
83145 2006-01-09  Bruno Haible  <bruno@clisp.org>
83146
83147         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
83148
83149 2006-01-09  Bruno Haible  <bruno@clisp.org>
83150
83151         * lib/sysexit_.h (EX_OK): New macro.
83152         Suggested by Martin Lambers <marlam@marlam.de>.
83153
83154 2006-01-09  Bruno Haible  <bruno@clisp.org>
83155
83156         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
83157         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
83158
83159 2006-01-09  Bruno Haible  <bruno@clisp.org>
83160
83161         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
83162         numbers.
83163
83164 2006-01-09  Bruno Haible  <bruno@clisp.org>
83165
83166         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
83167         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
83168         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
83169         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
83170
83171 2006-01-09  Bruno Haible  <bruno@clisp.org>
83172
83173         * build-aux/javacomp.sh.in: New file, moved from lib/.
83174         * modules/javacomp-script (Files): Update.
83175         (configure.ac): Add AC_CONFIG_FILES invocation.
83176         (EXTRA_DIST): Remove variable.
83177
83178         * build-aux/javaexec.sh.in: New file, moved from lib/.
83179         * modules/javaexec (Files): Update.
83180         (configure.ac): Add AC_CONFIG_FILES invocation.
83181         (EXTRA_DIST): Remove javaexec.sh.in.
83182
83183         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
83184         * modules/csharpcomp-script (Files): Update.
83185         (configure.ac): Add AC_CONFIG_FILES invocation.
83186         (EXTRA_DIST): Remove variable.
83187
83188         * build-aux/csharpexec.sh.in: New file, moved from lib/.
83189         * modules/csharpexec (Files): Update.
83190         (configure.ac): Add AC_CONFIG_FILES invocation.
83191         (EXTRA_DIST): Remove csharpexec.sh.in.
83192
83193 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83194
83195         Sync from coreutils.
83196
83197         Add POSIX ACL support
83198         * lib/acl.h (copy_acl, set_acl): Add declarations.
83199         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
83200         systems other than Linux.
83201         (chmod_or_fchmod): New function: use fchmod when possible,
83202         and chmod otherwise.
83203         (file_has_acl): Add a POSIX ACL implementation, with a
83204         Linux-specific subcase.
83205         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
83206         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
83207         acls are unsupported.
83208         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
83209         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
83210         are unsupported.
83211
83212 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83213
83214         Sync from coreutils.
83215         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
83216
83217 2006-01-07  Bruno Haible  <bruno@clisp.org>
83218
83219         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
83220         gl_EARLY.
83221
83222 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83223
83224         * lib/strftime.c (tzname): Don't declare if it is already #defined.
83225         Problem reported for Mingw by Mark Junker.
83226
83227 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83228
83229         * README: Gnulib normally doesn't generate a tarball.
83230
83231 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
83232
83233         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
83234         long int, not int, for nanosecond counts, so that people who are
83235         used to POSIX struct timespec won't be surprised.  Reported by Jim
83236         Meyering.
83237
83238 2005-12-28  Bruno Haible  <bruno@clisp.org>
83239
83240         * build-aux/config.rpath: Update from GNU gettext.
83241
83242 2005-12-16  Jim Meyering  <jim@meyering.net>
83243
83244         * modules/fprintftime: New module.
83245         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
83246
83247 2005-12-16  Jim Meyering  <jim@meyering.net>
83248
83249         * m4/fprintftime.m4: New file.
83250
83251 2005-12-16  Jim Meyering  <jim@meyering.net>
83252
83253         * lib/fprintftime.c, lib/fprintftime.h: New files.
83254
83255 2005-12-15  Simon Josefsson  <jas@extundo.com>
83256
83257         * modules/socklen (configure.ac): Fix M4 macro name, to align with
83258         new m4/socklen.m4.
83259
83260 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83261
83262         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
83263         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
83264
83265 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83266
83267         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
83268         * lib/argp-help.c (fill_in_uparams): Check if the constructed
83269         struct uparams is valid. Fall back to the default values if it is
83270         not.
83271
83272 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83273
83274         * modules/argp (Files): Add argp-pin.c
83275         (Depends-on): dirname
83276         (lib_SOURCES): Add argp-pin.c
83277
83278 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83279
83280         * m4/argp.m4:  Check if program_invocation_name and
83281         program_invocation_short_name are declared and define appropriate
83282         macros if they are not.
83283
83284 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83285
83286         * lib/argp-help.c (__argp_base_name): New function
83287         (__argp_short_program_name): Rewrite using __argp_base_name
83288         * lib/argp-namefrob.h: Define program_invocation_name and
83289         program_invocation_short_name if requested
83290         (__argp_base_name): Add prototype
83291         * lib/argp-parse.c (argp_def): Use gettext wrappers
83292         (argp_default_parser): Use __argp_base_name
83293         * lib/argp-pin.c: New file. Defines program_invocation_name and
83294         program_invocation_short_name on systems that lack them.
83295
83296 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83297
83298         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
83299         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83300         porting problem reported by Georg Schwarz in
83301         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83302
83303 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83304
83305         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
83306         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83307         porting problem reported by Georg Schwarz in
83308         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83309
83310 2005-12-05  Bruno Haible  <bruno@clisp.org>
83311
83312         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
83313         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
83314         Reported by Mark Junker <mjscod@gmx.de>.
83315
83316 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
83317
83318         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
83319         Use implementation from Albert Chin, with some
83320         comments/corrections by Stepan Kasal and myself.
83321
83322 2005-12-02  Bruno Haible  <bruno@clisp.org>
83323
83324         * gnulib-tool (func_import): Accept GPLed build tool modules when
83325         --lgpl is given.
83326         * modules/csharpcomp-script: New file.
83327         * modules/csharpcomp: Depend on it.
83328         * modules/javacomp-script: New file.
83329         * modules/javacomp: Depend on it.
83330         Suggested by Simon Josefsson.
83331
83332 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
83333
83334         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
83335         statement, to work around an HP-UX 10.20 compiler bug reported by
83336         Peter O'Gorman.
83337
83338 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83339
83340         * modules/savedir (Depends-on): Add openat.
83341
83342 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83343
83344         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
83345         (uintmax_t) [defined uintmax_t]: Do not declare.
83346         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
83347         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
83348         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
83349         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
83350         sake of portability to weird hosts that C allows (though we don't
83351         know of any practical examples).
83352
83353         * lib/savedir.h (fdsavedir): New decl.
83354         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
83355         contains most of the former guts of savedir.
83356         (savedir): Use savedirstream.
83357         Include "openat.h".
83358
83359 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83360
83361         * modules/obstack (Files): Add m4/ulonglong.m4.
83362         Problem reported by Davide Angelocola.
83363
83364 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
83365
83366         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
83367         coreutils no longer futzes with rounding modes.
83368
83369 2005-11-14  Jim Meyering  <jim@meyering.net>
83370
83371         * lib/mkstemp-safer.c: Include <config.h>, required for possible
83372         replacement of mkstemp.
83373
83374 2005-11-10  Simon Josefsson  <jas@extundo.com>
83375
83376         * lib/readline.c: Remove EOL.
83377
83378 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83379
83380         * modules/gethrxtime (Depends-on): Add gettime.
83381
83382 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83383
83384         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
83385         or gettimeofday; no longer needed.
83386
83387 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83388
83389         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
83390         time business.
83391         (gethrxtime) [! (HAVE_NANOUPTIME
83392         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
83393         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
83394         our own approximation.
83395
83396 2005-11-08  Eric Blake  <ebb9@byu.net>
83397
83398         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83399
83400 2005-11-08  Eric Blake  <ebb9@byu.net>
83401
83402         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83403
83404 2005-11-04  Bruno Haible  <bruno@clisp.org>
83405
83406         * gnulib-tool: Implement --update mode.
83407
83408 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83409
83410         Fix porting problem reported by Theodoros V. Kalamatianos.
83411         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
83412         Don't assume that futimes failing means we must fail.
83413
83414 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83415
83416         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
83417         variables to suggest the intended function of the PATH_MAX check.
83418
83419 2005-10-30  Kean Johnston  <jkj@sco.com>
83420
83421         Trivial changes to support SCO systems.
83422         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
83423         as PATH_MAX.
83424         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
83425         where __ptr is null when no I/O is pending.
83426
83427 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83428
83429         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
83430         leave errno alone.  Problem reported by Dmitry V. Levin.
83431
83432 2005-10-28  Simon Josefsson  <jas@extundo.com>
83433
83434         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
83435         Test more.
83436
83437         * tests/test-gc-md2.c, tests/test-md2.c: New files.
83438
83439         * modules/md2, modules/md2-tests: New files.
83440
83441 2005-10-28  Simon Josefsson  <jas@extundo.com>
83442
83443         * m4/inet_ntop.m4: More tests.
83444
83445         * m4/gc-md2.m4, md2.m4: New file.
83446
83447 2005-10-28  Simon Josefsson  <jas@extundo.com>
83448
83449         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
83450         "restrict" keywords, as per POSIX.  Protect the function
83451         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
83452         Don't use K&R prototypes.  Check the sprintf return values.
83453         Re-define EAFNOSUPPORT if not present.  Indent.
83454
83455         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
83456         suggested by Bruno Haible <bruno@clisp.org>.
83457
83458         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
83459
83460         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
83461
83462         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
83463         libgcrypt).
83464
83465         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
83466
83467         * lib/md2.h, lib/md2.c: New files.
83468
83469 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
83470
83471         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
83472         errno alone.  Problem reported by Frederic Jolliton.
83473
83474 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
83475
83476         * modules/verify (License): Change from GPL to LGPL.  This is a
83477         tiny module and there are apparently near-equivalents that are
83478         under the BSD license.
83479
83480 2005-10-24  Simon Josefsson  <jas@extundo.com>
83481
83482         * modules/sha1: Relicense to LGPL.
83483
83484 2005-10-24  Simon Josefsson  <jas@extundo.com>
83485
83486         * lib/md4.h: Shrink buffer size, now that we changed the type.
83487
83488 2005-10-23  Simon Josefsson  <jas@extundo.com>
83489
83490         * gnulib-tool (func_import): Fix --tests-base.
83491
83492 2005-10-22  Simon Josefsson  <jas@extundo.com>
83493
83494         * modules/arcfour (Depends-on): Need stdint.
83495
83496 2005-10-22  Simon Josefsson  <jas@extundo.com>
83497
83498         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
83499         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
83500
83501 2005-10-22  Simon Josefsson  <jas@extundo.com>
83502
83503         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
83504         suggested by Bruno Haible <bruno@clisp.org>.
83505
83506 2005-10-22  Simon Josefsson  <jas@extundo.com>
83507
83508         * lib/crc.h: Include stddef.h, for size_t.
83509
83510 2005-10-22  Simon Josefsson  <jas@extundo.com>
83511
83512         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
83513         arcfour_context struct (simplify test vector testing in GNU
83514         Shishi).
83515
83516 2005-10-21  Simon Josefsson  <jas@extundo.com>
83517
83518         * modules/des, modules/des-tests: New files.
83519
83520         * modules/gc-des, modules/gc-des-tests: New files.
83521
83522         * tests/test-des.c, tests/test-gc-des.c: New file.
83523
83524 2005-10-21  Simon Josefsson  <jas@extundo.com>
83525
83526         * modules/arctwo, modules/arctwo-tests: New files.
83527
83528         * tests/test-arctwo.c: New file.
83529
83530         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
83531
83532         * tests/test-gc-arctwo.c: New file.
83533
83534 2005-10-21  Simon Josefsson  <jas@extundo.com>
83535
83536         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
83537         Bruno Haible <bruno@clisp.org>.
83538
83539         * m4/gc-des.m4: New file.
83540
83541 2005-10-21  Simon Josefsson  <jas@extundo.com>
83542
83543         * m4/arctwo.m4: New file.
83544
83545         * m4/gc-arctwo.m4: New file.
83546
83547 2005-10-21  Simon Josefsson  <jas@extundo.com>
83548
83549         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
83550         block.
83551
83552 2005-10-21  Simon Josefsson  <jas@extundo.com>
83553
83554         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
83555         <bruno@clisp.org>.
83556
83557         * lib/hmac-sha1.c (hmac_sha1): Likewise.
83558
83559         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
83560         Bruno Haible <bruno@clisp.org>.
83561
83562         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
83563         <bruno@clisp.org>.
83564
83565 2005-10-21  Simon Josefsson  <jas@extundo.com>
83566
83567         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
83568
83569 2005-10-21  Simon Josefsson  <jas@extundo.com>
83570
83571         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
83572
83573 2005-10-21  Simon Josefsson  <jas@extundo.com>
83574
83575         * lib/des.h, lib/des.c: New files.
83576
83577         * lib/gc-gnulib.c: Support DES.c
83578
83579 2005-10-21  Simon Josefsson  <jas@extundo.com>
83580
83581         * lib/arctwo.h, lib/arctwo.c: New files.
83582
83583         * lib/gc-gnulib.c: Support ARCTWO.
83584
83585 2005-10-21  Simon Josefsson  <jas@extundo.com>
83586
83587         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
83588         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83589
83590 2005-10-21  Simon Josefsson  <jas@extundo.com>
83591
83592         * gnulib-tool (func_import, func_create_testdir): Define automake
83593         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
83594         Makefile.am snippet),
83595         suggested by Bruno Haible <bruno@clisp.org>.
83596
83597         * modules/gc (Makefile.am): Use it.
83598
83599 2005-10-21  Bruno Haible  <bruno@clisp.org>
83600
83601         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
83602         patch.
83603
83604 2005-10-19  Simon Josefsson  <jas@extundo.com>
83605
83606         * tests/test-gc-rijndael.c: New file.
83607
83608         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
83609
83610 2005-10-19  Simon Josefsson  <jas@extundo.com>
83611
83612         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
83613         interface too.
83614
83615 2005-10-19  Simon Josefsson  <jas@extundo.com>
83616
83617         * tests/test-gc-arcfour.c: New file.
83618
83619         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
83620
83621 2005-10-19  Simon Josefsson  <jas@extundo.com>
83622
83623         * modules/gc-md4, modules/gc-md4-tests: New file.
83624
83625         * tests/test-gc-md4.c: New file.
83626
83627 2005-10-19  Simon Josefsson  <jas@extundo.com>
83628
83629         * m4/gc-md4.m4: New file.
83630
83631 2005-10-19  Simon Josefsson  <jas@extundo.com>
83632
83633         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
83634         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
83635         <kasal@ucw.cz>.
83636
83637 2005-10-19  Simon Josefsson  <jas@extundo.com>
83638
83639         * m4/gc-arcfour.m4: New file.
83640
83641         * m4/gc-rijndael.m4: New file.
83642
83643 2005-10-19  Simon Josefsson  <jas@extundo.com>
83644
83645         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
83646
83647 2005-10-19  Simon Josefsson  <jas@extundo.com>
83648
83649         * lib/gc-gnulib.c: Support ARCFOUR.
83650
83651 2005-10-19  Simon Josefsson  <jas@extundo.com>
83652
83653         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
83654         support.
83655
83656         * lib/gc.h: Add ECB enum type.
83657
83658         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
83659
83660 2005-10-18  Simon Josefsson  <jas@extundo.com>
83661
83662         * tests/test-md5.c: New file.
83663
83664         * modules/md5-tests: New file.
83665
83666 2005-10-18  Simon Josefsson  <jas@extundo.com>
83667
83668         * tests/test-md4.c: New file.
83669
83670         * modules/md4, modules/md4-tests: New files.
83671
83672 2005-10-18  Simon Josefsson  <jas@extundo.com>
83673
83674         * m4/md4.m4: New file.
83675
83676 2005-10-18  Simon Josefsson  <jas@extundo.com>
83677
83678         * lib/md4.h, lib/md4.c: New files, based on md5.?.
83679
83680 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
83681
83682         * gnulib-tool (func_create_testdir): Omit the second check whether
83683         BUILT_SOURCES in nonempty.
83684
83685 2005-10-17  Simon Josefsson  <jas@extundo.com>
83686
83687         * tests/test-rijndael.c: New file.
83688
83689 2005-10-17  Simon Josefsson  <jas@extundo.com>
83690
83691         * modules/sha1: Depend on stdint instead of md5.
83692
83693         * modules/md5: Depend on stdint, remove uint32_t.
83694
83695 2005-10-17  Simon Josefsson  <jas@extundo.com>
83696
83697         * modules/gc-sha1-tests: New file.
83698
83699         * tests/test-gc-sha1.c: New file.
83700
83701 2005-10-17  Simon Josefsson  <jas@extundo.com>
83702
83703         * m4/md5.m4: Remove call to uint32_t.m4.
83704
83705 2005-10-17  Simon Josefsson  <jas@extundo.com>
83706
83707         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
83708
83709         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
83710         md5.h.
83711
83712         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
83713
83714         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
83715
83716 2005-10-17  Simon Josefsson  <jas@extundo.com>
83717
83718         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
83719
83720 2005-10-17  Simon Josefsson  <jas@extundo.com>
83721
83722         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
83723
83724 2005-10-17  Simon Josefsson  <jas@extundo.com>
83725
83726         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
83727
83728         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
83729
83730 2005-10-17  Bruno Haible  <bruno@clisp.org>
83731
83732         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
83733         that it can also be used in a test.
83734
83735 2005-10-16  Bruno Haible  <bruno@clisp.org>
83736
83737         * gnulib-tool (func_emit_tests_Makefile_am): Also define
83738         TESTS_ENVIRONMENT, so that individual tests can augment it.
83739
83740         * gnulib-tool (func_create_testdir): Use an intermediate target for
83741         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
83742         macros, like $(ALLOCA_H), which cannot be passed through the command
83743         line.
83744
83745 2005-10-15  Simon Josefsson  <jas@extundo.com>
83746
83747         * modules/rijndael-tests: New file.
83748
83749         * modules/rijndael: New file.
83750
83751 2005-10-15  Simon Josefsson  <jas@extundo.com>
83752
83753         * m4/rijndael.m4: New file.
83754
83755 2005-10-15  Simon Josefsson  <jas@extundo.com>
83756
83757         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
83758
83759         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
83760
83761 2005-10-14  Simon Josefsson  <jas@extundo.com>
83762
83763         * tests/test-arcfour.c: New file.
83764
83765         * modules/arcfour, modules/arcfour-tests: New files.
83766
83767 2005-10-14  Simon Josefsson  <jas@extundo.com>
83768
83769         * m4/arcfour.m4: New file.
83770
83771 2005-10-14  Simon Josefsson  <jas@extundo.com>
83772
83773         * lib/arcfour.h, lib/arcfour.c: New files.
83774
83775 2005-10-14  Roland McGrath  <roland@redhat.com>
83776
83777         Import from libc.  [BZ #1331]
83778         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
83779         macro argument.
83780         Reported by Matej Vela <vela@debian.org>.
83781
83782 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
83783
83784         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
83785         include <wchar.h>; no longer needed.
83786
83787 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
83788
83789         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
83790
83791 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
83792         and  Ulrich Drepper  <drepper@redhat.com>
83793
83794         Import from libc.
83795         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
83796         instead of inline stream orientation test and two separate
83797         function calls.  Pay no attention to USE_IN_LIBIO.
83798
83799 2005-10-13  Simon Josefsson  <jas@extundo.com>
83800
83801         * modules/gc-hmac-md5-tests: New file.
83802
83803         * tests/test-gc-hmac-sha1.c: New file.
83804
83805         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
83806
83807         * modules/gc-hmac-md5-tests: New file.
83808
83809         * tests/test-gc-md5.c: New file.
83810
83811         * modules/gc-md5-tests: New file.
83812
83813 2005-10-13  Simon Josefsson  <jas@extundo.com>
83814
83815         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
83816         Move memory allocation outside of loop.
83817
83818 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
83819
83820         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
83821         intermediate directory is in a read-only file system.  Problem
83822         reported by Eric Blake.
83823
83824 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
83825
83826         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
83827
83828 2005-10-12  Simon Josefsson  <jas@extundo.com>
83829
83830         * tests/test-hmac-sha1.c: New file.
83831
83832         * modules/hmac-sha1-tests: New file.
83833
83834         * modules/hmac-sha1: New file.
83835
83836 2005-10-12  Simon Josefsson  <jas@extundo.com>
83837
83838         * modules/gc-sha1: New file.
83839
83840 2005-10-12  Simon Josefsson  <jas@extundo.com>
83841
83842         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
83843
83844         * tests/test-gc-pbkdf2-sha1.c: New file.
83845
83846 2005-10-12  Simon Josefsson  <jas@extundo.com>
83847
83848         * modules/gc-md5, modules/gc-hmac-md5: New files.
83849
83850         * modules/gc (Files): Remove md5, memxor and hmac files.
83851
83852 2005-10-12  Simon Josefsson  <jas@extundo.com>
83853
83854         * m4/gc-pbkdf2-sha1.m4: New file.
83855
83856         * m4/gc-hmac-sha1.m4: New file.
83857
83858         * m4/gc-sha1: New file.
83859
83860         * m4/hmac-sha1.m4: New file.
83861
83862 2005-10-12  Simon Josefsson  <jas@extundo.com>
83863
83864         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
83865
83866         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
83867
83868 2005-10-12  Simon Josefsson  <jas@extundo.com>
83869
83870         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
83871         suggested by Bruno Haible <bruno@clisp.org>.
83872
83873 2005-10-12  Simon Josefsson  <jas@extundo.com>
83874
83875         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
83876
83877 2005-10-12  Simon Josefsson  <jas@extundo.com>
83878
83879         * lib/gc-pbkdf2-sha1.c: New file.
83880
83881         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
83882
83883 2005-10-12  Simon Josefsson  <jas@extundo.com>
83884
83885         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
83886
83887         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
83888
83889 2005-10-12  Simon Josefsson  <jas@extundo.com>
83890
83891         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
83892         GC_USE_HMAC_MD5, respectively.
83893
83894         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
83895         (gc_md5): Fix typo.
83896
83897         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
83898
83899         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
83900
83901         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
83902
83903 2005-10-12  Bruno Haible  <bruno@clisp.org>
83904
83905         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
83906         Reported by Stepan Kasal <kasal@ucw.cz>.
83907
83908 2005-10-11  Simon Josefsson  <jas@extundo.com>
83909
83910         * tests/test-crc.c: New file.
83911
83912         * modules/crc, modules/crc-tests: New files.
83913
83914 2005-10-11  Simon Josefsson  <jas@extundo.com>
83915
83916         * m4/crc.m4: New file.
83917
83918 2005-10-11  Simon Josefsson  <jas@extundo.com>
83919
83920         * lib/gc.h: Add gc_hash and gc_hash_buffer.
83921
83922         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
83923
83924         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
83925
83926 2005-10-11  Simon Josefsson  <jas@extundo.com>
83927
83928         * lib/crc.h, lib/crc.c: New files.
83929
83930         * lib/gc.h (gc_hash_buffer): Add doc.
83931
83932 2005-10-11  Bruno Haible  <bruno@clisp.org>
83933
83934         * modules/c-strcasestr: New file.
83935         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
83936
83937 2005-10-11  Bruno Haible  <bruno@clisp.org>
83938
83939         * modules/c-strcase: New file.
83940         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
83941
83942 2005-10-11  Bruno Haible  <bruno@clisp.org>
83943
83944         * lib/strcasecmp.c: Include limits.h.
83945         (strcasecmp): Avoid integer overflow on exotic platforms.
83946         * lib/strncasecmp.c: Include limits.h.
83947         (strncasecmp): Avoid integer overflow on exotic platforms.
83948         Reported by Paul Eggert.
83949
83950 2005-10-11  Bruno Haible  <bruno@clisp.org>
83951
83952         * lib/c-strcasestr.h: New file, from GNU gettext.
83953         * lib/c-strcasestr.c: New file, from GNU gettext.
83954
83955 2005-10-11  Bruno Haible  <bruno@clisp.org>
83956
83957         * lib/c-strcase.h: New file, from GNU gettext.
83958         * lib/c-strcasecmp.c: New file, from GNU gettext.
83959         * lib/c-strncasecmp.c: New file, from GNU gettext.
83960
83961 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
83962
83963         * modules/mempcpy (License): GPL -> LGPL.
83964         * modules/strchrnul (License): Likewise.
83965         * modules/sysexits (License): Likewise.
83966
83967 2005-10-08  Simon Josefsson  <jas@extundo.com>
83968
83969         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
83970
83971 2005-10-07  Simon Josefsson  <jas@extundo.com>
83972
83973         * m4/memxor.m4: Remove gl_C_RESTRICT call.
83974
83975 2005-10-06  Simon Josefsson  <jas@extundo.com>
83976
83977         * tests/test-hmac-md5.c: New file.
83978
83979         * modules/hmac-md5-tests: New file.
83980
83981         * modules/hmac-md5: New file.
83982
83983 2005-10-06  Simon Josefsson  <jas@extundo.com>
83984
83985         * m4/hmac-md5.m4: New file.
83986
83987         * m4/memxor.m4: Require gl_C_RESTRICT.
83988
83989 2005-10-06  Simon Josefsson  <jas@extundo.com>
83990
83991         * lib/memxor.c (memxor): Avoid casts and warnings.
83992
83993 2005-10-06  Simon Josefsson  <jas@extundo.com>
83994
83995         * lib/hmac-md5.c: New file.
83996
83997         * lib/hmac.h: New file.
83998
83999 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
84000
84001         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
84002         promotes to int, not unsigned int, to catch the AIX 5.3
84003         compiler bug.
84004
84005 2005-10-05  Simon Josefsson  <jas@extundo.com>
84006
84007         * modules/memxor: New file.
84008
84009         * modules/iconv (Files): Move config.rpath to havelib, it is used
84010         there.
84011
84012         * modules/havelib (Files): Add config.rpath.
84013
84014 2005-10-05  Simon Josefsson  <jas@extundo.com>
84015
84016         * m4/memxor.m4: New file.
84017
84018 2005-10-05  Simon Josefsson  <jas@extundo.com>
84019
84020         * lib/memxor.c (memxor): Fix compiler error.
84021
84022         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
84023         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
84024
84025         * lib/memxor.h, lib/memxor.c: New files.
84026
84027         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
84028         we assume all systems have it, suggested by Jim Meyering
84029         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
84030         any systems lack sys/socket.h; mingw32 is known to lack it, but we
84031         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
84032         same reasons.
84033
84034 2005-10-05  Simon Josefsson  <jas@extundo.com>
84035
84036         * config/srclist.txt: Add glibc bug 1423 for md5.h.
84037
84038 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
84039
84040         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
84041         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
84042         needed, since the source code now assumes these .h files.
84043
84044 2005-10-05  Derek Price  <derek@ximbiot.com>
84045
84046         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
84047
84048 2005-10-05  Bruno Haible  <bruno@clisp.org>
84049
84050         * modules/stdint (License): Change to LGPL.
84051
84052 2005-10-04  Simon Josefsson  <jas@extundo.com>
84053
84054         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
84055         D. Baushke" <mdb@gnu.org>.
84056
84057 2005-10-04  Bruno Haible  <bruno@clisp.org>
84058
84059         * lib/verify.h (verify_true): Provide alternative definition for C++.
84060
84061 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
84062
84063         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
84064         (SSIZE_MAX): New macro, if not already defined.
84065         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
84066         than 2 GiB.
84067
84068 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84069
84070         Sync from coreutils.
84071         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
84072         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
84073         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
84074         ULLONG_MAX doesn't work with 2.7.2.1.
84075
84076 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84077
84078         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
84079         From Ben Pfaff.
84080
84081         * modules/exclude (Depends-on): Depend on verify.
84082         * modules/strtoimax (Depends-on): Likewise.
84083         * modules/utimecmp (Depends-on): Likewise.
84084
84085 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84086
84087         * lib/exclude.c: Include verify.h.
84088         (verify): Remove.  All callers changed to use verify.h's version.
84089         * lib/strtoimax.c: Likewise.
84090         * lib/utimecmp.c: Likewis.e
84091
84092         Sync from coreutils.
84093         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
84094         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
84095         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
84096         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
84097         bother returning ENOSYS if settimeofday or stime fails; just let
84098         them return whatever errno they want to return.
84099         * lib/utimens.c: Include unistd.h, for dup2.
84100         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
84101         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
84102
84103 2005-10-02  Jim Meyering  <jim@meyering.net>
84104
84105         Sync from coreutils.
84106         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
84107         from glibc-2.2.5 that fails for read-only files.
84108
84109 2005-10-02  Jim Meyering  <jim@meyering.net>
84110
84111         Sync from coreutils.
84112         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
84113         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
84114         `#if HAVE_CONFIG_H'.
84115         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
84116         Remove AT_FDCWD test.
84117         Do not consume the fd unless successful.
84118         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
84119         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
84120         block, so that we don't even try to compile it if settimeofday is
84121         available.  This works around a compilation failure on OSF1 V5.1,
84122         due to stime requiring a `long int*' while tv_sec is `int'.
84123
84124 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
84125
84126         Sync from coreutils.
84127         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
84128         against `yes', rather than just testing for nonempty.
84129
84130 2005-10-01  Simon Josefsson  <jas@extundo.com>
84131
84132         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
84133         and Darwin.
84134
84135         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
84136         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
84137         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
84138         freeaddrinfo and gai_strerror are declared by the POSIX headers.
84139         Check if struct addrinfo is declared.
84140
84141 2005-10-01  Simon Josefsson  <jas@extundo.com>
84142
84143         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
84144         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
84145         AI_* and EAI_* definitions.  Protect function declarations.
84146
84147 2005-10-01  Jim Meyering  <jim@meyering.net>
84148
84149         Sync from coreutils.
84150
84151         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
84152         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
84153         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
84154         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84155         in the inet and nsl libraries.  Required on Solaris 5.7.
84156
84157 2005-10-01  Jim Meyering  <jim@meyering.net>
84158
84159         Sync from coreutils.
84160         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84161         in the inet and nsl libraries.  Required on Solaris 5.7.
84162
84163 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
84164
84165         * lib/getdelim.c (getdelim): Remove unused variables.
84166
84167 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
84168
84169         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
84170         so that the code works even with ancient cpp.  Portability problem
84171         with GCC 2.7.2.1 reported by Thomas M.Ott.
84172
84173 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
84174
84175         * modules/regex (Depends-on): Add strcase.
84176
84177         * modules/gethostname (Licence): Change from GPL to LGPL, since
84178         gethostname.c is a trivial implementation of a standard library
84179         function.
84180         * modules/poll (License): Change from GPL to LGPL, since it's
84181         derived from LGPL code.
84182
84183 2005-09-27  Jim Meyering  <jim@meyering.net>
84184
84185         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
84186         HAVE_CONFIG_H.
84187
84188         * lib/intprops.h (signed_type_or_expr__): Define.
84189         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
84190         for unsigned types.
84191
84192 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
84193
84194         * lib/verify.h (verify_expr): Remove, replacing with:
84195         (verify_true): New macro that returns true instead of void.
84196         (verify_type__): Remove.
84197         (verify): Use verify_true rather than verify_type__.
84198
84199 2005-09-26  Bruno Haible  <bruno@clisp.org>
84200
84201         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
84202         is necessary.
84203         (lib_SOURCES): Remove mbchar.c.
84204         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
84205         (Files): Add m4/mbrtowc.m4.
84206         * modules/mbiter: Likewise.
84207         * modules/mbuiter: Likewise.
84208
84209 2005-09-26  Bruno Haible  <bruno@clisp.org>
84210
84211         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
84212         compile mbchar.c if they are not both present.
84213         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
84214         * m4/mbiter.m4 (gl_MBITER): Likewise.
84215         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
84216         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
84217         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
84218
84219 2005-09-25  Jim Meyering  <jim@meyering.net>
84220
84221         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
84222         also uses socklen_t.
84223
84224 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
84225
84226         * lib/utimens.c (ENOSYS): Define if not already defined.
84227         (futimens): Support having a null PATH if the file descriptor
84228         is nonnegative.
84229
84230         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
84231         Remove.
84232         (__attribute): Define to empty unless GCC 3.1 or later.
84233         This works around a core dump on OpenBSD 3.4, which has GCC
84234         2.95.3, which dumps core when given __attribute__(()).  It also
84235         simplifies other tests, since we really don't want to bother with
84236         worrying about which ancient version of GCC supported what.
84237         Original problem reported by Yoann Vandoorselaere, with part of
84238         the fix suggested by Derek Price.
84239
84240 2005-09-24  Jim Meyering  <jim@meyering.net>
84241
84242         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
84243         so we can once again use a positive bitfield width of 1 -- now we
84244         don't have to explain why we were using a bitfield width of 2.
84245
84246 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84247
84248         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
84249         and similarly for the other external symbols.  Problem reported
84250         by James Gallager.
84251
84252         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
84253         bug reported by Jim Meyering.
84254
84255         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
84256         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
84257         not needed, since socklen is a prerequisite module.
84258
84259 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84260
84261         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
84262         Problem reported by Eric Blake.
84263         (getaddrinfo): Initialize se so that it's not garbage.
84264         Redo internal storage allocation so that it doesn't make unportable
84265         assumptions about alignment.
84266         Fix a memory leak.
84267
84268         * lib/utimens.c (futimens): Use futimesat if available.
84269         Prefer it to futimes since it doesn't have the futimes bug.
84270
84271         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
84272         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
84273         Instead, declare a function that returns a pointer to an array,
84274         and use verify_type__ to declare the size of the array.
84275         Problem and germ of a solution reported by Bruno Haible.
84276         (verify_type__): Use 2, not 1, for bitfield size, to avoid
84277         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
84278
84279 2005-09-23  Jim Meyering  <jim@meyering.net>
84280
84281         Sync from coreutils.
84282         Correct build failure (socklen_t not defined) on at least
84283         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
84284         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
84285
84286 2005-09-23  Jim Meyering  <jim@meyering.net>
84287
84288         * modules/getaddrinfo (Depends-on): Add socklen.
84289
84290 2005-09-23  Bruno Haible  <bruno@clisp.org>
84291
84292         * tests/test-verify.c: New file.
84293
84294 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84295
84296         Sync from coreutils.
84297
84298         * modules/argmatch (Depends-on): Add verify.
84299         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
84300         unistd-safer.
84301         * modules/save-cwd (Depends-on): Likewise.
84302
84303         * modules/openat (Files): Add lib/openat-die.c.
84304         (Depends-on): Remove error, exitfail.
84305         Add dirname.
84306
84307         * modules/verify: New file.
84308         * MODULES.html.sh (Diagnostics <assert.h>): New section,
84309         with "verify" module.
84310
84311 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84312
84313         Sync from coreutils.
84314
84315         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
84316         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
84317         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
84318         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
84319         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
84320         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
84321         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
84322         Don't bother checking for string.h, stdlib.h, unistd.h.
84323         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
84324         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
84325         module's job.
84326         * m4/jm-macros.m4 (gl_MACROS): Likewise.
84327         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
84328
84329         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
84330         (gl_GETDATE): Use it.
84331
84332         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
84333
84334 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84335
84336         Sync from coreutils.
84337
84338         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
84339         stat-time.h.
84340         * lib/argmatch.h: Include verify.h
84341         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
84342         (ARGMATCH_ASSERT): Remove; unused.
84343         * lib/canonicalize.c: Assume STDC_HEADERS.
84344         * lib/exclude.c: Include "strcase.h".
84345         * lib/regex_internal.h [!defined _LIBC]: Likewise.
84346         * lib/getusershell.c: Include stdio--.h rather than stdio.h
84347         and stdio-safer.h.
84348         (getusershell): Call fopen, not fopen_safer.
84349         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
84350         Do not include unistd-safer.h.
84351         (save_cwd): Don't call fd_safer; no longer needed
84352         now that we include fcntl--.h.
84353
84354         * lib/getdate.y (relative_time): New type.
84355         (RELATIVE_TIME_0): New constant.
84356         (parser_control): Use relative_time instead of doing it ourselves.
84357         (%union): Add new relative_time rel member.
84358         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
84359         Now typeless.
84360         (relunit, relunit_snumber): Now of type rel.
84361         (zone, rel, relunit, get_date): Adjust to above changes.
84362
84363         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
84364         Do not include unistd-safer.h.
84365         (getloadavg): Don't call fd_safer; no longer needed
84366         now that we include fcntl--.h.
84367
84368         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
84369         (make_dir_parents): Treat ENOSYS like EEXIST.
84370
84371         Improve quality of diagnostics on restore_cwd failure.
84372         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
84373         (make_dir_parents): Last arg is now int * (for errno), not bool *.
84374         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
84375         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
84376         each time through the loop.  Do not diagnose restore_cwd failure;
84377         that is the caller's job (and perhaps the caller does not care).
84378
84379         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
84380         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
84381         If the file already exists but is not a directory, don't bother
84382         to try to make its parents.
84383         Close potential file descriptor leak if we can't chdir("/") (!).
84384         Don't always return true if chdir($PWD) fails; return true only
84385         if the requested action was done successfully (except for the
84386         chdir($PWD)).
84387         Don't log final directory unless we actually made it.
84388         Refactor to avoid duplicate code to fix up permissions.
84389         Don't attempt to fix up parent permissions if chdir($PWD) fails.
84390
84391         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
84392         to make it a bit faster and (I hope) clearer.
84393         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
84394         Fix bug in formats like %2N.
84395
84396         * lib/verify.h: New file.
84397
84398 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84399
84400         Sync from coreutils.
84401         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
84402
84403 2005-09-22  Jim Meyering  <jim@meyering.net>
84404
84405         Sync from coreutils.
84406
84407         * m4/lstat.m4 (gl_FUNC_LSTAT):
84408         Use AC_LIBSOURCES to require lstat.c and lstat.h.
84409         Remove obsolete comment.
84410         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
84411         * m4/xstrtod.m4: Likewise.
84412
84413         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
84414
84415 2005-09-22  Jim Meyering  <jim@meyering.net>
84416
84417         Sync from coreutils.
84418
84419         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
84420
84421         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
84422         the .tm_year member, since otherwise gcc-4.0 would now warn about
84423         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
84424
84425         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
84426         order to avoid an unsuppressible warning from gcc on 64-bit systems.
84427
84428         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
84429         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
84430         when run in a time zone for which daylight savings time is in effect
84431         for the starting date.
84432
84433         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
84434         stop us from restricting permissions of just-created absolute-named
84435         directories.
84436         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
84437         to restore initial working directory.
84438         * lib/mkdir-p.c (make_dir_parents): New parameter:
84439         different_working_dir, to tell caller if/when we change the working
84440         directory and are unable to return to the initial one.
84441         * lib/mkdir-p.h (make_dir_parents): Update prototype.
84442         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
84443         `return false'.  This fixes a bug introduced on 2004-07-30.
84444
84445         * lib/openat.c (fdopendir): Be sure to close the supplied
84446         file descriptor before returning.  This makes our replacement
84447         implementation a little closer to Solaris's, where fdopendir
84448         ties the file descriptor to the returned DIR* pointer.
84449         * lib/openat.c (unlinkat): New function.
84450         * lib/openat.h (unlinkat): Add prototype.
84451         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
84452         (openat_restore_fail): Rename from openat_restore_die.
84453         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
84454
84455         Provide an alternative to exiting immediately upon save_cwd or
84456         restore_cwd failure.  Now, an application can arrange e.g.,
84457         to perform a longjump in that case.
84458         * lib/openat.c: Include dirname.h.
84459         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
84460         (rpl_openat, fdopendir, fstatat): Call openat_save_die
84461         and openat_restore_die rather than calling error directly.
84462         Don't include "error.h" or "exitfail.h"; they're no longer needed.
84463
84464         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
84465         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
84466         define.
84467
84468         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
84469         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
84470                             int utc, int nanoseconds);
84471         Background:
84472         date should not have to allocate a megabyte of virtual memory to
84473         handle a format argument like +%1048575T.  When implemented with
84474         strftime, it must allocate such a buffer, use strftime to fill it
84475         in, print it, then free it.
84476         With fprintftime, it simply prints everything and exits.
84477         With no need for memory allocation, that's one fewer way to fail.
84478         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
84479         optional field width, not before, so we accept %9:z, not %:9z.
84480         (my_strftime): Be sure to use L_('x') for literals.
84481
84482         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
84483         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
84484         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
84485         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
84486         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
84487         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
84488         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
84489         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
84490         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
84491         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
84492         * lib/xgethostname.c, lib/xreadlink.c:
84493         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
84494
84495         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
84496         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
84497         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
84498         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
84499         and don't include <sys/file.h>).
84500
84501 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
84502
84503         Sync from coreutils.
84504
84505         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
84506         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
84507         [!LDAV_DONE]: Avoid unused variable warning.
84508
84509 2005-09-21  Bruno Haible  <bruno@clisp.org>
84510
84511         * lib/unicodeio.h (unicode_to_mb): New declaration.
84512
84513 2005-09-20  Derek Price  <derek@ximbiot.com>
84514
84515         * lib/getaddrinfo.c: Don't include <netdb.h> included from
84516         getaddrinfo.h.
84517
84518 2005-09-20  Bruno Haible  <bruno@clisp.org>
84519
84520         * gnulib-tool: Remove trailing slashes from the values specified for
84521         --source-base, --m4-base, --tests-base, --aux-dir.
84522         Suggested by Simon Josefsson <jas@extundo.com>.
84523
84524 2005-09-20  Bruno Haible  <bruno@clisp.org>
84525
84526         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
84527         func_modules_to_filelist, func_import, func_create_testdir): Make all
84528         sorting results locale-independent, so that gnulib-cache.m4 doesn't
84529         change when gnulib-tool is invoked in a different locale.
84530
84531 2005-09-19  Simon Josefsson  <jas@extundo.com>
84532
84533         * m4/socklen.m4: Fix typo.
84534
84535 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84536
84537         Use a consistent style for including <config.h>.
84538         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
84539         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
84540         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
84541         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
84542         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
84543         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
84544         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
84545         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
84546         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
84547         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
84548         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
84549         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
84550         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
84551         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
84552         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
84553         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
84554         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
84555         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
84556         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
84557         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
84558         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
84559         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
84560         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
84561         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
84562         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
84563         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
84564         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
84565         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
84566         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
84567         lib/xstrtoumax.c, lib/yesno.c:
84568         Standardize inclusion of config.h.
84569         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
84570         lib/inttostr.h:  Removed inclusion of config.h from header files.
84571         * lib/inttostr.c:  Adjusted in-tree users.
84572         * lib/timespec.h: Remove superfluous warning to include config.h.
84573         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
84574         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
84575         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
84576         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
84577         config.h with HAVE_CONFIG_H.
84578
84579 2005-09-19  Jim Meyering  <jim@meyering.net>
84580
84581         * modules/pathmax (License): Change to LGPL.
84582
84583 2005-09-19  Derek Price  <derek@ximbiot.com>
84584
84585         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
84586
84587 2005-09-19  Bruno Haible  <bruno@clisp.org>
84588
84589         * gnulib-tool (import): Provide default for --tests-base.
84590
84591 2005-09-19  Bruno Haible  <bruno@clisp.org>
84592
84593         * doc/quote.texi: New file, extracted from gnulib.texi.
84594         * doc/ctime.texi: New file, extracted from gnulib.texi.
84595         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
84596         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
84597         * doc/gnulib.texi: Include them.
84598
84599 2005-09-18  Bruno Haible  <bruno@clisp.org>
84600
84601         Portability fix.
84602         * gnulib-tool (func_readlink): New function.
84603         (func_ln_if_changed): Use it.
84604
84605 2005-09-18  Bruno Haible  <bruno@clisp.org>
84606
84607         * gnulib-tool: Support --with-tests also with --import.
84608         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
84609         (func_import): Use variables $testsbase and $inctests. Emit a
84610         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
84611         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
84612         SUBDIRS += $testsdir.
84613         (func_create_testdir): Update.
84614
84615 2005-09-18  Bruno Haible  <bruno@clisp.org>
84616
84617         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
84618         instead of $dry_run.
84619         (func_cp_if_changed, func_mv_if_changed): Remove functions.
84620         (func_ln_if_changed): Don't handle dry-run here.
84621         (func_import): In dry-run mode, detect more precisely which actions
84622         would be performed, and don't use "...ing" verbs.
84623
84624 2005-09-18  Bruno Haible  <bruno@clisp.org>
84625
84626         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
84627         (func_import): Use join on two temporary files instead of three nested
84628         loops, in order to determine which files are new or old.
84629
84630 2005-09-18  Bruno Haible  <bruno@clisp.org>
84631
84632         * gnulib-tool (func_import): Comment out code that spits out the
84633         new files with --dry-run.
84634
84635 2005-09-18  Bruno Haible  <bruno@clisp.org>
84636
84637         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
84638
84639 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84640
84641         * lib/stat-time.h: New file.
84642         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
84643         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
84644         in a different way.
84645         (timespec_cmp): New function.
84646         * lib/utimecmp.c: Include stat-time.h.
84647         (SYSCALL_RESOLUTION): Depend on whether various struct stat
84648         members exist, not on the obsolescent ST_MTIM_NSEC.
84649         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
84650
84651 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84652
84653         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
84654
84655 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84656
84657         * MODULES.html.sh (File system functions): Add stat-time.
84658         * modules/stat-time: New file.
84659         * modules/timespec (Files): Remove m4/st_mtim.m4; this
84660         is now done in a different way, by the stat-time module.
84661         * modules/utimecmp (Depends-on): Add stat-time.
84662
84663 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
84664
84665         * m4/st_mtim.m4: Remove.  Superseded by...
84666         * m4/stat-time.m4: New file.
84667         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
84668         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
84669
84670 2005-09-15  Derek Price  <derek@ximbiot.com>
84671
84672         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
84673
84674 2005-09-15  Derek Price  <derek@ximbiot.com>
84675
84676         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
84677         * lib/regex_internal.c: Ditto, using this...
84678         (__GNUC_PREREQ): ...new macro.
84679         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
84680         using...
84681         (__GNUC_PREREQ): ...this new macro.
84682
84683         * lib/strstr.h: Include string.h. Define strstr as a macro here.
84684
84685 2005-09-15  Derek Price  <derek@ximbiot.com>
84686             Paul Eggert  <eggert@cs.ucla.edu>
84687
84688         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
84689         changes, consolidating in...
84690         * lib/regex_internal.h: ...this file.
84691
84692 2005-09-13  Jim Meyering  <jim@meyering.net>
84693
84694         * lib/canon-host.c: Filter through gnu indent and reword comments
84695         slightly.
84696         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
84697
84698 2005-09-13  Derek Price  <derek@ximbiot.com>
84699
84700         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
84701         failure.
84702         Reported by Jim Meyering  <jim@meyering.net>.
84703
84704 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
84705
84706         * lib/base64.c: Typo.
84707         (base64_encode): Put b64str in initialized data section.
84708
84709 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
84710
84711         Merge glibc and coreutils changes into gnulib, plus a few
84712         extra fixes.
84713         * lib/md5.c: Use #error rather than a string.
84714         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
84715         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
84716         (__attribute__): Define to empty for non recent-GCC.
84717         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
84718         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
84719         Renamed from their non-__ counterparts, with new macros replacing
84720         them if not _LIBC.  Add __THROW attribute.
84721         (rol): Remove.
84722         (struct md5_ctx): Align buffer if using GCC.
84723         * lib/sha1.h (struct sha1_ctx): Likewise.
84724         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
84725         The old name was backwards.
84726         (NOTSWAP): Remove; not used.
84727         (rol): New macro, moved here from md5.h.
84728         (sha1_process_block): Remove a FIXME that doesn't make sense.
84729
84730 2005-09-12  Derek Price  <derek@ximbiot.com>
84731
84732         Return usable errors from canon-host.
84733         * lib/canon-host.h: New file.
84734         * lib/canon-host.c (canon_host): Wrap...
84735         (canon_host_r): ...this new function, which now relies exclusively on
84736         getaddrinfo.
84737         (ch_strerror): New function.
84738         (last_cherror): New global.
84739         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
84740         interface.
84741         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
84742         void *.
84743         (freeaddrinfo): Free ai->ai_canonname when set.
84744
84745 2005-09-12  Derek Price  <derek@ximbiot.com>
84746
84747         Make canon-host require getaddrinfo.
84748         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
84749         AC_LIBSOURCE canon-host.h.  Call...
84750         (gl_PREREQ_CANON_HOST): ...this new function, which requires
84751         gl_GETADDRINFO.
84752         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
84753
84754 2005-09-12  Derek Price  <derek@ximbiot.com>
84755
84756         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
84757         LGPL.
84758         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
84759
84760 2005-09-12  Derek Price  <derek@ximbiot.com>
84761
84762         * lib/gai_strerror.c: Include config.h when available.  Include
84763         getaddrinfo.h before other headers to test interface.
84764         Reported by Larry Jones <lawrence.jones@ugs.com>.
84765
84766 2005-09-12  Derek Price  <derek@ximbiot.com>
84767             Paul Eggert  <eggert@cs.ucla.edu>
84768
84769         * modules/glob (Files): Add glob-libc.h.
84770
84771 2005-09-12  Derek Price  <derek@ximbiot.com>
84772             Paul Eggert  <eggert@cs.ucla.edu>
84773
84774         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
84775         glob_.h, glob-libc.h.
84776         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
84777
84778 2005-09-12  Derek Price  <derek@ximbiot.com>
84779             Paul Eggert  <eggert@cs.ucla.edu>
84780
84781         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
84782         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
84783         protecting things that should be done only in gnulib contexts.
84784         * lib/glob_.h: New file, containing only the glob things needed for
84785         gnulib.
84786         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
84787         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
84788         (glob, globfree, glob_pattern_p): Now defined simply in terms of
84789         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
84790         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
84791         and to respect the namespace rules better.
84792
84793 2005-09-08  Simon Josefsson  <jas@extundo.com>
84794
84795         * modules/socklen: New file.
84796
84797 2005-09-08  Simon Josefsson  <jas@extundo.com>
84798
84799         * m4/socklen.m4: New file.
84800
84801 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84802
84803         * modules/utimens (Files): Add m4/utimbuf.m4, since
84804         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
84805         Reported by Sergey Poznyakoff.
84806
84807 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84808
84809         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
84810         definitions, since that's the preferred style in glibc.
84811         Fix a minor spacing issue, and update copyright notice to match
84812         glibc's.
84813
84814 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84815
84816         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
84817
84818 2005-09-06  Simon Josefsson  <jas@extundo.com>
84819
84820         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
84821         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
84822
84823 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84824
84825         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
84826         warning.
84827
84828 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84829
84830         * config/srclist.txt: Add glibc bug 1302.
84831
84832 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
84833
84834         Change bitset word type from unsigned int to unsigned long int,
84835         as this has better performance on typical 64-bit hosts.
84836         Port bitset code to hosts with unusual word sizes.
84837         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
84838         (build_collating_symbol):
84839         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
84840         argument is a bitset.  This is merely a style issue, but it makes
84841         it clearer that an entire array is expected.
84842         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
84843         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
84844         Port to the case where bitset_word is not the same as unsigned int.
84845         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
84846         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
84847         Likewise.
84848         * lib/regexec.c (check_dst_limits_calc_pos_1,
84849         check_subexp_matching_top):
84850         (build_trtable, group_nodes_into_DFAstates):
84851         Likewise.
84852         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
84853         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
84854         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
84855         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
84856         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
84857         * lib/regcomp.c (optimize_subexps, lower_subexp):
84858         Work even if bitset_word has holes in its bitwise representation.
84859         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
84860         * lib/regexec.c (check_dst_limits_calc_pos_1,
84861         check_subexp_matching_top):
84862         Likewise.
84863         * lib/regex_internal.c (re_string_reconstruct):
84864         Don't assume UCHAR_MAX == 255.
84865         * lib/regex_internal.h (bitset_set_all): Likewise.
84866         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
84867         All uses changed.
84868         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
84869         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
84870         All uses changed.
84871         (BITSET_WORD_MAX): New macro.
84872         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
84873         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
84874         (bitset_empty, bitset_copy):
84875         Prefer sizeof (bitset) to multiplying it out ourselves.
84876         (bitset_not_merge): Remove; unused.
84877         (bitset_contain): Return bool, not unsigned int with one bit on.
84878         All callers changed.
84879         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
84880         alignment than re_node_set; do this by defining a new internal
84881         type struct dests_alloc and using it to allocate memory.
84882
84883 2005-09-05  Bruno Haible  <bruno@clisp.org>
84884
84885         * gnulib-tool (func_import): Fix comparison in handling of symbolic
84886         links.
84887
84888 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
84889
84890         * modules/size_max (Makefile.am): Add size_max.h
84891
84892 2005-09-04  Derek Price  <derek@ximbiot.com>
84893
84894         * gnulib-tool (func_import): Fix reversed $symbolic logic.
84895
84896 2005-09-03  Simon Josefsson  <jas@extundo.com>
84897
84898         * gnulib-tool: Fix typo.
84899
84900 2005-09-03  Simon Josefsson  <jas@extundo.com>
84901
84902         * config/srclist.txt: Add glibc bug 1293.
84903
84904 2005-09-03  Derek Price  <derek@ximbiot.com>
84905
84906         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
84907         From Larry Jones <lawrence.jones@ugs.com>.
84908
84909 2005-09-02  Simon Josefsson  <jas@extundo.com>
84910
84911         * modules/socklen: New file.
84912
84913 2005-09-02  Simon Josefsson  <jas@extundo.com>
84914
84915         * modules/havelib: New module.
84916
84917         * modules/gettext, modules/iconv, modules/lock, modules/readline:
84918         Use havelib.
84919
84920 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
84921
84922         Check for arithmetic overflow when calculating sizes, to prevent
84923         some buffer-overflow issues.  These patches are conservative, in the
84924         sense that when I couldn't determine whether an overflow was possible,
84925         I inserted a run-time check.
84926         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
84927         macros.
84928         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
84929         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
84930         (re_xnrealloc, re_x2nrealloc): New inline functions.
84931         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
84932         parse_bracket_exp):
84933         (build_equiv_class, build_charclass): Check for arithmetic overflow
84934         in size expression calculations.
84935         * lib/regex_internal.c (re_string_realloc_buffers):
84936         (build_wcs_upper_buffer, re_node_set_add_intersect):
84937         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
84938         (re_dfa_add_node, register_state): Likewise.
84939         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
84940         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
84941         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
84942         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
84943
84944 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
84945
84946         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
84947         m4/ulonglong.m4.  Problem reported by Martin Lambers.
84948
84949 2005-09-02  Bruno Haible  <bruno@clisp.org>
84950
84951         Support for lib vs. lib64 distinction on biarch platforms.
84952         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
84953         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
84954         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
84955
84956 2005-09-02  Bruno Haible  <bruno@clisp.org>
84957
84958         * gnulib-tool (import): In the other first-use case, provide defaults
84959         as well.
84960
84961 2005-09-02  Bruno Haible  <bruno@clisp.org>
84962
84963         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
84964         patches not yet found in the latest gettext release.
84965
84966 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
84967
84968         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
84969         to avoid a collision with bits/local_lim.h in glibc.
84970         All uses changed.  Problem reported by Dmitry V. Levin in
84971         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
84972
84973         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
84974         bugs in int versus size_t comparisons.
84975         (re_string_context_at): Fix bug where the code assumed that
84976         Idx is signed.
84977
84978         Use bool where appropriate.
84979         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
84980         All callers changed.
84981         (calc_eclosure_iter): Likewise, for ROOT arg.
84982         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
84983         (build_charclass_op): Likewise, for NON_MATCH arg.
84984         * lib/regex_internal.c (re_string_allocate, re_string_construct):
84985         (re_string_construct_common): Likewise, for ICASE arg.
84986         * lib/regexec.c (re_search_2_stub, re_search_stub):
84987         Likewise, for RET_LEN arg.
84988         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
84989         (set_regs): Likewise, for FL_BACKTRACK arg.
84990         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
84991         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
84992         (calc_eclosure_iter, parse_bracket_exp):
84993         Use bool for internal variables that are booleans.
84994         * lib/regexec.c (re_search_internal, check_matching,
84995         proceed_next_node):
84996         (set_regs, build_sifted_states, sift_states_bkref):
84997         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
84998         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
84999         (find_collation_sequence_value):
85000         Likewise.
85001         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
85002         (re_node_set_compare):
85003         Return bool, not int. All callers changed.
85004         * lib/regexec.c (check_halt_node_context, check_dst_limits):
85005         (build_trtable, check_node_accept): Likewise.
85006         * lib/regex_internal.h: Include stdbool.h.
85007
85008         Fix bugs uncovered when converting to bool.
85009         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
85010         failure instead of charging ahead blindly.
85011         * lib/regex_internal.c (register_state): Likewise.
85012         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
85013         for freeing internal storage.
85014         (group_nodes_into_DFA_states): Use unsigned int, not int, for
85015         bitset pieces used as boolean, to avoid undefined behavior
85016         on hosts that do int overflow checking.
85017
85018 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
85019
85020         * config/srclist.txt: Add glibc bugs 1285-1287.
85021
85022 2005-09-01  Jim Meyering  <jim@meyering.net>
85023
85024         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
85025         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
85026         Require gl_STAT_MACROS, too.
85027
85028 2005-09-01  Bruno Haible  <bruno@clisp.org>
85029
85030         * gnulib-tool (import): In the first-use case, provide defaults.
85031
85032 2005-09-01  Bruno Haible  <bruno@clisp.org>
85033
85034         * gnulib-tool (func_import): Remove the .tmp files.
85035
85036 2005-09-01  Bruno Haible  <bruno@clisp.org>
85037
85038         * gnulib-tool (func_import): Fix handling of symbolic links.
85039
85040 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85041
85042         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
85043         old glibc regex code mishandles strings longer than 2**31 bytes.
85044         This patch fixes this when the regex code is used in gnulib
85045         (i.e., outside glibc).
85046
85047         This patch should not affect the use of the regex code inside
85048         glibc.  No doubt this problem also needs to be handled for glibc
85049         as well, but the result will be an incompatible change to the
85050         glibc ABI, and the old ABI will have to be supported too.  That
85051         can be the the subject for another patch.
85052
85053         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
85054         governing whether the rest of this patch is active.  By default,
85055         the macro is disabled and the patch has no effect.
85056         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
85057         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
85058         (struct re_pattern_buffer, re_search, re_search_2, re_match):
85059         (re_match_2, re_set_registers): Use the new types.
85060         * lib/regex_internal.h (Idx, re_hashval_t): New types.
85061         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
85062         New macros.
85063         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
85064         (re_string_context_at, bin_tree_t, re_dfastate_t):
85065         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
85066         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
85067         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
85068         (re_string_char_size_at, re_string_wchar_at):
85069         (re_string_elem_size_at):
85070         Use the new types and macros to port to 64-bit hosts.
85071         Use unsigned types for internal values, so that the code
85072         mostly works even for arrays larger than SSIZE_MAX.
85073         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
85074         (search_duplicated_node, calc_eclosure_iter, fetch_number):
85075         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
85076         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
85077         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
85078         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
85079         (calc_inveclosure, parse_dup_op, build_range_exp):
85080         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
85081         (fetch_number, create_token_tree, mark_opt_subexp):
85082         Likewise.
85083         * lib/regex_internal.c (re_string_construct_common,
85084         create_ci_newstate):
85085         (create_cd_newstate, re_string_allocate, re_string_construct):
85086         (re_string_realloc_buffers, build_wcs_upper_buffer):
85087         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
85088         (re_string_reconstruct, re_string_peek_byte_case):
85089         (re_string_fetch_byte_case, re_string_context_at):
85090         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
85091         (re_node_set_init_copy, re_node_set_add_intersect):
85092         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85093         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85094         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
85095         (re_acquire_state, re_acquire_state_context, register_state):
85096         Likewise.
85097         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
85098         search_cur_bkref_entry):
85099         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
85100         (re_search_internal, re_search_2_stub, re_search_stub)
85101         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
85102         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
85103         (update_cur_sifted_state, check_dst_limits):
85104         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85105         (check_subexp_limits, sift_states_bkref, merge_state_array):
85106         (check_subexp_matching_top, get_subexp, get_subexp_sub):
85107         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
85108         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
85109         (expand_bkref_cache, check_node_accept_bytes):
85110         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
85111         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
85112         (acquire_init_state_context, check_halt_node_context):
85113         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
85114         (sift_states_backward, clean_state_log_if_needed):
85115         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
85116         (find_recover_state, transit_state_sb, transit_state_mb):
85117         (transit_state_bkref, build_trtable, match_ctx_clean):
85118         Likewise.
85119         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
85120         to work around an assumption that REG_MISSING is negative.
85121
85122         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
85123         (seek_collating_symbol_entry) [defined _LIBC]:
85124         (lookup_collation_sequence_value) [defined _LIBC]:
85125         (build_range_exp, build_collating_symbol) [defined _LIBC]:
85126         Use prototypes rather than old-style function definitions.
85127         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
85128         (transit_state_sb) [0]:
85129         (find_collation_sequence_value) [defined _LIBC]: Likewise.
85130
85131         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
85132         rm_eo.
85133
85134         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
85135         (optimize_subexps, lower_subexp):
85136         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
85137         since the signed shift might overflow.  Use 1u<<31 instead.
85138         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
85139         Likewise.
85140         * lib/regexec.c (check_dst_limits_calc_pos_1,
85141         check_subexp_matching_top): Likewise.
85142
85143         * lib/regcomp.c (optimize_subexps, lower_subexp):
85144         Use CHAR_BIT rather than 8, for clarity.
85145         * lib/regexec.c (check_dst_limits_calc_pos_1):
85146         (check_subexp_matching_top): Likewise.
85147         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
85148         have to worry about portability issues when shifting it left.
85149         Remove no-longer-needed test for table_size > 0.
85150         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
85151         in a word, as the resulting behavior is undefined.
85152         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
85153         in one case, a <= should have been an <, and in another case the
85154         whole test was missing.
85155         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
85156         the standard name CHAR_BIT.
85157         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
85158         this is not true on one's complement and signed-magnitude hosts.
85159
85160         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
85161         next_last_offset.
85162         (struct re_dfa_t): Remove unused member states_alloc.
85163         * lib/regcomp.c (init_dfa): Don't initialize unused members.
85164
85165 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85166
85167         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
85168         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
85169         and large-file glibc and in 32-bit large-file Solaris.
85170
85171 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85172
85173         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
85174         lengths fit in regoff_t; this isn't true if regoff_t is the same
85175         width as size_t.
85176         * lib/regex.c (re_search_internal): 5th arg is LAST_START
85177         (= START + RANGE) instead of RANGE.  This avoids overflow
85178         problems when regoff_t is the same width as size_t.
85179         All callers changed.
85180         (re_search_2_stub): Check for overflow when adding the
85181         sizes of the two strings.
85182         (re_search_stub): Check for overflow when adding START
85183         to RANGE; if it occurs, substitute the extreme value.
85184
85185 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85186
85187         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
85188
85189 2005-08-31  Jim Meyering  <jim@meyering.net>
85190
85191         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
85192         a pointer-to-const.
85193         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
85194         (register_state): Likewise.
85195         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
85196         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85197         (group_nodes_into_DFAstates): Likewise.
85198
85199 2005-08-31  Jim Meyering  <jim@meyering.net>
85200
85201         * check-module: Add a FIXME comment.
85202
85203 2005-08-31  Eric Blake  <ebb9@byu.net>
85204
85205         * modules/unistd-safer (Files): Add unistd--.h.
85206         * modules/stdio-safer (Files): Add stdio--.h.
85207
85208 2005-08-31  Derek Price  <derek@ximbiot.com>
85209
85210         * lib/getdelim.c (getdelim): Return EOF on EOF.
85211         Reported by Larry Jones <lawrence.jones@ugs.com>.
85212
85213 2005-08-31  Bruno Haible  <bruno@clisp.org>
85214
85215         Avoid unnecessary diffs in the generated lib/Makefile.am.
85216         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
85217         the generated files.
85218         (func_import): Don't set cmd.
85219
85220 2005-08-31  Bruno Haible  <bruno@clisp.org>
85221
85222         * lib/strstr.c: Include <stddef.h>, for NULL.
85223         * lib/strcasestr.c: Likewise.
85224         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
85225
85226 2005-08-31  Bruno Haible  <bruno@clisp.org>
85227
85228         * gnulib-tool: New option --macro-prefix.
85229         (func_import): Use macro_prefix.
85230         (import): Handle option --macro-prefix.
85231
85232 2005-08-31  Bruno Haible  <bruno@clisp.org>
85233
85234         * gnulib-tool (import): Rename most ac_* variables to cached_*.
85235         Also use new variables cached_lgpl, cached_libtool.
85236
85237 2005-08-31  Bruno Haible  <bruno@clisp.org>
85238
85239         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
85240         always instantiating them.
85241
85242 2005-08-31  Bruno Haible  <bruno@clisp.org>
85243
85244         * gnulib-tool (func_import): Read the previous cached settings
85245         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
85246         earlier added by gnulib but are now dropped. Warn when a gnulib file
85247         overwrites a non-gnulib file.
85248
85249 2005-08-31  Bruno Haible  <bruno@clisp.org>
85250
85251         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
85252         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
85253         projects that don't keep autogenerated files in CVS. Put into
85254         actioncmd only the specified modules, not the transitive closure.
85255
85256 2005-08-31  Bruno Haible  <bruno@clisp.org>
85257
85258         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
85259         Create directories that shall be filled.
85260         (import): Don't look for gl_* macros in configure.ac. Recurse across
85261         all directories containing a gnulib-cache.m4 files, if meaningful.
85262
85263 2005-08-31  Bruno Haible  <bruno@clisp.org>
85264
85265         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
85266         (import): Set seen_libtool when we see gl_LIBTOOL.
85267
85268 2005-08-31  Bruno Haible  <bruno@clisp.org>
85269
85270         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
85271         declaration macro definitions from generated gnulib.m4.
85272
85273 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
85274
85275         * lib/iconvme.h: Add prototype for iconv_alloc.
85276
85277 2005-08-29  Simon Josefsson  <jas@extundo.com>
85278
85279         * lib/iconvme.c: Fix errno.
85280
85281 2005-08-29  Bruno Haible  <bruno@clisp.org>
85282
85283         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
85284         that it works when the directory contains spaces.
85285
85286 2005-08-29  Bruno Haible  <bruno@clisp.org>
85287
85288         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
85289
85290 2005-08-29  Bruno Haible  <bruno@clisp.org>
85291
85292         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
85293         Emit more advice.
85294
85295 2005-08-29  Bruno Haible  <bruno@clisp.org>
85296         and Stepan Kasal  <kasal@ucw.cz>
85297
85298         * check-module: If more parameters are given, check each of them
85299         separately; add more exceptions, as noted by Jim Meyering.
85300         (check_module): New procedure.
85301         (%exempt_header): Now contains all exceptions.
85302
85303 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
85304
85305         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
85306
85307 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
85308
85309         * lib/iconvme.c: Split iconv_string into iconv_alloc.
85310
85311 2005-08-28  Bruno Haible  <bruno@clisp.org>
85312
85313         * m4/gnulib-tool.m4: New file.
85314
85315 2005-08-27  Jim Meyering  <jim@meyering.net>
85316
85317         * modules/unistd-safer (Files): Add pipe-safer.c.
85318         * modules/fcntl-safer (Files): Add creat-safer.c.
85319
85320 2005-08-27  Jim Meyering  <jim@meyering.net>
85321
85322         * m4/stdlib-safer.m4: New file.  From coreutils.
85323         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
85324         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
85325         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
85326         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
85327         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
85328
85329 2005-08-27  Jim Meyering  <jim@meyering.net>
85330
85331         * lib/fopen-safer.c: Merge minor changes from coreutils.
85332         * lib/dup-safer.c: Likewise.
85333         * lib/fd-safer.c: Likewise.
85334
85335         Merge from coreutils.
85336         * lib/stdio--.h: New file.
85337         * lib/stdlib--.h: New file.
85338         * lib/mkstemp-safer.c: New file.
85339
85340         GNU tar needs these.
85341         * lib/pipe-safer.c: New file.
85342         * lib/creat-safer.c: New file.
85343         * lib/fcntl--.h (creat): Define to creat_safer.
85344         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
85345         * lib/unistd--.h (pipe): Define to pipe_safer.
85346         * lib/unistd-safer.h: Declare pipe_safer.
85347
85348 2005-08-26  Simon Josefsson  <jas@extundo.com>
85349
85350         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
85351         Haible <bruno@clisp.org>.
85352
85353 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
85354
85355         * lib/regex_internal.h: Remove all references to
85356         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
85357         or better.
85358         (bitset_not, bitset_merge, bitset_not_merge):
85359         (bitset_mask, re_string_allocate, re_string_construct):
85360         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
85361         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
85362         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
85363         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
85364         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85365         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85366         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
85367         (re_acquire_state_context):
85368         Remove unnecessary forward decls.
85369         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
85370         Put __attribute at function definition,
85371         now that the function decl has been removed.
85372         * lib/regex_internal.c (re_string_peek_byte_case):
85373         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
85374         Likewise.
85375
85376 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
85377
85378         * m4/regex.m4: Add AC_PREREQ(2.50).
85379         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
85380
85381 2005-08-25  Simon Josefsson  <jas@extundo.com>
85382
85383         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
85384         __fsetlocking.
85385
85386 2005-08-25  Simon Josefsson  <jas@extundo.com>
85387
85388         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
85389         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
85390         GLIBC specific code.
85391
85392 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85393
85394         Make regex safe for g++.  This fixes one real bug (an "err"
85395         that should have been "*err").  g++ problem reported by
85396         Sam Steingold.
85397         * lib/regex_internal.h (re_calloc): New macro, consistent with
85398         re_malloc etc.  All callers of calloc changed to use re_calloc.
85399         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
85400         not int.  All callers changed.
85401         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
85402         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
85403         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
85404         (find_recover_state): Change "err" to "*err"; this fixes what
85405         appears to be a real bug.
85406         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
85407         versus int.
85408
85409 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85410
85411         * modules/regex (Depends-on): Add malloc, since the code
85412         assumes that !malloc(0) means failure.
85413
85414 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85415
85416         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
85417
85418         alloca modernization/simplification for regex.
85419         * lib/regex.c: Remove portability cruft for alloca.  This no longer
85420         needs to be at the start of the file, and can be moved into
85421         regex_internal.h and simplified.
85422         * lib/regex_internal.h: Include <alloca.h>.
85423         (__libc_use_alloca) [!defined _LIBC]: New macro.
85424         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
85425         now works outside glibc.
85426
85427 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85428
85429         * config/srclist.txt: Add glibc bugs 1241, 1245.
85430
85431 2005-08-25  Jim Meyering  <jim@meyering.net>
85432
85433         * lib/open-safer.c: Include <config.h>.
85434         Otherwise, we'd lose LARGEFILE support in any file using
85435         e.g. "fcntl--.h"
85436
85437 2005-08-25  Bruno Haible  <bruno@clisp.org>
85438
85439         * m4/minmax.m4: Require autoconf 2.52.
85440         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
85441         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
85442         alternatives of translit over the alphabet.
85443         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
85444
85445 2005-08-24  Simon Josefsson  <jas@extundo.com>
85446
85447         * tests/test-getpass.c: New file.
85448
85449 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85450
85451         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
85452         for GNU regex features.
85453
85454 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85455
85456         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
85457         * lib/regex.h (regerror): Likewise.
85458
85459         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
85460         requires this.  (The code never needed it.)
85461
85462         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
85463         All uses of recently-renamed identifiers changed to use the new,
85464         POSIX-compliant names.  The code will build and run just fine
85465         without these changes, but it's better to eat our own dog food
85466         and use the standard-conforming names.
85467
85468         * lib/regex.h: Fix a multitude of POSIX name space violations.
85469         These changes have an effect only for programs that define
85470         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
85471         do not change anything for programs compiled in the normal way.
85472         Also, there is no effect on the ABI.
85473
85474         (_REGEX_SOURCE): New macro.
85475         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
85476         defined and _GNU_SOURCE is not; this fixes a name space violation.
85477
85478         Rename the following macros to obey POSIX requirements.
85479         The old names are still visible as macros if _REGEX_SOURCE is defined.
85480         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
85481         RE_BACKSLASH_ESCAPE_IN_LISTS.
85482         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
85483         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
85484         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
85485         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
85486         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
85487         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
85488         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
85489         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
85490         (REG_INTERVALS): renamed from RE_INTERVALS.
85491         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
85492         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
85493         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
85494         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
85495         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
85496         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
85497         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
85498         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
85499         RE_UNMATCHED_RIGHT_PAREN_ORD.
85500         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
85501         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
85502         (REG_DEBUG): renamed from RE_DEBUG.
85503         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
85504         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
85505         unusual, since we can't clash with the POSIX REG_ICASE.
85506         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
85507         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
85508         (REG_NO_SUB): renamed from RE_NO_SUB.
85509         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
85510         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
85511         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
85512         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
85513         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
85514         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
85515         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
85516         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
85517         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
85518         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
85519         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
85520         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
85521         RE_SYNTAX_POSIX_MINIMAL_BASIC.
85522         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
85523         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
85524         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
85525         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
85526         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
85527         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
85528         (REG_FIXED): Renamed from REGS_FIXED.
85529         (REG_NREGS): Renamed from RE_NREGS.
85530
85531         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
85532         of other REG_* macros, since POSIX says the user is allowed to
85533         #undef these macros selectively.
85534
85535         (reg_errcode_t): Update comment stating what other tables need
85536         to be consistent.
85537
85538         Rename the following enum values to obey POSIX requirements.
85539         The old names are still visible as macros.
85540         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
85541         is not defined, since GNU is supposed to be a superset of POSIX as
85542         much as possible, and since we want reg_errcode_t to be a signed
85543         type for implementation consistency.
85544         (_REG_NOERROR): Renamed from REG_NOERROR.
85545         (_REG_NOMATCH): Renamed from REG_NOMATCH.
85546         (_REG_BADPAT): Renamed from REG_BADPAT.
85547         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
85548         (_REG_ECTYPE): Renamed from REG_ECTYPE.
85549         (_REG_EESCAPE): Renamed from REG_EESCAPE.
85550         (_REG_ESUBREG): Renamed from REG_ESUBREG.
85551         (_REG_EBRACK): Renamed from REG_EBRACK.
85552         (_REG_EPAREN): Renamed from REG_EPAREN.
85553         (_REG_EBRACE): Renamed from REG_EBRACE.
85554         (_REG_BADBR): Renamed from REG_BADBR.
85555         (_REG_ERANGE): Renamed from REG_ERANGE.
85556         (_REG_ESPACE): Renamed from REG_ESPACE.
85557         (_REG_BADRPT): Renamed from REG_BADRPT.
85558         (_REG_EEND): Renamed from REG_EEND.
85559         (_REG_ESIZE): Renamed from REG_ESIZE.
85560         (_REG_ERPAREN): Renamed from REG_ERPAREN.
85561         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
85562         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
85563         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
85564         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
85565
85566         (_REG_RE_NAME, _REG_RM_NAME): New macros.
85567         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
85568         changed.  But support the old name if the new one is not defined
85569         and if _REGEX_SOURCE.
85570
85571         Change the following member names in struct re_pattern_buffer.
85572         The old names are still supported if !_REGEX_SOURCE.
85573         The new names are always supported, regardless of _REGEX_SOURCE.
85574         (re_buffer): Renamed from buffer.
85575         (re_allocated): Renamed from allocated.
85576         (re_used): Renamed from used.
85577         (re_syntax): Renamed from syntax.
85578         (re_fastmap): Renamed from fastmap.
85579         (re_translate): Renamed from translate.
85580         (re_can_be_null): Renamed from can_be_null.
85581         (re_regs_allocated): Renamed from regs_allocated.
85582         (re_fastmap_accurate): Renamed from fastmap_accurate.
85583         (re_no_sub): Renamed from no_sub.
85584         (re_not_bol): Renamed from not_bol.
85585         (re_not_eol): Renamed from not_eol.
85586         (re_newline_anchor): Renamed from newline_anchor.
85587
85588         Change the following member names in struct re_registers.
85589         The old names are still supported if !_REGEX_SOURCE.
85590         The new names are always supported, regardless of _REGEX_SOURCE.
85591         (rm_num_regs): Renamed from num_regs.
85592         (rm_start): Renamed from start.
85593         (rm_end): Renamed from end.
85594
85595         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
85596         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
85597         Prepend __ to parameter names.
85598
85599         Undo yesterday's changes.
85600
85601 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85602
85603         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
85604         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
85605         lib/regex.c.
85606
85607 2005-08-24  Jim Meyering  <jim@meyering.net>
85608
85609         Sync from coreutils.
85610         * m4/fcntl-safer.m4: New file.
85611
85612         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
85613         and object files for this module.
85614
85615 2005-08-24  Jim Meyering  <jim@meyering.net>
85616
85617         Sync from coreutils.
85618         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
85619
85620 2005-08-24  Jim Meyering  <jim@meyering.net>
85621
85622         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
85623         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
85624
85625 2005-08-24  Jim Meyering  <jim@meyering.net>
85626
85627         * modules/fcntl-safer: New module.
85628         * modules/fts (Depends-on): Add fcntl-safer.
85629         * MODULES.html.sh (File descriptor based Input/Output):
85630         Add fcntl-safer.
85631
85632 2005-08-24  Bruno Haible  <bruno@clisp.org>
85633
85634         Support for unit test modules.
85635         * modules/README: Mention tests modules.
85636         * modules/TEMPLATE-TESTS: New file.
85637         * gnulib-tool: New options --extract-tests-module, --with-tests and
85638         --tests-base (unused for the moment).
85639         (testsbase, inctests): New variables.
85640         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
85641         (func_verify_module): Exclude TEMPLATE-TESTS.
85642         (func_verify_nontests_module, func_verify_tests_module): New functions.
85643         (func_get_dependencies): Add implicit dependency for tests modules.
85644         (func_get_tests_module): New function.
85645         (func_modules_transitive_closure): When --with-tests was specified,
85646         include the unit tests as well, unless explicitly avoided.
85647         (func_emit_lib_Makefile_am): Ignore the tests modules here.
85648         (func_emit_tests_Makefile_am): New function.
85649         (func_create_testdir): When --with-tests was specified, emit a
85650         tests/ directory.
85651         * MODULES.html.sh (Future developments): Update.
85652
85653 2005-08-24  Bruno Haible  <bruno@clisp.org>
85654
85655         * modules/tls-tests: New file.
85656         * tests/test-tls.c: New file, from GNU gettext.
85657
85658 2005-08-24  Bruno Haible  <bruno@clisp.org>
85659
85660         * modules/lock-tests: New file.
85661         * tests/test-lock.c: New file, from GNU gettext.
85662
85663 2005-08-24  Bruno Haible  <bruno@clisp.org>
85664
85665         * lib/lock.h: Add multiple inclusion guard.
85666         * lib/tls.h: Add multiple inclusion guard.
85667
85668 2005-08-24  Bruno Haible  <bruno@clisp.org>
85669
85670         * gnulib-tool: Add support for the --aux-dir option to
85671         --create-testdir, --create-megatestdir, --test, --megatest.
85672         (func_create_testdir, func_create_megatestdir): Optionally emit a
85673         AC_CONFIG_AUX_DIR directive.
85674         (create-testdir, create-megatestdir, test, megatest): Provide a
85675         default value for $auxdir.
85676
85677 2005-08-24  Bruno Haible  <bruno@clisp.org>
85678
85679         * gnulib-tool (import): Use compound statement instead of subshell
85680         where possible.
85681
85682 2005-08-24  Bruno Haible  <bruno@clisp.org>
85683
85684         * gnulib-tool (import): Change --aux-dir default to "build-aux".
85685
85686 2005-08-24  Bruno Haible  <bruno@clisp.org>
85687
85688         * gnulib-tool (func_version): Update.
85689
85690 2005-08-24  Bruno Haible  <bruno@clisp.org>
85691
85692         * gnulib-tool (func_import, func_create_testdir,
85693         func_create_megatestdir): Quote all autoconf macro arguments.
85694
85695 2005-08-24  Bruno Haible  <bruno@clisp.org>
85696
85697         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
85698         option --force, because --force causes the aclocal.m4 of each
85699         subdirectory to be newer than the corresponding config.h.in.
85700
85701 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85702
85703         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
85704         All contents moved to gl_REGEX.
85705         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
85706         assume that it does.
85707
85708 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85709
85710         * lib/regex.h (REG_NOSYS)
85711         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
85712         Define, since POSIX requires it as of 2001.
85713         (_REG_ENOSYS)
85714         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
85715         New private symbol, used to keep the enum signed in all cases.
85716         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
85717         Youngman in
85718         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
85719
85720         * lib/regex_internal.c (re_string_skip_chars, register_state):
85721         (calc_state_hash):
85722         Remove forward decls; no longer needed now that we use prototypes.
85723         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
85724         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
85725         (clean_state_log_if_needed): Likewise.
85726
85727 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85728
85729         * config/srclist.txt: Add glibc bugs 1231-1233.
85730
85731 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85732
85733         Fix problems reported by Sam Steingold in
85734         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
85735         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
85736         assumed that reg_errcode_t is a signed type, which is not
85737         necessarily true if _XOPEN_SOURCE is not defined.
85738         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
85739         since some compilers warn about it otherwise.
85740
85741 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85742
85743         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
85744         (init_word_char, create_initial_state, duplicate_node_closure):
85745         (fetch_token, peek_token_bracket, build_range_exp):
85746         (build_collating_symbol): Remove forward decls; no longer needed
85747         now that we use prototypes.
85748
85749         * lib/regcomp.c:
85750         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
85751         (re_compile_fastmap_iter, regcomp, regerror, regfree):
85752         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
85753         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
85754         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
85755         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
85756         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
85757         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
85758         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
85759         (build_range_exp, build_collating_symbol, parse_bracket_exp):
85760         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
85761         (build_charclass, build_charclass_op, fetch_number, create_tree):
85762         (create_token_tree, mark_opt_subexp, duplicate_tree):
85763         Use prototypes rather than old-style definitions.
85764
85765         * lib/regex_internal.c:
85766         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
85767         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
85768         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
85769         (re_string_reconstruct, re_string_peek_byte_case):
85770         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
85771         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
85772         (re_node_set_init_copy, re_node_set_add_intersect):
85773         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85774         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85775         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
85776         (re_acquire_state, re_acquire_state_context, register_state):
85777         (create_ci_newstate, create_cd_newstate, free_state):
85778         Likewise.
85779         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
85780         re_search_2):
85781         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
85782         (re_search_internal, prune_impossible_nodes):
85783         (acquire_init_state_context, check_matching, static):
85784         (check_halt_node_context, check_halt_state_context, proceed_next_node):
85785         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
85786         (update_regs, sift_states_backward, build_sifted_states):
85787         (clean_state_log_if_needed, merge_state_array):
85788         (update_cur_sifted_state, add_epsilon_src_nodes):
85789         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
85790         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
85791         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
85792         (find_recover_state, check_subexp_matching_top, transit_state_mb):
85793         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
85794         (check_arrival, check_arrival_add_next_nodes):
85795         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
85796         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
85797         (check_node_accept_bytes, check_node_accept, extend_buffers):
85798         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
85799         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
85800         (sift_ctx_init):
85801         Likewise.
85802
85803         * lib/regex_internal.h:
85804         (re_string_allocate, re_string_construct, re_string_reconstruct):
85805         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
85806         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
85807         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
85808         (re_string_context_at, re_string_peek_byte_case):
85809         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
85810         is defined, since we now use prototypes always.
85811
85812         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
85813         C89 or better.  All uses removed.
85814
85815 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85816
85817         * config/srclist.txt: Add glibc bugs 1220-1227.
85818
85819 2005-08-20  Jim Meyering  <jim@meyering.net>
85820
85821         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
85822         of unused local, dfa.
85823
85824 2005-08-20  Bruno Haible  <bruno@clisp.org>
85825
85826         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
85827
85828 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85829
85830         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
85831         (re_node_set_insert_last, re_dfa_add_node):
85832         Rename local variables to avoid GCC shadowing warnings.
85833
85834 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85835
85836         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
85837         [defined lint]: Suppress bogus uninitialized-variable warnings.
85838
85839         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
85840         and let the caller return REG_ESPACE if out of space.  This
85841         removes an uninitialied-variable warning with GCC 4.0.1, and also
85842         avoids taking the address of a local variable.  All callers
85843         changed.
85844
85845 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85846
85847         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
85848         $LIBCSRC/posix/regexec.c.
85849         Add glibc bug 1217 for regcomp.c.
85850
85851 2005-08-19  Jim Meyering  <jim@meyering.net>
85852
85853         * lib/regexec.c (proceed_next_node): Redo local variables to
85854         avoid GCC shadowing warnings.
85855
85856 2005-08-18  Bruno Haible  <bruno@clisp.org>
85857
85858         * lib/strstr.c (strstr): Fix return value in multibyte case.
85859         * lib/strcasestr.c (strcasestr): Likewise.
85860
85861 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
85862
85863         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
85864
85865 2005-08-17  Jim Meyering  <jim@meyering.net>
85866
85867         Make the %s format (seconds since the epoch) work for a negative
85868         number and when used with a zero-padded field width, e.g. %015s.
85869
85870         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
85871         label so that it precedes the code to set `digits'.  Otherwise,
85872         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
85873         print `00-22'.  Now, it prints `-0022', as it should.
85874
85875 2005-08-17  Bruno Haible  <bruno@clisp.org>
85876
85877         * modules/strstr (Files): Add m4/mbrtowc.m4.
85878         (Depends-on): Add mbuiter.
85879
85880 2005-08-17  Bruno Haible  <bruno@clisp.org>
85881
85882         * modules/strcasestr: New file.
85883         * MODULES.html.sh (String handling, based on ANSI C 89): Add
85884         strcasestr.
85885
85886 2005-08-17  Bruno Haible  <bruno@clisp.org>
85887
85888         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
85889
85890 2005-08-17  Bruno Haible  <bruno@clisp.org>
85891
85892         * modules/mbuiter: New file.
85893         * MODULES.html.sh (Extended multibyte and wide character utilities):
85894         Add mbuiter.
85895
85896 2005-08-17  Bruno Haible  <bruno@clisp.org>
85897
85898         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
85899         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
85900
85901 2005-08-17  Bruno Haible  <bruno@clisp.org>
85902
85903         * m4/strcasestr.m4: New file.
85904
85905 2005-08-17  Bruno Haible  <bruno@clisp.org>
85906
85907         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
85908         * lib/strstr.c: Completely rewritten, with multibyte locale support.
85909
85910 2005-08-17  Bruno Haible  <bruno@clisp.org>
85911
85912         * lib/strcasestr.h: New file.
85913         * lib/strcasestr.c: New file.
85914
85915 2005-08-17  Bruno Haible  <bruno@clisp.org>
85916
85917         * lib/strcasecmp.c: Use mbuiter.h.
85918
85919 2005-08-17  Bruno Haible  <bruno@clisp.org>
85920
85921         * lib/mbuiter.h: New file.
85922
85923 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
85924
85925         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
85926         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
85927         and gl_GETOPT are both invoked via different paths (as happens
85928         with GNU tar CVS because it uses both argp and getopt), the former
85929         wins.
85930
85931 2005-08-16  Bruno Haible  <bruno@clisp.org>
85932
85933         * modules/tls: New file.
85934         * MODULES.html.sh (Multithreading): Add tls.
85935
85936 2005-08-16  Bruno Haible  <bruno@clisp.org>
85937
85938         * modules/strnlen1: New file.
85939         * MODULES.html.sh (String handling): Add strnlen1.
85940
85941 2005-08-16  Bruno Haible  <bruno@clisp.org>
85942
85943         * modules/strcase (Files): Add m4/mbrtowc.m4.
85944         (Depends-on): Add strnlen1, mbchar.
85945
85946 2005-08-16  Bruno Haible  <bruno@clisp.org>
85947
85948         * modules/mbiter: New file.
85949         * MODULES.html.sh (Extended multibyte and wide character utilities):
85950         Add mbiter.
85951
85952 2005-08-16  Bruno Haible  <bruno@clisp.org>
85953
85954         * modules/mbfile: New file.
85955         * MODULES.html.sh (Extended multibyte and wide character utilities):
85956         Add mbfile.
85957
85958 2005-08-16  Bruno Haible  <bruno@clisp.org>
85959
85960         * modules/mbchar: New file.
85961         * MODULES.html.sh (Extended multibyte and wide character utilities):
85962         New section.
85963
85964 2005-08-16  Bruno Haible  <bruno@clisp.org>
85965
85966         * m4/tls.m4: New file, from GNU gettext.
85967
85968 2005-08-16  Bruno Haible  <bruno@clisp.org>
85969
85970         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
85971         always.
85972         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
85973
85974 2005-08-16  Bruno Haible  <bruno@clisp.org>
85975
85976         * m4/mbiter.m4: New file.
85977
85978 2005-08-16  Bruno Haible  <bruno@clisp.org>
85979
85980         * m4/mbfile.m4: New file.
85981
85982 2005-08-16  Bruno Haible  <bruno@clisp.org>
85983
85984         * m4/mbchar.m4: New file.
85985
85986 2005-08-16  Bruno Haible  <bruno@clisp.org>
85987
85988         * lib/tls.h: New file, from GNU gettext.
85989         * lib/tls.c: New file, from GNU gettext.
85990
85991 2005-08-16  Bruno Haible  <bruno@clisp.org>
85992
85993         * lib/strnlen1.h: New file.
85994         * lib/strnlen1.c: New file.
85995
85996 2005-08-16  Bruno Haible  <bruno@clisp.org>
85997
85998         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
85999         (mbi_init): Update.
86000         (mbi_avail, mbi_advance): Let the iteration end before the terminating
86001         NUL byte, not after it.
86002
86003 2005-08-16  Bruno Haible  <bruno@clisp.org>
86004
86005         * lib/strcase.h (strcasecmp): Add note in comments.
86006         * lib/strncasecmp.c: Use code from strcasecmp.c.
86007         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
86008         (strcasecmp): Work correctly in multibyte locales.
86009
86010 2005-08-16  Bruno Haible  <bruno@clisp.org>
86011
86012         * lib/mbiter.h: New file.
86013
86014 2005-08-16  Bruno Haible  <bruno@clisp.org>
86015
86016         * lib/mbfile.h: New file.
86017
86018 2005-08-16  Bruno Haible  <bruno@clisp.org>
86019
86020         * lib/mbchar.h: New file.
86021         * lib/mbchar.c: New file.
86022
86023 2005-08-16  Bruno Haible  <bruno@clisp.org>
86024
86025         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
86026         the valid ones. Makes the comparison operations transitive:
86027         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
86028         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
86029
86030 2005-08-15  Simon Josefsson  <jas@extundo.com>
86031
86032         * modules/ssize_t (License): Change to 'unlimited'.
86033
86034         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
86035
86036 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
86037
86038         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
86039         Add comments for each pending glibc patch.
86040
86041 2005-08-15  Bruno Haible  <bruno@clisp.org>
86042
86043         * lib/regex.h (__restrict_arr): Don't define to __restrict if
86044         __cplusplus is defined.
86045
86046 2005-08-14  Jim Meyering  <jim@meyering.net>
86047
86048         Sync from coreutils.
86049
86050         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
86051         Use the hash-table-based cycle-detection code not just when
86052         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
86053         Reported by James Youngman in
86054         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
86055         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
86056         FTS_TIGHT_CYCLE_CHECK.
86057         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
86058         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
86059         once again.
86060         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
86061         * lib/fts.c (fd_safer): Remove decl.
86062         Include fcntl--.h rather than unistd-safer.h
86063         (fts_safe_changedir): Don't call fd_safer; no longer needed
86064         now that we include fcntl--.h.
86065
86066 2005-08-12  Simon Josefsson  <jas@extundo.com>
86067
86068         * modules/getndelim2: Use ssize_t module.
86069         * modules/getnline: Likewise.
86070         * modules/safe-read: Likewise.
86071         * modules/xreadlink: Likewise.
86072
86073         * modules/ssize_t: New file.
86074
86075 2005-08-12  Simon Josefsson  <jas@extundo.com>
86076
86077         * m4/readline.m4: Look for termcap, curses or ncurses if required.
86078
86079 2005-08-12  Simon Josefsson  <jas@extundo.com>
86080
86081         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86082         ssize_t.
86083
86084 2005-08-12  Simon Josefsson  <jas@extundo.com>
86085
86086         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
86087         readline, getdelim and check_version.
86088         (Support for systems lacking ISO C 99: Sizes of integer types):
86089         Add size_max.
86090
86091 2005-08-12  Bruno Haible  <bruno@clisp.org>
86092
86093         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
86094
86095 2005-08-11  Simon Josefsson  <jas@extundo.com>
86096
86097         * modules/readline: New file.
86098
86099         * modules/strnlen (Files): Add strnlen.h.
86100
86101 2005-08-11  Simon Josefsson  <jas@extundo.com>
86102
86103         * m4/readline.m4: New file.
86104
86105 2005-08-11  Simon Josefsson  <jas@extundo.com>
86106
86107         * lib/readline.h, readline.c: New file.
86108
86109 2005-08-11  Simon Josefsson  <jas@extundo.com>
86110
86111         * doc/gnulib.texi (Initial import, Finishing touches): Mention
86112         gl_AVOID.
86113
86114 2005-08-11  Bruno Haible  <bruno@clisp.org>
86115
86116         * lib/strnlen.h (strnlen): Change parameter name to match comment.
86117
86118 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
86119
86120         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
86121
86122 2005-08-10  Simon Josefsson  <jas@extundo.com>
86123
86124         * tests/test-iconvme.c: New file.
86125
86126 2005-08-10  Simon Josefsson  <jas@extundo.com>
86127
86128         * m4/strnlen.m4: New file.
86129
86130         * m4/strndup.m4: Don't check for strnlen declaration, done in
86131         strnlen.m4.
86132
86133 2005-08-10  Simon Josefsson  <jas@extundo.com>
86134
86135         * lib/strndup.c: Use strnlen.h.
86136
86137         * lib/strnlen.h: New file.
86138
86139 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
86140
86141         * README: Typos.
86142
86143 2005-08-02  Simon Josefsson  <jas@extundo.com>
86144
86145         * modules/readline: New file.
86146
86147 2005-08-02  Simon Josefsson  <jas@extundo.com>
86148
86149         * modules/getdelim: New file.
86150
86151         * modules/getline: Rewrite, don't use getndelim2.
86152
86153 2005-08-02  Simon Josefsson  <jas@extundo.com>
86154
86155         * m4/getline.m4: Separate out getdelim stuff into separate module.
86156
86157         * m4/getdelim.m4: New file.
86158
86159 2005-08-02  Simon Josefsson  <jas@extundo.com>
86160
86161         * lib/getline.h, getline.c: Rewrite.
86162
86163         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
86164
86165 2005-07-31  Bruno Haible  <bruno@clisp.org>
86166
86167         * lib/lock.h (gl_lock_initializer): New macro.
86168         (gl_lock_define_initialized): Use it.
86169         (gl_rwlock_initializer): New macro.
86170         (gl_rwlock_define_initialized): Use it.
86171         (gl_recursive_lock_initializer): New macro.
86172         (gl_recursive_lock_define_initialized): Use it.
86173
86174 2005-07-30  Karl Berry  <karl@gnu.org>
86175
86176         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
86177         Report from Ben Pfaff, regarding getopt.
86178
86179 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
86180
86181         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
86182         normal way.
86183         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
86184         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
86185         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
86186         (gl_GETOPT): Use the new macros.  Most of the implementation
86187         is moved to the new macros.  This is for programs like Emacs
86188         that don't want all the functionality of gl_GETOPT.
86189
86190 2005-07-26  Bruno Haible  <bruno@clisp.org>
86191
86192         * m4/lock.m4: Update from GNU gettext.
86193
86194 2005-07-26  Bruno Haible  <bruno@clisp.org>
86195
86196         * lib/lock.h: Update from GNU gettext.
86197         * lib/lock.c: Update from GNU gettext.
86198
86199 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
86200
86201         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
86202         obsolescent AC_TRY_RUN.  Include the default includes files, for
86203         'exit'.
86204
86205 2005-07-24  Bruno Haible  <bruno@clisp.org>
86206
86207         * modules/visibility: New file.
86208         * MODULES.html.sh (Misc): Add visibility.
86209
86210 2005-07-24  Bruno Haible  <bruno@clisp.org>
86211
86212         * m4/visibility.m4: New file.
86213
86214 2005-07-24  Bruno Haible  <bruno@clisp.org>
86215
86216         * doc/visibility.texi: New file.
86217
86218 2005-07-22  Bruno Haible  <bruno@clisp.org>
86219
86220         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
86221         $(ALLOCA_H), redundant through BUILT_SOURCES.
86222         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
86223         redundant through BUILT_SOURCES.
86224         * modules/byteswap (Makefile.am): Remove explicit dependency on
86225         $(BYTESWAP_H), redundant through BUILT_SOURCES.
86226         * modules/fnmatch (Makefile.am): Remove explicit dependency on
86227         $(FNMATCH_H), redundant through BUILT_SOURCES.
86228         * modules/getopt (Makefile.am): Remove explicit dependency on
86229         $(GETOPT_H), redundant through BUILT_SOURCES.
86230         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
86231         redundant through BUILT_SOURCES.
86232         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
86233         redundant through BUILT_SOURCES.
86234         * modules/stdbool (Makefile.am): Remove explicit dependency on
86235         $(STDBOOL_H), redundant through BUILT_SOURCES.
86236         * modules/stdint (Makefile.am): Remove explicit dependency on
86237         $(STDINT_H), redundant through BUILT_SOURCES.
86238         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
86239         Remove explicit dependency on $(SYSEXITS_H).
86240         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
86241
86242 2005-07-18  Simon Josefsson  <jas@extundo.com>
86243
86244         * lib/check-version.c (check_version): Accept identical versions too.
86245
86246 2005-07-18  Bruno Haible  <bruno@clisp.org>
86247
86248         * modules/lock: New file.
86249         * MODULES.html.sh (Multithreading): New section.
86250
86251 2005-07-18  Bruno Haible  <bruno@clisp.org>
86252
86253         * m4/lock.m4: New file, from GNU gettext.
86254
86255 2005-07-18  Bruno Haible  <bruno@clisp.org>
86256
86257         * lib/lock.h: New file, from GNU gettext.
86258         * lib/lock.c: New file, from GNU gettext.
86259
86260 2005-07-18  Bruno Haible  <bruno@clisp.org>
86261
86262         * lib/lock.h (gl_once_t): New type.
86263         (gl_once_define, gl_once): New macros.
86264         * lib/lock.c (fresh_once): New variable.
86265         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
86266         functions.
86267
86268 2005-07-16  Simon Josefsson  <jas@extundo.com>
86269
86270         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
86271         workaround, suggested by Bruno.
86272
86273 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86274
86275         * modules/xalloc (Depends-on): Add xalloc-die.
86276         * modules/xvasprintf (Depends-on): Add xalloc-die.
86277
86278 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86279
86280         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
86281         with a minor change.
86282
86283 2005-07-15  Bruno Haible  <bruno@clisp.org>
86284
86285         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
86286         When using lib/poll.c, define poll as rpl_poll.
86287
86288 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
86289
86290         * modules/argp (Depends-on): Remove unlocked-io.
86291
86292 2005-07-14  Derek Price  <derek@ximbiot.com>
86293
86294         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
86295         for glob symlink bug.
86296
86297 2005-07-14  Bruno Haible  <bruno@clisp.org>
86298
86299         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
86300         Instead, test for *_unlocked function declarations directly.
86301
86302 2005-07-11  Simon Josefsson  <jas@extundo.com>
86303
86304         * modules/size_max: New file.
86305
86306         * modules/xsize: Depend on size_max module for size_max.m4.
86307
86308 2005-07-11  Simon Josefsson  <jas@extundo.com>
86309
86310         * lib/size_max.h: New file.
86311
86312 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
86313
86314         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
86315         copyright symbol and the year.
86316         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
86317         (version_etc_va): Use parameterized copyright notice.
86318         Reword to conform to the current GNU coding standards.
86319
86320 2005-07-11  Karl Berry  <karl@gnu.org>
86321
86322         * doc/gnulib.texi (Quoting): new node.
86323         (Initial import): more info, from Patrice.
86324
86325 2005-07-11  Bruno Haible  <bruno@clisp.org>
86326
86327         * gnulib-tool (func_usage): Document option --avoid.
86328         (Command line options): Handle --avoid.
86329         (func_acceptable): New function.
86330         (func_modules_transitive_closure): Use it.
86331
86332 2005-07-11  Bruno Haible  <bruno@clisp.org>
86333
86334         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
86335         Reported by Jim Meyering.
86336
86337 2005-07-10  Bruno Haible  <bruno@clisp.org>
86338
86339         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
86340         Needed when size_t is smaller than 'unsigned int'.
86341         Reported by Paul Eggert.
86342
86343 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86344
86345         * modules/argp (Depends-on): Add unlocked-io
86346
86347 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86348
86349         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
86350         block of defines.
86351
86352 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
86353
86354         * config/srclist.txt: Comment out regcomp.c, since we have a porting
86355         fix now.
86356
86357 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
86358         and Paul Eggert  <eggert@cs.ucla.edu>
86359
86360         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
86361         in wint_t, not wchar_t.  Remove now-unnecessary cast.
86362
86363 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86364
86365         * modules/regex (Files): Add lib/regex_internal.c,
86366         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
86367         (Depends-on): Add extensions.
86368         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
86369
86370 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86371
86372         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
86373         pathconf.
86374         * m4/same.m4 (gl_SAME): Likewise.
86375         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
86376
86377         * m4/regex.m4: Adjust to new libc regex implementation.
86378         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
86379         all the .c and .h parts of (the new) regex.
86380         Quote the m4 stuff better.
86381         Check for RE_ICASE bug of old gnulib.
86382         Check for REG_STARTEND of recent libc.
86383         Rename local variables from jm_* to gl_*.
86384         Quote operand of "test -f".
86385         Say "recent enough" version of libc, not "version 2".
86386         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
86387         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
86388         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
86389         Remove check for btowc, isascii.
86390         Require AM_LANGINFO_CODESET.
86391
86392 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86393
86394         * lib/regex.c, regex.h: Sync from libc.
86395         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
86396         * lib/regexec.c:
86397         New files, synced from libc, except that regex_internal.h
86398         currently has a small porting fix.
86399
86400 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86401
86402         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
86403         regex_internal.c, regexec.c.
86404         Add regex_internal.h too, but as a comment, since the libc version
86405         is currently broken in gnulib mode.
86406
86407 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
86408
86409         Support programs like Emacs that use gnulib but not gettext.
86410         * MODULES.html.sh (Internationalization functions): Add gettext-h.
86411         * modules/gettext-h: New file.
86412         * modules/gettext (Files): Remove lib/gettext.h.
86413         (Depends-on): Add gettext-h.
86414         (Makefile.am): Remove lib_SOURCES.
86415         * modules/argmatch, modules/c-stack, modules/closeout:
86416         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
86417         * modules/execute, modules/file-type, modules/getaddrinfo:
86418         * modules/getopt, modules/human, modules/javacomp:
86419         * modules/javaexec, modules/mkdir-p, modules/obstack:
86420         * modules/openat, modules/pagealign_alloc, modules/pipe:
86421         * modules/quotearg, modules/regex, modules/rpmatch:
86422         * modules/unicodeio, modules/userspec, modules/version-etc:
86423         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
86424         * modules/xsetenv:
86425         Depend on gettext-h, not gettext.
86426
86427 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
86428
86429         * gnulib-tool (func_import): Add support for 'public domain' license.
86430         * modules/alloca, modules/atexit, modules/memmove:
86431         Now public domain, not GPL.
86432         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
86433         * modules/realloc, modules/strerror, modules/strtod:
86434         Now LGPL, not GPL.
86435
86436 2005-07-05  Bruno Haible  <bruno@clisp.org>
86437
86438         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
86439         autoconf CVS. Needed for mingw.
86440
86441 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86442
86443         Remove the dependency of the strftime module on the tzset module.
86444         * modules/strftime (Depends-on): Remove dependency on tzset.
86445
86446 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86447
86448         Remove the dependency of the strftime module on the tzset module.
86449         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
86450         gl_FUNC_TZSET_CLOBBER.
86451
86452 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86453
86454         Remove the dependency of the strftime module on the tzset module.
86455         * lib/strftime.c (my_strftime)
86456         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
86457         Copy the input structure, to work around some of the bug with
86458         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
86459         Solaris releases, you should also use the tzset module, but we won't
86460         require it as a dependency any more since we don't want LGPLed code
86461         to depend on GPLed code.
86462
86463 2005-07-02  Jim Meyering  <jim@meyering.net>
86464
86465         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
86466         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
86467         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
86468         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
86469
86470 2005-07-02  Jim Meyering  <jim@meyering.net>
86471
86472         * lib/backupfile.c (backup_args): Change a `0' to NULL.
86473
86474 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
86475
86476         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
86477         declares only 'struct timespec;' (!).
86478
86479 2005-07-01  Jim Meyering  <jim@meyering.net>
86480
86481         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
86482         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
86483         * lib/save-cwd.c, tempname.c:
86484         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
86485         and don't include <sys/file.h>).
86486
86487 2005-06-29  Jim Meyering  <jim@meyering.net>
86488
86489         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
86490         type name.  Use the variable name instead.
86491         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
86492         Likewise.
86493
86494 2005-06-28  Simon Josefsson  <jas@extundo.com>
86495
86496         * modules/check-version (Files): Add check-version.m4.
86497
86498 2005-06-28  Simon Josefsson  <jas@extundo.com>
86499
86500         * m4/check-version.m4: New file, suggested by Jim Meyering
86501         <jim@meyering.net>.
86502
86503 2005-06-28  Simon Josefsson  <jas@extundo.com>
86504
86505         * lib/check-version.h, lib/check-version.c: New files.
86506
86507 2005-06-28  Simon Josefsson  <jas@extundo.com>
86508
86509         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
86510         collision with global variable.  Better indentation.  Don't
86511         increment buffer pointer beyond buffer end.  Based on comments
86512         from Paul Eggert <eggert@cs.ucla.edu>.
86513
86514         * lib/base64.h: Indent.
86515
86516 2005-06-28  Simon Josefsson  <jas@extundo.com>
86517
86518         * doc/gnulib.texi (Library version handling): New section.
86519
86520 2005-06-28  Jim Meyering  <jim@meyering.net>
86521
86522         * check-module (find_included_lib_files): Hard-code another
86523         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
86524         but modules/fts-lgpl (correctly) does not list those files.
86525
86526         * modules/canonicalize (Files): Add lib/pathmax.h.
86527
86528 2005-06-25  Simon Josefsson  <jas@extundo.com>
86529
86530         * modules/check-version: New file.
86531
86532 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
86533
86534         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
86535         initializer of struct addrinfo, as an indication that we don't
86536         care how many members the structure has.
86537
86538 2005-06-24  Derek Price  <derek@ximbiot.com>
86539         and Bruno Haible  <bruno@clisp.org>
86540
86541         Remove stat module & update lstat.
86542         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
86543         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
86544         * m4/stat.m4: Remove this file.
86545
86546 2005-06-24  Derek Price  <derek@ximbiot.com>
86547         and Bruno Haible  <bruno@clisp.org>
86548
86549         Remove stat module & update lstat.
86550         * lib/stat.c: Remove this file...
86551         (slash_aware_lstat): ...moving this content and its support...
86552         * lib/lstat.c (rpl_lstat): ...into here.
86553         * lib/lstat.h: New file.
86554
86555 2005-06-24  Derek Price  <derek@ximbiot.com>
86556         and Bruno Haible  <bruno@clisp.org>
86557
86558         Remove stat module & update lstat.
86559         * config/srclist.txt (libc sources): Remove stat.
86560
86561 2005-06-24  Derek Price  <derek@ximbiot.com>
86562         and Bruno Haible  <bruno@clisp.org>
86563
86564         Remove stat module & update lstat.
86565         * MODULES.html.sh (stat): Remove.
86566         * MODULES.html: Regenerated.
86567         * modules/lstat (Description): Correct function name.
86568         (Files): Add "lstat.h".
86569         (Depends-on): Remove stat, add xalloc, stat-macros.
86570         * modules/stat: Remove this file.
86571         (Include): Add "lstat.h", remove <sys/stat.h>.
86572
86573 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86574
86575         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
86576         (ranged_convert): Don't save conversion in a temporary struct.
86577         This causes a warning with GCC 4.0.0, and anyway in the typical
86578         case it's not worth the extra 100 bytes or so of code.
86579         (ranged_convert, __mktime_internal): When calling a function via a
86580         pointer P, use P () rather than (*P) (), as we now assume C89 or
86581         better.
86582
86583 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86584
86585         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
86586         "who -r" failed to give output.  Problem reported by Tim Waugh.
86587
86588         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
86589         (xcalloc): Use it to avoid needless tests.
86590         Problem reported by Jim Meyering.
86591
86592 2005-06-20  Derek Price  <derek@ximbiot.com>
86593
86594         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
86595         unnecessary for Autoconfs > 2.59c.
86596
86597 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86598
86599         * lib/argp.h (__option_is_short): Check upper limit of
86600         __key. Isprint() requires its argument to have the value
86601         of an unsigned char or EOF.
86602
86603 2005-06-16  Jim Meyering  <jim@meyering.net>
86604
86605         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
86606         when either N or S is zero.
86607
86608 2005-06-16  Derek Price  <derek@ximbiot.com>
86609
86610         * m4/bison.m4: Declare YACC & YFLAGS precious.
86611
86612 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
86613
86614         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
86615         multibyte string or pattern, fall back on unibyte matching.
86616         Problem reported by James Youngman.
86617
86618 2005-06-08  Bruno Haible  <bruno@clisp.org>
86619
86620         * modules/csharpcomp: New file.
86621         * MODULES.html.sh (C#): Add csharpcomp.
86622
86623 2005-06-08  Bruno Haible  <bruno@clisp.org>
86624
86625         * m4/csharpcomp.m4: New file, from GNU gettext.
86626
86627 2005-06-08  Bruno Haible  <bruno@clisp.org>
86628
86629         * lib/csharpcomp.h: New file, from GNU gettext.
86630         * lib/csharpcomp.c: New file, from GNU gettext.
86631         * lib/csharpcomp.sh.in: New file, from GNU gettext.
86632
86633 2005-06-08  Bruno Haible  <bruno@clisp.org>
86634
86635         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
86636         warning on mingw.
86637
86638 2005-06-07  Derek Price  <derek@ximbiot.com>
86639
86640         Sync from CVS.
86641         * lib/glob_.h: Indent nested #ifdef.
86642
86643 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86644
86645         Sync from coreutils.
86646         Use "file name" when talking about file names, instead of "filename"
86647         or "path", as per the GNU coding standards.
86648         * lib/mkdir-p.c: Renamed from makepath.c.
86649         (make_dir_parents): Renamed from make_path.  All callers changed.
86650         * lib/mkdir-p.h: Likewise.  All includers changed.
86651         * lib/filenamecat.c: Renamed from path-concat.c.
86652         (file_name_concat): Renamed from path_concat.  All callers changed.
86653         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
86654         * lib/filenamecat.h: Likewise.  All includers changed.
86655         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
86656         in comments or local variable names.
86657         * lib/basename.c: Likewise.
86658         * lib/canonicalize.c, canonicalize.h: Likewise.
86659         * lib/dirname.c, dirname.h: Likewise.
86660         * lib/euidaccess.c: Likewise.
86661         * lib/exclude.c: Likewise
86662         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
86663         * lib/fsusage.c, fsuage.h: Likewise.
86664         * lib/fts.c, fts_.h: Likewise.
86665         * lib/getcwd.c: Likewise.
86666         * lib/getloadavg.c: Likewise.
86667         * lib/mkstemp.c: Likewise.
86668         * lib/mountlist.c, mountlist.h: Likewise.
86669         * lib/openat.c, openat.h: Likewise.
86670         * lib/readlink-stub.c: Likewise.
86671         * lib/readutmp.c, readutmp.h: Likewise.
86672         * lib/rename.c: Likewise.
86673         * lib/rmdir.c: Likewise.
86674         * lib/same.c: Likewise.
86675         * lib/savedir.c: Likewise.
86676         * lib/stripslash.c: Likewise.
86677         * lib/tempname.c: Likewise.
86678         * lib/xreadlink.c: Likewise.
86679         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
86680         All uses changed.
86681         * lib/exclude.h: Likewise.
86682
86683         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
86684         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86685         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
86686         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86687         * lib/pathmax.h: Include <limits.h> unconditionally, since other
86688         files have been getting away with it for years (MORE/BSD 4.3
86689         is extinct now).
86690         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
86691         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86692
86693         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
86694         Define to 256, not 255, as per modern POSIX.
86695
86696 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86697
86698         Sync from coreutils.
86699         Use "file name" when talking about file names, instead of "filename"
86700         or "path", as per the GNU coding standards.
86701         * MODULES.html.sh: mkdir-p renamed from makepath.
86702         filenamecat renamed from path-concat.
86703         * modules/filenamecat: Renamed from modules/path-concat.
86704         (Files): filenamecat.h and filenamecat.c renamed from
86705         path-concat.h and path-concat.c.
86706         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
86707         (Include): filenamecat.h, not path-concat.h.
86708         * modules/mkdir-p: Renamed from modules/makepath.
86709         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
86710         makepath.c.
86711         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
86712         (Include): mkdir-p.h, not makepath.h.
86713
86714 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86715
86716         Sync from coreutils.
86717         * m4/mkdir-p.m4: Renamed from makepath.m4.
86718         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
86719         Rename files from makepath.c to mkdir-p.c, and from
86720         makepath.h to mkdir-p.h.
86721         * m4/filenamecat.m4: Renamed from path-concat.m4.
86722         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
86723         Rename files from path-concat.c to filenamecat.c,
86724         and from path-concat.h to filenamecat.h.
86725         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
86726         "file name" in local variables or comments.
86727         * m4/rename.m4: Likewise.
86728
86729 2005-06-01  Bruno Haible  <bruno@clisp.org>
86730
86731         * modules/csharpexec: New file.
86732         * MODULES.html.sh (C#): New section.
86733
86734 2005-06-01  Bruno Haible  <bruno@clisp.org>
86735
86736         * m4/csharp.m4: New file, from GNU gettext.
86737         * m4/csharpexec.m4: New file, from GNU gettext.
86738
86739 2005-06-01  Bruno Haible  <bruno@clisp.org>
86740
86741         * lib/csharpexec.h: New file, from GNU gettext.
86742         * lib/csharpexec.c: New file, from GNU gettext.
86743         * lib/csharpexec.sh.in: New file, from GNU gettext.
86744
86745 2005-05-31  Derek Price  <derek@ximbiot.com>
86746             Paul Eggert  <eggert@cs.ucla.edu>
86747
86748         Sync from cvs.
86749         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
86750
86751 2005-05-31  Derek Price  <derek@ximbiot.com>
86752             Paul Eggert  <eggert@cs.ucla.edu>
86753
86754         Sync from cvs.
86755         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
86756
86757 2005-05-29  Derek Price  <derek@ximbiot.com>
86758
86759         * config/srclist.txt (glob_.h, glob.c): Add these files.
86760
86761 2005-05-29  Derek Price  <derek@ximbiot.com>
86762
86763         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
86764         * modules/glob: New file.
86765         * modules/getlogin_r: Add link to POSIX spec in description.
86766
86767 2005-05-29  Derek Price  <derek@ximbiot.com>
86768             Paul Eggert  <eggert@cs.ucla.edu>
86769
86770         * m4/glob.m4: New file.
86771
86772 2005-05-29  Derek Price  <derek@ximbiot.com>
86773             Paul Eggert  <eggert@cs.ucla.edu>
86774
86775         * lib/glob_.h, lib/glob.c: New files.
86776
86777 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86778
86779         * modules/fts (Files): Remove m4/inttypes-pri.m4.
86780         * modules/fts-lgpl (Depends-on): Remove gettext.
86781
86782 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86783
86784         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
86785         and don't require gt_INTTYPES_PRI.
86786
86787 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86788
86789         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
86790
86791         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
86792         the configuration hassle isn't worth it.
86793         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
86794         (LONGEST_MODIFIER, PRIuMAX): Remove.
86795
86796 2005-05-27  Bruno Haible  <bruno@clisp.org>
86797
86798         * lib/getlogin_r.h: Remove second include of <stddef.h>.
86799
86800 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
86801
86802         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
86803         _POSIX_PTHREAD_SEMANTICS for Solaris.
86804
86805 2005-05-25  Derek Price  <derek@ximbiot.com>
86806
86807         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
86808
86809 2005-05-25  Derek Price  <derek@ximbiot.com>
86810             Paul Eggert  <eggert@cs.ucla.edu>
86811
86812         * modules/getlogin_r, m4/getlogin_r.m4: New files.
86813         * lib/getlogin_r.c, getlogin_r.h: New files.
86814
86815 2005-05-25  Bruno Haible  <bruno@clisp.org>
86816             Derek Price  <derek@ximbiot.com>
86817
86818         * lib/getlogin_r.h: Simplify API documentation.
86819
86820 2005-05-23  Derek Price  <derek@ximbiot.com>
86821
86822         * modules/minmax (Files): Add m4/minmax.m4.
86823         (configure.ac): Add gl_MINMAX.
86824
86825 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
86826
86827         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
86828         so that unistd-safer.h (GPL'ed code) need not be included.
86829
86830 2005-05-22  Bruno Haible  <bruno@clisp.org>
86831
86832         * m4/minmax.m4: New file.
86833         Based on a patch by Derek Price <derek@ximbiot.com>.
86834
86835 2005-05-22  Bruno Haible  <bruno@clisp.org>
86836
86837         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
86838         (INT64_MIN): Fix definition.
86839         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
86840
86841         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
86842         NEED_SIGNED_INT_TYPES.
86843
86844         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
86845         HAVE_SYSTEM_INTTYPES.
86846
86847 2005-05-22  Bruno Haible  <bruno@clisp.org>
86848
86849         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
86850         Also include <sys/param.h> if it defines MIN, MAX.
86851         Based on a patch by Derek Price <derek@ximbiot.com>.
86852
86853 2005-05-21  Jim Meyering  <jim@meyering.net>
86854
86855         * modules/fts (Files): Add m4/inttypes-pri.m4.
86856         (Depends-on): Add lstat and remove gettext.  Alphabetize.
86857
86858 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86859
86860         New fts module.
86861         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
86862         (setup_dir, free_dir): New functions.
86863         (enter_dir, leave_dir): Define trivial
86864         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
86865         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
86866         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
86867         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
86868         Move to fts-cycle.c.
86869         (fts_open): Use setup_dir.
86870         (fts_close): Use free_dir.
86871         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
86872         This adds a label and some gotos, but the alternatives were messier.
86873         Check for memory allocation failure when entering a dir.
86874         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
86875         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
86876         (FTS): New member fts_cycle, that is a union that contains the
86877         old active_dir_ht and cycle_state.  All uses changed to mention
86878         fts_cycle.ht and fts_cycle.state.
86879         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
86880         fts.c, with the following changes:
86881         (setup_dir, free_dir): New functions.
86882         (enter_dir): Now returns bool.  Return true if successful, false
86883         if memory exhausted.  All callers changed.
86884         Do not bother partly cleaning up on
86885         memory allocation failure; that is free_dir's job.
86886         However, free ad if hash_insert fails, to avoid memory leak.
86887         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
86888         fts->fts_options to see which union member to use.
86889
86890 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86891
86892         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
86893         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
86894
86895 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86896
86897         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
86898
86899 2005-05-20  Jim Meyering  <jim@meyering.net>
86900
86901         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
86902         Now a macro, to pacify GCC.
86903
86904 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
86905
86906         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
86907         of -1.
86908
86909 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
86910
86911         * lib/chown.c (rpl_chown): Return -1 on failure.
86912
86913 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
86914
86915         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
86916         Don't check for stddef.h.
86917         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
86918         don't use its results.
86919         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
86920         since we include them unconditionally.  Don't require
86921         AM_STDBOOL_H, since stdbool is a prerequisite.
86922         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
86923         since we assume C89 or better.
86924         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
86925         as we don't use their results.
86926         Don't check for fchdir, memmove, memset, strrchr, as we use
86927         them unconditionally.
86928         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
86929         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
86930
86931 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
86932
86933         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
86934         Include <stddef.h> unconditionally, since we assume C89 now.
86935         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
86936         * lib/fts.c: Include fts_.h first, to check interface.
86937         Do not include intprops.h; no longer needed.
86938         Include cycle-check.h and hash.h, since fts_.h no longer does.
86939         Remove unnecessary casts of closedir to void.
86940         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
86941         decide whether to decrement nlinks.
86942         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
86943         (FTS): Use struct hash_table * instead of Hash_table, so that
86944         we no longer need to include hash.h here.
86945
86946 2005-05-18  Jim Meyering  <jim@meyering.net>
86947
86948         * modules/dirfd (License): Change to LGPL.  Most of the code
86949         is already in the public domain.
86950
86951 2005-05-18  Jim Meyering  <jim@meyering.net>
86952
86953         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
86954         Reported by Yoann Vandoorselaere.
86955
86956 2005-05-17  Jim Meyering  <jim@meyering.net>
86957
86958         * m4/fts.m4: New file, from coreutils.
86959
86960 2005-05-17  Jim Meyering  <jim@meyering.net>
86961
86962         * lib/fts.c, lib/fts_.h: New files, from coreutils.
86963
86964 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86965
86966         Sync from coreutils.
86967         * m4/unlinkdir.m4: New file.
86968
86969 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86970
86971         Sync from coreutils.
86972         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
86973         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
86974         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
86975         White space changes only.
86976         * lib/makepath.c (make_path): Port to hosts where leading "//" is
86977         special.
86978         * lib/yesno.c: Include getline.h, not ctype.h.
86979         (yesno): Don't remove leading white space; POSIX doesn't allow it.
86980         Use getline to remove arbitrary restriction on response length.
86981
86982 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86983
86984         * config/srclist-update: Spell out "Street" in FSF postal
86985         mail address; this is the style the FSF seems to prefer.
86986
86987         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
86988         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
86989         this updates FSF postal mail address.
86990
86991         Sync from coreutils.
86992         * modules/unlinkdir: New file.
86993         * modules/yesno (Depends-on): Add getline.
86994         * MODULES.html.sh (File system functions): Add unlinkdir.
86995
86996 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
86997
86998         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
86999         lib/strsep.h:
87000         Change the initial comment to refer to GPL, not LGPL.
87001         gnulib-tool will change it to LGPL as needed.
87002
87003         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
87004         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
87005         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
87006         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
87007         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
87008         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
87009         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
87010         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
87011         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
87012         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
87013         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
87014         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
87015         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
87016         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
87017         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
87018         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
87019         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
87020         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
87021         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
87022         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
87023         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
87024         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
87025         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
87026         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
87027         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
87028         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
87029         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
87030         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
87031         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
87032         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
87033         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
87034         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
87035         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
87036         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
87037         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
87038         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
87039         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
87040         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
87041         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
87042         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
87043         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
87044         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
87045         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
87046         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
87047         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
87048         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
87049         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
87050         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
87051         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
87052         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
87053         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
87054         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
87055         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
87056         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
87057         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
87058         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
87059         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
87060         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
87061         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
87062         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
87063         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
87064         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
87065         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
87066         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
87067         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
87068         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
87069         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
87070         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
87071         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
87072         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
87073         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
87074         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
87075         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
87076         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
87077         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
87078         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
87079         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
87080         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
87081         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
87082         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
87083         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
87084         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
87085         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
87086         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
87087         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
87088         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
87089         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
87090         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
87091         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
87092         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
87093         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
87094         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
87095         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
87096         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
87097         lib/yesno.c, lib/yesno.h:
87098         Update FSF postal mail address.
87099
87100 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87101
87102         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
87103         tests/test-memmem.c, tests/test-stpncpy.c:
87104         Update FSF postal mail address.
87105
87106 2005-05-13  Bruno Haible  <bruno@clisp.org>
87107
87108         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
87109         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
87110         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
87111         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
87112         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
87113         Add support for 64-bit integers in the MSVC compiler.
87114
87115 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87116
87117         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
87118
87119 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
87120
87121         * gnulib-tool (func_import): Sort and uniquify recommended includes.
87122
87123 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
87124
87125         * doc/getdate.texi (General date syntax): Don't say that date
87126         date --iso-8601=ns generates acceptable dates; it doesn't yet.
87127         Problem reported by Nic Ferrier.
87128
87129 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87130
87131         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
87132         specified in ai_socktype. Fix invalid ai_protocol
87133         check. ai_protocol is usually set to 0 or depending on
87134         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
87135         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
87136         ai_socktype / ai_protocol in the returned addrinfo structure.
87137
87138 2005-05-10  Simon Josefsson  <jas@extundo.com>
87139
87140         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
87141         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
87142
87143 2005-05-10  Karl Berry  <karl@gnu.org>
87144
87145         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
87146         (from http://www.gnu.org/licenses).
87147         * doc/COPYING.LIB: also rename to COPYING.LESSER.
87148         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
87149         fdl.texi suffices.
87150
87151 2005-05-10  Karl Berry  <karl@gnu.org>
87152
87153         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
87154         (COPYING.DOC): remove.
87155
87156         * config/srclist-update: new FSF address.
87157
87158 2005-05-10  Derek Price  <derek@ximbiot.com>
87159
87160         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
87161         possible.
87162
87163 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87164             Bruno Haible  <bruno@clisp.org>
87165
87166         * modules/inet_ntop: New file.
87167         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87168         inet_ntop.
87169
87170 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87171             Bruno Haible  <bruno@clisp.org>
87172
87173         * m4/inet_ntop.m4: New file.
87174
87175 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87176             Bruno Haible  <bruno@clisp.org>
87177
87178         * lib/inet_ntop.h: New file.
87179         * lib/inet_ntop.c: New file, from glibc with modifications.
87180
87181 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
87182
87183         * modules/time_r (License): Change to LGPL.
87184         * modules/extensions (License): Change to LGPL.  Actually,
87185         the license is more permissive than that, but currently gnulib-tool
87186         doesn't know how to handle more-permissive licenses.
87187
87188         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
87189         Problem reported by Dave Love.
87190
87191 2005-05-08  Jim Meyering  <jim@meyering.net>
87192
87193         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
87194         blank.
87195
87196 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
87197
87198         * modules/argmatch (Depends-on): Add stdbool.
87199         * modules/backupfile (Depends-on): Likewise.
87200         * modules/chdir-long (Depends-on): Likewise.
87201         * modules/closeout (Depends-on): Likewise.
87202         * modules/cycle-check (Depends-on): Likewise.
87203         * modules/dirname (Depends-on): Likewise.
87204         * modules/fnmatch (Depends-on): Likewise.
87205         * modules/fsusage (Depends-on): Likewise.
87206         * modules/fwriteerror (Depends-on): Likewise.
87207         * modules/getcwd (Depends-on): Likewise.
87208         * modules/getloadavg (Depends-on): Likewise.
87209         * modules/hard-locale (Depends-on): Likewise.
87210         * modules/makepath (Depends-on): Likewise.
87211         * modules/mountlist (Depends-on): Likewise.
87212         * modules/nanosleep (Depends-on): Likewise.
87213         * modules/posixtm (Depends-on): Likewise.
87214         * modules/quotearg (Depends-on): Likewise.
87215         * modules/readtokens (Depends-on): Likewise.
87216         * modules/readtokens0 (Depends-on): Likewise.
87217         * modules/readutmp (Depends-on): Likewise.
87218         * modules/save-cwd (Depends-on): Likewise.
87219         * modules/strftime (Depends-on): Likewise.
87220         * modules/userspec (Depends-on): Likewise.
87221         * modules/utimecmp (Depends-on): Likewise.
87222         * modules/xgetcwd (Depends-on): Likewise.
87223         * modules/xnanosleep (Depends-on): Likewise.
87224         * modules/xstrtod (Depends-on): Likewise.
87225         * modules/yesno (Depends-on): Likewise.
87226
87227 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
87228
87229         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
87230         needless checks.
87231
87232 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87233
87234         Merge from coreutils.  Among other things,
87235         add bulletproofing for cases where stdin, stdout, or stderr are closed.
87236         * lib/fd-safer.c: New file.
87237         * lib/fcntl-safer.h, open-safer.c: Remove.
87238         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
87239         * lib/dup-safer.c: Include unistd-safer.h first.
87240         Don't include errno.h.
87241         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
87242         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
87243         * lib/file-type.c: Rely on file-type.h change.
87244         * lib/getloadavg.c: Include unistd-safer.h.
87245         (getloadavg): Use safer open.
87246         * lib/getusershell.c: Include "stdio-safer.h".
87247         (getusershell): Use safer fopen.
87248         * lib/long-options.c (long_options): Use NULL rather than 0.
87249         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
87250         'free'.
87251         * lib/modechange.c: Likewise.
87252         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
87253         (MODE_DONE): New constant.
87254         (struct mode_change): Remove 'next' member.
87255         (make_node_op_equals): New function; like the old one of the
87256         same name, except it allocates an array.
87257         (mode_compile, mode_create_from_ref): Use it.
87258         (mode_compile): Allocate result as an array, not a linked list.
87259         Parse octal string ourself, so that we catch mistakes like "+0".
87260         (mode_adjust): Arg is an array, not a linked list.
87261         * lib/modechange.c: Include stat-macros.h, xalloc.h.
87262         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
87263         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
87264         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
87265         Remove.  This is now stat-macros.h's job.
87266         (talloc): Remove.  All callers replaced by xalloc, so that
87267         our invokers don't have to worry about reporting memory failures.
87268         (make_node_op_equals): Remove.
87269         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87270         New constants.
87271         (struct mode_change): Moved here from modechange.h.
87272         (mode_append_entry): Remove.
87273         (mode_compile): Remove MASKED_OPS arg, since it encouraged
87274         apps to have incorrect behavior.  Use simpler algorithm for head
87275         and tail.  Don't futz with umask; that's now the job of mode_adjust.
87276         Detect more invalid usages rather than having somewhat-random behavior.
87277         Don't insert an "a=" action, as that leads to incorrect behavior.
87278         (mode_compile, mode_create_from_ref): Return NULL on error instead
87279         of an enum, since now there's only one way to have an error.  All
87280         callers changed.
87281         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
87282         at the correct time.  Simplify calculation of "+u" and its ilk.
87283         Don't mishandle "+X".
87284         (mode_free): Remove "register" and localize decls.
87285         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87286         (struct mode_change): Move to modechange.c; callers don't
87287         need to see this stuff.
87288         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
87289         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
87290         (mode_change, mode_adjust): Reflect the new signatures noted above.
87291         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
87292         that might redefine system include files.
87293         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
87294         (my_usleep): Use NULL rather than (void *) 0.
87295         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
87296         Use siginterrupt to specify that system calls should be interrupted.
87297         (rpl_nanosleep): Move initialization of suspended closer to call of
87298         my_usleep.
87299         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
87300         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
87301         (desirable_utmp_entry): New function.
87302         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
87303         using x2nrealloc, to simplify logic.
87304         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
87305         size calculation.  Do not assume utmp file is a regular file.
87306         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
87307         (READ_UTMP_CHECK_PIDS): New constant.
87308         * lib/save-cwd.c: Include unistd-safer.h.
87309         (save_cwd): Use fd_safer.
87310         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
87311         [!_LIBC] Include "stat-macros.h" instead.
87312         * lib/unistd-safer.h (fd_safer): New decl.
87313
87314 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87315
87316         * modules/getloadavg (Depends-on): Add unistd-safer.
87317         * modules/getusershell (Depends-on): Add stdio-safer.
87318         * modules/lstat (Depends-on): Remove xalloc.
87319         * modules/mkstemp (Depends-on): Add stat-macros.
87320         * modules/modechange (Depends-on): Remove xstrtol.
87321         Add stat-macros, xalloc.
87322         * modules/save-cwd (Depends-on): Add unistd-safer.
87323         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
87324         * modules/unistd-safer (Files): Add lib/fd-safer.c
87325         (Makefile.am): Remove lib_SOURCES.
87326
87327         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
87328         Remove fcntl-safer; unistd-safer supersedes it.
87329
87330 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87331
87332         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
87333         AC_HEADER_STAT.
87334         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
87335         (gl_PREREQ_CHOWN): Remove.
87336         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
87337         it.  Don't require AC_HEADER_STAT.
87338         (gl_PREREQ_LSTAT): Remove.
87339         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
87340         Don't require AC_HEADER_STAT.
87341         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
87342         (gl_PREREQ_RMDIR): Remove.
87343         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
87344         mention stat-macros.h or AC_HEADER_STAT, since we'll make
87345         the stat-macros module a prerequisite.
87346         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
87347         * m4/filemode.m4 (gl_FILEMODE): Likewise.
87348         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
87349         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
87350         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
87351         variable names.
87352         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
87353         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
87354         variable prefixes.
87355         * m4/fcntl-safer.m4: Remove.
87356         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
87357         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
87358         Invoke gl_PREREQ_FD_SAFER.
87359         (gl_PREREQ_FD_SAFER): New macro.
87360         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
87361         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
87362         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
87363         Remove duplicate call to AC_LIBOBJ(readutmp).
87364         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
87365
87366         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
87367         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
87368
87369 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87370
87371         * MODULES.html.sh (Misc): Add byteswap.
87372
87373 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87374
87375         * modules/getcwd (Depends-on): Add extensions.
87376         * modules/openat (Depends-on): Likewise.
87377
87378 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87379
87380         * modules/byteswap: New file.
87381
87382 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87383
87384         * m4/byteswap.m4: New file.
87385
87386 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87387
87388         * lib/byteswap_.h: New file.
87389
87390 2005-04-25  Karl Berry  <karl@gnu.org>
87391
87392         * m4/gettext.m4: Update from GNU gettext 0.14.4.
87393
87394 2005-04-25  Albert Chin  <china@thewrittenword.com>
87395
87396         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
87397         Toolkit C bug.
87398
87399 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
87400
87401         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
87402         (func_ln_if_changed): Remove forcibly for no error message
87403         in case file does not exist.
87404
87405 2005-04-19  Simon Josefsson  <jas@extundo.com>
87406
87407         * gnulib-tool (Options): Make --symlink mean --symbolic.
87408
87409 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
87410
87411         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
87412
87413 2005-04-16  Simon Josefsson  <jas@extundo.com>
87414
87415         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
87416
87417 2005-04-15  Simon Josefsson  <jas@extundo.com>
87418
87419         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
87420
87421 2005-04-15  Simon Josefsson  <jas@extundo.com>
87422
87423         * gnulib-tool: Rename --symlink to --symbolic.
87424
87425 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
87426
87427         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
87428         symbolic links to files instead of copying/moving.  Add --aux-dir,
87429         specifying directory relative --dir where auxiliary build tools
87430         are placed.
87431
87432 2005-04-14  Bruno Haible  <bruno@clisp.org>
87433
87434         * modules/allocsa (License): Change to LGPL.
87435         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
87436
87437 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
87438
87439         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
87440         that "UTC +1 second" continues to work.  Problem reported
87441         by Dmitry V. Levin.
87442         (relunit_snumber): New rule.
87443         (relunit): Use it.
87444
87445 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
87446
87447         * lib/getdate.y (universal_time_zone_table): New constant.
87448         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
87449         universal_time_zone_table.
87450         (lookup_zone): Prefer universal_time_zone_table to
87451         local_time_zone_table, so that "GMT" time stamps are allowed in
87452         London during the summer.  Problem reported by Ian Abbott.
87453
87454 2005-04-12  Jim Meyering  <jim@meyering.net>
87455
87456         * lib/human.c (humblock): Set *options even when returning due to
87457         xstrtoumax conversion failure.  Thanks to a used-uninitialized
87458         warning from gcc-4.
87459
87460 2005-04-09  Jim Meyering  <jim@meyering.net>
87461
87462         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
87463         -Wuninitialized: initialize tm0.tm_year.
87464
87465 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
87466
87467         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
87468         count, since there's no maximum.  All uses changed.
87469         Add member dsts_seen.
87470         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
87471         not being INT_MAX.
87472         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
87473         Use pc_rels_seen to decide whether a date is absolute.
87474
87475         * lib/getdate.y (number): Don't overwrite year.
87476         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
87477         check.
87478
87479 2005-04-02  Simon Josefsson  <jas@extundo.com>
87480
87481         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
87482         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
87483
87484 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
87485
87486         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
87487         where no absolute path name can be longer than PATH_MAX.
87488
87489 2005-03-27  Jim Meyering  <jim@meyering.net>
87490
87491         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
87492
87493 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
87494
87495         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
87496         "one's complement" -> "ones' complement" in comment, as per Knuth.
87497         "value of type" -> "type or expression" in comment.
87498         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
87499
87500 2005-03-26  Jim Meyering  <jim@meyering.net>
87501
87502         Comment nits.
87503         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
87504         Correct typos: s/or/of/.
87505
87506 2005-03-26  Jim Meyering  <jim@meyering.net>
87507
87508         * modules/check-include-files: Move to ../ and rename to...
87509         * check-module: ...this.
87510
87511 2005-03-25  Jim Meyering  <jim@meyering.net>
87512
87513         * modules/xvasprintf (Files): Add xalloc.h.
87514
87515 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
87516
87517         * modules/gettext (Files): config/config.rpath ->
87518         build-aux/config.rpath
87519         * modules/iconv (Files): Likewise.
87520         Problem reported by Oskar Liljeblad.
87521
87522 2005-03-23  Jim Meyering  <jim@meyering.net>
87523
87524         * modules/check-include-files: New script to check for
87525         missing dependencies, multiple includes, etc.
87526
87527         * modules/c-strtold (Depends-on): Add xalloc.
87528         * modules/c-strtod (Depends-on): Add xalloc.
87529         * modules/hash (Depends-on): Add xalloc.
87530         (Files): Remove lib/xalloc.h.
87531
87532         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
87533         * modules/userspec (Files): Add lib/inttostr.h.
87534
87535 2005-03-23  Jim Meyering  <jim@meyering.net>
87536
87537         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
87538
87539 2005-03-22  Jim Meyering  <jim@meyering.net>
87540
87541         * modules/stat-macros: New module.
87542         * modules/canonicalize, modules/euidaccess, modules/file-type,
87543         * modules/filemode, modules/lchown, modules/makepath,
87544         * modules/rmdir, modules/stat: Depend on new stat-macros module
87545         rather than listing lib/stat-macros.h manually.
87546         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
87547
87548 2005-03-22  Jim Meyering  <jim@meyering.net>
87549
87550         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
87551
87552 2005-03-22  Bruno Haible  <bruno@clisp.org>
87553
87554         * config/srclist.txt: Replace target directory 'config' with
87555         'build-aux'.
87556         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
87557         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
87558         ../build-aux/.
87559
87560 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
87561
87562         * modules/chdir-long (Depends-on): Add mempcpy.
87563
87564         * modules/acl, modules/backupfile, modules/c-strtod,
87565         modules/c-strtold, modules/canon-host, modules/canonicalize,
87566         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
87567         modules/exclude, modules/exitfail, modules/file-type,
87568         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
87569         modules/getdate, modules/getline, modules/getpagesize,
87570         modules/getpass, modules/getugroups, modules/group-member,
87571         modules/hard-locale, modules/hash, modules/human, modules/idcache,
87572         modules/inttostr, modules/long-options, modules/makepath,
87573         modules/md5, modules/memcasecmp, modules/memcoll,
87574         modules/modechange, modules/mountlist, modules/path-concat,
87575         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
87576         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
87577         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
87578         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
87579         modules/strftime, modules/strndup, modules/strverscmp,
87580         modules/timespec, modules/unlocked-io, modules/userspec,
87581         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
87582         modules/yesno:
87583         Remove lib_SOURCES line from Makefile.am section, as this is now
87584         done automatically by the corresponding Autoconf macro.
87585
87586 2005-03-21  Jim Meyering  <jim@meyering.net>
87587
87588         Changes imported from coreutils.
87589
87590         * lib/cycle-check.c: Don't include xalloc.h.
87591
87592         * lib/path-concat.c: Don't include assert.h.
87593         (path_concat): Remove assertion that would have triggered
87594         for ABASE starting with more than one slash.
87595         Reported by Andreas Schwab.
87596
87597         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
87598         properly when ABASE is an absolute file name.
87599         Correct the description of this function.
87600         Include <assert.h>.
87601         Add an assertion and a test driver.
87602         This fixes a bug introduced on 2004-07-02.
87603         Andreas Schwab reported the resulting failure of cp --parents:
87604         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
87605
87606 2005-03-21  Jim Meyering  <jim@meyering.net>
87607
87608         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
87609         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
87610
87611 2005-03-21  Jim Meyering  <jim@meyering.net>
87612         and  Paul Eggert  <eggert@cs.ucla.edu>
87613
87614         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
87615         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
87616         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
87617         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
87618         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
87619         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
87620         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
87621         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
87622         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
87623         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
87624         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
87625         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
87626         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
87627         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
87628         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
87629         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
87630         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
87631         for these modules.
87632
87633 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
87634
87635         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
87636         (which shouldn't happen), generate nothing instead of returning 0
87637         immediately, so that nstrftime (NULL, ...) doesn't return 0.
87638
87639 2005-03-16  Bruno Haible  <bruno@clisp.org>
87640
87641         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
87642         HAVE_LONGLONG_64BIT.
87643
87644 2005-03-16  Bruno Haible  <bruno@clisp.org>
87645
87646         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
87647         HAVE_LONGLONG_64BIT.
87648
87649 2005-03-16  Bruno Haible  <bruno@clisp.org>
87650
87651         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
87652         HAVE_LONGLONG_64BIT.
87653
87654 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87655
87656         * lib/strftime.c (my_strftime): Prepend space to format so that we can
87657         reliably distinguish strftime failure from empty output on POSIX
87658         hosts.
87659
87660 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87661
87662         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
87663         (iconv_string): Don't guess a size-zero buffer, as that might cause
87664         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
87665         result would be 'too large', where 'too large' is (heuristically)
87666         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
87667         overflow concerns.  This will prevent some unwanted malloc failures
87668         when the inputs are very large.
87669
87670 2005-03-15  Karl Berry  <karl@gnu.org>
87671
87672         * config/srclist.txt (config.rpath): from gettext.
87673         * config/config.rpath: update.
87674
87675 2005-03-15  Bruno Haible  <bruno@clisp.org>
87676
87677         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
87678         to 'negate'.
87679
87680         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
87681         variable.
87682
87683         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
87684         results.
87685
87686 2005-03-14  Simon Josefsson  <jas@extundo.com>
87687
87688         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
87689         <fx@gnu.org>.
87690
87691 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
87692
87693         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
87694         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
87695         intprops.h.
87696         * lib/strtol.c: Likewise.
87697
87698 2005-03-14  Jim Meyering  <jim@meyering.net>
87699
87700         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
87701         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
87702         to be nonzero so that we (and caller) can detect the difference
87703         between a valid zero-length expansion and an error return, even
87704         when the underlying strftime fails before writing anything into
87705         that location.
87706
87707 2005-03-14  Bruno Haible  <bruno@clisp.org>
87708
87709         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
87710         Update from GNU gettext 0.14.3.
87711
87712 2005-03-10  Jim Meyering  <jim@meyering.net>
87713
87714         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
87715
87716 2005-03-10  Jim Meyering  <jim@meyering.net>
87717
87718         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
87719         so that this module works on systems without fchdir.
87720
87721 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
87722
87723         Factor int-properties macros into a single file, except for
87724         glibc-related files.
87725         * lib/intprops.h: New file.
87726         * lib/getloadavg.c: Include it instead of limits.h.
87727         (INT_STRLEN_BOUND): Remove.
87728         * lib/human.c: Include intprops.h.
87729         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
87730         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
87731         302/1000.
87732         * lib/inttostr.h: Include intprops.h instead of limits.h.
87733         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
87734         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
87735         for consistency with intprops.h.
87736         (time_t_is_integer, twos_complement_arithmetic): Use them.
87737         * lib/sig2str.h: Include <signal.h>, intprops.h.
87738         (INT_STRLEN_BOUND): Remove.
87739         * lib/strftime.c (TYPE_SIGNED): Remove.
87740         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
87741         * lib/strtol.c: Adjust comments to match intprops.h.
87742         * lib/userspec.c: Include intprops.h.
87743         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
87744         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
87745         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
87746         instead of rolling our own expressions.
87747         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
87748
87749         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
87750         instead of int.
87751         (my_strftime): Do not mishandle years close to INT_MAX, by doing
87752         the right thing even if adding 1900 would overflow.  Similarly
87753         for tm_mon + 1 and tm_yday + 1.
87754         Make %Y always equivalent to %C%y, and similarly for %G and %g.
87755         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
87756         (DO_SIGNED_NUMBER): New macro.
87757         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
87758
87759 2005-03-07  Bruno Haible  <bruno@clisp.org>
87760
87761         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
87762
87763 2005-03-07  Bruno Haible  <bruno@clisp.org>
87764
87765         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
87766
87767 2005-03-04  Derek R. Price  <derek@ximbiot.com>
87768
87769         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
87770         (func_import): Only replace files via --import when they have actually
87771         changed.
87772
87773 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87774
87775         * m4/mmap-anon.m4: New file.
87776         * m4/pagealign_alloc.m4: New file.
87777
87778 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87779             Bruno Haible  <bruno@clisp.org>
87780
87781         * modules/pagealign_alloc: New file.
87782         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
87783
87784 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87785             Bruno Haible  <bruno@clisp.org>
87786
87787         * lib/pagealign_alloc.h: New file.
87788         * lib/pagealign_alloc.c: New file.
87789
87790 2005-03-03  Bruno Haible  <bruno@clisp.org>
87791
87792         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
87793         Use an all-permissive copyright notice, recommended by RMS.
87794
87795 2005-03-02  Bruno Haible  <bruno@clisp.org>
87796
87797         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
87798         of AIX, the replacement has to be done only after <string.h> is
87799         included, therefore not in config.h. stpncpy.h does the replacement,
87800         and stpncpy.c uses it.
87801
87802 2005-03-02  Bruno Haible  <bruno@clisp.org>
87803
87804         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
87805         stpncpy.c uses it.
87806
87807 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87808
87809         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
87810         The workaround isn't strictly needed for POSIX conformance, and
87811         it's too much of a pain to configure and maintain.  We'll ask
87812         people to fix their kernels instead.
87813         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
87814         (NANOSLEEP_BUG_WORKAROUND): Remove.
87815         (xnanosleep): Remove the workaround.
87816
87817 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87818
87819         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
87820         Reported by Derek Price.
87821         (Include): Add "timespec.h".
87822
87823         * modules/xnanosleep (Depends-on): Remove gethrxtime.
87824
87825 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87826
87827         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
87828         to detect nanosleep bug.
87829
87830 2005-03-01  Bruno Haible  <bruno@clisp.org>
87831
87832         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
87833
87834 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
87835
87836         * modules/gethrxtime: New file.
87837         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
87838         (Depends-on): Add gethrxtime.
87839         (configure.ac): Add gl_XNANOSLEEP.
87840         (Makefile.am): Remove lib_SOURCES line.
87841
87842 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
87843
87844         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
87845         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
87846
87847 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
87848
87849         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
87850         * lib/timespec.h (gettime): Return void, since it always
87851         succeeds now.  All uses changed.
87852         * lib/gettime.c (gettime): Likewise.
87853         [HAVE_NANOTIME]: Prefer nanotime.
87854         Assume gettimeofday succeeds, as POSIX requires.
87855         Assime time () succeeds, since other code already does.
87856         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
87857         (timespec_subtract): Remove.
87858         (NANOSLEEP_BUG_WORKAROUND): New constant.
87859         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
87860         things considerably.  Use it only on GNU/Linux hosts, since the
87861         workaround shouldn't be needed elsewhere.
87862
87863 2005-02-24  Bruno Haible  <bruno@clisp.org>
87864
87865         * modules/gettext (Files): Add m4/glibc2.m4.
87866
87867 2005-02-24  Bruno Haible  <bruno@clisp.org>
87868
87869         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
87870         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
87871         * m4/progtest.m4:
87872         Update from GNU gettext 0.14.2.
87873         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
87874
87875 2005-02-24  Bruno Haible  <bruno@clisp.org>
87876
87877         * lib/localcharset.c: Update from GNU gettext 0.14.2.
87878         * lib/config.charset: Update from GNU gettext 0.14.2.
87879
87880 2005-02-24  Bruno Haible  <bruno@clisp.org>
87881
87882         * lib/gettext.h: Update from GNU gettext 0.14.2.
87883
87884 2005-02-23  Simon Josefsson  <jas@extundo.com>
87885
87886         * m4/iconvme.m4: New file.
87887
87888 2005-02-23  Jim Meyering  <jim@meyering.net>
87889
87890         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
87891         change.
87892         Thanks to Bruno Haible for catching it.
87893
87894 2005-02-22  Simon Josefsson  <jas@extundo.com>
87895
87896         * modules/iconvme: New file.
87897
87898         * MODULES.html.sh: Add iconvme.
87899
87900 2005-02-22  Simon Josefsson  <jas@extundo.com>
87901
87902         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
87903
87904 2005-02-22  Simon Josefsson  <jas@extundo.com>
87905
87906         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
87907
87908 2005-02-22  Jim Meyering  <jim@meyering.net>
87909
87910         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
87911         s/ifndef/ifdef/.
87912
87913 2005-02-20  Neil Conway  <neilc@samurai.com>
87914
87915         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
87916         returned by OSX/Darwin if the specified buffer is not large
87917         enough for the hostname.
87918
87919 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87920
87921         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
87922         pass it to _help, otherwise the latter coredumps trying to
87923         dereference state.root_argp.
87924
87925 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87926
87927         * modules/chdir-long (Depends-on): Add memrchr.
87928         * modules/memrchr (Files): Add lib/memrchr.h.
87929         (Include): "memrchr.h".
87930
87931 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87932
87933         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
87934
87935 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87936
87937         * lib/memrchr.h: New file.
87938         * lib/chdir-long.c: Include it.
87939         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
87940         Don't bother including stddef.h.
87941
87942 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
87943
87944         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
87945         inclusion.
87946         Include <sys/types.h>, for dev_t.
87947         (ME_DUMMY, ME_REMOTE): Move from here....
87948         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
87949         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
87950         Dmitry V. Levin.
87951         Include mountlist.h first, to test the interface.
87952
87953 2005-01-29  Bruno Haible  <bruno@clisp.org>
87954
87955         * lib/progname.c (program_name): Initialize.
87956         Needed when linking statically on MacOS X.
87957
87958 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
87959
87960         Sync from coreutils.
87961         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
87962         (Depends-on): Add c-strtod.
87963         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
87964
87965 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
87966
87967         Sync from coreutils.
87968         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
87969
87970         Remove files that are specific to coreutils.
87971         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
87972
87973 2005-01-28  Bruno Haible  <bruno@clisp.org>
87974
87975         * modules/javacomp: New file.
87976         * MODULES.html.sh (Java): Add javacomp.
87977
87978 2005-01-28  Bruno Haible  <bruno@clisp.org>
87979
87980         * m4/javacomp.m4: New file, from GNU gettext.
87981
87982 2005-01-28  Bruno Haible  <bruno@clisp.org>
87983
87984         * lib/javacomp.sh.in: New file, from GNU gettext.
87985         * lib/javacomp.h: New file, from GNU gettext.
87986         * lib/javacomp.c: New file, from GNU gettext.
87987
87988 2005-01-26  Simon Josefsson  <jas@extundo.com>
87989
87990         * lib/gai_strerror.c: Use GPL in header.
87991
87992 2005-01-26  Bruno Haible  <bruno@clisp.org>
87993
87994         * modules/javaexec: New file.
87995         * MODULES.html.sh (Java): Add javaexec.
87996
87997 2005-01-26  Bruno Haible  <bruno@clisp.org>
87998
87999         * m4/javaexec.m4: New file, from GNU gettext.
88000
88001 2005-01-26  Bruno Haible  <bruno@clisp.org>
88002
88003         * lib/javaexec.sh.in: New file, from GNU gettext.
88004         * lib/javaexec.h: New file, from GNU gettext.
88005         * lib/javaexec.c: New file, from GNU gettext.
88006
88007 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88008
88009         * modules/lchown (Depends-on): Remove lchown.h
88010
88011 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88012
88013         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
88014         must be defined if the header file was not found, in order
88015         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
88016
88017 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88018
88019         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
88020         initializers for struct pentry_state.
88021         (__argp_error): Check return value of __asprintf
88022         (__argp_failure): Translate error message
88023
88024         * lib/argp-parse.c: Removed braces around the expansion of N_()
88025
88026 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
88027
88028         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
88029         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
88030         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
88031         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
88032         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
88033         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
88034         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
88035         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
88036         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
88037         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
88038         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
88039         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
88040         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
88041         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
88042         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
88043         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
88044         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
88045         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
88046         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
88047         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
88048         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
88049         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
88050         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
88051         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
88052         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
88053         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
88054         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
88055         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
88056         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
88057         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
88058         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
88059         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
88060         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
88061         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
88062         xstrtol.m4, xstrtoumax.m4, yesno.m4:
88063         Use an all-permissive copyright notice, recommended by RMS.
88064
88065 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
88066
88067         * modules/chdir-long (Depends-on): Remove mempcpy.
88068
88069 2005-01-21  Jim Meyering  <jim@meyering.net>
88070
88071         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
88072         same value as for Solaris 9.
88073
88074         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
88075         component length.  This included changing the parameter to be
88076         of type `char *' rather than `char const *'.
88077         * lib/chdir-long.h (chdir_long): Update prototype.
88078
88079         * lib/openat.c (fdopendir, fstatat): New functions.
88080         * lib/openat.h: Include headers required for use of DIR and struct
88081         stat.
88082         [AT_SYMLINK_NOFOLLOW]: Define.
88083         (fdopendir, fstatat): Add prototypes.
88084
88085 2005-01-21  Bruno Haible  <bruno@clisp.org>
88086
88087         * modules/classpath: New file.
88088         * MODULES.html.sh (Java): Add classpath.
88089
88090 2005-01-21  Bruno Haible  <bruno@clisp.org>
88091
88092         * lib/classpath.h: New file, from GNU gettext.
88093         * lib/classpath.c: New file, from GNU gettext.
88094
88095 2005-01-20  Simon Josefsson  <jas@extundo.com>
88096
88097         * modules/version-etc-fsf: New file.
88098
88099 2005-01-20  Simon Josefsson  <jas@extundo.com>
88100
88101         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
88102         * lib/version-etc.c: Remove version_etc_copyright.
88103         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
88104         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
88105
88106 2005-01-20  Simon Josefsson  <jas@extundo.com>
88107
88108         * lib/base64.h (isbase64): Add.
88109
88110         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
88111         using a unsigned prototype, don't inline.
88112         (base64_decode): Use it.
88113
88114 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88115
88116         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
88117         it.
88118
88119 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88120
88121         * lib/save-cwd.c (save_cwd): Remove code to support the case
88122         where fchdir is missing or flaky.
88123
88124 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88125
88126         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
88127
88128 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
88129
88130         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
88131         AC_LIBSOURCES now does this.
88132         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
88133         with new ullong_max module.
88134
88135 2005-01-19  Bruno Haible  <bruno@clisp.org>
88136
88137         * modules/sh-quote: New file.
88138         * MODULES.html.sh (Executing programs): Add sh-quote.
88139
88140 2005-01-19  Bruno Haible  <bruno@clisp.org>
88141
88142         * lib/sh-quote.h: New file, from GNU gettext.
88143         * lib/sh-quote.c: New file, from GNU gettext.
88144
88145 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88146
88147         Merge from coreutils.
88148         * m4/ullong_max.m4: New file.
88149         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
88150         (gl_MACROS): Assume localeconv exists.
88151
88152 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88153
88154         Merge changes from coreutils, as described below in several
88155         changelogs dated today.
88156
88157         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
88158         (O_DIRECTORY): Remove; not needed here, since "." must be
88159         a directory.  All uses removed.
88160         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
88161         universal on Suns, and we also need to test for IRIX.
88162         Revamp code to use 'if' rather than '#if'.
88163         Avoid unnecessary comparison of cwd->desc to 0.
88164
88165         * lib/utimens.c (futimens): Robustify the previous patch, by checking
88166         for known valid error numbers rather than observed invalid ones.
88167
88168 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88169
88170         * modules/ullong_max: New file.
88171
88172         * modules/chdir-long, modules/openat: New files.
88173         * modules/save-cwd (Depends-on): Depend on chdir-long.
88174         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
88175
88176 2005-01-18  Jim Meyering  <jim@meyering.net>
88177
88178         Merge from coreutils.
88179         * m4/chdir-long.m4, m4/openat.m4: New files.
88180         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
88181         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
88182         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
88183         is sane and DOES follow symlinks.  Besides, testing 20 different
88184         systems found no broken chown implementations.
88185         Prompted by a change in rsync's copy of this macro.
88186         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
88187
88188         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
88189
88190         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
88191         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
88192         NULL-means-set-to-current-time semantics.
88193         Remove temporary file immediately, rather than waiting
88194         for configure's at-exit trap code to do it.
88195
88196 2005-01-18  Jim Meyering  <jim@meyering.net>
88197
88198         * lib/version-etc.c (version_etc_copyright): Update copyright date.
88199
88200         * lib/utimens.c (futimens): Account for the fact that futimes
88201         can also fail with errno == ENOSYS or errno == ENOENT.
88202         Patch from Dmitry V. Levin.
88203
88204         Change the name of the robust chdir function from chdir to chdir_long.
88205         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
88206         (restore_cwd): Use chdir_long, not chdir.
88207         * lib/chdir-long.c: Renamed from chdir.c.
88208         * lib/chdir-long.h: Renamed from chdir.h.
88209         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
88210         Hurd.
88211
88212 2005-01-18  Bruno Haible  <bruno@clisp.org>
88213
88214         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
88215         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
88216         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
88217         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
88218         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
88219         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
88220         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
88221         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
88222         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
88223         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
88224         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
88225         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
88226         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
88227         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
88228         Use an all-permissive copyright notice, recommended by RMS.
88229
88230 2005-01-18  Bob Proulx  <bob@proulx.com>
88231
88232         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
88233         simplify offsetof() macro construct to avoid compile failure with
88234         native HP-UX 11.0 ANSI C compiler.
88235
88236 2005-01-17  Bruno Haible  <bruno@clisp.org>
88237
88238         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
88239         redundant because stpncpy.m4 takes care of it.
88240
88241 2005-01-17  Bruno Haible  <bruno@clisp.org>
88242
88243         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
88244
88245 2005-01-17  Bruno Haible  <bruno@clisp.org>
88246
88247         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
88248         used.
88249
88250 2005-01-17  Bruno Haible  <bruno@clisp.org>
88251
88252         * lib/fwriteerror.h (fwriteerror): Change specification to include
88253         fclose.
88254         * lib/fwriteerror.c: Include <stdbool.h>.
88255         (fwriteerror): At the end, close the file stream. Record whether
88256         stdout was already closed.
88257
88258 2005-01-17  Bruno Haible  <bruno@clisp.org>
88259
88260         * lib/execute.c (environ): Declare if needed.
88261         * lib/pipe.c (environ): Likewise.
88262         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
88263
88264 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88265
88266         * modules/argp: Depend on vsnprintf
88267
88268 2005-01-10  Jim Meyering  <jim@meyering.net>
88269
88270         * modules/closeout (Depends-on): Add atexit.
88271
88272 2005-01-06  Bruno Haible  <bruno@clisp.org>
88273
88274         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
88275
88276 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
88277
88278         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
88279         definitions to be after all include files, to avoid collisions.
88280         Problem reported by Bob Proulx.
88281
88282 2005-01-04  Jim Meyering  <jim@meyering.net>
88283
88284         Changes imported from coreutils.
88285         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
88286         as the mkstemp template, use a temporary directory and an
88287         8.3-friendly template to avoid trouble on systems like DJGPP.
88288         Reported by Juan M. Guerrero via Stepan Kasal.
88289         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
88290         close. Remove the temporary directory right away, rather than waiting
88291         for configure's at-exit trap code to do it.
88292         Suggestion from Stepan Kasal.
88293
88294 2005-01-01  Simon Josefsson  <jas@extundo.com>
88295
88296         * gnulib-tool: Print #include directives when --import'ing.
88297
88298 2004-12-28  Simon Josefsson  <jas@extundo.com>
88299
88300         * tests/test-base64.c: Include required header files.  Remove
88301         unused variables.
88302
88303 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88304
88305         * modules/error (Depends-on): Remove gettext.
88306
88307 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88308
88309         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
88310         not needed.  This removes a dependency on the gettext module.
88311         [defined _LIBC]: Do not include <libintl.h>; not needed.
88312
88313 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88314
88315         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
88316         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
88317
88318 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88319
88320         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
88321         HAVE_DECL_STRTOLD.
88322
88323 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88324
88325         * modules/getdate (Depends-on): Remove alloca-opt.
88326
88327 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88328
88329         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
88330
88331 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88332
88333         * lib/argp-parse.c: Include <stddef.h>.
88334         (alignof, alignto): New macros.
88335         (parser_init): Don't assume that void * is aligned sufficiently
88336         for struct option.
88337
88338         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
88339         need to extend the stack.
88340         (YYINITDEPTH): New macro, so that the initial stack isn't overly
88341         large.
88342
88343 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88344
88345         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
88346
88347 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88348
88349         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
88350         (2004-10-24) change.  Apparently this was a false alarm.
88351
88352         * modules/getdate: Depend on alloca-opt, not alloca.
88353
88354 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88355
88356         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
88357         Remove now-obsolete comment about AIX.
88358         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
88359         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
88360         (YYMAXDEPTH): New macro.
88361
88362 2004-12-18  Simon Josefsson  <jas@extundo.com>
88363
88364         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
88365
88366 2004-12-18  Bruno Haible  <bruno@clisp.org>
88367
88368         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
88369
88370 2004-12-18  Bruno Haible  <bruno@clisp.org>
88371
88372         * lib/fatal-signal.c (fatal_signals): Make non-const.
88373         (init_fatal_signals): New function.
88374         (uninstall_handlers, install_handlers): Ignore signals that were set to
88375         SIG_IGN.
88376         (at_fatal_signal): Call init_fatal_signals.
88377         (init_fatal_signal_set): Likewise. Ignore signals that were set to
88378         SIG_IGN.
88379         Reported by Paul Eggert.
88380
88381 2004-12-18  Bruno Haible  <bruno@clisp.org>
88382
88383         * doc/alloca.texi: New file.
88384         * doc/alloca-opt.texi: New file.
88385
88386 2004-12-17  Jim Meyering  <jim@meyering.net>
88387
88388         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
88389         Otherwise, install-sh could exit with improper exit status when
88390         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
88391
88392 2004-12-16  Simon Josefsson  <jas@extundo.com>
88393
88394         * tests/test-base64.c: Add license.
88395
88396 2004-12-15  Stepan Kasal  <address@hidden>
88397
88398         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
88399
88400 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
88401
88402         * modules/getcwd (Files): Add m4/d-ino.m4.
88403         Suggested by Mark D. Baushke.
88404
88405 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88406
88407         * lib/getdate.y (textint): New member "negative".
88408         (time_zone_hhmm): New function.
88409         Expect 14 shift-reduce conflicts, not 13.
88410         (o_colon_minutes): New rule.
88411         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
88412         (yylex): Set the "negative" member of signed numbers.
88413
88414 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88415
88416         * doc/getdate.texi (Time of day items, Time zone items):
88417         Describe new formats +00:00, UTC+00:00.
88418
88419 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
88420
88421         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
88422         spurious "-l"s.  Problem reported by Stepan Kasal.
88423
88424 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
88425
88426         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
88427         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
88428
88429 2004-12-04  Simon Josefsson  <jas@extundo.com>
88430
88431         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
88432         Vandoorselaere <yoann@prelude-ids.org>.
88433
88434 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88435
88436         Changes imported from coreutils.
88437         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
88438         exist.
88439         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
88440
88441 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88442
88443         Changes imported from coreutils.
88444         * lib/hard-locale.c: Assume <locale.h> exists.
88445         Include "strdup.h".
88446         (GLIBC_VERSION): New macro.
88447         (hard_locale): Assume setlocale exists.
88448         Rewrite to avoid #ifdef.
88449         Use strdup rather than malloc + strcpy.
88450         * lib/human.c: Assume <locale.h> exists.
88451         (human_readable): Assume localeconv exists.
88452
88453 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88454
88455         * modules/hard-locale (Depends-on): Add strdup.
88456
88457 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
88458
88459         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
88460         convert T2, not T.  (Imported from libc.)
88461
88462 2004-11-30  Simon Josefsson  <jas@extundo.com>
88463
88464         * modules/restrict (License): Change to LGPL.
88465
88466 2004-11-30  Simon Josefsson  <jas@extundo.com>
88467
88468         * m4/restrict.m4: Add copyright and copying conditions.
88469
88470 2004-11-30  Simon Josefsson  <jas@extundo.com>
88471
88472         * m4/base64.m4: New file.
88473
88474 2004-11-30  Simon Josefsson  <jas@extundo.com>
88475
88476         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
88477         base64.
88478
88479         * tests/test-base64.c: New file.
88480
88481         * modules/base64: New file.
88482
88483 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88484
88485         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
88486         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
88487
88488         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
88489
88490 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88491
88492         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
88493         (__getcwd.c): Don't restore errno; glibc doesn't.
88494         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
88495         first, falling back to our code only if its results look suspicious.
88496         Ensure that the resulting buffer is only as large as necessary.
88497
88498         * lib/readutmp.c: Include readutmp.h first.
88499         Include <errno.h>, since readutmp.h no longer does that.
88500         * lib/readutmp.h: Don't include <errno.h>,
88501         <sys/param.h>, <time.h>; not needed to establish interface.
88502         (errno): Remove decl.
88503         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
88504         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
88505         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
88506
88507 2004-11-28  Simon Josefsson  <jas@extundo.com>
88508
88509         * lib/base64.h, base64.c: New file.
88510
88511 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
88512
88513         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
88514
88515 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
88516
88517         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
88518         (Depends-on): Remove pathmax, same.  Add mempcpy.
88519         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
88520         (Makefile.am): Append getcwd.h to lib_SOURCES.
88521         (Include): Add getcwd.h.
88522         (Maintainer): Change from Jim Meyering to "all, glibc",
88523         since getdate now uses intended-for-glibc code.
88524         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
88525         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
88526
88527 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88528
88529         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
88530         HP's ANSI C compiler.
88531         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
88532         Declaring int functions causes warnings on some modern systems and
88533         shouldn't be needed to compile on ancient ones.
88534         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
88535         defined.
88536
88537         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
88538         with the following changes.
88539         (__set_errno): Parenthesize properly.
88540         Include <stdbool.h>.
88541         (MIN, MAX, MATCHING_INO): New macros.
88542         (__getcwd): Define with prototype, not K&R form.
88543         Use heuristics to allocate default buffer on stack if possible.
88544         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
88545         behavior, and to avoid the PATH_MAX limit when computing
88546         ../../../../...
88547         Use MATCHING_INO to compare inode number to file.
88548         Check for arithmetic overflow in size calculations.
88549         Fix bug in reallocation of dot array that caused getcwd to fail
88550         on directories nested deeper than 75.
88551         Be more careful about saving errno on error.
88552         Do not use realloc; use only free+malloc, as this is a bit
88553         more flexible and avoids a needless copy operation.
88554         Do not inspect st_dev and st_ino for symbolic links; POSIX
88555         doesn't specify the latter.
88556         Check for closedir errors.
88557         Avoid needless casts.
88558         Use "#ifdef weak_alias" around weak_alias, to be like other
88559         glibc code.
88560         The following changes to getcwd.c have effect only when used in
88561         gnulib; they have no effect inside glibc proper.
88562         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
88563         as alloca isn't used.
88564         (alloca, __alloca): Likewise.
88565         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
88566         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
88567         unconditionally, as gnulib assumes C89 or better.
88568         Do not include <sys/param.h>.
88569         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
88570         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
88571         better.
88572         (NULL) [!defined NULL]: Remove; we assume C89 or better.
88573         Include <dirent.h> in a way that is compatible with modern Autoconf.
88574         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
88575         New macros, if not already defined.
88576         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
88577         Use "_LIBC", not "defined _LIBC", for consistency.
88578         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
88579         a mempcpy module.
88580         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
88581         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
88582         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
88583         credit only to Jim Meyering and adjust the copyright dates.
88584         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
88585         <stdlib.h>, <unistd.h>, "pathmax.h".
88586         Instead, include "xgetcwd.h" (first) and "getcwd.h".
88587         (INITIAL_BUFFER_SIZE): Remove.
88588         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
88589
88590 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88591
88592         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
88593         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
88594         Use the _ONCE methods, for efficiency.
88595         Check for fcntl.h.  In test program, include <errno.h>
88596         and <fcntl.h> if available.  Remove old K&R cruft from
88597         test program.  Check for common errors in GNU/Linux,
88598         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
88599         don't do AC_LIBOBJ, as that's getcwd.m4's job.
88600         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
88601         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
88602         name accordingly.
88603         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
88604         accommodate new getcwd.c.
88605         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
88606         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
88607         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
88608         that's all we need now.
88609
88610 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88611
88612         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
88613         argp-parse.c depends on getopt internals, that means we should
88614         always use our getopt, to be on the safe side.
88615         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
88616         order not to spoil the result of an eventual previous invocation
88617         of gl_GETOPT_SUBSTITUTE.
88618
88619 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88620
88621         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
88622         redefinition warnings. To avoid them, include the defines
88623         in `#if !defined __need_getopt ... #endif'. The only place
88624         where __getopt_argv_const is used is in definitions
88625         of getopt_long and getopt_long_only below, which are as well
88626         protected by `#ifndef __need_getopt'.
88627         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
88628         __need_getopt after including <stdio.h> and <unistd.h> These
88629         headers might have defined it.
88630
88631 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88632
88633         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
88634
88635 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88636
88637         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
88638         (futimens): New function, which uses futimes if available.
88639         (futimens, utimens): Support timespec==NULL, with same semantics
88640         as utime and utimens.
88641         * lib/utimens.h (futimens): New decl.
88642
88643 2004-11-23  Jim Meyering  <jim@meyering.net>
88644
88645         * lib/getopt_.h: Remove trailing blanks.
88646
88647 2004-11-23  Jim Meyering  <jim@meyering.net>
88648
88649         * lib/__fpending.c: Add comment.
88650
88651 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
88652
88653         * modules/canonicalize (Depends-on): Add xreadlink.
88654         Problem reported by James Youngman.
88655
88656 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
88657
88658         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
88659         New macros.
88660         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
88661         optopt): Use them instead of invoking ## directly; otherwise, the
88662         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
88663
88664 2004-11-19  Bruno Haible  <bruno@clisp.org>
88665
88666         * lib/strtok_r.c: Move comments from here...
88667         * lib/strtok_r.h: ... to here.
88668
88669 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
88670
88671         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
88672         implementations that mishandle size_t overflow.
88673
88674 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
88675
88676         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
88677         might fail.  Problem reported by Yoann Vandoorselaere.
88678         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
88679         implementations that mishandle size_t overflow.
88680
88681 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88682
88683         * modules/canon-host (Depends-on): Add strdup.
88684
88685 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88686
88687         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
88688
88689 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88690
88691         * lib/canon-host.c: Include "strdup.h".
88692         (canon_host): Use getaddrinfo if available, so that IPv6 works.
88693         Use strdup instead of malloc/strcpy to duplicate strings.
88694
88695         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
88696         (human_space_before_unit): New constant.
88697         * lib/human.c (human_readable): Support it.
88698
88699         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
88700         (xgetcwd): Set errno correctly when failing.
88701         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
88702         the failure is actually due to a PATH_MAX problem.
88703
88704         Further getopt changes to make it more likely that glibc will
88705         buy the changes back.
88706         * lib/getopt.c (POSIXLY_CORRECT): New constant.
88707         (getopt): Use it, so to preserve glibc semantic
88708         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
88709         when compiling for libc.
88710         * lib/getopt_.h (__getopt_argv_const): Bring it back.
88711         (getopt_long, getopt_long_only): Use it.
88712
88713         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
88714         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
88715         (getopt): Argv is now char * const *, as per standard.
88716         (_getopt_internal_r, _getopt_internal): Argv is now char **,
88717         not char *__getopt_argv_const *.
88718         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
88719         _getopt_long_only_r): Likewise.
88720         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
88721         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
88722         _getopt_long_r, _getopt_long_only_r): Likewise.
88723         * lib/getopt_.h (__getopt_argv_const): Remove.
88724         (getopt): Argv is now char * const *, as per standard.
88725
88726         * lib/getdate.y (tORDINAL): New token.
88727         (day, relunit): Allow it for relative times.
88728         (relative_time_table): Use tORDINAL for ordinals.
88729
88730 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88731
88732         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
88733         Document that "second" isn't allowed as an ordinal number.
88734
88735 2004-11-16  Jim Meyering  <jim@meyering.net>
88736
88737         * modules/closeout (Depends-on): Add fpending.
88738
88739 2004-11-15  Jim Meyering  <jim@meyering.net>
88740
88741         * lib/closeout.c: Include "__fpending.h" once again.
88742         Include <stdbool.h>.
88743         (close_stdout): Don't fail just because stdout was closed initially,
88744         since some programs don't write to stdout in the normal course of
88745         operation (other than --version and --help), and we don't want this
88746         function to make e.g. `touch file >&-' fail.
88747         But do fail if it was closed and someone has tried to write to it.
88748         E.g., `printf foo >&-' must fail.
88749
88750 2004-11-13  Jim Meyering  <jim@meyering.net>
88751
88752         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
88753
88754 2004-11-12  Simon Josefsson  <jas@extundo.com>
88755
88756         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
88757         small doc fix is still pending.
88758
88759 2004-11-11  Simon Josefsson  <jas@extundo.com>
88760
88761         * modules/strtok_r: New file.
88762
88763         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88764         strtok_r.
88765
88766 2004-11-11  Simon Josefsson  <jas@extundo.com>
88767
88768         * m4/strtok_r.m4: New file.
88769
88770         * m4/getopt.m4: Replace opterr.
88771
88772 2004-11-11  Simon Josefsson  <jas@extundo.com>
88773
88774         * lib/strtok_r.h, strtok_r.c: New file.
88775
88776 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
88777
88778         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
88779         of replacing opterr, getopt, etc.  This should handle the
88780         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
88781
88782 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
88783
88784         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
88785         we can stop lying to compilers about the constness of argv when we
88786         are compiled outside glibc.
88787         (getopt, getopt_long, getopt_long_only): Use it.
88788         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
88789         _getopt_internal, getopt): Likewise.
88790         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
88791         _getopt_long_only_r): Likewise.
88792         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
88793         _getopt_long_r, _getopt_long_only_r): Likewise.
88794
88795         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
88796         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
88797         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
88798         the other external symbols.
88799         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
88800         declaration, since the above renaming now works around collisions.
88801
88802 2004-11-11  Jim Meyering  <jim@meyering.net>
88803
88804         * lib/linebreak.c: Remove trailing blanks.
88805         * lib/alloca_.h: Likewise.
88806         * lib/acosl.c: Likewise.
88807         * lib/euidaccess.c: Likewise.
88808         * lib/allocsa.h: Likewise.
88809
88810 2004-11-10  Simon Josefsson  <jas@extundo.com>
88811
88812         * m4/getaddrinfo.m4: New file.
88813
88814 2004-11-10  Simon Josefsson  <jas@extundo.com>
88815
88816         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
88817
88818 2004-11-10  Simon Josefsson  <jas@extundo.com>
88819
88820         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88821         getaddrinfo.
88822
88823         * modules/getaddrinfo: New file.
88824
88825 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
88826
88827         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
88828
88829 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
88830
88831         * lib/mktime.c (SHR): New macro, which is a portable
88832         substitute for >> that should work even on Crays.
88833         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
88834         Problem reported by Mark D. Baushke in
88835         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
88836         * lib/getdate.y (SHR): Likewise.
88837         (tm_diff): Use it.
88838         * lib/strftime.c (SHR): Likewise.
88839         (tm_diff): Use it.
88840         * lib/quotearg.c (struct quoting_options): Use unsigned int for
88841         quote_these_too, so that right shifts are well defined.  All uses
88842         changed.
88843
88844 2004-11-10  Jim Meyering  <jim@meyering.net>
88845
88846         Ensure that no close failure goes unreported.
88847         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
88848         return early when it seems there's nothing to flush.
88849         Don't include __fpending.h.
88850
88851 2004-11-10  Jim Meyering  <jim@meyering.net>
88852
88853         * modules/closeout (Depends-on): Remove fpending.
88854
88855 2004-11-10  Jim Meyering  <jim@meyering.net>
88856
88857         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
88858
88859 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
88860
88861         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
88862         gl_FUNC_STRFTIME.
88863         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
88864         and AC_REQUIRE when possible, to avoid duplicate checks.
88865         Check for <wchar.h>.
88866
88867 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
88868
88869         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
88870
88871 2004-11-09  Bruno Haible  <bruno@clisp.org>
88872
88873         * m4/sockpfaf.m4: New file.
88874
88875 2004-11-05  Bruno Haible  <bruno@clisp.org>
88876
88877         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
88878         Reported by Mark D. Baushke <mdb@cvshome.org>.
88879
88880 2004-11-04  Bruno Haible  <bruno@clisp.org>
88881
88882         2004-09-11  Bruno Haible  <bruno@clisp.org>
88883                 * allocsa.valgrind: New file.
88884         2004-02-06  Bruno Haible  <bruno@clisp.org>
88885                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
88886                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
88887                 Reported by Christopher Seip <chris.seip@hp.com>.
88888
88889 2004-11-04  Bruno Haible  <bruno@clisp.org>
88890
88891         * modules/allocsa (Files): Add lib/allocsa.valgrind.
88892         (Makefile.am): Distribute it.
88893
88894 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
88895
88896         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
88897         with errno == ERANGE if the buffer is too small.
88898         Problem reported by Mark D. Baushke.
88899
88900 2004-11-03  Albert Chin  <china@thewrittenword.com>
88901             Paul Eggert  <eggert@cs.ucla.edu>
88902
88903         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
88904         equivalent, substitute $ac_type for equivalent type rather than
88905         blindly using uint32_t *always* which won't work if uint32_t is not
88906         available.  Define _UINT32_T to work around typedef of uint32_t if
88907         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
88908         2.5.1.
88909
88910 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88911
88912         * m4/jm-macros.m4: Sync from coreutils.
88913         (gl_MACROS): Check for mbrlen, for pathchk.
88914         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
88915
88916 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88917
88918         * lib/xreadlink.c (MAXSIZE): New macro.
88919         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
88920         size does not exceed MAXSIZE.  Avoid cast.
88921         As suggested by Mark D. Baushke in
88922         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
88923         if readlink fails with buffer size just under MAXSIZE, try again
88924         with MAXSIZE.
88925
88926 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88927
88928         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
88929
88930 2004-11-02  Derek R. Price  <derek@ximbiot.com>
88931         and  Paul Eggert  <eggert@cs.ucla.edu>
88932
88933         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
88934         (get_date): Overparenthesize to avoid GCC warning.
88935
88936 2004-11-02  Bruno Haible  <bruno@clisp.org>
88937
88938         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
88939         returns void.
88940
88941 2004-11-02  Bruno Haible  <bruno@clisp.org>
88942
88943         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
88944         function returns void.
88945
88946 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
88947
88948         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
88949         fflush_unlocked, flockfile, funlockfile, funlockfile,
88950         fputs_unlocked, putc_unlocked.
88951
88952 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
88953
88954         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
88955         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
88956         already declared.
88957
88958 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88959
88960         * modules/getdate (Files): Add doc/getdate.texi.
88961         (Depends-on): Add setenv, xalloc.
88962
88963 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88964
88965         * lib/getdate.y: Add support for TZ="foo" within a date string.
88966         Fix some bugs near time_t boundaries.  Reject dates with
88967         out-of-range components, e.g., "Sept 31".
88968         Include <stdlib.h>, "setenv.h", "xalloc.h".
88969         (ISDIGIT_LOCALE): Remove; unused.
88970         Note that the TZ and time functions used here are not reentrant.
88971         (mktime_ok, get_tz): New functions.
88972         (TZBUFSIZE): New constant.
88973         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
88974         This requires that we sometimes generate our own TZ="XXX..." setting.
88975
88976 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88977
88978         * doc/getdate.texi: New file, from coreutils with modifications for
88979         the new TZ parsing.
88980
88981 2004-10-27  Derek R. Price  <derek@ximbiot.com>
88982
88983         * lib/mktime.c (not_equal_tm): Remove redundant check.
88984
88985 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
88986
88987         * modules/regex (lib_SOURCES): Add regex.c.
88988         Reported by James Youngman in
88989         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
88990
88991 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
88992
88993         * lib/getdate.y: Use Bison 1.875 features, and some minor
88994         code cleanups.  This change does not affect semantics.
88995         Don't include <stdlib.h>; no longer needed.
88996         Don't include unlocked-io.h; only the "#if TEST" code uses
88997         stdio, and performance isn't crucial there.
88998         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
88999         Bison 1.875 features as described below.
89000         All uses of "PC." replaced by "pc->".
89001         (YYSTYPE): Add a forward declaration.
89002         (yylex, yyerror): Use full prototypes in forward decls.
89003         Use "%pure-parser" rather than obsolescent "%pure_parser".
89004         Use %parse-param and %lex-param instead of obsolescent
89005         YYPARSE_PARAM and YYLEX_PARAM.
89006         (meridian_table, month_and_day_table, time_units_table,
89007         relative_time_table, time_zone_table, military_table,
89008         lookup_zone, lookup_word, get_date):
89009         Use NULL instead of 0 where appropriate.
89010         (to_hour): Avoid abort (), to avoid a dependency on
89011         stdlib.h.
89012         (yyerror, yylex): Now accepts parser_control * arg.
89013         (main) [TEST]: Use '\0' rather than 0 for char.
89014
89015 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
89016
89017         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
89018
89019 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
89020
89021         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
89022         It's now the caller's responsibility to handle the case where
89023         !HAVE_GETPAGESIZE && !defined getpagesize.
89024
89025         * lib/mktime.c (leapyear): Arg is long int, not int.
89026
89027 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
89028
89029         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
89030
89031 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
89032
89033         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
89034         missing.  Problem reported by James Youngman.
89035
89036 2004-10-16  Simon Josefsson  <jas@extundo.com>
89037
89038         * gnulib-tool: Fix comments.  Fix parse problem.
89039         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
89040
89041 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
89042
89043         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
89044         implementation of getopt_long.  Problem reported by Alexander Taler in:
89045         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
89046
89047 2004-10-15  Bruno Haible  <bruno@clisp.org>
89048
89049         * gnulib-tool: Untabify. Initialize supplied_libname.
89050         (func_usage): More homogenous output.
89051         (func_modules_transitive_closure, func_modules_to_filelist,
89052         func_emit_lib_Makefile_am): New functions.
89053         (func_import): New function, extracted from big case statement. Use
89054         func_get_license, func_modules_transitive_closure,
89055         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
89056         opt_lgpl. Don't use test -a, as it's not portable.
89057         (func_create_testdir): Use func_modules_transitive_closure,
89058         func_modules_to_filelist, func_emit_lib_Makefile_am.
89059
89060 2004-10-15  Bruno Haible  <bruno@clisp.org>
89061
89062         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
89063
89064 2004-10-15  Bruno Haible  <bruno@clisp.org>
89065
89066         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
89067         the portions belonging to each module.
89068         Suggested by Derek Robert Price <derek@ximbiot.com>.
89069
89070 2004-10-12  Simon Josefsson  <jas@extundo.com>
89071
89072         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
89073         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
89074         to real functions.
89075
89076 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89077
89078         * modules/vsnprintf: New file.
89079
89080 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89081
89082         * m4/vsnprintf.m4: New file.
89083
89084 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89085
89086         * lib/vsnprintf.h: New file.
89087         * lib/vsnprintf.c: New file.
89088
89089 2004-10-11  Bruno Haible  <bruno@clisp.org>
89090
89091         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
89092         vsnprintf.
89093
89094 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
89095
89096         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
89097
89098 2004-10-07  Bruno Haible  <bruno@clisp.org>
89099
89100         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
89101         fits into the provided buffer.
89102
89103 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
89104
89105         * lib/diacrit.c, diacrit.h: Add GPL notice.
89106
89107         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
89108         notice.
89109         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
89110         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
89111         This avoids a potential constant-folding bug.
89112
89113 2004-10-05  Bruno Haible  <bruno@clisp.org>
89114
89115         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
89116         for the declaration of strsep.
89117
89118 2004-10-05  Bruno Haible  <bruno@clisp.org>
89119
89120         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
89121
89122 2004-10-04  Simon Josefsson  <jas@extundo.com>
89123
89124         * modules/memmem: New file.
89125         * tests/test-memmem.c: New file.
89126         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
89127
89128 2004-10-04  Simon Josefsson  <jas@extundo.com>
89129
89130         * m4/memmem.m4: New file.
89131
89132 2004-10-04  Simon Josefsson  <jas@extundo.com>
89133
89134         * lib/memmem.h: New file.
89135         * lib/memmem.c: New file, taken from glibc.
89136
89137 2004-10-04  Simon Josefsson  <jas@extundo.com>
89138
89139         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
89140         '#ifdef USE_UNLOCKED_IO'.
89141
89142 2004-10-04  Simon Josefsson  <jas@extundo.com>
89143
89144         * config/srclist.txt: Add memmem from glibc.
89145
89146 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89147
89148         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
89149
89150         * modules/argmatch, modules/argp, modules/closeout, modules/error,
89151         modules/exclude, modules/getdate, modules/getline,
89152         modules/getndelim2, modules/getpass, modules/getpass-gnu,
89153         modules/getusershell, modules/linebuffer, modules/md5,
89154         modules/mountlist, modules/posixtm, modules/readtokens,
89155         modules/readutmp, modules/regex, modules/sha1,
89156         modules/version-etc, modules/yesno:
89157         Remove dependency on unlocked-io.
89158
89159 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89160
89161         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
89162
89163         * m4/unlocked-io.m4: Add copyright notice.
89164         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
89165
89166 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89167
89168         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
89169         * lib/xmalloc.c (xmemdup): Likewise.
89170         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
89171         XFREE): Remove these long-obsolescent macros.
89172         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
89173         * lib/xstrdup.c: Remove.
89174
89175         * lib/regex.c (re_comp): Cast gettext return value to char *,
89176         Problem reported by Martin Neitzel via Mark D. Baushke.
89177
89178 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89179
89180         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
89181         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
89182         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
89183         regex.c, sha1.c, version-etc.c, yesno.c:
89184         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
89185         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
89186         the includer's responsibility.
89187
89188         Sync from coreutils.
89189
89190         * lib/modechange.c (mode_compile): Don't decrement a pointer that
89191         points to the start of a string, as the C Standard says the
89192         resulting behavior is undefined.
89193
89194         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
89195         simple -> simple_backups, numbered_existing ->
89196         numbered_existing_backups, numbered -> numbered_backups
89197         to avoid shadowing problems.  All uses changed.
89198         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
89199         * lib/backupfile.c (check_extension, numbered_backup):
89200         Rename locals to avoid shadowing 'basename'.
89201         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
89202         once.
89203
89204         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
89205         * lib/.cvsignore: Add getopt.h.
89206
89207 2004-10-04  Bruno Haible  <bruno@clisp.org>
89208
89209         * modules/README: New file.
89210         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
89211         not a module.
89212
89213 2004-10-02  Jim Meyering  <jim@meyering.net>
89214
89215         * lib/dirfd.h, getpagesize.h: Add copyright notice.
89216
89217 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89218
89219         * modules/strsep: New file.
89220
89221 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89222
89223         * m4/strsep.m4: New file.
89224
89225 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89226
89227         * lib/strsep.h: New file.
89228         * lib/strsep.c: New file.
89229
89230 2004-10-01  Simon Josefsson  <jas@extundo.com>
89231
89232         * lib/snprintf.c (snprintf): Handle size==0.
89233
89234 2004-10-01  Simon Josefsson  <jas@extundo.com>
89235             Bruno Haible  <bruno@clisp.org>
89236
89237         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
89238         (snprintf): Declare 'args'.
89239
89240 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
89241
89242         * lib/snprintf.c: Remove comments as to why each header is needed.
89243
89244 2004-10-01  Bruno Haible  <bruno@clisp.org>
89245
89246         * MODULES.html.sh: Add strsep.
89247
89248 2004-09-30  Simon Josefsson  <jas@extundo.com>
89249
89250         * modules/snprintf: New file.
89251
89252 2004-09-30  Simon Josefsson  <jas@extundo.com>
89253
89254         * m4/snprintf.m4: New file.
89255
89256 2004-09-30  Simon Josefsson  <jas@extundo.com>
89257
89258         * lib/snprintf.h, lib/snprintf.c: New files.
89259
89260 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89261
89262         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
89263         (hol_entry_help): Never translate an empty string.
89264         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
89265         * lib/argp.h (OPTION_NO_TRANS): New option.
89266
89267 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89268
89269         * modules/argp (Maintainer): Replace Simon Josefsson
89270         by Sergey Poznyakoff.
89271
89272 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89273
89274         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
89275         changes merged back into glibc.
89276
89277 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89278
89279         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
89280
89281 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
89282
89283         * lib/xvasprintf.c: Include xalloc.h.
89284         (xvasprintf): Use xalloc_die, not xmalloc_die.
89285
89286 2004-09-29  Bruno Haible  <bruno@clisp.org>
89287
89288         * modules/alloca-opt: New file, derived from modules/alloca.
89289         * modules/allocsa: Depend on alloca-opt instead of alloca.
89290         * modules/setenv: Likewise.
89291         * modules/vasnprintf: Likewise.
89292         * MODULES.html.sh: Add alloca-opt.
89293
89294 2004-09-28  Simon Josefsson  <jas@extundo.com>
89295
89296         * gnulib-tool: New parameter --lgpl, to asseert that modules are
89297         LGPL, and to replace license template from GPL to LGPL.
89298
89299 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89300
89301         * modules/dummy: Change license to LGPL.
89302
89303 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89304
89305         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
89306
89307 2004-09-24  Simon Josefsson  <jas@extundo.com>
89308
89309         * modules/minmax (License): Change from GPL to LGPL.
89310
89311 2004-09-23  Simon Josefsson  <jas@extundo.com>
89312
89313         * gnulib-tool (--import): Typo.
89314
89315 2004-09-23  Simon Josefsson  <jas@extundo.com>
89316
89317         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
89318
89319 2004-09-22  Bruno Haible  <bruno@clisp.org>
89320
89321         * modules/*: Add 'License' field.
89322         * gnulib-tool: Accept --extract-license option.
89323         (func_get_license): New function.
89324
89325 2004-09-21  Bruno Haible  <bruno@clisp.org>
89326
89327         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
89328         Reported by Simon Josefsson.
89329
89330 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89331
89332         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
89333         gl_AC_TYPE_LONG_LONG.
89334
89335 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89336
89337         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
89338
89339 2004-09-18  Simon Josefsson  <jas@extundo.com>
89340         and  Paul Eggert  <eggert@cs.ucla.edu>
89341
89342         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
89343         calls with autoreconf.  Define GL_LIB.
89344
89345 2004-09-14  Karl Berry  <karl@gnu.org>
89346
89347         * config/srclist.txt: unsync setenv.c, sigh.
89348
89349 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89350
89351         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
89352         Problem reported by Bruno Haible in:
89353         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
89354
89355 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89356
89357         * config/srclist.txt: Comment out argp-pvh.c.
89358
89359 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
89360
89361         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
89362         in case some system header has #define'd it.  Problem reported by
89363         Soeren D. Schulze in
89364         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
89365
89366 2004-09-09  Karl Berry  <karl@gnu.org>
89367
89368         * regex.[ch]: delete from the root.  These were supposed to be
89369                 synced with emacs cvs, but this has not happened for about
89370                 a year, and anyway nothing else uses emacs regex.[ch].
89371                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
89372                 lib/regex[.ch] is untouched.
89373
89374 2004-09-09  Bruno Haible  <bruno@clisp.org>
89375
89376         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
89377
89378 2004-09-09  Bruno Haible  <bruno@clisp.org>
89379
89380         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
89381         modifications.
89382         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
89383
89384 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89385
89386         * modules/xvasprintf: New file.
89387         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
89388
89389 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89390
89391         * lib/xvasprintf.h: New file.
89392         * lib/xvasprintf.c: New file.
89393         * lib/xasprintf.c: New file.
89394
89395 2004-09-08  Bruno Haible  <bruno@clisp.org>
89396
89397         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
89398
89399 2004-09-08  Bruno Haible  <bruno@clisp.org>
89400
89401         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
89402         length is > INT_MAX.
89403         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
89404         more.
89405
89406 2004-09-08  Bruno Haible  <bruno@clisp.org>
89407
89408         * lib/stdint_.h: New file, taken from GNU clisp.
89409
89410 2004-09-08  Bruno Haible  <bruno@clisp.org>
89411             Oskar Liljeblad  <oskar@osk.mine.nu>
89412
89413         * modules/stdint: New file.
89414         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
89415
89416 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89417
89418         Import from coreutils.
89419         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
89420         strings on unbounded length.  alloca's performance benefits aren't
89421         that important here.
89422         (V_STRDUP): Remove.
89423         (parse_with_separator): New function, with most of the internals
89424         of the old parse_user_spec.  Allow user to omit both user and group,
89425         for compatibility with FreeBSD.
89426         Clone only the user name, not the entire spec.
89427         Do not set *uid, *gid unless entirely successful.
89428         Avoid memory leak in some failing cases.
89429         Fix regression for USER.GROUP reported by Dmitry V. Levin in
89430         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
89431         (parse_user_spec): Rewrite to use parse_with_separator.
89432
89433 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89434
89435         * modules/userspec: Don't depend on alloca.
89436
89437 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89438
89439         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
89440
89441 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
89442
89443         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
89444         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
89445         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
89446
89447 2004-08-16  Simon Josefsson  <jas@extundo.com>
89448
89449         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
89450         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
89451         Add --dry-run for --import.
89452         Let user provided command line parameters override configure.ac
89453         settings.
89454
89455 2004-08-12  Simon Josefsson  <jas@extundo.com>
89456
89457         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
89458         as discussed with Paul Eggert in threads rooted at
89459         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
89460         and
89461         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
89462         Before, the test was empty, and relied on ELIDE_CODE in source
89463         code.)
89464         (gl_PREREQ_GETOPT): New macro.
89465         (gl_GETOPT): Use them.
89466
89467 2004-08-12  Simon Josefsson  <jas@extundo.com>
89468
89469         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
89470         * lib/getopt_.h: Renamed from getopt.h.
89471
89472 2004-08-12  Simon Josefsson  <jas@extundo.com>
89473
89474         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
89475         Change default library name from libfoo to libgnu.
89476         Now, if you have a configure.ac that says:
89477                 gl_SOURCE_BASE(gl)
89478                 gl_M4_BASE(gl/m4)
89479                 gl_MODULES(error getopt etcetera)
89480                 gl_INIT
89481         you can import all you need by running:
89482                 ../gnulib/gnulib-tool --import
89483
89484         * modules/getopt (Files): Rename getopt.h to getopt_.h.
89485         (Makefile.am): Rewrite, use logic from argz.
89486         (Include): Use <getopt.h> instead of "getopt.h".
89487
89488 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89489
89490         * modules/argp (Files): Add m4/unlocked-io.m4.
89491         (Depends-on): Add extensions.
89492
89493 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89494
89495         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
89496         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
89497         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
89498         Check for program_invocation_name, program_invocation_short_name,
89499         flockfile, funlockfile, features.h, _getopt_long_only_r.
89500
89501 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89502
89503         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
89504         its complicated substitute.
89505         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
89506         and program_invocation_name.
89507         (__argp_basename) [!_LIBC]: Remove; the only use was
89508         replaced by its body.
89509         (__argp_short_program_name): Change condition from
89510         !defined __argp_short_program_name to
89511         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
89512         to match argp-namefrob.h.
89513         (__argp_failure): Don't assume strerror_r returns char *.
89514         * lib/argp-parse.c (N_): Define unconditionally.
89515         (argp_default_options): Fill out initializers with 0 to avoid
89516         gcc warnings.
89517
89518 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89519
89520         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
89521         getopt1.c.
89522
89523 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89524
89525         Merge from coreutils.
89526
89527         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
89528
89529         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
89530         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
89531
89532 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89533
89534         Merge from coreutils.
89535
89536         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
89537         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
89538         for Reliant Unix 5.43.
89539
89540         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
89541         (union fooround): Use uintmax_t, not long int.
89542         The rest is a merge from libc:
89543         [defined _LIBC]: Include <shlib-compat.h>.
89544         (_obstack) [defined _LIBC]: Remove after 2.3.4.
89545
89546         * lib/settime.c (settime): Recode to avoid warning with
89547         Sun Forte C 6U2.
89548
89549         * lib/strverscmp.c: Convert to UTF-8.
89550
89551 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89552
89553         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
89554         m4/uintmax_t.m4.
89555
89556 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89557
89558         * modules/xalloc-die: New file.
89559         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
89560
89561         * modules/md5 (Files): Add m4/uint32_t.m4.
89562         * modules/sha1: Renamed from modules/sha.
89563         (Files):
89564         Rename lib/sha.h to lib/sha1.h.
89565         Rename lib/sha.c to lib/sha1.c.
89566         Rename m4/sha.m4 to m4/sha1.m4.
89567         (lib_SOURCES): Likewise.
89568         (configure.ac): Rename gl_SHA to gl_SHA1.
89569         (Include): sha.h -> sha1.h.
89570
89571 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89572
89573         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
89574         * m4/sha1.m4: Renamed from sha.m4.
89575         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
89576
89577 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89578
89579         * lib/obstack.h (obstack_empty_p):
89580         Don't assume that chunk->contents is suitably aligned.
89581         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
89582         Likewise. Problem reported by Benno in
89583         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
89584
89585         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
89586         readable.  This could be improved further but it'd take some work.
89587
89588 2004-08-08  Simon Josefsson  <jas@extundo.com>
89589
89590         * modules/xgethostname (Depends-on): Remove exit and error (not
89591         used).
89592
89593         * modules/getpass-gnu: Add getpass.h.
89594         (Depends-on): Add stdbool.
89595         * modules/getpass: Add getpass.h.
89596
89597 2004-08-08  Simon Josefsson  <jas@extundo.com>
89598
89599         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
89600         Check getpass declaration.
89601
89602 2004-08-08  Simon Josefsson  <jas@extundo.com>
89603
89604         * lib/xgethostname.c: Don't include error.h (not used).
89605
89606         * lib/getpass.h: Add.
89607         * lib/getpass.c: Include getpass.h first.
89608
89609 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
89610
89611         * lib/xalloc-die.c: New file.
89612         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
89613         All uses removed.
89614         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
89615         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
89616         xalloc-die.c.
89617         (_, N_, xalloc_die): Move to xalloc-die.c.
89618         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
89619         so that we needn't mess with xalloc_msg_memory_exhausted.
89620
89621         * lib/sha1.h: Renamed from sha.h.
89622         (SHA1_H): Renamed from _SHA_H.
89623         (sha1_ctx): Renamed from sha_ctx.
89624         (sha1_init_ctx): Renamed from sha_init_ctx.
89625         (sha1_process_block): Renamed from sha_process_block.
89626         (sha1_process_bytes): Renamed from sha_process_bytes.
89627         (sha1_finish_ctx): Renamed from sha_finish_ctx.
89628         (sha1_read_ctx): Renamed from sha_read_ctx.
89629         (sha1_stream): Renamed from sha_stream.
89630         (sha1_buffer): Renamed from sha_buffer.
89631         * lib/sha1.c: Likewise; renamed from sha.c.
89632         Do not include <sys/types.h>.
89633         Include <stddef.h> rather than <stdlib.h>.
89634
89635 2004-08-08  Bruno Haible  <bruno@clisp.org>
89636
89637         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
89638         FILESYSTEM_PREFIX_LEN.
89639         * lib/progreloc.c: Likewise.
89640         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
89641
89642 2004-08-06  Simon Josefsson  <jas@extundo.com>
89643
89644         * modules/progname (Depends-on): Don't depend on stdbool.
89645
89646 2004-08-06  Simon Josefsson  <jas@extundo.com>
89647
89648         * modules/getsubopt: New file.
89649         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89650         getsubopt.
89651
89652 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89653
89654         More merge from coreutils.
89655
89656         * m4/utimens.m4, m4/utimecmp.m4: New files.
89657         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
89658         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
89659         prereq.m4, sha.m4: Import changes from coreutils.
89660
89661 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89662
89663         More merge from coreutils.
89664         * modules/raise, modules/readtokens0, modules/utimens:
89665         * modules/utimecmp, module/xnanosleep: New files.
89666         * modules/strftime: Add lib/strftime.h.
89667         Change include from <time.h> to "strftime.h".
89668         * modules/yesno: Add lib/yesno.h.
89669         * modules/backupfile: Remove lib/addext.c.
89670         * modules/euidaccess: Add stat-macros.h.
89671         * modules/canonicalize, modules/euidaccess,
89672         modules/filemode, modules/lchown, modules/makepath,
89673         modules/rmdir, modules/stat: Likewise.
89674
89675 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89676
89677         Merge from tar.
89678         * lib/argp-help.c (make_hol, hol_append): Don't assume that
89679         SIZE_MAX is a valid preprocessor constant.
89680         (__argp_basename): Change from "#ifndef _LIBC"
89681         to "#ifndef __argp_short_program_name", so that
89682         we don't compile these functions for tar.
89683
89684         More merges from coreutils.
89685         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
89686         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
89687         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
89688         * lib/addext.c: Remove; no longer needed.
89689         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
89690         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
89691         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
89692         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
89693         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
89694         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
89695         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
89696         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
89697         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
89698         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
89699         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
89700         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
89701         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
89702         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
89703         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
89704         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
89705         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
89706         Import changes from coreutils.
89707
89708 2004-08-05  Simon Josefsson  <jas@extundo.com>
89709
89710         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
89711
89712 2004-08-05  Simon Josefsson  <jas@extundo.com>
89713
89714         * m4/getsubopt.m4: New file.
89715
89716 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89717
89718         Merge from coreutils.
89719
89720         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
89721         * m4/getcwd-path-max.m4: New files.
89722
89723         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
89724         FILESYSTEM_PREFIX_LEN ->
89725         FILE_SYSTEM_PREFIX_LEN.
89726         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
89727         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
89728         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
89729         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
89730
89731         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
89732         prerequisite modules now handle the DOS stuff.
89733         Don't check for unistd.h.
89734
89735 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89736
89737         Merge from coreutils.
89738
89739         * lib/.gdb-history: Remove; this doesn't belong here.
89740
89741         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
89742         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
89743         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
89744         * lib/getcwd.c: New files.
89745
89746         * lib/dirname.h: Include <stdbool.h>.
89747         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
89748         for consistency with POSIX terminology.  All uses changed.
89749         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
89750         (strip_trailing_slashes): Use bool for booleans.
89751         * lib/stripslash.c (strip_trailing_slashes): Likewise.
89752
89753         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
89754         sometimes returns a positive errno value even when it succeeds.
89755         (print_errno_message) [!LIBC]: Fall back on strerror if
89756         __strerror_r fails.
89757
89758         * lib/path-concat.c (mempcpy): Don't define if a system header defines
89759         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
89760         (longest_relative_suffix): New function.
89761         (path_concat): Use it.  Assume first argument is not NULL.
89762         Port to DOS.  Omit redundant separators.
89763         Report an error instead of returning NULL.
89764         Use mempcpy instead of memcpy.
89765         (xpath_concat): Remove: not declared or used.
89766
89767         * lib/same.h: Include <stdbool.h>
89768         (same_name): Return bool, not int.
89769         * lib/same.c (same_name): Likewise.
89770         (errno): Don't declare; we assume C89 or better now.
89771
89772         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
89773         if not already defined.
89774
89775         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
89776         * lib/dup-safer.c (errno): Likewise.
89777
89778 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89779
89780         Merge from coreutils.
89781         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
89782         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
89783         * modules/path-concat: Don't depend on strdup.
89784
89785 2004-08-03  Simon Josefsson  <jas@extundo.com>
89786
89787         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
89788         * lib/progname.h: Don't include stdbool.h.
89789
89790 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89791
89792         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
89793         * MODULES.html.sh (func_all_modules): Remove fatal.
89794
89795 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89796
89797         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
89798
89799 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89800
89801         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
89802         working.
89803
89804 2004-08-02  Simon Josefsson  <jas@extundo.com>
89805
89806         * lib/getsubopt.h: New file, with comments from Bruno Haible.
89807         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
89808         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
89809
89810 2004-08-01  Simon Josefsson  <jas@extundo.com>
89811
89812         * lib/xgetdomainname.c: Include stdlib.h, for free().
89813
89814 2004-07-19  Bruno Haible  <bruno@clisp.org>
89815
89816         * MODULES.html.sh (func_all_modules): Add dummy.
89817
89818 2004-07-16  Simon Josefsson  <jas@extundo.com>
89819
89820         * modules/dummy: New file.
89821
89822 2004-07-16  Simon Josefsson  <jas@extundo.com>
89823
89824         * lib/dummy.c: New file.
89825
89826 2004-07-16  Bruno Haible  <bruno@clisp.org>
89827
89828         * lib/backupfile.h: Add extern "C" for C++.
89829         * lib/closeout.h: Likewise.
89830         * lib/copy-file.h: Likewise.
89831         * lib/findprog.h: Likewise.
89832         * lib/full-write.h: Likewise.
89833         * lib/pathname.h: Likewise.
89834         * lib/progname.h: Likewise.
89835         * lib/stpcpy.h: Likewise.
89836         * lib/stpncpy.h: Likewise.
89837         * lib/strcase.h: Likewise.
89838         * lib/strstr.h: Likewise.
89839         * lib/xalloc.h: Likewise.
89840
89841         * lib/mbswidth.h: Add extern "C" for C++.
89842         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
89843
89844 2004-07-13  Robert Millan  <robertmh@gnu.org>
89845
89846         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
89847
89848 2004-07-09  Simon Josefsson  <jas@extundo.com>
89849
89850         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
89851         failed without this.)
89852
89853 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
89854
89855         * modules/chown (Files): Add lib/fchown-stub.c, since
89856         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
89857
89858 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
89859
89860         * lib/fchown-stub.c: New file.
89861
89862 2004-06-24  Jim Meyering  <jim@meyering.net>
89863
89864         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
89865
89866 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89867
89868         * modules/argz: Omit "#include".
89869
89870         * MODULES.html.sh (func_all_modules): Add calloc, to match
89871         2004-06-01 addition of calloc module.
89872
89873 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89874
89875         * m4/argz.m4: New file, which is autoupdated from libtool.
89876
89877 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89878
89879         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
89880         libtool.
89881
89882 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89883
89884         * config/srclist-update: Don't insist on "USA." before the
89885         close-comment, as libtool omits the period and puts the */ on a
89886         separate line.
89887         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
89888         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
89889
89890 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
89891
89892         * modules/argz: New file.
89893         * MODULES.html.sh (func_all_modules): Add argz.
89894
89895 2004-06-12  Jim Meyering  <jim@meyering.net>
89896         and  Paul Eggert  <eggert@cs.ucla.edu>
89897
89898         * modules/hash (Files): Add lib/xalloc.h.
89899         * modules/pipe (Depends-on): Add wait-process.
89900         * modules/stat (Depends-on): Add xalloc.
89901         * modules/userspec (Files): Add lib/userspec.h.
89902         * modules/xstrto
89903
89904         Upgrade from gettext-0.13.
89905         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
89906         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
89907         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
89908
89909 2004-06-10  Jim Meyering  <jim@meyering.net>
89910
89911         * lib/calloc.c: New file.
89912
89913 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
89914
89915         * lib/getdate.y (yylex): Allow space between sign and number.
89916         Problem reported by Dan Jacobson.
89917
89918 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
89919
89920         Merge from coreutils CVS.
89921
89922         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
89923         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
89924         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
89925         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
89926         xstrtol.m4: Fix copyright date and/or serial number.
89927
89928         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
89929         See if we need an fchown replacement.
89930         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
89931         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
89932         and use the replacement function if we detect either defect.
89933
89934         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
89935         gl_UTIMECMP.
89936
89937 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
89938         and  Jim Meyering  <jim@meyering.net>
89939
89940         Merge from coreutils CVS.
89941
89942         * lib/stat-macros.h: New file, with contents from file-type.h
89943         and coreutils' system.h.
89944         * lib/file-type.c: Include "stat-macros.h".
89945         * lib/file-type.h (file_type): Move all macro definitions to new file,
89946         stat-macros.h.
89947
89948         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
89949         Wrap old code with this conditional.
89950         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
89951         function that does not dereference symlinks.
89952         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
89953
89954         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
89955         dependency problems.
89956         (xreadlink): Accept new arg SIZE, for efficiency.
89957         All decls and uses changed.
89958         * lib/xreadlink.h: Include <stddef.h>, for size_t.
89959
89960         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
89961         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
89962
89963         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
89964         sysexits.h.
89965
89966 2004-06-01  Jim Meyering  <jim@meyering.net>
89967
89968         * m4/calloc.m4: New file.
89969
89970 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
89971
89972         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
89973         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
89974         Also, fix a typo in a diagnostic.
89975
89976 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
89977
89978         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
89979         or AC_FUNC_REALLOC.
89980
89981 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
89982
89983         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
89984         macros to be defined.
89985         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
89986         the allocator returns NULL because the requested size is zero.
89987
89988 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
89989
89990         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
89991         var.  Add comment explaining why libc still defines it.  This
89992         merges the following patch from glibc:
89993         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
89994
89995 2004-05-20  Andreas Schwab  <schwab@suse.de>
89996
89997         * m4/free.m4: Replace free if it not known to work, not the other
89998         way round.
89999
90000 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
90001
90002         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
90003         present in glibc since revision 1.1 of this file.
90004         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
90005         obstack_alignment_mask, obstack_alloc, obstack_base,
90006         obstack_blank, obstack_blank_fast, obstack_chunk_size,
90007         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
90008         obstack_grow0, obstack_init, obstack_int_grow,
90009         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
90010         obstack_next_free, obstack_object_size, obstack_ptr_grow,
90011         obstack_ptr_grow_fast, obstack_room): Remove declarations of
90012         nonexistent functions.
90013
90014 2004-05-18  Karl Berry  <karl@gnu.org>
90015
90016         * config/srclist.txt: break link for vasnprintf.c.
90017
90018 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
90019
90020         Port obstack to the AS/400, where pointers are 16 bytes wide and
90021         you cannot cast an integer to a valid pointer.  This patch is
90022         currently waiting to be integrated into glibc; see
90023         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
90024
90025         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
90026         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
90027         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
90028         (struct obstack): temp member is now a union of a pointer and
90029         an integer, instead of an integer.  All integer uses changed.
90030         This does not affect the physical layout of struct obstack,
90031         except on hosts (like the AS/400) where the size or alignment of
90032         void * is greater than that of ptrdiff_t.
90033         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
90034         __STDC__)]: Store temporary in pointer member of union, not
90035         integer member.
90036         * lib/obstack.c: Include <stddef.h>, for offsetof.
90037         (struct fooalign): Remove; it doesn't need a name.
90038         (union fooround): Change double to long double, and add void *.
90039         (DEFAULT_ALIGNMENT): Use offsetof to compute.
90040         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
90041         not a macro.  Hence the values are always int; so remove all
90042         casts-to-int in uses.
90043
90044 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
90045
90046         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
90047         we can get this patch merged into glibc.
90048
90049 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90050             Paul Eggert  <eggert@cs.ucla.edu>
90051
90052         * m4/argp: Depend on alloca.
90053
90054 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90055             Paul Eggert  <eggert@cs.ucla.edu>
90056
90057         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
90058         freecoding.
90059
90060 2004-05-17  Bruno Haible  <bruno@clisp.org>
90061
90062         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
90063         precision that consists of a '.' followed by an empty digit string.
90064         Patch by Tor Lillqvist <tml@iki.fi>.
90065
90066 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90067
90068         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
90069         for backward compatibility with older code.  We need our own
90070         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
90071         it under some other name, and our alloca.h will define it.
90072
90073 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90074             Derek Price  <derek@ximbiot.com>
90075
90076         * lib/alloca.c: Include <alloca.h>, to get our interface.
90077         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
90078         include <alloca.h> first.  Use C89 prototype for alloca; this
90079         requires including <stddef.h> for size_t.  Use extern "C" if C++.
90080         Use #elif for simplicity, since we can assume C89 now.
90081         Don't try to source the system alloca.h since it will not be found
90082         and to prevent recursively including its replacement.
90083         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
90084         * lib/regex.c: Likewise.
90085
90086 2004-05-16  Derek Price  <derek@ximbiot.com>
90087             Paul Eggert  <eggert@cs.ucla.edu>
90088
90089         getline cleanup.  This changes the getndelim2 API: both order of
90090         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
90091         no delimiter).
90092
90093         * lib/getline.c: Don't include stddef.h or stdio.h, since our
90094         interface does that.
90095         (getline): Always use getdelim, so that we don't have two
90096         copies of this code.
90097         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
90098         if available.
90099         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
90100         (GETNDELIM2_MAXIMUM): New macro.
90101         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
90102         instead of the old practice of delim2==0.  All callers changed.
90103         Return -1 on overflow, instead of returning junk.
90104         Do not set *linesize unless allocation succeeds.
90105         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
90106         that we include sys/types.h.
90107         * lib/getnline.h: Likewise.
90108         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
90109         (getndelim2): Reorder arguments.
90110         * lib/getnline.c (getnline, getndelim):
90111         Don't discard the NMAX argument.
90112         (getnline): Invoke getndelim, to avoid code duplication.
90113         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
90114         of (size_t) -1 by callers of the getnline family.
90115
90116 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90117
90118         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
90119         Check for gettimeofday.
90120         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
90121         Check for settimeofday, stime.
90122
90123 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90124
90125         * lib/nanosleep.c (suspended): Change its type from int to
90126         sig_atomic_t volatile.
90127         (first_call): Make it private to rpl_nanosleep, and have it
90128         be zero initially as that's a bit faster.
90129         (my_usleep): Round up fractional times instead of truncating them,
90130         as this is the usual meaning for 'sleep'.
90131
90132         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
90133         doesn't work.
90134         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
90135         (ENOSYS): Define if not defined.
90136         (settime): Fall back on stime if it exists and settimeofday fails.
90137         But don't bother with fallbacks if a method fails with errno == EPERM.
90138
90139 2004-05-11  Jim Meyering  <jim@meyering.net>
90140
90141         Prior to this change, the save_cwd caller required read access to the
90142         current directory on most systems (ones with the fchdir function).
90143
90144         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
90145         fails, try write-only, and finally, resort to using xgetcwd.
90146
90147 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
90148
90149         * lib/obstack.c, obstack.h: Import changes from libc.
90150
90151 2004-04-28  Bruno Haible  <bruno@clisp.org>
90152
90153         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
90154         also implicitly appends .exe to executables.
90155         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
90156         accepts Windows pathnames.
90157         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90158         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90159         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90160         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90161         Reported by Derek Robert Price <derek@ximbiot.com>.
90162
90163 2004-04-21  Karl Berry  <karl@gnu.org>
90164
90165         * config/srclist.txt (localcharset.c): break sync.
90166
90167 2004-04-20  Paul Eggert  <eggert@twinsun.com>
90168
90169         * m4/host-os.m4: Add a copyright notice.
90170
90171 2004-04-20  Jim Meyering  <jim@meyering.net>
90172
90173         Change UTILS_ to gl_ in AC_DEFINE'd names.
90174         Change utils_- and jm_-prefixed variables, too.
90175         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
90176         UTILS_FUNC_MKDIR_TRAILING_SLASH.
90177         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
90178
90179         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
90180         Don't emit trailing blanks.
90181         Also rename jm_-prefixed variables to have gl_ prefix.
90182
90183         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
90184         Also rename jm_-prefixed variables to have gl_ prefix.
90185
90186         * m4/jm-macros.m4: Reflect the renamings.
90187         * m4/prereq.m4: Likewise.
90188
90189 2004-04-20  Jim Meyering  <jim@meyering.net>
90190
90191         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
90192         memory.
90193
90194 2004-04-20  Jim Meyering  <jim@meyering.net>
90195             Bruno Haible  <bruno@clisp.org>
90196
90197         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
90198         memory when realloc fails.
90199
90200 2004-04-19  Jim Meyering  <jim@meyering.net>
90201
90202         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
90203         now that readutmp.c may call `free (0)'.
90204
90205 2004-04-19  Bruno Haible  <bruno@clisp.org>
90206
90207         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
90208         * m4/inttypes_h.m4: Likewise.
90209         * m4/stdint_h.m4: Likewise.
90210         * m4/intmax_t.m4: Likewise.
90211         * m4/uintmax_t.m4: Likewise.
90212
90213 2004-04-18  Jim Meyering  <jim@meyering.net>
90214
90215         * m4/prereq.m4: Don't forbid jm_ prefix.
90216
90217         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
90218         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
90219         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
90220         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
90221         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
90222         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
90223         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
90224         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
90225         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
90226         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
90227         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
90228         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
90229         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
90230         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
90231         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
90232         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
90233         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
90234         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
90235         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
90236
90237 2004-04-18  Jim Meyering  <jim@meyering.net>
90238
90239         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
90240         failure, don't leak memory and do call END_UTMP_ENT.
90241
90242 2004-04-16  Jim Meyering  <jim@meyering.net>
90243
90244         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
90245         coreutils' stat program.
90246         (gl_PREREQ): Don't require jm_PREREQ_STAT.
90247
90248 2004-04-11  Paul Eggert  <eggert@twinsun.com>
90249
90250         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
90251         C89.
90252         (CHAR_BIT): Remove, since we assume C89.
90253         Include <stdint.h> if available, as per current Autoconf CVS advice.
90254
90255 2004-03-31  Jim Meyering  <jim@meyering.net>
90256
90257         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
90258         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
90259         * m4/xalloc.m4: Likewise.
90260
90261 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90262
90263         Merge from coreutils.
90264
90265         * m4/inttostr.m4: New file.
90266         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
90267         Require AM_STDBOOL_H and gl_TIMESPEC instead.
90268         Require gl_CLOCK_TIME.
90269         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
90270
90271 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90272
90273         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
90274         not bool, to be more consistent with Unix conventions.
90275         Suggested by Bruno Haible.
90276
90277         Merge from coreutils.
90278
90279         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
90280         * lib/umaxtostr.c: New files.
90281
90282         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
90283         the usual <time.h> dance.
90284         (get_date): Change signature to support fractional time stamps.
90285         All callers changed.
90286         * lib/getdate.y: Include "getdate.h" first, as we can now
90287         assume C89 and don't need to worry about 'const'.
90288         Similarly, include "unlocked-io.h" near start, not in middle.
90289         Include <limits.h>.
90290         (textint.value): Use long int rather than int.
90291         (textint.digits): Use size_t rather than int.
90292         (BILLION, LOG10_BILLION): New constants.
90293         (parser_control): New member rel_ns.  Members day_ordinal,
90294         time_zone, month, day, hour, minutes, rel_year, rel_month,
90295         rel_day, rel_hour, rel_minutes, rel_seconds
90296         are now long int, not int.  Member seconds is now struct timespec,
90297         not int.  New member timespec_seen.  Members dates_seen, days_seen,
90298         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
90299         not int.
90300         (%union.intval): Now long int, not int.
90301         New member timespec.
90302         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
90303         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
90304         (spec): Now is a timespec or an item list.
90305         (timespec, items): New nonterminals.
90306         (time, rel, relunit, number, get_date):
90307         Add support for fractional seconds.
90308         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
90309         (gmtime, localtime, mktime): Remove decls; not needed with C89.
90310         (to_hour): First arg is now long int, not int.
90311         (to_year): Returns long int, not int.
90312         Don't treat year -70 like 70.
90313         (tm_diff): Returns long int, not int.
90314         (lookup_word): Use bool instead of int when appropriate.
90315         (yylex): Use size_t for count, not int.
90316         Detect overflow when parsing large integer constants.
90317         Add support for fractions.
90318         (get_date): Make pointers 'const' if possible.
90319         Use more-portable code to detect integer overflow.
90320         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
90321         Don't use ctime; it's not reliable if the year has >4 digits.
90322
90323         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
90324         This is for compatibility with BSD.
90325
90326         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
90327         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
90328         From coreutils' system.h.
90329
90330         * lib/userspec.c: Don't include "posixver.h".
90331         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
90332         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
90333         compatible extension.  Simplify code by removing a boolean int
90334         that was always nonzero if a string was nonnull.
90335
90336 2004-03-30  Jim Meyering  <jim@meyering.net>
90337
90338         Merge from coreutils.
90339
90340         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
90341         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
90342         on some systems one must include <grp.h> before it.
90343         Reported by Christian Krackowizer.
90344
90345 2004-03-30  Jim Meyering  <jim@meyering.net>
90346
90347         Merge from coreutils.
90348
90349         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
90350
90351         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
90352         an empty input stream.
90353
90354         * lib/readtokens.c: Include <stdbool.h>.
90355         (readtoken): Use `size_t' rather than int/long.
90356         All callers adjusted.
90357         Use `bool' rather than `int' where appropriate.
90358         Use memset rather than an explicit loop.
90359         Use x2nrealloc rather than xrealloc.
90360         Allow the use of `\0' as a delimiter.
90361         (readtokens): Likewise.
90362         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
90363
90364 2004-03-30  Jim Meyering  <jim@meyering.net>
90365
90366         * m4/realloc.m4: Remove file, since now it does no more than
90367         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
90368         the `configure.ac' section of module/realloc.
90369         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
90370
90371 2004-03-30  Bruno Haible  <bruno@clisp.org>
90372
90373         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
90374         nonnull.
90375
90376 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90377
90378         Merge changes to getloadavg.c from coreutils and Emacs.
90379
90380         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
90381         Define to an expression, not to the empty string.
90382         Include cloexec.h and xalloc.h.
90383         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
90384         Use set_cloexec_flag rather than rolling our own.
90385         * lib/cloexec.c, lib/cloexec.h: New files.
90386
90387 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90388
90389         * m4/cloexec.m4: New file.
90390
90391 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90392
90393         * lib/getopt.h: Sync with libc CVS.
90394
90395 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90396             Bruno Haible  <bruno@clisp.org>
90397
90398         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
90399         mbswidth.
90400
90401 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90402             Bruno Haible  <bruno@clisp.org>
90403
90404         * lib/mbswidth.h: Include <wchar.h> only if
90405         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
90406         <wchar.h>.
90407         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
90408
90409 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90410
90411         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
90412         Sync with libc CVS.
90413         * lib/getopt_int.h: New file, also synced from libc.
90414
90415 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90416
90417         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
90418         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
90419         Bring back getopt.c, getopt.h, getopt1.c.
90420
90421 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90422
90423         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
90424         All uses changed.  Check for sa_sigaction member; this fixes
90425         a bug first reported by Jason Andrade in
90426         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90427
90428 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90429
90430         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
90431         '#if' expressions.  Unlike the code it replaces, it does not
90432         depend on (defined _SC_PAGESIZE).  However, it does depend on
90433         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
90434         first reported by Jason Andrade in
90435         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90436
90437 2004-02-25  Simon Josefsson  <jas@extundo.com>
90438
90439         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
90440
90441 2004-02-25  Simon Josefsson  <jas@extundo.com>
90442
90443         * lib/strdup.h: New file.
90444         * lib/strdup.c: Include it.
90445         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
90446         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
90447
90448 2004-02-23  Karl Berry  <karl@gnu.org>
90449
90450         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
90451         (from fencepost.gnu.org:/gd/gnuorg).
90452
90453 2004-02-23  Karl Berry  <karl@gnu.org>
90454
90455         * config/srclistvars.sh (GNUORG) [karl]: redefine.
90456         * config/srclist.txt: add maintain/standards documents.
90457
90458 2004-02-18  Bruno Haible  <bruno@clisp.org>
90459
90460         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
90461         Reported by Derek Robert Price <derek@ximbiot.com>.
90462
90463 2004-02-16  Karl Berry  <karl@gnu.org>
90464
90465         * config/mkinstalldirs, install-sh: update from automake.
90466
90467 2004-02-06  Karl Berry  <karl@gnu.org>
90468
90469         * m4/po.m4: update from gettext 0.14.1.
90470
90471 2004-02-06  Karl Berry  <karl@gnu.org>
90472
90473         * lib/config.charset: update from gettext 0.14.1.
90474
90475 2004-02-05  Paul Eggert  <eggert@twinsun.com>
90476
90477         Add comments and code, prompted by suggestions from Bruno Haible
90478         for sh-quote.
90479         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
90480         describing the enum quoting_style values.
90481         * lib/quotearg.c (quotearg_alloc): New function.
90482         (quotearg_buffer_restyled): Treat lone { and } as special.
90483         Treat = as special.  Work around bug with older shells
90484         that "see" a '\' that is really the 2nd byte of a multibyte char.
90485         Quote empty string with shell_quoting_style.
90486
90487 2004-02-03  Bruno Haible  <bruno@clisp.org>
90488
90489         * m4/pipe.m4: New file, from GNU gettext.
90490
90491 2004-02-03  Bruno Haible  <bruno@clisp.org>
90492
90493         * lib/pipe.h: New file, from GNU gettext.
90494         * lib/pipe.c: New file, from GNU gettext.
90495
90496 2004-01-27  Bruno Haible  <bruno@clisp.org>
90497
90498         * m4/execute.m4: New file, from GNU gettext.
90499
90500 2004-01-27  Bruno Haible  <bruno@clisp.org>
90501
90502         * lib/execute.h: New file, from GNU gettext.
90503         * lib/execute.c: New file, from GNU gettext.
90504         * lib/w32spawn.h: New file, from GNU gettext.
90505
90506 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90507
90508         Merge from diffutils.
90509
90510         * lib/file-type.c (file_type): Add typed memory objects.
90511         * lib/file-type.h (S_TYPEISTMO): New macro.
90512
90513         * lib/c-stack.h (c_stack_action): Remove argv argument.
90514         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
90515         (die): Don't calculate message unless segv_action returns.
90516         (get_stack_location, min_address_from_argv, max_address_from_argv,
90517         volatile stack_base, volatile_stack_size): Remove.
90518         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
90519         that every segmentation violation is a stack overflow.  (Ouch!)
90520         See Debian bug 136249 (still outstanding) for more info about why
90521         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
90522
90523 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90524
90525         Exit-status fix from coreutils.
90526
90527         Use exit_failure consistently in place of EXIT_FAILURE,
90528         so that program exit statuses are consistent on failure.
90529
90530         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
90531         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
90532         * lib/argmatch.h: Comment fix to match the above.
90533         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
90534         Now a macro referring to exit_failure, instead of a separate
90535         variable.  Include "exitfail.h" to get it.
90536         * lib/xstrtol.h: Include "exitfail.h".
90537         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
90538
90539         * lib/long-options.c (parse_long_options): Use prototype
90540         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
90541         for clarity.
90542
90543 2004-01-21  Jim Meyering  <jim@meyering.net>
90544
90545         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
90546         so as not to conflict with a different-sized __mktime_internal
90547         function in GNU libc.
90548         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
90549         Problem building statically-linked `ls' reported by Michael Brunnbauer.
90550
90551 2004-01-20  Karl Berry  <karl@gnu.org>
90552
90553         * config/config.guess: update from config.
90554
90555         * config/srclistvars.sh: GNUWWWLICENSES for karl.
90556
90557 2004-01-20  Bruno Haible  <bruno@clisp.org>
90558
90559         Safer stack allocation.
90560         * lib/setenv.c: Include allocsa.h.
90561         (alloca): Remove fallback definition.
90562         (freea): Remove macro.
90563         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
90564         instead of freea.
90565
90566 2004-01-20  Bruno Haible  <bruno@clisp.org>
90567
90568         * m4/eealloc.m4: New file, from GNU gettext.
90569
90570 2004-01-20  Bruno Haible  <bruno@clisp.org>
90571
90572         * m4/allocsa.m4: New file, from GNU gettext.
90573
90574 2004-01-20  Bruno Haible  <bruno@clisp.org>
90575
90576         * lib/xallocsa.h: New file, from GNU gettext.
90577         * lib/xallocsa.c: New file, from GNU gettext.
90578
90579 2004-01-20  Bruno Haible  <bruno@clisp.org>
90580
90581         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
90582
90583 2004-01-20  Bruno Haible  <bruno@clisp.org>
90584
90585         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
90586         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
90587         specially.
90588
90589 2004-01-20  Bruno Haible  <bruno@clisp.org>
90590
90591         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
90592         patch.
90593
90594 2004-01-20  Bruno Haible  <bruno@clisp.org>
90595
90596         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
90597
90598 2004-01-20  Bruno Haible  <bruno@clisp.org>
90599
90600         * lib/eealloc.h: New file.
90601
90602 2004-01-20  Bruno Haible  <bruno@clisp.org>
90603
90604         * lib/binary-io.h: Avoid warnings on Cygwin.
90605
90606 2004-01-20  Bruno Haible  <bruno@clisp.org>
90607
90608         * lib/allocsa.h: New file, from GNU gettext.
90609         * lib/allocsa.c: New file, from GNU gettext.
90610
90611 2004-01-18  Karl Berry  <karl@gnu.org>
90612
90613         * doc/gpl.texi, doc/lgpl.texi: new files.
90614
90615 2004-01-18  Karl Berry  <karl@gnu.org>
90616
90617         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
90618         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
90619
90620 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90621
90622         Merge from coreutils.
90623
90624         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
90625         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
90626         (gl_DEFAULT_POSIX2_VERSION): Move
90627         the documentation from 'configure' into 'config.hin',
90628         so that 'configure --help' isn't burdened by it and
90629         we don't have to worry about its formatting there.
90630         Reword the documentation so that it's more succinct
90631         and can be run together into a single paragraph.
90632         * m4/same.m4 (gl_SAME): Check for pathconf.
90633
90634 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90635
90636         Merge from coreutils.
90637
90638         * lib/posixver.c: Include posixver.h.
90639
90640         * lib/same.c: Include <stdbool.h>, <limits.h>.
90641         (_POSIX_NAME_MAX): Define if not defined.
90642         (MIN): New macro.
90643         (same_name): If file names are silently truncated, report
90644         that the file names are the same if they are the same after
90645         the silent truncation.
90646
90647         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
90648         conversion function.
90649         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
90650         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
90651         longer needed.
90652
90653 2004-01-15  Jim Meyering  <jim@meyering.net>
90654
90655         Merge from coreutils.
90656
90657         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
90658         if no library is required.
90659         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
90660         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
90661         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
90662         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
90663         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
90664         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
90665         value, $ac_cv_search_crypt, if it's "none required".
90666         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
90667         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
90668         not gl_FUNC_GETLOADAVG.
90669         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
90670         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
90671
90672 2004-01-15  Jim Meyering  <jim@meyering.net>
90673
90674         Merge from coreutils.
90675
90676         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
90677         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
90678         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
90679
90680         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
90681         optional configure-time default.
90682
90683         * lib/version-etc.c (version_etc_copyright): Update copyright date.
90684
90685         * lib/xreadlink.c (xreadlink): Correct outdated comment.
90686
90687 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
90688
90689         Merge from coreutils.
90690
90691         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
90692         value, $ac_cv_search_nanosleep, if it's "none required".
90693
90694 2004-01-14  Paul Eggert  <eggert@twinsun.com>
90695
90696         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
90697         with like-named macro in fnmatch.c.
90698         (EXT): Use an internal constant instead.
90699
90700         Merge fnmatch patches from glibc.
90701         * lib/fnmatch.c (mbsinit): Remove define.
90702         Add libc_hidden_ver (__fnmatch, fnmatch).
90703         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
90704         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
90705
90706 2004-01-14  Karl Berry  <karl@gnu.org>
90707
90708         * config/install-sh: update from automake.
90709
90710 2004-01-13  Karl Berry  <karl@gnu.org>
90711
90712         * config/install-sh: update from automake.
90713
90714 2004-01-09  Karl Berry  <karl@gnu.org>
90715
90716         * config/install-sh: update from automake.
90717
90718 2004-01-05  Karl Berry  <karl@gnu.org>
90719
90720         * config/config.{sub,guess}: update from config.
90721
90722 2003-12-31  Karl Berry  <karl@gnu.org>
90723
90724         * config/depcomp: update from automake.
90725
90726 2003-12-14  Karl Berry  <karl@gnu.org>
90727
90728         * lib/config.charset: update from gettext-runtime.
90729
90730 2003-12-03  Paul Eggert  <eggert@twinsun.com>
90731
90732         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
90733         Bug reported by Alfred M. Szmidt.
90734
90735 2003-12-03  Bruno Haible  <bruno@clisp.org>
90736
90737         * m4/gettext.m4: Upgrade from gettext-0.13.
90738         * m4/po.m4: Upgrade from gettext-0.13.
90739         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
90740         * m4/intmax.m4: New file, from gettext-0.13.
90741         * m4/printf-posix.m4: New file, from gettext-0.13.
90742
90743 2003-11-29  Karl Berry  <karl@gnu.org>
90744
90745         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
90746
90747 2003-11-25  Paul Eggert  <eggert@twinsun.com>
90748             Bruno Haible  <bruno@clisp.org>
90749
90750         * lib/printf-parse.h: Don't include sys/types.h.
90751         (ARG_NONE): New macro.
90752         (char_directive): Change type of *arg_index fields to size_t.
90753         * lib/printf-parse.c: Don't include sys/types.h.
90754         (SSIZE_MAX): Remove macro.
90755         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
90756         Remove unnecessary overflow check.
90757         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
90758         fields.
90759
90760 2003-11-25  Bruno Haible  <bruno@clisp.org>
90761
90762         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
90763
90764 2003-11-25  Bruno Haible  <bruno@clisp.org>
90765
90766         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
90767         gt_TYPE_SSIZE_T.
90768
90769 2003-11-24  Paul Eggert  <eggert@twinsun.com>
90770
90771         * modules/alloca: Remove dependency on xalloc.
90772
90773 2003-11-24  Paul Eggert  <eggert@twinsun.com>
90774
90775         * lib/alloca.c: Remove dependency on xalloc module.
90776         (xalloc_die): Remove.
90777         (memory_full) [!defined emacs]: New macro.
90778         [!defined emacs]: Don't include xalloc.h.
90779         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
90780         address arithmetic overflows.  Change datatypes a bit to avoid
90781         unnecessary casts.
90782
90783 2003-11-22  Jim Meyering  <jim@meyering.net>
90784
90785         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
90786         s/size/size_t/.
90787
90788 2003-11-21  Karl Berry  <karl@gnu.org>
90789
90790         * config/config.{sub,guess}: update from config.
90791
90792 2003-11-18  Karl Berry  <karl@gnu.org>
90793
90794         * config/config.{sub,guess}: update from config.
90795
90796         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
90797
90798 2003-11-17  Paul Eggert  <eggert@twinsun.com>
90799
90800         * README: Mention that S+T cannot overflow if S is the size of
90801         an existing object and T is sufficiently small.
90802
90803 2003-11-17  Jim Meyering  <jim@meyering.net>
90804
90805         On systems without utime and without a utimes function capable of
90806         dealing with a NULL struct utimbuf* argument, this utime replacement
90807         could -- in unusual circumstances -- leak a file descriptor.
90808         * lib/utime.c: Include <unistd.h> and <errno.h>.
90809         (utime_null): Be sure to close `fd' and to preserve errno.
90810         Reported by Geoff Collyer via Arnold Robbins.
90811
90812 2003-11-17  Bruno Haible  <bruno@clisp.org>
90813
90814         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
90815         (Depends-on): Add xsize.
90816
90817 2003-11-17  Bruno Haible  <bruno@clisp.org>
90818
90819         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
90820
90821 2003-11-17  Bruno Haible  <bruno@clisp.org>
90822
90823         * lib/vasnprintf.c (alloca): Remove fallback definition.
90824         (freea): Remove definition.
90825         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
90826         Reported by Paul Eggert.
90827
90828 2003-11-16  Paul Eggert  <eggert@twinsun.com>
90829             Bruno Haible  <bruno@clisp.org>
90830
90831         Protect against address arithmetic overflow.
90832         * lib/printf-args.h: Include stddef.h.
90833         (arguments): Change type of field 'count' to size_t.
90834         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
90835         'unsigned int' where appropriate.
90836         * lib/printf-parse.h: Include sys/types.h.
90837         (char_directive): Change type of *arg_index fields to ssize_t.
90838         (char_directives): Change type of fields 'count', max_*_length to
90839         size_t.
90840         * lib/printf-parse.c: Include sys/types.h and xsize.h.
90841         (SSIZE_MAX): Define fallback value.
90842         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
90843         instead of 'int' where appropriate. Check a_allocated, d_allocated
90844         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
90845         * lib/vasnprintf.c: Include xsize.h.
90846         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
90847         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
90848         overflow. Avoid wraparound when converting a width or precision from
90849         decimal to binary.
90850
90851 2003-11-16  Bruno Haible  <bruno@clisp.org>
90852
90853         Update from GNU gettext.
90854         * lib/printf-parse.c: Generalize to it can be compiled for wide
90855         strings.
90856         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
90857         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
90858         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
90859         SNPRINTF): New macros.
90860         Don't include <alloca.h> if the file is used inside libintl.
90861         (local_wcslen): New function, for Solaris 2.5.1.
90862         (VASNPRINTF): Use it instead of wcslen.
90863
90864 2003-11-16  Bruno Haible  <bruno@clisp.org>
90865
90866         * lib/xsize.h (xmax): New function.
90867         (xsum, xsum3, xsum4): Declare as "pure" functions.
90868
90869 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90870
90871         * modules/xalloc (Files): Undo latest change, since xalloc.h
90872         no longer needs SIZE_MAX or PTRDIFF_MAX.
90873
90874 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90875
90876         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
90877         gl_PTRDIFF_MAX.
90878
90879 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90880
90881         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
90882         "return", to pacify some unknown compiler.  Problem reported
90883         by Joerg Schilling.
90884
90885 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90886
90887         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
90888         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
90889         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
90890         heuristic is just as accurate as far as we know, and it removes a
90891         dependency on size_max.m4 and ptrdiff_max.m4.
90892
90893 2003-11-11  Bruno Haible  <bruno@clisp.org>
90894
90895         * modules/xsize (Files): Add m4/size_max.m4.
90896         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
90897
90898 2003-11-11  Bruno Haible  <bruno@clisp.org>
90899
90900         * m4/size_max.m4: New file.
90901         * m4/ptrdiff_max.m4: New file.
90902         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
90903         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
90904         (gl_XALLOC): Invoke it.
90905
90906 2003-11-11  Bruno Haible  <bruno@clisp.org>
90907
90908         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
90909         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
90910         defined.
90911
90912 2003-11-10  Paul Eggert  <eggert@twinsun.com>
90913
90914         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
90915         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
90916         rejected some allocations of exactly SIZE_MAX - 2 bytes.
90917         From Bruno Haible.
90918         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
90919         not (size_t) -1, since it's defined here.
90920
90921 2003-11-09  Karl Berry  <karl@gnu.org>
90922
90923         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
90924
90925 2003-11-06  Paul Eggert  <eggert@twinsun.com>
90926
90927         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
90928         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
90929         Reject sizes of exactly SIZE_MAX bytes.
90930         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
90931         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
90932
90933 2003-11-05  Bruno Haible  <bruno@clisp.org>
90934
90935         * lib/xsize.h: Include limits.h, to avoid a possible collision with
90936         SIZE_MAX defined in <limits.h> on Solaris.
90937
90938 2003-11-04  Jim Meyering  <jim@meyering.net>
90939
90940         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
90941         variable names, rather than @VAR@.
90942         * modules/poll: Likewise.
90943
90944 2003-11-04  Bruno Haible  <bruno@clisp.org>
90945
90946         * modules/xsize: New file.
90947         * modules/linebreak: Depend on xsize.
90948         * MODULES.html.sh (func_all_modules): Add xsize.
90949
90950 2003-11-04  Bruno Haible  <bruno@clisp.org>
90951
90952         * m4/xsize.m4: New file.
90953
90954 2003-11-04  Bruno Haible  <bruno@clisp.org>
90955
90956         * lib/xsize.h: New file.
90957         * lib/linebreak.c: Include xsize.h.
90958         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
90959         argument for overflow.
90960         Suggested by Paul Eggert.
90961
90962 2003-11-03  Karl Berry  <karl@gnu.org>
90963
90964         * config/config.{guess,sub}: update from config.
90965
90966 2003-11-03  Jim Meyering  <jim@meyering.net>
90967
90968         * modules/userspec (lib_SOURCES): Add userspec.h.
90969         (Include): Add "userspec.h".
90970         Improve description.
90971
90972 2003-11-03  Jim Meyering  <jim@meyering.net>
90973
90974         * lib/userspec.c: Include "userspec.h".
90975         * lib/userspec.h: New file.
90976
90977 2003-11-03  Bruno Haible  <bruno@clisp.org>
90978
90979         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
90980
90981 2003-11-03  Bruno Haible  <bruno@clisp.org>
90982
90983         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
90984         available, to avoid (extremely rare) race condition.
90985         Suggested by Paul Eggert.
90986
90987 2003-11-02  Karl Berry  <karl@gnu.org>
90988
90989         * config/srclist.txt (vasprintf.c): sync broken, sigh.
90990
90991 2003-10-31  Paul Eggert  <eggert@twinsun.com>
90992
90993         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
90994         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
90995         (read_filesystem_list): Set and use me_type_malloced.
90996         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
90997         whatever the type happens to be), for brevity and consistency.
90998         Check for size calculation overflow on Alphas running OSF/1.
90999
91000 2003-10-31  Jim Meyering  <jim@meyering.net>
91001
91002         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
91003
91004         * lib/linebuffer.c: Include <string.h> for declaration of memset.
91005
91006 2003-10-30  Paul Eggert  <eggert@twinsun.com>
91007             Bruno Haible  <bruno@clisp.org>
91008
91009         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
91010         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
91011
91012 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
91013
91014         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
91015         netbsd*-gnu*.  Suggested by Robert Millan.
91016
91017 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91018
91019         * modules/group-member: Depend on stdbool.
91020
91021 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91022
91023         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
91024
91025 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91026
91027         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
91028         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
91029         after the 'gnu' in these cases.  This fixes some bugs in the
91030         previous change, and is based on suggestions by Robert Millan.
91031
91032 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91033
91034         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
91035         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
91036         no longer needed.
91037         * lib/quotearg.c (quotearg_n_options): Use it.
91038         * lib/group-member.c: Include <stdbool.h>.
91039         (free_group_info): Arg is now const *; don't free arg.
91040         (get_group_info): Now returns bool and accepts struct group_info *,
91041         rather than returning a malloc'ed struct group_info *.
91042         All uses changed.  Check for overflow in internal size calculation.
91043
91044         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
91045         rather than xmalloc/xrealloc.
91046         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
91047         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
91048         conformance bug: the old code used a pointer after freeing the
91049         storage that it addressed.
91050         * lib/hash.c (hash_initialize): Simplify the code by using
91051         xalloc_oversized rather than doing it by hand.
91052         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
91053         the buffer preserved.  Use free and xmalloc instead.
91054         * lib/quotearg.c (quotearg_n_options): Likewise.
91055         Use a simpler test for size overflow.  Don't use xalloc_oversized
91056         because unsigned int might be wider than size_t (!); this suggests
91057         that we should switch from unsigned int to size_t for slot numbers.
91058
91059 2003-10-28  Paul Eggert  <eggert@twinsun.com>
91060
91061         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
91062         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
91063         NetBSD kernels.  Requested by Richard Stallman.
91064
91065 2003-10-27  Paul Eggert  <eggert@twinsun.com>
91066
91067         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
91068         to allocate the returned structure.  Do not allocate a subarray,
91069         as x2nrealloc will do that.
91070         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
91071         instead of xnrealloc.
91072         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
91073
91074 2003-10-27  Bruno Haible  <bruno@clisp.org>
91075
91076         * lib/stdbool_.h: Better support for BeOS.
91077
91078 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91079
91080         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
91081         now uses inline.
91082
91083 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91084
91085         * lib/xalloc.h (xalloc_oversized): New static inline function, for
91086         callers that want to do their own size-overflow checking.  Include
91087         <stdbool.h>, since xalloc_oversized returns bool.
91088         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
91089         to use xalloc_oversized.
91090
91091         Add two functions x2realloc, x2nrealloc, for programs that grow
91092         arrays dynamically by doubling their sizes.
91093         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
91094         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
91095         New functions.
91096
91097         Port to C99 semantics for 'inline' of external functions.
91098         Bug reported by Bruno Haible.
91099         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
91100         with the old contents of xnmalloc.
91101         (xnmalloc, xmalloc): Use it.
91102         (xnrealloc_inline): New static inline function,
91103         with the old contents of xnrealloc.
91104         (xnrealloc, xrealloc): Use it.
91105
91106         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
91107         that.
91108
91109 2003-10-26  Karl Berry  <karl@gnu.org>
91110
91111         * config/srclist.txt (COPYING.DOC): no longer available from
91112         /gd/gnuorg; don't know where the ultimate source is.
91113
91114 2003-10-25  Paul Eggert  <eggert@twinsun.com>
91115
91116         Fix several address-calculation bugs in the hash modules,
91117         plus some minor code cleanup.
91118
91119         * lib/hash.h: Include <stdbool.h>, for bool.
91120         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
91121         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
91122         hash_get_n_entries, hash_get_max_bucket_length,
91123         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
91124         hash_rehash): Use size_t rather than unsigned.
91125         * lib/hash.c (struct hash_table, hash_get_n_buckets,
91126         hash_get_n_buckets_used, hash_get_n_entries,
91127         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
91128         hash_get_entries, hash_do_for_each, hash_string, is_prime,
91129         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
91130         Likewise.
91131         (SIZE_MAX): Define if not defined.
91132         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
91133         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
91134         hash_print):
91135         Use const * when possible.
91136         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
91137         (check_tuning): Fix bug: if tuning parameters were very close to
91138         0 or 1, rounding errors could have caused subscript violations.
91139         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
91140         (hash_initialize): Add 'fail:' label
91141         to free table and return NULL, and use it to simplify code.
91142         Use calloc rather than clearing the storage ourself.
91143         (hash_initialize, hash_rehash): Check for arithmetic overflow in
91144         buffer size calculations.
91145         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
91146         Include <stddef.h>, for size_t.
91147         * lib/hash-pjw.c (hash_pjw): Likewise.
91148         Switch to method described by Bruno Haible.
91149         Include <limits.h>, for CHAR_BIT.
91150         (SIZE_BITS): New macro.
91151
91152 2003-10-23  Paul Eggert  <eggert@twinsun.com>
91153
91154         * m4/getline.m4 (AM_FUNC_GETLINE):
91155         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
91156         hosts.  Problem reported by Derek Robert Price in
91157         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
91158         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
91159         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
91160
91161 2003-10-21  Paul Eggert  <eggert@twinsun.com>
91162
91163         * lib/getndelim2.c (getndelim2): When size calculation overflows,
91164         ceiling the allocation at NMAX bytes rather than silently
91165         discarding input bytes before NMAX is reached.  This makes
91166         a difference only if NMAX exceeds SIZE_MAX / 2.
91167
91168         * lib/obstack.c: Merge from glibc.
91169         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
91170         Add libc_hidden_def (_obstack_newchunk).
91171         (_obstack_free) [! defined _LIBC]: Remove.
91172         [defined _LIBC]: Make a strong alias from obstack_free, rather than
91173         a clone of the function body.
91174         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
91175         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
91176
91177         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
91178         glibc.
91179         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
91180         arg to memcpy.
91181
91182         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
91183         (obstack_ptr_grow_fast, obstack_int_grow_fast):
91184         Don't use lvalue casts, as GCC plans to remove support for them
91185         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
91186         was also present in the non-GCC version, indicating that this
91187         code had always been buggy and had never been widely used.
91188         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
91189         Use the fast variant of each macro, rather than copying the
91190         definiens of the fast variant; that way, we'll be more likely to
91191         catch future bugs in the fast variants.
91192
91193 2003-10-20  Bruno Haible  <bruno@clisp.org>
91194
91195         * modules/wait-process: New file.
91196         * MODULES.html.sh (func_all_modules): Add wait-process.
91197
91198 2003-10-20  Bruno Haible  <bruno@clisp.org>
91199
91200         * m4/wait-process.m4: New file.
91201
91202 2003-10-20  Bruno Haible  <bruno@clisp.org>
91203
91204         * lib/wait-process.h: New file, from GNU gettext.
91205         * lib/wait-process.c: New file, from GNU gettext.
91206
91207 2003-10-19  Jim Meyering  <jim@meyering.net>
91208
91209         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
91210         HPUX 10.20.
91211
91212 2003-10-18  Karl Berry  <karl@gnu.org>
91213
91214         * config/config.guess: update from config.
91215
91216 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91217
91218         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
91219         (getgroups): First arg is int, not size_t.
91220         Don't let 'free' mangle errno.
91221
91222 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91223
91224         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
91225
91226 2003-10-16  Karl Berry  <karl@gnu.org>
91227
91228         * config/config.{guess,sub}: update from config.
91229
91230 2003-10-16  Jim Meyering  <jim@meyering.net>
91231
91232         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
91233         memcpy.
91234
91235 2003-10-15  Paul Eggert  <eggert@twinsun.com>
91236
91237         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
91238         (SIZE_MAX): Remove.
91239         (new_exclude, add_exclude_file): Initial size no longer needs to
91240         be a power of 2.
91241         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
91242         our own address arithmetic overflow checking.
91243
91244         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
91245         (fnmatch): Do not alloca more than 2000 wide characters;
91246         instead, use malloc for large buffers.
91247         Check for address arithmetic overflow, and return -1
91248         with errno set to ENOMEM in that case.
91249         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
91250         (NEW_PATTERN): Do not alloca more than 8000 bytes;
91251         instead, return -1.  Check for address arithmetic overflow.
91252
91253 2003-10-14  Paul Eggert  <eggert@twinsun.com>
91254
91255         Handle invalid suffixes and overflow independently, so that
91256         callers can treat them independently as needed.  Fix some bugs in
91257         suffix handling, e.g., "100k@" was not diagnosed as an invalid
91258         suffix for a human-readable blocksize.  The major caller-visible
91259         change is the addition of a new
91260         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
91261         that both overflow and suffix chars were found.
91262
91263         * lib/human.c (humblock): Don't check separately for invalid suffix
91264         char; that is xstrtoumax's job (now that its bug is fixed).
91265         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
91266         INTMAX_MAX]: New macros.
91267         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
91268         TYPE_MAXIMUM): New macros.
91269         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
91270         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
91271         if overflow occurs, as it's what __strtol does and it's more useful
91272         in practice.
91273         (__xstrtol): If __strtol reports some error other than ERANGE,
91274         reflect it to the caller as LONGINT_INVALID.  If it reports
91275         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
91276         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
91277         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
91278         value.
91279         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
91280         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
91281         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
91282         [defined UINTMAX_MAX]: New macros.
91283
91284 2003-10-14  Bruno Haible  <bruno@clisp.org>
91285
91286         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
91287
91288 2003-10-14  Bruno Haible  <bruno@clisp.org>
91289
91290         * m4/sig_atomic_t: New file, from GNU gettext.
91291         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
91292
91293 2003-10-14  Bruno Haible  <bruno@clisp.org>
91294
91295         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
91296         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
91297         Also use volatile where needed.
91298
91299 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91300
91301         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
91302         Change maintainer from Bruno Haible to 'all'.
91303
91304 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91305
91306         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
91307
91308 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91309
91310         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
91311         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
91312         and define in terms of the other primitives.
91313         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
91314         (SIZE_MAX): Define if not already defined.
91315         (array_size_overflow): New function.
91316         (xalloc_die): Abort instead of exiting if 'error' returns.
91317         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
91318         (xmalloc, xrealloc): Use them.
91319         (xcalloc): Check for address arithmetic overflow.
91320         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
91321         a bit faster than strcpy.
91322
91323 2003-10-10  Simon Josefsson  <jas@extundo.com>
91324
91325         * modules/argp (Depends-on): Add restrict and strcase.
91326
91327 2003-10-10  Simon Josefsson  <jas@extundo.com>
91328
91329         * m4/argp.m4: Add AC_C_INLINE.
91330
91331 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91332
91333         Merge getpass from libc, plus a few fixes.
91334
91335         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
91336         Include <stdbool.h>.
91337         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
91338         __fsetlocking to empty.
91339         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
91340         do include <bits/libc-lock.h>.
91341         Do not include <fcntl.h>; not needed.
91342         [_LIBC]: Include <wchar.h>.
91343         (NOTCANCEL_MODE): New macro.
91344         (flockfile, funlockfile) [_LIBC]: New macros.
91345         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
91346         [!_LIBC]: New macros.
91347         (call_fclose): New function.
91348         (getpass): Use it.  Save tty stream separately; this simplifies the
91349         code and makes it more reliable if stdin happens to equal stdout.
91350         Invoke __fsetlocking on tty.
91351         Handle thread cancellation if needed.
91352         Namespace cleanup (use __tcgetattr, __getline).
91353         Use bool for Booleans.
91354         [USE_IN_LIBIO]: Handle wide streams.
91355         [!_LIBC]: Unconditionally do the fseek, since we don't know what
91356         stream might go where.
91357
91358         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
91359         doesn't have to include <stdio.h> before us.
91360         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
91361         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
91362         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
91363         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
91364         if not declared, so that we can use getpass.c code from libc without
91365         rewriting it.
91366         (flockfile, ftrylockfile, funlockfile): New macros.
91367
91368 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91369
91370         * modules/getpass: Depend on stdbool.
91371
91372 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91373
91374         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
91375
91376 2003-10-07  Karl Berry  <karl@gnu.org>
91377
91378         * config/config.{guess,sub}: update from config.
91379
91380 2003-10-06  Jim Meyering  <jim@meyering.net>
91381             Bruno Haible  <bruno@clisp.org>
91382
91383         This lets translators provide better translations for the
91384         "Written by ..." part of --version output.
91385         * lib/version-etc.h: Include stdarg.h.
91386         (version_etc_copyright): Declare as readonly.
91387         (version_etc): Make this function variadic with a NULL-terminated list
91388         of author name strings.
91389         (version_etc_va): New declaration.
91390         * lib/version-etc.c: Include stdarg.h, stdlib.h.
91391         (version_etc_copyright): Declare as readonly.
91392         (version_etc_va): New function. Provide a different translatable string
91393         for each possible number of authors < 10. Abbreviate when there are 10
91394         authors or more.
91395         (version_etc): Make this function variadic. Call version_etc_va.
91396         Suggestion from Gary V. Vaughan.
91397
91398         * lib/long-options.h (parse_long_options): Change prototype: the
91399         authors string is moved to the end and becomes variadic.
91400         * lib/long-options.c: Include stdarg.h.
91401         (parse_long_options): Make this function variadic, too.
91402         Call version_etc_va, not version_etc.
91403
91404 2003-10-06  Bruno Haible  <bruno@clisp.org>
91405
91406         * modules/version-etc-2: Remove file.
91407         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
91408
91409 2003-10-06  Bruno Haible  <bruno@clisp.org>
91410
91411         * modules/fatal-signal: New file.
91412         * MODULES.html.sh (func_all_modules): Add fatal-signal.
91413
91414 2003-10-06  Bruno Haible  <bruno@clisp.org>
91415
91416         * m4/fatal-signal.m4: New file.
91417         * m4/signalblocking.m4: New file, from GNU gettext.
91418
91419 2003-10-06  Bruno Haible  <bruno@clisp.org>
91420
91421         * lib/version-etc-2.h: Remove file.
91422         * lib/version-etc-2.c: Remove file.
91423
91424 2003-10-06  Bruno Haible  <bruno@clisp.org>
91425
91426         * lib/fatal-signal.h: New file, from GNU gettext.
91427         * lib/fatal-signal.c: New file, from GNU gettext.
91428
91429 2003-10-05  Paul Eggert  <eggert@twinsun.com>
91430
91431         * README: Rework advice for preventing empty .o files.
91432         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
91433         not <sys/types.h>.
91434
91435 2003-10-04  Karl Berry  <karl@gnu.org>
91436
91437         * lib/argp*: update from libc.
91438
91439 2003-10-04  Karl Berry  <karl@gnu.org>
91440
91441         * config/config.{guess,sub}: update from config.
91442
91443 2003-10-02  Bruno Haible  <bruno@clisp.org>
91444
91445         * modules/lchown (Include): Add lchown.h.
91446         * modules/time_r (Include): Use "..." syntax.
91447         * modules/xgetdomainname (Include): Add xgetdomainname.h.
91448
91449 2003-10-01  Simon Josefsson  <jas@extundo.com>
91450
91451         * MODULES.html.sh (func_all_modules): Move gethostname from section
91452         'based on' to section 'lacking' POSIX:2001.
91453
91454 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
91455
91456         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
91457         to output mode on the same stream.
91458
91459 2003-09-29  Paul Eggert  <eggert@twinsun.com>
91460
91461         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
91462         Fix arg typo in previous patch.
91463
91464 2003-09-28  Jim Meyering  <jim@meyering.net>
91465
91466         * lib/error.c: Correct cpp indentation.
91467
91468 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91469
91470         * modules/free: New file.
91471
91472 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91473
91474         * m4/free.m4: New file.
91475
91476 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91477
91478         * lib/minmax.h (MIN, MAX)
91479         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
91480         Omit the special code that used __typeof__, since we worry that
91481         it could be more trouble than it's worth.  See:
91482         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
91483         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
91484
91485         * lib/free.c: New file.
91486
91487 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
91488
91489         Trivial fixes to Makefile.am parts of module listings.
91490         * modules/strstr: Append strstr.h to lib_SOURCES.
91491         * modules/strcase: Likewise, for strcase.h.
91492
91493 2003-09-27  Karl Berry  <karl@gnu.org>
91494
91495         * config/mkinstalldirs: update from automake.
91496
91497 2003-09-26  Paul Eggert  <eggert@twinsun.com>
91498
91499         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
91500         (error_tail): Do not loop, reallocating temporary buffer, since
91501         the output cannot contain more wide characters than the input
91502         contains bytes, the size must be big enough already.  This avoids
91503         one potential size overflow calculation.  Check for size overflow
91504         when calculating temporary buffer size.  Free temporary buffer
91505         when done, if it was allocated with malloc; this plugs a memory
91506         leak.  Remove casts from void * to pointers, that are no longer
91507         needed now that we're assuming C89 or better.
91508
91509         Merge error changes from glibc.
91510
91511         * lib/error.c, error.h: Update copyright notice header to match glibc.
91512         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
91513         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
91514         Disable cancellation while printing error.
91515         * lib/error.h: Prepend __ to parameter names.
91516
91517 2003-09-26  Jim Meyering  <jim@meyering.net>
91518
91519         * lib/error.c (error_tail): Move some declarations
91520         into inner scope where the local variables are used.
91521
91522 2003-09-26  Bruno Haible  <bruno@clisp.org>
91523
91524         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
91525         stpncpy().
91526         Don't define stpncpy through config.h; it's now done through stpncpy.h.
91527
91528 2003-09-26  Bruno Haible  <bruno@clisp.org>
91529
91530         * lib/stpncpy.h (gnu_stpncpy): New declaration.
91531         (stpncpy): Define as alias for gnu_stpncpy.
91532         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
91533
91534 2003-09-25  Simon Josefsson  <jas@extundo.com>
91535
91536         * lib/xgetdomainname.h: New file.
91537         * lib/xgetdomainname.c: New file.
91538
91539 2003-09-25  Simon Josefsson  <jas@extundo.com>
91540             Bruno Haible  <bruno@clisp.org>
91541
91542         * modules/getdomainname: New file.
91543         * modules/xgetdomainname: New file.
91544         * MODULES.html.sh (func_all_modules): Add getdomainname,
91545         xgetdomainname.
91546
91547 2003-09-25  Simon Josefsson  <jas@extundo.com>
91548             Bruno Haible  <bruno@clisp.org>
91549
91550         * m4/getdomainname.m4: New file.
91551
91552 2003-09-25  Simon Josefsson  <jas@extundo.com>
91553             Bruno Haible  <bruno@clisp.org>
91554
91555         * lib/getdomainname.h: New file.
91556         * lib/getdomainname.c: New file.
91557
91558 2003-09-25  Karl Berry  <karl@gnu.org>
91559
91560         * lib/argp-fmtstream.c, argp-help.c: update from libc.
91561
91562 2003-09-25  Karl Berry  <karl@gnu.org>
91563
91564         * config/install-sh: update from automake.
91565
91566 2003-09-25  Bruno Haible  <bruno@clisp.org>
91567
91568         * modules/version-etc-2: New file, from modules/version-etc with
91569         modifications.
91570         * MODULES.html.sh (func_all_modules): Add version-etc-2.
91571
91572 2003-09-25  Bruno Haible  <bruno@clisp.org>
91573
91574         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
91575         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
91576
91577 2003-09-24  Simon Josefsson  <jas@extundo.com>
91578
91579         * modules/xgethostname: Add xgethostname.h.
91580
91581 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91582
91583         * lib/linebuffer.c (freebuffer): Don't free the argument, just
91584         the buffer associated with the argument.  Bug reported by
91585         Simon Josefsson.
91586
91587 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91588
91589         * README: Document assumptions that 'int' is at least 32 bits
91590         wide, that integer arithmetic is 2's complement without overflow,
91591         that there are no holes in integer values, that adding sizes of
91592         two nonoverlapping objects can't overflow, and that all-bits-zero
91593         yields scalar zero.  Fix spelling and capitalization typos.
91594
91595 2003-09-19  Karl Berry  <karl@gnu.org>
91596
91597         * lib/argp.h: update from libc.
91598
91599 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91600
91601         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
91602         to avoid spurious warnings like "AC_RUN_IFELSE was called before
91603         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
91604
91605 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91606
91607         * gnulib-tool: Use "test -h", not "test -L", for portability
91608         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
91609         (tags_regexp): Remove, since \| doesn't conform to POSIX.
91610         (sed_extract_prog): Issue s commands one-by-one, rather than
91611         using \| in one s command.
91612
91613 2003-09-16  Paul Eggert  <eggert@twinsun.com>
91614
91615         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
91616         input error, instead of returning NULL the next time we are called
91617         (and therefore losing track of errno).
91618
91619 2003-09-16  Bruno Haible  <bruno@clisp.org>
91620
91621         * gnulib-tool (func_create_testdir): Warn about duplicated
91622         dependencies.
91623
91624 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91625
91626         * modules/argmatch, modules/fatal, modules/obstack,
91627         modules/xalloc, modules/xgethostname: Sort dependencies by
91628         importance, not alphabetically.
91629
91630 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91631
91632         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
91633         fails, so that the caller gets the proper errno.
91634
91635         * lib/readutmp.c (read_utmp): Likewise.
91636         Check for fstat error.  Close stream and free storage
91637         when failing.
91638
91639 2003-09-14  Karl Berry  <karl@gnu.org>
91640
91641         * config/srclist.txt (strdup.c): disable for c89 changes.
91642
91643 2003-09-14  Jim Meyering  <jim@meyering.net>
91644
91645         * lib/getloadavg.c: Correct cpp indentation.
91646         * lib/strdup.c: Likewise.
91647         * lib/vasnprintf.c: Likewise.
91648
91649 2003-09-14  Bruno Haible  <bruno@clisp.org>
91650
91651         * modules/fwriteerror: New file.
91652         * MODULES.html.sh (func_all_modules): Add fwriteerror.
91653
91654 2003-09-14  Bruno Haible  <bruno@clisp.org>
91655
91656         * lib/fwriteerror.h: New file.
91657         * lib/fwriteerror.c: New file.
91658
91659 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91660
91661         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
91662         modules/xgethostname, modules/xalloc: Depend on exit.
91663
91664 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91665
91666         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
91667
91668         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
91669         and AC_MINIX, too, so that their extensions are available.
91670
91671         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
91672         This macro has been superseded by gl_BACKUPFILE.
91673
91674         More patches to assume C89 or better.
91675
91676         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
91677
91678         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
91679         unconditionally.
91680         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
91681         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
91682         Include <string.h>, <stdlib.h> unconditionally.
91683         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
91684         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
91685         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
91686         headers or for string.h.
91687         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
91688         or strtoul.
91689
91690         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
91691         headers.
91692         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
91693         * m4/userspec.m4 (gl_USERSPEC): Likewise.
91694         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
91695         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
91696         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
91697         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
91698         memcpy, memset.
91699         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
91700         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
91701         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
91702         strtol.
91703         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
91704         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
91705         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
91706         strtoul.
91707
91708 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91709
91710         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
91711         * lib/obstack.c [!defined _LIBC]: Likewise.
91712         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
91713         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
91714         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
91715
91716         More changes to assume C89 or better.
91717
91718         * lib/error.c (error_tail): Assume vprintf.
91719
91720         * lib/argmatch.c (getenv): Remove decl.
91721         * lib/progreloc.c (get_full_program_name): Define via prototype.
91722         * lib/setenv.c (clearenv): Likewise.
91723         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
91724         needed.
91725         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
91726         (malloc, memcpy): Remove decls.
91727         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
91728         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
91729         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
91730         (memcpy): Remove macro.
91731         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
91732         (__P): Remove.  All uses removed.
91733         (PTR): Remove.  All uses changed to void *.
91734         (CHAR_BIT, NULL): Remove.
91735         (spaces, zeros, memset_space, memset_zero)
91736         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
91737         Remove.
91738         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
91739         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
91740         Define with prototype.
91741         Remove now-unnecessary prototype decl.
91742         (extra_args_spec): Assume ANSI C.  All uses changed.
91743         (extra_args_spec_iso): Remove.
91744         (my_strftime, emacs_strftimeu): Define via prototype.
91745         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
91746         unconditionally.
91747         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
91748         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
91749         (strtoul, strtol): Remove decls.
91750         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
91751         LONG_MAX): Remove.
91752         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
91753         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
91754         (LOCALE_PARAM_PROTO): New macro.
91755         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
91756         (INTERNAL (strtol), strtol): Define with a prototype.
91757         (PARAMS): Remove.  All uses removed.
91758         * lib/tempname.c: Include <string.h> unconditionally.
91759         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
91760         * lib/xgethostname.c (main): Define with a prototype.
91761         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
91762         Include <stdlib.h> unconditionally.
91763         (calloc, malloc, realloc, free): Remove decls.
91764         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
91765         Include <stdlib.h> unconditionally.  Sort include file names.
91766         (strtod): Remove.
91767         (xstrtod): Define with a prototype.
91768         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
91769         (strtol, strtoul): Remove decls.
91770
91771 2003-09-11  Paul Eggert  <eggert@twinsun.com>
91772
91773         More patches to assume C89 or better.
91774         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
91775         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
91776         string.h, memchr, STDC_HEADERS.
91777
91778 2003-09-11  Paul Eggert  <eggert@twinsun.com>
91779
91780         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
91781         Include <stdlib.h>, <string.h> unconditionally.
91782         Remove now-unnecessary cast to char *.
91783         * lib/strnlen.c: Include <string.h> unconditionally.
91784         * lib/yesno.c (yesno): Define with a prototype.
91785
91786 2003-09-11  Bruno Haible  <bruno@clisp.org>
91787
91788         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
91789
91790 2003-09-10  Jim Meyering  <jim@meyering.net>
91791
91792         * lib/error.c: Correct indentation of cpp directives.
91793
91794 2003-09-10  Bruno Haible  <bruno@clisp.org>
91795
91796         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
91797         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
91798         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
91799         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
91800         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
91801         <stdlib.h> and <string.h> checks.
91802         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
91803         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
91804
91805 2003-09-10  Bruno Haible  <bruno@clisp.org>
91806
91807         * lib/strcspn.c: Include <string.h> unconditionally.
91808         * lib/strpbrk.c: Include <string.h> unconditionally.
91809         * lib/strstr.c: Include <string.h> unconditionally.
91810         * lib/unicodeio.c: Include <string.h> unconditionally.
91811         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
91812         * lib/unsetenv.c: Likewise.
91813         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
91814         * lib/yesno.c: Include <stdlib.h> unconditionally.
91815         (rpmatch): Add prototype.
91816
91817 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91818
91819         More patches to assume C89 or better.
91820         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
91821         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
91822         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
91823         or for string.h.
91824         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
91825         stdlib.h.
91826         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
91827         C headers.
91828         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
91829         string.h.
91830         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
91831         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
91832         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
91833         or for string.h.
91834         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
91835         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
91836         C headers.
91837         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
91838         memcpy.
91839         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
91840         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
91841         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
91842         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
91843         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
91844         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
91845         string.h, free.
91846         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
91847         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
91848         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
91849         C headers, or for string.h.
91850         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
91851         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
91852         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
91853         headers, memory.h, stdlib.h, string.h, strings.h.
91854         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
91855         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
91856         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
91857         strchr.
91858         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
91859         headers, memory.h, string.h.
91860         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
91861         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
91862         free.
91863         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
91864         headers.
91865         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
91866         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
91867         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
91868         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
91869         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
91870
91871 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91872
91873         More K&R removal.
91874
91875         * lib/acosl.c (main): Use a prototype.
91876         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
91877         tanl.c: Likewise.
91878
91879         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
91880
91881         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
91882         (getopt, etopt_long, getopt_long_only, _getopt_internal)
91883         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
91884         with a prototype.
91885         * lib/getopt.c (const): Remove macro.
91886         Include <string.h> unconditionally.
91887         (my_index): Remove; all uses changed to strchr.
91888         (strlen): Remove decl.
91889         (exchange): Remove forward decl; no longer needed.
91890         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
91891         Define with prototype.
91892         * lib/getopt1.c (const): Remove macro.
91893         (getopt_long, getopt_long_only, main): Define with prototype.
91894
91895         * lib/getugroups.c: Include <string.h> unconditionally.
91896
91897         * lib/getusershell.c: Include <stdlib.h> unconditionally.
91898         (getusershell, setusershell, endusershell, readname, main):
91899         Define with prototypes.
91900
91901         * lib/group-member.c: Include group-member.h first.
91902         Include <stdlib.h> unconditionally.
91903
91904         * lib/hard-locale.c: Include hard-locale.h first.
91905         Include <stdlib.h>, <string.h> unconditionally.
91906
91907         * lib/hash.c (free, malloc): Remove decls.
91908         Include <stdlib.h> unconditionally.
91909
91910         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
91911         (getenv): Do not declare.
91912
91913         * lib/idcache.c: Include <string.h> unconditionally.
91914
91915         * lib/long-options.c: Include long-options.h first, to test interface.
91916         Include <stdlib.h> unconditionally.
91917
91918         * lib/makepath.c: Include makepath.h first, to test interface.
91919         Include <stdlib.h> and <string.h> unconditionally.
91920
91921         * lib/linebuffer.c: Include <stdlib.h>.
91922         (free): Remove decl.
91923
91924         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
91925         stddef.h. rpl_malloc returns void *, not char *.
91926         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
91927         prototype.
91928
91929         * lib/md5.h: Include <limits.h> unconditionally.
91930         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
91931         (__P): Remove; all uses removed.
91932         * lib/md5.c: Include "md5.h" first.
91933         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
91934         md5_buffer, md5_process_bytes, md5_process_block):
91935         Define with prototypes.
91936         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
91937         * lib/sha.c: Include "sha.h" first.
91938         Include <stdlib.h>, <string.h> unconditionally.
91939
91940         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
91941         * lib/memcmp.c (__ptr_t): Likewise.
91942         * lib/memrchr.c (__ptr_t): Likewise.
91943         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
91944         Include <string.h> unconditionally.
91945         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
91946         * lib/memchr.c: Include <stdlib.h> unconditionally.
91947         * lib/memchr.c (LONG_MAX): Remove.
91948         * lib/memrchr.c (LONG_MAX): Likewise.
91949         * lib/memchr.c (__memchr): Define via a prototype.
91950         * lib/memrchr.c (__memrchr): Likewise.
91951         * lib/memcmp.c (__P): Remove, and remove all uses.
91952         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
91953         Remove forward decls; no longer needed.
91954         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
91955         Use types required by C89 in prototype.
91956
91957         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
91958         * lib/savedir.c: Likewise.
91959         * lib/mkdir.c (free): Remove decl.
91960         * lib/rmdir.c (rmdir): Define with a prototype.
91961         * lib/savedir.c: Include savedir.h first, to test interface.
91962
91963         * lib/mktime.c (STDC_HEADERS): Remove.
91964         Include <stdlib.h>, <string.h> unconditionally.
91965
91966         * lib/modechange.c: Include <stdlib.h> unconditionally.
91967         (malloc): Remove decl.
91968
91969         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
91970         (free): Remove decl.
91971
91972         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
91973         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
91974         (This type really should be intptr_t, but that's a C99ism.)
91975         (_obstack_memcpy): Remove: all uses changed to memcpy.
91976         Include <string.h> unconditionally.
91977         (struct obstack): Assume __STDC__ for types of members
91978         chunkfun, freefun, extra_arg.
91979         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
91980         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
91981         obstack_begin, obstack_specify_allocation,
91982         obstack_specify_allocation_with_arg, obstack_chunkfun,
91983         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
91984         Remove unprototyped decls and the macros that use them.
91985         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
91986         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
91987         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
91988         (defined __STDC__ && __STDC__)]:
91989         Remove nonprototyped code.
91990         Include <stdlib.h> unconditionally.
91991         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
91992         _obstack_allocated_p, _obstack_free, obstack_free,
91993         _obstack_memory_used, print_and_abort):
91994         Define using prototypes.
91995         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
91996         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
91997         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
91998         obstack_next_free, obstack_object_size, obstack_room) [0]:
91999         Remove unused, unprototyped code.
92000
92001         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
92002
92003         * lib/physmem.c (physmem_total, physmem_available, main): Define
92004         with prototypes.
92005
92006         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
92007         (main): Define with a prototype.
92008
92009         * lib/posixver.c (getenv): Remove decl.
92010
92011         * lib/putenv.c (malloc): Returns void *, not char *.
92012         Include <string.h> unconditionally.
92013         (strchr, memcpy, NULL): Do not define.
92014
92015         * lib/readtokens.c: Include readtokens.h first, to test interface.
92016         Include <stdlib.h>, <string.h> unconditionally.
92017         (init_tokenbuffer): Define with a prototype.
92018
92019         * lib/regex.c (PARAMS): Remove.  All uses removed.
92020         All uses of _RE_ARGS removed, too.
92021         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
92022         unconditionally.
92023         (bzero): Assume memset exists.
92024         (memcmp, memcpy, NULL): Remove.
92025         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
92026         char, or assignments to local vars of type signed char.
92027         (init_syntax_once, PREFIX(extract_number_and_incr),
92028         PREFIX(print_partial_compiled_pattern),
92029         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
92030         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
92031         PREFIX(regex_grow_registers), PREFIX(regex_compile),
92032         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
92033         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
92034         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
92035         wcs_compile_range, byte_compile_range, truncate_wchar,
92036         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
92037         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
92038         count_mbs_length, wcs_re_match_2_internal,
92039         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
92040         PREFIX(alt_match_null_string_p),
92041         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
92042         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
92043         regfree, PREFIX(extract_number)): Define with prototype.  Remove
92044         now-unnecessary declaration, if any.
92045         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
92046         regcomp, regexec):
92047         Remove now-unnecessary casts among pointer types.
92048         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
92049
92050         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
92051         (free): Remove decl.
92052
92053         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
92054
92055         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
92056         (free): Remove decl.
92057
92058         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
92059         * lib/xgetcwd.c: Likewise.
92060
92061         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
92062         (free): Remove decl.
92063
92064         * lib/strchrnul.c (strchrnul): Define with a prototype.
92065         Fix bug: c_in was not converted to char before searching.
92066
92067         The following changes are not K&R related:
92068
92069         * lib/group-member.h: Include <sys/types.h>, so that this file is
92070         self-contained.
92071         * lib/makepath.h: Likewise.
92072
92073         * lib/getusershell.c (readname, default_index, line_size, readname):
92074         Use size_t, not int, for sizes.
92075         (readname): If the size overflows, report an error instead of
92076         looping forever.
92077
92078 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92079
92080         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
92081         libc.
92082
92083 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92084
92085         * README: New section: portability guidelines.
92086
92087 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92088
92089         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
92090         C89 spec.
92091
92092 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92093
92094         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
92095
92096 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92097
92098         Assume C89 or better; remove K&R cruft.
92099         A few of these changes were first proposed by Derek Robert Price
92100         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
92101
92102         * lib/addext.c: Include <string.h> unconditionally.
92103         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
92104         Don't declare getenv or malloc.
92105
92106         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
92107         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
92108         (NULL): Remove.
92109         (find_stack_direction, alloca): Use prototypes.
92110
92111         * lib/atexit.c (atexit): Define using a prototype.
92112
92113         * lib/basename.c, dirname.c, stripslash.c:
92114         Include <string.h> unconditionally.
92115
92116         * lib/bcopy.c: Include <stddef.h>.
92117         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
92118
92119         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
92120
92121         * lib/error.h (error, error_at_line, error_print_progname)
92122         [! (defined (__STDC__) && __STDC__)]: Remove decls.
92123         * lib/error.c: Include error.h first, to check interface.
92124         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92125         (VA_START): Remove; all uses changeed to va_start.
92126         (exit, strerror): Remove decls.
92127         (error_print_progname): Prototype uncondionally.
92128         Don't include <errno.h>; no longer needed.
92129         (private_strerror): Remove.
92130         (error_tail): Always define.
92131         (error, error_at_line): Assume C89 or better; always use prototypes.
92132         * lib/fatal.c: Include "fatal.h" first, to test interface.
92133         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92134         (VA_START): Remove; all uses changed to va_start.
92135         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
92136         this case.
92137         (exit): Remove decl.
92138         (fatal): Prototype unconditionally.  Assume va_start works.
92139         Abort at end, to pacify gcc.
92140
92141         * lib/euidaccess.c (main): Define with a prototype.
92142
92143         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
92144
92145         * lib/exitfail.c: Include <stdlib.h> unconditionally.
92146
92147         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
92148         prototypes.
92149         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
92150         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
92151         (getenv): Remove decl.
92152         (fnmatch): Define using a prototype.
92153         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
92154         (FCT): Define using a prototype.
92155
92156         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
92157
92158         * lib/gethostname.c: Include <stddef.h>.
92159         (gethostname): Define with prototype.  Length is size_t, not int.
92160
92161 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92162
92163         Assume C89 or better; remove K&R cruft.
92164         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
92165         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
92166         string.h, getenv, malloc.
92167         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
92168         headers.
92169         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
92170         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
92171         do not check for strerror.
92172         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
92173         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
92174         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
92175         do not check for doprnt or vprintf.
92176         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
92177         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
92178
92179 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92180
92181         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
92182         getversion.c should have been removed then, but was accidentally
92183         preserved.
92184
92185         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
92186         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
92187
92188 2003-09-08  Karl Berry  <karl@gnu.org>
92189
92190         * config/config.sub, config.guess, srclistvars.sh: update from savannah
92191                 config, forget about prep.
92192
92193         * config/depcomp, missing: update from automake.
92194
92195 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92196
92197         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
92198         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92199
92200 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92201
92202         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
92203         copy_tm_result.  Bug reported by Simon Josefsson in
92204         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92205
92206 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92207
92208         * m4/time_r.m4: New file.
92209         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
92210         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
92211         is. Check for timegm declaration.
92212         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
92213         Do not check for gmtime_r.
92214         Replace mktime if __mktime_internal does not exist and if mktime
92215         hasn't been replaced already.
92216
92217 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92218
92219         * lib/time_r.c, lib/time_r.h: New files.
92220
92221         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
92222         __localtime_r.
92223         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
92224         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
92225
92226         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
92227         __gmtime_r.
92228         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
92229         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
92230         Include <time_r.h>.
92231
92232         * lib/timegm.c: Switch to glibc implementation, with the following
92233         changes:
92234         [defined HAVE_CONFIG_H]: Include <config.h>.
92235         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
92236         (__mktime_internal) [!defined _LIBC]: New decl.
92237         (__gmtime_r) [!defined _LIBC]: New macro and function.
92238         (timegm): Use a prototype, since gnulib assumes C89.
92239         Do not bother declaring tmp to be const, as it's not really usefu.
92240         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
92241         (timegm): Declare only if HAVE_DECL_TIMEGM.
92242
92243 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92244
92245         * MODULES.html.sh (func_all_modules): Add time_r.
92246         * modules/time_r: New file.
92247         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
92248         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
92249
92250 2003-09-03  Paul Eggert  <eggert@twinsun.com>
92251
92252         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
92253         Bug reported by Lute Kamstra in
92254         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
92255
92256         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
92257         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
92258         course with correspondingly smaller numbers for tomorrow and
92259         yesterday.  From Tadayoshi Funaba.  Originally installed into
92260         sh-utils on 1999-08-07, but the patch got lost (I guess during the
92261         coreutils merge?).
92262
92263 2003-08-31  Simon Josefsson  <jas@extundo.com>
92264
92265         * modules/timegm: New file.
92266         * MODULES.html.sh (func_all_modules): Add timegm.
92267
92268 2003-08-31  Simon Josefsson  <jas@extundo.com>
92269
92270         * m4/timegm.m4: New file.
92271
92272 2003-08-31  Simon Josefsson  <jas@extundo.com>
92273
92274         * lib/timegm.h: New file.
92275         * lib/timegm.c: New file.  Based on
92276         wget-1.8.2/src/http.c:mktime_from_utc.
92277
92278 2003-08-31  Karl Berry  <karl@gnu.org>
92279
92280         * lib/argp.h: update from libc.
92281
92282 2003-08-28  Bruno Haible  <bruno@clisp.org>
92283
92284         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
92285         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
92286         followed by '#define fnmatch fnmatch_posix' gives an error.
92287
92288 2003-08-28  Bruno Haible  <bruno@clisp.org>
92289
92290         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
92291         warning on QNX, which defines O_BINARY to 000000.
92292
92293 2003-08-27  Jim Meyering  <jim@meyering.net>
92294
92295         * m4/mkstemp.m4: Require that the system mkstemp be able to create
92296         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
92297         would fail after 32.  Reported by Danny Levinson.  Details here:
92298         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
92299
92300 2003-08-24  Bruno Haible  <bruno@clisp.org>
92301
92302         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
92303         MSVC7 <stdio.h> is included later.
92304
92305 2003-08-22  Simon Josefsson  <jas@extundo.com>
92306
92307         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
92308
92309 2003-08-20  Karl Berry  <karl@gnu.org>
92310
92311         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
92312
92313 2003-08-20  Bruno Haible  <bruno@clisp.org>
92314
92315         * modules/progname: New file.
92316         * MODULES.html.sh (func_all_modules): Add progname.
92317
92318 2003-08-20  Bruno Haible  <bruno@clisp.org>
92319
92320         * lib/progname.h: New file, from GNU gettext.
92321         * lib/progname.c: New file, from GNU gettext.
92322         * lib/progreloc.c: New file, from GNU gettext.
92323
92324 2003-08-19  Jim Meyering  <jim@meyering.net>
92325
92326         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
92327         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
92328
92329 2003-08-19  Bruno Haible  <bruno@clisp.org>
92330
92331         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
92332         more.
92333
92334 2003-08-19  Bruno Haible  <bruno@clisp.org>
92335
92336         * lib/xstrdup.c: Assume <string.h> exists.
92337
92338 2003-08-18  Paul Eggert  <eggert@twinsun.com>
92339
92340         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
92341         in makefile rules.
92342
92343 2003-08-18  Jim Meyering  <jim@meyering.net>
92344
92345         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
92346         * m4/lib-ld.m4: Likewise.
92347
92348 2003-08-18  Jim Meyering  <jim@meyering.net>
92349
92350         * lib/setenv.h: Indent nested cpp directive.
92351         * lib/vasnprintf.c: Remove trailing blanks.
92352
92353 2003-08-17  Simon Josefsson  <jas@extundo.com>
92354
92355         * modules/xstrndup: New file.
92356         * MODULES.html.sh (func_all_modules): Add xstrndup.
92357
92358 2003-08-17  Simon Josefsson  <jas@extundo.com>
92359
92360         * modules/argp: Fix autoconf macro name. Add more dependencies.
92361
92362 2003-08-17  Simon Josefsson  <jas@extundo.com>
92363
92364         * m4/xstrndup.m4: New file.
92365
92366 2003-08-17  Simon Josefsson  <jas@extundo.com>
92367
92368         * m4/argp.m4: New file.
92369
92370 2003-08-17  Simon Josefsson  <jas@extundo.com>
92371             Bruno Haible  <bruno@clisp.org>
92372
92373         * lib/xstrndup.h: New file.
92374         * lib/xstrndup.c: New file.
92375
92376 2003-08-17  Bruno Haible  <bruno@clisp.org>
92377
92378         * modules/strndup (Files, Include): Add lib/strndup.h.
92379
92380 2003-08-17  Bruno Haible  <bruno@clisp.org>
92381
92382         * modules/euidaccess (Files): Add lib/euidaccess.h.
92383
92384 2003-08-17  Bruno Haible  <bruno@clisp.org>
92385
92386         * lib/strndup.h: New file.
92387
92388 2003-08-17  Bruno Haible  <bruno@clisp.org>
92389
92390         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
92391         like AC_GNU_SOURCE.
92392         * modules/extensions (configure.ac): Comment out the invocation of
92393         gl_USE_SYSTEM_EXTENSIONS.
92394
92395 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92396
92397         Merges from coreutils, etc.
92398         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
92399         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
92400         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
92401         fixing a typo.
92402         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
92403         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
92404
92405 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92406
92407         Document merge from coreutils.
92408         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
92409         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
92410         * modules/utime: Add m4/utimes-null.m4.
92411
92412 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92413
92414         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
92415         space, undoing this 2003-08-12 change:
92416         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92417
92418 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92419
92420         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
92421         strtoul.c from libc, undoing this 2003-08-12 change:
92422         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92423
92424 2003-08-16  Jim Meyering  <jim@meyering.net>
92425
92426         Merges from coreutils.
92427         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
92428         prefix.  Adjust cache variables similarly.  Create 500 rather than
92429         just 300 files, to exercise bug on Darwin6.5, too.
92430         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
92431         $missing_dir.
92432         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
92433         AM_SYS_POSIX_TERMIOS.
92434         Reported by mkc@mathdogs.com.
92435         Also change use of $am_cv_sys_posix_termios
92436         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
92437         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
92438         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
92439         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
92440         in /proc/mounts until it finds one with matching device number.  This
92441         is unnecessary when the FILE argument *is* a mount point.  No stat call
92442         is necessary in that case.  So, disable the statvfs-testing code on
92443         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
92444         as RedHat bug# 84846.
92445         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92446         to 1MB, so as not to render systems with no stack size limit (e.g.,
92447         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92448         Include <unistd.h>.  On some systems,
92449         it is required for the definition of _SC_PAGESIZE.
92450
92451 2003-08-16  Jim Meyering  <jim@meyering.net>
92452
92453         Merge from coreutils.
92454         * lib/xstrtoimax.c: #else #if -> #elif.
92455         * lib/xstrtoumax.c: Likewise.
92456
92457 2003-08-16  Jim Meyering  <jim@meyering.net>
92458
92459         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
92460         * m4/utimes.m4: Removed.
92461         * m4/utimes-null.m4: Renamed from utimes.m4.
92462
92463         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92464         to 1MB, so as not to render systems with no stack size limit (e.g.,
92465         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92466         Include <unistd.h>.  On some systems,
92467         it is required for the definition of _SC_PAGESIZE.
92468
92469 2003-08-16  Jim Meyering  <jim@meyering.net>
92470         and Paul Eggert  <eggert@cs.ucla.edu>
92471
92472         Merges from coreutils, etc.
92473
92474         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
92475         using the latest version from cvs.  This avoids problems with #line
92476         directives using a vendor (Sun) compiler.
92477         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
92478         Don't set GETGROUPS_LIB here; now it's
92479         done via getgroups.m4's wrapper function.
92480         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
92481         rather than just in sh-util/configure.in, so that the
92482         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
92483         same.
92484         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
92485         AC_FUNC_GETLOADAVG where to find getloadavg.c.
92486         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
92487         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
92488         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
92489         Remove code that is now done by the newly-required macros.
92490         Append $(EXEEXT) to DF_PROG.
92491         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
92492         Do not invoke or require the following here,
92493         since prereq.m4 or some gnulib .m4 now does this for us:
92494         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
92495         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
92496         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
92497         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
92498         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
92499         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
92500         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
92501         AC_FUNC_OBSTACK.
92502         Do not replace the following functions, as this is now the job
92503         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
92504         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
92505         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
92506         atexit getpass, strdup, getpagesize.
92507         Replace 'raise'.
92508         Do not check for the following functions, as this is now the job
92509         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
92510         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
92511         setregid.
92512         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
92513         Check for sys/sysctl.h.
92514         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
92515         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
92516         of checking for ssize_t ourselves.
92517
92518         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
92519         Require every macro that gnulib/modules/* suggests for us.
92520         (jm_PREREQ_ADDEXT): New macro.
92521         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
92522         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
92523
92524         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
92525         (gl_PHYSMEM): Use it.
92526         Also check for `table' function.
92527         Check for new headers and functions.
92528         Add check for sys/sysmp.h.
92529         With suggestions from Kaveh Ghazi.
92530         Ignore headers that are present but cannot be compiled.  This
92531         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
92532         C 5.4.
92533
92534 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92535
92536         Document merge from coreutils.
92537         * modules/userspec: Depend on posixver.
92538         * modules/strftime: Depend on tzset.
92539
92540 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92541
92542         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
92543         rather than tab, after '#' in shell-script copyright notices.
92544         Suggested by Bruno Haible.
92545
92546 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92547
92548         * config/srclist-update: Use three spaces, rather than tab, after '#'
92549         in shell-script copyright notices.  Suggested by Bruno Haible.
92550         Remove unnecessary parenthesization in regular expression.
92551
92552 2003-08-15  Jim Meyering  <jim@meyering.net>
92553
92554         Merge from coreutils.
92555         * lib/xgethostname.c: Include <stdlib.h>.
92556         (xghostname): Don't exit for anything other than memory-related
92557         failure; just return NULL.
92558         * lib/userspec.c: Include "posixver.h".
92559         (parse_user_spec): Accept `.' as a separator only
92560         in pre-POSIX-200112 mode.
92561         * lib/strtoimax.c: Use #elif rather than #else #if.
92562         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
92563         Remove function, now that we can rely on a working tzset function.
92564         [!_LIBC]: Ensure that the required autoconf test has been run.
92565         [!defined _NL_CURRENT && HAVE_STRFTIME]:
92566         Use underlying_strftime for %r.
92567         * lib/sha.c: Merge in some clean-up and optimization changes from
92568         glibc.
92569         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
92570         Ensure that it is a multiple of 64.
92571         Rearrange loop exit tests so as to avoid performing an
92572         additional fread after encountering an error or EOF.
92573         * lib/realloc.c: Update copyright date.
92574
92575 2003-08-15  Jim Meyering  <jim@meyering.net>
92576         and Paul Eggert  <eggert@twinsun.com>
92577
92578         Merge from coreutils.
92579         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
92580         member but strut utmpx does not.  Needed for AIX 4.3.3.
92581         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
92582
92583 2003-08-15  Jim Meyering  <jim@meyering.net>
92584         and Paul Eggert  <eggert@cs.ucla.edu>
92585
92586         Merges from coreutils, etc.
92587         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
92588         Require gl_FUNC_TZSET_CLOBBER.
92589         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
92590         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
92591         members.
92592
92593 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92594
92595         Help the merge from coreutils.
92596         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
92597         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
92598         * m4/tzset.m4: Use it too.
92599
92600 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92601
92602         * modules/tzset: New file.
92603
92604 2003-08-14  Jim Meyering  <jim@meyering.net>
92605
92606         Merges from coreutils.
92607         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
92608         variable names, rather than @FNMATCH_H@.
92609         * modules/alloca: Likewise for $(ALLOCA_H).
92610
92611         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
92612         the three copies of the literal target, `fnmatch.h'.
92613         * modules/alloca (alloca.h): Likewise.
92614
92615 2003-08-14  Jim Meyering  <jim@meyering.net>
92616
92617         Merge from coreutils.
92618         * m4/tzset.m4: New file.
92619         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
92620         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
92621         otherwise, AIX 5.1 systems would end up using the latter.
92622         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
92623         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
92624         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
92625         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
92626
92627 2003-08-14  Jim Meyering  <jim@meyering.net>
92628
92629         Merge from coreutils.
92630         * lib/obstack.h: Whitespace changes.
92631         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
92632         and xcalloc return values.
92633         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
92634         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
92635         hang on OSF/1 5.1 for DIR on both local and remote file systems.
92636         Reported by (and fix confirmed by) Nelson H. F. Beebe.
92637         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
92638         error from mntctl.
92639         Use mntctl's return value to drive the entry-processing loop, since
92640         we can't rely on the value of the vmt_length member in the last
92641         entry.  On some systems doing so could result in exhausting
92642         virtual memory.  Based in part on a patch from Mike Jetzer.
92643
92644 2003-08-14  Jim Meyering  <jim@meyering.net>
92645         and Paul Eggert  <eggert@twinsun.com>
92646
92647         Merges from coreutils, plus other fixes.
92648         * lib/physmem.c: Merge in portability changes from gcc/libiberty
92649         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
92650         for credits and details.  Thanks to Kaveh Ghazi for helping
92651         to keep these files in sync.
92652         (ARRAY_SIZE): Define it.
92653         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
92654         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
92655         (memcasecmp): Don't assume size_t fits in unsigned int.
92656         Remove casts and duplicate code.
92657         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
92658         (memcpy): Remove definition.
92659         Merge in some clean-up and optimization changes from glibc.
92660         [BLOCKSIZE]: Move definition to top of file.
92661         Ensure that it is a multiple of 64.
92662         Rearrange loop exit tests so as to avoid performing an
92663         additional fread after encountering an error or EOF.
92664         * lib/md5.h (md5_uintptr): Define.
92665         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
92666         return to the initial working directory.  Preserve errno
92667         for caller.
92668         * lib/idcache.c: Include "xalloc.h".
92669         (xmalloc, xrealloc): Remove decls.
92670         (getuser): Remove casts no longer required in C89.
92671         * lib/human.c: Include stdio.h, for sprintf.
92672         * lib/group-member.c: Include "xalloc.h".
92673         (xmalloc, xrealloc): Remove decls.
92674         (get_group_info): Remove casts no longer required in C89.
92675         * lib/getusershell.c (readname): Remove casts no longer required in
92676         C89.
92677         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
92678         * lib/getline.c: Whitespace fix, from coreutils.
92679
92680 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92681
92682         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
92683         Check for isascii.
92684
92685         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
92686         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
92687         Undo previous (whitespace-only) change.
92688
92689 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92690
92691         * lib/exclude.c: Include <ctype.h>
92692         (IN_CTYPE_DOMAIN): New macro.
92693         (is_space): New fn.
92694         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
92695         and empty lines.
92696
92697         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
92698         Undo previous (whitespace-only) change.
92699
92700 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92701
92702         * config/srclist-update: Change update back to the old behavior,
92703         leaving whitespace alone.  Use one 'sed' command rather than a
92704         pipeline.
92705         (fixlicense): Now a variable, not a function.
92706         (remove_trailing_blanks): Remove.
92707         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
92708         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
92709         Undo previous (whitespace-only) change.
92710
92711 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92712
92713         Merge from coreutils.
92714         * modules/euidaccess: Add lib_SOURCES, include for new
92715         file euidaccess.h
92716
92717 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92718
92719         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
92720         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
92721         Normalize leading white space and remove trailing white space.
92722
92723         Merge from coreutils
92724         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
92725
92726         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
92727         0.12.1.  These files are now being upgraded automatically by
92728         ../config/srclist-update.
92729
92730 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92731
92732         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
92733         Normalize leading white space and remove trailing white space.
92734         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
92735         notice, as per ../config/srclist-update.
92736
92737         Merge from coreutils.
92738         * lib/euidaccess.h: New file.
92739         * lib/euidaccess.c: Include it.
92740         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
92741         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
92742         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
92743
92744 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92745
92746         * config/srclist-update: Add copyright notice.
92747         (remove_id_lines, remove_trailing_blanks): New constants.
92748         (fixfile): Use them to normalize spacing a bit in copied files.
92749         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
92750         Normalize leading white space and remove trailing white space.
92751
92752         * config/texinfo.tex: Sync with texinfo.
92753
92754         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
92755         strtoul.c from libc, to merge coreutils whitespace changes.
92756
92757         * config/srclist.txt: Get the following m4 files from gettext:
92758         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
92759         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
92760         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
92761         wint_t.m4.
92762
92763 2003-08-12  Karl Berry  <karl@gnu.org>
92764
92765         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
92766         been made.
92767
92768 2003-08-11  Paul Eggert  <eggert@twinsun.com>
92769
92770         * modules/gnu-source, m4/gnu-source.m4:
92771         Remove; we're assuming Autoconf 2.54 or later now.
92772         Suggested by Bruno Haible.
92773         * MODULES.html.sh (func_all_modules): Remove gnu-source.
92774
92775 2003-08-11  Bruno Haible  <bruno@clisp.org>
92776
92777         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
92778
92779 2003-08-11  Bruno Haible  <bruno@clisp.org>
92780
92781         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
92782         (vasnprintf): Use it instead of wcslen.
92783
92784 2003-08-11  Bruno Haible  <bruno@clisp.org>
92785
92786         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
92787         value to ensure that _Bool promotes to int. Use #define for _Bool when
92788         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
92789
92790 2003-08-10  Karl Berry  <karl@gnu.org>
92791
92792         * lib/regex.h: update from libc (whitespace fix).
92793
92794 2003-08-09  Paul Eggert  <eggert@twinsun.com>
92795
92796         Merge some files from coreutils.  These changes were
92797         originally made by Jim Meyering.
92798         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
92799         many older Unixes require this.
92800         * lib/alloca.c (alloca): Remove cast to argument of free;
92801         no longer needed in C89.
92802         * lib/alloca_.h, regex.h: Fix white space to match
92803         what GNU indent does.
92804
92805 2003-08-09  Paul Eggert  <eggert@twinsun.com>
92806
92807         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
92808         apparently Emacs's Unicode mode got confused before my 2003-08-05
92809         checkin.
92810
92811 2003-08-08  Paul Eggert  <eggert@twinsun.com>
92812
92813         * m4/extensions.m4: New file.
92814         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
92815         Require gl_USE_SYSTEM_EXTENSIONS.
92816         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
92817         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
92818
92819 2003-08-08  Paul Eggert  <eggert@twinsun.com>
92820
92821         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
92822         * modules/extensions, modules/gnu-source: New files.
92823         * modules/timespec, modules/unlocked-io: Depend on extensions.
92824
92825 2003-08-07  Paul Eggert  <eggert@twinsun.com>
92826
92827         * modules/restrict: New file.
92828         * MODULES.html.sh (func_all_modules): Add restrict.
92829         * modules/regex: Depend on restrict.
92830
92831 2003-08-07  Paul Eggert  <eggert@twinsun.com>
92832
92833         * m4/restrict.m4: New file.
92834         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
92835
92836 2003-08-07  Bruno Haible  <bruno@clisp.org>
92837
92838         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
92839         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
92840
92841 2003-08-07  Bruno Haible  <bruno@clisp.org>
92842
92843         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
92844         makes the module 'getndelim2' compatible with the module 'getline'.
92845
92846 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92847
92848         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
92849         byte with "\201" to avoid glitches when editing that source file
92850         with multi-gnome-terminal.
92851
92852 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92853
92854         * lib/bumpalloc.h: Remove.
92855
92856 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92857
92858         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
92859         * modules/bumpalloc: Remove.
92860
92861 2003-08-04  Paul Eggert  <eggert@twinsun.com>
92862
92863         * lib/getloadavg.c: Change copyright notice and spacing to conform to
92864         GNU coding style.
92865
92866         Merge from coreutils.
92867         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
92868         1. From glibc.
92869         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
92870         from Karl Berry, implemented by Jim Meyering.
92871         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
92872         from Dmitry V. Levin.
92873         Remove anachronistic cast of xrealloc.
92874         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
92875         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
92876         type. Otherwise, it wouldn't compile with at least /bin/cc on
92877         ymp-cray-unicos9.0.2.X.
92878         Combine two mostly-identical uses of alloca into one.
92879         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
92880
92881 2003-08-04  Dave Love  <d.love@dl.ac.uk>
92882
92883         [From Emacs.]
92884
92885         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
92886         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
92887         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
92888         obsolete NLIST_NAME_UNION.
92889         [__GNU__]: Undef BSD and FSCALE.
92890         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
92891
92892 2003-08-03  Paul Eggert  <eggert@twinsun.com>
92893
92894         * lib/stdbool_.h (_Bool): Make it signed char, instead of
92895         an enum type, so that it's guaranteed to promote to int.  See:
92896         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
92897
92898 2003-08-03  Karl Berry  <karl@gnu.org>
92899
92900         * config/depcomp: update from automake.
92901
92902 2003-07-31  Paul Eggert  <eggert@twinsun.com>
92903
92904         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
92905         (strerror): Don't assume that a printable int fits in 14 bytes.
92906
92907 2003-07-31  Bruno Haible  <bruno@clisp.org>
92908
92909         * modules/getpass-gnu: New file.
92910         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
92911
92912 2003-07-31  Bruno Haible  <bruno@clisp.org>
92913
92914         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
92915
92916 2003-07-24  Karl Berry  <karl@gnu.org>
92917
92918         * config/missing: update from automake.
92919
92920 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
92921             Bruno Haible  <bruno@clisp.org>
92922
92923         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
92924         * lib/getline.c (getline, getdelim): Likewise.
92925         Remove _GNU_SOURCE define; now it's defined in config.h through
92926         m4/getline.m4.
92927
92928 2003-07-23  Karl Berry  <karl@gnu.org>
92929
92930         * config/config.sub: update from prep.
92931
92932 2003-07-22  Paul Eggert  <eggert@twinsun.com>
92933
92934         * modules/xalloc (Depends-on): Add exitfail.
92935         * modules/xmemcoll: Likewise.
92936
92937 2003-07-22  Paul Eggert  <eggert@twinsun.com>
92938
92939         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
92940         over-parenthesization in macros.
92941
92942         Sync with coreutils.
92943
92944         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
92945         required by C99.
92946
92947         Use `exit_failure' for xalloc and xmemcoll instead of their own
92948         private exit-failure variables.
92949         * lib/xalloc.h (xalloc_exit_failure): Remove.
92950         * lib/xmalloc.c: Likewise.  Include exitfail.h.
92951         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
92952         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
92953         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
92954         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
92955
92956 2003-07-20  Jim Meyering  <jim@meyering.net>
92957
92958         * modules/closeout (Depends-on): Add exitfail.
92959         Suggestion from Bruno Haible.
92960
92961 2003-07-19  Karl Berry  <karl@gnu.org>
92962
92963         * config/config.sub: update from prep.
92964
92965 2003-07-18  Paul Eggert  <eggert@twinsun.com>
92966
92967         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
92968         Remove.
92969         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
92970         to test that it can stand by itself.  Include "exitfail.h".
92971         Clients should set exit_failure instead.
92972         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
92973
92974 2003-07-18  Bruno Haible  <bruno@clisp.org>
92975
92976         * modules/getndelim2: New file.
92977         * modules/getline: Share files with module getndelim2.
92978         * modules/getnline: Depend on getndelim2 instead of sharing files with
92979         it. Add getnline.c to lib_SOURCES.
92980         * MODULES.html.sh (func_all_modules): Add getndelim2.
92981
92982 2003-07-18  Bruno Haible  <bruno@clisp.org>
92983
92984         * m4/getndelim2.m4: New file.
92985         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
92986         invoke gl_PREREQ_GETNDELIM2.
92987         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
92988         gl_PREREQ_GETNDELIM2.
92989         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
92990         gl_GETNDELIM2.
92991
92992 2003-07-18  Bruno Haible  <bruno@clisp.org>
92993
92994         * lib/getndelim2.h: New file.
92995         * lib/getndelim2.c: Make into a module of its own. Include config.h,
92996         getndelim2.h.
92997         (getndelim2): Make non-static. Change return type to ssize_t.
92998         * lib/getline.h: Change argument names.
92999         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
93000         * lib/getnline.c: Include getndelim2.h.
93001
93002 2003-07-18  Andreas Schwab  <schwab@suse.de>
93003
93004         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
93005
93006 2003-07-17  Karl Berry  <karl@gnu.org>
93007
93008         * config/config.sub: update from prep.
93009
93010 2003-07-17  Bruno Haible  <bruno@clisp.org>
93011
93012         * modules/getnline: New file.
93013         * modules/getline: Add lib/getndelim2.c to source file list.
93014         * MODULES.html.sh (func_all_modules): Add getnline.
93015
93016 2003-07-17  Bruno Haible  <bruno@clisp.org>
93017
93018         * m4/getnline.m4: New file.
93019
93020 2003-07-17  Bruno Haible  <bruno@clisp.org>
93021
93022         * m4/Makefile.am.in: Remove file.
93023         * m4/Makefile.am: Remove file.
93024         * m4/Makefile.in: Remove file.
93025
93026 2003-07-17  Bruno Haible  <bruno@clisp.org>
93027
93028         * lib/getnline.h: New file.
93029         * lib/getnline.c: New file.
93030         * lib/getndelim2.c: New file, extracted from getline.c.
93031         (getndelim2): Renamed from getdelim2, with added nmax argument.
93032         * lib/getline.c: Include getndelim2.c.
93033         (getdelim2): Moved out to getndelim2.c.
93034         (getline, getdelim): Update.
93035
93036 2003-07-17  Bruno Haible  <bruno@clisp.org>
93037
93038         * lib/Makefile.am: Remove file.
93039         * lib/Makefile.in: Remove file.
93040
93041 2003-07-17  Bruno Haible  <bruno@clisp.org>
93042
93043         * configure.in: Remove file.
93044         * Makefile.in: Remove file.
93045
93046 2003-07-17  Bruno Haible  <bruno@clisp.org>
93047
93048         * MODULES.html.sh: Put the </BODY> right before </HTML>.
93049
93050 2003-07-16  Karl Berry  <karl@gnu.org>
93051
93052         * config/srclist-update: was running fixlicense twice, which caused
93053                 texinfo.tex to be nullified for some reason.  Simplify,
93054                 $gplsrc is no longer needed as far as I can see?
93055
93056 2003-07-16  Jim Meyering  <jim@meyering.net>
93057
93058         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
93059
93060 2003-07-15  Paul Eggert  <eggert@twinsun.com>
93061
93062         * config/srclist.txt: Get the following files from gettext-runtime/intl
93063         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
93064         ref-del.sin.  From Bruno Haible.
93065         * config/srclist-update (fixfile): Change grep pattern again, since the
93066         previous fix didn't work (there was another trailing $).  Use
93067         '[$]' to escape the $s.
93068
93069 2003-07-15  Karl Berry  <karl@gnu.org>
93070
93071         * lib/vasnprintf.c: update from gettext.
93072
93073 2003-07-15  Karl Berry  <karl@gnu.org>
93074
93075         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
93076         gets expanded when surrounded by '$'.
93077
93078 2003-07-15  Jim Meyering  <jim@meyering.net>
93079
93080         * modules/save-cwd: Don't depend on error.  From Derek Price.
93081
93082 2003-07-15  Jim Meyering  <jim@meyering.net>
93083
93084         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
93085
93086 2003-07-14  Simon Josefsson  <jas@extundo.com>
93087
93088         * modules/mempcpy: New file.
93089         * MODULES.html.sh (func_all_modules): Add mempcpy.
93090
93091 2003-07-14  Simon Josefsson  <jas@extundo.com>
93092
93093         * m4/mempcpy.m4: New file.
93094
93095 2003-07-14  Simon Josefsson  <jas@extundo.com>
93096
93097         * lib/mempcpy.h: New file.
93098         * lib/mempcpy.c: New file.
93099
93100 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93101
93102         * modules/getdate, modules/posixtm: Depend on mktime.
93103
93104 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93105
93106         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
93107         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
93108         unicodeio.c, unicodeio.h, unlocked-io.h:
93109         Switch from LGPL to GPL.
93110
93111 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93112
93113         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
93114         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
93115         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
93116         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
93117         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
93118         updated automatically by ../config/srclist-update.  This changes
93119         their license from LPGL to GPL.
93120
93121 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93122
93123         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
93124         assumed to refer to the root of the most recent stable gettext version.
93125         * config/srclistvars.sh: Add defaults for eggert.
93126         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
93127         Match "This program" as well as "The program".  This is needed
93128         for gettext.
93129
93130 2003-07-14  Jim Meyering  <jim@meyering.net>
93131
93132         Don't emit diagnostics.  Let callers do that.
93133         * lib/save-cwd.c: Don't include "error.h".
93134         (save_cwd): Don't call error.  Ensure that errno is valid
93135         when returning nonzero.
93136
93137         * lib/save-cwd.h (restore_cwd): Update prototype.
93138         * lib/save-cwd.c (restore_cwd): Remove two parameters.
93139         Simplify.  Don't call error upon failure.  Let callers do that.
93140         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
93141         when auditing is enabled.  But don't bother updating the #if.
93142
93143 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
93144
93145         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
93146         it breaks C++ compilation.
93147         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
93148
93149 2003-07-10  Simon Josefsson  <jas@extundo.com>
93150
93151         * modules/strchrnul (Makefile.am): Add strchrnul.h.
93152
93153 2003-07-10  Jim Meyering  <jim@meyering.net>
93154
93155         * m4/clock_time.m4: Remove trailing blank.
93156         * m4/intmax_t.m4: Likewise.
93157
93158 2003-07-10  Jim Meyering  <jim@meyering.net>
93159
93160         * lib/vasnprintf.c: Remove trailing blanks.
93161         Make cpp indentation consistent.
93162
93163 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93164
93165         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
93166         posixver.c, strftime.c, strnlen.c, strverscmp.c:
93167         Switch from LGPL to GPL.
93168
93169 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93170
93171         * config/srclist.txt: Sort sublists.  Add
93172         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
93173         that differ from gnulib for one reason or another; we'd like this list
93174         to be smaller but for now let's document what we have.
93175
93176 2003-07-08  Paul Eggert  <eggert@twinsun.com>
93177
93178         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
93179         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
93180         and sweeter "eval x=$x".
93181         * config/srclist.txt: Get lib/argp* from glibc.
93182
93183 2003-07-07  Paul Eggert  <eggert@twinsun.com>
93184
93185         * lib/mktime.c: Fix some boundary cases and remove need for floating
93186         point.
93187
93188         Issue a compile-time diagnostic if time_t is floating point, or if
93189         two's complement arithmetic is not in effect, or if arithmetic
93190         right shift does not propagate the sign.  These assumptions were
93191         all in the original code but they weren't checked.
93192
93193         (TIME_T_MIDPOINT, verify): New macros.
93194         (__isleap): Remove; it has integer overflow problems.
93195         (leapyear): New function, without those problems.
93196         (ydhms_tm_diff): Remove; splitting into two parts.
93197         (ydhms_diff): New function, containing the arithmetic part of
93198         the old ydhms_tm_diff function.  Issue a compile-time
93199         diagnostic if we are not using C99 integer division.
93200         Avoid casts when possible.
93201         (guess_time_tm): New function, containing the checking part of
93202         the old ydhms_tm_diff function.  Return the new value, rather than
93203         the difference between it and the old.  Accept a new argument T
93204         so that *T specifies the old value.  Check for overflow in the result.
93205
93206         (__mktime_internal): Use a time_t offset, not a long int offset.
93207         This undoes the 2003-06-04 change, which is no longer needed now
93208         that we have better overflow checking.
93209         (localtime_offset): Likewise.
93210
93211         (__mktime_internal): Avoid harmful overflow on hosts where time_t
93212         and long are 64-bit but int is only 32-bit.
93213         (ydhms_diff): Use long int to store year1 and yday1.
93214         Issue a compile-time diagnostic if long int is not wide enough.
93215
93216         (__mktime_internal): Use long int to store adjusted year and yday.
93217         Use plain C rather than preprocessor commands, if that doesn't
93218         affect efficiency.
93219         Check for overflow (and try to repair) after each probe
93220         rather than checking only at the very end.  This avoids some bugs
93221         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
93222         does not equal GMT offset at maximum time).
93223         Use integer to check for overflow rather than floating point; this
93224         is more portable to non-IEEE hosts, and is a tad faster.
93225         When we detect that we are oscillating between two values,
93226         don't check whether tm_isdst has the requested value, since
93227         we already know the answer.  When tm_isdst has the wrong value,
93228         use a different heuristic to find the right one, based on the
93229         extreme values actually observed in practice in tz2003a,
93230         rather than the (overly optimistic) "previous 3 calendar quarters".
93231
93232         (not_equal_tm, print_tm, check_result): Use "const T" rather than
93233         "T const" to accommodate glibc style.
93234         (check_result): Use less-confusing report format.  "long" -> "long int.
93235         (main): Likewise.
93236         Don't loop if the iteration overflows time_t.
93237         Allow a negative step in the iteration.
93238
93239 2003-07-06  Karl Berry  <karl@gnu.org>
93240
93241         * config/depcomp: update from automake.
93242         * config/config.sub: update from prep.
93243
93244 2003-07-03  Karl Berry  <karl@gnu.org>
93245
93246         * config/config.guess: update from prep.
93247
93248 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93249
93250         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
93251         xreadlink.c now includes it unconditionally.
93252
93253 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93254
93255         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
93256         having it depend on HAVE_SYS_TYPES_H.
93257
93258 2003-07-01  Bruno Haible  <bruno@clisp.org>
93259
93260         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
93261         <sys/types.h> should be sufficient.
93262         Reported by Paul Eggert.
93263
93264 2003-06-26  Karl Berry  <karl@gnu.org>
93265
93266         * config/depcomp: update from automake.
93267
93268 2003-06-26  Bruno Haible  <bruno@clisp.org>
93269
93270         * modules/human: Depend on module stdbool.
93271
93272 2003-06-25  Bruno Haible  <bruno@clisp.org>
93273
93274         * modules/readlink: New file.
93275         * modules/xreadlink: Depend on it.
93276         * MODULES.html.sh (func_all_modules): Add readlink.
93277
93278 2003-06-25  Bruno Haible  <bruno@clisp.org>
93279
93280         * m4/readlink.m4: New file.
93281
93282 2003-06-25  Bruno Haible  <bruno@clisp.org>
93283
93284         * lib/readlink.c: New file.
93285
93286 2003-06-22  Karl Berry  <karl@gnu.org>
93287
93288         * config/srclist.txt: update mkinstalldirs from automake.
93289         * config/mkinstalldirs: update.
93290
93291 2003-06-22  Bruno Haible  <bruno@clisp.org>
93292
93293         Portability to mingw32.
93294         * m4/ssize_t.m4: New file, from GNU gettext.
93295         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
93296         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
93297
93298 2003-06-22  Bruno Haible  <bruno@clisp.org>
93299
93300         * modules/safe-read: Add m4/ssize_t.m4.
93301         * modules/xreadlink: Add m4/ssize_t.m4.
93302
93303 2003-06-20  Bruno Haible  <bruno@clisp.org>
93304
93305         Assume C89, so PARAMS isn't needed.
93306         * lib/unicodeio.h (PARAMS): Remove.
93307         * lib/unicodeio.c: Don't use PARAMS.
93308
93309 2003-06-18  Karl Berry  <karl@gnu.org>
93310
93311         * config/config.{guess,sub}: update from prep.
93312
93313 2003-06-18  Jim Meyering  <jim@meyering.net>
93314
93315         Merge changes from coreutils.
93316         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
93317         Remove explicit declarations of xmalloc and realloc.
93318         Include xalloc.h.
93319         (read_utmp): Remove anachronistic cast of xmalloc.
93320
93321 2003-06-17  Paul Eggert  <eggert@twinsun.com>
93322
93323         Assume C89, so PARAMS isn't needed.
93324         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
93325         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
93326         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
93327         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
93328         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
93329         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
93330         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
93331         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
93332         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
93333         lib/xstrtod.h, lib/xstrtol.h: Likewise.
93334         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
93335         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
93336         no longer needed. Anyway, config.h should always be included before any
93337         other file.
93338
93339 2003-06-11  Simon Josefsson  <jas@extundo.com>
93340
93341         * modules/sysexits: New file.
93342         * MODULES.html.sh (func_all_modules): Add sysexits.
93343
93344 2003-06-11  Simon Josefsson  <jas@extundo.com>
93345
93346         * lib/sysexit_.h: New file.
93347
93348 2003-06-11  Derek Price  <derek@ximbiot.com>
93349
93350         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
93351         necessary.
93352
93353 2003-06-11  Bruno Haible  <bruno@clisp.org>
93354
93355         * m4/sysexits.m4: New file.
93356
93357 2003-06-10  Simon Josefsson  <jas@extundo.com>
93358
93359         * lib/argp.h: New file, from glibc.
93360         * lib/argp-ba.c: New file, from glibc.
93361         * lib/argp-eexst.c: New file, from glibc.
93362         * lib/argp-fmtstream.c: New file, from glibc.
93363         * lib/argp-fmtstream.h: New file, from glibc.
93364         * lib/argp-fs-xinl.c: New file, from glibc.
93365         * lib/argp-help.c: New file, from glibc.
93366         * lib/argp-namefrob.h: New file, from glibc.
93367         * lib/argp-parse.c: New file, from glibc.
93368         * lib/argp-pv.c: New file, from glibc.
93369         * lib/argp-pvh.c: New file, from glibc.
93370         * lib/argp-xinl.c: New file, from glibc.
93371
93372 2003-06-10  Simon Josefsson  <jas@extundo.com>
93373
93374         * modules/strchrnul: New file.
93375
93376 2003-06-10  Simon Josefsson  <jas@extundo.com>
93377
93378         * modules/argp: New file.
93379
93380 2003-06-10  Simon Josefsson  <jas@extundo.com>
93381
93382         * m4/strchrnul.m4: New file.
93383
93384 2003-06-10  Simon Josefsson  <jas@extundo.com>
93385
93386         * lib/strchrnul.h: New file.
93387         * lib/strchrnul.c: New file.
93388
93389 2003-06-10  Bruno Haible  <bruno@clisp.org>
93390
93391         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
93392
93393 2003-06-07  Karl Berry  <karl@gnu.org>
93394
93395         * config/config.{guess,sub}: update from prep.
93396
93397 2003-06-07  Jim Meyering  <jim@meyering.net>
93398
93399         * modules/strtod: Use $(...) notation, not @...@ for
93400         AC_REPLACE'd variables.
93401         * modules/localcharset: Likewise.
93402
93403 2003-06-07  Jim Meyering  <jim@meyering.net>
93404
93405         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
93406         in place of my name in the copyright comment.
93407         Remove definition and uses of __P.
93408
93409         From coreutils.
93410         * lib/stat.c: Don't declare xmalloc explicitly.
93411         Instead, include "xalloc.h".
93412         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
93413         xrealloc, and xcalloc return values.
93414         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
93415         Improve comment.
93416         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
93417
93418 2003-06-07  Bruno Haible  <bruno@clisp.org>
93419
93420         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
93421         avoid AC_CONFIG_LINKS.
93422         * modules/fnmatch (Makefile.am): Use explicit creation rule for
93423         fnmatch.h, to avoid AC_CONFIG_LINKS.
93424         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
93425
93426 2003-06-07  Bruno Haible  <bruno@clisp.org>
93427
93428         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
93429         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
93430         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93431         directory.
93432         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
93433         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93434         directory.
93435
93436 2003-06-06  Jim Meyering  <jim@meyering.net>
93437
93438         Merge from coreutils.
93439         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
93440         Consolidate declarations and initializations of *_base* locals.
93441
93442         Merge from coreutils.
93443         This avoids a core dump on systems without GNU putenv,
93444         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
93445         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
93446         (unsetenv): New static function, from GNU libc.
93447         (rpl_putenv): Use it.
93448
93449         * lib/modechange.c: Remove trailing blanks.
93450
93451         Merge from coreutils.
93452         * lib/fsusage.c: Remove declaration of statfs.
93453         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
93454
93455         * lib/posixtm.c: Include <stdbool.h> unconditionally.
93456
93457 2003-06-06  Jim Meyering  <jim@meyering.net>
93458
93459         * lib/stdbool_.h: Renamed from stdbool.h.in.
93460
93461 2003-06-06  Jim Meyering  <jim@meyering.net>
93462             Bruno Haible  <bruno@clisp.org>
93463
93464         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
93465         Adjust Makefile.am snippet not to redirect directly to target.
93466         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
93467
93468 2003-06-05  Paul Eggert  <eggert@twinsun.com>
93469
93470         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
93471         mismatch, look in future quarters as well as past.  This fixes a
93472         bug when processing fall-backwards gaps immediately after a long
93473         period of daylight-saving time.
93474
93475         * lib/mktime.c: Assume freestanding C89 or better.
93476         (HAVE_LIMITS_H): Remove.  Assume it's 1.
93477         (__P): Remove; not used.
93478         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
93479         (mktime, not_equal_tm, print_tm, check_result,
93480         main): Use prototypes.  Use const * where appropriate.
93481         (main): Fix typo in testing code that uncovered by above changes.
93482         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
93483
93484 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93485
93486         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
93487         locale.h, localeconv.  This merges changes from coreutils.
93488
93489         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
93490         It can be removed after the next Autoconf is released.
93491         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
93492         needed.
93493
93494 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93495
93496         * lib/mktime.c: Fix Debian bug 177940
93497         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
93498         (localtime_offset): Now long int, not time_t, because we want it
93499         to be guaranteed to be signed.  All uses changed.
93500         (__mktime_internal): If overflow would occur when adding offset,
93501         don't add it.
93502
93503         Merge 'human' changes from coreutils.  Rewrite to support
93504         locale-specific notations like thousands separators.
93505         * lib/human.c: Simplify authorship notice.
93506         Include human.h immediately after config.h.
93507         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
93508         <limits.h>: Do not include, since human.h does.
93509         (SIZE_MAX, UINTMAX_MAX): New macros.
93510         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
93511         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
93512         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
93513         (power_letter): Renamed from suffixes.
93514         (generate_suffix_backwards): Remove.
93515         (adjust_value): Now takes int style (because of human.h changes)
93516         and long double value (for greater precision on some platforms).
93517         (group_number): New function.
93518         (human_readable): Use it.  Use integer options, not enum.
93519         Put the options before the sizes in the arg list.
93520         Support all the new options.
93521         The old human_readable function has been removed;
93522         use inttostr.h instead.
93523         (human_readable, default_block_size, humblock):
93524         Use uintmax_t, not int, for block sizes.
93525         (human_readable_inexact, block_size_types): Remove.
93526         (block_size_opts): New constant.
93527         (human_options): Renamed from human_block_size, with new signature
93528         that allows block sizes up to UINTMAX_MAX.  All callers changed.
93529         * lib/human.h: Add copyright and authorship notice.
93530         Include <limits.h> and <stdbool.h> unconditionally.
93531         (PARAMS): Remove.  All uses removed.
93532         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
93533         (enum human_inexact_style): Remove tag; now a nameless enum.
93534         (human_floor, human_ceiling, human_round_to_even): Now have
93535         values 2, 0, 1 rather than -1, 1, 0.
93536         (human_group_digits, human_suppress_point_zero, human_autoscale,
93537         human_base_1024, human_SI, human_B): New constants.
93538         (human_readable_inexact, human_block_size): Remove.
93539         (human_readable): Size args are now uintmax_t, not int.
93540         (human_options): New decl.
93541
93542         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
93543         unnecessary now that we assume C89 or better.  This change
93544         imported from coreutils.
93545
93546         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93547         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
93548         in the 2003-05-30 sync from glibc.
93549
93550         .h files should stand alone, but we shouldn't include <sys/types.h>
93551         if we can get away with just <stddef.h>.
93552
93553         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
93554         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
93555         rather than <sys/types.h>, as we merely need size_t.
93556         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
93557         to get size_t.
93558         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
93559         Include <stdio.h>, to get FILE.
93560         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
93561         memcasecmp.h has included <stddef.h> and all we need is size_t.
93562         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
93563         our interface, instead of including <sys/types.h>
93564
93565 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93566
93567         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
93568         now, as glibc mktime is buggy on non-glibc systems.
93569
93570 2003-06-03  Karl Berry  <karl@gnu.org>
93571
93572         * config/config.sub: update from prep.
93573
93574 2003-06-02  Paul Eggert  <eggert@twinsun.com>
93575
93576         [from coreutils]
93577         Fix some minor time-related bugs with POSIX time arguments.
93578         Some valid time stamps were being rejected (notably -1, and
93579         time stamps before 1900 on 64-bit hosts).  And some invalid
93580         time stamps were being accepted, e.g. September 31.
93581
93582         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
93583         that we can return (time_t) -1 successfully.
93584         * lib/posixtm.c: Likewise.
93585         [HAVE_STDBOOL_H]: Include <stdbool.h>.
93586         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
93587         (t): Remove static var.
93588         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
93589         of static var.  All uses changed.
93590         (year): Do not reject years before 1900; they can occur with
93591         64-bit time_t.
93592         (posix_time_parse): Do not check for out-of-range components;
93593         that is now the caller's responsibility, since our checks were
93594         only approximations.
93595         (posixtime): Use mktime to check for out-of-range components,
93596         since it knows them exactly.
93597         If mktime returns (time_t) -1, check whether an error actually occurred
93598         by invoking localtime on -1.
93599         (main) [TEST_POSIXTIME]: Check for input data errors, and report
93600         posixtime failures better.
93601         Improve the test data (in comments only).
93602
93603 2003-06-02  Karl Berry  <karl@gnu.org>
93604
93605         * config/mkinstalldirs (version): new variable.
93606         (--version): new option.
93607         (usage): improve message.
93608
93609 2003-05-30  Karl Berry  <karl@gnu.org>
93610
93611         * lib/mktime.c: update from libc.
93612
93613 2003-05-30  Bruno Haible  <bruno@clisp.org>
93614
93615         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
93616         * config/config.rpath: Upgrade to gettext-0.12.1.
93617
93618 2003-05-30  Bruno Haible  <bruno@clisp.org>
93619
93620         * m4/gettext.m4: Upgrade to gettext-0.12.1.
93621         * m4/nls.m4: New file, from gettext-0.12.1.
93622         * m4/po.m4: New file, from gettext-0.12.1.
93623         * m4/progtest.m4: Upgrade to gettext-0.12.1.
93624
93625 2003-05-30  Bruno Haible  <bruno@clisp.org>
93626
93627         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
93628         * lib/localcharset.h: Likewise.
93629         * lib/localcharset.c: Likewise.
93630
93631 2003-05-29  Karl Berry  <karl@gnu.org>
93632
93633         * config/config.rpath: update from gettext.
93634
93635 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93636
93637         Assume the headers required for C89 freestanding compilers.
93638         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
93639         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
93640         * m4/human.m4 (gl_HUMAN): Likewise.
93641         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
93642         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
93643         * m4/userspec.m4 (gl_USERSPEC): Likewise.
93644         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
93645         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
93646         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
93647
93648 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93649
93650         Assume the headers required for C89 freestanding compilers.
93651         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
93652         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
93653         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
93654         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
93655         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
93656         define, since <limits.h> is guaranteed to do that.
93657         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
93658         * lib/exclude.c: Include <stdbool.h> unconditionally.
93659         * lib/tempname.c: Include <stddef.h> unconditionally.
93660         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
93661         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
93662         <stddef.h> does that.
93663         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
93664         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
93665         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
93666         needed.
93667         * lib/xstrtol.c: Likewise.
93668         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
93669         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
93670
93671         * lib/addext.c (addext): Use assignment rather than cast, to avoid
93672         warnings on some platforms.
93673
93674         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93675         arbitrarily.
93676
93677 2003-05-26  Jim Meyering  <jim@meyering.net>
93678
93679         Merge in a change from coreutils:
93680         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
93681         that is guaranteed to be `no'.  Use `no_such_member' to indicate
93682         that condition, rather than `-1' which is slightly misleading.
93683         Change the name of the cache variable to have the gl_ prefix.
93684         Prompted by a patch from Richard Dawe for DJGPP.
93685
93686 2003-05-24  Karl Berry  <karl@gnu.org>
93687
93688         * config/config.guess: update from prep.
93689
93690 2003-05-22  Karl Berry  <karl@gnu.org>
93691
93692         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
93693
93694 2003-05-20  Karl Berry  <karl@gnu.org>
93695
93696         * config/config.guess: update from prep.
93697
93698 2003-05-18  Karl Berry  <karl@gnu.org>
93699
93700         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
93701         might actually be set by the user.
93702
93703         * config/depcomp, install-sh, mdate-sh: update from automake.
93704
93705 2003-05-17  Bruno Haible  <bruno@clisp.org>
93706
93707         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
93708         invalid expansion for AC_EGREP_CPP.
93709         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
93710         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
93711         Suggested by Akim Demaille <akim@epita.fr> in
93712         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
93713
93714 2003-05-12  Jim Meyering  <jim@meyering.net>
93715
93716         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
93717         the space-padded-by-default conversion specifiers, %e, %k, %l.
93718
93719 2003-05-12  Bruno Haible  <bruno@clisp.org>
93720
93721         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
93722         the string is longer than 4 KB.
93723
93724 2003-05-11  Karl Berry  <karl@gnu.org>
93725
93726         * config/config.{guess,sub}: update from prep.
93727
93728 2003-05-09  Bruno Haible  <bruno@clisp.org>
93729
93730         * modules/error: Add m4/strerror_r.m4 to file list.
93731
93732 2003-05-03  Bruno Haible  <bruno@clisp.org>
93733
93734         Upgrade to Unicode-4.0.
93735         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
93736         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
93737         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
93738         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
93739         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
93740         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
93741         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
93742         Change width of U+E0100..U+E01EF from 1 to 0.
93743
93744 2003-04-25  Jim Meyering  <jim@meyering.net>
93745
93746         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
93747         of type size_t, not int.
93748
93749 2003-04-25  Bruno Haible  <bruno@clisp.org>
93750
93751         * lib/copy-file.c: Include <stddef.h>, for size_t.
93752
93753 2003-04-21  Paul Eggert  <eggert@twinsun.com>
93754
93755         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
93756         code which expansion is under static control.  Patch imported from
93757         Akim Demaille's patch to Bison; see
93758         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
93759
93760 2003-04-14  Bruno Haible  <bruno@clisp.org>
93761
93762         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
93763
93764 2003-04-11  Jim Meyering  <jim@meyering.net>
93765
93766         Merge changes from Coreutils.
93767
93768         2003-03-22  Jim Meyering  <jim@meyering.net>
93769
93770         * lib/strftime.c (widen): Cast alloca return value to proper type.
93771
93772         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
93773
93774         From GNU libc.
93775         * lib/strftime.c (my_strftime): Handle very large width
93776         specifications for numeric values correctly.  Improve checks for
93777         overflow.
93778
93779         2003-01-19  Jim Meyering  <jim@meyering.net>
93780
93781         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
93782         definitions.
93783         (nl_get_alt_digit) [! defined my_strftime]: Define.
93784         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
93785         _nl_get_alt_digit and _nl_get_walt_digit.
93786
93787         * lib/strftime.c (my_strftime): Merge in locale-related changes from
93788         libc. These changes have no effect outside of _LIBC.
93789
93790 2003-04-10  Bruno Haible  <bruno@clisp.org>
93791
93792         * modules/findprog: New file.
93793         * MODULES.html.sh (func_all_modules): Add it.
93794
93795 2003-04-10  Bruno Haible  <bruno@clisp.org>
93796
93797         * m4/findprog.m4: New file.
93798         * m4/eaccess.m4: New file.
93799
93800 2003-04-10  Bruno Haible  <bruno@clisp.org>
93801
93802         * lib/findprog.h: New file, from GNU gettext.
93803         * lib/findprog.c: New file, from GNU gettext.
93804
93805 2003-04-05  Jim Meyering  <jim@meyering.net>
93806
93807         Merge changes from Coreutils.
93808
93809         * lib/exclude.h (PARAMS): Remove definition and uses.
93810         * lib/exclude.c: Remove uses of `PARAMS'.
93811
93812         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
93813         Add test-cases for DOS filenames. Declare program_name.
93814         (main): Set up program_name.  Patch by Rich Dawe.
93815
93816         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
93817         error from mntctl.
93818         Use mntctl's return value to drive the entry-processing loop, since
93819         we can't rely on the value of the vmt_length member in the last
93820         entry.  On some systems doing so could result in exhausting
93821         virtual memory.  Based in part on a patch from Mike Jetzer.
93822
93823 2003-04-04  Bruno Haible  <bruno@clisp.org>
93824
93825         * modules/linebreak: New file.
93826         * MODULES.html.sh (func_all_modules): Add it.
93827
93828 2003-04-04  Bruno Haible  <bruno@clisp.org>
93829
93830         * m4/linebreak.m4: New file.
93831
93832 2003-04-04  Bruno Haible  <bruno@clisp.org>
93833
93834         * lib/linebreak.h: New file, from GNU gettext.
93835         * lib/linebreak.c: New file, from GNU gettext with slight
93836         modifications.
93837         * lib/lbrkprop.h: New file, from GNU gettext.
93838
93839 2003-04-03  Bruno Haible  <bruno@clisp.org>
93840
93841         * modules/utf8-ucs4: New file.
93842         * modules/utf16-ucs4: New file.
93843         * modules/ucs4-utf8: New file.
93844         * modules/ucs4-utf16: New file.
93845         * MODULES.html.sh (func_all_modules): Add them.
93846
93847 2003-04-03  Bruno Haible  <bruno@clisp.org>
93848
93849         * m4/utf-ucs4.m4: New file.
93850         * m4/ucs4-utf.m4: New file.
93851
93852 2003-04-03  Bruno Haible  <bruno@clisp.org>
93853
93854         * lib/utf8-ucs4.h: New file, from GNU gettext.
93855         * lib/utf16-ucs4.h: New file, from GNU gettext.
93856         * lib/ucs4-utf8.h: New file, from GNU gettext.
93857         * lib/ucs4-utf16.h: New file, from GNU gettext.
93858
93859 2003-04-02  Bruno Haible  <bruno@clisp.org>
93860
93861         * modules/binary-io: New file.
93862         * MODULES.html.sh (func_all_modules): Add it.
93863
93864 2003-04-02  Bruno Haible  <bruno@clisp.org>
93865
93866         * lib/binary-io.h: New file, from GNU gettext.
93867
93868 2003-04-01  Bruno Haible  <bruno@clisp.org>
93869
93870         * modules/pathname: New file.
93871         * MODULES.html.sh (func_all_modules): Add it.
93872
93873 2003-04-01  Bruno Haible  <bruno@clisp.org>
93874
93875         * lib/pathname.h: New file, from GNU gettext.
93876         * lib/concatpath.c: New file, from GNU gettext.
93877
93878 2003-03-30  Bruno Haible  <bruno@clisp.org>
93879
93880         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
93881
93882 2003-03-30  Bruno Haible  <bruno@clisp.org>
93883
93884         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
93885         function chown() doesn't exist.
93886
93887 2003-03-28  Bruno Haible  <bruno@clisp.org>
93888
93889         * modules/copy-file: New file.
93890         * MODULES.html.sh (func_all_modules): Add it.
93891
93892 2003-03-28  Bruno Haible  <bruno@clisp.org>
93893
93894         * m4/copy-file.m4: New file.
93895
93896 2003-03-28  Bruno Haible  <bruno@clisp.org>
93897
93898         * lib/copy-file.h: New file, from GNU gettext.
93899         * lib/copy-file.c: New file, from GNU gettext.
93900
93901 2003-03-18  Jim Meyering  <jim@meyering.net>
93902
93903         * lib/quote.c (quote_n): Fix typo in comment.
93904
93905 2003-03-18  Bruno Haible  <bruno@clisp.org>
93906
93907         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
93908         checking.
93909         * m4/onceonly_2_57.m4: Likewise.
93910
93911 2003-03-17  Bruno Haible  <bruno@clisp.org>
93912
93913         * m4/onceonly.m4: Require autoconf 2.54 or newer.
93914         (m4_quote): Remove macro.
93915         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
93916
93917 2003-03-14  Jim Meyering  <jim@meyering.net>
93918
93919         Merge changes from Coreutils.
93920         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
93921         to be const, in order to avoid warnings.
93922         (obstack_room): Likewise.
93923         (obstack_empty_p): Likewise.
93924
93925 2003-03-14  Bruno Haible  <bruno@clisp.org>
93926
93927         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
93928         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
93929
93930 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93931
93932         Merge changes from Bison.
93933         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
93934         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
93935         when compiling Bison 1.875's `bitset bset = obstack_alloc
93936         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
93937         * lib/hash.c: Include <stdbool.h> unconditionally.
93938
93939 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93940
93941         * m4/onceonly.m4 (m4_quote): New macro.
93942         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
93943         Quote AC_FOREACH variable-expansions properly.
93944
93945 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93946
93947         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
93948
93949 2003-03-09  Paul Eggert  <eggert@twinsun.com>
93950
93951         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
93952         Reported by Bruce Becker; see:
93953         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
93954
93955 2003-03-03  Paul Eggert  <eggert@twinsun.com>
93956             Bruno Haible  <bruno@clisp.org>
93957
93958         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
93959         Reported by John Hughes, see
93960         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
93961
93962 2003-02-20  Bruno Haible  <bruno@clisp.org>
93963
93964         * MODULES.html.sh (func_all_modules): Add poll.
93965
93966 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93967
93968         * modules/poll: New file.
93969
93970 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93971
93972         * lib/poll_.h: New file.
93973         * lib/poll.c: New file.
93974
93975 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93976
93977         * m4/poll.m4: New file.
93978
93979 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
93980
93981         * modules/mathl: New file.
93982
93983 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
93984
93985         * lib/mathl.h: New file.
93986         * lib/acosl.c: New file.
93987         * lib/asinl.c: New file.
93988         * lib/atanl.c: New file.
93989         * lib/ceill.c: New file.
93990         * lib/cosl.c: New file.
93991         * lib/expl.c: New file.
93992         * lib/floorl.c: New file.
93993         * lib/frexpl.c: New file.
93994         * lib/ldexpl.c: New file.
93995         * lib/logl.c: New file.
93996         * lib/sincosl.c: New file.
93997         * lib/sinl.c: New file.
93998         * lib/sqrtl.c: New file.
93999         * lib/tanl.c: New file.
94000         * lib/trigl.c: New file.
94001         * lib/trigl.h: New file.
94002
94003 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94004
94005         * m4/mathl.m4: New file.
94006
94007 2003-02-18  Bruno Haible  <bruno@clisp.org>
94008
94009         * MODULES.html.sh (func_all_modules): Add mathl.
94010
94011 2003-02-17  Bruno Haible  <bruno@clisp.org>
94012
94013         * modules/mkdtemp: New module.
94014         * MODULES.html.sh (func_all_modules): Add it.
94015
94016 2003-02-17  Bruno Haible  <bruno@clisp.org>
94017
94018         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
94019
94020 2003-02-17  Bruno Haible  <bruno@clisp.org>
94021
94022         * lib/mkdtemp.h: New file, from GNU gettext.
94023         * lib/mkdtemp.c: New file, from GNU gettext.
94024
94025 2003-02-02  Jim Meyering  <jim@meyering.net>
94026
94027         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
94028         e.g. glibc-2.2.93.
94029
94030 2003-01-31  Bruno Haible  <bruno@clisp.org>
94031
94032         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
94033         'rpl_rename'.
94034         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
94035         'rpl_strnlen'.
94036         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
94037         'rpl_strtod'.
94038         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
94039         'rpl_utime'.
94040
94041 2003-01-31  Bruno Haible  <bruno@clisp.org>
94042
94043         * lib/rename.c: #undef rename before defining rpl_rename.
94044         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
94045
94046 2003-01-30  Bruno Haible  <bruno@clisp.org>
94047
94048         * modules/vasnprintf, modules/vasprintf: New modules.
94049         * MODULES.html.sh (func_all_modules): Add them.
94050
94051 2003-01-30  Bruno Haible  <bruno@clisp.org>
94052
94053         * m4/signed.m4: New file, from GNU gettext.
94054         * m4/longdouble.m4: New file, from GNU gettext.
94055         * m4/wchar_t.m4: New file, from GNU gettext.
94056         * m4/wint_t.m4: New file, from GNU gettext.
94057         * m4/vasnprintf.m4: New file.
94058         * m4/vasprintf.m4: New file.
94059
94060 2003-01-30  Bruno Haible  <bruno@clisp.org>
94061
94062         * lib/printf-args.h: New file, from GNU gettext.
94063         * lib/printf-args.c: New file, from GNU gettext.
94064         * lib/printf-parse.h: New file, from GNU gettext.
94065         * lib/printf-parse.c: New file, from GNU gettext.
94066         * lib/vasnprintf.h: New file, from GNU gettext.
94067         * lib/vasnprintf.c: New file, from GNU gettext.
94068         * lib/asnprintf.c: New file, from GNU gettext.
94069         * lib/vasprintf.h: New file, from GNU gettext with modifications.
94070         * lib/vasprintf.c: New file, from GNU gettext.
94071         * lib/asprintf.c: New file, from GNU gettext.
94072
94073 2003-01-29  Bruno Haible  <bruno@clisp.org>
94074
94075         * modules/stpncpy: New module.
94076         * MODULES.html.sh (func_all_modules): Add it.
94077
94078 2003-01-29  Bruno Haible  <bruno@clisp.org>
94079
94080         * m4/stpncpy.m4: New file.
94081
94082 2003-01-29  Bruno Haible  <bruno@clisp.org>
94083
94084         * lib/stpncpy.h: New file, from GNU gettext with modifications.
94085         * lib/stpncpy.c: New file, from GNU gettext with modifications.
94086
94087 2003-01-28  Bruno Haible  <bruno@clisp.org>
94088
94089         * modules/c-ctype: New module.
94090         * MODULES.html.sh (func_all_modules): Add it.
94091
94092 2003-01-28  Bruno Haible  <bruno@clisp.org>
94093
94094         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
94095         Paul Eggert.
94096         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
94097         Paul Eggert.
94098
94099 2003-01-27  Bruno Haible  <bruno@clisp.org>
94100
94101         * modules/xsetenv: New module.
94102         * MODULES.html.sh (func_all_modules): Add it.
94103
94104 2003-01-27  Bruno Haible  <bruno@clisp.org>
94105
94106         * lib/xsetenv.h: New file, from GNU gettext.
94107         * lib/xsetenv.c: New file, from GNU gettext.
94108
94109 2003-01-23  Jim Meyering  <jim@meyering.net>
94110
94111         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
94112         from working on systems without dirfd (at least Irix and OSF1/Tru64).
94113
94114 2003-01-23  Bruno Haible  <bruno@clisp.org>
94115
94116         * modules/minmax: New module.
94117         * MODULES.html.sh (func_all_modules): Add it.
94118
94119 2003-01-23  Bruno Haible  <bruno@clisp.org>
94120
94121         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
94122         Eggert.
94123
94124 2003-01-22  Bruno Haible  <bruno@clisp.org>
94125
94126         * modules/exit: New module.
94127         * MODULES.html.sh (func_all_modules): Add it.
94128
94129 2003-01-22  Bruno Haible  <bruno@clisp.org>
94130
94131         * lib/exit.h: New file, from GNU gettext.
94132
94133 2003-01-19  Bruno Haible  <bruno@clisp.org>
94134
94135         * gnulib-tool: Recognize option --extract-maintainer.
94136         (func_get_maintainer): New function.
94137         * modules/*: Add Maintainer entry.
94138
94139 2003-01-16  Jim Meyering  <jim@meyering.net>
94140
94141         * m4/regex.m4: The `regex' struct is both input and output.
94142         Initialize it before each use.  Patch by Tim Waugh.
94143
94144 2003-01-16  Bruno Haible  <bruno@clisp.org>
94145
94146         * MODULES.html.sh: Add a table of contents. Add the module name as
94147         leftmost column. Add hyperlinks.
94148
94149 2003-01-15  Bruno Haible  <bruno@clisp.org>
94150
94151         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
94152
94153 2003-01-15  Bruno Haible  <bruno@clisp.org>
94154
94155         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
94156         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
94157         suffix.
94158
94159 2003-01-15  Bruno Haible  <bruno@clisp.org>
94160
94161         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
94162
94163 2003-01-15  Bruno Haible  <bruno@clisp.org>
94164
94165         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
94166         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
94167
94168 2003-01-14  Jim Meyering  <jim@meyering.net>
94169
94170         * lib/same.c (same_name): Tweak a comment.
94171
94172 2003-01-14  Bruno Haible  <bruno@clisp.org>
94173
94174         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
94175         when a string comparison is sufficient.
94176
94177 2003-01-14  Bruno Haible  <bruno@clisp.org>
94178
94179         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
94180         'unsigned int'.
94181
94182 2003-01-14  Bruno Haible  <bruno@clisp.org>
94183
94184         * lib/hash-pjw.c: Add comment about low quality of this function.
94185
94186 2003-01-13  Bruno Haible  <bruno@clisp.org>
94187
94188         * modules/stpcpy: Distribute lib/stpcpy.h.
94189         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
94190
94191 2003-01-13  Bruno Haible  <bruno@clisp.org>
94192
94193         * modules/*: Add a description.
94194         * modules/strpbrk: Fix Makefile.am snippet.
94195         * modules/strtoimax: Fix dependencies.
94196         * modules/strtoumax: Likewise.
94197
94198 2003-01-13  Bruno Haible  <bruno@clisp.org>
94199
94200         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
94201         * modules/alloca (Makefile.am): All object files depend on alloca.h.
94202         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
94203
94204 2003-01-13  Bruno Haible  <bruno@clisp.org>
94205
94206         * gnulib-tool (func_create_testdir): Store config/* files in the main
94207         directory.
94208         * config.rpath: Move to ...
94209         * config/config.rpath: ... here.
94210         * modules/gettext: Contains config/config.rpath, not config.rpath.
94211         * modules/iconv: Likewise.
94212
94213 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94214
94215         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94216         to avoid collisions with libcurses and libreadline.
94217
94218         * m4/getstr.m4: Remove.
94219         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
94220
94221 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94222
94223         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94224         to avoid collisions with libcurses and libreadline.
94225
94226         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
94227         * lib/getstr.h, getstr.c: Remove.
94228         * lib/getline.c: Include "getline.h", to check interface.
94229         Move body of old getstr.c here: this defines MIN_CHUNK and
94230         declares getdelim2, which is renamed from getstr.
94231         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
94232
94233         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
94234         All uses changed.
94235         * lib/linebuffer.h: Likewise.
94236         (readline): Remove backward-compatibility macro.
94237
94238 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94239
94240         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94241         to avoid collisions with libcurses and libreadline.
94242         * getstr: Remove.
94243         * MODULES.html.sh: Remove getstr.
94244         * modules/getline: Depend on unlocked-io, not getstr.
94245
94246 2003-01-12  Jim Meyering  <jim@meyering.net>
94247
94248         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
94249
94250 2003-01-10  Bruno Haible  <bruno@clisp.org>
94251
94252         * modules/alloca: Change Makefile.am requirements. Simplify Include
94253         requirements. Add lib/alloca_.h to file list.
94254
94255 2003-01-10  Bruno Haible  <bruno@clisp.org>
94256
94257         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
94258
94259 2003-01-10  Bruno Haible  <bruno@clisp.org>
94260
94261         * lib/alloca_.h: New file.
94262         * lib/getdate.y: Unconditionally include alloca.h.
94263         * lib/makepath.c: Likewise.
94264         * lib/setenv.c: Likewise.
94265         * lib/userspec.c: Likewise.
94266
94267 2003-01-09  Karl Berry  <karl@gnu.org>
94268
94269         * MODULES.html.sh: include `dirname $0` in PATH, to find
94270         gnulib-tool.
94271
94272 2003-01-09  Bruno Haible  <bruno@clisp.org>
94273
94274         * modules/stdbool: Change configure.ac, Makefile.am requirements.
94275         Simplify Include requirements. Add lib/stdbool.h.in to file list.
94276
94277 2003-01-09  Bruno Haible  <bruno@clisp.org>
94278
94279         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
94280
94281 2003-01-09  Bruno Haible  <bruno@clisp.org>
94282
94283         * lib/stdbool.h.in: New file.
94284
94285 2003-01-09  Bruno Haible  <bruno@clisp.org>
94286
94287         * gnulib-tool (func_all_modules): Ignore files ending in ~.
94288         * MODULES.html.sh: Likewise.
94289
94290 2003-01-08  Jim Meyering  <jim@meyering.net>
94291
94292         * lib/full-write.c: Undefine and define-away `const' after inclusion
94293         of errno.h, not before.  Suggestion from Bruno Haible.
94294
94295 2003-01-08  Bruno Haible  <bruno@clisp.org>
94296
94297         * modules/full-read: Depend on full-write.
94298
94299 2003-01-08  Bruno Haible  <bruno@clisp.org>
94300
94301         * lib/safe-read.c: Include specification header first, to ensure its
94302         selfcontainedness.
94303         * lib/full-write.c: Likewise.
94304
94305 2003-01-07  Jim Meyering  <jim@meyering.net>
94306
94307         * lib/full-write.c: Rework so that it may serve to define full_read,
94308         too.
94309         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
94310
94311 2003-01-07  Bruno Haible  <bruno@clisp.org>
94312
94313         * lib/strtoimax.c: Include <stdint.h> as an alternative to
94314         <inttypes.h>.
94315         * lib/xstrtol.h: Likewise.
94316         * lib/xstrtoimax.c: Likewise.
94317         * lib/xstrtoumax.c: Likewise.
94318         * lib/human.h: Likewise.
94319
94320         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
94321         on systems that have <inttypes.h> but not <stdint.h>.
94322
94323 2003-01-07  Bruno Haible  <bruno@clisp.org>
94324
94325         * MODULES.html.sh: Add copyright notice.
94326         (missed_files): Omit CVS directory entries.
94327         (func_module): Make it work with sed-3.02.
94328         * MODULES.txt: Remove file.
94329
94330 2003-01-06  Jim Meyering  <jim@meyering.net>
94331
94332         * lib/version-etc.c: Update year in translatable copyright string.
94333
94334 2003-01-03  Karl Berry  <karl@gnu.org>
94335
94336         * config/config.{guess,sub}: update from prep.
94337
94338 2003-01-02  Karl Berry  <karl@gnu.org>
94339
94340         * doc/COPYING.DOC: belatedly updated to 1.2.
94341
94342 2003-01-01  Karl Berry  <karl@gnu.org>
94343
94344         * gnulib-tool (func_verify_module): report module name $module in
94345         error message, not $1.
94346         * gnulib-tool (create-testdir): don't complain if destdir couldn't
94347         be created, only if it doesn't exist.
94348         * gnulib-tool (last_checkin_date): don't expand the $Date here.
94349
94350 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94351
94352         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
94353
94354 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94355
94356         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
94357         memcmp if strcoll doesn't work.
94358
94359 2002-12-31  Bruno Haible  <bruno@clisp.org>
94360
94361         * lib/utime.c (utime_null): No need to call ftruncate if the file was
94362         nonempty.
94363
94364 2002-12-31  Bruno Haible  <bruno@clisp.org>
94365
94366         * lib/memcoll.c (STRCOLL): New macro.
94367         (memcoll): Use it.
94368
94369 2002-12-31  Bruno Haible  <bruno@clisp.org>
94370
94371         * lib/localcharset.h: New file.
94372         * lib/localcharset.c: Include it.
94373         * lib/unicodeio.c: Likewise.
94374
94375 2002-12-31  Bruno Haible  <bruno@clisp.org>
94376
94377         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
94378         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
94379
94380 2002-12-31  Bruno Haible  <bruno@clisp.org>
94381
94382         * lib/getline.h: Include <stddef.h>, for size_t.
94383
94384         * lib/unicodeio.h: Include <stddef.h>, for size_t.
94385         * lib/unicodeio.c: Don't include <stddef.h>.
94386
94387 2002-12-31  Bruno Haible  <bruno@clisp.org>
94388
94389         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
94390         HAVE_TM_ZONE.
94391
94392 2002-12-24  Karl Berry  <karl@gnu.org>
94393
94394         * config/config.guess: update from prep.
94395
94396 2002-12-24  Bruno Haible  <bruno@clisp.org>
94397
94398         General infrasructure.
94399         * m4/README: Rewritten.
94400         * m4/onceonly.m4: New file.
94401         * m4/onceonly_2_57.m4: New file.
94402
94403         Module atexit.
94404         * m4/atexit.m4: New file.
94405
94406         Module strtod.
94407         * m4/strtod.m4: New file.
94408
94409         Module strtol.
94410         * m4/strtol.m4: New file.
94411
94412         Module strtoul.
94413         * m4/strtoul.m4: New file.
94414
94415         Module memchr.
94416         * m4/memchr.m4: New file.
94417
94418         Module memcmp.
94419         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
94420         (jm_FUNC_MEMCMP): Invoke it.
94421
94422         Module memcpy.
94423         * m4/memcpy.m4: New file.
94424
94425         Module memmove.
94426         * m4/memmove.m4: New file.
94427
94428         Module memset.
94429         * m4/memset.m4: New file.
94430
94431         Module strcspn.
94432         * m4/strcspn.m4: New file.
94433
94434         Module strpbrk.
94435         * m4/strpbrk.m4: New file.
94436
94437         Module strstr.
94438         * m4/strstr.m4: New file.
94439
94440         Module strerror.
94441         * m4/strerror.m4: New file.
94442
94443         Module mktime.
94444         * m4/mktime.m4: Renamed from jm-mktime.m4.
94445         (gl_PREREQ_MKTIME): New macro.
94446         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
94447
94448         Module malloc.
94449         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
94450         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
94451         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
94452
94453         Module realloc.
94454         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
94455         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
94456         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
94457
94458         Module strftime.
94459         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
94460         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
94461         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
94462         gl_TM_GMTOFF.
94463         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
94464
94465         Module xalloc.
94466         * m4/xalloc.m4: New file.
94467
94468         Module alloca.
94469         * m4/alloca.m4: New file.
94470
94471         Module putenv.
94472         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
94473         (jm_FUNC_PUTENV): Invoke it.
94474
94475         Module setenv.
94476         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
94477         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
94478         when invoked twice.
94479         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
94480         gt_FUNC_SETENV.
94481
94482         Module memrchr.
94483         * m4/memrchr.m4: New file.
94484
94485         Module stpcpy.
94486         * m4/stpcpy.m4: New file.
94487
94488         Module strcase.
94489         * m4/strcase.m4: New file.
94490
94491         Module strdup.
94492         * m4/strdup.m4: New file.
94493
94494         Module strnlen.
94495         * m4/strnlen.m4: New file.
94496
94497         Module strndup.
94498         * m4/strndup.m4: New file.
94499
94500         Module xstrtod.
94501         * m4/xstrtod.m4: New file.
94502
94503         Module xstrtol.
94504         * m4/xstrtol.m4: New file.
94505
94506         Module getdate.
94507         * m4/getdate.m4: New file.
94508
94509         Module unlocked-io.
94510         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
94511         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
94512         * m4/jm-glibc-io.m4n: Remove file.
94513
94514         Module long-options.
94515         * m4/long-options.m4: New file.
94516
94517         Module md5.
94518         * m4/md5.m4: New file.
94519
94520         Module sha.
94521         * m4/sha.m4: New file.
94522
94523         Module getstr.
94524         * m4/getstr.m4: New file.
94525
94526         Module getline.
94527         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
94528         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
94529         <sys/types.h>, for size_t. Use the function name gnu_getline, not
94530         simply getline. Infoke gl_PREREQ_GETLINE.
94531
94532         Module obstack.
94533         * m4/obstack.m4: New file.
94534
94535         Module hash.
94536         * m4/hash.m4: New file.
94537
94538         Module readtokens.
94539         * m4/readtokens.m4: New file.
94540
94541         Module strverscmp.
94542         * m4/strverscmp.m4: New file.
94543
94544         Module stdbool.
94545         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
94546         OSF/1.
94547
94548         Module strtoll.
94549         * m4/strtoll.m4: New file.
94550
94551         Module strtoull.
94552         * m4/strtoull.m4: New file.
94553
94554         Module strtoimax.
94555         * m4/strtoimax.m4: New file.
94556
94557         Module strtoumax.
94558         * m4/strtoumax.m4: New file.
94559
94560         Module xstrtoimax.
94561         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
94562         jm_AC_PREREQ_XSTRTOIMAX.
94563         Moved the strtol prerequisites to strtol.m4.
94564         Moved the strtoll prerequisites to strtoll.m4.
94565         Moved the strtoimax prerequisites to strtoimax.m4.
94566
94567         Module xstrtoumax.
94568         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
94569         jm_AC_PREREQ_XSTRTOUMAX.
94570         Moved the strtoul prerequisites to strtoul.m4.
94571         Moved the strtoull prerequisites to strtoull.m4.
94572         Moved the strtoumax prerequisites to strtoumax.m4.
94573
94574         Module chown.
94575         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
94576         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
94577
94578         Module dup2.
94579         * m4/dup2.m4: New file.
94580
94581         Module ftruncate.
94582         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
94583         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
94584
94585         Module getgroups.
94586         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
94587         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
94588
94589         Module gettimeofday.
94590         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
94591         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
94592         gl_PREREQ_GETTIMEOFDAY.
94593
94594         Module mkdir.
94595         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
94596         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
94597
94598         Module mkstemp.
94599         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
94600         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
94601         jm_AC_TYPE_UINTMAX_T.
94602         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
94603
94604         Module stat.
94605         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
94606         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
94607
94608         Module lstat.
94609         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
94610         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
94611
94612         Module timespec.
94613         * m4/timespec.m4 (gl_TIMESPEC): New macro.
94614         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
94615         * m4/st_mtim.m4: Indentation.
94616
94617         Module nanosleep.
94618         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
94619         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
94620         gl_PREREQ_NANOSLEEP.
94621
94622         Module regex.
94623         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
94624         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
94625         (gl_REGEX): New macro.
94626
94627         Module rename.
94628         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
94629         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
94630
94631         Module rmdir.
94632         * m4/rmdir.m4: New file.
94633
94634         Module utime.
94635         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
94636         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
94637         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
94638
94639         Module dirname.
94640         * m4/dirname.m4: New file.
94641
94642         Module getopt.
94643         * m4/getopt.m4: New file.
94644
94645         Module unistd-safer.
94646         * m4/unistd-safer.m4: New file.
94647
94648         Module fnmatch.
94649         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
94650         declaration.
94651         (gl_PREREQ_FNMATCH_EXTRA): New macro.
94652         (gl_FUNC_FNMATCH_POSIX): New macro.
94653         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
94654         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
94655         simply fnmatch.
94656
94657         Module exclude.
94658         * m4/exclude.m4: New file.
94659
94660         Module human.
94661         * m4/human.m4: New file.
94662
94663         Module acl.
94664         * m4/acl.m4: Nop.
94665
94666         Module backupfile.
94667         * m4/backupfile.m4: New file.
94668         * m4/d-ino.m4: Indentation.
94669
94670         Module fsusage.
94671         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
94672         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
94673         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
94674
94675         Module dirfd.
94676         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
94677         requirements.
94678
94679         Module euidaccess.
94680         * m4/euidaccess.m4: New file.
94681
94682         Module file-type.
94683         * m4/file-type.m4: New file.
94684
94685         Module fileblocks.
94686         * m4/fileblocks.m4: New file.
94687
94688         Module filemode.
94689         * m4/filemode.m4: New file.
94690
94691         Module isdir.
94692         * m4/isdir.m4: New file.
94693
94694         Module lchown.
94695         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
94696         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
94697
94698         Module makepath.
94699         * m4/makepath.m4: New file.
94700
94701         Module modechange.
94702         * m4/modechange.m4: New file.
94703
94704         Module mountlist.
94705         * m4/mountlist.m4: New file.
94706         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
94707         Indentation.
94708
94709         Module path-concat.
94710         * m4/path-concat.m4: New file.
94711
94712         Module pathmax.
94713         * m4/pathmax.m4: New file.
94714
94715         Module same.
94716         * m4/same.m4: New file.
94717
94718         Module save-cwd.
94719         * m4/save-cwd.m4: New file.
94720
94721         Module savedir.
94722         * m4/savedir.m4: New file.
94723
94724         Module xgetcwd.
94725         * m4/xgetcwd.m4: New file.
94726         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
94727
94728         Module xreadlink.
94729         * m4/xreadlink.m4: New file.
94730
94731         Module safe-read.
94732         * m4/safe-read.m4: New file.
94733
94734         Module safe-write.
94735         * m4/safe-write.m4: New file.
94736
94737         Module closeout.
94738         * m4/closeout.m4: New file.
94739
94740         Module stdio-safer.
94741         * m4/stdio-safer.m4: New file.
94742
94743         Module getpass.
94744         * m4/getpass.m4: New file.
94745
94746         Module getugroups.
94747         * m4/getugroups.m4: New file.
94748
94749         Module group-member.
94750         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
94751         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
94752
94753         Module idcache.
94754         * m4/idcache.m4: New file.
94755
94756         Module userspec.
94757         * m4/userspec.m4: New file.
94758
94759         Module gettime.
94760         * m4/clock_time.m4: New file.
94761         * m4/gettime.m4: New file.
94762
94763         Module settime.
94764         * m4/settime.m4: New file.
94765
94766         Module posixtm.
94767         * m4/posixtm.m4: New file.
94768
94769         Module gethostname.
94770         * m4/gethostname.m4: New file.
94771
94772         Module canon-host.
94773         * m4/canon-host.m4: New file.
94774
94775         Module gettext.
94776         * m4/codeset.m4: New file, from gettext-0.11.5.
94777         * m4/gettext.m4: New file, from gettext-0.11.5.
94778         * m4/glibc21.m4: New file, from gettext-0.11.5.
94779         * m4/iconv.m4: New file, from gettext-0.11.5.
94780         * m4/intdiv0.m4: New file, from gettext-0.11.5.
94781         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
94782         * m4/inttypes.m4: New file, from gettext-0.11.5.
94783         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
94784         * m4/isc-posix.m4: New file, from gettext-0.11.5.
94785         * m4/lcmessage.m4: New file, from gettext-0.11.5.
94786         * m4/lib-ld.m4: New file, from gettext-0.11.5.
94787         * m4/lib-link.m4: New file, from gettext-0.11.5.
94788         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
94789         * m4/progtest.m4: New file, from gettext-0.11.5.
94790         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
94791         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
94792         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
94793
94794         Module localcharset.
94795         * m4/localcharset.m4: New file.
94796
94797         Module hard-locale.
94798         * m4/hard-locale.m4: New file.
94799
94800         Module mbswidth.
94801         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
94802         onceonly macros.
94803         * m4/mbrtowc.m4: Add comment.
94804
94805         Module memcasecmp.
94806         * m4/memcasecmp.m4: New file.
94807
94808         Module memcoll.
94809         * m4/memcoll.m4: New file.
94810
94811         Module unicodeio.
94812         * m4/unicodeio.m4: New file.
94813
94814         Module rpmatch.
94815         * m4/rpmatch.m4: New file.
94816
94817         Module yesno.
94818         * m4/yesno.m4: New file.
94819
94820         Module exitfail.
94821         * m4/exitfail.m4: New file.
94822
94823         Module c-stack.
94824         * m4/c-stack.m4 (gl_C_STACK): New macro.
94825         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
94826
94827         Module error.
94828         * m4/error.m4 (gl_ERROR): New macro.
94829         (jm_PREREQ_ERROR): Use onceonly macros.
94830
94831         Module fatal.
94832         * m4/fatal.m4: New file.
94833
94834         Module getloadavg.
94835         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
94836         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
94837
94838         Module getpagesize.
94839         * m4/getpagesize.m4: New file.
94840
94841         Module getusershell.
94842         * m4/getusershell.m4: New file.
94843
94844         Module physmem.
94845         * m4/physmem.m4: New file.
94846
94847         Module posixver.
94848         * m4/posixver.m4: New file.
94849
94850         Module quotearg.
94851         * m4/quotearg.m4: New file.
94852
94853         Module quote.
94854         * m4/quote.m4: New file.
94855
94856         Module readutmp.
94857         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
94858
94859         Module sig2str.
94860         * m4/sig2str.m4: New file.
94861
94862         Other.
94863         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
94864         ulonglong.m4.
94865         * m4/intmax_t.m4: New file.
94866         * m4/d-type.m4: Indentation.
94867         * m4/jm-macros.m4: Update.
94868         * m4/prereq.m4 (jm_PREREQ): Update.
94869         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
94870         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
94871         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
94872         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
94873         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
94874         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
94875         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
94876         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
94877         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
94878         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
94879         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
94880         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
94881         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
94882         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
94883         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
94884         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
94885         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
94886         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
94887         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
94888
94889 2002-12-24  Bruno Haible  <bruno@clisp.org>
94890
94891         * MODULES.txt: Update according to m4/ changes.
94892
94893         Module gettext.
94894         * config.rpath: New file, from gettext-0.11.5.
94895
94896         * modules/*: New module descriptions.
94897         * gnulib-tool: New file.
94898         * MODULES.html.sh: New file.
94899
94900 2002-12-21  Karl Berry  <karl@gnu.org>
94901
94902         * doc/fdl.texi: update to version 1.2.
94903
94904 2002-12-19  Karl Berry  <karl@gnu.org>
94905
94906         * config/config.guess: update from prep.
94907
94908 2002-12-18  Bruno Haible  <bruno@clisp.org>
94909
94910         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
94911         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
94912
94913 2002-12-17  Bruno Haible  <bruno@clisp.org>
94914
94915         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
94916         stdlib.h, string.h.
94917
94918 2002-12-17  Bruno Haible  <bruno@clisp.org>
94919
94920         * lib/canon-host.c (strdup): Remove unused declaration.
94921
94922         * lib/fsusage.c: Include full_read.h.
94923         (get_fs_usage): Use full_read instead of safe_read.
94924
94925         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
94926
94927 2002-12-12  Karl Berry  <karl@gnu.org>
94928
94929         * config/config.guess: update from prep.
94930
94931 2002-12-11  Bruno Haible  <bruno@clisp.org>
94932
94933         * m4/setenv.m4: New file, from gettext-0.11.5.
94934
94935 2002-12-11  Bruno Haible  <bruno@clisp.org>
94936
94937         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
94938         not unsetenv().
94939         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
94940         modifications:
94941
94942         2002-12-11  Bruno Haible  <bruno@clisp.org>
94943
94944                 * setenv.c (alloca): Fall back to malloc.
94945                 (freea): New macro.
94946                 (setenv): Use freea() to free memory allocated with alloca().
94947
94948         2002-11-13  Bruno Haible  <bruno@clisp.org>
94949
94950                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
94951                 function declarations.
94952                 * unsetenv.c (unsetenv): Likewise.
94953
94954         2002-03-04  Bruno Haible  <bruno@clisp.org>
94955
94956                 Portability to AIX 4.3.3.
94957                 * unsetenv.c: New file, extracted from setenv.c.
94958                 * setenv.c: Move the unsetenv() function to unsetenv.c.
94959
94960         2001-12-20  Bruno Haible  <bruno@clisp.org>
94961
94962                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
94963                 use malloc instead. For SunOS 4.
94964
94965         2001-12-11  Bruno Haible  <bruno@clisp.org>
94966
94967                 * setenv.c: Declare alloca.
94968                 (compar_fn_t): New typedef.
94969                 (KNOWN_VALUE, STORE_VALUE): Use it.
94970
94971         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
94972         setenv.h.
94973
94974 2002-12-10  Paul Eggert  <eggert@twinsun.com>
94975
94976         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
94977         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
94978         Choose values that are less likely to collide with system fnmatch
94979         options.
94980         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
94981         defined (e.g., a pure POSIX system).
94982         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
94983         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
94984
94985 2002-12-06  Paul Eggert  <eggert@twinsun.com>
94986
94987         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
94988         a pain in practice to deal with generated m4 files.  This change
94989         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
94990
94991         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
94992         and jm-glibc-io.m4, as they are no longer a special case.
94993         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
94994         kludge and the auto-generation stuff.  Check only whether the
94995         functions are declared, not whether they exist, since older hosts
94996         that don't declare the functions can't use the optimization anyway.
94997
94998 2002-12-06  Jim Meyering  <jim@meyering.net>
94999
95000         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
95001
95002         Merge in changes from libc's misc/error.c, in preparation
95003         for the merge of gnulib's changes back into libc.
95004
95005         * lib/error.c (_): Define only if not already defined.
95006         Move definition to follow all #include directives.
95007         Include unlocked-io.h only if !_LIBC.
95008         [_LIBC]: Include <libio/libioP.h>.
95009         [USE_IN_LIBIO]: Include <libio/iolibio.h>
95010         (fflush): Tweak definition to use INTUSE.
95011         (putc): Define.
95012
95013 2002-12-05  Paul Eggert  <eggert@twinsun.com>
95014
95015         * lib/alloca.c [defined emacs]: Include "lisp.h".
95016         (xalloc_die) [defined emacs]: New macro.
95017         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
95018         [! defined emacs]: Include <xalloc.h>.
95019         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
95020         (pointer): Typedef to POINTER_TYPE *.
95021         (malloc): Remove decl; we now always use xmalloc.
95022         (alloca): Use old-style definition, since Emacs needs this.
95023         Check for arithmetic overflow when computing combined size.
95024
95025 2002-12-04  Paul Eggert  <eggert@twinsun.com>
95026
95027         Do not generate unlocked-io.h automatically, since it's easier to
95028         maintain it by hand.
95029
95030         * lib/unlocked-io.h: New file, from GNU diffutils,
95031         but with proper copyright notice and attribution.
95032         * lib/gen-uio: Remove.
95033         * lib/Makefile.am: Add copyright notice.
95034         (libfetish_a_SOURCES): Add unlocked-io.h.
95035         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
95036         (DISTCLEANFILES, io_functions): Remove macros.
95037         (EXTRA_DIST): Remove gen_uio.
95038         (unlocked-io.h): Remove rule.
95039
95040 2002-12-04  Jim Meyering  <jim@meyering.net>
95041
95042         Reflect the fact that stat.c and lstat.c are no longer generated.
95043         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
95044         (DISTCLEANFILES): Likewise.
95045         (EXTRA_DIST): Likewise.
95046         (all_local): Don't depend on stat.c or lstat.c.
95047         (stat.c, lstat.c): Remove rules.
95048         (EXTRA_DIST): Remove xstat.in.
95049
95050         * lib/xstat.in: Remove file.  Contents moved into stat.c.
95051         * lib/stat.c: New file.  Contents mostly from xstat.in.
95052         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
95053         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
95054
95055         * lib/safe-read.c: Rework so that it may serve to define safe_write,
95056         too.
95057         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
95058
95059 2002-12-03  Jim Meyering  <jim@meyering.net>
95060
95061         * lib/safe-read.c, safe-write.c: Change variable names and comments,
95062         but not semantics, to minimize the differences between these two files.
95063         (safe_read): Change comment to mention SAFE_READ_ERROR.
95064
95065         * lib/safe-read.c (IS_EINTR): Define.
95066         (safe_read): Use IS_EINTR in place of in-function cpp directives.
95067
95068 2002-12-02  Jim Meyering  <jim@meyering.net>
95069
95070         * lib/safe-read.c (EINTR): Define.
95071         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
95072         (INT_MAX): Provide fallback.
95073         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
95074
95075         * lib/safe-read.h (SAFE_READ_ERROR): Define.
95076
95077 2002-12-02  Bruno Haible  <bruno@clisp.org>
95078
95079         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
95080         Define, taken from safe-read.c.
95081         (INT_MAX): Provide fallback.
95082         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
95083         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
95084
95085         * lib/safe-read.c (EINTR): Remove definition.
95086         (safe_read): Don't use EINTR if it is absent.
95087
95088 2002-12-01  Jim Meyering  <jim@meyering.net>
95089
95090         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
95091         zero.
95092         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
95093
95094 2002-11-27  Paul Eggert  <eggert@twinsun.com>
95095
95096         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
95097         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
95098         with `if (! (value < limit)) abort ();', for readability.
95099
95100 2002-11-26  Karl Berry  <karl@gnu.org>
95101
95102         * lib/strdup.c: copy from libc again, with jim's ok.
95103         * lib/.cppi-disable: re-add strdup.c
95104
95105 2002-11-25  Karl Berry  <karl@gnu.org>
95106
95107         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
95108         instead of "strtol.c".
95109
95110 2002-11-25  Karl Berry  <karl@gnu.org>
95111
95112         * config/install-sh: update from automake for variable quoting, $0 in
95113         error msgs, etc.
95114
95115         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
95116         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
95117         entry.
95118
95119 2002-11-25  Jim Meyering  <jim@meyering.net>
95120
95121         * lib/mktime.c: Sync from libc, now that it has the latest fix.
95122
95123 2002-11-24  Karl Berry  <karl@gnu.org>
95124
95125         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
95126         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
95127
95128 2002-11-24  Jim Meyering  <jim@meyering.net>
95129
95130         Update from coreutils:
95131
95132         * lib/mktime.c: Merge in changes from libc.
95133
95134         Avoid a link-time failure on some Linux systems.
95135         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
95136         (otherwise).
95137         (__mon_yday): Declare with the STATIC attribute.
95138         (__mktime_internal): Likewise.
95139         Based on a report from Greg Schafer.
95140
95141 2002-11-23  Jim Meyering  <jim@meyering.net>
95142
95143         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
95144         Use `unsigned', not `int', as type of index.
95145
95146         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
95147
95148         * lib/fsusage.c: Remove unneeded parentheses around operands of
95149         `defined'.
95150
95151 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95152
95153         * lib/quotearg.h: Allow multiple inclusion by surrounding with
95154         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
95155         so that we can be included first.
95156         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
95157         * lib/quotearg.c: Include quotearg.h immediately after config.h.
95158         No need to include stddef.h or sys/types.h any more.
95159         Surround local include files with "", not "<>".
95160         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
95161         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
95162         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
95163         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
95164         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
95165         (ISPRINT): Remove; no longer needed now that we assume C89.
95166
95167         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
95168         Preserve errno.
95169
95170         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
95171         quotearg_char): Use SIZE_MAX rather than
95172         (size_t) -1 when we are talking about "infinity".
95173
95174         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
95175
95176 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95177
95178         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
95179         hint that one should use `if (! x) abort ();' rather than `assert
95180         (x);', and anyway it's one less thing to worry about configuring.
95181         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
95182         hash_rehash, hash_insert): Use abort rather than assert.
95183
95184 2002-11-22  Bruno Haible  <bruno@clisp.org>
95185
95186         * lib/safe-read.h: Assume C89. Add comments.
95187         (safe_read): Change return type to size_t.
95188         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
95189         byte counts > SSIZE_MAX correctly.
95190         * lib/safe-write.h: New file.
95191         * lib/safe-write.c: New file.
95192         * lib/full-read.h: New file.
95193         * lib/full-read.c: New file.
95194         * lib/full-write.h: Assume C89. Add comments.
95195         * lib/full-write.c: Include safe-write.h.
95196         (full_write): Rewritten to use safe_write.
95197         Suggested by Jim Meyering and Paul Eggert.
95198
95199 2002-11-21  Jim Meyering  <jim@meyering.net>
95200
95201         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
95202
95203         Merge in changes from the coreutils.
95204
95205         2002-09-25  Paul Eggert  <eggert@twinsun.com>
95206         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
95207         <stdint.h>.
95208         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
95209         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
95210         int.  Work more efficiently if X is the same width as uintmax_t.
95211         Do not compare X to -1, to avoid bogus compiler warning.
95212         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
95213         Don't assume that f_frsize and f_bsize are the same type.
95214
95215         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
95216         warning on FreeBSD.
95217
95218         * lib/makepath.c (make_path): Restore umask *before* creating the final
95219         component.
95220         (make_path): Minor reformatting.
95221
95222         * lib/xmalloc.c: Adjust to work with new autoconf macros,
95223         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
95224         HAVE_MALLOC/HAVE_REALLOC.
95225
95226         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
95227         dummy ones.  At least on GNU/Linux systems, `auto' means something
95228         else.
95229         From Michael Stone.
95230
95231 2002-11-21  Bruno Haible  <bruno@clisp.org>
95232
95233         Remove case insensitive option matching.
95234         * lib/argmatch.h (argcasematch): Remove declaration.
95235         (ARGCASEMATCH): Remove macro.
95236         (__xargmatch_internal): Remove case_sensitive argument.
95237         (XARGMATCH): Update.
95238         (XARGCASEMATCH): Remove macro.
95239         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
95240         case_sensitive argument.
95241         (argcasematch): Remove function.
95242         (__xargmatch_internal): Remove case_sensitive argument.
95243         (main): Use XARGMATCH instead of XARGCASEMATCH.
95244
95245         * lib/xmalloc.c: Change compile-time error message. Add comment about
95246         required autoconf version.
95247
95248 2002-11-20  Paul Eggert  <eggert@twinsun.com>
95249
95250         Merge argmatch cleanups from Bison.  Assume C89.
95251
95252         * lib/argmatch.c: Include config.h here, not in argmatch.h.
95253         Include stdlib.h, for EXIT_FAILURE.
95254         Always include <string.h>, since we assume C89.
95255         (EXIT_FAILURE): Remove pre-C89 bug workaround.
95256         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
95257         Include <stddef.h> instead, since it's all we need for size_t.
95258         (PARAMS): Remove.  All uses removed.
95259         (ARRAY_CARDINALITY): Do not bother to #undef.
95260         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
95261         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95262         Remove unnecessary parentheses.
95263         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95264         Insert necessary parentheses.
95265         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
95266         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
95267
95268 2002-11-19  Bruno Haible  <bruno@clisp.org>
95269
95270         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
95271         * lib/mbswidth.h: Include <stddef.h>, for size_t.
95272
95273         * lib/mbswidth.h (PARAMS): Remove macro.
95274         (mbswidth, mbsnwidth): Use ANSI C function declarations.
95275         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
95276
95277         * lib/gcd.h (PARAMS): Remove macro.
95278         (gcd): Use ANSI C function declarations.
95279         * lib/gcd.c (gcd): Likewise.
95280
95281 2002-11-15  Bruno Haible  <bruno@clisp.org>
95282
95283         * lib/strcspn.c: Include <stddef.h>.
95284         (strcspn): Use ANSI C function declaration. Change return type to
95285         size_t. Use NULL.
95286         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
95287         (strpbrk): Use NULL.
95288         * lib/strpbrk.h (PARAMS): Remove macro.
95289         (strpbrk): Use ANSI C function declaration.
95290         * lib/strstr.c: Don't include <sys/types.h>.
95291         * lib/strstr.h (PARAMS): Remove macro.
95292         (strstr): Use ANSI C function declarations.
95293
95294 2002-11-14  Karl Berry  <karl@gnu.org>
95295
95296         * config/mkinstalldirs: `do' on separate line, instead of
95297         `for var; do'.
95298
95299 2002-11-06  Bruno Haible  <bruno@clisp.org>
95300
95301         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
95302         * lib/gcd.c (gcd): Likewise.
95303
95304 2002-11-05  Bruno Haible  <bruno@clisp.org>
95305
95306         * lib/gcd.h: New file, from gettext-0.11.5.
95307         * lib/gcd.c: New file, from gettext-0.11.5.
95308
95309 2002-11-05  Bruno Haible  <bruno@clisp.org>
95310
95311         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95312         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95313         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95314         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95315
95316         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
95317         <libintl.h>.
95318         * lib/makepath.c: Include gettext.h instead of <locale.h> and
95319         <libintl.h>.
95320
95321         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
95322         * lib/human.c: Include gettext.h instead of <libintl.h>.
95323         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
95324         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
95325         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
95326         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
95327         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
95328         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
95329         (textdomain): Remove definition.
95330         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
95331
95332         * lib/long-options.c: Remove include of <libintl.h> and definition of
95333         _.
95334         * lib/same.c: Remove include of <libintl.h> and definition of _.
95335
95336 2002-11-04  Owen Taylor  <otaylor@redhat.com>
95337
95338         * lib/config.charset: A few additions for Solaris.
95339
95340 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95341
95342         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
95343         * lib/localcharset.c (locale_charset): Declare as extern "C".
95344
95345 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95346
95347         * lib/config.charset: msdos in uk_UA uses CP1125.
95348
95349 2002-11-04  Bruno Haible  <bruno@clisp.org>
95350
95351         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
95352         * lib/strcase.h: New file, from GNU gettext-0.11.5.
95353         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
95354         * lib/strstr.h: New file, from GNU gettext-0.11.5.
95355         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
95356
95357 2002-11-04  Bruno Haible  <bruno@clisp.org>
95358
95359         * lib/localcharset.c (locale_charset): Don't return an empty string.
95360
95361 2002-11-04  Bruno Haible  <bruno@clisp.org>
95362
95363         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
95364         aliases.
95365
95366 2002-11-04  Bruno Haible  <bruno@clisp.org>
95367
95368         * lib/config.charset: Update for newest glibc. Add canonical names
95369         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
95370
95371 2002-11-04  Bruno Haible  <bruno@clisp.org>
95372
95373         * lib/config.charset: Add support for NetBSD.
95374
95375 2002-11-04  Bruno Haible  <bruno@clisp.org>
95376
95377         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
95378
95379 2002-11-01  Bruno Haible  <bruno@clisp.org>
95380
95381         * configure.in: Add AC_CONFIG_AUX_DIR call.
95382         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
95383         test/Makefile.
95384         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
95385
95386 2002-09-28  Karl Berry  <karl@gnu.org>
95387
95388         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
95389         installed automake until the next release, since changes have been
95390         made.
95391
95392 2002-09-25  Karl Berry  <karl@gnu.org>
95393
95394         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
95395         * lib/getopt*: copy from libc/posix.
95396         * lib/gettext.h: copy from gettext.
95397         * lib/.cppi-disable: add strdup.c, gettext.h.
95398
95399 2002-09-25  Karl Berry  <karl@gnu.org>
95400
95401         * config/srclist.txt: enable gettext.h check.
95402         * config/config.{guess,sub}: update from prep.
95403         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
95404                 from automake 1.6.3.
95405         See srclist*.
95406
95407 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
95408
95409         * regex.c (PATFETCH): Remove the translating fetch.
95410         (PATFETCH_RAW): Rename to PATFETCH.
95411         (set_image_of_range): New fun.
95412         (SET_RANGE_TABLE_WORK_AREA): Use it.
95413         (regex_compile): Don't translate the pattern chars so eagerly.
95414         Only do it when inserting an `exactn' bytecode or when handling
95415         a char-range.
95416         (mutually_exclusive_p): Avoid empty statement.
95417
95418 2002-07-06  Jim Meyering  <meyering@lucent.com>
95419
95420         * m4/README: Don't mention Makefile.am.in.
95421         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
95422
95423 2002-07-01  Jim Meyering  <meyering@lucent.com>
95424
95425         * lib/c-stack.c: Include sys/time.h.
95426         From Volker Borchert.
95427
95428 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95429
95430         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
95431
95432 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95433
95434         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
95435         New macro.  Use it uniformly instead of
95436         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
95437         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
95438         reported by Vin Shelton.
95439
95440 2002-06-22  Paul Eggert  <eggert@twinsun.com>
95441
95442         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
95443         Do not assume SA_SIGINFO behavior.
95444         Bug reported by Jim Meyering on NetBSD 1.5.2.
95445
95446 2002-06-22  Jim Meyering  <meyering@lucent.com>
95447
95448         * m4/c-stack.m4: New file, from diffutils-2.8.2.
95449         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
95450
95451         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
95452         now that configure.ac uses AC_GNU_SOURCE.
95453         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
95454         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
95455
95456         Update to latest tools.  Suggestions from Paul Eggert.
95457         * m4/stdbool.m4: New file, from diffutils-2.8.2.
95458         * m4/gnu-source.m4: Update from diffutils-2.8.2.
95459         * m4/fnmatch.m4: Likewise.
95460         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
95461         to AC_HEADER_STDBOOL
95462
95463 2002-06-22  Jim Meyering  <meyering@lucent.com>
95464
95465         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
95466         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
95467
95468 2002-06-22  Jim Meyering  <meyering@lucent.com>
95469
95470         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
95471
95472         * lib/exitfail.c, exitfail.h: Likewise.
95473         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
95474
95475         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
95476         of fnmatch.h.
95477         (EXTRA_DIST): Add fnmatch_loop.c.
95478         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
95479
95480         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
95481         * lib/fnmatch.c: Update from diffutils-2.8.2.
95482         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
95483         * lib/fnmatch.h: Remove file.
95484
95485 2002-06-21  Jim Meyering  <meyering@lucent.com>
95486
95487         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
95488         * m4/mbrtowc.m4: Likewise.
95489
95490         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
95491         * m4/mbswidth.m4: Reflect name change:
95492         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
95493         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
95494
95495         * m4/lib-link.m4: Update from gettext-0.11.2.
95496         * m4/gettext.m4: Likewise.
95497
95498         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
95499         From Alfred M. Szmidt.
95500
95501 2002-06-18  Paul Eggert  <eggert@twinsun.com>
95502
95503         * lib/file-type.h: Report an error if neither S_ISREG nor
95504         S_IFREG is defined, instead of using a test specific to glibc
95505         2.2.  This should be safe, since POSIX requires S_ISREG and
95506         Unix Version 7 had S_IFREG.  We don't need to check for
95507         <sys/types.h> since we don't use any symbols that it defines.
95508
95509 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
95510
95511         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
95512         $@-t, so that each temporary file name is unique and valid in the first
95513         8 characters, for operation under DOS.
95514
95515 2002-06-15  Paul Eggert  <eggert@twinsun.com>
95516
95517         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
95518
95519 2002-06-15  Jim Meyering  <meyering@lucent.com>
95520
95521         Work even with DJGPP 2.03, which lacks support for symlinks.
95522         From Richard Dawe.
95523         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
95524         is defined.
95525         * lib/lchown.c (S_ISLNK): Likewise.
95526
95527 2002-06-15  Jim Meyering  <meyering@lucent.com>
95528
95529         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
95530         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
95531         have been included before this file.
95532
95533 2002-06-14  Jim Meyering  <meyering@lucent.com>
95534
95535         * lib/file-type.h: Use the version from diffutils-2.8.2.
95536         * lib/file-type.c: Likewise.
95537
95538 2002-06-07  Jim Meyering  <meyering@lucent.com>
95539
95540         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
95541         They're needed at least for NetBSD 1.5.2.
95542         ($statxfs_includes): Include those same headers.
95543         ($statxfs_includes): Include sys/vfs.h if available.
95544         ($statxfs_includes): Likewise for sys/statvfs.h.
95545         Check for the following members in both structs statfs and statvfs:
95546         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
95547
95548 2002-06-01  Jim Meyering  <meyering@lucent.com>
95549
95550         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
95551         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
95552
95553 2002-05-28  Jim Meyering  <meyering@lucent.com>
95554
95555         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
95556         Reported by Volker Borchert.
95557
95558 2002-05-27  Jim Meyering  <meyering@lucent.com>
95559
95560         Fix a problem seen only on nonconforming systems whereby ls.c's
95561         use of localtime, and then of gettimeofday would cause trouble:
95562         the localtime call used to initialize rpl_gettimeofday's save
95563         mechanism would clobber ls's current local time information so
95564         that in any long listing the first file would always be listed
95565         with date 1970-01-01.  Analysis by Volker Borchert.
95566
95567         * lib/gettimeofday.c (localtime): Undefine.
95568         (rpl_localtime): New function.
95569
95570 2002-05-27  Jim Meyering  <meyering@lucent.com>
95571
95572         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
95573         localtime.
95574
95575         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
95576         use the replacement function; it wouldn't resolve at link time.
95577         Reported by Volker Borchert.
95578
95579 2002-05-22  Jim Meyering  <meyering@lucent.com>
95580
95581         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
95582         file-type.h.
95583         * lib/file-type.h: New file.
95584         * lib/file-type.c (file_type): New file/function.  Extracted from
95585         diffutils.
95586
95587 2002-04-30  Jim Meyering  <meyering@lucent.com>
95588
95589         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
95590
95591 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95592
95593         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
95594
95595 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95596
95597         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
95598         Do not check for alloca.h (no longer used) or stdbool.h (was never
95599         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
95600
95601 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95602
95603         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
95604
95605 2002-04-29  Jim Meyering  <meyering@lucent.com>
95606
95607         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
95608         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
95609         Use AC_FUNC_STRNLEN here instead.
95610
95611         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
95612         With autoconf-2.53a, it's part of AC_PROG_CC.
95613
95614 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95615
95616         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
95617         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
95618
95619 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95620
95621         * lib/sig2str.h, lib/sig2str.c: New files.
95622         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
95623
95624 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95625
95626         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
95627         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
95628         of 127, since 64 is the largest conceivable number for ancient
95629         nonstandard hosts.
95630         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
95631
95632 2002-04-28  Jim Meyering  <meyering@lucent.com>
95633
95634         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
95635
95636 2002-04-24  Jim Meyering  <meyering@lucent.com>
95637
95638         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
95639         (jm_PREREQ): Use it.
95640
95641         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
95642         mach/mach.h fcntl.h.
95643         Check for this function: setlocale.
95644
95645 2002-04-24  Jim Meyering  <meyering@lucent.com>
95646
95647         * lib/gettext.h: New file, from Gettext.
95648         * lib/Makefile.am (INCLUDES): Remove -I../intl.
95649         (libfetish_a_SOURCES): Add gettext.h.
95650
95651 2002-04-16  Jim Meyering  <meyering@lucent.com>
95652
95653         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
95654         ut_pid, ut_id, ut_exit.
95655
95656 2002-04-16  Jim Meyering  <meyering@lucent.com>
95657
95658         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
95659         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
95660         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
95661
95662 2002-04-12  Jim Meyering  <meyering@lucent.com>
95663
95664         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
95665         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
95666         existence of the getmntinfo function.  Needed for Darwin 5.3.
95667
95668         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
95669         This is necessary at least on Darwin 5.3.
95670
95671         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
95672         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
95673         strnlen.o in the library, and that makes some versions of ranlib
95674         object.
95675
95676 2002-04-12  Jim Meyering  <meyering@lucent.com>
95677
95678         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
95679
95680 2002-04-09  Jim Meyering  <meyering@lucent.com>
95681
95682         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
95683         to be more precise.  Rather than saying we're checking whether the
95684         function `works', say what we're testing.
95685         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
95686         Reported by Bruno Haible.
95687
95688 2002-03-10  Jim Meyering  <meyering@lucent.com>
95689
95690         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
95691         Suggestion from Santiago Vila.
95692
95693 2002-03-08  Jim Meyering  <meyering@lucent.com>
95694
95695         * lib/rename.c: Mention that this wrapper is needed also on
95696         mips-dec-ultrix4.4 systems.
95697
95698 2002-03-02  Jim Meyering  <meyering@lucent.com>
95699
95700         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
95701         not HAVE_CLOCK_SETTIME.
95702
95703 2002-02-27  Paul Eggert  <eggert@twinsun.com>
95704
95705         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
95706         Check for clock_settime.
95707
95708 2002-02-27  Paul Eggert  <eggert@twinsun.com>
95709
95710         * lib/nanosleep.h: Rename to....
95711         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
95712
95713         * lib/gettime.c: New file.
95714         * lib/settime.c: New file.
95715         * lib/stime.c: Remove.
95716
95717         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
95718         timespec.h.  Remove nanosleep.h.
95719
95720 2002-02-25  Paul Eggert  <eggert@twinsun.com>
95721
95722         * m4/acl.m4: New file.
95723         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
95724         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
95725
95726 2002-02-25  Paul Eggert  <eggert@twinsun.com>
95727
95728         * lib/acl.c, lib/acl.h: New files.
95729         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
95730
95731 2002-02-24  Jim Meyering  <meyering@lucent.com>
95732
95733         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
95734         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
95735         cause trouble.  Reported by Nelson Beebe.
95736
95737 2002-02-23  Paul Eggert  <eggert@twinsun.com>
95738
95739         * lib/path-concat.c (xpath_concat): Reorder code to pacify
95740         compilers that don't know that xalloc_die never returns.
95741
95742 2002-02-20  Jim Meyering  <meyering@lucent.com>
95743
95744         * lib/getdate.c: Regenerate using bison-1.33.
95745
95746 2002-02-17  Jim Meyering  <meyering@lucent.com>
95747
95748         * config/config.guess (main): Don't use `head -1'; it's no longer
95749         portable. Use `sed 1q' instead.
95750
95751 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
95752
95753         * m4/codeset.m4: Upgrade to gettext-0.11.
95754         * m4/gettext.m4: Upgrade to gettext-0.11.
95755         * m4/glibc21.m4: Upgrade to gettext-0.11.
95756         * m4/iconv.m4: Upgrade to gettext-0.11.
95757         * m4/isc-posix.m4: Upgrade to gettext-0.11.
95758         * m4/lcmessage.m4: Upgrade to gettext-0.11.
95759         * m4/lib-ld.m4: New file, from gettext-0.11.
95760         * m4/lib-link.m4: New file, from gettext-0.11.
95761         * m4/lib-prefix.m4: New file, from gettext-0.11.
95762         * m4/progtest.m4: Upgrade to gettext-0.11.
95763
95764 2002-02-15  Paul Eggert  <eggert@twinsun.com>
95765
95766         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
95767         (jm_PREREQ): Use it.
95768
95769 2002-02-15  Paul Eggert  <eggert@twinsun.com>
95770
95771         * lib/posixver.c, lib/posixver.h: New files.
95772         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
95773
95774 2002-02-02  Paul Eggert  <eggert@twinsun.com>
95775             Bruno Haible  <bruno@clisp.org>
95776
95777         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
95778         (fwrite_success_callback): New declaration.
95779         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
95780         print_unicode_char. Call failure callback instead of error.
95781         (fwrite_success_callback): New function.
95782         (exit_failure_callback): New function.
95783         (fallback_failure_callback): New function.
95784         (print_unicode_char): Call unicode_to_mb.
95785
95786 2002-01-26  Jim Meyering  <meyering@lucent.com>
95787
95788         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
95789         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
95790
95791 2002-01-26  Jim Meyering  <meyering@lucent.com>
95792
95793         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
95794
95795 2002-01-22  Paul Eggert  <eggert@twinsun.com>
95796
95797         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
95798
95799 2002-01-22  Jim Meyering  <meyering@lucent.com>
95800
95801         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
95802         Otherwise, some versions of automake would omit the rule that makes
95803         Makefile from Makefile.in.
95804
95805 2002-01-21  Paul Eggert  <eggert@twinsun.com>
95806
95807         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
95808         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
95809         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
95810         (memcoll): Set errno to zero if there is no error.
95811
95812         * lib/quotearg.c (quotearg_buffer_restyled):
95813         Fix bug with quoting buffers containing NUL when backslashing escapes.
95814         This bug was exposed by the other changes in this patch.
95815         (quotearg_n_options): New arg ARGSIZE.
95816         All callers changed.
95817         (quoting_options_from_style): New function.
95818         (quotearg_n_style): Use it.
95819         (quotearg_n_style_mem): New function.
95820
95821         * lib/quotearg.h (quotearg_n_style_mem): New function.
95822
95823 2002-01-19  Jim Meyering  <meyering@lucent.com>
95824
95825         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
95826         Remove useless quotes: DF_PROG="df".
95827         * m4/strnlen.m4: New file.
95828
95829 2002-01-16  Paul Eggert  <eggert@twinsun.com>
95830
95831         * lib/backupfile.c (ISDIGIT): Comment fix.
95832         * lib/getdate.y (ISDIGIT): Likewise.
95833         * lib/posixtm.c (ISDIGIT, year): Likewise.
95834         * lib/strverscmp.c (ISDIGIT): Likewise.
95835         * lib/userspec.c (ISDIGIT): Likewise.
95836
95837 2002-01-16  Jim Meyering  <meyering@lucent.com>
95838
95839         * lib/getdate.y: Add three semicolons, each just before a closing
95840         brace. Bison (as of version 1.31) no longer papers over that mistake.
95841
95842 2002-01-05  Jim Meyering  <meyering@lucent.com>
95843
95844         * lib/version-etc.c (version_etc_copyright): Update copyright year.
95845
95846 2001-12-19  Paul Eggert  <eggert@twinsun.com>
95847
95848         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
95849         not silently exit merely because the output buffer happens to
95850         have nothing pending.
95851
95852 2001-12-18  Paul Eggert  <eggert@twinsun.com>
95853
95854         See the big note in ../ChangeLog.
95855         * lib/human.c (suffixes): Prefer K to k for 1024.
95856         (generate_suffix_backwards): New function.
95857         (human_readable_inexact): Use it.
95858         * lib/xstrtol.c (__xstrtol): If there is no number but there
95859         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
95860         Accept 'K' as well as 'k'.
95861
95862 2001-12-15  Jim Meyering  <meyering@lucent.com>
95863
95864         * lib/regex.h (__restrict_arr): Update from libc.
95865
95866         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
95867         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
95868         (STREQ): Define.
95869
95870 2001-12-14  Jim Meyering  <meyering@lucent.com>
95871
95872         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
95873         Suggestion from Bruno Haible.
95874
95875 2001-12-10  Jim Meyering  <meyering@lucent.com>
95876
95877         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
95878         xrealloc, Instead, include "xalloc.h".
95879         (initbuffer): Don't cast xmalloc return value to char*.
95880         (readline): Reword comment.
95881         Don't cast xrealloc return value to char*
95882         Return NULL, not 0.
95883
95884 2001-12-09  Jim Meyering  <meyering@lucent.com>
95885
95886         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
95887         about `signed and unsigned type in conditional expression'.
95888         * lib/posixtm.c (posix_time_parse): Likewise.
95889
95890         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
95891
95892         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
95893         to avoid a pedantic warning.
95894
95895         * lib/getstr.c: Don't include assert.h.
95896         (getstr): Remove warning-evoking assertions.
95897         Return -1 if offset parameter is out of bounds.
95898         Change the type of a local from int to size_t.
95899
95900         * lib/strftime.c (my_strftime_localtime_r): Include this function
95901         definition in the `#if ! HAVE_TM_GMTOFF' block.
95902
95903         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
95904         Include xalloc.h instead.
95905
95906 2001-12-02  Jim Meyering  <meyering@lucent.com>
95907
95908         * lib/tempname.c: Don't declare getenv, thus reverting the change of
95909         2001-11-18.  It's no longer necessary, now that stdlib.h is always
95910         included.
95911
95912         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
95913         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
95914
95915 2001-11-30  Akim Demaille  <akim@epita.fr>
95916
95917         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
95918         before being defined.
95919
95920 2001-11-27  Paul Eggert  <eggert@twinsun.com>
95921
95922         * lib/quotearg.h (quotearg_n, quotearg_n_style):
95923         First arg is int, not unsigned.
95924         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
95925         (SIZE_MAX, UINT_MAX): New macros.
95926         (quotearg_n_options): Abort if N is negative.
95927         Avoid overflow check on hosts where size_t is 64 bits and int
95928         is 32 bits, as overflow is impossible there.
95929         Fix off-by-one typo that caused unnecessary reallocation.
95930
95931 2001-11-27  Jim Meyering  <meyering@lucent.com>
95932
95933         * lib/tempname.c: Merge with version from libc.
95934         * lib/regex.c: Likewise.
95935
95936         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
95937         systems for which STDC_HEADERS is 0, it was not included, resulting in
95938         a warning about an integer-to-pointer conversion problem with getenv.
95939         Reported by Volker Borchert.
95940
95941 2001-11-26  Jim Meyering  <meyering@lucent.com>
95942
95943         * lib/gtod.h: Remove file.
95944         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
95945         * lib/gettimeofday.c: Don't include gtod.h.
95946         (GTOD_init): Remove function.
95947         (rpl_gettimeofday): Do its job here instead, rather than aborting.
95948         Suggestion from Volker Borchert.
95949
95950 2001-11-23  Jim Meyering  <meyering@lucent.com>
95951
95952         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
95953         it.
95954         * lib/hash.c (struct hash_table): Define it here instead.
95955
95956 2001-11-22  Jim Meyering  <meyering@lucent.com>
95957
95958         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
95959
95960 2001-11-20  Jim Meyering  <meyering@lucent.com>
95961
95962         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
95963         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
95964
95965 2001-11-19  Jim Meyering  <meyering@lucent.com>
95966
95967         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
95968         directory.  Use "conftestXXXXXX" as the template.
95969         Suggestion from Paul Eggert.
95970
95971         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
95972         immediately, so the test doesn't mistakenly hit the max-open-files
95973         limit.
95974
95975 2001-11-18  Paul Eggert  <eggert@twinsun.com>
95976
95977         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
95978         (TEMPORARIES): New macro.
95979         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
95980         removes an artificial limitation (e.g. HP-UX 10.20, where
95981         TMP_MAX is 17576).
95982
95983 2001-11-18  Jim Meyering  <meyering@lucent.com>
95984
95985         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
95986
95987 2001-11-18  Jim Meyering  <meyering@lucent.com>
95988
95989         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
95990         on SunOS 4.
95991
95992         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
95993         files will be created before anything else.
95994
95995 2001-11-17  Paul Eggert  <eggert@twinsun.com>
95996
95997         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
95998         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
95999
96000 2001-11-17  Jim Meyering  <meyering@lucent.com>
96001
96002         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
96003         Prompted by a report from Bob Proulx.
96004
96005         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
96006         Instead, require UTILS_FUNC_MKSTEMP.
96007
96008 2001-11-17  Jim Meyering  <meyering@lucent.com>
96009
96010         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
96011         Now, that's done as part of AC_FUNC_STRTOD.
96012
96013 2001-11-17  Jim Meyering  <meyering@lucent.com>
96014
96015         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
96016         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
96017         rather than group writable.  Patch by Juan F. Codagnone.
96018
96019         * lib/readtokens.c: Remove explicit declarations of xmalloc and
96020         xrealloc, Instead, include "xalloc.h".
96021
96022         * lib/mountlist.c: Include unlocked-io.h after all system headers.
96023         Remove explicit declarations of xmalloc, xrealloc,
96024         and xstrdup.  Instead, include "xalloc.h".
96025
96026         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
96027         unlocked-io.h.
96028         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
96029         Likewise.
96030         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
96031
96032         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
96033         Reported by Padraig Brady.
96034
96035         * lib/mkstemp.c: #undef mkstemp.
96036         Include config.h.
96037         (rpl_mkstemp): Rename from mkstemp.
96038         Protoize.
96039
96040 2001-11-16  Jim Meyering  <meyering@lucent.com>
96041
96042         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
96043         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
96044         determine the amount of total physical memory, use pstat_getstatic.
96045         HPUX-11 doesn't define _SC_PHYS_PAGES.
96046         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
96047         If sysconf couldn't be used to determine the amount of available
96048         physical memory, use both pstat_getstatic and pstat_getdynamic.
96049         Based on a patch from Bob Proulx.
96050
96051 2001-11-10  Jim Meyering  <meyering@lucent.com>
96052
96053         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
96054         (jm_PREREQ): Use it.
96055
96056 2001-11-09  Jim Meyering  <meyering@lucent.com>
96057
96058         * m4/jm-macros.m4: Require autoconf-2.52f.
96059         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
96060         Use these AC_-prefixed names, not the AM_-prefixed ones.
96061
96062         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
96063
96064 2001-11-05  Jim Meyering  <meyering@lucent.com>
96065
96066         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
96067
96068 2001-11-04  Jim Meyering  <meyering@lucent.com>
96069
96070         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
96071         $DEFS.
96072
96073 2001-11-03  Jim Meyering  <meyering@lucent.com>
96074
96075         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
96076         of AC_DEFUN.
96077
96078         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
96079         know the name of the variable in the macro definition.
96080
96081 2001-11-03  Jim Meyering  <meyering@lucent.com>
96082
96083         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
96084         in argmatch_to_argument call.
96085
96086         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
96087         argument.
96088
96089         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
96090         e.g., a fault due to an attempt to free a NULL pointer.
96091
96092 2001-11-01  Jim Meyering  <meyering@lucent.com>
96093
96094         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
96095         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
96096
96097 2001-11-01  Jim Meyering  <meyering@lucent.com>
96098
96099         * lib/dirfd.c, lib/dirfd.h: New files.
96100         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
96101
96102         * lib/hash.c (hash_print) [TESTING]: Clean up.
96103
96104 2001-10-22  Paul Eggert  <eggert@twinsun.com>
96105
96106         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
96107         to avoid a warning if -Wall.
96108
96109 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
96110
96111         * README: New file
96112         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
96113         (per RMS's instructions, this is now the canonical source)
96114         * lgpl/, gpl/: New directories.
96115
96116 2001-10-21  Paul Eggert  <eggert@twinsun.com>
96117
96118         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
96119
96120 2001-10-21  Jim Meyering  <meyering@lucent.com>
96121
96122         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
96123         this code would end up calling gettext even in packages built
96124         with --disable-nls.
96125         * lib/getopt.c (_): Likewise.
96126         * lib/regex.c (_): Likewise.
96127
96128 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96129
96130         * m4/error.m4 (jm_PREREQ_ERROR):
96131         Do not invoke AC_CHECK_FUNCS with strerror_r, as
96132         AC_FUNC_STRERROR_R does that.
96133         Check for strerror declaration.
96134
96135         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
96136         are supposed to have them these days.
96137         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
96138         Merge changes from latest Autoconf CVS.
96139         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
96140         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
96141         POSIX decided to standardize on the int flavor of strerror_r.
96142
96143 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96144
96145         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
96146         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
96147         Use strerror_r that is only a macro, even if it is not a function.
96148         (strerror): Check for HAVE_DECL_STRERROR before declaring.
96149         (private_strerror): Use prototypes, not old-style function definition.
96150         (print_errno_message): New function.
96151         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
96152         char*-flavored one.
96153         (error_tail, error, error_at_line): Use it.
96154
96155 2001-10-11  Jim Meyering  <meyering@lucent.com>
96156
96157         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
96158         and quote_n (1, ... to avoid clobbering a buffer.
96159
96160 2001-10-05  Jim Meyering  <meyering@lucent.com>
96161
96162         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
96163         hash-pjw.h.
96164         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
96165         * lib/hash-pjw.h: New file.
96166
96167 2001-09-30  Jim Meyering  <meyering@lucent.com>
96168
96169         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
96170         `struct fsstat' has the `f_fstypename' member.
96171         Use that to define FS_TYPE, which is now used to make
96172         the getfsstat link test tighter.
96173
96174 2001-09-30  Jim Meyering  <meyering@lucent.com>
96175
96176         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
96177         Include <sys/ucred.h>, for Apple Darwin.
96178         Include sys/mount.h and sys/fs_types.h only if available.
96179         (FS_TYPE): Define.
96180         (read_filesystem_list): Use FS_TYPE.
96181
96182 2001-09-29  Paul Eggert  <eggert@twinsun.com>
96183
96184         * lib/exclude.c (excluded_filename): 0 -> false, since it's
96185         a boolean context.
96186
96187 2001-09-29  Jim Meyering  <meyering@lucent.com>
96188
96189         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96190         [one-argument getmntent function]): Include stdio.h before mntent.h.
96191         SunOS 4.1.x needs it for the declaration of `FILE'.
96192         Patch by Volker Borchert.
96193
96194         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96195         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
96196         sys/fs_types.h, and make the link-test for getfsstat guard #include
96197         directives with appropriate #if HAVE_*_H tests so that we can
96198         detect getfsstat on Apple Darwin1.3.7 systems.
96199         Reported by Nelson Beebe.
96200         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
96201
96202 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96203
96204         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96205         #defines strtoimax.  Also treat the other strto* functions
96206         like strtoimax.
96207
96208         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96209         Check for strtoul and strtoumax,
96210         as those declarations are made even in the signed case.
96211         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
96212         Likewise, for strtol and strtoimax.
96213
96214 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96215
96216         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96217         #defines strtoimax.  Also treat the other strto* functions
96218         like strtoimax.
96219
96220         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
96221         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
96222         (strtoimax, strtoumax): Do not declare if already defined as a macro.
96223
96224 2001-09-26  Jim Meyering  <meyering@lucent.com>
96225
96226         Most macros in unlocked-io.h had the wrong number of arguments.
96227         * lib/gen-uio: New script.
96228         (USE_UNLOCKED_IO): Define to 1 if not already defined.
96229         * lib/unlocked-io.hin: Remove file.
96230         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
96231         rather than trying to embed it here.
96232         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
96233         Reported by Padraig Brady.
96234
96235 2001-09-25  Volker Borchert  <bt@teknon.de>
96236
96237         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
96238         `result'.
96239
96240 2001-09-24  Jim Meyering  <meyering@lucent.com>
96241
96242         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
96243
96244 2001-09-23  Jim Meyering  <meyering@lucent.com>
96245
96246         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
96247         instead of the mere test for existence of mntent.h.  The latter
96248         would get a false-positive on AIX 3.4 systems.
96249         In the outer getmntent if-block, don't die if neither of the getmntent
96250         tests succeeds.  Instead, just fall through and continue with the
96251         remaining tests.
96252
96253 2001-09-23  Jim Meyering  <meyering@lucent.com>
96254
96255         * lib/mountlist.c: Remove useless parentheses in #if directives.
96256         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
96257         the deprecated MOUNTED symbol is no longer defined in mntent.h.
96258
96259 2001-09-22  Jim Meyering  <meyering@lucent.com>
96260
96261         * m4/gettext.m4: New file.  From gettext.
96262         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
96263         * m4/progtest.m4: Likewise
96264         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
96265         * m4/glibc21.m4: Likewise.
96266
96267         * m4/libintl.m4: Remove.  No longer used.
96268
96269 2001-09-22  Jim Meyering  <meyering@lucent.com>
96270
96271         * lib/localcharset.c: Update from latest gettext.
96272         * lib/config.charset: Likewise.
96273
96274 2001-09-20  Jim Meyering  <meyering@lucent.com>
96275
96276         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
96277         strtoimax.
96278         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
96279         strtoumax.
96280
96281 2001-09-20  Jim Meyering  <meyering@lucent.com>
96282
96283         * lib/xstrtol.c (strtoimax): Guard declaration with
96284         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
96285         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
96286         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
96287         (strtoumax): Likewise, for completeness (it wasn't necessary).
96288
96289 2001-09-17  Paul Eggert  <eggert@twinsun.com>
96290
96291         * lib/strtoimax.c (HAVE_LONG_LONG):
96292         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
96293         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
96294         to work around bug in IBM C compiler.
96295
96296 2001-09-17  Jim Meyering  <meyering@lucent.com>
96297
96298         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
96299         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
96300         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
96301         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
96302         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
96303         whenever the right hand side need not be expanded by the shell.
96304
96305 2001-09-16  Paul Eggert  <eggert@twinsun.com>
96306
96307         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
96308         library.  It's not correct, as some older glibcs are buggy.
96309         fnmatch wasn't fixed until glibc 2.2.
96310
96311         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
96312         special shell magic here.
96313
96314 2001-09-16  Jim Meyering  <meyering@lucent.com>
96315
96316         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
96317         * m4/jm-macros.m4: Require it.
96318
96319 2001-09-16  Jim Meyering  <meyering@lucent.com>
96320
96321         * lib/mkdir.c: New file.
96322
96323 2001-09-15  Jim Meyering  <meyering@lucent.com>
96324
96325         * m4/jm-macros.m4: Check for help2man.
96326
96327 2001-09-11  Jim Meyering  <meyering@lucent.com>
96328
96329         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
96330         The body, by Paul Eggert, was moved here from configure.in.
96331         * m4/jm-macros.m4: Require UTILS_HOST_OS.
96332
96333 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96334
96335         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
96336         (jm_PREREQ): Use it.
96337
96338 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96339
96340         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
96341         Use ssize_t, not int, to store result of readlink.
96342         Check for ssize_t overflow as well as size_t overflow,
96343         as POSIX says the result of readlink is implementation-defined
96344         when ssize_t overflows.
96345         Remove unnecessary cast to char*.
96346         Use free+malloc instead of realloc, as the storage doesn't need
96347         to be preserved and it's clearer and can be more efficient that way.
96348         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
96349         * lib/xreadlink.h (xreadlink): Update prototype.
96350
96351 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96352
96353         * lib/xgetcwd.c: Revert some of the previous change; intead,
96354         fix the HAVE_GETCWD_NULL code to behave more like the
96355         !HAVE_GETCWD_NULL code used to.
96356
96357         Include "xalloc.h".
96358         (xgetcwd): Do not return NULL when memory is exhausted; instead,
96359         invoke xalloc_die.
96360
96361 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96362
96363         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
96364         sys/param.h, as pathmax.h includes them.
96365
96366 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96367
96368         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
96369         (jm_PREREQ_XGETCWD): New macro.
96370
96371         * m4/getcwd.m4: New file.
96372
96373 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96374
96375         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
96376         like the HAVE_GETCWD_NULL code.
96377         Include pathmax.h if not HAVE_GETCWD.
96378         Do not include xalloc.h.
96379         (INITIAL_BUFFER_SIZE): New symbol.
96380         Do not use xmalloc / xrealloc, since the caller is responsible for
96381         handling errors.  Preserve errno around `free' during failure.
96382         Do not overrun buffer when using getwd.
96383
96384 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96385
96386         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
96387         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
96388         getcwd (NULL, 0).
96389
96390 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96391
96392         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
96393         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
96394         spotted by Jim Meyering.
96395
96396 2001-09-03  Jim Meyering  <meyering@lucent.com>
96397
96398         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
96399         failure.
96400
96401 2001-09-02  Jim Meyering  <meyering@lucent.com>
96402
96403         * lib/error.c: Update from GNU libc.
96404
96405 2001-09-01  Jim Meyering  <meyering@lucent.com>
96406
96407         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
96408         Used by df.
96409
96410 2001-09-01  Jim Meyering  <meyering@lucent.com>
96411
96412         * lib/xreadlink.c: New file.
96413         * lib/xreadlink.h: New file.
96414         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
96415         xreadlink.h.
96416
96417         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
96418         doesn't conflict with sparc Solaris 7's definition in
96419         /usr/include/sys/int_types.h.
96420
96421         * lib/exclude.c: Use `""', not `<>' to #include non-system header
96422         files.
96423         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
96424         and strncasecmp as r-values.  Unixware didn't have declarations.
96425
96426 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96427
96428         * lib/xstrtol.h: Add copyright notice.
96429         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
96430         LONGINT_INVALID_SUFFIX_CHAR.
96431
96432 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96433
96434         * lib/xstrtol.c (strtoimax): New decl.
96435
96436 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96437
96438         * lib/xgetcwd.c: Don't include pathmax.h.
96439         Include stdlib.h and unistd.h if available.
96440         Include xalloc.h.
96441         (xmalloc, xstrdup, free): Remove decls.
96442         (xgetcwd): Don't assume sizes fit in unsigned.
96443         Check for overflow when computing sizes.
96444         Simplify reallocation code.
96445
96446 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96447
96448         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
96449         a directory's st_size can have an arbitrary value, so the old
96450         usage could waste an arbitrary amount of memory.  All uses
96451         changed.
96452         * lib/savedir.h: Update prototype.
96453
96454 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96455
96456         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
96457
96458         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
96459         old strtoimax.c.
96460
96461         Also, make the following further changes to make this file's
96462         configuration more similar to that of strtol.c:
96463         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
96464         (strtoumax, uintmax_t, strtoull, strtol): Remove.
96465         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
96466         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
96467         changed to signed values.
96468
96469         And make the following changes as well:
96470         Fix copyright notice, as 1999 was missing.
96471         (verify): New macro.
96472         (strtoimax): Check sizes at compile-time, not run-time.
96473         Prefer strtol to strtoll if both work.
96474         (main): Remove; it was not that useful and was a pain to maintain.
96475
96476         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
96477
96478 2001-08-31  Jim Meyering  <meyering@lucent.com>
96479
96480         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
96481         Use an initial, malloc'd, buffer of length 128 rather than
96482         a statically allocated one of length 1024.
96483
96484 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96485
96486         Simplify code, partly by assuming autoconf 2.52 semantics.
96487
96488         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
96489
96490         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
96491         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
96492         All uses removed.
96493         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
96494         Move AC_REQUIRE to next-to-top level, to avoid confusion.
96495         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
96496         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
96497         jm_AC_HEADER_INTTYPES_H.
96498         * m4/jm-macros.m4 (jm_MACROS): Likewise.
96499
96500         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
96501
96502         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96503         Quote first arg of AC_DEFUN.
96504         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
96505         since they are needed to parse the include file even if we need
96506         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
96507         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
96508         but with opposite signedness.
96509
96510 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96511
96512         Merge 'exclude' changes from tar 1.13.22.
96513         This fixes one or two unlikely storage allocation overflow bugs,
96514         but doesn't change user-visible behavior otherwise.
96515
96516 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96517
96518         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
96519         (jm_PREREQ_EXCLUDE): New macro.
96520
96521 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96522
96523         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
96524         tm to be declared.
96525
96526 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96527
96528         * lib/hash.c: Remove '2001' from copyright notice.
96529
96530 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96531
96532         * lib/full-write.h: New file.
96533         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
96534         * lib/full-write.c: Correct credits, as cccp.c no longer
96535         exists and anyway it was so heavily changed from the old cccp
96536         code as to be unrecognizable.  Include full-write.h.
96537         (full_write): Return size_t, with short writes meaning failure.
96538         All callers changed.  This fixes a bug with large buffers
96539         on 64-bit hosts.
96540         * lib/utime.c: Include full-write.h.
96541
96542 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96543
96544         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
96545         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
96546         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
96547         Include if available.
96548         (<xalloc.h>): Include
96549         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
96550         (verify): New macro.  Use it to verify that EXCLUDE macros do not
96551         collide with FNM macros.
96552         (struct patopts): New struct.
96553         (struct exclude): Use it, as exclude patterns now come with options.
96554         (new_exclude): Support above changes.
96555         (new_exclude, add_exclude_file):
96556         Initial size must now be a power of two to simplify overflow checking.
96557         (free_exclude, fnmatch_no_wildcards): New function.
96558         (excluded_filename): No longer requires options arg, as the options
96559         are determined by add_exclude.  Now returns bool, not int.
96560         (excluded_filename, add_exclude):
96561         Add support for the fancy new exclusion options.
96562         (add_exclude, add_exclude_file): Now takes int options arg.
96563         Check for arithmetic overflow when computing sizes.
96564         (add_exclude_file): xrealloc might modify errno, so don't
96565         realloc until after errno might be used.
96566
96567         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
96568         New macros.
96569         (free_exclude): New decl.
96570         (add_exclude, add_exclude_file): Now takes int options arg.
96571         (excluded_filename): No longer requires options arg, as the options
96572         are determined by add_exclude.  Now returns bool, not int.
96573
96574 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96575
96576         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
96577
96578 2001-08-27  Jim Meyering  <meyering@lucent.com>
96579
96580         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
96581
96582         * lib/version-etc.c (N_): Remove definition.
96583         Revert most of last change.
96584         Instead, simply don't mark the `Copyright...' string for translation.
96585         Based on advice from Paul Eggert.
96586
96587         * lib/strtoxmax.c: Tweak comment.
96588
96589 2001-08-26  Jim Meyering  <meyering@lucent.com>
96590
96591         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
96592
96593         * m4/xstrtoimax.m4: New file.
96594         * m4/xstrtoumax.m4: Add comments explaining why we
96595         AC_REPLACE_FUNCS(strtol).
96596
96597 2001-08-26  Jim Meyering  <meyering@lucent.com>
96598
96599         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
96600         of copyright with `%s' so translators don't get an untranslated
96601         message in 2002.
96602         (COPYRIGHT_YEAR): Define.
96603         (version_etc): Use fprintf rather than fputs.
96604         Suggestion from Ulrich Drepper.
96605
96606         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
96607
96608         * lib/strtoll.c: New file, from GNU libc.
96609         * lib/xstrtoimax.c: New file.
96610
96611         * lib/xstrtol.h: Add xstrtoimax.
96612         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
96613         * lib/strtoimax.c: New file.  Likewise, but first define
96614         STRTOUXMAX_SIGNED.
96615
96616         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
96617         ...
96618         * lib/strtoxmax.c: ... then renamed to this.
96619
96620 2001-08-18  Paul Eggert  <eggert@twinsun.com>
96621
96622         * m4/inttypes.m4: Add AC_PREREQ(2.13).
96623         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
96624         (jm_AC_TYPE_INTMAX_T): New macro.
96625         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
96626
96627         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
96628
96629         * m4/longlong.m4: Renamed from ulonglong.m4.
96630         * m4/inttypes.m4: Renamed from inttypes_h.m4.
96631         * m4/uintmax_t.m4: Removed.
96632
96633 2001-08-13  Paul Eggert  <eggert@twinsun.com>
96634
96635         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
96636         Port to Solaris 8, where 'sed' requires a space after the 'r'
96637         command, and where sh dislikes "$/".  Clean up the spacing a bit.
96638         Redirect output to $tmp just once.
96639
96640 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
96641
96642         * lib/addext.c (<errno.h>): Include.
96643         (errno): Declare if not defined.
96644         (addext): Work correctly when pathconf returns -1 and leaves
96645         errno alone because there is no limit.  Also, work even if
96646         pathconf returns a value greater than SIZE_MAX.
96647
96648 2001-08-12  Jim Meyering  <meyering@lucent.com>
96649
96650         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
96651         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
96652         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
96653         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
96654         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
96655         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
96656         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
96657         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
96658         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
96659         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
96660         utime.m4, utimes.m4, xstrtoumax.m4:
96661         Quote the first argument in each use of AC_DEFUN.
96662
96663 2001-08-12  Jim Meyering  <meyering@lucent.com>
96664
96665         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
96666         Simply `return getcwd (NULL, 0);'.
96667         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
96668         Use 1300 as initial value for length, not PATH_MAX.
96669
96670         * lib/pathmax.h: Clean up cpp syntax.
96671
96672 2001-08-12  Jim Meyering  <meyering@lucent.com>
96673
96674         * lib/gettimeofday.c: New file.
96675         * lib/gtod.h: New file.
96676         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
96677
96678 2001-08-05  Jim Meyering  <meyering@lucent.com>
96679
96680         * m4/jm-macros.m4: Require autoconf-2.52.
96681
96682 2001-08-04  Jim Meyering  <meyering@lucent.com>
96683
96684         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
96685         stmt, to get in sync with glibc.
96686
96687 2001-08-03  Paul Eggert  <eggert@twinsun.com>
96688
96689         The following changes are from gettext 0.10.39 as maintained by
96690         Bruno Haible.
96691
96692         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
96693         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
96694         with inverted sense.  All uses changed.
96695
96696         * lib/mbswidth.c: Don't include <limits.h>.
96697         Include <stdlib.h> and <string.h> unconditionally.
96698         (iswcntrl, mbsinit, ISCNTRL): New macros.
96699         (mbsnwidth): Use K&R style function declarations.
96700         Don't bother checking for MB_LEN_MAX == 1, since the compiler
96701         can optimize it when MB_CUR_MAX == 1.
96702         The width of control characters is zero, not 1.
96703
96704 2001-08-03  Paul Eggert  <eggert@twinsun.com>
96705
96706         The following changes are from gettext 0.10.39 as maintained by
96707         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
96708
96709         * m4/codeset.m4: Upgrade to serial AM1.
96710         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
96711         all uses changed.  Quote first arg of AC_DEFUN.
96712         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
96713
96714         * m4/iconv.m4: Upgrade to serial AM2.
96715         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
96716         Add --with-libconv-prefix.
96717         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
96718         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
96719         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
96720         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
96721         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
96722
96723         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
96724         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
96725         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
96726         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
96727         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
96728         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
96729         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
96730         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
96731         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
96732
96733         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
96734         string.h any more.
96735
96736         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
96737         not the default value.
96738
96739         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
96740         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
96741         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
96742         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
96743         Also check for iswcntrl, used for wcwidth fallback.
96744         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
96745         to Autoconf 2.13.
96746
96747 2001-08-03  Jim Meyering  <meyering@lucent.com>
96748
96749         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
96750         as it was in the original.  Reported by Paul Eggert.
96751
96752 2001-07-16  Jim Meyering  <meyering@lucent.com>
96753
96754         * m4/gettimeofday.m4: New file.
96755         Prompted by a report from Bernhard Baehr.
96756
96757 2001-07-15  Jim Meyering  <meyering@lucent.com>
96758
96759         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
96760         stuff. Now it's in ../Makefile.cfg.
96761
96762 2001-07-15  Jim Meyering  <meyering@lucent.com>
96763
96764         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
96765         (BUILT_SOURCES): Add unlocked-io.h.
96766         (io_functions): Define.
96767         (unlocked-io.h): New rule.
96768         (DISTCLEANFILES): Add unlocked-io.h.
96769         (all-local): Depend on unlocked-io.h, to ensure it is created.
96770
96771         * lib/unlocked-io.hin: New file
96772
96773         * lib/regex.c: Update from glibc.
96774
96775 2001-07-05  Jim Meyering  <meyering@lucent.com>
96776
96777         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
96778         recommendation.
96779         (libfetish_a_SOURCES): Put all .h files here instead.
96780         Remove a thus-exposed (better checks in automake) duplicate and
96781         two unnecessary .h files.
96782
96783 2001-07-04  Jim Meyering  <meyering@lucent.com>
96784
96785         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
96786         that generates jm-glibc-io.m4 so that it doesn't trigger any make
96787         distcheck failure.
96788
96789 2001-07-02  Jim Meyering  <meyering@lucent.com>
96790
96791         The following changes were prompted by suggestions from Bruno Haible.
96792
96793         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
96794         is now generated.
96795         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
96796         definition of EXTRA_DIST.
96797         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
96798         ensure that the generated file is created/updated whenever the list
96799         of $(unlocked_functions) is changed.
96800         (jm-glibc-io.m4): New rule.
96801         (unlocked-io.h): New rule -- currently unused.
96802
96803 2001-06-24  Jim Meyering  <meyering@lucent.com>
96804
96805         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
96806         unmatched right bracket, rather than kludging it with an extra,
96807         falsely-matching quote in a comment.  Patch by Akim Demaille.
96808
96809 2001-06-11  Jim Meyering  <meyering@lucent.com>
96810
96811         * lib/regex.c: Update from GNU libc.
96812
96813 2001-05-27  Jim Meyering  <meyering@lucent.com>
96814
96815         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
96816         Check for ut_type in struct utmp.
96817
96818 2001-05-27  Jim Meyering  <meyering@lucent.com>
96819
96820         * lib/readutmp.h (UT_TYPE): Define.
96821
96822 2001-05-24  Jim Meyering  <meyering@lucent.com>
96823
96824         * lib/argmatch.c: Include "quote.h".
96825         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
96826         quote function.  Reported by Göran Uddeborg.
96827
96828 2001-05-22  Jim Meyering  <meyering@lucent.com>
96829
96830         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
96831         now that we use the package-supplied version unconditionally.
96832         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
96833
96834 2001-05-21  Jim Meyering  <meyering@lucent.com>
96835
96836         * m4/regex.m4: Change a couple backticks to single quotes to avoid
96837         shell syntax errors.
96838
96839 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
96840
96841         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
96842
96843 2001-05-20  Paul Eggert  <eggert@twinsun.com>
96844
96845         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
96846         Don't bother to check library strftime, since
96847         we'll be using our own my_strftime function anyway.
96848         Define my_strftime instead of strftime.
96849
96850 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
96851
96852         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
96853         which is not yet declared.
96854
96855 2001-05-15  Jim Meyering  <meyering@lucent.com>
96856
96857         * m4/regex.m4: Use proper quoting so brackets appear in the test
96858         program.
96859         Reported by, and with help from, Bruno Haible.
96860
96861 2001-05-13  Jim Meyering  <meyering@lucent.com>
96862
96863         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
96864         undefined.
96865
96866 2001-05-11  Paul Eggert  <eggert@twinsun.com>
96867
96868         dirname code cleanup.  base_name now behaves more compatibly
96869         with POSIX basename when given file names that have trailing
96870         slashes, and similarly for dir_name.  Add new primitives
96871         base_len and dir_len.  Put the directory-name-related decls
96872         into dirname.h.
96873
96874         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
96875         * lib/backupfile.c (base_name): Likewise.
96876         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
96877         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
96878         * lib/makepath.c (strip_trailing_slashes): Likewise.
96879         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
96880         ISSLASH): Likewise.
96881         * lib/rename.c (strip_trailing_slashes): Likewise.
96882         * lib/same.c (base_name): Likewise.
96883         * lib/stripslash.c (ISSLASH): Likewise.
96884
96885         * lib/addext.c: Include <dirname.h> after size_t is defined.
96886         * lib/backupfile.c: Likewise.
96887
96888         * lib/addext.c (addext): Use base_len to trim redundant
96889         trailing slashes instead of doing it ourselves.
96890         But do not trim the last slash if it is not redundant.
96891
96892         * lib/backupfile.c (find_backup_file_name,
96893         max_backup_version): Use base_len instead of rolling it ourselves.
96894         Handle the case of "" and (on DOS) "C:" correctly.
96895
96896         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
96897         needed. Include <string.h>, <dirname.h>.
96898         (base_name): Allow file names ending in slashes, other than names
96899         that are all slashes.  In this case, return the basename followed
96900         by the slashes.  This is more general, and can be used in places
96901         where the original base_name purposely had an assertion failure.
96902         (base_len): New function.
96903
96904         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
96905         Do not include <assert.h>; no longer needed.
96906         Include xalloc.h.
96907         (memrchr): Remove decl.
96908         (dir_name_r): Remove.
96909         (dir_len): Renamed from dirlen.  All callers changed.
96910         Rewrite in terms of base_name, for simplicity and consistency.
96911         (dir_name): Never return NULL.  All callers changed.
96912         Do not include <stdlib.h> in test program; no longer needed.
96913         return 0; is fine for test program.
96914
96915         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
96916         New macros.
96917         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
96918
96919         * lib/path-concat.c (path_concat): Use base_len to compute
96920         base length, not strlen; this means we cannot rely on memcpy
96921         to null-terminate.
96922
96923         * lib/same.c (STREQ): Remove.
96924         (same_name): Handle the case where the basename ends in trailing '/'.
96925
96926         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
96927         a slash was stripped.  Do not strip the last slash after a
96928         file system prefix.
96929
96930 2001-05-11  Paul Eggert  <eggert@twinsun.com>
96931
96932         * lib/Makefile.am (libfetish_a_SOURCES):
96933         Add strftime.c, since we now compile it on all hosts.
96934
96935         * lib/strftime.c (my_strftime):
96936         Define to nstrftime if emacs, but only if my_strftime is not defined.
96937         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
96938         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
96939         Add one more extra argument: a nanoseconds value.
96940         All uses changed.
96941         (ns): New macro.
96942         (my_strftime function): Add %N format.
96943         (emacs_strftimeu): Renamed from emacs_strftime,
96944         with extra ut argument.
96945
96946 2001-05-09  Paul Eggert  <eggert@twinsun.com>
96947
96948         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
96949
96950 2001-04-21  Jim Meyering  <meyering@lucent.com>
96951
96952         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
96953         doesn't interfere.
96954
96955 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
96956
96957         * m4/ftruncate.m4: Check for chsize.
96958         Link with ftruncate.o unconditionally if ftruncate is missing.
96959         This was required when cross-compiling to i586-mingw32msvc.
96960
96961 2001-04-08  Jim Meyering  <meyering@lucent.com>
96962
96963         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
96964         recomputed; that's necessary when the offset spans a DST transition.
96965         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
96966
96967 2001-04-02  Jim Meyering  <meyering@lucent.com>
96968
96969         * lib/regex.h, regex.c: Update from GNU libc.
96970
96971 2001-03-24  Jim Meyering  <meyering@lucent.com>
96972
96973         * m4/jm-macros.m4: Require autoconf-2.49d.
96974
96975 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
96976
96977         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
96978
96979 2001-03-19  Paul Eggert  <eggert@twinsun.com>
96980
96981         * lib/version-etc.c (version_etc_copyright): Update to 2001.
96982
96983 2001-03-17  Jim Meyering  <meyering@lucent.com>
96984
96985         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
96986         now that the version in autoconf is equivalent.
96987         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
96988
96989         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
96990         Suggestion from Akim Demaille.
96991
96992         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
96993         (jm_PREREQ_TEMPNAME): New function.
96994
96995 2001-03-16  Paul Eggert  <eggert@twinsun.com>
96996
96997         * lib/tempname.c (uint64_t): Define to uintmax_t if
96998         not defined, and if UINT64_MAX is not defined.
96999         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
97000         Reported by John David Anglin.
97001
97002 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
97003
97004         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
97005         resolve alias if codeset is empty.
97006         * lib/config.charset (BeOS): Use wildcard syntax.
97007
97008 2001-03-13  Jim Meyering  <meyering@lucent.com>
97009
97010         * lib/path-concat.c (path_concat)
97011         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
97012         concatenating e.g., `C:' and `foo'.
97013         From Bruno Haible.
97014
97015 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
97016
97017         * lib/localcharset.c (locale_charset): Don't use
97018         setlocale(LC_CTYPE,NULL). Don't return NULL.
97019         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
97020
97021 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
97022
97023         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
97024         support for DOS/DJGPP.
97025
97026 2001-03-01  Paul Eggert  <eggert@twinsun.com>
97027
97028         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
97029         lacks mkstemp.  Compile our own tempname.c if we compile our own
97030         mkstemp.c, as mkstemp relies on tempname.
97031
97032 2001-03-01  Jim Meyering  <meyering@lucent.com>
97033
97034         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
97035         AH_VERBATIM really does output its argument verbatim.
97036
97037 2001-02-28  Paul Eggert  <eggert@twinsun.com>
97038
97039         * lib/Makefile.am (libfetish_a_SOURCES):
97040         Add dup-safer.c, fopen-safer.c.
97041         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
97042
97043         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
97044         * lib/unistd-safer.h: New files.
97045
97046 2001-02-25  Paul Eggert  <eggert@twinsun.com>
97047
97048         The mkstemp replacement is taken from glibc 2.2.2, with some
97049         portability fixes for use outside glibc, as follows:
97050
97051         * lib/tempname.c (struct_stat64): New macro.
97052         (direxists, __gen_tempname): Use it.
97053         This avoids a portability problem with Solaris 8.
97054
97055         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
97056         (<stddef.h>, <stdint.h>, <string.h>):
97057         Include only if STDC_HEADERS || _LIBC.
97058         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
97059         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
97060         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
97061         (__set_errno): Define this macro if <errno.h> doesn't.
97062         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
97063         Define these macros if <stdio.h> doesn't.
97064         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
97065         Define these macros if <sys/stat.h>
97066         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
97067         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
97068         __xstat64): Define if not _LIBC.
97069         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
97070         (__gen_tempname): Invoke gettimeofday only if
97071         HAVE_GETTIMEOFDAY || _LIBC;
97072         otherwise, fall back on plain "time".
97073         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
97074
97075         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
97076
97077         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
97078
97079 2001-02-18  Paul Eggert  <eggert@twinsun.com>
97080
97081         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
97082
97083 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97084
97085         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
97086         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
97087         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
97088         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
97089
97090 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97091
97092         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
97093         Remove workaround macros for hosts that have mbrtowc but not
97094         mbstate_t, as we now insist on proper declarations for both
97095         before using mbrtowc.
97096
97097 2001-02-17  Jim Meyering  <meyering@lucent.com>
97098
97099         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
97100         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
97101         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
97102         UnixWare 7.1.1.
97103
97104         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
97105         rather than AC_CACHE_VAL.
97106
97107 2001-02-17  Jim Meyering  <meyering@lucent.com>
97108
97109         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
97110         around included file name.
97111
97112         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
97113
97114         * lib/strftime.c: Update from GNU libc (the only changes were to
97115         comments).
97116
97117 2001-02-17  Jim Meyering  <meyering@lucent.com>
97118
97119         * lib/regex.c: Update from libc.
97120
97121 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
97122
97123         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
97124         clash.
97125
97126 2001-02-16  Paul Eggert  <eggert@twinsun.com>
97127
97128         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
97129         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
97130         Reported by Mark Hounschell via Paul Eggert.
97131
97132 2001-02-07  Jim Meyering  <meyering@lucent.com>
97133
97134         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
97135
97136 2001-02-05  Jim Meyering  <meyering@lucent.com>
97137
97138         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
97139         it includes the patch required for `large file' support with at least
97140         HP-UX's 10.20 /bin/cc.
97141
97142 2001-02-03  Jim Meyering  <meyering@lucent.com>
97143
97144         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
97145         AS_IF, now that it works once again (mysteriously).
97146         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97147
97148 2001-01-30  Jim Meyering  <meyering@lucent.com>
97149
97150         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
97151         * m4/chown.m4: Rename conftestchown to conftest.chown.
97152         * m4/rename.m4: s/conftestdir/conftest.d1/ and
97153         s/conftestdir2/conftest.d2/.
97154         * m4/utimes.m4: s/conftestdata/conftest.data/
97155         Inspired by Pavel Roskin's change in autoconf.
97156
97157 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
97158
97159         * lib/config.charset: Update for FreeBSD 4.2.
97160
97161 2001-01-27  Jim Meyering  <meyering@lucent.com>
97162
97163         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
97164         a use of AS_IF.
97165         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97166
97167 2001-01-26  Jim Meyering  <meyering@lucent.com>
97168
97169         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
97170         quotearg.c includes it.
97171
97172 2001-01-26  Jim Meyering  <meyering@lucent.com>
97173
97174         * lib/quotearg.c: Include stddef.h.
97175         * lib/quote.c: Include stddef.h.
97176         Reported by Axel Kittenberger.
97177
97178         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
97179         line in double quotes so that it evokes a better diagnostic.
97180         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
97181         Reported by Axel Kittenberger.
97182
97183 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
97184
97185         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
97186         as if it was a `charset'.
97187
97188 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97189
97190         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
97191         has const.
97192
97193 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97194
97195         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
97196         to avoid a warning.  Add back 'const' to inptr.
97197
97198 2001-01-20  Jim Meyering  <meyering@lucent.com>
97199
97200         Be sure that headers are checked before used in code compiled
97201         for the type checks.
97202         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
97203         In place of that, invoke jm_CHECK_ALL_TYPES.
97204         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
97205         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
97206         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
97207         The check for ssize_t was mistakenly run before the test for unistd.h.
97208
97209         The configure-time check for stdbool.h was missing.
97210         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
97211         (jm_PREREQ_HASH): New function.
97212
97213 2001-01-17  Jim Meyering  <meyering@lucent.com>
97214
97215         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
97216         for autoconf-2.49c.
97217         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
97218
97219 2001-01-16  Jim Meyering  <meyering@lucent.com>
97220
97221         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
97222         From Bruno Haible.
97223
97224 2001-01-14  Jim Meyering  <meyering@lucent.com>
97225
97226         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
97227         foo and bar.  Create conftestdir/ in the script, not in the C code.
97228         Remove directories in the script, not in the C code.
97229         Remove conftestdir{,2} before trying to create the directory.
97230         Make the entire configure script fail if the mkdir fails.
97231
97232 2001-01-14  Jim Meyering  <meyering@lucent.com>
97233
97234         * lib/rename.c: New file.  From Volker Borchert.
97235         Include stdlib.h, string.h or strings.h, and xalloc.h.
97236         Use strip_trailing_slashes rather than open-coding it.
97237
97238 2001-01-03  Paul Eggert  <eggert@twinsun.com>
97239
97240         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
97241
97242 2001-01-03  Jim Meyering  <meyering@lucent.com>
97243
97244         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
97245         of local `inptr' to avoid warning with some system declarations of
97246         iconv.
97247
97248 2001-01-02  Volker Borchert  <bt@teknon.de>
97249
97250         * m4/rename.m4: New file.
97251         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
97252
97253 2001-01-01  Jim Meyering  <meyering@lucent.com>
97254
97255         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
97256         even on systems with utmpx.h.  It's necessary for the declaration of
97257         utmp's ut_user member.  Reported by Andreas Jaeger.
97258
97259         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
97260         available. They are required for the declarations of getgrgid and
97261         getpwuid resp.
97262         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
97263         Reported by Andreas Jaeger.
97264
97265 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
97266
97267         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
97268         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
97269         so `make install' also works in VPATH builds.
97270
97271 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
97272
97273         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
97274         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
97275         can be used in subdirectories.
97276
97277 2000-12-29  Paul Eggert  <eggert@twinsun.com>
97278
97279         * lib/modechange.c: Do not assume that mode_t uses the
97280         traditional octal encoding.  E.g. "chmod 1 FOO" should set
97281         the other-execute bit of FOO even if S_IXOTH != 1.
97282
97283         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
97284         WOTH, XOTH, ALLM): New macros.
97285         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
97286          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
97287         Use them.
97288         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
97289         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
97290         (mode_compile):
97291         No need to use uintmax_t; unsigned long is long enough.
97292         Don't bother to get suffix since we don't use it.
97293
97294 2000-12-26  Jim Meyering  <meyering@lucent.com>
97295
97296         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
97297         better with autoheader.
97298
97299 2000-12-24  Jim Meyering  <meyering@lucent.com>
97300
97301         * lib/hash.c (is_prime): Return explicit boolean values.
97302         (hash_get_first): Return NULL to appease Irix5.6's 89.
97303         Reported by Nelson Beebe.
97304
97305 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
97306
97307         * lib/localcharset.c (locale_charset): Add support for Win32.
97308
97309 2000-12-18  Paul Eggert  <eggert@twinsun.com>
97310
97311         * lib/physmem.h, lib/physmem.c: New files.
97312
97313         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
97314         (noinst_HEADERS): Add physmem.h.
97315
97316         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
97317         't' for compatibility with Solaris 8 sort.
97318
97319 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
97320
97321         * lib/config.charset: Add support for BeOS.
97322
97323 2000-12-17  Jim Meyering  <meyering@lucent.com>
97324
97325         * m4/dos.m4 (jm_AC_DOS): New file and macro.
97326         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
97327
97328 2000-12-16  Jim Meyering  <meyering@lucent.com>
97329
97330         This bug had a serious impact on chown: `chown N:M FILE' (for integer
97331         N and M) would have treated it like `chown N:N FILE'.
97332
97333         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
97334
97335 2000-12-16  Jim Meyering  <meyering@lucent.com>
97336
97337         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
97338         SHELLS_FILE to a file name that's useful on djgpp systems.
97339         Include stdlib.h.
97340         (ADDITIONAL_DEFAULT_SHELLS): Define.
97341         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
97342         Based mostly on a patch from Prashant TR.
97343
97344 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
97345
97346         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
97347         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
97348         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
97349
97350 2000-12-08  Andreas Schwab  <schwab@suse.de>
97351
97352         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
97353         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
97354
97355 2000-12-07  Jim Meyering  <meyering@lucent.com>
97356
97357         * lib/stripslash.c (ISSLASH): Define.
97358         (strip_trailing_slashes): Use ISSLASH rather than comparing against
97359         `/'.
97360         From Prashant TR.
97361
97362         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
97363         (dir_name_r): Declare this function as static.
97364         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
97365         manifest itself on a name containing a mix of slashes and
97366         backslashes.
97367         Make this function work with names starting with a DOS-style
97368         drive letter and colon prefix.
97369         (dir_name): Append `.' if necessary.
97370         Based mostly on patches from Prashant TR and Eli Zaretskii.
97371
97372         * lib/dirname.h (dir_name_r): Remove prototype.
97373
97374 2000-12-06  Paul Eggert  <eggert@twinsun.com>
97375
97376         * m4/off_t-format.m4: Remove this file.
97377         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
97378
97379 2000-12-06  Jim Meyering  <meyering@lucent.com>
97380
97381         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
97382         replacement strtoull, we may well need the replacement strtoul, too.
97383         Check for declarations of strtoul and strtoull.
97384         Check for strtol.  Mainly as a cue to cause automake to include
97385         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
97386         Check for limits.h -- strtol.c needs it.
97387
97388 2000-12-05  Jim Meyering  <meyering@lucent.com>
97389
97390         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
97391
97392 2000-12-04  Jim Meyering  <meyering@lucent.com>
97393
97394         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
97395         Also include memory.h, stdlib.h, unistd.h if appropriate.
97396         Reported by Andreas Jaeger (conflicting declaration of malloc).
97397
97398 2000-12-02  Jim Meyering  <meyering@lucent.com>
97399
97400         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
97401         * m4/jm-macros.m4 (jm_MACROS): require it.
97402
97403 2000-12-02  Jim Meyering  <meyering@lucent.com>
97404
97405         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
97406
97407 2000-12-01  Paul Eggert  <eggert@twinsun.com>
97408
97409         * lib/memrchr.c: Include <config.h> before any system include file.
97410
97411 2000-11-30  Jim Meyering  <meyering@lucent.com>
97412
97413         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
97414
97415 2000-11-30  Jim Meyering  <meyering@lucent.com>
97416
97417         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
97418
97419 2000-11-29  Paul Eggert  <eggert@twinsun.com>
97420
97421         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
97422
97423 2000-11-26  Jim Meyering  <meyering@lucent.com>
97424
97425         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
97426
97427 2000-11-22  Paul Eggert  <eggert@twinsun.com>
97428
97429         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
97430         size of (size_t) -1; it's not portable.
97431
97432 2000-11-17  Jim Meyering  <meyering@lucent.com>
97433
97434         * lib/strstr.c: Update from GNU libc.
97435
97436 2000-11-17  Akim Demaille  <akim@epita.fr>
97437
97438         * lib/obstack.h: Formatting changes.
97439         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
97440         prevent type checking.
97441         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
97442         cast the value to (void *): assigning a `foo *' to a `void *'
97443         variable is valid.
97444         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
97445
97446 2000-11-16  Jim Meyering  <meyering@lucent.com>
97447
97448         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
97449
97450 2000-11-11  Jim Meyering  <meyering@lucent.com>
97451
97452         * lib/error.c: Add a couple #includes, merging from GNU libc version.
97453
97454 2000-11-10  Jim Meyering  <meyering@lucent.com>
97455
97456         * lib/obstack.h: Update from GNU libc.
97457         * lib/obstack.c: Likewise.
97458
97459 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
97460
97461         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
97462
97463 2000-11-06  Paul Eggert  <eggert@twinsun.com>
97464
97465         * lib/getusershell.c (setusershell): Use rewind rather than
97466         fseek/fseeko, to avoid configuration hassles with fseeko.
97467         Don't bother opening SHELLS_FILE if shellstream is NULL;
97468         it's not necessary.
97469
97470 2000-11-05  Jim Meyering  <meyering@lucent.com>
97471
97472         * lib/makepath.h (make_dir): Declare.
97473         * lib/makepath.c (make_dir): Remove `static' attribute.
97474         Tweak a comment.
97475
97476 2000-11-04  Jim Meyering  <meyering@lucent.com>
97477
97478         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
97479
97480 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
97481
97482         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
97483         last one in a bucket, advance to the next bucket.
97484
97485 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
97486
97487         * lib/fnmatch.c: Do not comment out all the code if we are using
97488         the GNU C library, because in some cases we are replacing buggy
97489         code in the GNU C library itself.
97490
97491 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
97492
97493         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
97494         (regex_compile): Catch bogus \(\1\).
97495
97496 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97497
97498         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
97499         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
97500         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
97501
97502 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97503
97504         * lib/error.h, getline.h, modechange.h:
97505         Remove "2000" from Copyright line, as the file hasn't been
97506         changed this year other than in the copyright notice.
97507
97508         * lib/xalloc.h: Add "2000" to Copyright line, as this file
97509         was changed this year.
97510
97511 2000-10-29  Jim Meyering  <meyering@lucent.com>
97512
97513         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
97514         renaming.
97515         * m4/ls-mntd-fs.m4: Likewise
97516
97517 2000-10-29  Jim Meyering  <meyering@lucent.com>
97518
97519         * lib/xstat.in: Fix grammar in comment.
97520
97521 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
97522
97523         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
97524         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
97525         doesn't define __restrict_arr.
97526
97527 2000-10-28  Jim Meyering  <meyering@lucent.com>
97528
97529         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
97530         (jm_PREREQ_MEMCHR): New function.
97531
97532 2000-10-28  Jim Meyering  <meyering@lucent.com>
97533
97534         * lib/memchr.c: Update from libc.
97535         Adjust for portability:
97536         [HAVE_STDLIB_H]: Include stdlib.h.
97537         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
97538         Undef __memchr, too.
97539         [!weak_alias]: Define __memchr to memchr.
97540
97541         * lib/regex.c: Update from libc.
97542         * lib/regex.h: Likewise.
97543         * lib/getopt1.c: Likewise.
97544         * lib/memcmp.c: Likewise.
97545
97546         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
97547         Avoid using fseek, when possible -- it's broken by design.
97548         Patch by Ulrich Drepper.
97549
97550 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
97551
97552         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
97553         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
97554         Giving in to popular pressure to shut up the compiler with casts.
97555
97556 2000-10-26  Jim Meyering  <meyering@lucent.com>
97557
97558         * lib/strftime.c: Update from libc.
97559
97560 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
97561
97562         * regex.c: More `unsigned char' -> `re_char' changes.
97563         Also change several `int' into `re_wchar_t'.
97564         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
97565         (PUSH_FAILURE_POINTER): Don't cast any more.
97566         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
97567         We want GCC to complain, since this piece of code makes
97568         re_match non-reentrant, which *should* be fixed.
97569         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
97570         (EXTEND_BUFFER): Use RETALLOC.
97571         (SET_LIST_BIT): Don't cast.
97572         (re_wchar_t): New type.
97573         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
97574         that those two functions will always properly return.
97575         (IMMEDIATE_QUIT_CHECK): Cast to void.
97576         (analyse_first): Use recursion rather than an explicit stack.
97577         (re_compile_fastmap): Can't fail anymore.
97578         (re_search_2): Don't check re_compile_fastmap for failure.
97579         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
97580         Now also sets the new value (passed in a new argument).
97581         (re_match_2_internal): Use it.
97582         Also, use a new var `reg' of type size_t when looping through regs
97583         rather than reuse the inappropriate `mcnt'.
97584
97585 2000-10-25  Jim Meyering  <meyering@lucent.com>
97586
97587         * lib/obstack.c: Update from libc.
97588
97589 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
97590
97591         * regex.c (regex_compile): Change the way of handling a range from
97592         a char less than 256 to a char not less than 256.
97593
97594 2000-10-24  Andrew Innes  <andrewi@gnu.org>
97595
97596         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
97597         NT-Emacs only.
97598         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
97599         so that re_search functions only quit when callers expect them to.
97600
97601 2000-10-23  Jim Meyering  <meyering@lucent.com>
97602
97603         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
97604         wrong.  That set_locale call must not have any side effects.
97605         From Paul Eggert.
97606
97607 2000-10-22  Jim Meyering  <meyering@lucent.com>
97608
97609         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
97610         [CYCLIC]: Remove now-unused definition.
97611
97612         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
97613         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
97614         Suggestion from Ulrich Drepper.
97615
97616 2000-10-21  Jim Meyering  <meyering@lucent.com>
97617
97618         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
97619         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
97620         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
97621
97622 2000-10-21  Jim Meyering  <meyering@lucent.com>
97623
97624         * lib/dirname.c (memrchr): Declare if necessary.
97625         (dir_name): Remove the restriction that there be no
97626         trailing slashes.  Now, this code skips past them, effectively
97627         ignoring them.
97628         [TEST_DIRNAME] (main): New unit tests.
97629
97630         * lib/memrchr.c: New file from GNU libc.
97631         Undef __memrchr, too.
97632         [!weak_alias]: Define __memrchr to memrchr.
97633         Guard weak_alias use with `#ifdef weak_alias'.
97634
97635 2000-10-21  Jim Meyering  <meyering@lucent.com>
97636
97637         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
97638         (dir_name): Use dir_name_r.
97639         * lib/dirname.h (dir_name_r): Declare it.
97640
97641 2000-10-17  Jim Meyering  <meyering@lucent.com>
97642
97643         * lib/quote.h (PARAMS): Define and use.
97644         Reported by Akim Demaille.
97645
97646         * lib/getopt.c: Update from libc.
97647
97648 2000-10-16  Jim Meyering  <meyering@lucent.com>
97649
97650         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
97651         setlocale.
97652         From Jan Fedak.
97653
97654 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
97655
97656         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
97657
97658 2000-09-25  Jim Meyering  <meyering@lucent.com>
97659
97660         * lib/md5.h (rol): Define (from GnuPG).
97661
97662         * lib/sha.c: Give credit (GnuPG) where due.
97663         (M): Use rol rather than open-coding it.
97664         Add a FIXME comment.
97665
97666 2000-09-21  Jim Meyering  <meyering@lucent.com>
97667
97668         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
97669         Reported by Michael Stone.
97670
97671 2000-09-20  Jim Meyering  <meyering@lucent.com>
97672
97673         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
97674         (noinst_HEADERS): Add sha.h.
97675         Based on code from Scott G. Miller and from GnuPG.
97676
97677 2000-09-18  Jim Meyering  <meyering@lucent.com>
97678
97679         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
97680         LIBS. Otherwise, everyone ends up linking with -lelf for some
97681         configurations.
97682         Reported by Mike Stone.
97683
97684 2000-09-15  Jim Meyering  <meyering@lucent.com>
97685
97686         * lib/regex.c: Update from libc.
97687
97688 2000-09-10  Jim Meyering  <meyering@lucent.com>
97689
97690         * lib/getopt.c (_getopt_internal): Update from glibc.
97691
97692 2000-09-09  Jim Meyering  <meyering@lucent.com>
97693
97694         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
97695         think it should be used as a general replacement for isascii.
97696         * lib/fnmatch.c: Likewise.
97697         * lib/mbswidth.c: Likewise
97698         * lib/regex.c: Likewise.
97699
97700         Don't use atoi.
97701         * lib/userspec.c: Include sys/param.h and limits.h.
97702         Include xstrtol.h.
97703         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
97704         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
97705         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
97706         UID, GID.  Check range.
97707
97708 2000-09-06  Jim Meyering  <meyering@lucent.com>
97709
97710         * lib/getopt.c (_getopt_internal): Update from glibc.
97711
97712 2000-08-30  Jim Meyering  <meyering@lucent.com>
97713
97714         * lib/strftime.c: Merge in changes from GNU libc.
97715
97716 2000-08-26  Jim Meyering  <meyering@lucent.com>
97717
97718         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
97719         * m4/fpending.m4: New file.
97720
97721 2000-08-26  Jim Meyering  <meyering@lucent.com>
97722
97723         * lib/closeout.c: Include "__fpending.h".
97724         (close_stdout_status): Return right away if there's nothing to flush.
97725
97726         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
97727         * lib/__fpending.c: New file.
97728         * lib/__fpending.h: New file.
97729
97730 2000-08-20  Jim Meyering  <meyering@lucent.com>
97731
97732         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
97733         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
97734         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
97735
97736 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
97737
97738         Improve fileutils installation on systems where running
97739         programs (like install) can't be unlinked.
97740         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
97741         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
97742
97743 2000-08-07  Paul Eggert  <eggert@twinsun.com>
97744
97745         Standardize on "memory exhausted" instead of "Memory exhausted"
97746         or "virtual memory exhausted".
97747         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
97748         "virtual memory exhausted".
97749         * lib/same.c (same_name): Invoke xalloc_die instead of printing
97750         our own message.
97751         * lib/userspec.c (parse_user_spec): Likewise.
97752         * lib/bumpalloc.h: comment fix
97753         * lib/same.c, userspec.c: Include xalloc.h.
97754
97755         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
97756         not char *const and pointing to a constant array.
97757         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
97758         (xrealloc): Comment fix.
97759
97760         * lib/userspec.c (parse_user_spec):
97761         Don't translate a message until just before returning,
97762         to avoid unnecessary translation.
97763
97764 2000-08-07  Jim Meyering  <meyering@lucent.com>
97765
97766         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
97767         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
97768         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
97769         getgroups.c, gethostname.c, getopt.h, group-member.c,
97770         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
97771         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
97772         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
97773         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
97774         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
97775         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
97776         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
97777         yesno.c: Back out Copyright date changes for each file with no change
97778         this year.  This eases coordination with other programs using the same
97779         source code modules.  From Paul Eggert.
97780
97781 2000-08-06  Paul Eggert  <eggert@twinsun.com>
97782
97783         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
97784         not char, for compatibility with glibc 2.1.3 strftime.c.
97785
97786 2000-08-03  Greg McGary  <greg@mcgary.org>
97787
97788         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
97789         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
97790         (EXTEND_BUFFER): Use them.
97791
97792 2000-08-01  Jim Meyering  <meyering@lucent.com>
97793
97794         * lib/dirname.c (ISSLASH): Define.
97795         (BACKSLASH_IS_PATH_SEPARATOR): Define.
97796         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
97797         both `\' and `/' may be use as path separators.
97798         Based on a patch from Prashant TR.
97799
97800 2000-07-31  Paul Eggert  <eggert@twinsun.com>
97801
97802         * lib/quotearg.c (quotearg_n_options): Don't make the initial
97803         slot vector a constant, since it might get modified.
97804
97805 2000-07-31  Jim Meyering  <meyering@lucent.com>
97806
97807         * lib/xmalloc.c: Use `virtual memory exhausted', not
97808         `Memory exhausted'.
97809         * lib/obstack.c (print_and_abort): Likewise.
97810
97811 2000-07-30  Paul Eggert  <eggert@twinsun.com>
97812
97813         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
97814         buffer, so that the caller can always quote one small
97815         component of a "memory exhausted" message in slot 0.
97816         From a suggestion by Jim Meyering.
97817
97818 2000-07-30  Jim Meyering  <meyering@lucent.com>
97819
97820         * lib/makepath.c (make_path): Quote the other instance, too.
97821
97822         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
97823         (STATIC_BUF_SIZE): Define.
97824         (quotearg_n_options): Use only statically allocated storage when
97825         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
97826         than STATIC_BUF_SIZE.
97827
97828 2000-07-29  Jim Meyering  <meyering@lucent.com>
97829
97830         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
97831         * lib/dirname.c (dir_name): Likewise.
97832
97833         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
97834         `/'.
97835
97836         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
97837         (dir_name): Assert that there are no trailing slashes.
97838
97839 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
97840
97841         * lib/mbswidth.h (mbswidth): Add a flags argument.
97842         (mbswidth): New declaration.
97843         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
97844         * lib/mbswidth.c (mbswidth): Add a flags argument.
97845         (mbsnwidth): New function.
97846
97847 2000-07-24  Jim Meyering  <meyering@lucent.com>
97848
97849         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
97850
97851 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97852
97853         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
97854
97855 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97856
97857         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
97858         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
97859         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
97860         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
97861         invoke multibyte primitives.
97862
97863 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97864
97865         * lib/quotearg.c:
97866         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
97867         so that mbstate_t is always defined.
97868
97869         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
97870         be 1 in at least one GCC installation, and this configuration
97871         error is likely to be common.  Ignoring MB_LEN_MAX hurts
97872         performance on hosts that have mbrtowc but have only unibyte
97873         locales, but I assume these hosts are rare.
97874
97875 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97876
97877         * lib/mbswidth.c (_XOPEN_SOURCE):
97878         Don't define; this causes problems on Solaris 7.
97879         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
97880
97881 2000-07-23  Jim Meyering  <meyering@lucent.com>
97882
97883         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
97884         too: getgrgid, getpwuid, getuid.
97885
97886 2000-07-23  Jim Meyering  <meyering@lucent.com>
97887
97888         * lib/basename.c (base_name): Add an assertion.
97889
97890 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
97891
97892         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
97893         shadow its mbsinit function.
97894
97895 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
97896
97897         * lib/mbswidth.h: New file.
97898         * lib/mbswidth.c: New file.
97899         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
97900         (noinst_HEADERS): Add mbswidth.h.
97901
97902 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
97903
97904         * lib/config.charset: Add support for FreeBSD. Improve support for
97905         HP-UX and IRIX 6.
97906
97907 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
97908
97909         * m4/mbswidth.m4: New file.
97910         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
97911
97912 2000-07-15  Jim Meyering  <meyering@lucent.com>
97913
97914         * lib/makepath.c: Include quote.h.
97915         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
97916         corresponding argument in a `quote (...)' call.
97917         Give better diagnostics.
97918
97919         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
97920         (noinst_HEADERS): Add quote.h.
97921
97922         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
97923         from tar's src/misc.c.
97924         * lib/quote.h: New file.  Prototypes for same.
97925
97926 2000-07-14  Paul Eggert  <eggert@twinsun.com>
97927
97928         From a suggestion by Bruno Haible.
97929         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
97930         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
97931         to decide whether to define the BeOS workaround macro;
97932         this adjusts to the change to AC_MBSTATE_T.
97933
97934 2000-07-14  Jim Meyering  <meyering@lucent.com>
97935
97936         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
97937         jm_AC_TYPE_UINTMAX_T.
97938
97939 2000-07-13  Paul Eggert  <eggert@twinsun.com>
97940
97941         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
97942
97943         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
97944         quotearg_buffer_restyled): Add support for
97945         clocale_quoting_style.  Undo previous change to
97946         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
97947         and "{RIGHT QUOTATION MARK}" msgids.
97948
97949 2000-07-10  Paul Eggert  <eggert@twinsun.com>
97950
97951         From a suggestion by Bruno Haible.
97952         * m4/mbstate_t.m4 (AC_MBSTATE_T):
97953         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
97954         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
97955         and mbstate_t, to a single-part test that simply defines mbstate_t.
97956         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
97957         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
97958
97959 2000-07-10  Jim Meyering  <meyering@lucent.com>
97960
97961         * m4/strerror_r.m4: Mirror the correction made in autoconf.
97962
97963         * m4/gnu-source.m4: Output to confdefs.h directly.
97964         Suggestion from Akim Demaille.
97965
97966 2000-07-09  Paul Eggert  <eggert@twinsun.com>
97967
97968         The old behavior of quoting `like this' doesn't look good with
97969         newer, ISO-style fonts.  See:
97970         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
97971
97972         Instead, quote "like this" by default.  Let the translator
97973         tailor the locale-specific quoting behavior by providing
97974         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
97975
97976         * lib/quotearg.c (N_): New macro.
97977         (gettext_default): New function.
97978         (quotearg_buffer_restyled): Use
97979         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
97980         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
97981
97982 2000-07-09  Jim Meyering  <meyering@lucent.com>
97983
97984         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
97985         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
97986
97987         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
97988         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
97989
97990 2000-07-09  Jim Meyering  <meyering@lucent.com>
97991
97992         * lib/Most files: Update copyright dates to include 2000.
97993
97994 2000-07-08  Jim Meyering  <meyering@lucent.com>
97995
97996         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
97997         if not defined.
97998         (xgethostname): Remove now-unnecessary #ifdef.
97999         Move declaration of `err' into loop where it's used.
98000
98001 2000-07-05  Paul Eggert  <eggert@twinsun.com>
98002         and Bruno Haible  <haible@clisp.cons.org>
98003
98004         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
98005         only if the test for an object-type mbstate_t fails.  This
98006         prevents us from mistakenly reporting that mbstate_t is a
98007         system object type after we "#define mbstate_t int" to work
98008         around its lack.
98009
98010 2000-07-05  Paul Eggert  <eggert@twinsun.com>
98011         and Bruno Haible  <haible@clisp.cons.org>
98012
98013         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
98014
98015 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98016
98017         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
98018         to strerror_r.
98019         Include <ctype.h> for use of isalpha.
98020
98021 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98022
98023         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
98024         by allocating a larger buffer. Test the gethostname return value for
98025         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
98026         returns an error and ENAMETOOLONG isn't defined.
98027
98028 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98029
98030         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
98031         dimension.
98032
98033 2000-07-04  Jim Meyering  <meyering@lucent.com>
98034
98035         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
98036         of the deprecated AC_CHECKING.
98037
98038 2000-07-04  Jim Meyering  <meyering@lucent.com>
98039
98040         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
98041         Reported by Bruno Haible.
98042
98043 2000-07-04  Jim Meyering  <meyering@lucent.com>
98044
98045         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
98046         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
98047         lacks mbrtowc.
98048
98049 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98050
98051         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
98052         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
98053
98054 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98055         and Bruno Haible  <haible@clisp.cons.org>
98056
98057         * lib/quotearg.c (mbrtowc):
98058         Assign to *pwc, and return 1 only if result is nonzero.
98059         (iswprint): Use ISPRINT when substituting our own mbrtowc.
98060
98061 2000-07-03  Jim Meyering  <meyering@lucent.com>
98062
98063         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
98064
98065 2000-07-03  Jim Meyering  <meyering@lucent.com>
98066
98067         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
98068         This is necessary to get a definition of e.g., UTMP_FILE on
98069         HP-UX 10.20.
98070         From Bob Proulx.
98071
98072 2000-07-02  Jim Meyering  <meyering@lucent.com>
98073
98074         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
98075
98076         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
98077         AC_LIBOBJ(function_name).
98078         * m4/chown.m4: Likewise.
98079         * m4/fnmatch.m4: Likewise.
98080         * m4/ftruncate.m4: Likewise.
98081         * m4/getgroups.m4: Likewise.
98082         * m4/getline.m4: Likewise.
98083         * m4/group-member.m4: Likewise.
98084         * m4/jm-macros.m4: Likewise.
98085         * m4/lstat.m4: Likewise.
98086         * m4/malloc.m4: Likewise.
98087         * m4/memcmp.m4: Likewise.
98088         * m4/nanosleep.m4: Likewise.
98089         * m4/putenv.m4: Likewise.
98090         * m4/realloc.m4: Likewise.
98091         * m4/regex.m4: Likewise.
98092         * m4/stat.m4: Likewise.
98093         * m4/strftime.m4: Likewise.
98094
98095 2000-07-02  Jim Meyering  <meyering@lucent.com>
98096
98097         * lib/quotearg.c (mbstate_t): Don't define here.
98098
98099 2000-07-02  Jim Meyering  <meyering@lucent.com>
98100
98101         * lib/nanosleep.c (SIGCONT): Define if not already defined.
98102
98103 2000-07-01  Jim Meyering  <meyering@lucent.com>
98104
98105         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
98106
98107 2000-07-01  Jim Meyering  <meyering@lucent.com>
98108
98109         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
98110         problem.
98111
98112 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98113
98114         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
98115         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
98116
98117 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98118
98119         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
98120         per change in ../m4/ls-mntd-fs.m4.
98121         (read_filesystem_list): Ignore symbolic links.
98122
98123 2000-06-29  Jim Meyering  <meyering@lucent.com>
98124
98125         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
98126         for declaration of strcmp.
98127
98128         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
98129
98130         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
98131         Avoid warning by casting result to `char *' to remove `const'.
98132
98133 2000-06-28  Jim Meyering  <meyering@lucent.com>
98134
98135         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
98136         included by quotearg.c, for which we perform this test.  From
98137         Bruno Haible.
98138
98139 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98140
98141         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
98142         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
98143         <utmpx.h> exists, put readutmp.o into LIBOBJS.
98144
98145 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98146
98147         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
98148
98149 2000-06-26  Paul Eggert  <eggert@twinsun.com>
98150
98151         savedir now sets errno on failure and invokes xmalloc to get memory.
98152         Fix a couple of other minor bugs while we're at it.
98153
98154         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
98155         (NAMLEN): Remove macro.
98156         (malloc, realloc): Remove decls.
98157         (stpcpy): Likewise.
98158         ("xalloc.h"): Include.
98159         (NAME_SIZE_DEFAULT): New macro.
98160         (savedir): Use xmalloc / xrealloc to allocate memory.
98161         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
98162         Skip "" directory entries.
98163         Use strlen to calculate directory entry length, since the old method
98164         is rarely used these days and isn't worth supporting.
98165         Don't use a pointer after freeing it.
98166         Check for integer overflow when calculating allocation size.
98167         Use memcpy to copy entries, instead of stpcpy.
98168         Set errno properly when returning NULL.
98169         Check for readdir error.
98170
98171 2000-06-26  Jim Meyering  <meyering@lucent.com>
98172
98173         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
98174
98175 2000-06-25  Jim Meyering  <meyering@lucent.com>
98176
98177         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
98178         Linux header bug when _XOPEN_SOURCE is defined to 500.
98179
98180 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98181
98182         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
98183         deficiency.
98184
98185 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98186
98187         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
98188         Include xalloc.h.
98189         Don't include <stdlib.h>.  Don't declare malloc, realloc.
98190
98191 2000-06-24  Jim Meyering  <meyering@lucent.com>
98192
98193         * m4/strerror_r.m4: Revive this file -- to try out an experimental
98194         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
98195         for which strerror does return char*, but which lacks a conveniently
98196         accessible declaration of the function.  If the compile-test says
98197         strerror_r doesn't work, then resort to a `run'-test that works on
98198         BeOS and segfaults on DEC Unix.
98199
98200 2000-06-24  Jim Meyering  <meyering@lucent.com>
98201
98202         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
98203
98204 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98205
98206         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
98207         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
98208
98209 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98210
98211         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
98212         (mbrtowc, mbstate_t): Define substitutes if
98213         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
98214         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
98215         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
98216
98217 2000-06-23  Jim Meyering  <meyering@lucent.com>
98218
98219         * m4/afs.m4: Add missing AC_MSG_RESULT.
98220         Reported by Bruno Haible.
98221
98222         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
98223         Suggestion from Bruno Haible.
98224
98225 2000-06-23  Jim Meyering  <meyering@lucent.com>
98226
98227         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
98228
98229 2000-06-21  Jim Meyering  <meyering@lucent.com>
98230
98231         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
98232
98233 2000-06-21  Jim Meyering  <meyering@lucent.com>
98234
98235         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
98236         (noinst_HEADERS): Add getstr.h.
98237
98238         * lib/getline.c (getstr): Move into a separate file.
98239         * lib/getstr.c (getstr): New file, extracted from getline.c, with
98240         the following changes: new parameter, delim2; both delim[12]
98241         parameters have type `int', not `char'.  The latter would lose
98242         with 8-bit delimiters.
98243         * lib/getstr.h: New file.
98244
98245 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98246
98247         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
98248         than 1024, return a memory chunk of least possible size, instead
98249         of size PATH_MAX + 2. In the loop, increment the size proportionally.
98250         Use free/xmalloc instead of xrealloc to avoid copying for very long
98251         paths.
98252
98253 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98254
98255         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
98256         the empty string.
98257
98258 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98259
98260         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
98261         address, not strdup.  Include <stdlib.h> and don't declare free().
98262
98263 2000-06-19  Jim Meyering  <meyering@lucent.com>
98264
98265         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
98266
98267 2000-06-18  Jim Meyering  <meyering@lucent.com>
98268
98269         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
98270
98271         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
98272         `checking whether...' message to be consistent with that of the
98273         lstat test.
98274
98275 2000-06-18  Jim Meyering  <meyering@lucent.com>
98276
98277         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
98278         Besides, these days every porting target provides a mkdir function.
98279
98280         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
98281         needed. (this snippet comes from src/system.h).
98282
98283 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
98284
98285         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
98286
98287 2000-06-15  Paul Eggert  <eggert@twinsun.com>
98288
98289         * lib/human.c (adjust_value): New function.
98290         (human_readable_inexact): Apply rounding style even when
98291         printing approximate values.
98292
98293 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98294
98295         * lib/human.c (human_readable_inexact): Allow an input block
98296         size that is not a multiple of the output block size, and vice versa.
98297         Reported by Piergiorgio Sartor.
98298
98299 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98300
98301         * lib/getdate.y (get_date): Apply relative times after time
98302         zone indicator, not before.  Reported by Todd A. Jacobs.
98303
98304 2000-06-13  Jim Meyering  <meyering@lucent.com>
98305
98306         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
98307
98308         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
98309
98310 2000-06-12  Paul Eggert  <eggert@twinsun.com>
98311
98312         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
98313
98314 2000-06-12  Jim Meyering  <meyering@lucent.com>
98315
98316         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
98317         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
98318         optional argument.
98319         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
98320         the optional argument, `lib'.
98321
98322 2000-06-08  Jim Meyering  <meyering@lucent.com>
98323
98324         * m4/largefile.m4: Remove file (now that it's part of autoconf).
98325
98326 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98327
98328         Rewrite largefile configuration so that we don't need to run
98329         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
98330         AC_CANONICAL_HOST in configure.in -- jmm]
98331
98332         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
98333         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
98334         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
98335         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
98336         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
98337         All uses changed.
98338         Instead of inspecting the output of getconf, try to compile the
98339         test program without and with the macro definition.
98340         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
98341         for getconf.  Instead, check for the needed flags by compiling
98342         test programs.
98343
98344 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98345
98346         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
98347
98348 2000-06-04  Jim Meyering  <meyering@lucent.com>
98349
98350         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
98351         SunOS 4.1.4 for which gid_t is an unsigned type.
98352
98353 2000-06-03  Jim Meyering  <meyering@lucent.com>
98354
98355         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
98356         now that autoconf requires that.
98357
98358         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
98359         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
98360         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
98361
98362 2000-06-03  Jim Meyering  <meyering@lucent.com>
98363
98364         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
98365
98366 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98367
98368         * m4/glibc21.m4: New file.
98369         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
98370
98371 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98372
98373         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
98374         newer, don't install charset.alias.
98375         * lib/config.charset: Change the Linux/glibc rules so they become empty
98376         on glibc-2.1 or newer.
98377
98378 2000-06-02  Jim Meyering  <meyering@lucent.com>
98379
98380         * lib/mountlist.c: Back out last change.  Instead, do this...
98381         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
98382         me_dummy member using the same `ignore'-testing code.
98383         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
98384         fs_type strings.
98385         From Mark D. Roth.
98386
98387 2000-05-29  Jim Meyering  <meyering@lucent.com>
98388
98389         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
98390         mounts with the `ignore' attribute.  Based on a patch from
98391         Mark D. Roth.
98392
98393 2000-05-28  Jim Meyering  <meyering@lucent.com>
98394
98395         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
98396         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98397         * m4/stat.m4: Likewise.
98398         * m4/lstat.m4: Likewise.
98399         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
98400
98401         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
98402         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
98403
98404 2000-05-26  Jim Meyering  <meyering@lucent.com>
98405
98406         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
98407
98408 2000-05-24  Jim Meyering  <meyering@lucent.com>
98409
98410         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
98411         autoconf requires that.
98412         * m4/lib-check.m4: Likewise.
98413         * m4/jm-macros.m4: Likewise.
98414         * m4/strftime.m4: Likewise.
98415
98416         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
98417         AC_CHECK_DECLS, now that autoconf requires that.
98418
98419 2000-05-22  Jim Meyering  <meyering@lucent.com>
98420
98421         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98422         * m4/lstat.m4: Likewise.
98423
98424 2000-05-22  Jim Meyering  <meyering@lucent.com>
98425
98426         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
98427
98428 2000-05-20  Jim Meyering  <meyering@lucent.com>
98429
98430         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
98431         (jm_PREREQ): Use it.
98432
98433 2000-05-18  Jim Meyering  <meyering@lucent.com>
98434
98435         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
98436         back, too, since it may have been modified by allocate_entry.
98437         (hash_delete): Rewrite to use neither the assignment operator
98438         nor the comma operator in an if-expression.
98439
98440 2000-05-15  Paul Eggert  <eggert@twinsun.com>
98441
98442         * lib/closeout.c:
98443         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
98444         Remove; no longer needed.
98445         "quotearg.h": Add include.
98446         (file_name): Do not bother to explicitly initialize to NULL; it's less
98447         efficient on some hosts.
98448         (close_stdout_status): Remove test as to whether stdout was already
98449         closed; it breaks for the case "echo x | sort >&-".
98450         Quote file name colons.
98451         Do not assume that _("write error") lacks format strings.
98452
98453 2000-05-15  Jim Meyering  <meyering@lucent.com>
98454
98455         * lib/version-etc.c (version_etc_copyright): Update the copyright
98456         string used in all --version output.
98457
98458 2000-05-14  Jim Meyering  <meyering@lucent.com>
98459
98460         * lib/closeout.c (close_stdout_set_file_name): New function.
98461         (close_stdout_status): Use new file-scoped global.
98462         Return right away if fstat says the stdout file descriptor is invalid.
98463         * lib/closeout.h (close_stdout_set_file_name): Declare.
98464
98465 2000-05-10  Jim Meyering  <meyering@lucent.com>
98466
98467         * lib/closeout.c [default_exit_status]: New file-scoped variable.
98468         (close_stdout_set_status): New function.
98469         * lib/closeout.h (close_stdout_set_status): Declare.
98470
98471 2000-05-09  Jim Meyering  <meyering@lucent.com>
98472
98473         * m4/gettext.m4: Rename this...
98474         * m4/libintl.m4: ...to this.
98475
98476 2000-05-08  Jim Meyering  <meyering@lucent.com>
98477
98478         * lib/long-options.c: Don't include closeout.h.
98479         (parse_long_options): Don't call close_stdout for --version.
98480
98481 2000-05-06  Paul Eggert  <eggert@twinsun.com>
98482
98483         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
98484         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
98485         2.1.3 bug.  This avoids a clash when files like regex.c define
98486         _GNU_SOURCE.
98487
98488 2000-05-06  Jim Meyering  <meyering@lucent.com>
98489
98490         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
98491         (AC_REPLACE_FUNCS): Add strnlen.
98492
98493         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
98494         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
98495
98496         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
98497         AC_SEARCH_LIBS call for nanosleep.
98498         (LIB_NANOSLEEP): Set and AC_SUBST.
98499
98500 2000-05-06  Jim Meyering  <meyering@lucent.com>
98501
98502         * lib/strnlen.c: Undefine __strnlen and strnlen.
98503         [!weak_alias]: Define __strnlen to strnlen.
98504
98505         * lib/atexit.c: New file, from libiberty.
98506
98507 2000-05-06  Jim Meyering  <meyering@lucent.com>
98508
98509         * lib/closeout.c (close_stdout_status): Also check for errors on the
98510         stderr stream.
98511
98512 2000-05-05  Jim Meyering  <meyering@lucent.com>
98513
98514         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
98515         AC_SEARCH_LIBS call for clock_gettime.
98516         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
98517
98518         * m4/search-libs.m4: Update from autoconf.
98519
98520         su doesn't work on Solaris 2.6.
98521         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
98522         <shadow.h>.  Reported by Dragos Harabor.
98523
98524 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
98525
98526         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
98527         memcpy instead of xmalloc, xrealloc, path_concat.
98528         (locale_charset): Treat empty environment variables as absent.
98529         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
98530
98531 2000-05-04  Jim Meyering  <meyering@lucent.com>
98532
98533         * lib/getopt.c: Update from glibc.
98534         * lib/obstack.c: Likewise.
98535         * lib/obstack.h: Likewise.
98536         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
98537         file
98538
98539         * lib/regex.h: Likewise.
98540         * lib/strndup.c: Likewise.
98541         * lib/strnlen.c: New file, from glibc.
98542
98543 2000-05-03  Jim Meyering  <meyering@lucent.com>
98544
98545         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
98546
98547 2000-05-02  Paul Eggert  <eggert@twinsun.com>
98548
98549         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
98550         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
98551         compile-time test, rather than inspecting host and OS, to
98552         decide whether to define _LARGEFILE_SOURCE.
98553
98554 2000-05-01  Jim Meyering  <meyering@lucent.com>
98555
98556         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
98557
98558         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
98559         Based on a patch from Bruno Haible.
98560
98561 2000-05-01  Jim Meyering  <meyering@lucent.com>
98562
98563         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
98564
98565 2000-04-29  Jim Meyering  <meyering@lucent.com>
98566
98567         * lib/path-concat.c: Declare strdup only if it's not defined.
98568         * lib/canon-host.c: Likewise.
98569
98570 2000-04-28  Jim Meyering  <meyering@lucent.com>
98571
98572         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
98573         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
98574         is included first, then limits.h is included by locale.h by libintl.h.
98575         From John David Anglin.
98576
98577 2000-04-25  Jim Meyering  <meyering@lucent.com>
98578
98579         * lib/makepath.c (S_IRWXUGO): Define.
98580         (make_path): Always perform explicit chmod if MODE specifies any
98581         of the `special' permission bits.  Prompted by a bug report against
98582         install from Mate Wierdl and Joost van Baal.
98583
98584 2000-04-18  Jim Meyering  <meyering@lucent.com>
98585
98586         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
98587         (jm_PREREQ): Use it.
98588
98589 2000-04-18  Jim Meyering  <meyering@lucent.com>
98590
98591         * lib/README: New file.
98592
98593         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
98594         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
98595
98596 2000-04-17  Jim Meyering  <meyering@lucent.com>
98597
98598         Get it right :-)
98599         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
98600         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
98601         Suggestion from Akim Demaille.
98602
98603 2000-04-17  Jim Meyering  <meyering@lucent.com>
98604
98605         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
98606         the definition of it to rpl_strftime also defined-away the system's
98607         declaration.
98608
98609 2000-04-15  Jim Meyering  <meyering@lucent.com>
98610
98611         Use `C' to denote so-called `contiguous' files, the same way
98612         that tar does.
98613         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
98614         (ftypelet): Use S_ISCTG.
98615         From Michael Deutschmann.
98616
98617 2000-04-14  Jim Meyering  <meyering@lucent.com>
98618
98619         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
98620         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
98621         clobbered.
98622
98623 2000-04-14  Jim Meyering  <meyering@lucent.com>
98624
98625         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
98626
98627 2000-04-13  Jim Meyering  <meyering@lucent.com>
98628
98629         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
98630         AH_VERBATIM to insert required #ifndef into config.h.in.
98631         Suggestion from Akim Demaille.
98632
98633 2000-04-12  Jim Meyering  <meyering@lucent.com>
98634
98635         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
98636         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
98637         Christian Krackowizer.
98638
98639         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
98640         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
98641         (AC_SYS_LARGEFILE): Require.
98642         (AM_C_PROTOTYPES): Require.
98643
98644 2000-04-08  Jim Meyering  <meyering@lucent.com>
98645
98646         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
98647         names don't conflict.  Reported by Eli Zaretskii.
98648
98649 2000-04-07  Jim Meyering  <meyering@lucent.com>
98650
98651         * lib/putenv.c: Move inclusion of errno.h so it follows that of
98652         sys/types.h, to work around system header problems on AIX 3.2.5.
98653         From Bruno Haible.
98654
98655 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
98656
98657         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
98658         bug.  Deal with the different error behavior of Irix iconv.
98659
98660 2000-04-05  Paul Eggert  <eggert@twinsun.com>
98661
98662         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
98663         IRIX if the installer said otherwise.
98664
98665 2000-04-05  Jim Meyering  <meyering@lucent.com>
98666
98667         Portability tweaks required for ultrix4.3.
98668         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
98669         (jm_CHECK_DECLS): Add getutent to the list of functions.
98670         (_jm_DECL_HEADERS): Add utmpx.h.
98671         From John David Anglin.
98672
98673         * m4/strftime.m4: Back out the 2000-04-02 change.
98674         Instead of that change, simply undefine putenv in the test program.
98675
98676 2000-04-05  Jim Meyering  <meyering@lucent.com>
98677
98678         Portability tweaks required for ultrix4.3.
98679         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
98680         getutent.
98681         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
98682         * lib/canon-host.c: Declare strdup.
98683         * lib/path-concat.c: Likewise.
98684         From John David Anglin.
98685
98686 2000-04-04  Jim Meyering  <meyering@lucent.com>
98687
98688         Be more DOS 8.3-friendly.
98689         * lib/ref-add.sin: Renamed from ref-add.sed.in.
98690         * lib/ref-del.sin: Renamed from ref-del.sed.in.
98691         * lib/Makefile.am: Reflect renaming.
98692         Reported by Eli Zaretskii.
98693
98694         Use a temporary file name that won't clash with `charset.alias'
98695         in the DOS 8.3 name space.
98696         * lib/Makefile.am (charset_tmp): Define.
98697         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
98698         (uninstall-local): Likewise.
98699         Reported by Eli Zaretskii.
98700
98701 2000-04-03  Jim Meyering  <meyering@lucent.com>
98702
98703         * m4/gettext.m4: Fix typo in comment.
98704
98705         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
98706         textutils/configure.in).  Suggestion from Paul Eggert.
98707         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
98708
98709 2000-04-02  Paul Eggert  <eggert@twinsun.com>
98710
98711         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
98712         variable in the shell rather than using putenv, which isn't
98713         portable.  This avoids the configure-time inter-test dependency
98714         on the potentially-renamed putenv function.
98715
98716 2000-03-30  Paul Eggert  <eggert@twinsun.com>
98717
98718         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
98719         before checking struct stat.st_blksize, so that
98720         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
98721
98722 2000-03-29  Paul Eggert  <eggert@twinsun.com>
98723
98724         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
98725         since strftime.c uses HAVE_STRFTIME to decide whether to use
98726         the underlying strftime.
98727
98728 2000-03-29  Paul Eggert  <eggert@twinsun.com>
98729
98730         * lib/time/strftime.c (my_strftime): Make sure we call the system
98731         strftime, not ourselves, when invoking the underlying strftime.
98732
98733 2000-03-24  Jim Meyering  <meyering@lucent.com>
98734
98735         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
98736         (charset_alias): Define.
98737         (install-exec-local): Factor out common code.
98738         (uninstall-local): Split lines longer than 80.
98739         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
98740         (SUFFIXES): Define.
98741         (.sed.in.sed): New rule.  Don't redirect directly to $@.
98742         (CLEANFILES): Add ref-add.sed and ref-del.sed.
98743
98744 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
98745
98746         * lib/config.charset: Output a line containing "Packages using this
98747         file".
98748         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
98749         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
98750         ref-del.sed): New rules.
98751
98752 2000-03-17  Jim Meyering  <meyering@lucent.com>
98753
98754         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
98755         Otherwise, include <strings.h>
98756
98757 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
98758
98759         * lib/unicodeio.c (utf8_wctomb): New function.
98760         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
98761         format instead of in UCS-4 with platform dependent endianness.
98762
98763 2000-03-10  Jim Meyering  <meyering@lucent.com>
98764
98765         * m4/lib-check.m4: Look for getspnam in -lgen, too.
98766         From Marco Franzen.
98767
98768 2000-03-07  Paul Eggert  <eggert@twinsun.com>
98769
98770         * lib/savedir.c (savedir): Work even if directory size is
98771         negative; this can happen with some screwy NFS configurations.
98772
98773 2000-03-06  Jim Meyering  <meyering@lucent.com>
98774
98775         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
98776         if it's NULL (because we ran out of memory).  From Bruno Haible.
98777
98778 2000-03-05  Jim Meyering  <meyering@lucent.com>
98779
98780         * lib/localcharset.c ("path-concat.h"): Include.
98781         (get_charset_aliases): Use path_concat instead of ANSI string
98782         concatenation.
98783
98784         * lib/unicodeio.h (PARAMS): Define.
98785         Use it to guard prototype.
98786
98787 2000-03-04  Jim Meyering  <meyering@lucent.com>
98788
98789         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
98790         for lib/localcharset.c.
98791
98792 2000-03-04  Jim Meyering  <meyering@lucent.com>
98793
98794         * lib/Makefile.am (install-exec-local): Create $(libdir) before
98795         installing into it.
98796         (uninstall-local): Uncomment this rule so `make distcheck' works
98797         once again.
98798
98799         * lib/unicodeio.c (<errno.h>): Include it.
98800         (errno): Declare if not defined.
98801
98802         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
98803
98804         * lib/config.charset: New version, incorporating remarks from a linux
98805         i18n mailing list.  From Bruno Haible.
98806
98807 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
98808
98809         * m4/codeset.m4: New file.
98810         * m4/iconv.m4: New file.
98811         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
98812
98813 2000-03-03  Jim Meyering  <meyering@lucent.com>
98814
98815         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
98816
98817 2000-03-02  Jim Meyering  <meyering@lucent.com>
98818
98819         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
98820         the messages come out on separate lines.
98821
98822         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
98823         rather than jm_CHECK_DECLARATIONS.
98824         * m4/decl.m4: Remove now-unused file.
98825
98826         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
98827         geteuid.
98828
98829 2000-03-02  Jim Meyering  <meyering@lucent.com>
98830
98831         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
98832
98833 2000-03-01  Jim Meyering  <meyering@lucent.com>
98834
98835         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
98836         * lib/unicodeio.c: Likewise.
98837
98838 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
98839
98840         * lib/config.charset: New file.
98841         * lib/localcharset.c: New file.
98842         * lib/unicodeio.h, lib/unicodeio.c: New files.
98843         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
98844         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
98845         (noinst_HEADERS): Add unicodeio.h.
98846         (all-local, install-exec-local, charset.alias): New targets.
98847
98848 2000-02-28  Paul Eggert  <eggert@twinsun.com>
98849
98850         * lib/quotearg.c (ALERT_CHAR): New macro.
98851         (quotearg_buffer_restyled): Use it.
98852
98853 2000-02-27  Jim Meyering  <meyering@lucent.com>
98854
98855         * m4/check-decl.m4: Add getenv to the list.
98856
98857 2000-02-27  Jim Meyering  <meyering@lucent.com>
98858
98859         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
98860         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
98861
98862         * lib/backupfile.c: Guard inclusion of stdlib.h with
98863         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
98864         Declare malloc if needed.
98865
98866         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
98867         `#ifndef HAVE_DECL..'
98868         now that autoconf always defines the HAVE_DECL_ symbols.
98869         * lib/human.c: Likewise.
98870         * lib/same.c: Likewise.
98871         * lib/strtoumax.c: Likewise.
98872
98873         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
98874         declaration check was not run.
98875         * lib/hash.c: Likewise.
98876         * lib/human.c: Likewise.
98877         * lib/same.c: Likewise.
98878         * lib/strtoumax.c: Likewise.
98879
98880         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
98881         `.', then first look up the entire `.'-containing string as a login
98882         name.
98883
98884 2000-02-23  Jim Meyering  <meyering@lucent.com>
98885
98886         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
98887         in place of my hack.
98888
98889 2000-02-18  Paul Eggert  <eggert@twinsun.com>
98890
98891         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
98892         (textint): New typedef.
98893         (parser_control): Member year changed from int to textint.
98894         All uses changed.
98895         (YYSTYPE): Removed; replaced by %union with int and textint members.
98896         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
98897         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
98898         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
98899         (tSNUMBER, tUNUMBER): Now of type <textintval>.
98900         (date, number, to_year): Use width of number in digits, not its value,
98901         to determine whether it's a 2-digit year, or a 2-digit time.
98902         (yylex): Store number of digits of numeric tokens.
98903         Reported by John Kendall.
98904
98905         (parser_control): Changed from struct parser_control to typedef (for
98906         consistency).  All uses changed.
98907
98908         (tID): Removed; not used.
98909         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
98910
98911 2000-02-14  Paul Eggert  <eggert@twinsun.com>
98912
98913         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
98914         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
98915
98916 2000-02-12  Jim Meyering  <meyering@lucent.com>
98917
98918         * lib/userspec.c (ISDIGIT): Define it.
98919         (isdigit): Remove definition.
98920         (is_number): Use ISDIGIT, not isdigit.
98921         <libintl.h>: Include.
98922         (_ and N_): Define.
98923         (parse_user_spec): Mark translatable strings.
98924
98925 2000-02-10  Jim Meyering  <meyering@lucent.com>
98926
98927         With these changes, nanosleep.[ch] are finally enough like the other
98928         lib/* replacement files to compile on a few more losing systems.
98929
98930         * lib/nanosleep.h: Don't include config.h.
98931         Remove prototype from declaration of nanosleep.
98932         (PARAMS): Remove now-unneeded definition.
98933         * lib/nanosleep.c: #undef nanosleep.
98934         (rpl_nanosleep): Rename from nanosleep.
98935
98936 2000-02-10  Jim Meyering  <meyering@lucent.com>
98937
98938         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
98939         gnu_nanosleep to rpl_nanosleep.
98940
98941 2000-02-09  Jim Meyering  <meyering@lucent.com>
98942
98943         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
98944         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
98945
98946 2000-02-08  Akim Demaille  <akim@epita.fr>
98947
98948         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
98949         `[' and `]' and remove uses of `changequote'.
98950         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
98951         (AC_SYS_LARGEFILE): Likewise.
98952         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
98953         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
98954         of changequote.
98955         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
98956         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
98957         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
98958         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
98959
98960 2000-02-05  Jim Meyering  <meyering@lucent.com>
98961
98962         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
98963         Remove explicit use of AC_HEADER_TIME.  It is required by
98964         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
98965         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
98966         in autoconf whereby the expansion of the latter ended up preceding
98967         the expansion of its prerequisite, AC_HEADER_TIME.
98968         Reported by Volker Borchert.
98969
98970 2000-02-03  Jim Meyering  <meyering@lucent.com>
98971
98972         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
98973
98974 2000-02-03  Jim Meyering  <meyering@lucent.com>
98975
98976         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
98977         rather than with `#if HAVE_UTMPNAME'.
98978
98979 2000-02-02  Jim Meyering  <meyering@lucent.com>
98980
98981         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
98982         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
98983         Reported by Eli Zaretskii.
98984
98985 2000-02-01  Jim Meyering  <meyering@lucent.com>
98986
98987         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
98988
98989 2000-01-31  Jim Meyering  <meyering@lucent.com>
98990
98991         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
98992         functions.  Add the time.h and sys/time.h headers along with the
98993         AC_REQUIRE'ment of AC_HEADER_TIME.
98994
98995 2000-01-31  Jim Meyering  <meyering@lucent.com>
98996
98997         * lib/nanosleep.h (nanosleep): Guard declaration with
98998         `#if ! HAVE_DECL_NANOSLEEP'.
98999         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
99000         the declaration in that vendor's sys/timers.h.
99001         Reported by Christian Krackowizer.
99002
99003         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
99004         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
99005         (ISPRINT): Likewise.
99006         Reported by Tom Tromey.
99007
99008 2000-01-30  Jim Meyering  <meyering@lucent.com>
99009
99010         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
99011
99012         * m4/prereq.m4 (utmp_includes): Define.
99013         Check for ut_user and ut_name members in both struct utmpx
99014         and struct utmp.
99015
99016 2000-01-30  Jim Meyering  <meyering@lucent.com>
99017
99018         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
99019         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
99020         header files where only utmpx.ut_user is declared.
99021
99022         * lib/readutmp.h (UT_USER): Define.
99023
99024 2000-01-29  Jim Meyering  <meyering@lucent.com>
99025
99026         * m4/lib-check.m4: New file containing library-related checks from
99027         fileutils and sh-utils (textutils had none).
99028
99029 2000-01-28  Jim Meyering  <meyering@lucent.com>
99030
99031         * m4/perl.m4: Change format of warning message to look more like that
99032         from the missing script.  Suggestion from François Pinard.
99033
99034 2000-01-25  Jim Meyering  <meyering@lucent.com>
99035
99036         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
99037         well as time.h in the compile check.
99038         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
99039         Fix typo in cross-compiling case: s/yes/no/.
99040
99041 2000-01-23  Jim Meyering  <meyering@lucent.com>
99042
99043         * m4/jm-macros.m4: Move df-related tests here from
99044         fileutils/configure.in
99045
99046         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
99047         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
99048
99049         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
99050         s/space/ac_fsusage_space/.
99051         (jm_FILE_SYSTEM_USAGE): Take two parameters.
99052
99053         * m4/ftruncate.m4: New file (derived from part of
99054         fileutils/configure.in).
99055         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
99056         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
99057
99058         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
99059         AC_SUBST these here, rather than just in sh-util/configure.in, so
99060         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
99061         all the same.
99062         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
99063         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
99064         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
99065         (AC_SUBST(POW_LIBM)): Likewise.
99066         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
99067
99068 2000-01-23  Jim Meyering  <meyering@lucent.com>
99069
99070         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
99071         obstack.c.
99072
99073 2000-01-22  Jim Meyering  <meyering@lucent.com>
99074
99075         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
99076
99077         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
99078
99079         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
99080         configure.in
99081         (AC_CHECK_HEADERS): Likewise for sh-utils.
99082         (AC_CHECK_HEADERS): Likewise for textutils.
99083         Merge the three lists of headers.
99084
99085         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
99086         from fileutils' configure.in.
99087
99088         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
99089         code. Moved tests into their own function (_jm_DECL_HEADERS) in
99090         check-decl.m4.
99091
99092         * m4/check-decl.m4: Use #if rather than #ifdef.
99093         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
99094         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
99095         (_jm_DECL_HEADERS): Define new function.
99096         (jm_CHECK_DECLARATIONS): Require it.
99097
99098 2000-01-22  Jim Meyering  <meyering@lucent.com>
99099
99100         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
99101         [! HAVE_DECL_STRTOULL]: Declare strtoull.
99102         Required for some AIX systems.  Reported by Christian Krackowizer.
99103         [TESTING] (main): New function.
99104
99105         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
99106         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
99107         letters.
99108
99109         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
99110         iswprint.
99111
99112         * lib/strverscmp.c (ISDIGIT): Define.
99113         (strverscmp): Use ISDIGIT, not isdigit.
99114
99115 2000-01-19  Jim Meyering  <meyering@lucent.com>
99116
99117         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
99118         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
99119         defines `struct timespec' in <sys/time.h>
99120
99121         * m4/c-bs-a.m4: Remove uses of changequote altogether.
99122         Thanks to Akim for explaining.
99123
99124 2000-01-17  Paul Eggert  <eggert@twinsun.com>
99125
99126         * lib/nanosleep.c (nanosleep):
99127         Don't use SA_INTERRUPT to decide whether to call sigaction, as
99128         POSIX.1 doesn't require SA_INTERRUPT and some systems
99129         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
99130         it's been part of POSIX.1 since day 1 (in 1988).
99131
99132 2000-01-17  Jim Meyering  <meyering@lucent.com>
99133
99134         * lib/interlock: Remove unused file.  Reported by François Pinard.
99135
99136 2000-01-16  Paul Eggert  <eggert@twinsun.com>
99137
99138         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
99139         alert, backslash, formfeed, and vertical tab unnecessarily in
99140         shell quoting style.
99141
99142 2000-01-16  Jim Meyering  <meyering@lucent.com>
99143
99144         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
99145         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
99146         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
99147         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
99148
99149 2000-01-16  Jim Meyering  <meyering@lucent.com>
99150
99151         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
99152         because the latter didn't work.
99153
99154 2000-01-15  Jim Meyering  <meyering@lucent.com>
99155
99156         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
99157         (AC_REPLACE_FUNCS): Add memcpy and memset.
99158         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
99159         Add strpbrk.
99160         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
99161
99162 2000-01-12  Jim Meyering  <meyering@lucent.com>
99163
99164         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
99165         (jm_PREREQ): Use it.
99166         (jm_PREREQ_READUTMP): New macro.
99167         (jm_PREREQ): Use it.
99168
99169 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99170
99171         Quote multibyte characters correctly.
99172         * m4/c-bs-a.m4: New file.
99173         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
99174         (jm_PREREQ): Use it.
99175
99176 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99177
99178         * m4/uintmax_t.m4: Port to autoconf 2.13.
99179
99180 2000-01-08  Jim Meyering  <meyering@ascend.com>
99181
99182         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
99183         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
99184
99185 2000-01-04  Jim Meyering  <meyering@ascend.com>
99186
99187         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
99188         jm_STRUCT_DIRENT_D_TYPE.
99189         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
99190         jm_STRUCT_DIRENT_D_INO.
99191         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
99192         jm_STRUCT_UTIMBUF.
99193         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
99194         renamings.
99195         * m4/utime.m4: Likewise.
99196
99197         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
99198         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
99199
99200 2000-01-03  Paul Eggert  <eggert@twinsun.com>
99201
99202         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
99203         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
99204
99205 2000-01-02  Jim Meyering  <meyering@ascend.com>
99206
99207         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
99208         remember if this is necessary.
99209
99210 1999-12-26  Jim Meyering  <meyering@ascend.com>
99211
99212         * m4/jm-macros.m4: Use it here.
99213         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
99214
99215 1999-12-23  Jim Meyering  <meyering@ascend.com>
99216
99217         * m4/jm-macros.m4: Check for clock_gettime (moved from
99218         fileutils/configure.in)
99219         Check for gettimeofday.
99220
99221 1999-12-20  Jim Meyering  <meyering@ascend.com>
99222
99223         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
99224         autoconf-2.14a-1999-12-20.
99225
99226 1999-12-19  Jim Meyering  <meyering@ascend.com>
99227
99228         * m4/lstat-slash.m4: New file.
99229         * m4/jm-macros.m4: Use the new macro:
99230         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
99231
99232 1999-12-07  Jim Meyering  <meyering@ascend.com>
99233
99234         * m4/perl.m4: Require that File::Compare be available, too.
99235         Too many systems seem to lack it.
99236
99237         * m4/strftime.m4: Add checks for most of the cpp macros tested in
99238         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
99239
99240 1999-11-18  Paul Eggert  <eggert@twinsun.com>
99241
99242         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
99243         problem with the QNX 4.25 shell, which doesn't propagate exit
99244         status of failed commands inside shell assignments.
99245
99246 1999-11-17  Jim Meyering  <meyering@ascend.com>
99247
99248         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
99249
99250 1999-11-07  Jim Meyering  <meyering@ascend.com>
99251
99252         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
99253
99254 1999-11-06  Jim Meyering  <meyering@ascend.com>
99255
99256         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
99257         * m4/jm-macros.m4 (jm_MACROS): Use it here.
99258
99259 1999-11-05  Jim Meyering  <meyering@ascend.com>
99260
99261         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
99262         configure.in of textutils, fileutils, and sh-utils into this one
99263         (shared between those packages) file.
99264         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
99265         AC_STRUCT_ST_BLKSIZE.
99266
99267 1999-11-03  Jim Meyering  <meyering@ascend.com>
99268
99269         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
99270         of AC_CHECK_TYPE checks includes unistd.h.
99271         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
99272         Suggestion from Akim Demaille.
99273
99274 1999-10-30  Jim Meyering  <meyering@ascend.com>
99275
99276         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
99277         m4-quoted string.
99278         * m4/ls-mntd-fs.m4: Likewise.
99279         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
99280         * m4/jm-winsz1.m4: Likewise.
99281
99282         * m4/const.m4: Remove file, since the fix made it into the experimental
99283         version of autoconf.
99284         * m4/mktime.m4: Likewise.
99285
99286         * m4/check-type.m4: Remove file, now that the latest version of
99287         AC_CHECK_TYPE takes a third arg to specify additional #includes.
99288
99289         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
99290         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
99291         AC_CHECK_TYPE.
99292
99293 1999-10-04  Jim Meyering  <meyering@ascend.com>
99294
99295         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
99296
99297 1999-09-22  Paul Eggert  <eggert@twinsun.com>
99298
99299         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
99300         2.95.1 bug with HP-UX 10.20.
99301
99302 1999-09-17  Jim Meyering  <meyering@ascend.com>
99303
99304         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
99305         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
99306         due to missing strdup (against sh-utils-2.0).
99307
99308 1999-08-29  Jim Meyering  <meyering@ascend.com>
99309
99310         * m4/jm-macros.m4: Require jm_BISON.
99311         * m4/bison.m4: New file.
99312
99313 1999-08-17  Paul Eggert  <eggert@twinsun.com>
99314
99315         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
99316         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
99317
99318 1999-08-05  Jim Meyering  <meyering@ascend.com>
99319
99320         * m4/getline.m4: Rename test file from conftestdata to conftest.data
99321         to avoid conflicts with `conftest' on 8+3 filesystems.
99322         Suggestion from Eli Zaretskii.
99323
99324 1999-08-04  Jim Meyering  <meyering@ascend.com>
99325
99326         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
99327         fileutils and sh-utils (textutils's getline test was inadequate).
99328         (AM_FUNC_GETLINE): Run this test.
99329         (AC_CHECK_FUNCS): Check for getdelim.
99330         Reported by Bob Proulx.
99331
99332 1999-08-02  Jim Meyering  <meyering@ascend.com>
99333
99334         * m4/jm-macros.m4: Add a comment.
99335
99336 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99337
99338         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
99339         <inttypes.h> defines strtoumax as a macro (and not as a
99340         function).
99341
99342 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99343
99344         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
99345         that we can shift, multiply and divide unsigned long long
99346         values; Ultrix cc can't do it.
99347
99348 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99349
99350         * m4/mktime.m4: New file, which is a preview of what should appear
99351         in the next public autoconf release.
99352
99353 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99354
99355         * m4/lfs.m4: Remove this file.
99356         * m4/largefile.m4: New file.  It contains the old contents of
99357         lfs.m4, except that all names with prefix AC_LFS have been
99358         changed to use the prefix AC_SYS_LARGEFILE instead, to be
99359         compatible with future autoconf versions.  Also, some minor m4
99360         quoting problems have been fixed.
99361
99362 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99363
99364         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
99365         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
99366         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
99367         and simplify the shell code.
99368
99369 1999-08-01  Jim Meyering  <meyering@ascend.com>
99370
99371         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
99372         m4.
99373
99374 1999-07-20  Jim Meyering  <meyering@ascend.com>
99375
99376         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
99377
99378 1999-07-15  Jim Meyering  <meyering@ascend.com>
99379
99380         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
99381
99382 1999-05-22  Jim Meyering  <meyering@ascend.com>
99383
99384         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
99385
99386 1999-05-20  Jim Meyering  <meyering@ascend.com>
99387
99388         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
99389         Add a colon after each `then' in case $4 is empty.
99390
99391 1999-05-16  Jim Meyering  <meyering@ascend.com>
99392
99393         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
99394
99395 1999-05-10  Jim Meyering  <meyering@ascend.com>
99396
99397         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
99398
99399         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
99400         AC_FUNC_MKTIME.
99401
99402 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
99403
99404         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
99405
99406 1999-05-04  Paul Eggert  <eggert@twinsun.com>
99407
99408         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
99409         not CPPFLAGS, so that linking works correctly in IRIX.
99410
99411 1999-04-30  Paul Eggert  <eggert@twinsun.com>
99412
99413         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
99414
99415 1999-04-20  Paul Eggert  <eggert@twinsun.com>
99416
99417         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
99418         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
99419         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
99420         jm_AC_TYPE_UNSIGNED_LONG_LONG.
99421         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
99422
99423         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
99424
99425 1999-04-20  Jim Meyering  <meyering@ascend.com>
99426
99427         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
99428         AC_REPLACE xstroull if necessary.  From Paul Eggert.
99429         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
99430
99431 1999-04-18  Jim Meyering  <meyering@ascend.com>
99432
99433         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
99434         * m4/jm-macros.m4: Use it.
99435
99436 1999-04-06  Jim Meyering  <meyering@ascend.com>
99437
99438         * m4/strftime.m4: Remove test for %f.
99439
99440 1999-03-29  Jim Meyering  <meyering@ascend.com>
99441
99442         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
99443         superset of the AC_TYPE_* checks in the textutils, fileutils,
99444         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
99445         AC_TYPE_PID_T.
99446
99447 1999-03-28  Jim Meyering  <meyering@ascend.com>
99448
99449         * m4/jm-macros.m4: Define GNU_PACKAGE here.
99450         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
99451         replaced e.g., in the *.sh files of the sh-utils.
99452
99453 1999-03-20  Jim Meyering  <meyering@ascend.com>
99454
99455         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
99456         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
99457         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
99458
99459 1999-03-19  Jim Meyering  <meyering@ascend.com>
99460
99461         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
99462
99463 1999-03-12  Jim Meyering  <meyering@ascend.com>
99464
99465         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
99466
99467 1999-03-07  Jim Meyering  <meyering@ascend.com>
99468
99469         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
99470         declared.
99471
99472 1999-02-17  Jim Meyering  <meyering@ascend.com>
99473
99474         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
99475         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
99476
99477 1999-02-07  Jim Meyering  <meyering@ascend.com>
99478
99479         * m4/group-member.m4: New file -- extracted from sh-utils'
99480         configure.in.
99481
99482         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
99483         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
99484
99485 1999-02-06  Jim Meyering  <meyering@ascend.com>
99486
99487         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
99488         * m4/fnmatch.m4: Likewise.
99489         * m4/getgroups.m4: Likewise.
99490         * m4/lstat.m4: Likewise.
99491         * m4/malloc.m4: Likewise.
99492         * m4/putenv.m4: Likewise.
99493         * m4/realloc.m4: Likewise.
99494         * m4/regex.m4: Likewise.
99495         * m4/stat.m4: Likewise.
99496         * m4/strftime.m4: Likewise.
99497         Suggestion from Alain Magloire.
99498
99499         * m4/chown.m4: Use `.$ac_objext', not `.o'.
99500         * m4/fnmatch.m4: Likewise.
99501         * m4/getgroups.m4: Likewise.
99502         * m4/getline.m4: Likewise.
99503         * m4/lstat.m4: Likewise.
99504         * m4/malloc.m4: Likewise.
99505         * m4/memcmp.m4: Likewise.
99506         * m4/putenv.m4: Likewise.
99507         * m4/realloc.m4: Likewise.
99508         * m4/regex.m4: Likewise.
99509         * m4/stat.m4: Likewise.
99510         * m4/strftime.m4: Likewise.
99511         Suggestion from Alain Magloire.
99512
99513         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
99514         an argument.
99515
99516         * m4/regex.m4: Add a run-time Test for proper operation of
99517         re_compile_pattern.
99518
99519 1999-01-31  Jim Meyering  <meyering@ascend.com>
99520
99521         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
99522
99523 1999-01-30  Jim Meyering  <meyering@ascend.com>
99524
99525         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
99526
99527         * m4/jm-mktime.m4: Make this a wrapper around the official
99528         AM_FUNC_MKTIME rather than my private copy, now that the official one
99529         is up to date.
99530         * m4/mktime.m4: Remove file.
99531
99532         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
99533         * m4/uptime.m4: Likewise.
99534         * m4/uintmax_t.m4: Likewise.
99535
99536 1999-01-28  Jim Meyering  <meyering@ascend.com>
99537
99538         * m4/jm-macros.m4: Use jm_AFS.
99539         * m4/afs.m4: New file (from fileutils' configure.in).
99540
99541         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
99542         * m4/chown.m4: Likewise.
99543         * m4/d-ino.m4: Likewise.
99544         * m4/d-type.m4: Likewise.
99545         * m4/fnmatch.m4: Likewise.
99546         * m4/getgroups.m4: Likewise.
99547         * m4/gettext.m4: Likewise.
99548         * m4/jm-mktime.m4: Likewise.
99549         * m4/jm-winsz2.m4: Likewise.
99550         * m4/lcmessage.m4: Likewise.
99551         * m4/ls-mntd-fs.m4: Likewise.
99552         * m4/malloc.m4: Likewise.
99553         * m4/memcmp.m4: Likewise.
99554         * m4/putenv.m4: Likewise.
99555         * m4/realloc.m4: Likewise.
99556         * m4/st_mtim.m4: Likewise.
99557         * m4/strftime.m4: Likewise.
99558
99559 1999-01-16  Jim Meyering  <meyering@ascend.com>
99560
99561         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
99562         (ARGMATCH_DIE_DECL): Define.
99563
99564 1999-01-12  Jim Meyering  <meyering@ascend.com>
99565
99566         * m4/Makefile.am.in: Rewrite to avoid using fmt.
99567         Reported by Lars Hecking.
99568
99569 1999-01-10  Jim Meyering  <meyering@ascend.com>
99570
99571         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
99572         gross kludge.
99573         * m4/inttypes_h.m4: Likewise.
99574         * m4/lstat.m4: Likewise.
99575         * m4/malloc.m4: Likewise.
99576         * m4/readdir.m4: Likewise.
99577         * m4/realloc.m4: Likewise.
99578         * m4/st_dm_mode.m4: Likewise.
99579         * m4/stat.m4: Likewise.
99580         * m4/utimbuf.m4: Likewise.
99581         * m4/utimes.m4: Likewise.
99582
99583         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
99584         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
99585         comments in config.h.in are meaningful.
99586
99587         * m4/jm-macros.m4: Require autoconf-2.13 here.
99588
99589         * m4/regex.m4: By default, don't use the included regex.c on systems
99590         with glibc 2.  Suggestion from Uli Drepper.
99591
99592 1999-01-02  Jim Meyering  <meyering@ascend.com>
99593
99594         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
99595
99596 1998-12-18  Jim Meyering  <meyering@ascend.com>
99597
99598         * m4/Makefile.am.in (Makefile.am): Simplify rule.
99599         Based on a suggestion from Lars Hecking.
99600
99601 1998-11-16  Paul Eggert  <eggert@twinsun.com>
99602
99603         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
99604
99605 1998-11-16  Jim Meyering  <meyering@ascend.com>
99606
99607         * m4/lfs.m4: Double-quote the `uname...` expression.
99608
99609 1998-11-14  Jim Meyering  <meyering@ascend.com>
99610
99611         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
99612         * m4/stat.m4: Likewise.
99613
99614 1998-11-03  Jim Meyering  <meyering@ascend.com>
99615
99616         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
99617         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
99618
99619 1998-10-18  Jim Meyering  <meyering@ascend.com>
99620
99621         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
99622
99623 1998-10-17  Jim Meyering  <meyering@ascend.com>
99624
99625         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
99626         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
99627         calls for those previously hard-coded headers.  Instead, take a new
99628         parameter.
99629         (jm_CHECK_DECLARATIONS): Reflect interface change.
99630         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
99631         (jm_CHECK_DECL_LOCALTIME_R): New macro.
99632
99633         * m4/mktime.m4: Test for spring-forward gap before long-running test.
99634
99635 1998-10-14  Jim Meyering  <meyering@ascend.com>
99636
99637         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
99638         instead of "TZ=America/Vancouver".  From Paul Eggert.
99639
99640 1998-10-11  Jim Meyering  <meyering@ascend.com>
99641
99642         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
99643         This adds a test for a recently added compatibility fix for mktime.c.
99644         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
99645
99646 1998-09-27  Jim Meyering  <meyering@ascend.com>
99647
99648         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
99649
99650         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
99651         ../configure.in, including a change from Gordon Matzigkeit to allow
99652         cross-compiling for the Hurd.
99653
99654         * m4/glibc.m4: New file/macro to test for the GNU C Library
99655         versions 1 and 2.  From Gordon Matzigkeit.
99656         Indent.
99657
99658 1998-09-21  Jim Meyering  <meyering@ascend.com>
99659
99660         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
99661
99662 1998-08-18  Paul Eggert  <eggert@twinsun.com>
99663
99664         Port nanosecond-resolution times to UnixWare 2.1.2 and
99665         pedantic Solaris 2.6.
99666
99667         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
99668         AC_STRUCT_ST_MTIM.
99669         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
99670         Generate name of ns member, instead of just 1 or undef.
99671         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
99672
99673 1998-08-15  Jim Meyering  <meyering@ascend.com>
99674
99675         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
99676         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
99677         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
99678         instead of jm_TYPE_SSIZE_T.
99679
99680 1998-08-12  Jim Meyering  <meyering@ascend.com>
99681
99682         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
99683
99684 1998-08-02  Jim Meyering  <meyering@ascend.com>
99685
99686         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
99687         in acconfig.h manually.
99688
99689 1998-07-31  Paul Eggert  <eggert@twinsun.com>
99690
99691         * m4/st_mtim.m4: New file.
99692
99693 1998-07-28  Jim Meyering  <meyering@ascend.com>
99694
99695         * m4/utimes.m4: Undef stat.
99696
99697 1998-07-25  Jim Meyering  <meyering@ascend.com>
99698
99699         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
99700         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
99701
99702 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
99703
99704         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
99705         uid and gid actually remain unchanged.
99706
99707 1998-07-07  Jim Meyering  <meyering@ascend.com>
99708
99709         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
99710
99711 1998-07-04  Jim Meyering  <meyering@ascend.com>
99712
99713         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
99714         to prove that this macro can be used in packages without regex.c.
99715
99716 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
99717
99718         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
99719         is to be used.
99720
99721 1998-07-03  Jim Meyering  <meyering@ascend.com>
99722
99723         * m4/gettext.m4: Add -lintl if it's found to be necessary.
99724
99725         * m4/gettext.m4: New file -- from gettext-0.10.35.
99726         * m4/lcmessage.m4: Likewise.
99727         * m4/progtest.m4: Likewise.
99728
99729         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
99730         * m4/jm-macros.m4: Require the new macro.
99731
99732 1998-06-29  Jim Meyering  <meyering@ascend.com>
99733
99734         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
99735         for the definition of NGROUPS (used in a system header included
99736         by sys/mount.h).
99737
99738 1998-06-28  Jim Meyering  <meyering@ascend.com>
99739
99740         * m4/ls-mntd-fs.m4: New file.
99741         * m4/fstypename.m4: New file.
99742
99743         * m4/jm-macros.m4: Require the new macro.
99744         * m4/jm-glibc-io.m4: New file.
99745
99746 1998-05-19  Jim Meyering  <meyering@ascend.com>
99747
99748         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
99749         * m4/lchown.m4: New file.
99750
99751         * m4/Makefile.am.in: New file.
99752         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
99753
99754 1998-05-14  Jim Meyering  <meyering@ascend.com>
99755
99756         * m4/Makefile.am (EXTRA_DIST): Add them.
99757         * m4/jm-macros.m4: New file.
99758         * m4/utimbuf.m4: New file.
99759
99760 1998-05-12  Jim Meyering  <meyering@ascend.com>
99761
99762         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
99763
99764 1998-05-11  Jim Meyering  <meyering@ascend.com>
99765
99766         * m4/isc-posix.m4: New file.
99767
99768 1998-05-10  Jim Meyering  <meyering@ascend.com>
99769
99770         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
99771
99772 1998-05-09  Jim Meyering  <meyering@ascend.com>
99773
99774         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
99775         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
99776         with automake.
99777
99778         * m4/ssize_t.m4: New file.
99779         * m4/mktime.m4: Remove file -- the new automake has this now.
99780
99781 1998-04-26  Jim Meyering  <meyering@ascend.com>
99782
99783         * m4/assert.m4: New file.
99784         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
99785
99786 1998-04-05  Jim Meyering  <meyering@ascend.com>
99787
99788         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
99789         (jm_PREREQ): Use it here.
99790
99791 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
99792
99793         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
99794         in acconfig.h.
99795
99796 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
99797
99798         * m4/prereq.m4: New file.
99799         * m4/error.m4: New file.
99800         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
99801
99802 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
99803
99804         * m4/getline.m4: Don't set am_cv_func_working_getline before the
99805         cache-check for the same variable -- that defeated the purpose of
99806         the test; the test program was never run.  This was a problem only
99807         on systems with losing getline functions -- HP-UX 10.20 is one.
99808         Reported by Bjorn Helgaas.
99809
99810 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
99811
99812         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
99813
99814 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
99815
99816         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
99817
99818         * m4/const.m4: New file.  Use an initializer in this declaration
99819         typedef int charset[2]; const charset x;
99820         Reported by Bob Glickstein.
99821
99822 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
99823
99824         * m4/chown.m4: Fix reversed types on -1 args to chown.
99825         From Kaveh Ghazi.
99826
99827 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
99828
99829         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
99830         Add lseek and memchr.
99831
99832         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
99833         T.E.Dickey <dickey@clark.net> said that some older preprocessors
99834         have a 20-character limit on names.
99835
99836 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
99837
99838         * m4/inttypes_h.m4: New file.
99839         * m4/uintmax_t.m4: New file.
99840         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
99841
99842
99843         -----
99844
99845         Local Variables:
99846         coding: utf-8
99847         End:
99848
99849         Copyright (C) 1997-2013 Free Software Foundation, Inc.
99850
99851         Copying and distribution of this file, with or without
99852         modification, are permitted provided the copyright notice
99853         and this notice are preserved.