malloca: port --enable-gcc-warnings to clang
[gnulib.git] / ChangeLog
1 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
2
3         malloca: port --enable-gcc-warnings to clang
4         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
5         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
6
7         inttostr: port --enable-gcc-warnings to clang
8         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
9
10         warnings: port to clang
11         Problem reported by Daniel P. Berrange via Eric Blake in
12         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00055.html>.
13         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
14         (gl_WARN_ADD): Use it.
15
16 2013-05-11  Jim Meyering  <meyering@fb.com>
17
18         quotearg: do not read beyond end of buffer
19         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
20         end of an ARG for which no length was specified.  With an N-byte
21         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
22         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
23         via coreutils' misc/sort-debug-keys.sh test and detected by running
24         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
25         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
26         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
27         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
28         characters correctly."
29
30 2013-05-11  Daiki Ueno  <ueno@gnu.org>
31
32         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
33         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
34         compilation target is Mac OS X 10.6.
35         Problem reported by parafin and Andoni Morales in
36         <http://savannah.gnu.org/bugs/?37844> and
37         <http://lists.gnu.org/archive/html/bug-gettext/2013-05/msg00007.html>.
38
39 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
40
41         mkdir-p: remove assumptions about umask and mode
42         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
43         umask is 0, or that MODE is a subset of MODE_BITS.
44
45 2013-05-10  Eric Blake  <eblake@redhat.com>
46
47         maint.mk: catch more abuse of HAVE_DECL in syntax-check
48         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
49
50 2012-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
51
52         deps: require Automake >= 1.9.6 in generated Makefile fragments
53
54         That is the same minimal version required in the DEPENDENCIES file.
55         Moreover, the old code generated a requirement of Automake >= 1.5,
56         and that is an insanely outdated version.
57
58         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
59         * tests/havelib/rpathlx/Makefile.am: Likewise.
60         * tests/havelib/rpathly/Makefile.am: Likewise.
61         * tests/havelib/rpathlyx/Makefile.am: Likewise.
62         * tests/havelib/rpathlz/Makefile.am: Likewise.
63         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
64         * tests/havelib/rpathx/Makefile.am: Likewise.
65         * tests/havelib/rpathy/Makefile.am: Likewise.
66         * tests/havelib/rpathz/Makefile.am: Likewise.
67
68 2013-05-08  Eric Blake  <eblake@redhat.com>
69
70         bootstrap: AC_INIT may have more than four parameters
71         * build-aux/bootstrap (extract_package_name): Correctly extract
72         non-empty tarname field.  Avoid range in regex.
73         Based on a report by Sami Kerola <kerolasa@iki.fi>.
74
75 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
76
77         qacl: port to MS-Windows port of GNU Emacs
78         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
79         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
80         port of GNU Emacs.  Problem reported by Eli Zaretskii in
81         <http://bugs.gnu.org/14295#14>.
82
83 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
84
85         acl: include quote.h
86         * lib/copy-acl.c: Include quote.h.
87         * lib/set-acl.c: Likewise.
88
89 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
90
91         fchownat, renameat, unlinkat: update statat dependencies
92         These modules use statat and lstatat, not fstatat; so depend on
93         the statat module, which was split out recently from fstatat.
94         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
95         * modules/renameat: Likewise.  Also delete fstat.
96         URL: http://bugs.gentoo.org/468790
97
98 2012-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
99
100         Assume gnulib is checked out from Git, not CVS
101
102         In fact, access to the gnulib repository through CVS has been
103         disabled, or more precisely, got broken and was never restored; see:
104         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00008.html>
105
106         Note that support for CVS is not removed completely and unthinkingly
107         by this change: only support for CVS checkouts of gnulib itself is
108         removed.  For example, the 'bootstrap' script still cater to .cvsingore
109         files and CVS directories, for the benefit of those poor gnulib clients
110         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
111
112         * gnulib-tool: Simplify accordingly.
113         * posix-modules: Likewise.
114         * MODULES.html.sh: Likewise.
115         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
116         repository.
117         * doc/gnulib-intro.texi: Likewise.
118         * doc/gnulib-readme.texi: Likewise.
119         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
120         sample '.gitignore' file rather than a sample '.cvsignore'.
121         * NEWS: Update.
122         * m4/extensions.m4: While at it, remove a comment mistakenly referring
123         to "CVS Autoconf" rather than "git Autoconf".
124
125 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
126
127         utimensat-tests, etc.: try to fix some races
128         Problem reported by Bernhard Voelker in
129         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html>.
130         I don't know whether this patch fixes that race condition, but it
131         fixes *some* race conditions, so it should be a win.
132         * modules/chown-tests (Depends-on):
133         * modules/fchownat-tests (Depends-on):
134         * modules/fdutimensat-tests (Depends-on):
135         * modules/futimens-tests (Depends-on):
136         * modules/lchown-tests (Depends-on):
137         * modules/stat-time-tests (Depends-on):
138         * modules/utimens-tests (Depends-on):
139         * modules/utimensat-tests (Depends-on):
140         Depend on nanosleep, not usleep.
141         * modules/chown-tests (test_chown_LDADD):
142         * modules/lchown-tests (test_lchown_LDADD):
143         * modules/stat-time-tests (test_stat_time_LDADD):
144         New macro.
145         * modules/fchownat-tests (test_fchownat_LDADD):
146         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
147         * modules/futimens-tests (test_futimens_LDADD):
148         * modules/utimens-tests (test_utimens_LDADD):
149         * modules/utimensat-tests (test_utimensat_LDADD):
150         Add $(LIB_NANOSLEEP).
151         * modules/stat-time-tests (Files): Add tests/nap.h.
152         * tests/nap.h: Include <limits.h>, for INT_MAX.
153         (lt_mtime): Remove.
154         (diff_timespec): New function.
155         (get_stat): Rename from get_mtime.  All callers changed.
156         (nap_works): Determine the needed delay by inspecting the
157         file system's timestamp jumps; this should be more reliable.
158         Look at both mtime and ctime, and take the maximum of the two jumps.
159         (nap_works, guess_delay):
160         Return a nanosecond cound, not a microsecond count.
161         All callers changed.
162         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
163         failure.
164         (nap): Multiply the guess by 1.125, to accommodate the case where
165         the file system's clock is a bit slower than nanosleep's clock.
166         * tests/test-stat-time.c (BASE): New macro.
167         Include nap.h.
168         (nap): Remove; nap.h now defines this.  This removes a duplicate
169         implementation of 'nap'.
170
171         utimens, utimensat: work around Solaris UTIME_OMIT bug
172         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
173         Linux kernel 2.6.32 does.  Work around it in the same way.
174         * doc/posix-functions/futimens.texi (futimens):
175         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
176         * lib/utimens.c (fdutimens, lutimens):
177         * lib/utimensat.c (rpl_utimensat): Work around the bug.
178
179         gettext: now it's your responsibility to add -I$(top_builddir)/intl
180         Formerly, it was your responsibility to do this for all Makefile.ams
181         other than Gnulib's.  Now it's your responsibility to do it for
182         Gnulib's Makefile.am, too.
183         * NEWS: Document this.
184         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
185
186         acl: include errno.h to get errno
187         Reported by Daiki Ueno in
188         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00073.html>.
189         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
190
191 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
192
193         tests: don't assume getdtablesize () <= 10000000
194         * modules/cloexec-tests:
195         * modules/dup2-tests:
196         * modules/dup3-tests:
197         * modules/nonblocking-tests:
198         * modules/posix_spawn_file_actions_addclose-tests:
199         * modules/posix_spawn_file_actions_adddup2-tests:
200         * modules/posix_spawn_file_actions_addopen-tests:
201         * modules/unistd-safer-tests:
202         Depend on the getdtablesize module.
203         * tests/test-cloexec.c:
204         * tests/test-dup-safer.c:
205         * tests/test-dup2.c:
206         * tests/test-dup3.c:
207         * tests/test-fcntl.c:
208         * tests/test-nonblocking.c:
209         * tests/test-posix_spawn_file_actions_addclose.c:
210         * tests/test-posix_spawn_file_actions_adddup2.c:
211         * tests/test-posix_spawn_file_actions_addopen.c:
212         Don't assume getdtablesize () <= 10000000.
213
214 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
215
216         extern-inline: work around bug in Sun c99
217         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
218         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
219
220 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
221
222         qacl: new module, broken out from the acl module
223         This is for GNU Emacs, which wants the acl functions but does
224         not want 'error' invoked when they fail.
225         * lib/acl-internal.h: Do not include error.h, quote.h.
226         (ENOSYS, ENOTSUP): Remove; no longer needed.
227         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
228         * lib/acl.h: Include <stdbool.h>.
229         (acl_errno_valid): New function.
230         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
231         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
232         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
233         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
234         (ACL_INTERNAL_INLINE): Remove; no longer needed.
235         * lib/file-has-acl.c (file_has_acl):
236         * lib/qcopy-acl.c (qcopy_acl):
237         * lib/qset-acl.c (qset_acl):
238         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
239         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
240         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
241         lib/file-has-acl.c, m4/acl.m4 to qacl module.
242         Add lib/set-acl.c.
243         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
244         Add qacl.
245         (configure.ac): Move gl_FUNC_ACL to qacl module.
246         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
247         Rename set-mode-acl.c to set-acl.c.
248         * lib/acl-errno-valid.c: New file.
249         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
250         copy_acl function remains in copy-acl.c.
251         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
252         (_): Remove; not needed.
253         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
254         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
255         * modules/qacl: New file, moved from the old modules/acl.
256         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
257         Remove set-mode-acl.c, copy-acl.c.
258         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
259
260         alignof, intprops, malloca: port better to IBM's C compiler
261         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
262         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
263         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
264
265 2013-04-25  Daiki Ueno  <ueno@gnu.org>
266
267         wctype-h: fix gettext link error on mingw
268         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
269         <https://lists.gnu.org/archive/html/bug-gettext/2013-03/msg00086.html>.
270         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
271         rpl_towupper and rpl_towupper.
272
273 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
274
275         regex-tests, regex: allow glibc re_search behavior
276         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
277         re_search input data to make the multi-character collating element
278         in it clearly visible, and treat re_search return code 0 as valid.
279         * m4/regex.m4 (gl_REGEX): Likewise.
280
281 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
282
283         stdalign: doc fix
284         * doc/posix-headers/stdalign.texi (stdalign.h):
285         Gnulib doesn't support '_Alignof expr'.
286
287 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
288
289         stdalign: port to stricter ISO C11
290         ISO C11 says that _Alignof's operand must be a parenthesized type.
291         Problem reported by Eli Zaretskii in
292         <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00960.html>.
293         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
294         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
295
296 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
297
298         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
299         Problem reported by Marco Atzeri in
300         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00000.html>.
301         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
302         Simply delegate to the system <sys/select.h> in this case too.
303         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
304         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
305         be needed on Solaris either.
306         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
307         Simply delgate to the system <sys/time.h> in this case.
308
309 2013-03-19  Karl Berry  <karl@gnu.org>
310
311         * build-aux/gnupload: check for erroneous (with gnupload) use of
312         ftp-upload.gnu.org, tweak help.
313
314 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
315
316         copy-file, rpmatch: fix problems found by cppcheck
317         Reported by Arno Onken in
318         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00069.html>.
319         * lib/rpmatch.c (try): Fix memory leak.
320         * lib/copy-file.c: Include "ignore-value.h".
321         (qcopy_file_preserving): Ignore chown value.
322         * modules/copy-file (Depends-on): Add ignore-value.
323
324 2013-01-27  Jim Meyering  <jim@meyering.net>
325
326         prefix-gnulib-mk: give better diagnostics
327         * build-aux/prefix-gnulib-mk: Don't just "die".
328         Give better diagnostics upon failure.
329
330 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
331
332         putenv: port to Solaris 10
333         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
334         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
335         is not what is wanted here.
336         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
337         declaration, not for its existence.
338
339 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
340
341         mktime: fix configure typo
342         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
343
344 2013-03-12  Eric Blake  <eblake@redhat.com>
345
346         regex-tests: skip UTF-8 test on mingw
347         * modules/regex-tests (Depends-on): Add localcharset.
348         * tests/test-regex.c (main): Use it to skip test on mingw.
349
350 2013-03-11  Eric Blake  <eblake@redhat.com>
351
352         tests: make it easier to bypass alarm time in debugger
353         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
354         * tests/test-memmem.c (main): Likewise.
355         * tests/test-passfd.c (main): Likewise.
356         * tests/test-ptsname.c (main): Likewise.
357         * tests/test-ptsname_r.c (main): Likewise.
358         * tests/test-strcasestr.c (main): Likewise.
359         * tests/test-strstr.c (main): Likewise.
360
361         regex: port to mingw's recent addition of undeclared alarm
362         * doc/posix-functions/alarm.texi (alarm): Document that alarm
363         exists but still doesn't work in newer mingw.
364         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
365         not existence.  Ensure SIGALRM is not trapped.
366         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
367         * m4/regex.m4 (gl_REGEX): Likewise.
368         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
369         * tests/test-regex.c (main): Use correct probe for alarm.
370
371         putenv: avoid compilation warning on mingw
372         * lib/putenv.c (_unsetenv): Protect variable declaration.
373         (putenv): Fix indentation.
374
375 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
376
377         unistd: don't prevent Tru64 Unix from using gnulib strtod.
378         * lib/unistd.in.h: be careful not to include un-needed system
379         stdlib.h from here, because that prevents gnulib stdlib.h from
380         defining rpl_strtod correctly.
381
382 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
383
384         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
385         changesets, but for the 'precision 0' test.
386         * tests/test-vasprintf-posix.c (test_function): Don't insist on
387         round-to-even, since POSIX says rounding is implementation-defined
388         and OS X 10.8.2 rounds 1.51 to 1 here.
389
390         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
391         changeset.
392         * tests/test-vasprintf-posix.c (test_function): Don't insist on
393         round-to-even, since POSIX says rounding is implementation-defined
394         and OS X 10.8.2 rounds 1.5 to 1 here.
395
396 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
397
398         vasnprintf-posix-tests: allow rounding 1.5 to 1
399         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
400         round-to-even, since POSIX says rounding is implementation-defined
401         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
402         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00019.html>.
403
404         bootstrap: port to FreeBSD
405         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
406         that treat '--' differently.  Reported by Mats Erik Andersson in
407         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00012.html>.
408
409 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
410
411         regex: rename remaining __attribute calls to __attribute__.
412         2012-02-25 changed definition of __attribute, but left some uses
413         unchanged, preventing compilation of regex module on most non-gcc
414         environments.
415         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
416         (lookup_collation_sequence_value, build_range_exp)
417         (build_collating_symbol): Set attributes with newly renamed
418         __attribute__ decorator.
419         * lib/regex_internal.c (re_string_peek_byte_case)
420         (re_node_set_compare, re_node_set_contains): Likewise.
421         * lib/regexec.c (acquire_init_state_context): Likewise.
422
423 2013-03-06  Bruno Haible  <bruno@clisp.org>
424
425         execute: Revert last change, but use a different condition.
426         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
427         on Windows.
428
429 2013-03-05  Eric Blake  <eblake@redhat.com>
430
431         execute: drop dead code
432         * lib/execute.c (nonintr_close, nonintr_open): Delete.
433
434 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
435
436         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
437         * m4/non-recursive-gnulib-prefix-hack.m4
438         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
439         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
440         <http://bugs.gnu.org/10305#237>.
441
442 2013-03-04  Eric Blake  <eblake@redhat.com>
443
444         test-getsockopt: avoid compiler warning
445         * tests/test-getsockopt.c (includes): Ensure close is declared.
446
447 2013-03-02  Bruno Haible  <bruno@clisp.org>
448
449         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
450         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
451
452 2013-03-02  Bruno Haible  <bruno@clisp.org>
453
454         gettext: Update to version 0.18.2.
455         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
456         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
457                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
458
459 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
460
461         regex: merge patches from libc
462
463         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
464         * lib/regex_internal.h (__attribute__): Rename from __attribute.
465         All uses changed.
466         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
467         (re_string_wchar_at, re_string_elem_size_at):
468         Mark function as possibly unused.
469
470         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
471         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
472         elements compare against the byte sequence of it, not its name.
473
474 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
475
476         putenv: port better to native Windows
477         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
478         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
479         (_unsetenv): Use _putenv if available.
480         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
481         a bit less likely to cause damage.
482         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
483         Fix the wrong value with SetEnvironmentVariable.
484         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
485         code better.
486
487 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
488
489         regex: ignore old-style-definition warnings
490         * lib/regex.c: Add pragma to ignore these warnings.
491         Problem reported for GNU tar by Pavel Raiskup.
492
493 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
494
495         getcwd: support coreutils better
496         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
497         but this might not be correct in coreutils, which disables
498         the raw decl checks.  Problem reported by Nagendra in
499         <http://bugs.gnu.org/10305#192>.
500         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
501         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
502         Test the getcwd function, not any macro, since getcwd.c wants the
503         function.
504         * m4/getcwd.m4 (gl_FUNC_GETCWD):
505         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
506         compile, as might happen if there's a macro but no function.
507
508         strtod: support coreutils better
509         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
510         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
511         disables the raw decl checks.  This assumes there is an underlying
512         strtod, but that's a safe assumption these days.
513         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
514
515         mountlist: port to HP NonStop
516         Reported by Joachim Schmitz in
517         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00084.html>.
518         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
519         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
520
521 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
522
523         extern-inline: avoid compilation error with HP-UX cc
524         Reported by Richard Lloyd in
525         <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
526         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
527         Suppress extern inline with HP-UX cc.  This should be safe,
528         though it may hurt performance.  Perhaps someone with some HP-UX
529         experience can come up with a higher-performance fix.
530
531 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
532
533         putenv: fix heap corruption with mixed putenv/_putenv
534         Problem reported by Michael Goffioul in
535         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00061.html>.
536         * lib/putenv.c (putenv) [HAVE__PUTENV]:
537         Rely on _putenv to allocate the new environment.
538         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
539         * modules/putenv (configure.ac): Use it.
540
541 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
542
543         unsetenv etc.: port to Solaris 11 + GNU Emacs
544         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
545         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
546         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
547         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
548         idea but is too painful to fix right now), and without this gnulib
549         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
550         compiling unsetenv.c on Solaris 11.  Fix the problem for
551         unsetenv.c, and fix other similar occurrences.
552
553 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
554
555         secure_getenv: fix C++ declaration typo
556         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
557         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
558         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00057.html>.
559
560 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
561
562         careadlinkat: stop exporting careadlinkatcwd
563         Only Emacs used it directly, and Emacs no longer needs it.
564         * NEWS: Document this simplification.
565         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
566         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
567         for readlink.
568         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
569         Don't include stdlib.h; no longer needed.
570         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
571         * lib/relocwrapper.c: Adjust comment to match new dependencies.
572         * modules/areadlink (Depends-on): Add readlink.
573         (Maintainer): Add self.
574         * modules/careadlinkat (Depends-on): Remove readlink.
575
576         extensions: port better to HP-UX
577         This is merged from git Autoconf.
578         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
579         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
580         so that it's compatible with the value used when compiling.
581
582         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
583         Problem reported by Mats Erik Andersson in
584         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00051.html>.
585         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
586         openpty function exists, not merely when we intend to replace it.
587         This corrects the 2013-01-31 patch, which mistakenly defined
588         HAVE_OPENPTY even on hosts that lacked it.
589
590 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
591
592         secure_getenv: fix include typo
593         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
594
595         secure_getenv: port better to FreeBSD and Solaris
596         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
597         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
598         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
599         This works better on BSDish platforms.
600         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
601         Test for issetugid if __secure_getenv is missing.
602
603 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
604
605         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
606         Some of these changes are merged in from git Autoconf.
607         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
608         When deciding whether to define _XOPEN_SOURCE, inspect the
609         preprocessor macro __hpux instead of the more-heavyweight
610         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
611         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
612         as the key for __EXTENSIONS__.
613
614         unistd: avoid namespace pollution on non-glibc systems
615         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
616         This avoids namespace pollution on non-glibc systems, by causing
617         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
618         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
619         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00027.html>.
620
621 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
622
623         tmpdir: use secure_getenv
624         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
625         Define to secure_getenv, not getenv.
626         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
627         as that's now secure_getenv's job.
628         * modules/tmpdir (Depends-on): Add secure_getenv.
629
630         tempname: use secure_getenv
631         * lib/tempname.c (__secure_getenv) [!_LIBC]:
632         Define to secure_getenv, not getenv.
633         * modules/tempname (Depends-on):
634         Add secure_getenv.
635
636         secure_getenv: new module
637         * MODULES.html.sh (Extra functions based on ANSI C 89):
638         Add secure_getenv.
639         * doc/glibc-functions/secure_getenv.texi: New file.
640         * doc/gnulib.texi: Include it.
641         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
642         New files.
643         * lib/stdlib.in.h (secure_getenv): New decl.
644         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
645         * modules/stdlib (stdlib.h):
646         Add secure_getenv checks.
647
648 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
649
650         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
651         Reported for OS X 10.8.2 by Assaf Gordon in
652         <http://bugs.gnu.org/13516>.
653         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
654         !HAVE_OPENAT && !HAVE_FDOPENDIR.
655         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
656         so that they can be kept in sync more easily.  Avoid PATH_MAX
657         test on the Hurd.  Sync from test-getcwd.c for errno tests after
658         mkdir or chdir failure.
659         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
660         lib/getcwd.c.
661         (test_abort_bug): Do not test for the deep directory bug unless we
662         have openat support.  Avoid PATH_MAX test on the Hurd.
663
664         regex-tests, regex: fix bug: memset undeclared
665         * tests/test-regex.c: Don't include regex.h twice.  Include
666         string.h, to declare memset.  Christensen's report also mentioned
667         this issue.
668         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
669         test-regex.c, to avoid future problems like this.  Remove
670         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
671         twice.
672
673         regex-tests: fix link errors on older Solaris
674         These need to link with @LIBINTL@ to get libintl_gettext.
675         Problem reported by Tom G. Christensen in
676         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
677         * modules/regex-tests (test_regex_LDADD): New macro.
678
679 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
680
681         regex-tests: new module
682         * modules/regex-tests, tests/test-regex.c: New files.
683
684         regex: fix off-by-one error in configure test
685         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
686
687 2013-01-31  Eric Blake  <eblake@redhat.com>
688
689         regex: avoid infinite configure test
690         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
691
692 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
693
694         openpty: fix bug where HAVE_OPENPTY wasn't defined
695         See the thread starting at:
696         http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
697         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
698         openpty function exists, not merely when we intend to replace it.
699
700 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
701
702         sys_time: port to Solaris 2.6
703         There is a circularity problem on Solaris 2.6, where <time.h> includes
704         <sys/time.h> for struct timespec.  The include nesting is gnulib
705         <time.h>, system <time.h>, gnulib <sys/time.h>, system
706         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
707         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
708         <sys/siginfo.h>; the last, innermost file needs struct
709         timestruc_t, which is defined in <sys/time.h>, which has not been
710         fully parsed.  Problem reported by Tom G. Christensen in
711         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
712         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
713         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
714         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
715         uses split double-inclusion guards.
716
717 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
718
719         regex: test for buffer overrun
720         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
721         for the just-fixed regex bug.
722
723 2013-01-29  Andreas Schwab  <schwab@suse.de>
724
725         regex: fix buffer overrun in regexp matcher [BZ #15078]
726         * lib/regexec.c (extend_buffers): Add parameter min_len.
727         (check_matching): Pass minimum needed length.
728         (clean_state_log_if_needed): Likewise.
729         (get_subexp): Likewise.
730
731 2013-01-28  Pádraig Brady  <P@draigBrady.com>
732
733         mountlist: don't consider "devtmpfs" as dummy
734         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
735         as there is storage associcated with it.
736
737 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
738
739         futimens-tests, utimens-tests: Depend on gettext.
740         This works around a problem introduced in my 2013-01-12 patch,
741         which added @LIBINTL@ to these modules.
742         * modules/futimens-tests (Depends-on):
743         * modules/utimens-tests (Depends-on): Add gettext.
744
745 2013-01-26  Eric Blake  <eblake@redhat.com>
746
747         test-getpeername: fix typo
748         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
749
750 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
751
752         bootstrap: remove the need for a sorted .gitignore file
753         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
754         rename to insert_if_absent(), so that we don't need or generate
755         a sorted .gitignore file.  We do require a .gitignore with no
756         existing duplicate entries and enforce that.
757         (sort_patterns): Remove this function as we now use the simpler
758         technigue of inserting blacklist entries at the top of the file,
759         assuming gnulib won't be inserting !whitelist entries.
760
761 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
762
763         readlinkat: don't depend on gl_FUNC_OPENAT
764         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
765         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
766         renameat.m4, symlinkat.m4; but one thing at a time.
767
768         statat: new module, split out from fstatat
769         GNU Emacs needs the POSIX-specified fstatat, but not the
770         gnulib-specified statat and lstat.  Split the latter two into a
771         new module 'statat'.
772         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
773         * lib/openat.h, lib/statat.c (STATAT_INLINE):
774         Rename from FSTATAT_INLINE. All uses changed.
775         * modules/fstatat (Files): Remove lib/statat.c.
776         (gl_MODULE_INDICATOR([fstatat])): Remove.
777         (lib_SOURCES): Remove.
778         (Maintainer): Add self.
779         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
780         * tests/test-fstatat.c (BASE): Don't define if already defined.
781         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
782
783 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
784
785         tests: don't assume fd 99 is closed
786         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
787         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
788         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
789         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
790         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
791         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
792         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
793         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
794         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
795         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
796         * tests/test-fwrite.c, tests/test-getpeername.c:
797         * tests/test-getsockname.c, tests/test-getsockopt.c:
798         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
799         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
800         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
801         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
802         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
803         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
804         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
805         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
806         * tests/test-unlinkat.c, tests/test-unlockpt.c:
807         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
808         Close file descriptor 99, instead of assuming it's already closed.
809
810 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
811
812         stpncpy: port to OS X 10.8
813         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
814         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
815
816 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
817
818         unistd: port to recent mingw
819         * lib/unistd.in.h: Remove special invocation convention for mingw,
820         which breaks for the latest mingw version.  See John W. Eaton in
821         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
822
823         largefile: port better to Mac OS X 10.5
824         This patch is backported from Autoconf git.
825         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
826         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
827         with ino_t size being different for configuration time versus
828         build/run time.  Problem reported by PHO in
829         <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
830
831 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
832
833         doc: clarify -Werror
834         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
835         clarify that it's intended for developers, not for ordinary builds,
836         and mention --enable-gcc-warnings as one possible use.
837
838 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
839
840         stdint: fix build with Android's Bionic fox x86
841         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
842         was already included as _SSIZE_T_DEFINED_ might also be defined
843         in include/machine/_types.h, which is included by stdio.h
844
845 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
846
847         net_if-tests: port to Solaris 7 + GCC 3.4.6
848         Problem reported by Tom G. Christensen in
849         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
850         * tests/test-net_if.c (ni): Move to next the code that uses it,
851         so that it's declared only if needed.
852
853 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
854
855         net_if-tests: port to older Solaris
856         Problem reported by Tom G. Christensen in
857         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
858         * modules/net_if-tests (NET_IF_LIB): New substitution.
859         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
860         (HAVE_IF_NAMEINDEX): New C macro.
861         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
862
863         system-quote-tests: port to older Solaris
864         Problem reported by Tom G. Christensen in
865         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
866         * tests/test-system-quote-child.c (fopen, fread): Undef.
867
868         c-xvasprintf etc.: fix link errors on older Solaris
869         These need to link with @LIBINTL@ to get libintl_gettext.
870         Problem reported by Tom G. Christensen in
871         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
872         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
873         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
874         * modules/futimens-tests (test_futimens_LDADD):
875         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
876
877 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
878
879         locale: port to Solaris 2.6 and 7 + GNU gettext
880         * lib/locale.in.h: Just include_next <locale.h> when
881         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
882         when combining the localename module with GNU gettext 0.18.2.
883         Problem reported by Tom G. Christensen in
884         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
885
886 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
887
888         stdlib: port to Solaris 2.6
889         Also, the code worked on Solaris 7 through 9 only by accident.
890         Problem reported by Tom G. Christensen in
891         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
892         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
893         simply include the system stdlib.h.
894         * lib/getopt.in.h (__need_system_stdlib_h):
895         * lib/pthread.in.h (__need_system_stdlib_h):
896         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
897         Define when including <stdlib.h>, to avoid problems at least for
898         the pthread case on Solaris 2.6 and 7.  These .h files can get by
899         with the system stdlib.h.
900
901 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
902
903         doc: update main copyright year
904         * doc/gnulib.texi: Update copyright date.
905
906         doc: improve ISO 8601 discussion
907         * doc/parse-datetime.texi (Combined date and time of day items):
908         Specify more carefully what formats are supported and what is
909         done with excess precision.
910
911 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
912
913         doc: avoid small caps
914         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
915         they're more trouble than they're worth.  Suggested by Karl Berry
916         in <http://bugs.gnu.org/13360>.
917
918         regex: conform to strict C
919         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
920         From Aharon Robbins.
921
922         gnulib-tool: fix incompatibility with autopoint 0.18.2
923         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
924         Problem reported by Tom G. Christensen in
925         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.
926
927 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
928
929         fprintftime: bring back and reword fwrite comment
930         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
931
932         stdio: remove now-unnecessary stdio.c
933         Since stdio.in.h no longer uses inline functions, we no longer
934         need to compile the extern versions.
935         * lib/stdio.c: Remove.
936         * modules/stdio (Files): Remove lib/stdio.c.
937         (lib_SOURCES): Remove.
938
939         unicodeio: depend on stdio, not ignore-value
940         * lib/unicodeio.c: Do not include ignore-value.h.
941         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
942         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
943
944         fprintftime: depend on stdio, not ignore-value
945         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
946         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
947         since the stdio module arranges to silence that warning now.
948         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
949
950 2012-10-04  Simon Josefsson  <simon@josefsson.org>
951
952         stdint-tests: Fix expanded-before-required-warning.
953         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
954
955 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
956
957         fwrite: silence __wur only for older glibc versions
958         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
959         This will help us remove this workaround some time in the far future.
960
961 2013-01-03  Eric Blake  <eblake@redhat.com>
962
963         fwrite: silence __wur without using inline
964         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
965         just gcc, and in a way that avoids inline issues.
966         * modules/stdio (Depends-on): Drop extern-inline.
967
968 2013-01-03  Jim Meyering  <jim@meyering.net>
969
970         update-copyright: avoid copyright notice date corruption
971         Given a sequence of copyright year numbers in which the final
972         one was a two-digit number that happened to be a substring of
973         a preceding four-digit year number, we would mistakenly update
974         the substring (from two- to four-digit) rather than the two-digit
975         number at the end, which, combined with the addition of the current
976         4-digit year number would yield two 5-digit year numbers, e.g.,
977         here, it would convert the first "99" to "1999, 2013" rather than
978         the final one:
979           1991, 99
980           11999, 20131, 1999
981         * build-aux/update-copyright: Tighten a regexp.
982         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
983         Reported by Joseph Myers in
984         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
985
986 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
987
988         regex: omit needless signed-pointer casts
989         * lib/regcomp.c (build_charclass, build_charclass_op):
990         Use char *, not unsigned char *, for class name and extra.
991         The char values are always nonnegative so there's no need to
992         insist on unsigned char * here, and using char * removes the need
993         for casts.  Reported by Aharon Robbins in
994         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
995
996         regex: support Gawk, which never uses alloca
997         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
998         Do not include in this case.  Gawk doesn't supply a substitute
999         alloca.h and doesn't need one.
1000
1001         regex: port __libc_lock_define usage to C89
1002         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
1003         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
1004         does not conform to C89, as it has an empty macro argument.
1005         Reported by Aharon Robbins in
1006         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1007
1008 2013-01-01  Eric Blake  <eblake@redhat.com>
1009
1010         maint: update all copyright year number ranges
1011         Run "make update-copyright".
1012
1013         version-etc: bump copyright year reported in --version
1014         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
1015
1016 2012-12-31  Eric Blake  <eblake@redhat.com>
1017
1018         sigprocmask-tests: skip test if pid is unexpectedly large
1019         * tests/test-sigprocmask.c (main): Add range check.
1020
1021         git-version-gen: avoid test -z portability glitch
1022         * build-aux/git-version-gen: Prefer portable test spelling, since
1023         git-version-gen is run on more than just developer machines.
1024
1025 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
1026
1027         git-version-gen: add --fallback option to use if git is not present
1028         * build-aux/git-version-gen: Add support for the new option --fallback,
1029         which comes into play when there is no $tarball_version_file and
1030         git is not working.
1031         (scriptversion): Update.
1032
1033         maint.mk: handle missing git with more grace
1034         * top/maint.mk (no-submodule-changes, public-submodule-commit):
1035         Quietly proceed if git is not present.
1036
1037 2012-12-31  Eric Blake  <eblake@redhat.com>
1038
1039         dup2: work around cygwin bug
1040         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
1041         * lib/dup2.c (rpl_dup2): Work around it.
1042         * doc/posix-functions/dup2.texi (dup2): Document it.
1043
1044 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
1045
1046         regex: remove unnecessary dependency on localcharset.h
1047         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
1048         hasn't been needed for years.
1049         * modules/regex (Depends-on): Remove localcharset.
1050
1051         regex: revert single-byte change
1052         * lib/regexec.c (check_node_accept_bytes): Revert previous change
1053         to this function.  This was alredy fixed in a different way, at
1054         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
1055         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
1056         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
1057
1058         regex: simplify based on Gawk version
1059         * lib/regex_internal.c (re_dfa_add_node): Simplify.
1060         Reported by Aharon Robbins in
1061         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1062
1063 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
1064
1065         regex: check that pattern char is single-byte
1066         Reported by Aharon Robbins in
1067         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1068         * lib/regexec.c (check_node_accept_bytes):
1069         Return 0 if the pattern string has a multibyte character here.
1070
1071         regex: implement rational ranges
1072         Reported by Aharon Robbins in
1073         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1074         * lib/regcomp.c (build_range_exp) [!_LIBC]:
1075         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
1076         Implement rational ranges.
1077
1078         regex: avoid redefining __wctype
1079         Reported by Aharon Robbins in
1080         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1081         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
1082         #undef before defining.
1083
1084         regex: port to hosts where malloc (0) == NULL
1085         Reported by Aharon Robbins in
1086         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1087         * lib/regex_internal.c (re_node_set_alloc):
1088         Don't assume that malloc (0) yields nonnull.
1089         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
1090         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
1091         * modules/regex (Files): Add m4/eealloc.m4.
1092
1093         regex: port to C89
1094         Reported by Aharon Robbins in
1095         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1096         * lib/regcomp.c (init_word_char): Declaration before statement.
1097
1098         regex: merge glibc changes
1099         Also, copy the license wording from glibc.  This simplifies
1100         merging changes.  gnulib-tool will change the wording to GPL as
1101         appropriate, when importing it to other packages.  The only
1102         glibc change made since the last merge, which needs merging, is:
1103         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
1104         * lib/regex_internal.h (gettext): Remove use of INTUSE.
1105
1106         * users.txt: Add Emacs.
1107
1108         doc: omit mention of version when not needed
1109         * doc/gnulib-intro.texi (Portability and Application Code):
1110         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
1111         Don't mention particular dates or versions when not necessary, so
1112         that the documentation won't go out of date so quickly.
1113
1114         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
1115
1116 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
1117
1118         bootstrap: pass --force to autoreconf.
1119         * build-aux/bootstrap (AUTORECONFFLAGS): New.
1120         Add "--force" so that Automake's ylwrap and other such tools
1121         be updated at each bootstrap invocation.
1122         Use it.
1123
1124 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
1125
1126         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
1127         The earlier patch forgot to update one of the #if conditions, causing
1128         a problem on Debian testing i386 reported by Mats Erik Andersson
1129         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
1130         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
1131         (__argp_fmtstream_puts, argp_fmtstream_puts)
1132         (__argp_fmtstream_write, argp_fmtstream_write)
1133         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
1134
1135         * doc/gnulib-readme.texi: Minor fixups.
1136         (Portability guidelines): Modernize URLs.  Remove some repetition.
1137         (Indent with spaces not TABs): Reword to avoid too-long lines.
1138         Remove some '@ifset standalone' stuff that isn't used.
1139
1140         * doc/gnulib-readme.texi (Portability guidelines):
1141         ctype.h, not ctime.h.
1142
1143         Correct name of POSIX.1-2001.
1144         * doc/posix-functions/fgetc.texi (fgetc):
1145         * doc/posix-functions/fgets.texi (fgets):
1146         * doc/posix-functions/fread.texi (fread):
1147         * doc/posix-functions/fscanf.texi (fscanf):
1148         * doc/posix-functions/getc.texi (getc):
1149         * doc/posix-functions/getchar.texi (getchar):
1150         * doc/posix-functions/scanf.texi (scanf):
1151         POSIX.1-2001, not POSIX-2001.
1152
1153         doc: move README into manual
1154         * README: Move contents to new file doc/gnulib-readme.texi.
1155         Replace with a one-line summary.
1156         * doc/gnulib.texi (Brief Overview): New section,
1157         with old intro preface.  Include gnulib-readme.texi for contents.
1158         (Philosophy): Rename from "Introduction", since this
1159         section no longer introduces the rest.  Write a new preface.
1160         * doc/gnulib-readme.texi: New file, with the old contents of
1161         README texinfo-ized.  This way, the README info appears
1162         in the online and printed manual.
1163
1164 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
1165
1166         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
1167         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
1168         c_vasprintf() prototype.
1169
1170 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
1171
1172         c-vasprintf: Fix "empty declaration" warning reported by GCC.
1173         * lib/c-vasprintf.h: Remove stray semicolon.
1174
1175 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
1176
1177         gettext: avoid obsolete macro AM_PROG_MKDIR_P
1178         It is obsolete and is planned to be removed from Automake 1.14; see
1179         <http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
1180         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
1181         (installdirs-data, installdirs-data-yes):
1182         Use $(MKDIR_P), not $(mkdir_p).
1183         * m4/intl.m4 (AM_INTL_SUBDIR):
1184         * m4/po.m4 (AM_PO_SUBDIRS):
1185         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
1186
1187 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
1188
1189         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
1190         On this platform, we are not optimizing but we are using
1191         the substitute for extern inlines, so compile as if
1192         C99-style extern inline, or a substitute, is available.
1193         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
1194         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
1195         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
1196         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
1197         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
1198         Declare as ARGP_FS_EI, not as extern.
1199         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
1200         (__option_is_short, _option_is_end, __option_is_end)
1201         [!_LIBC && __USE_EXTERN_INLINES]:
1202         Declare as ARGP_EI, not as extern.
1203
1204 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
1205
1206         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
1207         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
1208         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
1209         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
1210         ...), as the latter is fatal with older Autoconfs.
1211         Problem reported and fix suggested by Eric Blake in thread starting at
1212         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
1213
1214 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1215
1216         AC_PROG_MKDIR_P: don't workaround if not buggy
1217         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
1218         Define only for Autoconf versions before 2.62.
1219         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
1220         undocumented m4_PACKAGE_VERSION, for consistency with the
1221         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
1222         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
1223         was introduced in 2.62.
1224
1225 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
1226
1227         New 'c-*printf' modules for formatted output in C locale.
1228
1229         New module 'c-vasnprintf'.
1230         * modules/c-vasnprintf: New file.
1231         * lib/c-vasnprintf.c: New file.
1232         * lib/c-vasnprintf.h: New file.
1233
1234         New module 'c-snprintf'.
1235         * modules/c-snprintf: New file.
1236         * modules/c-snprintf-tests: New file.
1237         * lib/c-snprintf.c: New file.
1238         * lib/c-snprintf.h: New file.
1239         * tests/test-c-snprintf.c: New file.
1240         * tests/test-c-snprintf.sh: New file.
1241
1242         New module 'c-vsnprintf'.
1243         * modules/c-vsnprintf: New file.
1244         * modules/c-vsnprintf-tests: New file.
1245         * lib/c-vsnprintf.c: New file.
1246         * lib/c-vsnprintf.h: New file.
1247         * tests/test-c-vsnprintf.c: New file.
1248         * tests/test-c-vsnprintf.sh: New file.
1249
1250         New module 'c-vasprintf'.
1251         * modules/c-vasprintf: New file.
1252         * modules/c-vasprintf-tests: New file.
1253         * lib/c-asprintf.c: New file.
1254         * lib/c-vasprintf.c: New file.
1255         * lib/c-vasprintf.h: New file.
1256         * tests/test-c-vasprintf.c  +: New file.
1257         * tests/test-c-vasprintf.sh: New file.
1258
1259         New module 'c-xvasprintf'.
1260         * modules/c-xvasprintf: New file.
1261         * modules/c-xvasprintf-tests: New file.
1262         * lib/c-xasprintf.c: New file.
1263         * lib/c-xvasprintf.c: New file.
1264         * lib/c-xvasprintf.h: New file.
1265         * tests/test-c-xvasprintf.c: New file.
1266         * tests/test-c-xvasprintf.sh: New file.
1267
1268 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1269
1270         argp: better 'inline'
1271         Use extern-inline module to declare extern inline functions.
1272         This avoids some bogus warning diagnostics.  Problem discovered
1273         when modifying GNU tar to use the manywarnings module.
1274         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
1275         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
1276         Define based on extern-inline.
1277         * modules/argp (Depends-on): Add extern-inline.
1278
1279 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1280
1281         filemode, sys_stat: Handle MPX files a la AIX.
1282         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
1283         * lib/sys_stat.in.h (S_ISMPX): New macro.
1284         * tests/test-sys_stat.c: Add tests for MPX files.
1285
1286 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
1287
1288         x-to-1: honor $PERL
1289         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
1290         a chance to use his preferred version of Perl.  This is typically
1291         required by Darwin users whose default /usr/bin/perl does not have all
1292         the libraries required by help2man, and who need to use their MacPorts
1293         installation of Perl instead.
1294
1295 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1296
1297         gnu-web-doc-update: add all the new files, even in new directories
1298         See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
1299         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
1300         Use it.
1301         (main): Don't use cvsutils to get the list of unknown files,
1302         just add all the existing files and directories.
1303
1304 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1305
1306         gnu-web-doc-update: improve --help
1307         * build-aux/gnu-web-doc-update: Move comments into --help.
1308
1309 2012-12-07  Eric Wong  <normalperson@yhbt.net>
1310
1311         mountlist: recognize more "dummy" file systems
1312         * lib/mountlist.c (ME_DUMMY_0):
1313         Add these dummy FS names to the list:
1314         - "debugfs" virtual filesystem for kernel debugging
1315         - "devpts" PTY slave filesystem
1316         - "devtmpfs" device filesystem on top of tmpfs/ramfs
1317         - "fusectl" control filesystem for FUSE
1318         - "mqueue" enumerates POSIX message queues
1319         - "rpc_pipefs" kernel <-> userspace bridge for NFS
1320         - "sysfs" is for exporting kernel objects
1321         - "devfs" device filesystem for Linux 2.4 and FreeBSD
1322
1323 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
1324
1325         extern-inline: avoid incompatibility with Darwin Libc
1326         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
1327         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
1328         Problem reported by Akim Demaille in
1329         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
1330
1331 2012-12-11  Simon Josefsson  <simon@josefsson.org>
1332
1333         gnupload: Work with GnuPG using gpg-agent (for smartcards).
1334         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
1335         let it handle password prompting.
1336
1337 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
1338
1339         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
1340         * lib/canonicalize.c (canonicalize_filename_mode):
1341         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
1342         fetching the current directory.  Don't overrun the beginning of
1343         rpath if there's no slashes after the MS-Windows drive letter.
1344
1345 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1346
1347         maint.mk: avoid extra forks
1348         * top/maint.mk (_cfg_mk): The GNU make manual documents that
1349         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
1350         So use that instead of "$(shell test -f FILE && echo FILE)".
1351
1352 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
1353
1354         vasnprintf: fix ASCII_ONLY typo
1355         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1356         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1357         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1358         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
1359         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
1360
1361 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
1362
1363         list, oset, xlist, xoset: fix extern inline issue with C99
1364         This was introduced by my recent changes for 'inline'.
1365         Problem reported for gettext by Daiki Ueno in
1366         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
1367         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
1368         (gl_list_nx_create, gl_list_size, gl_list_node_value)
1369         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
1370         (gl_list_previous_node, gl_list_get_at)
1371         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
1372         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
1373         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
1374         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
1375         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
1376         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
1377         (gl_list_iterator_free, gl_sortedlist_search)
1378         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
1379         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
1380         (gl_sortedlist_remove):
1381         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
1382         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
1383         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
1384         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
1385         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
1386         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
1387         (gl_list_add_at, gl_sortedlist_add):
1388         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
1389         Wrap these extern decls inside "#if 0", because they are implemented
1390         as inline functions, and extern inline is not what's wanted here.
1391         It would simplify these .h files to remove the extern decls entirely,
1392         although a downside would be less-clear separation between
1393         specification and implementation.
1394
1395 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
1396
1397         sys_stat: no 'static inline'
1398         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
1399         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
1400
1401         extern-inline: no 'static inline'
1402         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
1403         Do not require AC_C_INLINE.
1404         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
1405         'static inline', for older compilers.
1406
1407         snippet/warn-on-use: no 'static inline'
1408         * build-aux/snippet/warn-on-use.h:
1409         Remove unnecessary 'inline' in comment.
1410
1411         rbtree-list, rbtreehash-list: no 'static inline'
1412         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
1413         * lib/gl_anytree_list2.h (node_at):
1414         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
1415         (gl_oset_first, add_nodes_to_buckets):
1416         Now static, not static inline.
1417
1418         regex: no 'static inline'
1419         * lib/regex_internal.c (calc_state_hash):
1420         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
1421         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
1422         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
1423         Now static, not static inline.
1424         (inline) [__GNUC__ < 3 && _LIBC]:
1425         Remove macro; no longer needed.
1426
1427         xvasprintf: no 'static inline'
1428         * lib/xvasprintf.c (xstrcat):
1429         Now static, not static inline.
1430         * m4/xvasprintf.m4 (gl_XVASPRINTF):
1431         Do not require AC_C_INLINE.
1432
1433         parse-datetime, parse-duration: no 'static inline'
1434         * lib/parse-datetime.y (to_uchar):
1435         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
1436         (scale_n_add):
1437         Now static, not static inline.
1438         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
1439         * modules/parse-duration (configure.ac):
1440         Do not require AC_C_INLINE.
1441
1442         getaddrinfo: no 'static inline'
1443         * lib/getaddrinfo.c (validate_family):
1444         Now static, not static inline.
1445         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
1446         Do not require AC_C_INLINE.
1447
1448         ftruncate, fts, lstat, openat, raise: no 'static inline'
1449         * lib/ftruncate.c (chsize_nothrow):
1450         * lib/fts.c (opendirat, diropen):
1451         * lib/lstat.c (orig_lstat):
1452         * lib/openat.c (orig_openat):
1453         * lib/raise.c (raise_nothrow):
1454         Now static, not static inline.
1455         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
1456         * m4/fts.m4 (gl_FUNC_FTS_CORE):
1457         * m4/lstat.m4 (gl_PREREQ_LSTAT):
1458         * m4/openat.m4 (gl_PREREQ_OPENAT):
1459         * m4/raise.m4 (gl_PREREQ_RAISE):
1460         Do not require AC_C_INLINE.
1461
1462         fflush, stat: no 'static inline'
1463         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
1464         (clear_ungetc_buffer, disable_seek_optimization)
1465         (restore_seek_optimization, update_fpos_cache):
1466         * lib/stat.c (orig_stat):
1467         Now static, not static inline.
1468         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
1469         (update_fpos_cache):
1470         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
1471         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
1472         * m4/stat.m4 (gl_PREREQ_STAT):
1473         Do not require AC_C_INLINE.
1474
1475         error, filevercmp: no 'static inline'
1476         * lib/error.c (is_open, flush_stdout):
1477         * lib/filevercmp.c (order):
1478         Now static, not static inline.
1479         * m4/error.m4 (gl_PREREQ_ERROR):
1480         * modules/filevercmp (configure.ac):
1481         Do not require AC_C_INLINE.
1482
1483         dup, execute, fatal-signal, etc.: no 'static inline'
1484         * lib/dup.c (dup_nothrow):
1485         * lib/execute.c (nonintr_close, nonintr_open):
1486         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
1487         * lib/fopen.c (orig_fopen):
1488         * lib/freadseek.c (freadptrinc):
1489         * lib/freopen.c (orig_freopen):
1490         * lib/fstat.c (orig_fstat, fstat_nothrow):
1491         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
1492         (get_rusage_as_via_iterator):
1493         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
1494         * lib/getdtablesize.c (_setmaxstdio_nothrow):
1495         * lib/isatty.c (_isatty_nothrow):
1496         * lib/open.c (orig_open):
1497         * lib/read.c (read_nothrow):
1498         * lib/sigprocmask.c (signal_nothrow):
1499         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
1500         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
1501         * lib/wait-process.c (unregister_slave_subprocess):
1502         * lib/write.c (write_nothrow):
1503         Now static, not static inline.
1504         * lib/spawn-pipe.c (nonintr_open): Define only if
1505         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
1506         * m4/dup.m4 (gl_PREREQ_DUP):
1507         * m4/execute.m4 (gl_EXECUTE):
1508         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
1509         * m4/fopen.m4 (gl_PREREQ_FOPEN):
1510         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
1511         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
1512         * m4/fstat.m4 (gl_PREREQ_FSTAT):
1513         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
1514         * m4/isatty.m4 (gl_PREREQ_ISATTY):
1515         * m4/open.m4 (gl_PREREQ_OPEN):
1516         * m4/read.m4 (gl_PREREQ_READ):
1517         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
1518         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
1519         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
1520         * m4/wait-process.m4 (gl_WAIT_PROCESS):
1521         * m4/write.m4 (gl_PREREQ_WRITE):
1522         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
1523         Do not require AC_C_INLINE.
1524
1525         c-strtod, memcoll, readutmp: no 'static inline'
1526         * lib/c-strtod.c (c_locale):
1527         * lib/memcoll.c (strcoll_loop):
1528         * lib/readutmp.c (desirable_utmp_entry):
1529         Now static, not static inline.
1530         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
1531         * m4/memcoll.m4 (gl_MEMCOLL):
1532         * m4/readutmp.m4 (gl_READUTMP):
1533         Do not require AC_C_INLINE.
1534
1535         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
1536         * lib/arctwo.c (to_uchar):
1537         * lib/md4.c (set_uint32):
1538         * lib/md5.c (set_uint32):
1539         * lib/sha1.c (set_uint32):
1540         * lib/sha256.c (set_uint32):
1541         * lib/sha512.c (set_uint64):
1542         Now static, not static inline.  This is a bit simpler, and doesn't
1543         affect performance with GCC and default optimization.
1544         * m4/arctwo.m4 (gl_ARCTWO):
1545         * m4/md4.m4 (gl_MD4):
1546         * m4/md5.m4 (gl_MD5):
1547         * m4/sha1.m4 (gl_SHA1):
1548         * m4/sha256.m4 (gl_SHA256):
1549         * m4/sha512.m4 (gl_SHA512):
1550         Do not require AC_C_INLINE.
1551
1552         cond, lock, thread: better 'inline'
1553         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
1554         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
1555         New macros.  Use them instead of static inline, for header functions.
1556         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
1557         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1558         * lib/glthread/lock.c (gl_waitqueue_init)
1559         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1560         * lib/glthread/thread.c (get_current_thread_handle):
1561         Change 'static inline' to 'inline'.
1562         * lib/glthread/cond.h, lib/glthread/thread.h:
1563         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1564         * m4/cond.m4 (gl_COND):
1565         * m4/lock.m4 (gl_PREREQ_LOCK):
1566         * m4/thread.m4 (gl_THREAD):
1567         Do not require AC_C_INLINE.
1568         * modules/cond, modules/thread (Depends-on): Add extern-inline.
1569
1570         chdir-long, cycle-check, savewd: better 'inline'
1571         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
1572         (find_non_slash):
1573         * lib/cycle-check.c (is_zero_or_power_of_two):
1574         * lib/savewd.c (savewd_delegating):
1575         Change 'static inline' to 'inline'.
1576         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
1577         Replace all remaining uses of 'static inline' with it.
1578         * lib/savewd.h:
1579         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1580         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
1581         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
1582         * m4/savewd.m4 (gl_SAVEWD):
1583         Do not require AC_C_INLINE.
1584         * modules/savewd (Depends-on): Add extern-inline.
1585
1586         base32, base64: no need for 'inline'
1587         * lib/base32.c (to_uchar, get_8, decode_8):
1588         * lib/base64.c (to_uchar, get_4, decode_4):
1589         Change 'static inline' to 'inline'.
1590         * m4/base32.m4 (gl_PREREQ_BASE32):
1591         * m4/base64.m4 (gl_PREREQ_BASE64):
1592         Do not require AC_C_INLINE.
1593
1594         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
1595         * lib/gl_array_oset.c (gl_array_nx_add_at):
1596         (gl_array_remove_at):
1597         * lib/gl_linkedhash_list.c (hash_resize_after_add)
1598         (add_to_bucket, remove_from_bucket):
1599         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
1600         Change 'static inline' to 'static', as it's simpler to omit
1601         'inline' unless there's a significant performance advantage.
1602
1603         list, oset, xlist, xoset, xsublist: simplify via extern inline
1604         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
1605         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
1606         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
1607         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
1608         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
1609         New macro.  Replace all uses of 'static inline' with it.
1610         [HAVE_INLINE]: Implement functions as *_INLINE functions,
1611         instead of as macros FOO that are defined to static inline
1612         functions FOO_inline.
1613         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
1614         * lib/gl_xsublist.c:
1615         Reimplement from scratch, by defining the corresponding *_INLINE
1616         macro and including the corresponding .h file.  This is simpler.
1617         * modules/list, modules/oset, modules/xlist, modules/xoset:
1618         (Files): Remove m4/gl_list.m4.
1619         (configure.ac): Remove gl_LIST.
1620         * m4/gl_list.m4: Remove.
1621         * modules/list, modules/oset, modules/xlist, modules/xoset:
1622         * modules/xsublist:
1623         (Depends-on): Depend on extern-inline, not inline.
1624
1625         xalloc: better 'inline'
1626         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
1627         New macro.  Replace all uses of 'static inline' with it.
1628         (static_inline): Remove.
1629         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
1630         Let 'extern inline' do the work automatically, instead of doing
1631         it by hand.
1632         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
1633         Remove.  All uses removed.
1634         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
1635
1636         gethrxtime: better 'inline'
1637         * lib/xtime.c: New file.
1638         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
1639         * lib/xtime.h (XTIME_INCLUDE):
1640         New macros.  Replace all uses of 'static inline' with them.
1641         * lib/gethrxtime.c (gethrxtime): Define only if
1642         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
1643         this source file is now always compiled, because of the extern inline.
1644         * lib/gethrxtime.h, lib/xtime.h:
1645         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1646         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
1647         if gethrtime works, as they're not needed in that case.
1648         (gl_XTIME): Do not require AC_C_INLINE.
1649         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
1650         compiled now.  Move the check into gl_GETHRXTIME.
1651         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
1652         (Depends-on): Add extern-inline.
1653         (configure.ac): gethrxtime is always compiled now.
1654         (lib_SOURCES): Add gethrxtime.c.
1655
1656         wctype-h: better 'inline'
1657         * lib/wctype-h.c: New file.
1658         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
1659         New macro.  Replace all uses of 'static inline' with it.
1660         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1661         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
1662         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
1663         (Depends-on): Add extern-inline.
1664
1665         unistd: better 'inline'
1666         * lib/unistd.c: New file.
1667         * lib/unistd.in.h (_GL_UNISTD_INLINE):
1668         New macro.  Replace all uses of 'static inline' with it.
1669         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1670         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
1671         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
1672         (Depends-on): Add extern-inline.
1673
1674         sys_socket: better 'inline'
1675         * lib/sys_socket.c: New file.
1676         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
1677         New macro.  Replace all uses of 'static inline' with it.
1678         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1679         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
1680         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
1681         (Depends-on): Add extern-inline.
1682
1683         stdio: better 'inline'
1684         * lib/stdio.c: New file.
1685         * lib/stdio.in.h (_GL_STDIO_INLINE):
1686         New macro.  Replace all uses of 'static inline' with it.
1687         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1688         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
1689         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
1690         (Depends-on): Add extern-inline.
1691
1692         sigaction: better 'inline'
1693         * lib/sig-handler.c: New file.
1694         * lib/sig-handler.h (SIG_HANDLER_INLINE):
1695         New macro.  Replace all uses of 'static inline' with it.
1696         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1697         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
1698         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
1699         (Depends-on): Add extern-inline.
1700
1701         selinux-h: better 'inline'
1702         * lib/se-context.c, lib/se-selinux.c: New files.
1703         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
1704         * lib/se-context.in.h (SE_CONTEXT_INLINE):
1705         New macro.  Replace all uses of 'static inline' with it.
1706         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1707         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
1708         New macro.  Replace all uses of 'static inline' with it.
1709         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1710         * modules/selinux-h (Files, lib_SOURCES):
1711         Add lib/se-context.c, lib/se-selinux.c.
1712         (Depends-on): Add extern-inline.
1713         (configure.ac): Do not require AC_C_INLINE.
1714
1715         pthread: better 'inline'
1716         * lib/pthread.c: New file.
1717         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
1718         New macro.  Replace all uses of 'static inline' with it.
1719         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1720         * m4/pthread.m4 (gl_PTHREAD_CHECK):
1721         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
1722         * modules/pthread (Files): Add lib/pthread.c.
1723         (Depends-on): Add extern-inline.
1724
1725         math: better 'inline'
1726         * lib/math.c: New file.
1727         * lib/math.in.h (_GL_MATH_INLINE):
1728         New macro.  Replace all uses of 'static inline' with it.
1729         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1730         * m4/math_h.m4 (gl_MATH_H):
1731         Do not require AC_C_INLINE.
1732         * modules/math (Files, lib_SOURCES):
1733         Add lib/math.c.
1734         (Depends-on): Add extern-inline.
1735
1736         count-one-bits: better 'inline'
1737         * lib/count-one-bits.c: New file.
1738         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
1739         New macro.  Replace all uses of 'static inline' with it.
1740         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1741         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
1742         Do not require AC_C_INLINE.
1743         * modules/count-one-bits (Files, lib_SOURCES):
1744         Add lib/count-one-bits.c.
1745         (Depends-on): Add extern-inline.
1746
1747         count-leading-zeros: better 'inline'
1748         * lib/count-leading-zeros.c: New file.
1749         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
1750         New macro.  Replace all uses of 'static inline' with it.
1751         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1752         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
1753         Do not require AC_C_INLINE.
1754         * modules/count-leading-zeros (Files, lib_SOURCES):
1755         Add lib/count-leading-zeros.c.
1756         (Depends-on): Add extern-inline.
1757
1758         bitrotate: better 'inline'
1759         * lib/bitrotate.c: New file.
1760         * lib/bitrotate.h (BITROTATE_INLINE):
1761         New macros.
1762         Replace all uses of 'static inline' with them.
1763         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1764         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
1765         (Depends-on): Add extern-inline.
1766         (configure.ac): Do not require AC_C_INLINE.
1767
1768 2012-11-20  Theophile Ranquet <ranquet@lrde.epita.fr>
1769
1770         maint.mk: avoid gratuitous failure
1771         Reported by Stefano Lattarini in
1772         <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
1773         * top/maint.mk (public-submodule-commit): Quote more safely.
1774
1775 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
1776
1777         canonicalize, canonicalize-lgpl: support MS-Windows file names
1778         See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
1779         for test cases, which it'd be nice to add at some point.
1780         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
1781         * lib/canonicalize.c (canonicalize_filename_mode):
1782         * lib/canonicalize-lgpl.c (__realpath):
1783         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
1784         slash is at the beginning of the file name.  Use ISSLASH, instead
1785         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
1786         the first character with '/'.  Test for
1787         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
1788         with a drive letter.
1789         * lib/canonicalize.c (SLASHES): New macro.
1790         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
1791
1792 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
1793
1794         fts: introduce FTS_VERBATIM
1795         * lib/fts_.h (FTS_VERBATIM): New bit flag.
1796         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
1797         * lib/fts.c (fts_open): Honor it.
1798
1799 2012-11-09  Pádraig Brady  <P@draigBrady.com>
1800
1801         getlogin-tests: allow errno == ENXIO
1802         * tests/test-getlogin.c (main): Skip tests if getlogin fails
1803         with errno == ENXIO (No controlling tty).
1804         getlogin_r-tests: Likewise. Also allow errno == ENOENT
1805         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
1806         with errno == ENOENT.  This was reported to happen in various
1807         situations on GNU/Linux.
1808
1809 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
1810
1811         getlogin-tests: allow errno == ENOENT
1812         * tests/test-getlogin.c (main): Skip tests if getlogin fails
1813         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
1814         when running a test in an Emacs shell buffer.
1815
1816 2012-11-08  Jim Meyering  <jim@meyering.net>
1817
1818         tests/nap.h: avoid warning about unused variable
1819         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
1820
1821         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
1822         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
1823         white space before each of the special-cased file names, to avoid
1824         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
1825         in http://bugs.gnu.org/12830.
1826
1827 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
1828
1829         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
1830         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
1831         fails with errno == EBADF when fd is opened with O_PATH.
1832         Reported by Jim Meyering in
1833         <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
1834         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
1835         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
1836
1837 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
1838
1839         test-utimens: speed up by taking shorter naps
1840         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
1841         New functions.
1842         (nap): Use them, to do a better job of guessing the delay.
1843         On Fedora 17 with ext4 atop md atop hard disks, this made
1844         test-utimens run 10x faster, because the test napped for
1845         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
1846         <http://bugs.gnu.org/12820#11>.
1847
1848 2012-11-07  Jim Meyering  <jim@meyering.net>
1849
1850         mountlist.c: fix a compilation failure
1851         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
1852         I introduced while transforming commit v0.0-7683-g613bcb6
1853
1854 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
1855
1856         errno: port to LynxOS 178 2.2.2
1857         Problem reported by Joel Brobecker in
1858         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
1859         * doc/posix-headers/errno.texi (errno.h): Document this.
1860         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
1861         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
1862         Supply a string for EILSEQ.
1863         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
1864
1865 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
1866
1867         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
1868         Linux kernel 2.6.39 introduced O_PATH (see
1869         <http://lwn.net/Articles/433854/>) and this is a better fallback
1870         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
1871         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
1872         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
1873         * lib/fcntl.in.h (O_ACCMODE):
1874         * tests/test-fcntl-h.c (main):
1875         Do not reject O_ACCMODE merely because it has more than the
1876         minimal number of bits, as POSIX allows extensions here.
1877
1878 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
1879
1880         mountlist: do not classify a bind-mounted dir entry as "dummy"
1881         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
1882         the "none"-testing clause.
1883         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
1884         exception for bind-mounted directories.
1885
1886 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
1887
1888         quote: provide a means to escape strings with nul characters
1889         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
1890         (quote, quote_n): Rename formal arguments for consistency with
1891         quotearg.
1892
1893 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
1894
1895         test-raise: don't assume 199 is an invalid signal
1896         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
1897
1898         sh-quote-tests: port to Solaris 9
1899         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
1900         Problem reported by Dagobert Michelsen in
1901         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
1902
1903 2012-10-28  Jim Meyering  <jim@meyering.net>
1904
1905         maint.mk: rename a new configurable variable
1906         * top/maint.mk (_gl_translatable_string_re): Rename from
1907         translation-markers: _gl_ prefix to insulate from user Makefile code,
1908         and the _re suffix to inform that it's a regular expression.
1909
1910 2012-10-26  Eric Blake  <eblake@redhat.com>
1911
1912         maint.mk: let packages tweak sc_po_check pattern
1913         * top/maint.mk (sc_po_check): Add translation-markers, to allow
1914         finding files with other translation markers.
1915
1916 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
1917
1918         euidaccess: speed up 'configure' on GNU hosts
1919         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
1920         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
1921         it's needed only in this case.  Use AC_CHECK_DECLS, not
1922         AC_CHECK_DECLS_ONCE.
1923         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
1924         or AC_REQUIRE for AC_FUNC_GETGROUPS.
1925
1926         * lib/regexec.c (re_search_internal): Fix grammar in comment.
1927
1928 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
1929
1930         fchmodat, fchownat, fstatat: port to non-inlining compilers
1931         Problem reported for FreeBSD 9 by Jim Meyering in
1932         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
1933         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
1934         New files, which define FCHMODAT_INLINE etc.
1935         * lib/fchmodat.c (FCHMODAT_INLINE):
1936         * lib/fchownat.c (FCHOWNAT_INLINE):
1937         * lib/fstatat.c (FSTATAT_INLINE):
1938         Remove, as chmodat.c etc. now do this.
1939         * modules/fchmodat (Files): Add lib/chmodat.c.
1940         * modules/fchownat (Files): Add lib/chownat.c.
1941         * modules/fstatat (Files): Add lib/statat.c.
1942
1943 2012-10-15  Jim Meyering  <jim@meyering.net>
1944
1945         fchmodat.c, fchownat.c: compile-impeding typos
1946         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
1947         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
1948         Introduced in commit v0.0-7636-gd202279.
1949
1950 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
1951
1952         fcntl-h: support GNU flags like O_IGNORE_CTTY
1953         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
1954         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
1955         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
1956         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
1957         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
1958         Define to 0 if not already defined.
1959         * tests/test-fcntl-h.c: Test these new flags.
1960
1961 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
1962
1963         faccessat, etc.: support AT_FDCWD-only use
1964         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
1965         this function only if its first argument is AT_FDCWD.
1966         Emacs wants faccessat for AT_EACCESS but not for any first-arg
1967         values other than AT_FDCWD, so it doesn't want all the openat
1968         machinery with fchdir etc.
1969         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
1970         * modules/fstatat, modules/mkdirat, modules/openat (Files):
1971         * modules/unlinkat (Files):
1972         Remove lib/openat-priv.h, as at-internal supplies this file.
1973         Removing this file here allows us to support programs like Emacs
1974         that avoid at-internal.
1975
1976         faccessat: speed up 'configure' on mainstream hosts
1977         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
1978         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
1979         since it's only on unusual platforms that we need to check for
1980         'access', and it's better not to slow 'configure' down on all
1981         platforms.
1982
1983         faccessat: port to Solaris 10
1984         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
1985         Needed on Solaris 10, which doesn't have AT_EACCESS,
1986         so we need the Gnulib fcntl.h, which defines it.
1987
1988 2012-10-14  Pádraig Brady  <P@draigBrady.com>
1989         canonicalize: fix C89 compilation
1990         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
1991         declarations so C89 is supported.  Also remove the comment
1992         referencing memorty allocation as the suggested feature could
1993         not be implemented as suggested.
1994         Reported by Michael Goffioul.
1995
1996 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
1997
1998         group-member: omit unnecessary dependencies
1999         This is for Emacs, which has its own allocator and where we
2000         don't want to use xalloc.
2001         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
2002         since we no longer use xmalloc.  Do not include stdbool.h, since
2003         the changes below happen to remove the only use of bool.
2004         (GROUPBUF_SIZE): New constant.
2005         (struct group_info): Remove n_groups member.  Add groupbuf member.
2006         This lets us get the groups without using malloc, usually.
2007         (free_group_info, get_group_info): Adjust to this.
2008         (get_group_info): Return the number of groups found, or -1 on error.
2009         Use plain malloc not xmalloc, and treat its failure as if there
2010         are no groups, as the user already loses in case of error.
2011         (group_member): Simplify, based on changes to get_group_info.
2012         * modules/group-member (Depends-on): Remove dependencies on
2013         xalloc and stdbool.  Add dependency on xalloc-oversized.
2014
2015 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
2016
2017         gethrxtime: port to C++
2018         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
2019
2020 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
2021
2022         ptsname: fix macro-name typo
2023         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
2024
2025 2012-10-03  Simon Josefsson  <simon@josefsson.org>
2026
2027         inttostr: Relax license.
2028         * modules/inttostr (License): Change from LGPL to LGPLv2+.
2029
2030 2012-10-03  Eric Blake  <eblake@redhat.com>
2031
2032         ptsname_r: support ptys returned by FreeBSD posix_openpt
2033         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
2034         lives in /dev/pts/.
2035
2036 2012-10-02  Eric Blake  <eblake@redhat.com>
2037
2038         pselect: reject invalid file descriptors
2039         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
2040         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
2041         * modules/pselect (Depends-on): Add dup2.
2042         * doc/posix-functions/pselect.texi (pselect): Document this.
2043
2044         select: reject invalid file descriptors
2045         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
2046         * lib/select.c (rpl_select) [!win32]: Work around it.
2047         * modules/select (Depends-on): Add dup2.
2048         * doc/posix-functions/select.texi (select): Document this.
2049
2050         select: enhance test
2051         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
2052         New functions.
2053         (test_function): Enhance test.
2054         (do_select_bad_fd): Avoid any stale errno values.
2055
2056         ptsname: reject invalid file descriptors
2057         http://www.austingroupbugs.net/view.php?id=503
2058         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
2059         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
2060         * modules/stdlib (Makefile.am): Replace witness.
2061         * lib/stdlib.in.h (ptsname): Allow for replacement.
2062         * modules/ptsname (configure.ac): Trigger replacement.
2063         * doc/posix-functions/ptsname.texi (ptsname): Document this.
2064
2065 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
2066
2067         hash-pjw-bare: new module
2068         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
2069         * lib/hash-pjw-bare.h: Likewise.
2070         * modules/hash-pjw-bare: New file.
2071         * MODULES.html.sh (Misc): Add it.
2072
2073 2012-10-02  Eric Blake  <eblake@redhat.com>
2074
2075         manywarnings: cater to more gcc infelicities
2076         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
2077         -Wuninitialized without -O.
2078
2079 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
2080
2081         select, poll tests: Make setsockopt invocation effective.
2082         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
2083         the bind() call.
2084         * tests/test-select.h (open_server_socket): Likewise.
2085
2086 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
2087
2088         sockets, sys_stat: restore AC_C_INLINE
2089         This undoes the 2012-09-22 patch.
2090         * m4/sockets.m4 (gl_SOCKETS):
2091         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2092         Restore AC_C_INLINE, since MSVC requires __inline or _inline
2093         and does not support plain 'inline'.  Reported by Bruno Haible in
2094         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
2095
2096 2012-09-30  Bruno Haible  <bruno@clisp.org>
2097
2098         localeconv tests: Avoid test failure on OpenIndiana.
2099         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
2100         skip the 'grouping' and 'mon_grouping' tests.
2101         Reported by Jim Meyering.
2102
2103 2012-09-30  Bruno Haible  <bruno@clisp.org>
2104
2105         havelib: Follow libtool developments.
2106         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
2107         Suggested by Simon Josefsson.
2108
2109 2012-09-29  Jim Meyering  <meyering@redhat.com>
2110
2111         fstatat.c: fix a compile-impeding typo
2112         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
2113         Introduced in commit v0.0-7636-gd202279.
2114         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
2115
2116 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
2117
2118         extern-inline: provide a -Wundef safe config.h
2119         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
2120         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
2121         to produce a -Wundef warning free config.h.
2122
2123 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2124
2125         hash-pjw: relax license to LGPLv2+
2126         * modules/hash-pjw (License): Relax, with consent of author.
2127
2128 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2129
2130         maint.mk: fix strict vs. lazy variable issues with RELEASE
2131         * top/maint.mk (_equal): New function.
2132         (member_check): Strip the result to avoid spurious spaces.
2133         (url_dir_list): Do not use ifeq, which is strict, as it will
2134         require RELEASE_TYPE to be defined.
2135         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
2136         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
2137         (announcement_Cc_alpha,announcement_mail_headers_alpha)
2138         (announcement_Cc_beta,announcement_mail_headers_beta)
2139         (announcement_Cc_stable,announcement_mail_headers_stable): these.
2140         (release): Do not depend on $(release-type), as it forces its
2141         evaluation.  Bounce to it.
2142
2143 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2144
2145         maint.mk: formatting changes
2146         * top/maint.mk: Indent bodies of if's.
2147
2148 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
2149
2150         maint.mk: factor the validation of RELEASE_TYPE
2151         With help from Jim Meyering.
2152         http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
2153         * top/maint.mk (_empty, _sp): Move their definition earlier.
2154         (member-check, release-type): New.
2155         Use the latter instead of $(RELEASE_TYPE).
2156         Remove now useless local checks.
2157
2158 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2159
2160         maint.mk: provide "make upload" to ease uploading
2161         See
2162         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
2163         Do not depend simply on the current $(VERSION), as there may have been
2164         new commits since the tarball generation.  Rather, rely on $(RELEASE),
2165         as "make release-commit" already does.
2166
2167         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
2168         "make TYPE".
2169
2170         * top/maint.mk (upload_command, upload, release): New.
2171         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
2172         (VERSION): first word of $(RELEASE) is always right.
2173         (emit_upload_commands): Adjust.
2174         * top/README-release: Update.
2175
2176 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2177
2178         maint.mk: silent rules
2179         With help from Stefano Lattarini.
2180         * top/maint.mk (writable-files): Use $(AM_V_GEN).
2181         (announcement): Use $(AM_V_at).
2182
2183 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
2184
2185         localename: port gl_locale_name_thread_unsafe to FreeBSD
2186         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
2187         and use the simpler FreeBSD implementation on Mac OS X as well.
2188         Original idea suggested by Ed Maste in
2189         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
2190
2191 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
2192
2193         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
2194         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
2195         * lib/mbuiter.c, lib/xsize.c: New files.
2196         * lib/binary-io.h (BINARY_IO_INLINE):
2197         * lib/eealloc.h (EEALLOC_INLINE):
2198         * lib/mbfile.h (MBFILE_INLINE):
2199         * lib/mbiter.h (MBITER_INLINE):
2200         * lib/mbuiter.h (MBUITER_INLINE):
2201         * lib/xsize.h (XSIZE_INLINE):
2202         New macros.
2203         Replace all uses of 'static inline' with them.
2204         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2205         * m4/eealloc.m4 (gl_EEALLOC):
2206         * m4/mbfile.m4 (gl_MBFILE):
2207         * m4/mbiter.m4 (gl_MBITER):
2208         * m4/xsize.m4 (gl_XSIZE):
2209         Do not require AC_C_INLINE.
2210         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
2211         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
2212         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
2213         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
2214         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
2215         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
2216         * modules/binary-io, modules/eealloc, modules/mbfile:
2217         * modules/mbiter, modules/mbuiter:
2218         (Depends-on): Add extern-inline.
2219
2220         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
2221         * lib/pipe-filter-aux.c: New file.
2222         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
2223         Replace all uses of 'static inline' with it.
2224         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2225         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
2226         (filter_retcode): No real need for inline here.
2227         * modules/pipe-filter-gi, modules/pipe-filter-ii:
2228         (Files): Add lib/pipe-filter-aux.c.
2229         (Depends-on): Add extern-inline.
2230         (configure.ac): Do not require AC_C_INLINE.
2231         (lib_SOURCES): Add pipe-filter-aux.c.
2232
2233         fdutimensat: omit unnecessary AC_C_INLINE
2234         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
2235
2236         fchmodat, fchownat, fstatat: use extern-inline
2237         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
2238         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
2239         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
2240         New macros.
2241         * lib/openat.h:
2242         Replace all uses of 'static inline' with them.
2243         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2244         * modules/fchmodat, modules/fchownat, modules/fstatat:
2245         * modules/openat-h:
2246         (Depends-on):
2247         Add extern-inline.
2248         (configure.ac): Remove AC_C_INLINE.
2249
2250         acl, mbchar, priv-set: use extern-inline
2251         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
2252         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
2253         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
2254         New macros.
2255         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
2256         Replace all uses of 'static inline' with it.
2257         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2258         * m4/acl.m4 (gl_FUNC_ACL):
2259         * m4/mbchar.m4 (gl_MBCHAR):
2260         * m4/priv-set.m4 (gl_PRIV_SET):
2261         Remove AC_C_INLINE, since 'inline' is no longer used directly.
2262         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
2263         Add extern-inline.
2264
2265         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
2266         * m4/sockets.m4 (gl_SOCKETS):
2267         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2268         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
2269         environments where it's already guaranteed to work, so we needn't
2270         check for it at 'configure'-time.
2271
2272         tls-tests: omit unnecessary 'inline'
2273         * tests/test-tls.c (perhaps_yield): No longer inline.
2274         Simplicity and portability trump efficiency in test cases.
2275
2276         utimens-tests: avoid unnecessary 'inline'
2277         * modules/fdutimensat-tests (configure.ac):
2278         * modules/futimens-tests (configure.ac):
2279         * modules/utimens-tests (configure.ac):
2280         * modules/utimensat-tests (configure.ac):
2281         Remove AC_C_INLINE.
2282         * tests/test-utimens-common.h (ctime_compare):
2283         No longer inline.  Simplicity and portability trump efficiency here.
2284
2285         misc: don't limit commentary to inline functions
2286         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
2287         * lib/xalloc-oversized.h, lib/xsize.h:
2288         Contrast macros to functions in general, not just to inline functions,
2289         when the commentary does not apply only to inline functions.
2290
2291 2012-09-20  Jim Meyering  <meyering@redhat.com>
2292
2293         non-recursive-gnulib-prefix-hack: new module
2294         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
2295         the file that originated in Bison.
2296         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
2297         largely copied from a snippet that resided in bison's configure.ac.
2298         * modules/non-recursive-gnulib-prefix-hack: New file.
2299         * MODULES.html.sh (Support for maintaining and releasing projects):
2300         Add it.
2301
2302 2012-09-18  Jim Meyering  <meyering@redhat.com>
2303
2304         maint.mk: generalize _gl_tight_scope for non-recursive make
2305         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
2306         that *.h would describe additional .h files in the directory
2307         specified by $(_gl_TS_dir).  I.e., add this...
2308         (_gl_TS_other_headers): New variable.
2309
2310         maint.mk: exempt trailing blanks found in "binary" files
2311         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
2312         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
2313         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2314
2315 2012-09-17  Jim Meyering  <meyering@redhat.com>
2316
2317         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
2318         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
2319         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
2320         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2321
2322 2012-09-17  Jim Meyering  <meyering@redhat.com>
2323
2324         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
2325         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
2326         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
2327         It is not in the same category as "exit (0)" or "exit (1)", and
2328         besides, I know of no symbolic name for that 77.  Reported by
2329         Richard W.M. Jones in
2330         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2331
2332 2012-09-17  Jim Meyering  <meyering@redhat.com>
2333
2334         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
2335         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
2336         all uses of #define, not just those that start in column 1.
2337         Richard W.M. Jones reported a false positive in
2338         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2339
2340 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
2341
2342         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
2343         * lib/localcharset.c (locale_charset) [DARWIN7]:
2344         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
2345         as these two values are incompatible.  Problem reported by Max Horn.
2346         For more discussion, please see
2347         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
2348
2349         doc: document sticky-EOF issue
2350         * doc/posix-functions/fgetc.texi (fgetc):
2351         * doc/posix-functions/fgets.texi (fgets):
2352         * doc/posix-functions/fread.texi (fread):
2353         * doc/posix-functions/fscanf.texi (fscanf):
2354         * doc/posix-functions/getc.texi (getc):
2355         * doc/posix-functions/getchar.texi (getchar):
2356         * doc/posix-functions/scanf.texi (scanf):
2357         Mention that glibc and default Solaris do not conform to
2358         C99 and POSIX-2001 or later, with respect to how getchar
2359         etc. behave when feof reports nonzero.
2360
2361 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2362
2363         poll: fix poll(0, NULL, msec)
2364         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
2365         but nfd is 0.  In that case poll should behave like select.
2366
2367 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2368             Paolo Bonzini <bonzini@gnu.org>
2369
2370         poll: fix for systems that can't recv() on a non-socket
2371         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
2372         is readable.  In this case POLLHUP will not be supported.
2373         * doc/posix-functions/poll.texi: Document this.
2374
2375 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
2376
2377         poll/select: document portability problems not fixed by Gnulib.
2378         * doc/posix-functions/poll.texi: poll does not work well on
2379         pipes under Windows.  It has the same limitations as select on
2380         BeOS.
2381         * doc/posix-functions/select.texi: select does not work well
2382         on pipes under Windows.
2383
2384 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
2385
2386         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
2387         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
2388         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
2389         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
2390
2391 2012-09-06  Eric Blake  <eblake@redhat.com>
2392
2393         net_if: give more details about the bug being fixed
2394         * doc/posix-headers/net_if.texi: Add clarification.
2395
2396 2012-09-05  Eric Blake  <eblake@redhat.com>
2397
2398         net_if: new module
2399         * modules/net_if: New module, borrowing ideas from netinet_in.
2400         * m4/net_if_h.m4: New file.
2401         * lib/net_if.in.h: Likewise.
2402         * doc/posix-headers/net_if.texi (net/if.h): Document it.
2403         * MODULES.html.sh (lacking POSIX:2008): Likewise.
2404         * tests/test-net_if.c: Make function checks conditional.
2405         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
2406
2407 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
2408
2409         readutmp: fix non-portable UT_PID use
2410         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
2411         Use `UT_PID (u) > 0' as absolute condition.
2412
2413 2012-09-04  Jim Meyering  <meyering@redhat.com>
2414
2415         fts: reduce two or more trailing spaces to just one, usually
2416         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
2417         or more slashes, trim all but the final one.  But if a name consists
2418         solely of two slashes, don't modify it.  If it consists solely of
2419         three or more slashes, strip all but one.
2420
2421         This is part of the solution to a minor problem with rm:
2422         it would print a bogus ELOOP diagnostic when failing to remove
2423         the slash-decorated name of a symlink-to-directory:
2424
2425             $ mkdir d && ln -s d s && env rm -r s/
2426             rm: cannot remove 's': Too many levels of symbolic links
2427
2428         With the change below and a trivial don't-trim-trailing-slashes
2429         adjustment to remove.c, it does this:
2430
2431             $ env rm -r s/
2432             rm: cannot remove 's/': Not a directory
2433
2434         Improved by: Eric Blake
2435
2436         fts: when there is no risk of overlap, use memcpy, not memmove
2437         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
2438
2439 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2440
2441         stdbool: be more compatible with mixed C/C++ compiles
2442         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
2443         Define to bool, true, false, respectively, as GCC's builtin
2444         stdbool.h does.  Problem reported by Michael Goffioul in
2445         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
2446
2447 2012-08-28  Jim Meyering  <meyering@redhat.com>
2448
2449         revert last change: it was not needed
2450         * tests/test-vc-list-files-git.sh: There's already a test for
2451         a working git, just below.
2452
2453 2012-08-28  Jim Meyering  <meyering@redhat.com>
2454
2455         tests: test-vc-list-files-git.sh: skip if git is not available
2456         * tests/test-vc-list-files-git.sh: Skip this test when git is
2457         not available.
2458
2459 2012-08-26  Bruno Haible  <bruno@clisp.org>
2460
2461         gnulib-tool: Remove no-op option --no-changelog.
2462         * gnulib-tool (func_usage): Don't mention --no-changelog.
2463         (do_changelog): Remove variable.
2464         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2465
2466 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2467
2468         doc: remove fdl-1.2.texi
2469         It is no longer used or maintained, and its use of @acronym
2470         is problematic.  See the thread containing
2471         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
2472         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
2473         * doc/old-licenses/fdl-1.2.texi: Remove.
2474
2475         execinfo: port to FreeBSD
2476         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
2477         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
2478         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
2479         * modules/execinfo (Link): Add $(LIB_EXECINFO).
2480
2481 2012-08-23  Jim Meyering  <meyering@redhat.com>
2482
2483         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
2484         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
2485         to placate gcc's -Wold-style-declaration.
2486
2487 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2488
2489         doc: do not use @acronym
2490         * doc/inet_ntoa.texi (inet_ntoa):
2491         * doc/parse-datetime.texi (Seconds since the Epoch)
2492         (Specifying time zone rules):
2493         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
2494         Don't use @acronym.  Problem reported by John Darlington in
2495         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
2496
2497 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
2498
2499         stdnoreturn: port to newer GCCs
2500         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
2501         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
2502         Problem reported by Jim Meyering in
2503         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
2504         Also, rename the 'test' function to a void a clash with the
2505         already-supplied 'main' function; this fixes a bug that incorrectly
2506         rejected GCC 4.7.1's <stdnoreturn.h>.
2507         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
2508         Document GCC problem.
2509
2510 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
2511
2512         pipe-filter: fix comment typo
2513         * lib/pipe-filter.h: Mention correct function.
2514
2515 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
2516
2517         execinfo: new module
2518         This is for Emacs.  Currently, it provides a no-effect stub
2519         on all platforms where it does not already work.
2520         It already works on glibc-based systems, and on Solaris 11.
2521         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
2522         New files.
2523         * doc/glibc-headers/execinfo.texi (execinfo.h):
2524         * MODULES.html.sh (Misc): Document it.
2525
2526 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
2527
2528         extern-inline: support old GCC 'inline'
2529         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
2530         if available.  This applies to GCC versions 2.7 through 4.2, or
2531         when newer GCC is using -fgnu89-inline.  The goal is to address
2532         some of the performance issues mentioned by Bruno Haible in
2533         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
2534
2535 2012-08-20  Eric Blake  <eblake@redhat.com>
2536
2537         maint.mk: avoid redundant file name in message
2538         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
2539         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
2540         (sc_makefile_path_separator_check): Remove bogus $(ME).
2541
2542 2012-08-20  Mike Frysinger <vapier@gentoo.org>
2543
2544         timer-time: fix link order when static linking on glibc
2545         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
2546         _after_ -lrt so that it's significant.
2547
2548 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
2549
2550         timespec: omit unnecessary AC_C_INLINE
2551         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
2552
2553         stat-time: omit unnecessary AC_C_INLINE
2554         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
2555         Do not require AC_C_INLINE.
2556
2557         ignore-value: omit unnecessary AC_C_INLINE
2558         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
2559
2560         sys_select: avoid 'static inline'
2561         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
2562
2563         mktime: avoid 'static inline'
2564         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
2565         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
2566
2567 2012-08-19  Bruno Haible  <bruno@clisp.org>
2568
2569         gnulib-tool: Improve coding style.
2570         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
2571         func_emit_lib_Makefile_am.
2572         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2573
2574 2012-08-19  Bruno Haible  <bruno@clisp.org>
2575
2576         gnulib-tool: Fix indentation.
2577         * gnulib-tool (func_import): Fix indentation.
2578
2579 2012-08-19  Bruno Haible  <bruno@clisp.org>
2580
2581         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
2582         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
2583         on the list of removed files.
2584
2585 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
2586
2587         test-parse-datetime: avoid glibc leap-second glitch
2588         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
2589         with the 2012 rules.  Problem reported by Bruce Dubbs in
2590         <http://bugs.gnu.org/12206>.
2591
2592 2012-08-14  Bruno Haible  <bruno@clisp.org>
2593
2594         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
2595         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
2596         from argument.
2597         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2598
2599 2012-08-14  Eric Blake  <eblake@redhat.com>
2600
2601         ldexp: relax license
2602         * modules/ldexp (License): Trivial relax, since the module only
2603         provides a permissively licensed m4 file.
2604
2605 2012-08-13  Bruno Haible  <bruno@clisp.org>
2606
2607         gnulib-tool: Fix persistence of --witness-c-macro option.
2608         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
2609         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2610
2611 2012-08-11  Eric Blake  <eblake@redhat.com>
2612
2613         count-leading-zeros: use a lookup table on non-gcc compilers
2614         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
2615         alternate implementation, suggested by Jim Meyering.
2616
2617 2012-08-10  Eric Blake  <eblake@redhat.com>
2618
2619         count-leading-zeros: new module
2620         * modules/count-leading-zeros: New module.
2621         * m4/count-leading-zeros.m4: New file.
2622         * lib/count-leading-zeros.h: Likewise.
2623         * modules/count-leading-zeros-tests: New test.
2624         * tests/test-count-leading-zeros.c: New file.
2625         * MODULES.html.sh (Integer arithmetic functions): Document it.
2626
2627 2012-08-07  Simon Josefsson  <simon@josefsson.org>
2628             Jim Meyering  <meyering@redhat.com>
2629
2630         maintainer-makefile: Fix syntax error with dash.
2631         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
2632         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
2633
2634 2012-08-05  Jim Meyering  <meyering@redhat.com>
2635
2636         extern-inline: also ignore -Wmissing-declarations
2637         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
2638         required with gcc-4.8.0-to-be.
2639
2640         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
2641         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
2642         for /error ?([^,]*)/.  This avoids false-positives for strings like
2643         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
2644
2645 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2646
2647         gnumakefile: better interaction with Automake-NG
2648         * modules/gnumakefile [Makefile.am]: The makefiles generated by
2649         Automake-NG always contain a definition of VPATH, even in non-VPATH
2650         builds (its value being simply '.' in that case).  So, in the
2651         'clean-GNUmakefile' rule, to determine whether running under a
2652         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
2653         '$(VPATH)' expands to the empty string.
2654
2655 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
2656
2657         base64: Use extern C scope in header file, for C++.
2658         * lib/base64.h: Add C++ namespace protection.
2659
2660 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
2661
2662         stat-time, timespec, u64: support naive out-of-dir builds
2663         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
2664         Use '#include "foo.h"', not '#include <foo.h>', when including
2665         one's own interface.  This works better when configuring with
2666         out-of-directory builds, since packages need not add an
2667         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
2668
2669 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
2670
2671         utimens: use extern-inline
2672         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
2673         * lib/utimens.h: Add copyright notice, since this is now large enough
2674         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2675         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
2676         * modules/utimens (Depends-on): Add extern-inline.
2677
2678         u64: use extern-inline
2679         * lib/u64.c: New file.
2680         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2681         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
2682         * modules/u64 (Files): Add lib/u64.c.
2683         (Depends-on): Add extern-inline.
2684         (configure.ac): No need to require AC_C_INLINE, since extern-inline
2685         does that now.
2686         (lib_SOURCES): Add u64.c.
2687
2688         timespec: use extern-inline
2689         * lib/timespec.c: New file.
2690         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2691         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
2692         * modules/timespec (Files): Add lib/timespec.c.
2693         (Depends-on): Add extern-inline.
2694         (lib_SOURCES): Add timespec.c.
2695
2696         stat-time: use extern-inline
2697         * lib/stat-time.c: New file.
2698         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2699         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
2700         * modules/stat-time (Files): Add lib/stat-time.c.
2701         (Depends-on): Add extern-inline.
2702         (lib_SOURCES): Add stat-time.c.
2703
2704         extern-inline: new module
2705         * modules/extern-inline, m4/extern-inline.m4: New files.
2706         This is for better support of 'extern inline' a la ISO C99,
2707         with a portable alternative on compilers that do not support
2708         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
2709         of the Emacs executable, when compiled with debugging disabled,
2710         which is a typical way that Emacs is built while developing.
2711
2712 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
2713
2714         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
2715         * build-aux/do-release-commit-and-tag: Move variable definitions
2716         together.
2717         ($branch): Instead of defaulting to "master", default to the current
2718         branch (as gnu-web-doc-update does).
2719         (help): Display the current values of the option arguments.
2720         * top/maint.mk (release-commit): New.
2721         * top/README-release: Simplify the corresponding step.
2722
2723 2012-07-30  Eric Blake  <eblake@redhat.com>
2724
2725         passfd: fix comment on recvfd
2726         * lib/passfd.c (recvfd): Fix comment.
2727         Reported by Jann Horn <jannhorn@googlemail.com>.
2728
2729 2012-07-30  Jim Meyering  <meyering@redhat.com>
2730
2731         maint.mk: avoid a sub-shell
2732         * top/maint.mk (release-prep): Remove unneeded sub-shell.
2733
2734 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2735
2736         maint.mk: use silent-rules support from Automake
2737         * top/maint.mk (news-check, vc-diff-check, announcement)
2738         (no-submodule-changes, alpha beta stable, release-prep)
2739         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
2740
2741 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2742
2743         maint.mk: provide a web-manual-update target
2744         * top/maint.mk: here.
2745         * top/README-release: Use it to simplify the web manual update step.
2746
2747 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2748
2749         README-release: shorten the circuit to post a news
2750         * top/README-release: Point directly to the news submission form.
2751
2752 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2753
2754         gnu-web-doc-update: fix --help
2755         * build-aux/gnu-web-doc-update: The information "top level" was written
2756         twice.
2757
2758 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
2759
2760         maint.mk: absolute VPATH issue
2761         * top/maint.mk (release-prep): Help Git find .git/.
2762         From Jim Meyering.
2763
2764 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2765
2766         gitlog-to-changelog: fix previous change
2767         * build-aux/gitlog-to-changelog: Fix condition.
2768         Add missing ";".
2769
2770 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2771
2772         gitlog-to-changelog: don't expect .git to be in $srcdir
2773         Reported by Bruno Haible.
2774         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
2775         * build-aux/gitlog-to-changelog (&git_dir_option): New.
2776         Use it.
2777
2778 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
2779
2780         maint.mk: absolute VPATH build fix
2781         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
2782         $(srcdir) is not a parent of $(builddir).
2783
2784 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
2785
2786         clean-temp: Fix memory leak.
2787         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
2788         'files' members of tmpdir.
2789
2790 2012-07-27  Jim Meyering  <meyering@redhat.com>
2791
2792         maint.mk: new rule: refresh-gnulib-patches
2793         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
2794         Use this rule to refresh them.
2795         * top/maint.mk (refresh-gnulib-patches): New rule.
2796
2797 2012-07-24  Bruno Haible  <bruno@clisp.org>
2798
2799         gnulib-tool: Fix handling of inctests variable.
2800         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
2801         Reported by Nick Bowler <nbowler@elliptictech.com>.
2802
2803 2012-07-22  Bruno Haible  <bruno@clisp.org>
2804
2805         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
2806         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
2807         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
2808         Remove exemption for getpass.h.
2809         Suggested by Eric Blake.
2810
2811 2012-07-20  Eric Blake  <eblake@redhat.com>
2812
2813         verify: document conflict with -Wnested-externs
2814         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
2815
2816         maint.mk: forbid exit(-1)
2817         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
2818
2819 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
2820
2821         fsusage: port back to Solaris
2822         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
2823         error (fsd not declared) on Solaris 10.  Reported privately by
2824         Andrew Borodin.
2825
2826 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
2827
2828         gnu-web-doc-update: fix error messages
2829         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
2830
2831         gnu-web-doc-update: check the requirements.
2832         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
2833         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
2834         * build-aux/bootstrap (find_tool): Comment change.
2835
2836 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
2837
2838         maint.mk: minor simplication.
2839         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
2840         for default values.
2841
2842 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
2843
2844         gitlog-to-changelog: VPATH build issues
2845         If builddir is not a subdirectory of srcdir, running git from it will
2846         fail.
2847         * build-aux/gitlog-to-changelog (--srcdir): New option.
2848
2849 2012-07-15  Bruno Haible  <bruno@clisp.org>
2850
2851         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
2852         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
2853         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
2854         Remove exemption for fpending.h.
2855         Suggested by Eric Blake.
2856
2857 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
2858
2859         pthread_sigmask: fix bug on FreeBSD 9
2860         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
2861         Include string.h.
2862         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
2863         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
2864         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
2865         but pthread_sigmask (1729, NULL, NULL) returns zero.
2866         See <http://bugs.gnu.org/11884>.
2867         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
2868         by inspecting whether the main call changed the old mask.
2869
2870 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
2871
2872         README-release: make it more legible
2873         * top/README-release: Improve typography slightly.
2874
2875 2012-07-15  Jim Meyering  <meyering@redhat.com>
2876
2877         maint: require that each sc_... command start with "@"
2878         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
2879         "make sc_maint" helps us avoid this nit.
2880
2881 2012-07-15  Jim Meyering  <meyering@redhat.com>
2882
2883         maint.mk: add leading "@" to quiet new "make syntax-check" rule
2884         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
2885
2886 2012-07-13  Eric Blake  <eblake@redhat.com>
2887
2888         maint.mk: new syntax check for HAVE_DECL checks
2889         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
2890         * cfg.mk
2891         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
2892         Exempt some false positives.
2893         Based on a report by Karel Zak.
2894
2895         argp: make HAVE_DECL usage consistent
2896         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
2897         macros, not whether they are defined.
2898         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
2899         convention with other declaration checks.
2900         Reported by Karel Zak, with suggestions from Paul Eggert.
2901
2902         stat-time: relax license to LGPLv2+
2903         * modules/stat-time (License): Relax, with consent of all authors.
2904
2905         strndup: fix m4 usage error
2906         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
2907         defined, to either 0 or 1.
2908         Reported by Karel Zak.
2909
2910 2012-07-11  Jim Meyering  <meyering@redhat.com>
2911
2912         maint: enable the sc_avoid_if_before_free syntax-check rule
2913         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
2914         (if_before_free_offenders_): Define.
2915         (if_before_free_basename_re_): Define.
2916         Exempt current files with useless if-before-free.
2917
2918 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
2919
2920         gettext: do not assume '#define ... defined ...' behavior
2921         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
2922         Do not use '#define FOO ... defined BAR ...', as the C standard says
2923         it's not portable to expect that this works after macro expansion.
2924         Problem reported for gzip by Steven M. Schweda in
2925         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
2926
2927 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
2928
2929         getloadavg: clean out old Emacs and Autoconf cruft
2930         See Glenn Morris in <http://bugs.gnu.org/11905>.
2931         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
2932         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
2933         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
2934         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
2935
2936 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
2937
2938         bootstrap: let warn be like tests/init.sh's warn_
2939         Reported by Jim Meyering.
2940         * build-aux/bootstrap (warn): Remove, replaced by...
2941         (warnf_, warn_): these.
2942         Adjust callers.
2943         Shorten messages that no longer fit in 80 columns.
2944
2945 2012-07-09  Bruno Haible  <bruno@clisp.org>
2946
2947         getopt: Simplify after Emacs changed.
2948         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
2949         (gl_GETOPT_IFELSE): Remove macro.
2950
2951 2012-07-09  Jim Meyering  <meyering@redhat.com>
2952
2953         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
2954         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
2955
2956         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
2957         Bugs in both of those conspired to make the
2958         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
2959         _sc_search_regexp's handling of non-empty $in_files would filter
2960         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
2961         choice of in_files value meant there would be no match in most
2962         projects, due to the presence of two or more Makefile.in files.
2963         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
2964         Fix a bug in how a non-empty $$in_files was processed:
2965         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
2966         in spite of the name, it's a regexp, not a list of file names.
2967
2968 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
2969
2970         getloadavg, getopt: fix commentary re configure.in
2971         Autoconf is deprecating the name 'configure.in', so change it to
2972         to the new name 'configure.ac' in a couple of places.
2973         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
2974         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
2975         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
2976         Emacs has renamed it to configure.ac, and it no longer refers
2977         to these macros anyway.
2978
2979         timespec: mark functions with const attributes
2980         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
2981         Mark with _GL_ATTRIBUTE_CONST.
2982
2983 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
2984
2985         canonicalize[-lgpl]: handle "guessing" values when cross-building
2986         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
2987         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
2988         matches "*yes" instead of just "yes".  Regression introduced in commit
2989         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
2990
2991 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
2992             Bruno Haible  <bruno@clisp.org>
2993
2994         canonicalize: make the right guess when cross-compiling to GNU
2995         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
2996         determine whether cross-compiling to glibc systems, so as to
2997         include GNU/Hurd.
2998
2999 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3000
3001         timespec-sub: avoid duplicate include
3002         * lib/timespec-sub.c: Do not include <config.h> twice.
3003         Reported by Juanma Barranquero.
3004
3005 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
3006
3007         bootstrap: use a more consistent error reporting scheme
3008         * build-aux/bootstrap (warn, die): New.
3009         Use them.
3010
3011 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
3012
3013         sys_time: allow too-wide tv_sec
3014         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
3015         timeval even if tv_sec is wider than time_t.  This allows
3016         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
3017         as without this patch gnulib replaces struct timeval
3018         and OpenBSD futimes therefore has a type mismatch.
3019         * doc/posix-headers/sys_time.texi: Mention this.
3020
3021         pthread: check for both pthread_create and pthread_join
3022         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
3023         alter the check so that it tests for both pthread_create and
3024         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
3025         Suggested by Bruno Haible and Richard Yao in
3026         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
3027
3028         parse-datetime: doc tuneup
3029         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
3030         spacing issues.
3031
3032 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
3033
3034         do-release-commit-and-tag: fix the previous commit
3035         * build-aux/do-release-commit-and-tag: Actually the test was right,
3036         but the comment and the error message were misleading.
3037         Fix comment, and improve error message.
3038         Perform check first, so that NEWS is not modified uselessly.
3039
3040         do-release-commit-and-tag: fix typo
3041         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
3042         _not_ start with a stub.
3043
3044 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
3045
3046         pthread: check for pthread_create, not pthread_join
3047         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
3048         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
3049         pthread_join in libc.  I hope this removes the need for all the
3050         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
3051         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
3052
3053 2012-07-04  Jim Meyering  <meyering@redhat.com>
3054
3055         parse-datetime: fix failure to diagnose invalid input
3056         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
3057         rather than diagnosing the invalid input.  Now it reports this:
3058         date: invalid date '\260'
3059         * lib/parse-datetime.y (to_uchar): Define.
3060         (yylex): Don't sign-extend "other" bytes.
3061         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
3062         Thanks to Bruno Haible for the patch to this file.
3063         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
3064         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
3065
3066 2012-07-03  Jim Meyering  <meyering@redhat.com>
3067
3068         bootstrap: do not require now-removed build-aux/missing
3069         Now that build-aux/missing is, er, missing, bootstrap would
3070         silently fail.
3071         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
3072         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
3073         no longer part of gnulib.
3074         Diagnose the failure.
3075
3076 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
3077
3078         alloca: add support for HP NonStop TNS/E native
3079         * lib/alloca.in.h (alloca): Support the new host.
3080         From a suggestion by Joachim Schmitz in
3081         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
3082
3083 2012-07-02  Pádraig Brady  <P@draigBrady.com>
3084
3085         fsusage: remove code not needed on non GNU/Linux systems.
3086
3087         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3088         Don't include headers no longer needed in this case.
3089         * lib/fsusage.c [STAT_STATVFS &&
3090         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
3091         STAT_STATFS2_FRSIZE to exclude code not used in this case.
3092
3093 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
3094
3095         fsusage: include files needed for glibc 2.6 fallback
3096         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3097         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
3098         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
3099         Problem reported by Ludovic Courtès in
3100         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
3101
3102         fsusage: avoid needless check on GNU/Linux
3103         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
3104         on GNU/Linux systems, since it can't possibly work.
3105
3106 2012-07-01  Bruno Haible  <bruno@clisp.org>
3107
3108         log: Fix an autoconf >= 2.64 warning.
3109         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
3110         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3111
3112 2012-06-28  Bruno Haible  <bruno@clisp.org>
3113
3114         log10f: Fix possible configuration problem.
3115         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
3116         $LOGF_LIBM.
3117         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3118
3119 2012-06-28  Bruno Haible  <bruno@clisp.org>
3120
3121         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
3122         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
3123         not gl_cv_func_unlink_works.
3124         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3125
3126 2012-06-27  Eric Blake  <eblake@redhat.com>
3127
3128         config: drop scripts that automake says are not independent
3129         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
3130         * build-aux/elisp-comp: Delete.
3131         * build-aux/missing: Likewise.
3132         * build-aux/ylwrap: Likewise.
3133         * modules/elisp-comp: Likewise.
3134         * MODULES.html.sh: Drop mention of elisp-comp.
3135         * NEWS: Mention this.
3136
3137 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
3138
3139         root-uid: new module
3140         This is for portability to Tandem's NonStop Kernel.
3141         * lib/root-uid.h, modules/root-uid: New files.
3142         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
3143         * lib/write-any-file.c, tests/test-sethostname2.c:
3144         Include "root-uid.h".
3145         * lib/euidaccess.c (euidaccess):
3146         * lib/pt_chown.c (main):
3147         * lib/unlinkdir.c (cannot_unlink_dir):
3148         * lib/write-any-file.c (can_write_any_file):
3149         * m4/mknod.m4 (gl_FUNC_MKNOD):
3150         * tests/test-sethostname2.c (geteuid, main):
3151         Don't assume ROOT_UID == 0.
3152         * modules/euidaccess (Depends-on):
3153         * modules/pt_chown (Depends-on):
3154         * modules/sethostname-tests (Depends-on):
3155         * modules/unlinkdir (Depends-on):
3156         * modules/write-any-file (Depends-on):
3157         Add root-uid.
3158
3159         regex: use locale-independent comparison for codeset name
3160         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
3161         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
3162         for codeset name.
3163         * lib/regex_internal.h: Do not include <strings.h>, since we
3164         no longer use strcasecmp.
3165         * modules/regex (Depends-on): Remove strcase.
3166
3167 2012-06-23  Bruno Haible  <bruno@clisp.org>
3168
3169         getopt-posix: No longer guarantee that option processing is resettable.
3170         * doc/posix-functions/getopt.texi: Drop description of problem with
3171         internal state. Fix info about mingw and msvc9.
3172         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
3173         option processing by getopt(). Run three test programs instead of one.
3174         Simplify cross-compilation guess.
3175         * NEWS: Mention the change.
3176         Reported by Rich Felker <dalias@aerifal.cx>.
3177
3178 2012-06-26  Bruno Haible  <bruno@clisp.org>
3179
3180         argp, regex: Ensure strcasecmp gets declared.
3181         * lib/argp-help.c: Include <strings.h>.
3182         * lib/regex_internal.h: Likewise.
3183         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
3184
3185 2012-06-24  Bruno Haible  <bruno@clisp.org>
3186
3187         ptsname_r: Make it consistent with ptsname on AIX.
3188         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
3189         implementation as for OSF/1.
3190         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
3191         a pty master.
3192
3193         ptsname_r: Make it consistent with ptsname on OSF/1.
3194         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3195         OSF/1.
3196
3197 2012-06-24  Bruno Haible  <bruno@clisp.org>
3198
3199         ttyname_r: Fix result on OSF/1, Solaris.
3200         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
3201
3202 2012-06-24  Bruno Haible  <bruno@clisp.org>
3203
3204         ptsname_r: Add support for Solaris.
3205         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3206         Solaris.
3207
3208         ptsname_r: Fix test failure on native Windows.
3209         * modules/ptsname_r (Depends-on): Add isatty.
3210
3211         ptsname_r: Fix test failures on IRIX, Solaris.
3212         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
3213         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
3214         accordingly.
3215         * lib/ptsname_r.c: Include <fcntl.h>.
3216         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
3217         set errno if fd is invalid.
3218         * tests/test-isatty.c (main): Update comments.
3219
3220 2012-06-24  Bruno Haible  <bruno@clisp.org>
3221
3222         ptsname test: Extend test.
3223         * tests/test-ptsname.c: Include <errno.h>.
3224         (main): Test behaviour with invalid file descriptor.
3225
3226 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
3227
3228         time: fix obsolete comment
3229         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
3230         reference to HAVE_STRUCT_TIMESPEC in comment.
3231
3232 2012-06-23  Bruno Haible  <bruno@clisp.org>
3233
3234         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
3235         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
3236         does not handle abbreviated long options with equivalent
3237         disambiguations, set gl_replace_getopt to yes.
3238         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
3239
3240 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
3241
3242         time_r: fix typo that always overrode localtime_r decl
3243         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
3244         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
3245         not in a standard include.
3246
3247 2012-06-22  Bruno Haible  <bruno@clisp.org>
3248
3249         Write "Mac OS X" instead of "MacOS X".
3250         * README: Write "Mac OS X" instead of "MacOS X".
3251         * build-aux/bootstrap: Likewise.
3252         * build-aux/install-reloc: Likewise.
3253         * lib/acl-internal.h: Likewise.
3254         * lib/acl_entries.c: Likewise.
3255         * lib/argp-ba.c: Likewise.
3256         * lib/argp-pv.c: Likewise.
3257         * lib/config.charset: Likewise.
3258         * lib/copy-acl.c: Likewise.
3259         * lib/csharpexec.c: Likewise.
3260         * lib/euidaccess.c: Likewise.
3261         * lib/fbufmode.c: Likewise.
3262         * lib/fflush.c: Likewise.
3263         * lib/file-has-acl.c: Likewise.
3264         * lib/filemode.h: Likewise.
3265         * lib/fpurge.c: Likewise.
3266         * lib/freadable.c: Likewise.
3267         * lib/freadahead.c: Likewise.
3268         * lib/freading.c: Likewise.
3269         * lib/freadptr.c: Likewise.
3270         * lib/freadseek.c: Likewise.
3271         * lib/fseeko.c: Likewise.
3272         * lib/fseterr.c: Likewise.
3273         * lib/fsusage.c: Likewise.
3274         * lib/fwritable.c: Likewise.
3275         * lib/fwriting.c: Likewise.
3276         * lib/get-rusage-as.c: Likewise.
3277         * lib/get-rusage-data.c: Likewise.
3278         * lib/getdomainname.c: Likewise.
3279         * lib/idpriv-drop.c: Likewise.
3280         * lib/idpriv-droptemp.c: Likewise.
3281         * lib/localcharset.c: Likewise.
3282         * lib/locale.in.h: Likewise.
3283         * lib/localename.c: Likewise.
3284         * lib/mbsrtowcs-state.c: Likewise.
3285         * lib/nproc.c: Likewise.
3286         * lib/passfd.c: Likewise.
3287         * lib/posix_openpt.c: Likewise.
3288         * lib/printf-parse.c: Likewise.
3289         * lib/progreloc.c: Likewise.
3290         * lib/safe-read.h: Likewise.
3291         * lib/safe-write.h: Likewise.
3292         * lib/sched.in.h: Likewise.
3293         * lib/set-mode-acl.c: Likewise.
3294         * lib/signal.in.h: Likewise.
3295         * lib/stdint.in.h: Likewise.
3296         * lib/stdio-impl.h: Likewise.
3297         * lib/stdlib.in.h: Likewise.
3298         * lib/strtod.c: Likewise.
3299         * lib/sys_select.in.h: Likewise.
3300         * lib/tcgetsid.c: Likewise.
3301         * lib/unistd.in.h: Likewise.
3302         * lib/unlockpt.c: Likewise.
3303         * lib/vasnprintf.c: Likewise.
3304         * lib/vma-iter.c: Likewise.
3305         * lib/wcsrtombs-state.c: Likewise.
3306         * m4/acl.m4: Likewise.
3307         * m4/acosl.m4: Likewise.
3308         * m4/asinl.m4: Likewise.
3309         * m4/atanl.m4: Likewise.
3310         * m4/c-stack.m4: Likewise.
3311         * m4/cosl.m4: Likewise.
3312         * m4/expl.m4: Likewise.
3313         * m4/extensions.m4: Likewise.
3314         * m4/fdatasync.m4: Likewise.
3315         * m4/fmal.m4: Likewise.
3316         * m4/frexp.m4: Likewise.
3317         * m4/frexpf.m4: Likewise.
3318         * m4/frexpl.m4: Likewise.
3319         * m4/fsusage.m4: Likewise.
3320         * m4/getdomainname.m4: Likewise.
3321         * m4/getloadavg.m4: Likewise.
3322         * m4/getopt.m4: Likewise.
3323         * m4/gettext.m4: Likewise.
3324         * m4/gnulib-common.m4: Likewise.
3325         * m4/intdiv0.m4: Likewise.
3326         * m4/intlmacosx.m4: Likewise.
3327         * m4/largefile.m4: Likewise.
3328         * m4/ldexpl.m4: Likewise.
3329         * m4/link-follow.m4: Likewise.
3330         * m4/locale-ar.m4: Likewise.
3331         * m4/locale-fr.m4: Likewise.
3332         * m4/locale-ja.m4: Likewise.
3333         * m4/locale-tr.m4: Likewise.
3334         * m4/locale-zh.m4: Likewise.
3335         * m4/locale_h.m4: Likewise.
3336         * m4/lock.m4: Likewise.
3337         * m4/logl.m4: Likewise.
3338         * m4/mathfunc.m4: Likewise.
3339         * m4/minus-zero.m4: Likewise.
3340         * m4/mktime.m4: Likewise.
3341         * m4/mmap-anon.m4: Likewise.
3342         * m4/multiarch.m4: Likewise.
3343         * m4/nanosleep.m4: Likewise.
3344         * m4/nocrash.m4: Likewise.
3345         * m4/poll.m4: Likewise.
3346         * m4/printf-frexpl.m4: Likewise.
3347         * m4/printf.m4: Likewise.
3348         * m4/signbit.m4: Likewise.
3349         * m4/sinl.m4: Likewise.
3350         * m4/sqrtl.m4: Likewise.
3351         * m4/strerror_r.m4: Likewise.
3352         * m4/tanl.m4: Likewise.
3353         * m4/threadlib.m4: Likewise.
3354         * m4/ttyname_r.m4: Likewise.
3355         * m4/unlink.m4: Likewise.
3356         * m4/visibility.m4: Likewise.
3357         * m4/wcwidth.m4: Likewise.
3358         * tests/minus-zero.h: Likewise.
3359         * tests/test-alloca-opt.c: Likewise.
3360         * tests/test-copy-acl.sh: Likewise.
3361         * tests/test-copy-file.sh: Likewise.
3362         * tests/test-fdatasync.c: Likewise.
3363         * tests/test-file-has-acl.sh: Likewise.
3364         * tests/test-flock.c: Likewise.
3365         * tests/test-fsync.c: Likewise.
3366         * tests/test-localename.c: Likewise.
3367         * tests/test-malloca.c: Likewise.
3368         * tests/test-nonblocking-pipe.h: Likewise.
3369         * tests/test-nonblocking-socket.h: Likewise.
3370         * tests/test-openpty.c: Likewise.
3371         * tests/test-posix_openpt.c: Likewise.
3372         * tests/test-ptsname.c: Likewise.
3373         * tests/test-ptsname_r.c: Likewise.
3374         * tests/test-sameacls.c: Likewise.
3375         * tests/test-select.h: Likewise.
3376         * tests/test-set-mode-acl.sh: Likewise.
3377         * tests/test-snprintf-posix.h: Likewise.
3378         * tests/test-sprintf-posix.h: Likewise.
3379         * tests/test-strtod.c: Likewise.
3380         * tests/test-time.c: Likewise.
3381         * tests/test-vasnprintf-posix.c: Likewise.
3382         * tests/test-vasprintf-posix.c: Likewise.
3383         * doc/acl-resources.txt: Likewise.
3384         * doc/**/*.texi: Likewise.
3385         Reported by Max Horn <max@quendi.de>.
3386
3387 2012-06-22  Bruno Haible  <bruno@clisp.org>
3388
3389         grantpt: Relax requirement regarding invalid file descriptors.
3390         * lib/grantpt.c: Don't include <fcntl.h>.
3391         (grantpt): Don't verify the validity of the file descriptor.
3392         * modules/grantpt (Depends-on): Remove fcntl-h.
3393         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
3394         file descriptors.
3395         * doc/posix-functions/grantpt.texi: Document more platforms on which
3396         grantpt succeeds for invalid file descriptors.
3397         Reported by Rich Felker <dalias@aerifal.cx>.
3398
3399 2012-06-22  Bruno Haible  <bruno@clisp.org>
3400
3401         fbufmode test: Don't test unportable behaviour.
3402         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
3403         (main): Invoke it three times.
3404         Reported by Szabolcs Nagy <nsz@port70.net>
3405         and Rich Felker <dalias@aerifal.cx>.
3406
3407 2012-06-21  Bruno Haible  <bruno@clisp.org>
3408
3409         gnulib-tool: Refactor inctests variable.
3410         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
3411         (func_modules_transitive_closure,
3412         func_modules_transitive_closure_separately,
3413         func_import, func_create_testdir): Update.
3414
3415         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
3416         * gnulib-tool: Accept option --without-tests.
3417         (func_usage): Document --without-tests option. Rearrange.
3418         (inctests): Normalize according to the mode.
3419         * NEWS: Mention the change.
3420         Suggested by Simon Josefsson.
3421
3422 2012-06-21  Bruce Korb  <bkorb@gnu.org>
3423
3424         parse-duration test: Avoid spurious output.
3425         * tests/test-parse-duration.sh: Reindent with leading tabs.
3426
3427 2012-06-21  Jim Meyering  <meyering@redhat.com>
3428
3429         maint: disable the strncpy prohibition
3430         * cfg.mk: Do not prohibit strncpy here.
3431
3432 2012-06-21  Bruno Haible  <bruno@clisp.org>
3433
3434         nonblocking: Avoid compilation error on mingw64.
3435         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
3436         fscanf.
3437         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
3438         * modules/vfscanf (configure.ac): Likewise.
3439         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
3440         definition only if stdio.h has prepared it.
3441         Reported by Daniel P. Berrange <berrange@redhat.com>.
3442
3443 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
3444
3445         gnulib-tool: Use readlink if it is available.
3446         * gnulib-tool (func_readlink): Choose function more appropriately.
3447
3448 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
3449
3450         posixtm-tests: port to buggy compiler
3451         Problem reported by Simon Josefsson in
3452         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
3453         * modules/posixtm-tests (Depends-on): Add stdint.
3454         * tests/test-posixtm.c (struct posixtm_test.t_expected):
3455         Now of type int_least64_t, not int64_t, both because that's
3456         what INT64_C returns and because int_least64_t works even
3457         on 72-bit hosts.
3458         (T): Use INT64_C on constants outside the traditional int range,
3459         to work around compiler bug noted by Simon.
3460
3461         mktime: fix integer overflow in 'configure'-time test
3462         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
3463         after integer overflow.  Problem reported by Rich Felker in
3464         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
3465         Also, don't look for further instances of a bug if we've already
3466         found one instance; this helps 'configure' run faster.
3467
3468 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
3469
3470         tmpfile, clean-temp: Fix invocation of GetVersionEx.
3471         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
3472         GetVersionEx correctly.
3473         * lib/clean-temp.c (supports_delete_on_close): Likewise.
3474
3475 2012-06-20  Bruno Haible  <bruno@clisp.org>
3476
3477         fdopen: Allow implementations that don't reject invalid fd arguments.
3478         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
3479         succeeds.
3480         Reported by Rich Felker <dalias@aerifal.cx>.
3481
3482 2012-06-20  Simon Josefsson  <simon@josefsson.org>
3483
3484         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
3485         bring in LIBINTL.
3486
3487 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
3488
3489         init.sh: do not rely on autoupated PWD
3490         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
3491         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
3492         Although Nelson's bug was not necessarily fixed by this patch,
3493         it seems wise to make the change for safety.
3494         * tests/init.sh (path_prepend_): Do not rely on PWD updating
3495         automagically after 'cd'; this is not reliable on older shells.
3496         (setup_): Fail if we cannot cd to temporary directory.
3497
3498 2012-06-19  Bruno Haible  <bruno@clisp.org>
3499
3500         stat, fstat: Avoid warnings on mingw64.
3501         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
3502         redefining.
3503         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
3504         Reported by Daniel P. Berrange <berrange@redhat.com>.
3505
3506 2012-06-19  Bruno Haible  <bruno@clisp.org>
3507
3508         stdioext: Add support for musl libc.
3509
3510         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
3511         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
3512
3513         * m4/fseterr.m4: New file.
3514         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
3515         function exists.
3516         * modules/fseterr (Files): Add m4/fseterr.m4.
3517         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
3518         __fseterr does not exist.
3519         (Makefile.am): Remove fseterr.c from lib_SOURCES.
3520
3521         * lib/freadable.h: Update comment.
3522
3523         * lib/fwritable.h: Update comment.
3524
3525         * lib/freading.h: Update comment.
3526
3527         * lib/fwriting.h: Update comment.
3528
3529         * m4/freadahead.m4: New file.
3530         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
3531         that function exists.
3532         * modules/freadahead (Files): Add m4/freadahead.m4.
3533         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
3534         __freadahead does not exist.
3535         (Makefile.am): Remove freadahead.c from lib_SOURCES.
3536
3537         * m4/freadptr.m4: New file.
3538         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
3539         function exists.
3540         * modules/freadptr (Files): Add m4/freadptr.m4.
3541         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
3542         __freadptr does not exist.
3543         (Makefile.am): Remove freadptr.c from lib_SOURCES.
3544
3545         * m4/freadseek.m4: New file.
3546         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
3547         exists.
3548         * modules/freadseek (Files): Add m4/freadseek.m4.
3549         (configure.ac): Invoke gl_FUNC_FREADSEEK.
3550
3551         * lib/fpurge.c (fpurge): Update comment.
3552
3553         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
3554
3555 2012-06-19  Bruno Haible  <bruno@clisp.org>
3556
3557         *printf-posix: Put more info into config.log.
3558         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
3559         exit code into config.log.
3560
3561 2012-06-19  Bruno Haible  <bruno@clisp.org>
3562
3563         getopt-gnu: Fix exit code overflow in autoconf test.
3564         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
3565         to keep them below < 128.
3566
3567 2012-06-17  Jim Meyering  <meyering@redhat.com>
3568
3569         maint.mk: fix typo in code to derive GPG key at release time
3570         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
3571
3572 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
3573
3574         regex: avoid warning when pointers are not long
3575         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
3576         and uintptr_t, not long, for portability to hosts where pointers and
3577         long have different sizes.  Issue noted by Daniel P. Berrange in
3578         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
3579         and fix suggested by Bruno Haible in
3580         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
3581
3582 2012-06-17  Bruno Haible  <bruno@clisp.org>
3583
3584         dummy: Relicense into the public domain.
3585         * modules/dummy (License): Set to "public domain".
3586         Suggested by Reuben Thomas.
3587
3588 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3589
3590         announce-gen: VPATH issues
3591         * build-aux/announce-gen (--srcdir): New option, used to trim the
3592         $srcdir part of the path from $builddir to NEWS.
3593         * top/maint.mk (announcement): Adjust.
3594
3595 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3596
3597         gnu-web-doc-update: VPATH builds
3598         * build-aux/gnu-web-doc-update (--builddir): New option.
3599         Revamp the handling of options.
3600         Prefer $(...) to `...`.
3601         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
3602         the template, and it is GNU mktemp specific.
3603         Prefer set -e to long series of &&.
3604         Restore the initial git branch, not "master".
3605         Properly initialize submodules (don't rely only on bootstrap).
3606         Do not reconfigure blindly, use config.status.
3607         * top/README-release: Update instructions for gnu-web-doc-update.
3608
3609 2012-06-11  Jim Meyering  <meyering@redhat.com>
3610
3611         maint.mk: revert most of the previous change re "all these"
3612         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
3613         For rationale, see the discussion at
3614         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
3615
3616 2012-06-10  Karl Berry  <karl@gnu.org>
3617
3618         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
3619
3620         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
3621
3622 2012-06-10  Bruce Korb  <bkorb@gnu.org>
3623
3624         parse-duration: Relicense under LGPLv2+.
3625         * modules/parse-duration (License): Change to LGPLv2+.
3626
3627 2012-06-10  Jim Meyering  <meyering@redhat.com>
3628
3629         maint.mk: prohibit common grammar error: "all these"
3630         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
3631         the list of prohibited word sequences.  It should be "all of these".
3632         * lib/tempname.c (__gen_tempname): Fix one of them.
3633
3634 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3635
3636         do-release-commit-and-tag: support VPATH builds
3637         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
3638         (noteworthy): Defined earlier to factor its value.
3639         (noteworthy_stub): New.
3640         Use it to factor.
3641         (help_version): Split into...
3642         (help, version): these.
3643         Adjust the option processing part.
3644         Support "--option=value" in addition to "--option value".
3645         (builddir): New.
3646         (--builddir): New option.
3647         * top/README-release: Document this.
3648         Reword slightly so that the reader cannot understand that he
3649         has to do these steps before calling do-release-commit-and-tag.
3650
3651 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3652
3653         readme-release: also require announce-gen and maintainer-makefile
3654         * modules/readme-release (Depends-on): here.
3655         * modules/announce-gen, modules/do-release-commit-and-tag,
3656         modules/gnu-web-doc-update, modules/maintainer-makefile
3657         (Description): Point to readme-release.
3658
3659 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3660
3661         maint.mk: fix VPATH issues.
3662         * top/maint.mk (news-check): GNU Make understand $< very well.
3663         (release-prep): NEWS is in $(srcdir).
3664
3665 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
3666
3667         readme-release: require the promoted modules.
3668         * modules/readme-release (Depends-on): Add
3669         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
3670         in this text.
3671
3672 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3673             Bruno Haible  <bruno@clisp.org>
3674
3675         error, strerror-override: Support mingw64 from Fedora 17.
3676         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
3677         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
3678         EINPROGRESS.
3679         * lib/strerror-override.h (strerror_override): Test it.
3680         * lib/strerror-override.c (strerror_override): Likewise.
3681         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
3682
3683 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3684             Bruno Haible  <bruno@clisp.org>
3685
3686         error, strerror-override: Support mingw64 from Fedora 17.
3687         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
3688         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
3689         * lib/strerror-override.h (strerror_override): Test it.
3690         * lib/strerror-override.c (strerror_override): Likewise.
3691
3692 2012-06-03  Bruno Haible  <bruno@clisp.org>
3693
3694         error, strerror-override: Support new errno values from POSIX:2008.
3695         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
3696         ENOTRECOVERABLE.
3697         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
3698         platforms.
3699         * lib/strerror-override.c (strerror_override): Conditionalize the
3700         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
3701         * lib/strerror-override.h (strerror_override): Declare also if
3702         GNULIB_defined_EOWNERDEAD is defined.
3703         * tests/test-errno.c (e130, e131): New variables.
3704         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
3705         ENOTRECOVERABLE.
3706         Reported by Paolo Bonzini.
3707
3708 2012-05-31  Jim Meyering  <meyering@redhat.com>
3709
3710         savewd: add missing dependency on sys_wait module
3711         * modules/savewd (Depends-on): Add sys_wait, needed at least
3712         for MSVC.  Report and suggested change by Michael Goffioul.
3713
3714 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
3715
3716         system-quote-tests: port to CentOS 5
3717         Problem reported by Tom G. Christensen in
3718         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
3719         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
3720
3721 2012-05-29  Jim Meyering  <meyering@redhat.com>
3722
3723         maint: fix typos in comments and ChangeLog
3724         Culprits identified and fixed mostly automatically using these commands:
3725         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
3726         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
3727         using http://github.com/lyda/misspell-check
3728         * ChangeLog: Fix typos.
3729         * doc/solaris-versions: Likewise.
3730         * lib/regexec.c (re_search_stub): Likewise.
3731         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
3732
3733 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
3734
3735         manywarnings: remove duplicate -Wmultichar entry
3736         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
3737         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
3738         so keep the entry marked as documented.
3739
3740 2012-05-27  Karl Berry  <karl@gnu.org>
3741
3742         * config/srclist.txt (mktime.c): remove last libc sync,
3743         perhaps just temporarily.
3744
3745 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
3746
3747         regex: don't assume uint64_t or uint32_t
3748         * lib/regcomp.c (init_word_char): Don't assume that the types
3749         uint64_t and uint32_t exist.  The C standard doesn't guarantee
3750         them, and on some 32-bit compilers there is no uint64_t.
3751         Problem reported by Gianluigi Tiesi in
3752         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
3753
3754 2012-05-25  Jim Meyering  <meyering@redhat.com>
3755
3756         maint.mk: add strncpy-prohibiting syntax-check rule
3757         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
3758
3759 2012-05-24  Jim Meyering  <meyering@redhat.com>
3760
3761         maint.mk: compute $(gpg_key_ID) more portably
3762         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
3763         That use of sed is not portable to some fringe systems.
3764         Reported by Paul Eggert in
3765         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
3766
3767 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
3768
3769         mktime: sync from glibc
3770         * config/srclist.txt: Uncomment mktime.c.
3771         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
3772         First, indent with tabs, since glibc uses tabs and doesn't want to
3773         change and we'd rather be identical to glibc.  Also, two small
3774         coding changes:
3775         (isdst_differ): Use &&, not &, as && is the usual style.
3776         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
3777         for clarity.
3778
3779 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3780
3781         announce-gen: du -h is more portable than du --human
3782         * build-aux/announce-gen (sizes): Invoke du with -h instead
3783         of --human.  Accept leading white space in its output.
3784
3785 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3786
3787         announce-gen: Improve diagnostics.
3788         * build-aux/announce-gen: When parsing command line options,
3789         prefer "announce-gen: option --release-type requires an argument"
3790         to "Option release-type requires an argument".
3791
3792 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
3793
3794         maint.mk: gpg_key_ID: use sed more portably
3795         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
3796         the closing brace.
3797         (refresh-po): Fuse two sed invocations into one.
3798
3799 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
3800
3801         gitlog-to-changelog: support the log message format used in Bison.
3802         * build-aux/gitlog-to-changelog: Support --strip-tab and
3803         --strip-cherry-picked.
3804
3805 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3806
3807         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
3808         the rest of the current time slice to another thread in the current
3809         process. So if the thread that feeds the file decscriptor we're
3810         polling is not in the current process, we get busy-waiting.
3811         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
3812         Patch from Theodore Leblond.
3813         * lib/select.c: Split polling out of the loop that sets the output
3814         fd_sets.  Check for zero result and loop if the wait timeout is
3815         infinite.
3816
3817 2012-05-21  Simon Josefsson  <simon@josefsson.org>
3818
3819         select: Fix build error on IRIX 6.5.
3820         * lib/select.c: Include stddef.h for NULL.
3821
3822 2012-05-21  Simon Josefsson  <simon@josefsson.org>
3823
3824         gc: fix libgcrypt detection on older machines.
3825         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
3826         copyright years because the file has been distributed every year
3827         since it was created.
3828
3829 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
3830
3831         crypto: fix bug in large buffer handling
3832         Problem reported by Serge Belyshev for glibc in
3833         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
3834         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
3835         * lib/md4.c (md4_process_block):
3836         * lib/md5.c (md5_process_block):
3837         * lib/sha1.c (sha1_process_block):
3838         * lib/sha256.c (sha256_process_block):
3839         Don't assume the buffer length is less than 2**32.
3840         * lib/sha512.c (sha512_process_block): Likewise.
3841         Here, the bug is present only in the rare case where the host does
3842         not support uint64_t or where size_t is wider than 64 bits.
3843         Use u64size to work around the problems.
3844         * lib/u64.h (u64size): New macro.
3845
3846 2012-05-15  Pádraig Brady  <P@draigBrady.com>
3847
3848         fsusage: fix block size returned on older Linux 2.6
3849
3850         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
3851         which is available since Linux 2.6.
3852         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
3853         when the member is available so it can be used as a fallback.
3854         * doc/posix-functions/statvfs.texi: Mention the hang issue
3855         on Linux < 2.6.36.
3856
3857 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
3858
3859         bootstrap: suppress stderr chatter
3860         * build-aux/bootstrap (insert_sorted_if_absent, main program):
3861         Omit unnecessary chatter to stderr.  The main program chatter
3862         was there only inadvertantly.
3863
3864         bootstrap: .gitignore files created by autopoint, libtool
3865         I ran into this problem when bootstrapping the latest diffutils.
3866         After './bootstrap', 'git status' reported lots of untracked files
3867         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
3868         autopoint and do not need to be version-controlled.
3869         * build-aux/bootstrap: Put into .gitignore the files that
3870         autopoint and libtool create, by keeping track of files that exist
3871         after but not before these programs are run.
3872         (version_controlled_file): Move up.  2nd arg is now full file
3873         name, not base name; this is more convenient.  Put CVS at the end,
3874         as it's now somewhat deprecated.
3875
3876 2012-05-14  Jim Meyering  <meyering@redhat.com>
3877
3878         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
3879         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
3880         definition.  Reported by Bruno Haible.
3881
3882 2012-05-13  Bruno Haible  <bruno@clisp.org>
3883             Paul Eggert  <eggert@cs.ucla.edu>
3884
3885         binary-io: Define set_binary_mode function.
3886         * lib/binary-io.h (set_binary_mode): New function.
3887         (SET_BINARY): Define in terms of set_binary_mode.
3888         * modules/binary-io (configure.ac): Require AC_C_INLINE.
3889         * tests/test-binary-io.c (main): Accept an argument, and test either
3890         set_binary_mode or SET_BINARY depending on the argument.
3891         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
3892         argument. Clean up also t-bin-out0.tmp.
3893
3894 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
3895
3896         bootstrap: take advantage of POSIX shell features
3897
3898         The 'bootstrap' script offered by Gnulib script already uses POSIX
3899         shell features (like $((...)) arithmetic expansions) that are not
3900         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
3901         means that bootstrap must already be run using a proper POSIX shell,
3902         which will thus provide more features, like ${var#pattern} parameter
3903         expansion or inversion of a command exit status with '!'.  We can
3904         thus use these features to improve the clarity and the performances
3905         of the bootstrap script.
3906
3907         Suggested by Eric Blake.
3908
3909         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
3910         of sed/expr plus command substitutions, to save some forks.  While
3911         we are at it, prefer the POSIX $(...) form of command substitution,
3912         rather than the legacy form `...` (since the former is visually
3913         clearer and interacts better with quoting), and prefer the idiom:
3914           "if ! CMD; then ACTION ..."
3915         over the idiom:
3916           "if CMD; then :; else ACTION ..."
3917         which was required by legacy Bourne shells not supporting '!'.
3918
3919 2012-05-12  Bruno Haible  <bruno@clisp.org>
3920
3921         system-quote: Add more comments.
3922         * lib/system-quote.h: Add more comments about wilcards and limitations.
3923         Suggested by Eli Zaretskii <eliz@gnu.org>.
3924
3925         sh-quote, system-quote: Add comments about wildcards.
3926         * lib/sh-quote.h: Clarify what happens with wildcard characters.
3927         * lib/system-quote.h: Likewise.
3928         Reported by Eli Zaretskii <eliz@gnu.org>.
3929
3930 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
3931
3932         fsusage: check for GNU/Linux statvfs problem dynamically
3933         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
3934         Define STAT_STATFS2_BSIZE too, since in this case the code now
3935         checks dynamically whether statvfs is reliable, falling back on
3936         Linux-style statfs otherwise.
3937         (statvfs_works): New function, for dynamically testing statvfs.
3938         (get_fs_usage) [STAT_STATVFS]: Use it.
3939         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
3940         statvfs on GNU/Linux hosts, since it's now done dynamically.
3941
3942 2012-05-10  Bruno Haible  <bruno@clisp.org>
3943
3944         system-quote, execute, spawn-pipe: Escape '?' on Windows.
3945         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
3946         '?' character.
3947         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
3948         * tests/test-system-quote-main.c (check_all): Check also strings like
3949         "??????????".
3950         Reported by Eli Zaretskii <eliz@gnu.org>.
3951
3952 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
3953
3954         _Noreturn: port config.h to gcc -Wundef
3955         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
3956         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
3957         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
3958
3959 2012-05-10  Bruno Haible  <bruno@clisp.org>
3960
3961         system-quote: Refactor.
3962         * lib/system-quote.h (system_quote_copy): Fix comment.
3963         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
3964         New functions, extracted from system_quote_copy.
3965         (system_quote_length, system_quote_copy): Use these functions.
3966         Reported by Paul Eggert.
3967
3968 2012-05-08  Bruno Haible  <bruno@clisp.org>
3969
3970         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
3971         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
3972
3973 2012-05-08  Bruno Haible  <bruno@clisp.org>
3974
3975         Tests for module 'system-quote'.
3976         * modules/system-quote-tests: New file.
3977         * tests/test-system-quote.sh: New file.
3978         * tests/test-system-quote-main.c: New file.
3979         * tests/test-system-quote-child.c: New file.
3980
3981         New module 'system-quote'.
3982         * lib/system-quote.h: New file.
3983         * lib/system-quote.c: New file.
3984         * modules/system-quote: New file.
3985
3986 2012-05-08  Bruno Haible  <bruno@clisp.org>
3987
3988         sh-quote: Make C++ safe and allow multiple inclusion.
3989         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
3990         declarations in extern "C".
3991
3992 2012-05-08  Bruno Haible  <bruno@clisp.org>
3993
3994         sh-quote tests: Make tests stricter.
3995         * tests/test-sh-quote.c (check_one): Check the return value of
3996         shell_quote_copy.
3997         (main): Check a string with a CR character. Check a string that
3998         contains UCHAR_MAX.
3999
4000 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
4001
4002         warnings.m4: provide a means to specify the program to compile.
4003         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
4004         (gl_WARN_ADD): here.
4005         Use gl_AS_VAR_APPEND.
4006         Support an argument to specify the program to compile.
4007         (gl_WARN_ADD): Accept an argument to specify the program to compile.
4008         AC_SUBST the WARN_CFLAGS when they are used.
4009         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
4010         leave this to gl_WARN_ADD.
4011
4012 2012-05-08  Eric Blake  <eblake@redhat.com>
4013
4014         doc: recommendations on gettext version
4015         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
4016         choice between versions.
4017         * DEPENDENCIES (gettext): Cover both approaches.
4018
4019 2012-05-08  Jim Meyering  <meyering@redhat.com>
4020
4021         init.sh: explain why EXEEXT support uses aliases rather than functions
4022         * tests/init.sh: Add a comment.
4023
4024         init.sh: don't let bash aliases interfere with tests
4025         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
4026         is bash.  This avoids problems for those who alias standard commands to
4027         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
4028         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
4029
4030 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
4031
4032         stdint: be more consistent with glibc, SunOS libc
4033         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
4034         (gl_int_fast16_t, gl_uint_fast16_t)
4035         (gl_int_fast32_t, gl_uint_fast32_t)
4036         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
4037         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
4038         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
4039         Be consistent with glibc by default, and with SunOS 5.10 and later
4040         if __sun is defined.  This lessens the likelihood of clashes if
4041         code compiled for older hosts is combined with code compiled for
4042         newer ones.  Problem reported by Niels Möller in
4043         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
4044
4045 2012-05-07  Eric Blake  <eblake@redhat.com>
4046
4047         isatty: relax license to LGPLv2+
4048         * modules/isatty (License): Relax license.
4049
4050 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4051
4052         stat-size: comment fix
4053         * lib/stat-size.h: Remove obsolete comment about indenting.
4054
4055 2012-05-06  Bruno Haible  <bruno@clisp.org>
4056
4057         Tests for module 'sh-quote'.
4058         * modules/sh-quote-tests: New file.
4059         * tests/test-sh-quote.c: New file.
4060
4061 2012-05-06  Bruno Haible  <bruno@clisp.org>
4062
4063         sh-quote: Improve shell_quote_argv's signature.
4064         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
4065         * lib/sh-quote.c (shell_quote_argv): Likewise.
4066
4067 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4068
4069         stdint: document issues with int_fast8_t etc.
4070         * doc/posix-headers/stdint.texi (stdint.h): Say that other
4071         stdint.h substitutes may define these types differently.  See
4072         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
4073
4074 2012-05-05  Bruno Haible  <bruno@clisp.org>
4075
4076         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
4077         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
4078         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
4079         or 'guessing no (mishandles large arguments)'.
4080
4081 2012-05-05  Bruno Haible  <bruno@clisp.org>
4082
4083         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
4084         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
4085         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4086         set gl_cv_func_link_follows_symlink to "guessing no".
4087
4088 2012-05-05  Bruno Haible  <bruno@clisp.org>
4089
4090         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
4091         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
4092         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
4093         "guessing no".
4094         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
4095
4096 2012-05-05  Bruno Haible  <bruno@clisp.org>
4097
4098         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
4099         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
4100         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4101         set gl_cv_struct_dirent_d_ino to "guessing yes".
4102
4103 2012-05-05  Bruno Haible  <bruno@clisp.org>
4104
4105         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
4106         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
4107         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
4108         "guessing yes".
4109
4110 2012-05-05  Bruno Haible  <bruno@clisp.org>
4111
4112         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
4113         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
4114         compiling to a glibc system, set gl_cv_func_signbit and
4115         gl_cv_func_signbit_gcc to "guessing yes".
4116
4117 2012-05-05  Bruno Haible  <bruno@clisp.org>
4118
4119         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
4120         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
4121         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
4122         to "guessing yes".
4123         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
4124         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
4125
4126 2012-05-05  Bruno Haible  <bruno@clisp.org>
4127
4128         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
4129         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
4130         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
4131         gl_cv_func_realpath_works to "guessing yes".
4132
4133 2012-05-05  Bruno Haible  <bruno@clisp.org>
4134
4135         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
4136         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
4137         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
4138
4139 2012-05-04  Bruno Haible  <bruno@clisp.org>
4140
4141         Tweak last commit.
4142         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
4143         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4144
4145 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
4146
4147         unistd_h: make it easier to avoid sys_types_h
4148         This is useful for Emacs, which has its own method of porting to
4149         Windows, and which therefore does not need the sys_types_h module.
4150         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
4151         code moved here from gl_SYS_TYPES_H.
4152         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
4153         using the code directly.
4154         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
4155         gl_SYS_TYPES_H.
4156         * modules/sys_types (Files):
4157         * modules/unistd (Files): Add m4/off_t.m4.
4158
4159 2012-05-03  Bruno Haible  <bruno@clisp.org>
4160
4161         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
4162         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
4163         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
4164         "guessing yes" or "guessing no".
4165         (gl_FUNC_LSTAT): Update.
4166         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
4167         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
4168         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
4169
4170 2012-05-03  Bruno Haible  <bruno@clisp.org>
4171
4172         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
4173         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
4174         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
4175         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
4176         cross-compiling, choose the first alternative on glibc systems.
4177         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
4178
4179 2012-05-03  Bruno Haible  <bruno@clisp.org>
4180
4181         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
4182         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
4183         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
4184
4185 2012-05-03  Bruno Haible  <bruno@clisp.org>
4186
4187         chown: Avoid "guessing no" when cross-compiling to glibc systems.
4188         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
4189
4190 2012-05-03  Bruno Haible  <bruno@clisp.org>
4191
4192         Avoid "guessing no" guesses when cross-compiling to glibc systems.
4193         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
4194         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
4195         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
4196         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
4197         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
4198         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
4199         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
4200         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
4201         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
4202         compiling to glibc systems, set gl_cv_func_chown_slash_works,
4203         gl_cv_func_chown_ctime_works to "guessing yes".
4204         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
4205         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
4206         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
4207         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
4208         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
4209         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
4210         compiling to glibc systems, set gl_cv_func_open_directory_works to
4211         "guessing yes".
4212         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
4213         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
4214         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
4215         "guessing yes".
4216         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
4217         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
4218         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
4219         compiling to glibc systems, set gl_cv_func_floorf_ieee to
4220         "guessing yes".
4221         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
4222         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
4223         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
4224         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
4225         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
4226         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
4227         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
4228         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
4229         "guessing yes".
4230         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
4231         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
4232         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
4233         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
4234         "guessing yes".
4235         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
4236         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
4237         "guessing yes".
4238         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
4239         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
4240         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
4241         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
4242         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
4243         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
4244         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
4245         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
4246         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
4247         compiling to glibc systems, set gl_cv_func_log10f_ieee to
4248         "guessing yes".
4249         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
4250         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
4251         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
4252         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
4253         "guessing yes".
4254         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
4255         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
4256         "guessing yes".
4257         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
4258         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
4259         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
4260         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
4261         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
4262         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
4263         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
4264         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
4265         compiling to glibc systems, set gl_cv_func_mkfifo_works to
4266         "guessing yes".
4267         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
4268         compiling to glibc systems, set gl_cv_func_mknod_works to
4269         "guessing yes".
4270         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
4271         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
4272         "guessing yes".
4273         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
4274         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
4275         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
4276         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
4277         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
4278         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
4279         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
4280         compiling to glibc systems, set gl_cv_func_svid_putenv to
4281         "guessing yes".
4282         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
4283         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
4284         "guessing yes".
4285         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
4286         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
4287         "guessing yes".
4288         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
4289         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
4290         to "guessing yes".
4291         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
4292         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
4293         to "guessing yes".
4294         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
4295         compiling to glibc systems, set gl_cv_func_rmdir_works to
4296         "guessing yes".
4297         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
4298         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
4299         gl_cv_func_unlink_parent_fails to "guessing yes".
4300         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
4301         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
4302         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
4303         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
4304         gl_cv_func_rename_dest_works to "guessing yes".
4305         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
4306         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
4307         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
4308         compiling to glibc systems, set gl_cv_func_roundf_ieee to
4309         "guessing yes".
4310         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
4311         compiling to glibc systems, set gl_cv_func_roundl_ieee to
4312         "guessing yes".
4313         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
4314         compiling to glibc systems, set gl_cv_func_setenv_works to
4315         "guessing yes".
4316         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
4317         compiling to glibc systems, set gl_cv_func_unsetenv_works to
4318         "guessing yes".
4319         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
4320         compiling to glibc systems, set gl_cv_func_sleep_works to
4321         "guessing yes".
4322         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
4323         compiling to glibc systems, set gl_cv_func_stat_file_slash to
4324         "guessing yes".
4325         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
4326         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
4327         "guessing yes".
4328         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
4329         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
4330         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
4331         compiling to glibc systems, set gl_cv_func_truncf_ieee to
4332         "guessing yes".
4333         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
4334         compiling to glibc systems, set gl_cv_func_truncl_ieee to
4335         "guessing yes".
4336         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
4337         compiling to glibc systems, set gl_cv_func_usleep_works to
4338         "guessing yes".
4339         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
4340         compiling to glibc systems, set gl_cv_func_futimesat_works to
4341         "guessing yes".
4342
4343 2012-05-03  Bruno Haible  <bruno@clisp.org>
4344
4345         Say "guessing yes" or "guessing no" when cross-compiling.
4346         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
4347         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
4348         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
4349         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
4350         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
4351         am_cv_func_working_getline to "guessing yes" or "guessing no".
4352         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
4353         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
4354         (gl_FUNC_MEMMEM): When cross-compiling, set
4355         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
4356         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
4357         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
4358         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
4359         set gl_cv_func_strcasestr_works_always to "guessing yes" or
4360         "guessing no".
4361         (gl_FUNC_STRCASESTR): When cross-compiling, set
4362         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
4363         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
4364         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
4365         (gl_FUNC_STRSTR): When cross-compiling, set
4366         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
4367         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
4368         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
4369         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
4370         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
4371
4372 2012-05-01  Bruno Haible  <bruno@clisp.org>
4373
4374         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
4375         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
4376         * build-aux/reloc-ldflags: Likewise.
4377         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
4378
4379 2012-05-01  Bruno Haible  <bruno@clisp.org>
4380
4381         gnulib-tool: Remove transitional code.
4382         * gnulib-tool: Don't warn about --import with 0 arguments any more.
4383         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
4384
4385 2012-05-01  Bruno Haible  <bruno@clisp.org>
4386
4387         getcwd: Fix misindentation.
4388         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
4389
4390 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
4391
4392         exclude: process exclude and include directives in order
4393         This restores the pre-2009 behavior, and is part of a fix of a
4394         grep bug reported by Quentin Arce in
4395         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
4396         * lib/exclude.c (struct exclude): Remove 'tail' member.
4397         (new_exclude_segment): Prepend the new segment instead of appending.
4398         Return void, since that's now more convenient.
4399         (file_pattern_matches): Renamed from excluded_file_pattern_p.
4400         (file_name_matches): Renamed from excluded_file_name_p.
4401         (file_pattern_matches, file_name_matches):
4402         Return true if the pattern matches, not if it excludes.
4403         All callers changed.
4404         (excluded_file_name): Process the list in reverse order;
4405         since the list is now reversed this restores the pre-2009 behavior.
4406         (add_exclude): Adjust to new reversed-order list.  Use local var
4407         rather than macro, for clarity.
4408         * tests/test-exclude7.sh: Adjust to corrected behavior.
4409
4410         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
4411         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
4412         it's not possible here.  Handle the case of \ at end of pattern
4413         without dumping core.
4414         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
4415
4416         _Noreturn: future-proof non-GNU and non-MSVC compilers
4417         * build-aux/snippet/_Noreturn.h (_Noreturn):
4418         * m4/gnulib-common.m4 (gl_COMMON_BODY):
4419         Do not define _Noreturn if __STDC_VERSION__ indicates this is
4420         C11 or later.  This is more likely to work with random future C
4421         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
4422         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
4423
4424         exclude: handle wildcards with FNM_EXTMATCH
4425         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
4426         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
4427         comment that "has wildcards" really means "has or may have
4428         wildcards".  Simplify by avoiding the need to call strcspn.
4429
4430 2012-04-29  Bruno Haible  <bruno@clisp.org>
4431
4432         gnulib-tool: Fix list of authors.
4433         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
4434
4435 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
4436
4437         bootstrap: support Automake-NG in $buildreq
4438         * bootstrap (check_versions): Handle automake and aclocal from
4439         Automake-NG specially.  They can be specified as respectively
4440         the "automake-ng" and "aclocal-ng" requirements.
4441
4442 2012-04-25  Eric Blake  <eblake@redhat.com>
4443
4444         bootstrap: only force latest Makefile.in.in for gettext module
4445         * build-aux/bootstrap (with_gettext): Only install latest
4446         Makefile.in.in for projects requesting bleeding edge gettext.
4447
4448 2012-04-22  Bruno Haible  <bruno@clisp.org>
4449
4450         doc: Mention reason for replacement on glibc/Linux systems.
4451         * doc/posix-functions/dprintf.texi: Mention the problem with special
4452         'long double' values.
4453         * doc/posix-functions/fprintf.texi: Likewise.
4454         * doc/posix-functions/printf.texi: Likewise.
4455         * doc/posix-functions/snprintf.texi: Likewise.
4456         * doc/posix-functions/sprintf.texi: Likewise.
4457         * doc/posix-functions/vdprintf.texi: Likewise.
4458         * doc/posix-functions/vfprintf.texi: Likewise.
4459         * doc/posix-functions/vprintf.texi: Likewise.
4460         * doc/posix-functions/vsnprintf.texi: Likewise.
4461         * doc/posix-functions/vsprintf.texi: Likewise.
4462         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
4463         platforms with F_DUPFD_CLOEXEC problems.
4464         * doc/posix-functions/glob.texi: Mention which platforms are affected
4465         by the problem with symbolic links.
4466         * doc/posix-functions/linkat.texi: Mention the problem with
4467         AT_SYMLINK_FOLLOW on Linux.
4468
4469 2012-04-22  Bruno Haible  <bruno@clisp.org>
4470
4471         pwrite: Don't replace on all platforms.
4472         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
4473
4474 2012-04-22  Bruno Haible  <bruno@clisp.org>
4475
4476         rint* tests: Avoid gcc warnings.
4477         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
4478         * tests/test-rintf.c (INFINITY, NAN): Likewise.
4479         * tests/test-rintl.c (INFINITY, NAN): Likewise.
4480
4481 2012-04-21  Bruno Haible  <bruno@clisp.org>
4482
4483         users.txt: Update.
4484         * users.txt: Add freedink, wdiff. Update URLs for projects that have
4485         switched from CVS to git, bzr, or svn.
4486
4487 2012-04-21  Bruno Haible  <bruno@clisp.org>
4488
4489         Large File Support for native Windows platforms.
4490
4491         * m4/largefile.m4 (gl_LARGEFILE): New macro.
4492         * modules/largefile (configure.ac): Require gl_LARGEFILE.
4493
4494         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
4495         type.
4496         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
4497         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
4498         * doc/posix-headers/sys_types.texi: Mention the effect of the
4499         'largefile' module.
4500
4501         * lib/fcntl.in.h: Add comments about off_t.
4502         * modules/fcntl-h (Depends-on): Add sys_types.
4503
4504         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
4505         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
4506         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
4507         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
4508         * modules/unistd (Depends-on): Add sys_types.
4509         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
4510
4511         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
4512         instead of lseek.
4513         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
4514         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
4515         * modules/lseek (Depends-on): Add sys_types.
4516
4517         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
4518         msvc-nothrow.h.
4519         (SetFileSize): New function.
4520         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
4521         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
4522         if Large File Support is requested.
4523         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
4524         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
4525
4526         * lib/stdio.in.h: Add comments about off_t.
4527         * modules/stdio (Depends-on): Add sys_types.
4528
4529         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
4530         instead of ftello.
4531         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
4532         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
4533         (gl_PREREQ_FTELLO): New macro.
4534         * modules/ftello (Depends-on): Add sys_types.
4535         (configure.ac): Incoke gl_PREREQ_FTELLO.
4536
4537         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
4538         instead of fseeko.
4539         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
4540         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
4541         (gl_PREREQ_FSEEKO): New macro.
4542         * modules/fseeko (Depends-on): Add sys_types.
4543         (configure.ac): Invoke gl_PREREQ_FSEEKO.
4544
4545         * lib/sys_stat.in.h: Add comments about off_t.
4546         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
4547         64-bit integer for st_size in 'struct stat'.
4548         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
4549         Define _GL_WINDOWS_64_BIT_ST_SIZE.
4550         * modules/sys_stat (Depends-on): Add sys_types.
4551         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
4552
4553         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
4554         instead of stat or _stat.
4555
4556         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
4557         'struct _stati64' instead of fstat and 'struct stat'.
4558         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
4559         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
4560
4561         Reported by Ray Satiro <raysatiro@yahoo.com>.
4562
4563 2012-04-19  Eric Blake  <eblake@redhat.com>
4564
4565         bootstrap: accommodate older libtool
4566         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
4567         Reported by Daniel P. Berrange.
4568
4569 2012-04-19  Jim Meyering  <meyering@redhat.com>
4570
4571         announce-gen: avoid failure due to lack of Digest::SHA1
4572         Even with the preferred Digest::SHA available, this script
4573         would fail when the backup module, Digest::SHA1, was not installed.
4574         * build-aux/announce-gen: Quote the conditional use of "use".
4575         Reported by Reuben Thomas in:
4576         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
4577
4578         bootstrap: don't let a user's CDPATH setting affect this script
4579         When CDPATH is set, cd will sometimes generate output.
4580         When "cd" is run in a subshell whose output matters, that
4581         surprising-to-some output can cause malfunction.
4582         Unsetting CDPATH turns off this shell "feature."
4583         * build-aux/bootstrap (CDPATH): Unset.
4584         Reported by Reuben Thomas in:
4585         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
4586         and inspired by his patch here:
4587         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
4588
4589 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
4590         and Jim Meyering  <meyering@redhat.com>
4591
4592         maint.mk: catch "see @xref{}" and similar
4593         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
4594         prohibit "See also @xref{", "Also see @pxref{", and similar.
4595
4596 2012-04-16  Jim Meyering  <meyering@redhat.com>
4597
4598         bootstrap: really use gnulib's po/Makefile.in.in
4599         * build-aux/bootstrap: Correct the source file name in previous change.
4600         Reported by Akim Demaille.
4601
4602         configmake: correct minor inconsistency in Makefile rule
4603         * modules/configmake (Makefile.am): All other rules like this one
4604         run the final "mv -f ..." in the same backslash-continued command
4605         as the one that does everything else.  This one put the mv -f ...
4606         command on a separate, non-backslash-continued line.
4607         Make it like the others.
4608
4609         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
4610         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
4611         the one from gettext.  Reported by Akim Demaille.
4612
4613 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
4614
4615         Fix recursion of install-* into po directories.
4616         Bison's install-pdf bug reported by Hans Aberg at
4617         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
4618         * build-aux/po/Makefile.in.in (install-dvi, install-html)
4619         (install-info, install-pdf, install-ps): New targets.
4620
4621 2012-04-16  Jim Meyering  <meyering@redhat.com>
4622
4623         maint: avoid spurious "make sc_maint" failure
4624         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
4625         exempt all *.class file names, for lib/javaversion.class.
4626
4627 2012-04-15  Bruno Haible  <bruno@clisp.org>
4628
4629         lseek: Make configure test independent of environment.
4630         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
4631         Windows, we know that lseek() on pipes is broken; skip the runtime
4632         test.
4633
4634 2012-04-14  Bruno Haible  <bruno@clisp.org>
4635
4636         stat: Bypass buggy override in mingw64.
4637         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
4638         * lib/stat.c (stat) [mingw64]: Define to _stat.
4639         * doc/posix-functions/stat.texi: Mention mingw64 bug.
4640
4641 2012-04-14  Bruno Haible  <bruno@clisp.org>
4642
4643         pathmax: Fix compilation error on MSVC 9.
4644         * modules/pathmax (Depends-on): Add unistd.
4645
4646 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
4647
4648         README: document pointer comparison assumption
4649         * README (Portability guidelines): Document assumption about
4650         pointer comparisons, in response to a recent bug-gnulib comment by
4651         Jeffrey Kegler.
4652
4653 2012-04-12  Bruno Haible  <bruno@clisp.org>
4654
4655         Tests for module 'getrusage'.
4656         * modules/getrusage-tests: New file.
4657         * tests/test-getrusage.c: New file.
4658
4659         New module 'getrusage'.
4660         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
4661         warn-on-use.h.
4662         (getrusage): New declaration.
4663         * lib/getrusage.c: New file.
4664         * m4/getrusage.m4: New file.
4665         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
4666         is declared.
4667         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
4668         HAVE_GETRUSAGE.
4669         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
4670         snippet/c++defs, snippet/warn-on-use.
4671         (Makefile.am): Update generation of sys/resource.h. Substitute
4672         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
4673         * modules/getrusage: New file.
4674         * doc/posix-functions/getrusage.texi: Mention the new module.
4675
4676 2012-04-12  Bruno Haible  <bruno@clisp.org>
4677
4678         Tests for module 'sys_resource'.
4679         * modules/sys_resource-tests: New file.
4680         * tests/test-sys_resource.c: New file.
4681
4682         New module 'sys_resource'.
4683         * lib/sys_resource.in.h: New file.
4684         * m4/sys_resource_h.m4: New file.
4685         * modules/sys_resource: New file.
4686         * doc/posix-headers/sys_resource.texi: Mention the new module.
4687
4688 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
4689
4690         ioctl: Fix compilation error on mingw.
4691         * lib/ioctl.c: Include <windows.h>.
4692         Also reported by Ray Satiro <raysatiro@yahoo.com>.
4693
4694 2012-04-04  Jim Meyering  <meyering@redhat.com>
4695
4696         regex: correct #pragma guard expression
4697         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
4698         not 4.3.  Correct its cpp guard expression.
4699
4700 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
4701
4702         regex: remove unnecessary type punning
4703         Problem reported by Vladimir Serbinenko in
4704         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
4705         * lib/regex.h (struct re_pattern_buffer): Change the type of
4706         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
4707         Fix comment to match code.
4708         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
4709         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
4710         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
4711         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
4712         (set_regs):
4713         Omit no-longer-necessary casts.
4714
4715 2012-04-03  Bruno Haible  <bruno@clisp.org>
4716
4717         Tests for module 'ilogbl'.
4718         * modules/ilogbl-tests: New file.
4719         * tests/test-ilogbl.c: New file.
4720
4721         New module 'ilogbl'.
4722         * lib/math.in.h (ilogbl): New declaration.
4723         * lib/ilogbl.c: New file.
4724         * m4/ilogbl.m4: New file.
4725         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
4726         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
4727         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
4728         Split sed invocation, to avoid the limit of 100 substitutions of
4729         HP-UX 'sed'.
4730         * modules/ilogbl: New file.
4731         * tests/test-math-c++.cc: Check the declaration of ilogbl.
4732         * doc/posix-functions/ilogbl.texi: Mention the new module.
4733
4734 2012-04-03  Bruno Haible  <bruno@clisp.org>
4735
4736         Tests for module 'ilogbf'.
4737         * modules/ilogbf-tests: New file.
4738         * tests/test-ilogbf.c: New file.
4739
4740         New module 'ilogbf'.
4741         * lib/math.in.h (ilogbf): New declaration.
4742         * lib/ilogbf.c: New file.
4743         * m4/ilogbf.m4: New file.
4744         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
4745         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
4746         REPLACE_ILOGBF.
4747         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
4748         REPLACE_ILOGBF.
4749         * modules/ilogbf: New file.
4750         * tests/test-math-c++.cc: Check the declaration of ilogbf.
4751         * doc/posix-functions/ilogbf.texi: Mention the new module.
4752
4753 2012-04-03  Bruno Haible  <bruno@clisp.org>
4754
4755         Tests for module 'ilogb'.
4756         * modules/ilogb-tests: New file.
4757         * tests/test-ilogb.c: New file.
4758         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
4759         tests/test-logb-ieee.h.
4760
4761         New module 'ilogb'.
4762         * lib/math.in.h (ilogb): New declaration.
4763         * lib/ilogb.c: New file.
4764         * m4/ilogb.m4: New file.
4765         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
4766         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
4767         REPLACE_ILOGB.
4768         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
4769         REPLACE_ILOGB.
4770         * modules/ilogb: New file.
4771         * tests/test-math-c++.cc: Check the declaration of ilogb.
4772         * doc/posix-functions/ilogb.texi: Mention the new module.
4773
4774 2012-04-03  Bruno Haible  <bruno@clisp.org>
4775
4776         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
4777         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
4778         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
4779         (main): Check their values.
4780         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
4781         problem.
4782
4783 2012-04-03  Bruno Haible  <bruno@clisp.org>
4784
4785         Tests for module 'logbl-ieee'.
4786         * modules/logbl-ieee-tests: New file.
4787         * tests/test-logbl-ieee.c: New file.
4788
4789         New module 'logbl-ieee'.
4790         * modules/logbl-ieee: New file.
4791
4792         Tests for module 'logb-ieee'.
4793         * modules/logb-ieee-tests: New file.
4794         * tests/test-logb-ieee.c: New file.
4795
4796         New module 'logb-ieee'.
4797         * modules/logb-ieee: New file.
4798
4799         Tests for module 'logbf-ieee'.
4800         * modules/logbf-ieee-tests: New file.
4801         * tests/test-logbf-ieee.c: New file.
4802         * tests/test-logb-ieee.h: New file.
4803
4804         New module 'logbf-ieee'.
4805         * modules/logbf-ieee: New file.
4806
4807 2012-04-03  Bruno Haible  <bruno@clisp.org>
4808
4809         Tests for module 'logbl'.
4810         * modules/logbl-tests: New file.
4811         * tests/test-logbl.c: New file.
4812
4813         New module 'logbl'.
4814         * lib/math.in.h (logbl): New declaration.
4815         * lib/logbl.c: New file.
4816         * m4/logbl.m4: New file.
4817         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
4818         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
4819         REPLACE_LOGBL.
4820         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
4821         REPLACE_LOGBL.
4822         * modules/logbl: New file.
4823         * tests/test-math-c++.cc: Check the declaration of logbl.
4824         * doc/posix-functions/logbl.texi: Mention the new module.
4825
4826 2012-04-02  Bruno Haible  <bruno@clisp.org>
4827
4828         Tests for module 'logbf'.
4829         * modules/logbf-tests: New file.
4830         * tests/test-logbf.c: New file.
4831
4832         New module 'logbf'.
4833         * lib/math.in.h (logbf): New declaration.
4834         * lib/logbf.c: New file.
4835         * m4/logbf.m4: New file.
4836         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
4837         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
4838         REPLACE_LOGBF.
4839         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
4840         REPLACE_LOGBF.
4841         * modules/logbf: New file.
4842         * tests/test-math-c++.cc: Check the declaration of logbf.
4843         * doc/posix-functions/logbf.texi: Mention the new module.
4844
4845 2012-04-02  Bruno Haible  <bruno@clisp.org>
4846
4847         logb tests: More tests.
4848         * tests/test-logb.h: New file, based on tests/test-logb.c and
4849         tests/test-frexp.h.
4850         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
4851         (main): Just invoke test_function.
4852         * modules/logb-tests (Files): Add tests/test-logb.h,
4853         tests/minus-zero.h, tests/randomd.c.
4854         (Makefile.am): Add randomd.c to test_logb_SOURCES.
4855
4856         logb: Provide replacement and workarounds.
4857         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
4858         is 1.
4859         * lib/logb.c: New file.
4860         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
4861         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
4862         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
4863         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
4864         * modules/logb (Files): Add lib/logb.c.
4865         (Depends-on): Add isfinite, frexp, isnand.
4866         (configure.ac): Compile the replacement code logb.c if needed.
4867         * tests/test-math-c++.cc: Check the declaration of logb.
4868         * doc/posix-functions/logb.texi: Mention the replacement and the bug
4869         with subnormal numbers.
4870
4871 2012-04-02  Bruno Haible  <bruno@clisp.org>
4872
4873         log10* tests: Speed up.
4874         * tests/test-log10.h (test_function): Reduce amount of random numbers
4875         to test.
4876
4877 2012-04-01  Bruno Haible  <bruno@clisp.org>
4878
4879         logf-ieee: Fix test whether logf works.
4880         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
4881
4882 2012-04-01  Bruno Haible  <bruno@clisp.org>
4883
4884         log10l: Work around log10l-ieee test failure on IRIX 6.5.
4885         * lib/log10l.c: Include <float.h>
4886         (log10l): On IRIX, normalize the +Infinity value.
4887         * modules/log10l (Depends-on): Add 'float'.
4888         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
4889         +Infinity.
4890
4891         log10f-ieee: Work around test failure on NetBSD 5.1.
4892         * m4/log10f-ieee.m4: New file.
4893         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
4894         test whether log10f works with a negative argument. Replace it if not.
4895         * lib/log10f.c (log10f): For negative arguments, return NaN.
4896         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
4897         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
4898         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
4899
4900         log10f-ieee: Work around test failure on Solaris 9.
4901         * modules/log10f-ieee (Depends-on): Add log10-ieee.
4902         (configure.ac): Require gl_FUNC_LOG10F.
4903
4904         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
4905         * m4/log10-ieee.m4: New file.
4906         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
4907         whether log10 works with a negative argument. Replace it if not.
4908         * lib/log10.c (log10): For negative arguments, return NaN.
4909         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
4910         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
4911         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
4912
4913         Tests for module 'log10l-ieee'.
4914         * modules/log10l-ieee-tests: New file.
4915         * tests/test-log10l-ieee.c: New file.
4916
4917         New module 'log10l-ieee'.
4918         * modules/log10l-ieee: New file.
4919
4920         Tests for module 'log10-ieee'.
4921         * modules/log10-ieee-tests: New file.
4922         * tests/test-log10-ieee.c: New file.
4923
4924         New module 'log10-ieee'.
4925         * modules/log10-ieee: New file.
4926
4927         Tests for module 'log10f-ieee'.
4928         * modules/log10f-ieee-tests: New file.
4929         * tests/test-log10f-ieee.c: New file.
4930         * tests/test-log10-ieee.h: New file.
4931
4932         New module 'log10f-ieee'.
4933         * modules/log10f-ieee: New file.
4934
4935 2012-04-01  Bruno Haible  <bruno@clisp.org>
4936
4937         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
4938         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
4939         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
4940         workaround.
4941         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
4942         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
4943         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
4944         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
4945         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
4946         (Depends-on): Update conditions.
4947         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
4948         IRIX 6.5, OSF/1 5.1 problems.
4949
4950 2012-04-01  Bruno Haible  <bruno@clisp.org>
4951
4952         log10f: Work around OSF/1 5.1 bug.
4953         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
4954         * lib/log10f.c (log10f): If logf exists, use it and provide just the
4955         workaround.
4956         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
4957         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
4958         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
4959         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
4960         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
4961         (Depends-on): Update conditions.
4962         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
4963
4964 2012-04-01  Bruno Haible  <bruno@clisp.org>
4965
4966         log10: Work around OSF/1 5.1 bug.
4967         * lib/math.in.h (log10): New declaration.
4968         * lib/log10.c: New file.
4969         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
4970         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
4971         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
4972         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
4973         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
4974         * modules/log10 (Files): Add lib/log10.c.
4975         (Depends-on): Add math.
4976         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
4977         * tests/test-math-c++.cc: Check the declaration of log10.
4978         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
4979
4980 2012-03-31  Bruno Haible  <bruno@clisp.org>
4981
4982         log10l tests: More tests.
4983         * modules/log10l-tests (Files): Add tests/test-log10l.h,
4984         tests/minus-zero.h, tests/randoml.c.
4985         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
4986         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
4987         (main): Invoke test_function.
4988
4989         log10f tests: More tests.
4990         * modules/log10f-tests (Files): Add tests/test-log10.h,
4991         tests/minus-zero.h, tests/randomf.c.
4992         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
4993         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
4994         (main): Invoke test_function.
4995
4996         log10 tests: More tests.
4997         * tests/test-log10.h: New file.
4998         * modules/log10-tests (Files): Add tests/test-log10.h,
4999         tests/minus-zero.h, tests/randomd.c.
5000         (Makefile.am): Add randomd.c to test_log10_SOURCES.
5001         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
5002         (main): Invoke test_function.
5003
5004 2012-03-31  Simon Josefsson  <simon@josefsson.org>
5005
5006         fflush: Fix syntax error.
5007         * lib/fflush.c: Include unused-parameter.h, needed for
5008         _GL_UNUSED_PARAMETER.
5009         * modules/fflush (Depends-on): Add snippet/unused-parameter.
5010
5011 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
5012
5013         regex: pacify GCC when compiling GRUB
5014         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
5015         a diagnostic.  Reported by Vladimir Serbinenko in
5016         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
5017
5018 2012-03-29  Eric Blake  <eblake@redhat.com>
5019
5020         stdio: don't assume gets any more
5021         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
5022         support.
5023         * modules/stdio (Makefile.am): Likewise.
5024         * lib/stdio-read.c (gets): Likewise.
5025         * tests/test-stdio-c++.cc: Likewise.
5026         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
5027         * lib/stdio.in.h (gets): Make warning occur in more places.
5028         * doc/posix-functions/gets.texi (gets): Update documentation.
5029         Reported by Christer Solskogen.
5030
5031         maint.mk: fix syntax checks without exclusions
5032         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
5033         Reported by Daniel P. Berrange.
5034
5035         strerror_r: avoid compiler warning
5036         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
5037         level.
5038
5039         fflush: avoid compiler warning
5040         * lib/fflush.c (update_fpos_cache): Mark variables that are
5041         potentially unused.
5042
5043 2012-03-25  Bruno Haible  <bruno@clisp.org>
5044
5045         Tests for module 'localeconv'.
5046         * modules/localeconv-tests: New file.
5047         * tests/test-localeconv.c: New file.
5048
5049         New module 'localeconv'.
5050         * lib/locale.in.h (localeconv): New declaration.
5051         * lib/localeconv.c: New file.
5052         * m4/localeconv.m4: New file.
5053         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
5054         REPLACE_LOCALECONV.
5055         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
5056         REPLACE_LOCALECONV.
5057         * modules/localeconv: New file.
5058         * modules/nl_langinfo (Depends-on): Add localeconv.
5059         * modules/human (Depends-on): Likewise.
5060         * doc/posix-functions/localeconv.texi: Mention the new module.
5061
5062 2012-03-25  Bruno Haible  <bruno@clisp.org>
5063
5064         locale: Provide a complete 'struct lconv'.
5065         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5066         'struct lconv' does not contain int_p_cs_precedes.
5067         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5068         * doc/posix-headers/locale.texi: Update.
5069
5070         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
5071         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
5072         * doc/posix-headers/locale.texi: Update.
5073
5074         locale: Provide a working 'struct lconv'.
5075         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
5076         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5077         'struct lconv' does not even contain decimal_point.
5078         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
5079         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
5080         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5081         * doc/posix-headers/locale.texi: Mention the problems with
5082         'struct lconv'.
5083         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
5084
5085 2012-03-24  Bruno Haible  <bruno@clisp.org>
5086
5087         Enable common subexpression optimization in GCC.
5088         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
5089         macros.
5090         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
5091         GCC attribute 'const'.
5092         (uc_locale_language): Declare with GCC attribute 'pure'.
5093         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
5094         with GCC attribute 'const'.
5095         * lib/unictype.in.h (uc_is_general_category_withtable,
5096         uc_combining_class, uc_combining_class_name,
5097         uc_combining_class_long_name, uc_bidi_class_name,
5098         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
5099         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
5100         uc_decimal_value, uc_digit_value, uc_numeric_value,
5101         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
5102         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
5103         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
5104         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
5105         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
5106         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
5107         Declare with GCC attribute 'const'.
5108         (uc_general_category_name, uc_general_category_long_name,
5109         uc_general_category_byname, uc_general_category,
5110         uc_is_general_category, uc_combining_class_byname,
5111         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
5112         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
5113         Declare with GCC attribute 'pure'.
5114         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
5115         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
5116         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
5117         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
5118         with GCC attribute 'pure'.
5119         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
5120         'const'.
5121         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
5122         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
5123         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
5124         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
5125         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
5126         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
5127         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
5128         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
5129         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
5130         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
5131         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
5132         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
5133         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
5134         GCC attribute 'pure'.
5135         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
5136         'const'.
5137         * lib/uniwidth.in.h (uc_width): Simplify declaration.
5138         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
5139         u32_strwidth): Declare with GCC attribute 'pure'.
5140
5141         Enable common subexpression optimization in GCC.
5142         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5143         (alphasort): Declare with GCC attribute 'pure'.
5144         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5145         (atoll): Declare with GCC attribute 'pure'.
5146         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
5147         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
5148         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
5149         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5150         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
5151         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
5152         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
5153
5154 2012-03-24  Bruno Haible  <bruno@clisp.org>
5155
5156         gnulib-tool: Avoid unintended error output from 'cmp'.
5157         * gnulib-tool (func_add_file, func_update_file, func_import): Use
5158         "cmp -s", not "cmp > /dev/null".
5159
5160 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5161
5162         gnulib-tool: fix imprecise comments w.r.t. an automake bug
5163
5164         It's not just Automake versions < 1.9b that creates an empty
5165         pkgdatadir at installation time if pkgdata_DATA is specified
5166         to empty; modern automake versions do this as well, at least
5167         until automake 1.11.4 (not yet released at the moment of writing,
5168         but soon to appear).  That behaviour was generally considered a
5169         feature rather than a bug, at least until this discussion:
5170         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
5171
5172         See also automake bugs #10997 and #11030.
5173
5174         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
5175         reference to relevant automake bug numbers.
5176         (func_emit_tests_Makefile_am): Likewise.
5177
5178 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5179
5180         announce-gen: use Digest::SHA when possible
5181         * build-aux/announce-gen: Use Digest::SHA when possible, falling
5182         back to Digest::SHA1 if necessary.
5183
5184 2012-03-20  Jim Meyering  <meyering@redhat.com>
5185
5186         tests: avoid gcc warnings about argv vs. const initializers
5187         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
5188         warnings about discarding 'const' qualifier from pointer target type.
5189         * tests/test-posix_spawn2.c (main): Likewise.
5190
5191 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5192
5193         README-release: simplify slightly
5194         * top/README-release: Run "git checkout master" only once.
5195
5196 2012-03-15  Mark Wielaard  <mark@klomp.org>
5197
5198         git-merge-changelog: add specific example on how to use with hg.
5199         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
5200
5201 2012-03-18  Mark Wielaard  <mark@klomp.org>
5202
5203         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
5204
5205 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
5206
5207         git-version-gen: don't let "prefix" envvar cause trouble
5208         * build-aux/git-version-gen (prefix): Initialize properly,
5209         so as not to use a value specified via the environment.
5210         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
5211
5212 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5213
5214         regex: diagnose too-large repeat counts in EREs
5215         Previously, the code did not diagnose the too-large repeat count
5216         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
5217         as if it were 'b\{1000000000}', which is unexpected.
5218         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
5219         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
5220         is a reasonable one for this problem.  Another option would be to
5221         create a new REG_OVERFLOW error for repeat counts that are too large.
5222         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
5223         count is too large, so that the caller can distinguish the two cases.
5224         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
5225         "Too large" return code, and that repeat counts are one example of this.
5226
5227 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5228
5229         doc: some glibc x32 integer width issues
5230         * doc/posix-headers/sys_types.texi (sys/types.h):
5231         * doc/posix-headers/time.texi (time.h):
5232         Mention that glibc x32 does not conform to POSIX in a couple of
5233         areas related to integer widths.
5234
5235 2012-03-15  Bruno Haible  <bruno@clisp.org>
5236
5237         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
5238         * lib/fma.c (VOLATILE): New macro.
5239         (FUNC): Use it to work around a GCC compiler bug.
5240
5241 2012-03-13  Bruno Haible  <bruno@clisp.org>
5242
5243         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5244         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
5245         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
5246         REPLACE_HYPOTL to 1.
5247         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
5248
5249 2012-03-13  Bruno Haible  <bruno@clisp.org>
5250
5251         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5252         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
5253         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
5254         REPLACE_REMAINDERL to 1.
5255         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
5256         bug.
5257
5258 2012-03-13  Bruno Haible  <bruno@clisp.org>
5259
5260         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5261         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
5262         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
5263         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
5264         too big rounding errors.
5265         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
5266         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
5267         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
5268         (Depends-on): Update conditions.
5269         * tests/test-sqrtl.c (my_ldexpl): New function.
5270         (main): Add test of a particular value.
5271         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5272
5273 2012-03-13  Pádraig Brady  <P@draigBrady.com>
5274
5275         doc: Update timer_* platform portability notes.
5276         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
5277         that always return ENOSYS.
5278         * doc/posix-functions/timer_delete.texi: Likewise.
5279         * doc/posix-functions/timer_gettime.texi: Likewise.
5280         * doc/posix-functions/timer_settime.texi: Likewise.
5281
5282 2012-03-13  Bruno Haible  <bruno@clisp.org>
5283
5284         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5285         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
5286         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
5287         REPLACE_CBRTL to 1.
5288         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5289
5290 2012-03-13  Bruno Haible  <bruno@clisp.org>
5291
5292         remainderl: Avoid compilation error on AIX >= 5.2.
5293         * lib/math.in.h (remainderl): Undefine macro from the system header.
5294
5295 2012-03-13  Bruno Haible  <bruno@clisp.org>
5296
5297         Avoid compilation errors with MSVC option -fp:strict.
5298         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
5299         * lib/cbrtf.c: Likewise.
5300         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5301
5302 2012-03-12  Bruno Haible  <bruno@clisp.org>
5303
5304         uninorm: Don't crash in out-of-memory conditions.
5305         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
5306         gracefully.
5307         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
5308         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
5309
5310 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
5311
5312         quote: fix syntax-check
5313         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
5314         also exports quote_quoting_options.
5315
5316 2012-03-12  Simon Josefsson  <simon@josefsson.org>
5317
5318         Collapse list of copyright years to ranges.  See
5319         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
5320         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
5321         build-aux/csharpexec.sh.in, build-aux/gnupload,
5322         build-aux/install-reloc, build-aux/javacomp.sh.in,
5323         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
5324         build-aux/move-if-change, build-aux/reloc-ldflags,
5325         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
5326
5327 2012-03-11  Bruno Haible  <bruno@clisp.org>
5328
5329         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5330         * m4/log2f-ieee.m4: New file.
5331         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
5332         whether log2f works with a minus zero argument. Replace it if not.
5333         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
5334         (Depends-on): Add log2-ieee.
5335         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
5336         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
5337
5338         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5339         * m4/log2-ieee.m4: New file.
5340         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
5341         whether log2 works with a minus zero argument. Replace it if not.
5342         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
5343         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
5344         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
5345
5346         Tests for module 'log2l-ieee'.
5347         * modules/log2l-ieee-tests: New file.
5348         * tests/test-log2l-ieee.c: New file.
5349
5350         New module 'log2l-ieee'.
5351         * modules/log2l-ieee: New file.
5352
5353         Tests for module 'log2-ieee'.
5354         * modules/log2-ieee-tests: New file.
5355         * tests/test-log2-ieee.c: New file.
5356
5357         New module 'log2-ieee'.
5358         * modules/log2-ieee: New file.
5359
5360         Tests for module 'log2f-ieee'.
5361         * modules/log2f-ieee-tests: New file.
5362         * tests/test-log2f-ieee.c: New file.
5363         * tests/test-log2-ieee.h: New file.
5364
5365         New module 'log2f-ieee'.
5366         * modules/log2f-ieee: New file.
5367
5368 2012-03-11  Bruno Haible  <bruno@clisp.org>
5369
5370         Tests for module 'log2l'.
5371         * modules/log2l-tests: New file.
5372         * tests/test-log2l.c: New file.
5373
5374         New module 'log2l'.
5375         * lib/math.in.h (log2l): New declaration.
5376         * lib/log2l.c: New file.
5377         * m4/log2l.m4: New file.
5378         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
5379         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
5380         REPLACE_LOG2L.
5381         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
5382         REPLACE_LOG2L.
5383         * modules/log2l: New file.
5384         * tests/test-math-c++.cc: Check the declaration of log2l.
5385         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
5386         and OSF/1 problems.
5387
5388 2012-03-11  Bruno Haible  <bruno@clisp.org>
5389
5390         Tests for module 'log2f'.
5391         * modules/log2f-tests: New file.
5392         * tests/test-log2f.c: New file.
5393
5394         New module 'log2f'.
5395         * lib/math.in.h (log2f): New declaration.
5396         * lib/log2f.c: New file.
5397         * m4/log2f.m4: New file.
5398         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
5399         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
5400         REPLACE_LOG2F.
5401         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
5402         REPLACE_LOG2F.
5403         * modules/log2f: New file.
5404         * tests/test-math-c++.cc: Check the declaration of log2f.
5405         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
5406         and OSF/1 and Cygwin problems.
5407
5408 2012-03-11  Bruno Haible  <bruno@clisp.org>
5409
5410         Tests for module 'log2'.
5411         * modules/log2-tests: New file.
5412         * tests/test-log2.c: New file.
5413         * tests/test-log2.h: New file.
5414
5415         New module 'log2'.
5416         * lib/math.in.h (log2): New declaration.
5417         * lib/log2.c: New file.
5418         * m4/log2.m4: New file.
5419         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
5420         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
5421         REPLACE_LOG2.
5422         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
5423         REPLACE_LOG2.
5424         * modules/log2: New file.
5425         * tests/test-math-c++.cc: Check the declaration of log2.
5426         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
5427         and OSF/1 and Cygwin problems.
5428
5429 2012-03-11  Bruno Haible  <bruno@clisp.org>
5430
5431         exp2* tests: More tests.
5432         * tests/test-exp2.h (test_function): Test all integral arguments that
5433         don't need to overflow or denormalized numbers.
5434         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
5435         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
5436         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
5437
5438 2012-03-10  Bruno Haible  <bruno@clisp.org>
5439
5440         log1pl-ieee: Work around test failure on AIX 7.1.
5441         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
5442
5443         log1pl-ieee: Work around test failure on IRIX 6.5.
5444         * m4/log1pl-ieee.m4: New file.
5445         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
5446         test whether log1pl works with a minus zero argument. Replace it if
5447         not.
5448         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
5449         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
5450         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
5451         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
5452         (Depends-on): Update conditions.
5453         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5454         m4/signbit.m4.
5455         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
5456         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
5457
5458         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
5459         * m4/log1pf-ieee.m4: New file.
5460         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
5461         test whether log1pf works with a minus zero argument. Replace it if
5462         not.
5463         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
5464         m4/signbit.m4.
5465         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
5466         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
5467
5468         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
5469         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
5470         (configure.ac): Require gl_FUNC_LOG1PF.
5471
5472         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
5473         * m4/log1p-ieee.m4: New file.
5474         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
5475         whether log1p works with a minus zero argument. Replace it if not.
5476         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
5477         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
5478         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
5479         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
5480         (Depends-on): Update conditions.
5481         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5482         m4/signbit.m4.
5483         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
5484         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
5485
5486         Tests for module 'log1pl-ieee'.
5487         * modules/log1pl-ieee-tests: New file.
5488         * tests/test-log1pl-ieee.c: New file.
5489
5490         New module 'log1pl-ieee'.
5491         * modules/log1pl-ieee: New file.
5492
5493         Tests for module 'log1p-ieee'.
5494         * modules/log1p-ieee-tests: New file.
5495         * tests/test-log1p-ieee.c: New file.
5496
5497         New module 'log1p-ieee'.
5498         * modules/log1p-ieee: New file.
5499
5500         Tests for module 'log1pf-ieee'.
5501         * modules/log1pf-ieee-tests: New file.
5502         * tests/test-log1pf-ieee.c: New file.
5503         * tests/test-log1p-ieee.h: New file.
5504
5505         New module 'log1pf-ieee'.
5506         * modules/log1pf-ieee: New file.
5507
5508 2012-03-10  Bruno Haible  <bruno@clisp.org>
5509
5510         Tests for module 'log1pl'.
5511         * modules/log1pl-tests: New file.
5512         * tests/test-log1pl.c: New file.
5513
5514         New module 'log1pl'.
5515         * lib/math.in.h (log1pl): New declaration.
5516         * lib/log1pl.c: New file.
5517         * m4/log1pl.m4: New file.
5518         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
5519         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
5520         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
5521         * modules/log1pl: New file.
5522         * tests/test-math-c++.cc: Check the declaration of log1pl.
5523         * doc/posix-functions/log1pl.texi: Mention the new module.
5524
5525 2012-03-10  Bruno Haible  <bruno@clisp.org>
5526
5527         Tests for module 'log1pf'.
5528         * modules/log1pf-tests: New file.
5529         * tests/test-log1pf.c: New file.
5530
5531         New module 'log1pf'.
5532         * lib/math.in.h (log1pf): New declaration.
5533         * lib/log1pf.c: New file.
5534         * m4/log1pf.m4: New file.
5535         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
5536         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
5537         REPLACE_LOG1PF.
5538         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
5539         REPLACE_LOG1PF.
5540         * modules/log1pf: New file.
5541         * tests/test-math-c++.cc: Check the declaration of log1pf.
5542         * doc/posix-functions/log1pf.texi: Mention the new module.
5543
5544 2012-03-10  Bruno Haible  <bruno@clisp.org>
5545
5546         log1p tests: More tests.
5547         * tests/test-log1p.h: New file.
5548         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
5549         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
5550         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
5551         (main): Invoke test_function.
5552
5553         log1p: Provide replacement for Minix and MSVC.
5554         * lib/math.in.h (log1p): New declaration.
5555         * lib/log1p.c: New file.
5556         * m4/log1p.m4: New file.
5557         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
5558         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
5559         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
5560         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
5561         (Depends-on): Add math, isnand, log, round.
5562         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
5563         HAVE_LOG1P is 0.
5564         * tests/test-math-c++.cc: Check the declaration of log1p.
5565         * doc/posix-functions/log1p.texi: Mention the replacement.
5566
5567 2012-03-10  Bruno Haible  <bruno@clisp.org>
5568
5569         math tests: Small simplification.
5570         * tests/test-exp.h (test_function): Use the same err_bound for
5571         'double' on platforms with sizeof (long double) == sizeof (double)
5572         than on platforms with sizeof (long double) > sizeof (double).
5573         * tests/test-exp2.h (test_function): Likewise.
5574         * tests/test-expm1.h (test_function): Likewise.
5575         * tests/test-log.h (test_function): Likewise.
5576
5577 2012-03-10  Bruno Haible  <bruno@clisp.org>
5578
5579         Fix some comments.
5580         * lib/expl.c: Fix an ambiguous comment.
5581         * lib/expm1.c: Likewise.
5582         * lib/expm1l.c: Likewise.
5583         * lib/exp2.c: Likewise.
5584         * lib/exp2l.c: Likewise.
5585
5586 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
5587
5588         regex: allow inclusion of <regex.h> before <limits.h>
5589         Without this patch, portable programs had to include <limits.h> before
5590         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
5591         I ran into this problem with a test version of GNU grep on Solaris 8.
5592         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
5593         This is done conditionally so that this change can be merged
5594         back to glibc.
5595         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
5596         using the included regex.
5597
5598         fts: depend on fdopendir
5599         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
5600         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
5601         problem was introduced when fdopendir was split out.
5602
5603 2012-03-10  Bruno Haible  <bruno@clisp.org>
5604
5605         Remove unused variables.
5606         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
5607         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
5608
5609 2012-03-10  Bruno Haible  <bruno@clisp.org>
5610
5611         isnanf-nolibm: Fix last commit.
5612         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
5613
5614         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
5615         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
5616
5617 2012-03-10  Bruno Haible  <bruno@clisp.org>
5618
5619         logf-ieee: Work around test failure on NetBSD 5.1.
5620         * m4/logf-ieee.m4: New file.
5621         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
5622         whether logf works with a negative argument. Replace it if not.
5623         * lib/logf.c (logf): For negative arguments, return NaN.
5624         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
5625         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
5626         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
5627
5628         logf-ieee: Work around test failure on Solaris 9.
5629         * modules/logf-ieee (Depends-on): Add log-ieee.
5630         (configure.ac): Require gl_FUNC_LOGF.
5631
5632         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
5633         * m4/log-ieee.m4: New file.
5634         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
5635         log works with a negative argument. Replace it if not.
5636         * lib/log.c (log): For negative arguments, return NaN.
5637         * modules/log-ieee (Files): Add m4/log-ieee.m4.
5638         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
5639         * doc/posix-functions/log.texi: Mention the log-ieee module.
5640
5641         Tests for module 'logl-ieee'.
5642         * modules/logl-ieee-tests: New file.
5643         * tests/test-logl-ieee.c: New file.
5644
5645         New module 'logl-ieee'.
5646         * modules/logl-ieee: New file.
5647
5648         Tests for module 'log-ieee'.
5649         * modules/log-ieee-tests: New file.
5650         * tests/test-log-ieee.c: New file.
5651
5652         New module 'log-ieee'.
5653         * modules/log-ieee: New file.
5654
5655         Tests for module 'logf-ieee'.
5656         * modules/logf-ieee-tests: New file.
5657         * tests/test-logf-ieee.c: New file.
5658         * tests/test-log-ieee.h: New file.
5659
5660         New module 'logf-ieee'.
5661         * modules/logf-ieee: New file.
5662
5663 2012-03-10  Bruno Haible  <bruno@clisp.org>
5664
5665         log: Fix bug introduced on 2012-03-09.
5666         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
5667
5668 2012-03-10  Pádraig Brady  <P@draigBrady.com>
5669
5670         timer-time: link explicitly with pthreads on glibc
5671         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
5672         to support static linking, when newer glibc is
5673         detected, as that contains pthread emulation of
5674         POSIX timer functions where required.
5675         * modules/timer-time: Depend on threadlib to
5676         pull in the appropriate library to link.
5677
5678 2012-03-10  Bruno Haible  <bruno@clisp.org>
5679
5680         log* tests: More tests.
5681         * tests/test-log.h: New file.
5682         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
5683         (main): Invoke test_function.
5684         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
5685         (main): Invoke test_function.
5686         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
5687         (main): Invoke test_function.
5688         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5689         tests/randomd.c.
5690         (Makefile.am): Add randomd.c to test_log_SOURCES.
5691         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5692         tests/randomf.c.
5693         (Makefile.am): Add randomf.c to test_logf_SOURCES.
5694         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
5695         tests/randoml.c.
5696         (Depends-on): Add 'float'.
5697         (Makefile.am): Add randoml.c to test_logl_SOURCES.
5698
5699 2012-03-09  Bruno Haible  <bruno@clisp.org>
5700
5701         logl: Work around OSF/1 5.1 bug.
5702         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
5703         * lib/logl.c (logl): If logl exists, use it and provide just the
5704         workaround.
5705         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
5706         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
5707         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
5708         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
5709         * modules/logl (configure.ac): Consider REPLACE_LOGL.
5710         (Depends-on): Update conditions.
5711         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
5712
5713 2012-03-09  Bruno Haible  <bruno@clisp.org>
5714
5715         logf: Work around OSF/1 5.1 bug.
5716         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
5717         * lib/logf.c (logf): If logf exists, use it and provide just the
5718         workaround.
5719         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
5720         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
5721         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
5722         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
5723         * modules/logf (configure.ac): Consider REPLACE_LOGF.
5724         (Depends-on): Update conditions.
5725         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
5726
5727 2012-03-09  Bruno Haible  <bruno@clisp.org>
5728
5729         log: Work around OSF/1 5.1 bug.
5730         * lib/math.in.h (log): New declaration.
5731         * lib/log.c: New file.
5732         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
5733         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
5734         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
5735         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
5736         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
5737         * modules/log (Files): Add lib/log.c.
5738         (Depends-on): Add math.
5739         (configure.ac): If REPLACE_LOG is 1, compile an override.
5740         * tests/test-math-c++.cc: Check the declaration of log.
5741         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
5742
5743 2012-03-09  Jim Meyering  <meyering@redhat.com>
5744
5745         readtokens.c: adjust wording in a comment
5746         * lib/readtokens.c: Insert omitted "that" in a comment.
5747
5748 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
5749
5750         modechange: add notations +40, 00440, etc.
5751         * lib/modechange.c (mode_compile): Support new notations
5752         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
5753
5754 2012-03-08  Bruno Haible  <bruno@clisp.org>
5755
5756         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
5757         * m4/exp2l-ieee.m4: New file.
5758         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
5759         test whether exp2l works with a NaN argument and with a negative
5760         infinity argument. Replace it if not.
5761         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
5762         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
5763         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
5764         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
5765         (Depends-on): Update conditions.
5766         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
5767         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
5768         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
5769
5770         Tests for module 'exp2l-ieee'.
5771         * modules/exp2l-ieee-tests: New file.
5772         * tests/test-exp2l-ieee.c: New file.
5773
5774         New module 'exp2l-ieee'.
5775         * modules/exp2l-ieee: New file.
5776
5777         Tests for module 'exp2-ieee'.
5778         * modules/exp2-ieee-tests: New file.
5779         * tests/test-exp2-ieee.c: New file.
5780
5781         New module 'exp2-ieee'.
5782         * modules/exp2-ieee: New file.
5783
5784         Tests for module 'exp2f-ieee'.
5785         * modules/exp2f-ieee-tests: New file.
5786         * tests/test-exp2f-ieee.c: New file.
5787         * tests/test-exp2-ieee.h: New file.
5788
5789         New module 'exp2f-ieee'.
5790         * modules/exp2f-ieee: New file.
5791
5792 2012-03-08  Bruno Haible  <bruno@clisp.org>
5793
5794         Tests for module 'exp2l'.
5795         * modules/exp2l-tests: New file.
5796         * tests/test-exp2l.c: New file.
5797
5798         New module 'exp2l'.
5799         * lib/math.in.h (exp2l): New declaration.
5800         * lib/exp2l.c: New file.
5801         * lib/expl-table.c: New file, extracted from lib/expl.c.
5802         * lib/expl.c (gl_expl_table): New declaration.
5803         (expl): Remove expl_table. Update reference.
5804         * m4/exp2l.m4: New file.
5805         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
5806         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
5807         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
5808         * modules/exp2l: New file.
5809         * modules/expl (Files): Add lib/expl-table.c.
5810         (configure.ac): Compile also expl-table.c.
5811         * tests/test-math-c++.cc: Check the declaration of exp2l.
5812         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
5813         problem.
5814
5815 2012-03-08  Bruno Haible  <bruno@clisp.org>
5816
5817         Tests for module 'exp2f'.
5818         * modules/exp2f-tests: New file.
5819         * tests/test-exp2f.c: New file.
5820
5821         New module 'exp2f'.
5822         * lib/math.in.h (exp2f): New declaration.
5823         * lib/exp2f.c: New file.
5824         * m4/exp2f.m4: New file.
5825         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
5826         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
5827         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
5828         * modules/exp2f: New file.
5829         * tests/test-math-c++.cc: Check the declaration of exp2f.
5830         * doc/posix-functions/exp2f.texi: Mention the new module and the
5831         IRIX problem.
5832
5833 2012-03-08  Bruno Haible  <bruno@clisp.org>
5834
5835         Tests for module 'exp2'.
5836         * modules/exp2-tests: New file.
5837         * tests/test-exp2.c: New file.
5838         * tests/test-exp2.h: New file.
5839
5840         New module 'exp2'.
5841         * lib/math.in.h (exp2): New declaration.
5842         * lib/exp2.c: New file.
5843         * m4/exp2.m4: New file.
5844         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
5845         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
5846         REPLACE_EXP2.
5847         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
5848         REPLACE_EXP2.
5849         * modules/exp2: New file.
5850         * tests/test-math-c++.cc: Check the declaration of exp2.
5851         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
5852         and OpenBSD problems.
5853
5854 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
5855
5856         savedir: fix comment typo
5857         * lib/savedir.c (savedirstream): Fix typo in comment.
5858
5859 2012-03-08  Bruno Haible  <bruno@clisp.org>
5860
5861         test-readtokens.c: use const; remove unwarranted cast
5862         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
5863
5864 2012-03-08  Bruno Haible  <bruno@clisp.org>
5865
5866         fmal: Avoid compilation error on AIX.
5867         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
5868         AIX 5.2..7.1.
5869
5870 2012-03-08  Bruno Haible  <bruno@clisp.org>
5871
5872         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
5873         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
5874         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
5875         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
5876         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
5877         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
5878         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
5879
5880 2012-03-08  Bruno Haible  <bruno@clisp.org>
5881
5882         remainderf: Override buggy system function on IRIX 6.5.
5883         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
5884         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
5885         when it exists.
5886         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
5887
5888 2012-03-08  Jim Meyering  <meyering@redhat.com>
5889
5890         test-readtokens.c: avoid const-related compilation warnings
5891         * tests/test-readtokens.c: Avoid const-related compilation warnings.
5892
5893 2012-03-07  Jim Meyering  <meyering@redhat.com>
5894             Bruno Haible  <bruno@clisp.org>
5895
5896         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
5897         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
5898         tests/randomd.c.
5899         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
5900         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
5901         tests/randoml.c.
5902         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
5903
5904 2012-03-07  Bruno Haible  <bruno@clisp.org>
5905
5906         expm1l: Avoid compilation error on AIX.
5907         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
5908         AIX 5.2..7.1.
5909
5910 2012-03-07  Bruno Haible  <bruno@clisp.org>
5911
5912         expm1l: Don't override undeclared system function on IRIX 6.5.
5913         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
5914         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
5915         it exists. Set HAVE_DECL_EXPM1L.
5916         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
5917         HAVE_EXPM1L.
5918         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
5919         HAVE_EXPM1L.
5920         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
5921
5922 2012-03-07  Bruno Haible  <bruno@clisp.org>
5923
5924         remainderl: Don't override undeclared system function on IRIX 6.5.
5925         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
5926         HAVE_REMAINDERL.
5927         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
5928         declared when it exists. Set HAVE_DECL_REMAINDERL.
5929         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
5930         not HAVE_REMAINDERL.
5931         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
5932         HAVE_REMAINDERL.
5933         * doc/posix-functions/remainderl.texi: Mention missing declaration
5934         problem.
5935
5936 2012-03-07  Bruno Haible  <bruno@clisp.org>
5937
5938         rintf: Don't override undeclared system function on IRIX 6.5.
5939         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
5940         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
5941         exists. Set HAVE_DECL_RINTF.
5942         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
5943         HAVE_RINTF.
5944         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
5945         HAVE_RINTF.
5946         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
5947
5948 2012-03-07  Bruno Haible  <bruno@clisp.org>
5949
5950         roundl: Avoid compilation error on AIX.
5951         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
5952         AIX 5.2..7.1.
5953
5954 2012-03-07  Bruno Haible  <bruno@clisp.org>
5955
5956         roundl: Don't override undeclared system function on IRIX 6.5.
5957         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
5958         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
5959         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
5960         * modules/roundl (configure.ac): For replacement code, test
5961         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
5962         (Depends-on): Update conditions.
5963         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
5964
5965 2012-03-07  Bruno Haible  <bruno@clisp.org>
5966
5967         roundf: Don't override undeclared system function on IRIX 6.5.
5968         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
5969         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
5970         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
5971         * modules/roundf (configure.ac): For replacement code, test
5972         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
5973         (Depends-on): Update conditions.
5974         * modules/roundf-ieee (Depends-on): Update conditions.
5975         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
5976
5977 2012-03-07  Bruno Haible  <bruno@clisp.org>
5978
5979         round: Don't override undeclared system function on IRIX 6.5.
5980         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
5981         argument.
5982         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
5983         also when it is not declared. Set HAVE_ROUND. For replacement code,
5984         test HAVE_ROUND, not HAVE_DECL_ROUND.
5985         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
5986         not HAVE_DECL_ROUND.
5987         (Depends-on): Update conditions.
5988         * modules/round-ieee (Depends-on): Update conditions.
5989         * doc/posix-functions/round.texi: Mention the IRIX problem.
5990
5991 2012-03-07  Bruno Haible  <bruno@clisp.org>
5992
5993         copysignf: Don't override undeclared system function on IRIX 6.5.
5994         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
5995         HAVE_COPYSIGNF.
5996         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
5997         declared when it exists. Set HAVE_DECL_COPYSIGNF.
5998         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
5999         not HAVE_COPYSIGNF.
6000         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
6001         HAVE_COPYSIGNF.
6002         * doc/posix-functions/copysignf.texi: Mention missing declaration
6003         problem.
6004
6005 2012-03-07  Jim Meyering  <meyering@redhat.com>
6006
6007         readtokens: add tests
6008         * modules/readtokens-tests: New file.
6009         * tests/test-readtokens.c: New file.
6010
6011 2012-03-07  Jim Meyering  <meyering@redhat.com>
6012
6013         quotearg: the module must now include quote.h
6014         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
6015         So must the module.
6016         * modules/quotearg (Files): Add quote.h.
6017
6018 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
6019
6020         readtokens: avoid core dumps with unusual calling patterns
6021         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
6022         * lib/readtokens.c: Include limits.h.
6023         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
6024         (readtoken): Don't cache the delimiters; the cache code was buggy
6025         if !delim && saved_delim, or if the new n_delim differs from the old.
6026         Also, it wasn't thread-safe.
6027
6028 2012-03-07  Bruno Haible  <bruno@clisp.org>
6029
6030         quote: Adhere to common module description layout.
6031         * modules/quote (Makefile.am): Add back empty section.
6032
6033 2012-03-06  Akim Demaille  <demaille@gostai.com>
6034
6035         quote: fuse into quotearg
6036         This patch is made for the benefit of Bison.
6037         quote does not leave the choice of the quoting style to the user.
6038         quoting_style provides poor customizability, yet quoting_options,
6039         which is very rich, is hidden inside quotearg.c.  So in order to
6040         allow quote customization, move its implementation to quotearg.c.
6041         * lib/quote.c: Remove.
6042         * modules/quote: Adjust.
6043         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
6044         warning: provide all the members of literal structs.
6045         (quote_quoting_options): New.
6046         (quote, quote_n): Import implementation from quote.c.
6047         * lib/quote.h: Import the comments from quote.c.
6048         (quote_quoting_options): New.
6049
6050 2012-03-06  Bruno Haible  <bruno@clisp.org>
6051
6052         Tests for module 'expm1l-ieee'.
6053         * modules/expm1l-ieee-tests: New file.
6054         * tests/test-expm1l-ieee.c: New file.
6055
6056         New module 'expm1l-ieee'.
6057         * modules/expm1l-ieee: New file.
6058
6059         Tests for module 'expm1f-ieee'.
6060         * modules/expm1f-ieee-tests: New file.
6061         * tests/test-expm1f-ieee.c: New file.
6062
6063         New module 'expm1f-ieee'.
6064         * modules/expm1f-ieee: New file.
6065
6066         Tests for module 'expm1-ieee'.
6067         * modules/expm1-ieee-tests: New file.
6068         * tests/test-expm1-ieee.c: New file.
6069         * tests/test-expm1-ieee.h: New file.
6070
6071         New module 'expm1-ieee'.
6072         * modules/expm1-ieee: New file.
6073         * m4/expm1-ieee.m4: New file.
6074         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
6075         whether expm1 works with a minus zero argument. Replace it if not.
6076         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
6077         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
6078         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
6079         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
6080         (Depends-on): Update conditions.
6081         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
6082         AIX problem.
6083
6084 2012-03-06  Bruno Haible  <bruno@clisp.org>
6085
6086         Work around expm1f bug on IRIX 6.5.
6087         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
6088         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
6089         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
6090         not work.
6091         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
6092         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
6093         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
6094         (Depends-on): Update conditions.
6095         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
6096
6097 2012-03-06  Bruno Haible  <bruno@clisp.org>
6098
6099         Tests for module 'expm1l'.
6100         * modules/expm1l-tests: New file.
6101         * tests/test-expm1l.c: New file.
6102
6103         New module 'expm1l'.
6104         * lib/math.in.h (expm1l): New declaration.
6105         * lib/expm1l.c: New file.
6106         * m4/expm1l.m4: New file.
6107         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
6108         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
6109         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
6110         * modules/expm1l: New file.
6111         * tests/test-math-c++.cc: Check the declaration of expm1l.
6112         * doc/posix-functions/expm1l.texi: Mention the new module.
6113
6114 2012-03-06  Bruno Haible  <bruno@clisp.org>
6115
6116         Tests for module 'expm1f'.
6117         * modules/expm1f-tests: New file.
6118         * tests/test-expm1f.c: New file.
6119
6120         New module 'expm1f'.
6121         * lib/math.in.h (expm1f): New declaration.
6122         * lib/expm1f.c: New file.
6123         * m4/expm1f.m4: New file.
6124         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
6125         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
6126         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
6127         * modules/expm1f: New file.
6128         * tests/test-math-c++.cc: Check the declaration of expm1f.
6129         * doc/posix-functions/expm1f.texi: Mention the new module.
6130
6131 2012-03-06  Bruno Haible  <bruno@clisp.org>
6132
6133         Tests for module 'expm1'.
6134         * modules/expm1-tests: New file.
6135         * tests/test-expm1.c: New file.
6136         * tests/test-expm1.h: New file.
6137
6138         New module 'expm1'.
6139         * lib/math.in.h (expm1): New declaration.
6140         * lib/expm1.c: New file.
6141         * m4/expm1.m4: New file.
6142         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
6143         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
6144         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
6145         * modules/expm1: New file.
6146         * tests/test-math-c++.cc: Check the declaration of expm1.
6147         * doc/posix-functions/expm1.texi: Mention the new module.
6148
6149 2012-03-06  Bruno Haible  <bruno@clisp.org>
6150
6151         math: Ensure declarations of math functions.
6152         * modules/acosf (Depends-on): Add 'extensions'.
6153         * modules/asinf (Depends-on): Likewise.
6154         * modules/atan2f (Depends-on): Likewise.
6155         * modules/atanf (Depends-on): Likewise.
6156         * modules/cbrt (Depends-on): Likewise.
6157         * modules/cbrtf (Depends-on): Likewise.
6158         * modules/cbrtl (Depends-on): Likewise.
6159         * modules/copysignf (Depends-on): Likewise.
6160         * modules/copysignl (Depends-on): Likewise.
6161         * modules/cosf (Depends-on): Likewise.
6162         * modules/coshf (Depends-on): Likewise.
6163         * modules/expf (Depends-on): Likewise.
6164         * modules/fabsf (Depends-on): Likewise.
6165         * modules/fabsl (Depends-on): Likewise.
6166         * modules/fmaf (Depends-on): Likewise.
6167         * modules/fmal (Depends-on): Likewise.
6168         * modules/fmodf (Depends-on): Likewise.
6169         * modules/fmodl (Depends-on): Likewise.
6170         * modules/frexpf (Depends-on): Likewise.
6171         * modules/frexpl (Depends-on): Likewise.
6172         * modules/hypot (Depends-on): Likewise.
6173         * modules/hypotf (Depends-on): Likewise.
6174         * modules/hypotl (Depends-on): Likewise.
6175         * modules/ldexpf (Depends-on): Likewise.
6176         * modules/ldexpl (Depends-on): Likewise.
6177         * modules/log10f (Depends-on): Likewise.
6178         * modules/log10l (Depends-on): Likewise.
6179         * modules/log1p (Depends-on): Likewise.
6180         * modules/logb (Depends-on): Likewise.
6181         * modules/logf (Depends-on): Likewise.
6182         * modules/modff (Depends-on): Likewise.
6183         * modules/modfl (Depends-on): Likewise.
6184         * modules/powf (Depends-on): Likewise.
6185         * modules/remainderf (Depends-on): Likewise.
6186         * modules/remainderl (Depends-on): Likewise.
6187         * modules/rintf (Depends-on): Likewise.
6188         * modules/rintl (Depends-on): Likewise.
6189         * modules/sinf (Depends-on): Likewise.
6190         * modules/sinhf (Depends-on): Likewise.
6191         * modules/sqrtf (Depends-on): Likewise.
6192         * modules/tanf (Depends-on): Likewise.
6193         * modules/tanhf (Depends-on): Likewise.
6194         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
6195         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
6196         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
6197         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
6198         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
6199         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
6200         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
6201         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
6202         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
6203         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
6204         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
6205         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
6206         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
6207         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
6208         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
6209         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
6210         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
6211         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6212         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
6213         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
6214         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
6215         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
6216         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
6217         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
6218         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
6219         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
6220         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
6221         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
6222         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
6223         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
6224         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
6225         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
6226         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
6227         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6228         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
6229         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
6230         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
6231         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
6232         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
6233         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
6234         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
6235
6236 2012-03-06  Bruno Haible  <bruno@clisp.org>
6237
6238         math: Update module names in warnings.
6239         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
6240         tanl): Use specific module name in warn-on-use warning.
6241
6242 2012-03-06  Bruno Haible  <bruno@clisp.org>
6243
6244         expl: Simplify computation.
6245         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
6246
6247 2012-03-05  Bruno Haible  <bruno@clisp.org>
6248
6249         exp* tests: More tests.
6250         * tests/test-exp.h: New file.
6251         * tests/test-exp.c: Include <float.h> and test-exp.h.
6252         (main): Invoke test_function.
6253         * tests/test-expf.c: Include <float.h> and test-exp.h.
6254         (main): Invoke test_function.
6255         * tests/test-expl.c: Include <float.h> and test-exp.h.
6256         (main): Invoke test_function.
6257         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
6258         (Makefile.am): Add randomd.c to test_exp_SOURCES.
6259         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
6260         (Makefile.am): Add randomf.c to test_expf_SOURCES.
6261         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
6262         (Depends-on): Add 'float'.
6263         (Makefile.am): Add randoml.c to test_expl_SOURCES.
6264
6265         expl: Fix precision of computed result.
6266         * lib/expl.c: Completely rewritten.
6267         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
6268         (Maintainer): Add me.
6269         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
6270
6271 2012-03-05  Bruno Haible  <bruno@clisp.org>
6272
6273         cbrt* tests: More tests.
6274         * tests/test-cbrt.h: New file.
6275         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
6276         (main): Invoke test_function.
6277         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
6278         (main): Invoke test_function.
6279         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
6280         (main): Invoke test_function.
6281         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
6282         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
6283         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
6284         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
6285         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
6286         (Depends-on): Add 'float'.
6287         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
6288
6289 2012-03-05  Bruno Haible  <bruno@clisp.org>
6290
6291         hypot* tests: More tests.
6292         * tests/test-hypot.h: New file, partially extracted from
6293         tests/test-hypotl.c.
6294         * tests/test-hypot.c: Include test-hypot.h.
6295         (main): Invoke test_function.
6296         * tests/test-hypotf.c: Include test-hypot.h.
6297         (main): Invoke test_function.
6298         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
6299         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
6300         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
6301         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
6302         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
6303         tests/randomf.c.
6304         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
6305         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
6306         tests/randoml.c.
6307         (Depends-on): Add 'fpucw', 'float'.
6308         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
6309
6310 2012-03-05  Bruno Haible  <bruno@clisp.org>
6311
6312         fpucw: Doc about FreeBSD.
6313         * lib/fpucw.h: Mention FreeBSD in comments.
6314
6315 2012-03-04  Bruno Haible  <bruno@clisp.org>
6316
6317         sqrt* tests: More tests.
6318         * tests/test-sqrt.h: New file.
6319         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
6320         (main): Invoke test_function.
6321         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
6322         (main): Invoke test_function.
6323         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
6324         (main): Invoke test_function.
6325         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
6326         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
6327         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
6328         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
6329         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
6330         (Depends-on): Add 'float'.
6331         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
6332
6333 2012-03-04  Bruno Haible  <bruno@clisp.org>
6334
6335         remainder* tests: More tests.
6336         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
6337         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
6338         (main): Invoke test_function.
6339         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
6340         (main): Invoke test_function.
6341         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
6342         (main): Invoke test_function.
6343         * modules/remainder-tests (Files): Add tests/test-remainder.h,
6344         tests/randomd.c.
6345         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
6346         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
6347         tests/randomf.c.
6348         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
6349         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
6350         tests/randoml.c.
6351         (Depends-on): Add 'float'.
6352         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
6353
6354 2012-03-04  Bruno Haible  <bruno@clisp.org>
6355
6356         remainder, remainderf, remainderl: Fix computation for large quotients.
6357         * lib/remainder.c: Completely rewritten.
6358         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
6359         USE_FLOAT.
6360         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
6361         USE_LONG_DOUBLE.
6362         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
6363         isnand, isinf. Remove round, fma.
6364         * modules/remainderf (Files): Add lib/remainder.c.
6365         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
6366         Remove roundf, fmaf.
6367         * modules/remainderl (Files): Add lib/remainder.c.
6368         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
6369         isinf. Remove roundl, fmal.
6370         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
6371         REMAINDER_LIBM.
6372         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
6373         REMAINDERF_LIBM.
6374         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
6375         REMAINDERL_LIBM.
6376
6377 2012-03-04  Bruno Haible  <bruno@clisp.org>
6378
6379         fmod* tests: More tests.
6380         * tests/test-fmod.h (my_ldexp): New function.
6381         (test_function): Reduce amount of random numbers to test. Add tests
6382         of very large quotients x / y.
6383         * tests/test-fmod.c (MAX_EXP): New macro.
6384         * tests/test-fmodf.c (MAX_EXP): Likewise.
6385         * tests/test-fmodl.c (MAX_EXP): Likewise.
6386
6387 2012-03-04  Bruno Haible  <bruno@clisp.org>
6388
6389         fmod, fmodl: Fix computation for large quotients x / y.
6390         * lib/fmod.c: Completely rewritten.
6391         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
6392         USE_LONG_DOUBLE.
6393         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
6394         isnand. Remove fma.
6395         * modules/fmodl (Files): Add lib/fmod.c.
6396         (Depends-on): Add float, isfinite, signbit, fabsl,
6397         frexpl, ldexpl, isnanl. Remove fma.
6398         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
6399         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
6400
6401 2012-03-03  Bruno Haible  <bruno@clisp.org>
6402
6403         fmod* tests: More tests.
6404         * tests/test-fmod.h: New file.
6405         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
6406         (main): Invoke test_function.
6407         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
6408         (main): Invoke test_function.
6409         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
6410         (main): Invoke test_function.
6411         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
6412         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
6413         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
6414         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
6415         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
6416         (Depends-on): Add 'float'.
6417         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
6418
6419 2012-03-03  Bruno Haible  <bruno@clisp.org>
6420
6421         rint* tests: More tests.
6422         * tests/test-rint.h: New file, partially extracted from
6423         tests/test-rintl.c.
6424         * tests/test-rint.c: Include test-rint.h.
6425         (main): Invoke test_function.
6426         * tests/test-rintf.c: Include test-rint.h.
6427         (main): Invoke test_function.
6428         * tests/test-rintl.c: Include test-rint.h.
6429         (main): Invoke test_function.
6430         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
6431         (Makefile.am): Add randomd.c to test_rint_SOURCES.
6432         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
6433         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
6434         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
6435         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
6436
6437 2012-03-03  Bruno Haible  <bruno@clisp.org>
6438
6439         modf* tests: More tests.
6440         * tests/test-modf.h: New file.
6441         * tests/test-modf.c: Include <float.h> and test-modf.h.
6442         (main): Invoke test_function.
6443         * tests/test-modff.c: Include <float.h> and test-modf.h.
6444         (main): Invoke test_function.
6445         * tests/test-modfl.c: Include <float.h> and test-modf.h.
6446         (main): Invoke test_function.
6447         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
6448         (Makefile.am): Add randomd.c to test_modf_SOURCES.
6449         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
6450         (Makefile.am): Add randomf.c to test_modff_SOURCES.
6451         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
6452         (Depends-on): Add 'float'.
6453         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
6454
6455 2012-03-03  Bruno Haible  <bruno@clisp.org>
6456
6457         fabs* tests: More tests.
6458         * tests/test-fabs.h: New file, partially extracted from
6459         tests/test-fabsl.c.
6460         * tests/test-fabs.c (RANDOM): New macro.
6461         * tests/test-fabsf.c (RANDOM): New macro.
6462         * tests/test-fabsl.c (RANDOM): New macro.
6463         * modules/fabs-tests (Files): Add tests/randomd.c.
6464         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
6465         * modules/fabsf-tests (Files): Add tests/randomf.c.
6466         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
6467         * modules/fabsl-tests (Files): Add tests/randoml.c.
6468         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
6469
6470 2012-03-03  Bruno Haible  <bruno@clisp.org>
6471
6472         ldexp* tests: More tests.
6473         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
6474         * tests/test-ldexp.c (RANDOM): New macro.
6475         * tests/test-ldexpf.c (RANDOM): New macro.
6476         * tests/test-ldexpl.c (RANDOM): New macro.
6477         * modules/ldexp-tests (Files): Add tests/randomd.c.
6478         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
6479         * modules/ldexpf-tests (Files): Add tests/randomf.c.
6480         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
6481         * modules/ldexpl-tests (Files): Add tests/randoml.c.
6482         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
6483
6484 2012-03-03  Bruno Haible  <bruno@clisp.org>
6485
6486         frexp* tests: More tests.
6487         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
6488         * tests/test-frexp.c (RANDOM): New macro.
6489         * tests/test-frexpf.c (RANDOM): New macro.
6490         * tests/test-frexpl.c (RANDOM): New macro.
6491         * modules/frexp-tests (Files): Add tests/randomd.c.
6492         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
6493         * modules/frexpf-tests (Files): Add tests/randomf.c.
6494         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
6495         * modules/frexpl-tests (Files): Add tests/randoml.c.
6496         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
6497
6498 2012-03-03  Bruno Haible  <bruno@clisp.org>
6499
6500         Support for pseudo-random numbers in tests.
6501         * tests/randomf.c: New file.
6502         * tests/randomd.c: New file.
6503         * tests/randoml.c: New file.
6504         * tests/macros.h (randomf, randomd, randoml): New declarations.
6505
6506 2012-03-03  Bruno Haible  <bruno@clisp.org>
6507
6508         frexp* tests: Refactor.
6509         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
6510         * tests/test-frexp.c: Include and use it.
6511         * tests/test-frexpf.c: Likewise.
6512         * tests/test-frexpl.c: Likewise.
6513         * modules/frexp-tests (Files): Add tests/test-frexp.h.
6514         * modules/frexpf-tests (Files): Likewise.
6515         * modules/frexpl-tests (Files): Likewise.
6516
6517 2012-03-02  Jim Meyering  <meyering@redhat.com>
6518
6519         maint: don't specify XZ_OPT=-9ev in dist-related rule
6520         Using xz's -9 option is warranted only if you have a very large
6521         tarball (see xz's documentation for the sizes vs. presets), and
6522         requires 64MiB of memory at decompression time.
6523         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
6524         Automake's default of just "-e" is fine.  Override on a
6525         per-package basis by setting XZ_OPT e.g., in cfg.mk.
6526
6527 2012-03-01  Eric Blake  <eblake@redhat.com>
6528
6529         maint.mk: allow announcement for non-gnulib project
6530         * maint.mk (announcement): Skip gnulib version if not used.
6531
6532 2012-03-01  Jim Meyering  <meyering@redhat.com>
6533
6534         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
6535         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
6536         envvar settings cannot interfere.  Otherwise, setting envvars like
6537         prohibit=foo require=bar, etc. would cause spurious test failures.
6538
6539 2012-03-01  Eric Blake  <eblake@redhat.com>
6540
6541         maint.mk: add per-line exclusions to prohibitions
6542         * maint.mk (_sc_search_regexp): Add $exclude parameter.
6543         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
6544         (sc_const_long_option): Use it.
6545
6546 2012-03-01  Bruno Haible  <bruno@clisp.org>
6547
6548         Tests for module 'expl-ieee'.
6549         * modules/expl-ieee-tests: New file.
6550         * tests/test-expl-ieee.c: New file.
6551
6552         New module 'expl-ieee'.
6553         * modules/expl-ieee: New file.
6554
6555         Tests for module 'exp-ieee'.
6556         * modules/exp-ieee-tests: New file.
6557         * tests/test-exp-ieee.c: New file.
6558
6559         New module 'exp-ieee'.
6560         * modules/exp-ieee: New file.
6561
6562         Tests for module 'expf-ieee'.
6563         * modules/expf-ieee-tests: New file.
6564         * tests/test-expf-ieee.c: New file.
6565         * tests/test-exp-ieee.h: New file.
6566
6567         New module 'expf-ieee'.
6568         * modules/expf-ieee: New file.
6569
6570 2012-02-29  Bruno Haible  <bruno@clisp.org>
6571
6572         cbrtl-ieee: Work around test failure on IRIX 6.5.
6573         * m4/cbrtl-ieee.m4: New file.
6574         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
6575         test whether cbrtl works with a minus zero argument. Replace it if not.
6576         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
6577         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
6578         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
6579         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
6580         (Depends-on): Update conditions.
6581         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
6582         m4/signbit.m4.
6583         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
6584         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
6585         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
6586
6587         Tests for module 'cbrtl-ieee'.
6588         * modules/cbrtl-ieee-tests: New file.
6589         * tests/test-cbrtl-ieee.c: New file.
6590
6591         New module 'cbrtl-ieee'.
6592         * modules/cbrtl-ieee: New file.
6593
6594         Tests for module 'cbrt-ieee'.
6595         * modules/cbrt-ieee-tests: New file.
6596         * tests/test-cbrt-ieee.c: New file.
6597
6598         New module 'cbrt-ieee'.
6599         * modules/cbrt-ieee: New file.
6600
6601         Tests for module 'cbrtf-ieee'.
6602         * modules/cbrtf-ieee-tests: New file.
6603         * tests/test-cbrtf-ieee.c: New file.
6604         * tests/test-cbrt-ieee.h: New file.
6605
6606         New module 'cbrtf-ieee'.
6607         * modules/cbrtf-ieee: New file.
6608
6609 2012-02-29  Bruno Haible  <bruno@clisp.org>
6610
6611         cbrtf: Work around bug in IRIX 6.5 system function.
6612         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
6613         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
6614         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
6615         work.
6616         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
6617         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
6618         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
6619         (Depends-on): Update conditions.
6620         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
6621
6622 2012-02-29  Bruno Haible  <bruno@clisp.org>
6623
6624         Tests for module 'cbrtl'.
6625         * modules/cbrtl-tests: New file.
6626         * tests/test-cbrtl.c: New file.
6627
6628         New module 'cbrtl'.
6629         * lib/math.in.h (cbrtl): New declaration.
6630         * lib/cbrtl.c: New file.
6631         * m4/cbrtl.m4: New file.
6632         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
6633         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
6634         HAVE_DECL_CBRTL.
6635         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
6636         HAVE_DECL_CBRTL.
6637         * modules/cbrtl: New file.
6638         * tests/test-math-c++.cc: Check the declaration of cbrtl.
6639         * doc/posix-functions/cbrtl.texi: Mention the new module.
6640
6641 2012-02-29  Bruno Haible  <bruno@clisp.org>
6642
6643         Tests for module 'cbrtf'.
6644         * modules/cbrtf-tests: New file.
6645         * tests/test-cbrtf.c: New file.
6646
6647         New module 'cbrtf'.
6648         * lib/math.in.h (cbrtf): New declaration.
6649         * lib/cbrtf.c: New file.
6650         * m4/cbrtf.m4: New file.
6651         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
6652         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
6653         HAVE_DECL_CBRTF.
6654         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
6655         HAVE_DECL_CBRTF.
6656         * modules/cbrtf: New file.
6657         * tests/test-math-c++.cc: Check the declaration of cbrtf.
6658         * doc/posix-functions/cbrtf.texi: Mention the new module.
6659
6660 2012-02-29  Bruno Haible  <bruno@clisp.org>
6661
6662         cbrt: Provide replacement on MSVC and Minix.
6663         * lib/math.in.h (cbrt): New declaration.
6664         * lib/cbrt.c: New file.
6665         * m4/cbrt.m4: New file.
6666         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
6667         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
6668         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
6669         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
6670         (Depends-on): Add dependencies.
6671         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
6672         * tests/test-math-c++.cc: Check the declaration of cbrt.
6673         * doc/posix-functions/cbrt.texi: Mention that the module provides a
6674         replacement.
6675
6676 2012-02-29  Bruno Haible  <bruno@clisp.org>
6677
6678         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
6679         * m4/hypotl-ieee.m4: New file.
6680         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
6681         test whether hypotl works with mixed NaN and Infinity arguments.
6682         Replace it if not.
6683         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
6684         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
6685         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
6686         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
6687         (Depends-on): Update conditions.
6688         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
6689         (Depends-on): Add hypot-ieee.
6690         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
6691         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
6692
6693         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
6694         * m4/hypotf-ieee.m4: New file.
6695         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
6696         test whether hypotf works with mixed NaN and Infinity arguments.
6697         Replace it if not.
6698         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
6699         (Depends-on): Add hypot-ieee.
6700         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
6701         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
6702
6703         hypot-ieee: Work around test failure on OSF/1 and native Windows.
6704         * lib/math.in.h (hypot): New declaration.
6705         * lib/hypot.c: New file.
6706         * m4/hypot-ieee.m4: New file.
6707         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
6708         whether hypot works with mixed NaN and Infinity arguments. Replace it
6709         if not.
6710         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
6711         REPLACE_HYPOT.
6712         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
6713         * modules/hypot (Files): Add lib/hypot.c.
6714         (Depends-on): Add dependencies.
6715         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
6716         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
6717         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
6718         * tests/test-math-c++.cc: Check the declaration of hypot.
6719         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
6720
6721         Tests for module 'hypotl-ieee'.
6722         * modules/hypotl-ieee-tests: New file.
6723         * tests/test-hypotl-ieee.c: New file.
6724
6725         New module 'hypotl-ieee'.
6726         * modules/hypotl-ieee: New file.
6727
6728         Tests for module 'hypot-ieee'.
6729         * modules/hypot-ieee-tests: New file.
6730         * tests/test-hypot-ieee.c: New file.
6731
6732         New module 'hypot-ieee'.
6733         * modules/hypot-ieee: New file.
6734
6735         Tests for module 'hypotf-ieee'.
6736         * modules/hypotf-ieee-tests: New file.
6737         * tests/test-hypotf-ieee.c: New file.
6738         * tests/test-hypot-ieee.h: New file.
6739
6740         New module 'hypotf-ieee'.
6741         * modules/hypotf-ieee: New file.
6742
6743 2012-02-29  Bruno Haible  <bruno@clisp.org>
6744
6745         Remove unused variables.
6746         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
6747         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6748         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
6749         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6750
6751 2012-02-29  Eric Blake  <eblake@redhat.com>
6752
6753         termios: fix pid_t always, not just for tcgetsid
6754         * doc/posix-headers/termios.texi (termios.h): Mention problem.
6755         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
6756         just when building tcgetsid.
6757
6758 2012-02-29  Bruno Haible  <bruno@clisp.org>
6759
6760         Tests for module 'hypotl'.
6761         * modules/hypotl-tests: New file.
6762         * tests/test-hypotl.c: New file.
6763
6764         New module 'hypotl'.
6765         * lib/math.in.h (hypotl): New declaration.
6766         * lib/hypotl.c: New file.
6767         * m4/hypotl.m4: New file.
6768         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
6769         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
6770         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
6771         * modules/hypotl: New file.
6772         * tests/test-math-c++.cc: Check the hypotl declaration.
6773         * doc/posix-functions/hypotl.texi: Mention the new module.
6774
6775 2012-02-29  Eric Blake  <eblake@redhat.com>
6776
6777         tcgetsid: fix cygwin header bug
6778         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
6779
6780         docs: update cygwin progress
6781         * doc/posix-functions/llround.texi (llround): Added in cygwin
6782         1.7.8.
6783         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
6784         * doc/glibc-functions/program_invocation_name.texi
6785         (program_invocation_name): Likewise.
6786         * doc/glibc-functions/program_invocation_short_name.texi
6787         (program_invocation_short_name): Likewise.
6788         * doc/glibc-functions/madvise.texi (madvise): Likewise.
6789         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
6790         Likewise.
6791         * doc/posix-functions/pthread_spin_destroy.texi
6792         (pthread_spin_destroy): Added in cygwin 1.7.10.
6793         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
6794         Likewise.
6795         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
6796         Likewise.
6797         * doc/posix-functions/pthread_spin_trylock.texi
6798         (pthread_spin_trylock): Likewise.
6799         * doc/posix-functions/pthread_spin_unlock.texi
6800         (pthread_spin_unlock): Likewise.
6801         * doc/posix-functions/pthread_setschedprio.texi
6802         (pthread_setschedprio): Likewise.
6803         * doc/posix-functions/pthread_attr_getstack.texi
6804         (pthread_attr_getstack): Likewise.
6805         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
6806         (pthread_attr_getstackaddr): Likewise.
6807         * doc/glibc-functions/pthread_getattr_np.texi
6808         (pthread_getattr_np): Likewise.
6809         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
6810         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
6811         * doc/posix-functions/clock_settime.texi (clock_settime):
6812         Likewise.
6813         * doc/posix-functions/pthread_attr_getguardsize.texi
6814         (pthread_attr_getguardsize): Likewise.
6815         * doc/posix-functions/pthread_attr_setguardsize.texi
6816         (pthread_attr_setguardsize): Likewise.
6817         * doc/posix-functions/pthread_attr_setstack.texi
6818         (pthread_attr_setstack): Likewise.
6819         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
6820         (pthread_attr_setstackaddr): Likewise.
6821         * doc/posix-functions/clock_getcpuclockid.texi
6822         (clock_getcpuclockid): Likewise.
6823         * doc/posix-functions/pthread_getcpuclockid.texi
6824         (pthread_getcpuclockid): Likewise.
6825         * doc/glibc-functions/error.texi (error): Likewise.
6826         * doc/glibc-functions/error_at_line.texi (error_at_line):
6827         Likewise.
6828         * doc/glibc-functions/error_message_count.texi
6829         (error_message_count): Likewise.
6830         * doc/glibc-functions/error_one_per_line.texi
6831         (error_one_per_line): Likewise.
6832         * doc/glibc-functions/error_print_progname.texi
6833         (error_print_progname): Likewise.
6834         * doc/posix-functions/pthread_condattr_getclock.texi
6835         (pthread_condattr_getclock): Likewise.
6836         * doc/posix-functions/pthread_condattr_setclock.texi
6837         (pthread_condattr_setclock): Likewise.
6838         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
6839         Likewise.
6840         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
6841         * doc/glibc-functions/getpt.texi (getpt): Likewise.
6842         * doc/glibc-functions/get_current_dir_name.texi
6843         (get_current_dir_name): Likewise.
6844         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
6845         Likewise.
6846         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
6847         wrong return type.
6848         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
6849         1.7.11.
6850
6851 2012-02-29  Bruno Haible  <bruno@clisp.org>
6852
6853         Tests for module 'hypotf'.
6854         * modules/hypotf-tests: New file.
6855         * tests/test-hypotf.c: New file.
6856
6857         New module 'hypotf'.
6858         * lib/math.in.h (hypotf): New declaration.
6859         * lib/hypotf.c: New file.
6860         * m4/hypotf.m4: New file.
6861         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
6862         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
6863         REPLACE_HYPOTF.
6864         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
6865         REPLACE_HYPOTF.
6866         * modules/hypotf: New file.
6867         * tests/test-math-c++.cc: Check the hypotf declaration.
6868         * doc/posix-functions/hypotf.texi: Mention the new module.
6869
6870         hypot: Prepare for hypotf module.
6871         * m4/hypot.m4: New file.
6872         * modules/hypot (Files): Add m4/hypot.m4.
6873         (configure.ac): Invoke gl_FUNC_HYPOT.
6874
6875 2012-02-29  Bruno Haible  <bruno@clisp.org>
6876
6877         hypot tests: More tests.
6878         * tests/test-hypot.c: Include <float.h>.
6879         (main): Add tests about overflow and underflow.
6880
6881 2012-02-29  Bruno Haible  <bruno@clisp.org>
6882
6883         math code: Add comments.
6884         * lib/acosl.c: Add comment about related glibc source files.
6885         * lib/asinl.c: Likewise.
6886         * lib/atanl.c: Likewise.
6887         * lib/expl.c: Likewise.
6888         * lib/logl.c: Likewise.
6889         * lib/sincosl.c: Likewise.
6890         * lib/sinl.c: Likewise.
6891         * lib/tanl.c: Likewise.
6892         * lib/trigl.c: Likewise.
6893         * lib/cosl.c: Likewise. Fix comments.
6894
6895 2012-02-28  Bruno Haible  <bruno@clisp.org>
6896
6897         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
6898         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
6899         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
6900         HUGE_VALL are defined.
6901         (numeric_equald): Renamed from numeric_equal.
6902         (numeric_equalf, numeric_equall): New functions.
6903         (main): Check also HUGE_VALF, HUGE_VALL.
6904         * modules/math-tests (Files): Add tests/macros.h.
6905         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
6906         HUGE_VALL.
6907
6908 2012-02-28  Bruno Haible  <bruno@clisp.org>
6909
6910         doc: Move ISO C11 feature notes into POSIX chapters.
6911         * doc/posix-functions/aligned_alloc.texi: Renamed from
6912         doc/glibc-functions/aligned_alloc.texi.
6913         * doc/posix-functions/quick_exit.texi: Renamed from
6914         doc/glibc-functions/quick_exit.texi.
6915         * doc/posix-headers/uchar.texi: Renamed from
6916         doc/glibc-headers/uchar.texi.
6917         * doc/posix-functions/c16rtomb.texi: Renamed from
6918         doc/glibc-functions/c16rtomb.texi.
6919         * doc/posix-functions/c32rtomb.texi: Renamed from
6920         doc/glibc-functions/c32rtomb.texi.
6921         * doc/posix-functions/mbrtoc16.texi: Renamed from
6922         doc/glibc-functions/mbrtoc16.texi.
6923         * doc/posix-functions/mbrtoc32.texi: Renamed from
6924         doc/glibc-functions/mbrtoc32.texi.
6925         * doc/gnulib.texi: Update.
6926         (Glibc uchar.h): Remove section.
6927         Suggested by Eric Blake.
6928
6929 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
6930
6931         stdnoreturn: port to MSVC better
6932         MSVC standard headers use __declspec(noreturn), so #define noreturn
6933         to empty on that platform.  Reported by Bruno Haible in
6934         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
6935         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
6936         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
6937
6938 2012-02-28  Bruno Haible  <bruno@clisp.org>
6939
6940         doc: Mention new glibc headers and functions.
6941         * doc/glibc-headers/uchar.texi: New file.
6942         * doc/glibc-functions/aligned_alloc.texi: New file.
6943         * doc/glibc-functions/c16rtomb.texi: New file.
6944         * doc/glibc-functions/c32rtomb.texi: New file.
6945         * doc/glibc-functions/clock_adjtime.texi: New file.
6946         * doc/glibc-functions/fanotify_init.texi: New file.
6947         * doc/glibc-functions/fanotify_mark.texi: New file.
6948         * doc/glibc-functions/inet6_opt_append.texi: New file.
6949         * doc/glibc-functions/inet6_opt_find.texi: New file.
6950         * doc/glibc-functions/inet6_opt_finish.texi: New file.
6951         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
6952         * doc/glibc-functions/inet6_opt_init.texi: New file.
6953         * doc/glibc-functions/inet6_opt_next.texi: New file.
6954         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
6955         * doc/glibc-functions/inet6_rth_add.texi: New file.
6956         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
6957         * doc/glibc-functions/inet6_rth_init.texi: New file.
6958         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
6959         * doc/glibc-functions/inet6_rth_segments.texi: New file.
6960         * doc/glibc-functions/inet6_rth_space.texi: New file.
6961         * doc/glibc-functions/login.texi: New file.
6962         * doc/glibc-functions/mbrtoc16.texi: New file.
6963         * doc/glibc-functions/mbrtoc32.texi: New file.
6964         * doc/glibc-functions/name_to_handle_at.texi: New file.
6965         * doc/glibc-functions/ntp_gettimex.texi: New file.
6966         * doc/glibc-functions/open_by_handle_at.texi: New file.
6967         * doc/glibc-functions/prlimit.texi: New file.
6968         * doc/glibc-functions/process_vm_readv.texi: New file.
6969         * doc/glibc-functions/process_vm_writev.texi: New file.
6970         * doc/glibc-functions/recvmmsg.texi: New file.
6971         * doc/glibc-functions/scandirat.texi: New file.
6972         * doc/glibc-functions/sendmmsg.texi: New file.
6973         * doc/glibc-functions/setns.texi: New file.
6974         * doc/glibc-functions/timespec_get.texi: New file.
6975         * doc/gnulib.texi: Include them.
6976         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
6977         sections.
6978         Reported by Eric Blake.
6979
6980 2012-02-28  Bruno Haible  <bruno@clisp.org>
6981
6982         Avoid compilation errors with MSVC option -fp:strict.
6983         * lib/floor.c: Use MSVC specific pragma fenv_access.
6984         * lib/ceil.c: Likewise.
6985         * lib/trunc.c: Likewise.
6986         * lib/round.c: Likewise.
6987         * lib/rint.c: Likewise.
6988         * lib/fma.c: Likewise.
6989         * lib/integer_length.c: Likewise.
6990         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
6991         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
6992         * tests/test-floor2.c: Likewise.
6993         * tests/test-floorf2.c: Likewise.
6994         * tests/test-ceil2.c: Likewise.
6995         * tests/test-ceilf2.c: Likewise.
6996         * tests/test-trunc2.c: Likewise.
6997         * tests/test-truncf2.c: Likewise.
6998         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
6999
7000 2012-02-27  Bruno Haible  <bruno@clisp.org>
7001
7002         Tests for module 'sqrtl-ieee'.
7003         * modules/sqrtl-ieee-tests: New file.
7004         * tests/test-sqrtl-ieee.c: New file.
7005
7006         New module 'sqrtl-ieee'.
7007         * modules/sqrtl-ieee: New file.
7008
7009         Tests for module 'sqrt-ieee'.
7010         * modules/sqrt-ieee-tests: New file.
7011         * tests/test-sqrt-ieee.c: New file.
7012
7013         New module 'sqrt-ieee'.
7014         * modules/sqrt-ieee: New file.
7015
7016         Tests for module 'sqrtf-ieee'.
7017         * modules/sqrtf-ieee-tests: New file.
7018         * tests/test-sqrtf-ieee.c: New file.
7019         * tests/test-sqrt-ieee.h: New file.
7020
7021         New module 'sqrtf-ieee'.
7022         * modules/sqrtf-ieee: New file.
7023
7024 2012-02-27  Bruno Haible  <bruno@clisp.org>
7025
7026         remainderl-ieee: Work around test failure on OSF/1.
7027         * m4/remainderl-ieee.m4: New file.
7028         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
7029         present, test whether remainderl works with a zero second argument.
7030         Replace it if not.
7031         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
7032         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
7033         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
7034         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
7035         (Depends-on): Update conditions.
7036         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
7037         (Depends-on): Add remainder-ieee.
7038         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
7039         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
7040         module.
7041
7042         remainderf-ieee: Work around test failure on OSF/1.
7043         * m4/remainderf-ieee.m4: New file.
7044         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
7045         present, test whether remainderf works with a zero second argument.
7046         Replace it if not.
7047         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
7048         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
7049         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
7050         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
7051         (Depends-on): Update conditions.
7052         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
7053         (Depends-on): Add remainder-ieee.
7054         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
7055         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
7056         module.
7057
7058         remainder-ieee: Work around test failure on OSF/1.
7059         * m4/remainder-ieee.m4: New file.
7060         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
7061         present, test whether remainder works with a zero second argument.
7062         Replace it if not.
7063         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
7064         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
7065         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
7066         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
7067         (Depends-on): Update dependencies.
7068         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
7069         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
7070         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
7071
7072         Tests for module 'remainderl-ieee'.
7073         * modules/remainderl-ieee-tests: New file.
7074         * tests/test-remainderl-ieee.c: New file.
7075
7076         New module 'remainderl-ieee'.
7077         * modules/remainderl-ieee: New file.
7078
7079         Tests for module 'remainder-ieee'.
7080         * modules/remainder-ieee-tests: New file.
7081         * tests/test-remainder-ieee.c: New file.
7082
7083         New module 'remainder-ieee'.
7084         * modules/remainder-ieee: New file.
7085
7086         Tests for module 'remainderf-ieee'.
7087         * modules/remainderf-ieee-tests: New file.
7088         * tests/test-remainderf-ieee.c: New file.
7089         * tests/test-remainder-ieee.h: New file.
7090
7091         New module 'remainderf-ieee'.
7092         * modules/remainderf-ieee: New file.
7093
7094 2012-02-27  Bruno Haible  <bruno@clisp.org>
7095
7096         modff, modfl: Fix configure syntax error.
7097         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
7098         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
7099
7100 2012-02-27  Bruno Haible  <bruno@clisp.org>
7101
7102         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
7103         * m4/fmodl-ieee.m4: New file.
7104         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
7105         whether fmodl works with zero arguments. Replace it if not.
7106         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
7107         (Depends-on): Add fmod-ieee.
7108         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
7109         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
7110
7111         fmodf-ieee: Work around test failure on OSF/1.
7112         * m4/fmodf-ieee.m4: New file.
7113         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
7114         whether fmodf works with zero arguments. Replace it if not.
7115         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
7116         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
7117         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
7118         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
7119         (Depends-on): Update dependencies.
7120         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
7121         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
7122         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
7123
7124         fmodf-ieee: Work around test failure on MSVC 9.
7125         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
7126         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
7127
7128         fmod-ieee: Work around test failures on OSF/1, mingw.
7129         * m4/fmod-ieee.m4: New file.
7130         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
7131         whether fmod works with zero arguments. Replace it if not.
7132         * lib/math.in.h (fmod): New declaration.
7133         * lib/fmod.c: New file.
7134         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
7135         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
7136         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
7137         * modules/fmod (Files): Add lib/fmod.c.
7138         (Depends-on): Add math, isinf, trunc, fma.
7139         (configure.ac): Arrange to compile lib/fmod.c if needed.
7140         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
7141         m4/signbit.m4.
7142         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
7143         * tests/test-math-c++.cc: Check the declaration of fmod.
7144         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
7145
7146         fmodl-ieee: Fix test failures.
7147         * lib/fmodl.c (fmodl): Treat Inf specially.
7148         * modules/fmodl (Depends-on): Add isinf.
7149
7150         Tests for module 'fmodl-ieee'.
7151         * modules/fmodl-ieee-tests: New file.
7152         * tests/test-fmodl-ieee.c: New file.
7153
7154         New module 'fmodl-ieee'.
7155         * modules/fmodl-ieee: New file.
7156
7157         Tests for module 'fmod-ieee'.
7158         * modules/fmod-ieee-tests: New file.
7159         * tests/test-fmod-ieee.c: New file.
7160
7161         New module 'fmod-ieee'.
7162         * modules/fmod-ieee: New file.
7163
7164         Tests for module 'fmodf-ieee'.
7165         * modules/fmodf-ieee-tests: New file.
7166         * tests/test-fmodf-ieee.c: New file.
7167         * tests/test-fmod-ieee.h: New file.
7168
7169         New module 'fmodf-ieee'.
7170         * modules/fmodf-ieee: New file.
7171
7172 2012-02-27  Bruno Haible  <bruno@clisp.org>
7173
7174         Tests for module 'rintl-ieee'.
7175         * modules/rintl-ieee-tests: New file.
7176         * tests/test-rintl-ieee.c: New file.
7177
7178         New module 'rintl-ieee'.
7179         * modules/rintl-ieee: New file.
7180
7181         Tests for module 'rint-ieee'.
7182         * modules/rint-ieee-tests: New file.
7183         * tests/test-rint-ieee.c: New file.
7184
7185         New module 'rint-ieee'.
7186         * modules/rint-ieee: New file.
7187
7188         Tests for module 'rintf-ieee'.
7189         * modules/rintf-ieee-tests: New file.
7190         * tests/test-rintf-ieee.c: New file.
7191         * tests/test-rint-ieee.h: New file.
7192
7193         New module 'rintf-ieee'.
7194         * modules/rintf-ieee: New file.
7195
7196 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
7197
7198         regex: re_search etc. should return -2 when memory exhausted
7199         This bug was uncovered when testing 'grep'.  Without the fix,
7200         re_search and friends return -1 when memory is exhausted, but -1
7201         means no match, and this causes grep to falsely report no-match
7202         instead of memory-exhaustion.  See
7203         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
7204         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
7205         trouble; this can occur if re_search_internal ran out of memory.
7206
7207 2012-02-26  Bruno Haible  <bruno@clisp.org>
7208
7209         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
7210         * m4/modfl-ieee.m4: New file.
7211         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
7212         whether modfl works with Inf. Replace it if not.
7213         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
7214         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
7215         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
7216         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
7217         (Depends-on): Update dependencies.
7218         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
7219         m4/signbit.m4.
7220         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
7221         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
7222
7223         modfl-ieee: Fix dependencies.
7224         * modules/modfl-ieee (Depends-on): Add modf-ieee.
7225
7226         modfl-ieee: Fix test failures.
7227         * lib/modfl.c (modfl): Treat NaN and Inf specially.
7228         * modules/modfl (Depends-on): Add isfinite, isinf.
7229
7230         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
7231         * m4/modff-ieee.m4: New file.
7232         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
7233         whether modff works with NaN and Inf. Replace it if not.
7234         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
7235         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
7236         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
7237         * modules/modff (configure.ac): Consider REPLACE_MODFF.
7238         (Depends-on): Update dependencies.
7239         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
7240         m4/signbit.m4.
7241         (Depends-on): Add modf-ieee.
7242         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
7243         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
7244
7245         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
7246         * m4/modf-ieee.m4: New file.
7247         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
7248         whether modf works with NaN and Inf. Replace it if not.
7249         * lib/math.in.h (modf): New declaration.
7250         * lib/modf.c: New file.
7251         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
7252         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
7253         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
7254         * modules/modf (Files): Add lib/modf.c.
7255         (Depends-on): Add math, isfinite, trunc, isinf.
7256         (configure.ac): Addrange to compile lib/modf.c if needed.
7257         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
7258         m4/signbit.m4.
7259         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
7260         * tests/test-math-c++.cc: Check the declaration of modf.
7261         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
7262
7263         Tests for module 'modfl-ieee'.
7264         * modules/modfl-ieee-tests: New file.
7265         * tests/test-modfl-ieee.c: New file.
7266
7267         New module 'modfl-ieee'.
7268         * modules/modfl-ieee: New file.
7269
7270         Tests for module 'modf-ieee'.
7271         * modules/modf-ieee-tests: New file.
7272         * tests/test-modf-ieee.c: New file.
7273
7274         New module 'modf-ieee'.
7275         * modules/modf-ieee: New file.
7276
7277         Tests for module 'modff-ieee'.
7278         * modules/modff-ieee-tests: New file.
7279         * tests/test-modff-ieee.c: New file.
7280         * tests/test-modf-ieee.h: New file.
7281
7282         New module 'modff-ieee'.
7283         * modules/modff-ieee: New file.
7284
7285 2012-02-26  Bruno Haible  <bruno@clisp.org>
7286
7287         Tests for module 'fabsl-ieee'.
7288         * modules/fabsl-ieee-tests: New file.
7289         * tests/test-fabsl-ieee.c: New file.
7290
7291         New module 'fabsl-ieee'.
7292         * modules/fabsl-ieee: New file.
7293
7294         Tests for module 'fabs-ieee'.
7295         * modules/fabs-ieee-tests: New file.
7296         * tests/test-fabs-ieee.c: New file.
7297
7298         New module 'fabs-ieee'.
7299         * modules/fabs-ieee: New file.
7300
7301         Tests for module 'fabsf-ieee'.
7302         * modules/fabsf-ieee-tests: New file.
7303         * tests/test-fabsf-ieee.c: New file.
7304         * tests/test-fabs-ieee.h: New file.
7305
7306         New module 'fabsf-ieee'.
7307         * modules/fabsf-ieee: New file.
7308
7309 2012-02-26  Bruno Haible  <bruno@clisp.org>
7310
7311         Tests for module 'fmal-ieee'.
7312         * modules/fmal-ieee-tests: New file.
7313         * tests/test-fmal-ieee.c: New file.
7314
7315         New module 'fmal-ieee'.
7316         * modules/fmal-ieee: New file.
7317
7318         Tests for module 'fma-ieee'.
7319         * modules/fma-ieee-tests: New file.
7320         * tests/test-fma-ieee.c: New file.
7321
7322         New module 'fma-ieee'.
7323         * modules/fma-ieee: New file.
7324
7325         Tests for module 'fmaf-ieee'.
7326         * modules/fmaf-ieee-tests: New file.
7327         * tests/test-fmaf-ieee.c: New file.
7328         * tests/test-fma-ieee.h: New file.
7329
7330         New module 'fmaf-ieee'.
7331         * modules/fmaf-ieee: New file.
7332
7333 2012-02-26  Bruno Haible  <bruno@clisp.org>
7334
7335         Tests for module 'ldexpl-ieee'.
7336         * modules/ldexpl-ieee-tests: New file.
7337         * tests/test-ldexpl-ieee.c: New file.
7338
7339         New module 'ldexpl-ieee'.
7340         * modules/ldexpl-ieee: New file.
7341
7342         Tests for module 'ldexp-ieee'.
7343         * modules/ldexp-ieee-tests: New file.
7344         * tests/test-ldexp-ieee.c: New file.
7345
7346         New module 'ldexp-ieee'.
7347         * modules/ldexp-ieee: New file.
7348
7349         Tests for module 'ldexpf-ieee'.
7350         * modules/ldexpf-ieee-tests: New file.
7351         * tests/test-ldexpf-ieee.c: New file.
7352         * tests/test-ldexp-ieee.h: New file.
7353
7354         New module 'ldexpf-ieee'.
7355         * modules/ldexpf-ieee: New file.
7356
7357 2012-02-26  Bruno Haible  <bruno@clisp.org>
7358
7359         Refactor frexp*-ieee tests.
7360         * tests/test-frexp-ieee.h: New file.
7361         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
7362         (main): Just call test_function.
7363         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
7364         (main): Just call test_function.
7365         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
7366         (main): Just call test_function.
7367         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
7368         * modules/frexp-ieee-tests (Files): Likewise.
7369         * modules/frexpl-ieee-tests (Files): Likewise.
7370
7371         Tests for module 'frexpl-ieee'.
7372         * modules/frexpl-ieee-tests: New file.
7373         * tests/test-frexpl-ieee.c: New file.
7374
7375         New module 'frexpl-ieee'.
7376         * modules/frexpl-ieee: New file.
7377
7378         Tests for module 'frexp-ieee'.
7379         * modules/frexp-ieee-tests: New file.
7380         * tests/test-frexp-ieee.c: New file.
7381
7382         New module 'frexp-ieee'.
7383         * modules/frexp-ieee: New file.
7384
7385         Tests for module 'frexpf-ieee'.
7386         * modules/frexpf-ieee-tests: New file.
7387         * tests/test-frexpf-ieee.c: New file.
7388
7389         New module 'frexpf-ieee'.
7390         * modules/frexpf-ieee: New file.
7391
7392 2012-02-26  Bruno Haible  <bruno@clisp.org>
7393
7394         roundl-ieee tests: More tests.
7395         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7396         (main): Add tests for [MX] shaded specification in POSIX.
7397         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7398         (Depends-on): Add isnanl-nolibm.
7399
7400         round-ieee tests: More tests.
7401         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7402         (main): Add tests for [MX] shaded specification in POSIX.
7403         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7404         (Depends-on): Add isnand-nolibm.
7405
7406         roundf-ieee tests: More tests.
7407         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7408         (main): Add tests for [MX] shaded specification in POSIX.
7409         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7410         (Depends-on): Add isnanf-nolibm.
7411
7412         truncl-ieee tests: More tests.
7413         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7414         (main): Add tests for [MX] shaded specification in POSIX.
7415         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7416         (Depends-on): Add isnanl-nolibm.
7417
7418         trunc-ieee tests: More tests.
7419         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7420         (main): Add tests for [MX] shaded specification in POSIX.
7421         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7422         (Depends-on): Add isnand-nolibm.
7423
7424         truncf-ieee tests: More tests.
7425         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7426         (main): Add tests for [MX] shaded specification in POSIX.
7427         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7428         (Depends-on): Add isnanf-nolibm.
7429
7430         ceill-ieee tests: More tests.
7431         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7432         (main): Add tests for [MX] shaded specification in POSIX.
7433         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7434         (Depends-on): Add isnanl-nolibm.
7435
7436         ceil-ieee tests: More tests.
7437         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7438         (main): Add tests for [MX] shaded specification in POSIX.
7439         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7440         (Depends-on): Add isnand-nolibm.
7441
7442         ceilf-ieee tests: More tests.
7443         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7444         (main): Add tests for [MX] shaded specification in POSIX.
7445         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7446         (Depends-on): Add isnanf-nolibm.
7447
7448         floorl-ieee tests: More tests.
7449         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7450         (main): Add tests for [MX] shaded specification in POSIX.
7451         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7452         (Depends-on): Add isnanl-nolibm.
7453
7454         floor-ieee tests: More tests.
7455         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7456         (main): Add tests for [MX] shaded specification in POSIX.
7457         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7458         (Depends-on): Add isnand-nolibm.
7459
7460         floorf-ieee tests: More tests.
7461         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7462         (main): Add tests for [MX] shaded specification in POSIX.
7463         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7464         (Depends-on): Add isnanf-nolibm.
7465
7466 2012-02-26  Bruno Haible  <bruno@clisp.org>
7467
7468         fpieee: More comments.
7469         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
7470
7471 2012-02-25  Bruno Haible  <bruno@clisp.org>
7472
7473         Tests for module 'log10l'.
7474         * modules/log10l-tests: New file.
7475         * tests/test-log10l.c: New file.
7476         * tests/test-math-c++.cc: Check the declaration of log10l.
7477
7478         New module 'log10l'.
7479         * lib/math.in.h (log10l): New declaration.
7480         * lib/log10l.c: New file.
7481         * m4/log10l.m4: New file.
7482         * modules/log10l: New file.
7483         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
7484         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
7485         HAVE_DECL_LOG10L.
7486         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
7487         HAVE_DECL_LOG10L.
7488         * doc/posix-functions/log10l.texi: Mention the new module.
7489
7490 2012-02-25  Bruno Haible  <bruno@clisp.org>
7491
7492         fmodl, remainder*: Avoid wrong results due to rounding errors.
7493         * lib/fmodl.c (fmodl): Correct the result if it is not within the
7494         expected bounds.
7495         * lib/remainderf.c (remainderf): Likewise.
7496         * lib/remainder.c (remainder): Likewise.
7497         * lib/remainderl.c (remainderl): Likewise.
7498
7499 2012-02-25  Bruno Haible  <bruno@clisp.org>
7500
7501         Tests for module 'remainderl'.
7502         * modules/remainderl-tests: New file.
7503         * tests/test-remainderl.c: New file.
7504         * tests/test-math-c++.cc: Check the declaration of remainderl.
7505
7506         New module 'remainderl'.
7507         * lib/math.in.h (remainderl): New declaration.
7508         * lib/remainderl.c: New file.
7509         * m4/remainderl.m4: New file.
7510         * modules/remainderl: New file.
7511         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
7512         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
7513         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
7514         HAVE_REMAINDERL.
7515         * doc/posix-functions/remainderl.texi: Mention the new module.
7516
7517 2012-02-25  Bruno Haible  <bruno@clisp.org>
7518
7519         Tests for module 'remainderf'.
7520         * modules/remainderf-tests: New file.
7521         * tests/test-remainderf.c: New file.
7522         * tests/test-math-c++.cc: Check the declaration of remainderf.
7523
7524         New module 'remainderf'.
7525         * lib/math.in.h (remainderf): New declaration.
7526         * lib/remainderf.c: New file.
7527         * m4/remainderf.m4: New file.
7528         * modules/remainderf: New file.
7529         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
7530         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
7531         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
7532         HAVE_REMAINDERF.
7533         * doc/posix-functions/remainderf.texi: Mention the new module.
7534
7535 2012-02-25  Bruno Haible  <bruno@clisp.org>
7536
7537         remainder: Support for MSVC.
7538         * lib/math.in.h (remainder): New declaration.
7539         * lib/remainder.c: New file.
7540         * m4/remainder.m4: New file.
7541         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
7542         (Depends-on): Add math, round, fma.
7543         (configure.ac): Use results of gl_FUNC_REMAINDER.
7544         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
7545         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
7546         HAVE_DECL_REMAINDER.
7547         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
7548         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
7549         * tests/test-math-c++.cc: Check the declaration of remainder.
7550         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
7551         problems are fixed.
7552
7553 2012-02-25  Bruno Haible  <bruno@clisp.org>
7554
7555         Tests for module 'fmodl'.
7556         * modules/fmodl-tests: New file.
7557         * tests/test-fmodl.c: New file.
7558         * tests/test-math-c++.cc: Check the declaration of fmodl.
7559
7560         New module 'fmodl'.
7561         * lib/math.in.h (fmodl): New declaration.
7562         * lib/fmodl.c: New file.
7563         * m4/fmodl.m4: New file.
7564         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
7565         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
7566         REPLACE_FMODL.
7567         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
7568         REPLACE_FMODL.
7569         * modules/fmodl: New file.
7570         * doc/posix-functions/fmodl.texi: Mention the new module.
7571
7572 2012-02-25  Bruno Haible  <bruno@clisp.org>
7573
7574         Tests for module 'modfl'.
7575         * modules/modfl-tests: New file.
7576         * tests/test-modfl.c: New file.
7577         * tests/test-math-c++.cc: Check the declaration of modfl.
7578
7579         New module 'modfl'.
7580         * lib/math.in.h (modfl): New declaration.
7581         * lib/modfl.c: New file.
7582         * m4/modfl.m4: New file.
7583         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
7584         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
7585         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
7586         * modules/modfl: New file.
7587         * doc/posix-functions/modfl.texi: Mention the new module.
7588
7589 2012-02-25  Bruno Haible  <bruno@clisp.org>
7590
7591         Tests for module 'fabsl'.
7592         * modules/fabsl-tests: New file.
7593         * tests/test-fabsl.c: New file.
7594         * tests/test-math-c++.cc: Check the declaration of fabsl.
7595
7596         New module 'fabsl'.
7597         * lib/math.in.h (fabsl): New declaration.
7598         * lib/fabsl.c: New file.
7599         * m4/fabsl.m4: New file.
7600         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
7601         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
7602         REPLACE_FABSL.
7603         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
7604         REPLACE_FABSL.
7605         * modules/fabsl: New file.
7606         * doc/posix-functions/fabsl.texi: Mention the new module.
7607
7608 2012-02-25  Bruno Haible  <bruno@clisp.org>
7609
7610         fabs tests: More tests.
7611         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
7612         (zero): New variable.
7613         (main): Add tests for signed zero.
7614         * modules/fabs-tests (Files): Add tests/minus-zero.h.
7615
7616         fabsf tests: More tests.
7617         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
7618         (zero): New variable.
7619         (main): Add tests for signed zero.
7620         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
7621
7622 2012-02-24  Bruno Haible  <bruno@clisp.org>
7623
7624         atanl: Provide function definition on MSVC.
7625         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
7626         function pointer.
7627         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
7628
7629 2012-02-24  Bruno Haible  <bruno@clisp.org>
7630
7631         acosl: Provide function definition on MSVC.
7632         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
7633         function pointer.
7634         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
7635
7636 2012-02-24  Bruno Haible  <bruno@clisp.org>
7637
7638         asinl: Provide function definition on MSVC.
7639         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
7640         function pointer.
7641         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
7642
7643 2012-02-24  Bruno Haible  <bruno@clisp.org>
7644
7645         tanl: Provide function definition on MSVC.
7646         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
7647         function pointer.
7648         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
7649
7650 2012-02-24  Bruno Haible  <bruno@clisp.org>
7651
7652         cosl: Provide function definition on MSVC.
7653         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
7654         function pointer.
7655         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
7656
7657 2012-02-24  Bruno Haible  <bruno@clisp.org>
7658
7659         sinl: Provide function definition on MSVC.
7660         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
7661         function pointer.
7662         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
7663
7664 2012-02-24  Bruno Haible  <bruno@clisp.org>
7665
7666         logl: Provide function definition on MSVC.
7667         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
7668         function pointer.
7669         * lib/math.in.h (logl): Undefine if it does not exist as a function.
7670
7671 2012-02-24  Bruno Haible  <bruno@clisp.org>
7672
7673         expl: Provide function definition on MSVC.
7674         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
7675         function pointer.
7676         * lib/math.in.h (expl): Undefine if it does not exist as a function.
7677
7678 2012-02-24  Bruno Haible  <bruno@clisp.org>
7679
7680         sqrtl: Provide function definition on MSVC.
7681         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
7682         a function pointer.
7683         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
7684
7685 2012-02-24  Bruno Haible  <bruno@clisp.org>
7686
7687         ceill: Provide function definition on MSVC.
7688         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
7689         used as a function pointer.
7690         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
7691
7692 2012-02-24  Bruno Haible  <bruno@clisp.org>
7693
7694         floorl: Provide function definition on MSVC.
7695         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
7696         used as a function pointer.
7697         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
7698
7699 2012-02-24  Bruno Haible  <bruno@clisp.org>
7700
7701         ceilf: Provide function definition on MSVC.
7702         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
7703         used as a function pointer.
7704         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
7705
7706 2012-02-24  Bruno Haible  <bruno@clisp.org>
7707
7708         floorf: Provide function definition on MSVC.
7709         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
7710         used as a function pointer.
7711         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
7712
7713 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
7714
7715         stdnoreturn: new module
7716         This implements a replacement for C11's <stdnoreturn.h>.
7717         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
7718         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
7719         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
7720         * tests/test-stdnoreturn.c: New files.
7721
7722 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
7723
7724         regex: fix false multibyte matches in some regular expressions
7725         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
7726         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
7727         * lib/regex_internal.c (re_string_skip_chars):
7728         Fix miscomputation of remain_len that may cause incomplete
7729         multi-byte character and false match.
7730
7731 2012-02-24  Jim Meyering  <meyering@redhat.com>
7732
7733         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
7734         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
7735         uses with "==" *before* the call, e.g., 0 == strcmp (...)
7736         Remove now-unnecessary str''cmp obfuscation.
7737         Suggested by Akim Demaille.
7738
7739 2012-02-24  Bruno Haible  <bruno@clisp.org>
7740
7741         streq: Rename macro.
7742         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
7743         * NEWS: Mention the change.
7744         * lib/mbrtowc.c (mbrtowc): Update.
7745         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
7746         * lib/wcwidth.c (wcwidth): Update.
7747         Suggested by Akim Demaille and Jim Meyering.
7748
7749 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
7750
7751         regex: fix typo in definition of MIN
7752         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
7753         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
7754
7755 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
7756             Bruno Haible  <bruno@clisp.org>
7757
7758         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
7759         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
7760         entries into a stack-allocated buffer directly.
7761         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
7762
7763 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
7764             Bruno Haible  <bruno@clisp.org>
7765
7766         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
7767
7768          - There were several instances of this pattern:
7769
7770              for (;;) {
7771                n = acl (f, GETACLCNT, 0, NULL);
7772                [ allocate an array A of size N ]
7773                if (acl (f, GETACL, n, a) == n)
7774                  break;
7775              }
7776
7777            This loop might never terminate if some other process is constantly
7778            manipulating the file's ACL.  The loop should be rewritten to
7779            terminate.
7780
7781          - The acl (... GETACLNT ...) call is merely an optimization; its value
7782            is merely a hint as to how big to make the array.  A better
7783            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
7784            and just guess a reasonably-big size, growing the size and trying
7785            again if it's not large enough.  This guarantees termination, and
7786            saves a system call.
7787
7788         * lib/acl-internal.h: Include <limits.h>.
7789         (MIN, SIZE_MAX): New macros.
7790         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
7791         a stack-allocated buffer, and use malloc if it does not fit. Don't
7792         use GETACLCNT.
7793         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
7794
7795 2012-02-19  Bruno Haible  <bruno@clisp.org>
7796
7797         acl: Fix endless loop on Solaris with vxfs.
7798         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
7799         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
7800         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
7801         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
7802         * tests/test-sameacls.c (main)[Solaris]: Likewise.
7803         Reported by Bill Jones in
7804         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
7805
7806 2012-02-19  Bruno Haible  <bruno@clisp.org>
7807
7808         acl: Fix copy-acl test failure on Solaris 11 2011-11.
7809         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
7810         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
7811         that this function returns 0 in some more cases.
7812
7813 2012-02-19  Bruno Haible  <bruno@clisp.org>
7814
7815         acl: Update doc references.
7816         * doc/acl-resources.txt: Update links to Solaris documentation.
7817
7818 2012-02-19  Bruno Haible  <bruno@clisp.org>
7819
7820         Fix test failure in many locales on Solaris 11.
7821         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
7822         'tr' arguments.
7823         * tests/test-pipe-filter-ii1.c (main): Likewise.
7824         * build-aux/bootstrap (check_versions): Run 'tr' command with range
7825         expressions in the C locale.
7826         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
7827         * m4/host-os.m4 (gl_HOST_OS): Likewise.
7828
7829 2012-02-19  Bruno Haible  <bruno@clisp.org>
7830
7831         gnulib-tool: Improve usage message.
7832         * gnulib-tool (func_usage): Move doc of --help and --version to the
7833         section "Operation modes".
7834
7835 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
7836
7837         README-release: make it easier to execute commands
7838         * top/README-release: break commands out on to separate lines.
7839
7840 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
7841
7842         GNUmakefile: simplify detection of unconfigured trees
7843         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
7844         whether the tree make is being run from is already configured or
7845         not.  Related simplifications.
7846
7847 2012-02-13  Simon Josefsson  <simon@josefsson.org>
7848
7849         * gnulib-tool (func_usage): Document --help and --version.
7850
7851 2012-02-11  Jim Meyering  <meyering@redhat.com>
7852
7853         bootstrap: don't exit 0 upon gnulib-tool failure
7854         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
7855         its exit status, not 0.
7856
7857 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
7858
7859         README-release: various improvements
7860         * top/README-release: Give a command to push changes for the
7861         release.  Add "distcheck" to list of other pre-release checks.
7862         Fix instance of "make stable" which should be "make TYPE".
7863
7864 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
7865
7866         maint: replace FSF snail-mail addresses with URLs
7867         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
7868         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
7869         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
7870         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
7871         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
7872         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
7873         * lib/check-version.c, lib/check-version.h, lib/config.charset:
7874         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
7875         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
7876         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
7877         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
7878         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
7879         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
7880         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
7881         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
7882         * lib/glthread/thread.c, lib/glthread/thread.h:
7883         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
7884         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
7885         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
7886         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
7887         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
7888         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
7889         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
7890         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
7891         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
7892         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
7893         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
7894         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
7895         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
7896         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
7897         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
7898         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
7899         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
7900         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
7901         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
7902         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
7903         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
7904         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
7905         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
7906         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
7907         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
7908         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
7909         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
7910         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
7911         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
7912         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
7913         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
7914         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
7915         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
7916         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
7917         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
7918         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
7919         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
7920         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
7921         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
7922         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
7923         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
7924         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
7925         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
7926         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
7927         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
7928         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
7929         * tests/test-poll.c, tests/test-quotearg-simple.c:
7930         * tests/test-quotearg.c, tests/test-quotearg.h:
7931         * tests/test-round-ieee.c, tests/test-round1.c:
7932         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
7933         * tests/test-roundl-ieee.c, tests/test-roundl.c:
7934         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
7935         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
7936         * tests/test-strerror.c, tests/test-strerror_r.c:
7937         * tests/test-strsignal.c, tests/test-strverscmp.c:
7938         * tests/test-xmemdup0.c:
7939         Replace FSF snail mail addresses with URLs, as per GNU coding
7940         standards.  See glibc bug
7941         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
7942
7943 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
7944
7945         README-release: capitalize a word and split a line
7946         * top/README-release: Fix punctuation and spacing.
7947
7948 2012-02-08  Akim Demaille  <demaille@gostai.com>
7949
7950         fatal-signal: use C prototypes (with explicit void).
7951         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
7952         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
7953
7954 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7955
7956         regex: spelling fix
7957         * lib/regexec.c: spelling fix
7958
7959         regex: rely on stdint.h for SIZE_MAX
7960         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
7961
7962 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
7963
7964         regex: merge glibc changes
7965
7966         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
7967         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
7968         (init_word_char): Work even if bitset words are not exactly 32 or
7969         64 bits wide.  Don't assume there are no padding bits.
7970         * lib/regex.c [_LIBC]: Do not include <config.h>.
7971         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
7972         and -Wtype-limits.
7973         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
7974         needless disagreement with glibc.  All uses changed.  Define it to
7975         1 only if _GNU_SOURCE, to match glibc.
7976         (_REG_RM_NAME): Remove; no longer needed, since the names in
7977         question are now all protected by __USE_GNU.
7978         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
7979         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
7980         * lib/regex_internal.h (MIN): New macro.
7981
7982         2012-01-03 Ulrich Drepper <drepper@gmail.com>
7983         * lib/regcomp.c (init_word_char): Optimize regex a bit.
7984
7985         2011-12-30 Jakub Jelinek <jakub@redhat.com>
7986         * lib/regex_internal.c (re_string_fetch_byte_case):
7987         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
7988         is miscompiled, and it turns out it is because of an incorrect
7989         attribute on re_string_fetch_byte_case.  Unlike
7990         re_string_peek_byte_case, this one is really not pure, it modifies
7991         memory (increments pstr->cur_idx), and with the pure attribute GCC
7992         assumed it doesn't and it cached the presumed value of
7993         regexp->cur_idx in a variable across the
7994          for (;; ++i)
7995            {
7996              if (i >= BRACKET_NAME_BUF_SIZE)
7997                return REG_EBRACK;
7998              if (token->type == OP_OPEN_CHAR_CLASS)
7999                ch = re_string_fetch_byte_case (regexp);
8000              else
8001                ch = re_string_fetch_byte (regexp);
8002              if (re_string_eoi(regexp))
8003                return REG_EBRACK;
8004              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
8005                break;
8006              elem->opr.name[i] = ch;
8007            }
8008
8009         2011-11-29 Andreas Schwab <schwab@redhat.com>
8010         * lib/regcomp.c (build_equiv_class):
8011         Fix access after end of search string in regex matcher.
8012
8013         2011-11-12 Ulrich Drepper <drepper@redhat.com>
8014         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
8015
8016         2011-10-12 Ulrich Drepper <drepper@redhat.com>
8017         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
8018
8019         2011-10-11 Ulrich Drepper <drepper@redhat.com>
8020         * lib/regcomp.c (parse_branch, parse_sub_exp):
8021         More regex memory leak fixes and tests.
8022         (parse_sub_exp, parse_bracket_exp):
8023         Fix memory leak for some invalid regular expressions.
8024
8025         2011-05-28 Ulrich Drepper <drepper@gmail.com>
8026         * lib/regex_internal.c, lib/regexec.c:
8027         Fix unnecessary overallocation due to incomplete character.  When
8028         incomplete characters are found at the end of a string the code
8029         ran amok and allocated lots of memory.  Stricter limits are now in
8030         place.
8031
8032         2011-05-20 Reuben Thomas <rrt@sc3d.org>
8033         * lib/regex.h: Update documentation.
8034
8035         2011-05-16 Aharon Robbins <arnold@skeeve.com>
8036         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
8037
8038         2010-05-05 Andreas Schwab <schwab@redhat.com>
8039         * lib/regexec.c (find_collation_sequence_value):
8040         Fix lookup of collation sequence value during regexp matching.
8041
8042         2010-01-22 Ulrich Drepper <drepper@redhat.com>
8043         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
8044
8045         2008-01-16 Ulrich Drepper <drepper@redhat.com>
8046         * lib/regex.h: Cleanup namespace.
8047
8048         2007-11-26 Ulrich Drepper <drepper@redhat.com>
8049         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
8050
8051         2007-08-26 Ulrich Drepper <drepper@redhat.com>
8052         * lib/regex_internal.h: Prevent some declarations and definitions
8053         to be seen when used in tests.
8054
8055         2005-05-06 Ulrich Drepper <drepper@redhat.com>
8056         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
8057         __libc_lock_* macros if not _LIBC.
8058         (struct re_dfa_t): Add lock.
8059
8060 2012-02-07  Eric Blake  <eblake@redhat.com>
8061
8062         maint.mk: also prohibit lower-case @var@
8063         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
8064         lower case, like @top_srcdir@.
8065
8066 2012-02-04  Eric Blake  <eblake@redhat.com>
8067
8068         canonicalize: avoid uninitialized memory use
8069         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
8070         random '/' left in dest.
8071         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
8072
8073 2012-02-04  Bruno Haible  <bruno@clisp.org>
8074
8075         isatty: Fix test failure of ptsname_r on native Windows.
8076         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
8077         and don't set errno.
8078         (isatty): Test first whether fd is valid. Set errno when returning 0.
8079
8080 2012-02-04  Bruno Haible  <bruno@clisp.org>
8081
8082         spawn-pipe tests: Fix a NULL program name in a diagnostic.
8083         * tests/test-spawn-pipe-main.c: Include progname.h.
8084         (main): Invoke set_program_name.
8085         * modules/spawn-pipe-tests (Depends-on): Add progname.
8086
8087         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
8088         * tests/test-nonblocking-socket-main.c: Include progname.h.
8089         (main): Invoke set_program_name.
8090         * modules/nonblocking-socket-tests (Depends-on): Add progname.
8091
8092         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
8093         * tests/test-nonblocking-pipe-main.c: Include progname.h.
8094         (main): Invoke set_program_name.
8095         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
8096
8097 2012-02-04  Eric Blake  <eblake@redhat.com>
8098
8099         canonicalize-lgpl: fix // handling
8100         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
8101
8102         canonicalize: fix // handling
8103         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
8104         /// to //, since only // is special.
8105
8106 2012-02-04  Bruno Haible  <bruno@clisp.org>
8107
8108         ioctl: Fix test failure on native Windows.
8109         * lib/ioctl.c: Include msvc-nothrow.h.
8110         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
8111
8112 2012-02-04  Bruno Haible  <bruno@clisp.org>
8113
8114         fsync: Avoid test failure on native Windows.
8115         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
8116         read-only.
8117
8118 2012-02-04  Bruno Haible  <bruno@clisp.org>
8119
8120         sys_select: Avoid syntax error on OpenBSD 5.0.
8121         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
8122         currently being included, just include the system's <sys/select.h>.
8123
8124 2012-02-04  Bruno Haible  <bruno@clisp.org>
8125
8126         sys_select: Avoid syntax error on OpenBSD 5.0.
8127         * lib/sys_select.in.h: Include <signal.h> only after the include_next
8128         <sys/select.h>, not before.
8129         Reported by Jiri B <jirib@devio.us>.
8130
8131 2012-02-04  Bruno Haible  <bruno@clisp.org>
8132
8133         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
8134         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
8135         global variables.
8136         * tests/test-get-rusage-data.c (main): Likewise.
8137         Reported by Jim Meyering.
8138
8139 2012-02-04  Bruno Haible  <bruno@clisp.org>
8140
8141         stdioext: Fix last commit.
8142         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
8143
8144 2012-02-03  Bruno Haible  <bruno@clisp.org>
8145
8146         stdioext: Add tentative support for Plan9.
8147         * lib/stdio-impl.h: Include <errno.h>.
8148         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
8149         * lib/freadable.c (freadable): Likewise.
8150         * lib/fwritable.c (fwritable): Likewise.
8151         * lib/fbufmode.c (fbufmode): Likewise.
8152         * lib/freading.c (freading): Likewise.
8153         * lib/fwriting.c (fwriting): Likewise.
8154         * lib/freadptr.c (freadptr): Likewise.
8155         * lib/freadseek.c (freadptrinc): Likewise.
8156         * lib/freadahead.c (freadahead): Likewise.
8157         * lib/fpurge.c (fpurge): Likewise.
8158         * lib/fseeko.c (rpl_fseeko): Likewise.
8159         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
8160         Reported by Jens Staal <staal1978@gmail.com>.
8161
8162 2012-02-02  Jim Meyering  <meyering@redhat.com>
8163
8164         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
8165         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
8166         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
8167         not even to try to add the attribute.  Instead, add a pragma to suppress
8168         the suggestion/warning.
8169
8170 2012-01-31  Karl Berry  <karl@gnu.org>
8171
8172         setstate doc: typo.
8173         * doc/posix-functions/setstate.texi (setstate): { not (.
8174
8175 2012-01-31  Bruno Haible  <bruno@clisp.org>
8176
8177         popen: Make more robust on Windows.
8178         * lib/popen.c: On native Windows, use the _popen based code even if
8179         HAVE_POPEN is set.
8180         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
8181         environment variable on native Windows.
8182
8183 2012-01-30  Bruno Haible  <bruno@clisp.org>
8184
8185         pclose: Fix typo.
8186         * lib/stdio.in.h (pclose): Fix typo in warning message.
8187
8188 2012-01-30  Bruno Haible  <bruno@clisp.org>
8189
8190         doc about getlogin_r, setstate.
8191         * doc/posix-functions/getlogin_r.texi: List the incompatible
8192         declaration problem under "not fixed by gnulib".
8193         * doc/posix-functions/setstate.texi: Mention incompatible declaration
8194         problem on Solaris 11 and other platforms.
8195
8196 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
8197             Bruno Haible  <bruno@clisp.org>
8198
8199         poll tests: Make test more robust.
8200         * tests/test-poll.c: Include macros.h.
8201         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
8202         return value of various I/O operations.
8203         * modules/poll-tests (Files): Add tests/macros.h.
8204
8205 2012-01-30  Bruno Haible  <bruno@clisp.org>
8206
8207         sys_stat: Fix support for mingw64 and MSVC.
8208         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
8209         header files already do it.
8210         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
8211         stat itself.
8212         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8213
8214 2012-01-30  Bruno Haible  <bruno@clisp.org>
8215
8216         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
8217         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
8218         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
8219
8220 2012-01-29  Bruno Haible  <bruno@clisp.org>
8221
8222         quotearg: Fix test failure on MacOS X 10.5.
8223         * tests/test-quotearg-simple.c: Include localcharset.h.
8224         (main): If the locale encoding is not ASCII, bypass the tests of
8225         locale_quoting_style and clocale_quoting_style.
8226         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
8227
8228 2012-01-29  Jim Meyering  <meyering@redhat.com>
8229
8230         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
8231         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
8232         detect uses of canonicalize_file_name.
8233
8234 2012-01-28  Bruno Haible  <bruno@clisp.org>
8235
8236         test-framework-sh: Fix test failure with AIX 7.1 diff.
8237         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
8238         in column 1, like 'diff -c' does.
8239         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
8240         whether 'diff -u' is used. Instead, test whether the output contains
8241         some '@' character.
8242
8243 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
8244
8245         strtoimax: eliminate need for stdint.h, inttypes.h checks
8246         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
8247         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
8248         the prerequisites for a recently-introduced strtoimax test.
8249         I guess this might cause strtoimax to be replaced when not
8250         strictly necessary on older hosts, but this shouldn't introduce
8251         any bugs and it should make Emacs 'configure' faster on typical
8252         modern hosts.  Problem discovered when importing the latest gnulib
8253         to an Emacs test version.
8254         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
8255
8256 2012-01-28  Bruno Haible  <bruno@clisp.org>
8257
8258         sys_time: Override 'struct timeval' on some native Windows platforms.
8259         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
8260         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
8261         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
8262         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
8263         needs to be overridden.
8264         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
8265         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
8266         * tests/test-sys_select.c: Check that the tv_sec member has the same
8267         size as a 'time_t'.
8268         * tests/test-sys_time.c: Likewise.
8269         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
8270         is set, set also REPLACE_GETTIMEOFDAY.
8271         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
8272         convert the resulting 'struct timeval' before returning.
8273         * lib/select.c: Include <sys/time.h>.
8274         (select, timeval): Undefine at the right place.
8275         * modules/select (Depends-on): Add sys_time.
8276         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
8277         some Windows platforms.
8278         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8279
8280 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8281
8282         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
8283         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
8284         an integer.
8285         * lib/fcntl.c (dupfd): Likewise.
8286         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
8287
8288 2012-01-28  Bruno Haible  <bruno@clisp.org>
8289
8290         fcntl: Avoid compilation error on native Windows.
8291         * modules/fcntl (Depends-on): Add 'close'.
8292
8293 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8294
8295         select, poll, isatty: Avoid warnings on x86_64 mingw64.
8296         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
8297         pointer to an integer.
8298         * lib/poll.c (IsConsoleHandle): Likewise.
8299         * lib/isatty.c (IsConsoleHandle): Likewise.
8300
8301 2012-01-28  Jim Meyering  <meyering@redhat.com>
8302
8303         doc: clarify README-release
8304         * top/README-release: Clarify: you should make a point to have
8305         the latest stable versions of build tools in your PATH, and the
8306         reference to buildreq is solely for its list of tool names, not
8307         for its minimal-functional version numbers.
8308         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
8309
8310         maint.mk: use more readable (yet functionally equivalent) quoting
8311         It is common to quote a single quote in a single quoted string like
8312         this:  '...'\''...'.  Unless you know the idiom, that looks like
8313         gibberish, so prefer to double-quote the string when possible.
8314         Then you can use a more readable, lone single quote: "...'..."
8315         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
8316         "don't" is more readable than the equivalent 'don'\''t'.
8317         (sc_cast_of_x_alloc_return_value): Likewise.
8318         (sc_cast_of_alloca_return_value): Likewise.
8319         (sc_makefile_path_separator_check): Similar: use ":" in '...',
8320         rather than '\'':'\''.
8321
8322 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8323
8324         stdalign: relax _Alignof and tighten _Alignas test
8325         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
8326         as it was too strict: alignof must divide offsetof, but it need
8327         not equal offsetof.  Inspired by Joseph S. Myers's comment
8328         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
8329         Conversely, tighten the _Alignas test a bit, as the resulting
8330         alignment must be exactly 8.
8331
8332 2012-01-27  Bruno Haible  <bruno@clisp.org>
8333
8334         stdalign: Document the last change.
8335         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
8336
8337 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8338
8339         stdalign: check that alignof and offsetof are consistent
8340         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
8341         Problem reported for gnulib by Richard W.M. Jones in
8342         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
8343
8344 2012-01-27  Jim Meyering  <meyering@redhat.com>
8345
8346         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
8347         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
8348         convert a sequence with gaps to the minimal containing range.
8349         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
8350         * tests/test-update-copyright.sh: Test for this.
8351         The FSF confirmed it is ok to do this, assuming there is at
8352         least one significant change per year in the affected range:
8353         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
8354
8355 2012-01-26  Bruno Haible  <bruno@clisp.org>
8356
8357         pipe2: refine doc about thread-safety
8358         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
8359         multithread-safety problem.
8360         * doc/glibc-functions/accept4.texi: Likewise.
8361
8362 2012-01-26  Bruno Haible  <bruno@clisp.org>
8363
8364         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
8365         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
8366         In the test program, include <fcntl.h>, for O_RDONLY.
8367
8368 2012-01-26  Eric Blake  <eblake@redhat.com>
8369
8370         pipe2: document lack of thread-safety in replacement
8371         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
8372         issue in replacement.
8373         * doc/glibc-functions/accept4.texi (accept4): Likewise.
8374         Based on a report by Eric Wong.
8375
8376 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8377             Bruno Haible  <bruno@clisp.org>
8378
8379         malloca: Avoid warnings on x86_64 mingw64.
8380         * lib/malloca.c: Include <stdint.h>.
8381         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
8382         * modules/malloca (Depends-on): Add stdint.
8383         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
8384
8385 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
8386
8387         obstack: remove __STDC__ conditionals
8388         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
8389         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
8390         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
8391         m4/include_next.m4 as the only gnulib-maintained places that still
8392         refer to __STDC__.
8393
8394 2012-01-24  Bruno Haible  <bruno@clisp.org>
8395
8396         havelib: Modern quoting.
8397         * build-aux/config.rpath: Quote 'like this', not `like this', as per
8398         the recent change to the GNU coding standards.
8399
8400 2012-01-24  Bruno Haible  <bruno@clisp.org>
8401
8402         stdint: Improve support for Android.
8403         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
8404         Reported by Simon Josefsson <simon@josefsson.org>.
8405
8406 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8407
8408         doc: omit trailing empty lines from INSTALL etc.
8409         * doc/Makefile (INSTALL): Omit trailing empty lines.
8410         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
8411         omit trailing empty lines.  This simplifies the build procedure.
8412
8413 2012-01-23  Jim Meyering  <meyering@redhat.com>
8414
8415         tests: avoid spurious warnings about gl_sockets_startup
8416         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
8417         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
8418         reporting a "statement with no effect".
8419         * tests/test-accept.c (main): Mark as "(void)".
8420         * tests/test-accept4.c (main): Likewise.
8421         * tests/test-bind.c (main): Likewise.
8422         * tests/test-connect.c (main): Likewise.
8423         * tests/test-getpeername.c (main): Likewise.
8424         * tests/test-getsockname.c (main): Likewise.
8425         * tests/test-getsockopt.c (main): Likewise.
8426         * tests/test-listen.c (main): Likewise.
8427         * tests/test-recv.c (main): Likewise.
8428         * tests/test-recvfrom.c (main): Likewise.
8429         * tests/test-send.c (main): Likewise.
8430         * tests/test-sendto.c (main): Likewise.
8431         * tests/test-setsockopt.c (main): Likewise.
8432         * tests/test-shutdown.c (main): Likewise.
8433
8434 2012-01-21  Bruno Haible  <bruno@clisp.org>
8435
8436         locale-fr.m4: Fix for Android.
8437         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
8438         failure of the test program on Bionic libc.
8439
8440 2012-01-21  Jim Meyering  <meyering@redhat.com>
8441
8442         bootstrap: fail when bootstrap_post_import_hook fails
8443         Otherwise, it's far too easy to miss diagnostics emitted
8444         between gnulib-tool's output and that of running configure.
8445         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
8446
8447 2012-01-17  Jim Meyering  <meyering@redhat.com>
8448
8449         maint: enable sc_trailing_blank
8450         * build-aux/pmccabe.css: Remove trailing blanks.
8451         * doc/acl-cygwin.txt: Likewise.
8452         * doc/gnu-oids.texi: Likewise
8453         * cfg.mk: Enable sc_trailing_blank.
8454         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
8455
8456 2012-01-17  Jim Meyering  <meyering@redhat.com>
8457
8458         maint: enable sc_prohibit_openat_without_use
8459         * cfg.mk: Enable sc_prohibit_openat_without_use.
8460         Exempt lib/selinux-at.c.
8461
8462 2012-01-17  Jim Meyering  <meyering@redhat.com>
8463
8464         maint: enable sc_prohibit_cloexec_without_use
8465         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
8466         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
8467
8468 2012-01-17  Jim Meyering  <meyering@redhat.com>
8469
8470         maint: enable sc_prohibit_intprops_without_use
8471         * cfg.mk: Enable sc_prohibit_intprops_without_use
8472         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
8473
8474 2012-01-17  Jim Meyering  <meyering@redhat.com>
8475
8476         maint: enable sc_prohibit_hash_pjw_without_use
8477         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
8478         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
8479         to match any use of \<hash_pjw\>, i.e., not necessarily with a
8480         following " (".
8481
8482 2012-01-17  Jim Meyering  <meyering@redhat.com>
8483
8484         maint: enable double-word-prohibiting rule
8485         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
8486         Exempt three files.
8487
8488 2012-01-17  Jim Meyering  <meyering@redhat.com>
8489
8490         maint: remove empty lines at EOF, but excluding modules/*
8491         Apply syntax rules at home as well as abroad.  Most changes
8492         were induced by running this:
8493           make srcdir=. _build-aux=build-aux -f top/maint.mk \
8494             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
8495             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
8496         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
8497         Exempt modules/* and two binary files.
8498         Also exempt doc/INSTALL*, per request from Bruno Haible.
8499         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
8500         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
8501         * doc/Copyright/request-assign.future: Likewise.
8502         * doc/Copyright/request-disclaim.changes: Likewise.
8503         * doc/INSTALL: Likewise.
8504         * doc/INSTALL.ISO: Likewise.
8505         * doc/INSTALL.UTF-8: Likewise.
8506         * doc/acl-cygwin.txt: Likewise.
8507         * doc/acl-resources.txt: Likewise.
8508         * doc/fdl-1.2.texi: Likewise.
8509         * doc/fdl-1.3.texi: Likewise.
8510         * doc/fdl.texi: Likewise.
8511         * lib/argp-pin.c: Likewise.
8512         * lib/round.c: Likewise.
8513         * lib/unicase/u16-totitle.c: Likewise.
8514         * lib/unictype/block_test.c: Likewise.
8515         * lib/uninorm/canonical-decomposition.c: Likewise.
8516         * m4/README: Likewise.
8517         * m4/relocatable-lib.m4: Likewise.
8518         * tests/test-isnand-nolibm.c: Likewise.
8519         * tests/test-isnand.c: Likewise.
8520         * tests/uninorm/NormalizationTest.txt: Likewise.
8521
8522 2012-01-17  Jim Meyering  <meyering@redhat.com>
8523
8524         maint: add framework to run syntax-check rules against gnulib sources
8525         * cfg.mk: New file, to disable all currently-failing tests.
8526         We'll enable them one by one, as they are made to pass.
8527         * Makefile (sc_maint): New rule.
8528
8529 2012-01-21  Bruno Haible  <bruno@clisp.org>
8530
8531         stdint: Add support for Android.
8532         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
8533         include the system's <stdint.h>.
8534         Reported by Simon Josefsson <simon@josefsson.org>.
8535
8536 2012-01-19  Jim Meyering  <meyering@redhat.com>
8537
8538         bootstrap: add bootstrap_post_import_hook
8539         Bison does still need something like the gnulib_mk_hook whose
8540         invocation I had to remove along with slurp in commit 767ccd40.
8541         Technically, we could get along without it, but doing so would
8542         have required living with a warning and a mandatory post-bootstrap
8543         automake rerun.
8544         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
8545         (bootstrap_post_import_hook): New function.
8546         Invoke it after gnulib-tool --import and before autoreconf.
8547
8548 2012-01-18  Jim Meyering  <meyering@redhat.com>
8549
8550         gitlog-to-changelog: don't use "no_"-prefixed variable name
8551         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
8552         to enable both --cluster and --no-cluster.  Change variable name,
8553         s/\$no_cluster/$cluster/, and reverse usage to match.
8554
8555         gitlog-to-changelog: use "||", not "or" in expressions
8556         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
8557         expressions.
8558
8559 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
8560
8561         gitlog-to-changelog: new option --no-cluster
8562         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
8563         clustering of adjacent commit messages.
8564
8565 2012-01-17  Jim Meyering  <meyering@redhat.com>
8566
8567         maint: spell file systems with two words, not one
8568         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
8569         two words, not one.
8570
8571 2012-01-16  Jim Meyering  <meyering@redhat.com>
8572
8573         bootstrap: add a FIXME comment to ensure we eventually remove the hack
8574         * build-aux/bootstrap (gnulib_tool_options): Add comment.
8575
8576 2012-01-16  Eric Blake  <eblake@redhat.com>
8577
8578         bootstrap: cater to autoconf 2.59
8579         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
8580         is not available.
8581
8582         bootstrap: properly check for libtool
8583         * build-aux/bootstrap (libtoolize): Also run libtool when older
8584         usage is detected.
8585
8586 2012-01-15  Bruno Haible  <bruno@clisp.org>
8587
8588         Improve support for MSVC 9.
8589         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
8590         clashes on MSVC.
8591         * lib/fcntl.in.h: Likewise.
8592         * lib/stdlib.in.h: Likewise.
8593         * lib/sys_stat.in.h: Likewise.
8594
8595 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
8596
8597         gnupload: we hold the master copy of this script now
8598         For motivation and more information, see:
8599         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
8600         * build-aux/gnupload: Make it clear in the heading comments that the
8601         master copy of this file is maintained by gnulib.  Since we are at
8602         it, bump its copyright year and ...
8603         ($scriptversion): ... the date in its version.
8604         ($usage): Patches and bug reports should be sent to the gnulib list,
8605         not the automake one.
8606         * config/srclist.txt: Don't try to sync 'gnupload' from automake
8607         anymore.
8608
8609 2012-01-15  Bruno Haible  <bruno@clisp.org>
8610
8611         Fix module 'random'.
8612         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
8613         initstate, setstate are declared.
8614
8615 2012-01-14  Bruno Haible  <bruno@clisp.org>
8616
8617         Tests for module 'random'.
8618         * modules/random-tests: New file.
8619         * tests/test-random.c: New file, based on tests/test-random_r.c.
8620
8621         New module 'random'.
8622         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
8623         declarations.
8624         * lib/random.c: New file, based on glibc/stdlib/random.c.
8625         * m4/random.m4: New file.
8626         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
8627         HAVE_RANDOM.
8628         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
8629         * modules/random: New file.
8630         * config/srclist.txt: Add an entry for random.c.
8631         * doc/posix-functions/random.texi: Mention the 'random' module.
8632         * doc/posix-functions/initstate.texi: Likewise.
8633         * doc/posix-functions/setstate.texi: Likewise.
8634         * doc/posix-functions/srandom.texi: Likewise.
8635
8636 2012-01-12  Bruno Haible  <bruno@clisp.org>
8637
8638         random_r: Use common idioms.
8639         * lib/random_r.c: Include <stdlib.h> first.
8640
8641         random_r: Override incompatible API on AIX, OSF/1.
8642         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
8643         Override the system function if REPLACE_RANDOM_R is 1.
8644         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
8645         and OSF/1, set REPLACE_RANDOM_R.
8646         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
8647         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
8648         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
8649         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
8650         * doc/glibc-functions/random_r.texi: Likewise.
8651         * doc/glibc-functions/setstate_r.texi: Likewise.
8652
8653         random_r: Support for MSVC 9.
8654         * lib/random_r.c: Include stdint.h, not inttypes.h.
8655
8656 2012-01-12  Eric Blake  <eblake@redhat.com>
8657
8658         inet_ntop: guard extra work by IF_LINT
8659         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
8660         better code generation when not checking for warnings.
8661         Suggested by Paul Eggert and Jim Meyering.
8662
8663         strptime: fix regression on mingw
8664         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
8665         Fix regression.  Reported by Bruno Haible.
8666
8667 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
8668             Bruno Haible  <bruno@clisp.org>
8669
8670         copy-file: add error-code-returning variant.
8671         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
8672         (qcopy_file_preserving): New declaration.
8673         * lib/copy-file.c (qcopy_file_preserving): Renamed from
8674         copy_file_preserving. Change return type to 'int'. Don't emit an error
8675         message here.
8676         (copy_file_preserving): New function.
8677         * tests/test-copy-file.c: Include <stdlib.h>.
8678         (main): Test qcopy_file_preserving if the environment variable
8679         NO_STDERR_OUTPUT is set.
8680         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
8681         with NO_STDERR_OUTPUT
8682         * tests/test-copy-file-2.sh: Likewise.
8683
8684 2012-01-10  Bruno Haible  <bruno@clisp.org>
8685
8686         copy-file: Use 'quote' module consistently.
8687         * lib/copy-file.c (copy_file_preserving): Use quote().
8688
8689         copy-file: Refactor.
8690         * lib/copy-file.c: Include quote.h.
8691         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
8692         message here.
8693         * modules/copy-file (Depends-on): Add quote.
8694
8695         acl: Export qcopy_acl.
8696         * lib/acl.h (qcopy_acl): New declaration.
8697         * lib/copy-acl.c (qcopy_acl): Make non-static.
8698
8699         acl: Rename a local variable.
8700         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
8701
8702         acl: Align return values of copy_acl and qcopy_acl.
8703         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
8704         maybe < -1.
8705
8706 2012-01-11  Eric Blake  <eblake@redhat.com>
8707
8708         strptime: silence gcc warnings
8709         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
8710         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
8711         Reported by Daniel P. Berrange.
8712
8713         inet_ntop: silence gcc warning
8714         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
8715         Reported by Daniel P. Berrange.
8716
8717 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
8718
8719         getloadavg test: skip the test on GNU/Linux without /proc mounted
8720         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
8721         file.  When /proc is not mounted, it always fails with ENOENT.
8722         * tests/test-getloadavg.c (main): Treat ENOENT return code from
8723         getloadavg(3) the same way as ENOSYS and ENOTSUP.
8724
8725 2012-01-10  Bruno Haible  <bruno@clisp.org>
8726
8727         regex: Avoid link error on MSVC 9.
8728         * modules/regex (Depends-on): Add wctype.
8729
8730 2012-01-10  Bruno Haible  <bruno@clisp.org>
8731
8732         doc: Mention --with-tests option.
8733         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
8734         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
8735         --with-tests.
8736         Reported by Reuben Thomas.
8737
8738 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
8739
8740         users.txt: order package names lexicographically.
8741         * users.txt: Order package names lexicographically.
8742
8743 2012-01-10  Jim Meyering  <meyering@redhat.com>
8744
8745         maint.mk: fix description in comment
8746         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
8747
8748         ignore-value: remove deprecated ignore_ptr function
8749         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
8750         * NEWS: Note this.
8751
8752 2012-01-09  Jim Meyering  <meyering@redhat.com>
8753
8754         test-init.sh: avoid a subshell
8755         * tests/test-init.sh: Remove protective subshell.
8756         Suggested by Bernhard Voelker.  While a subshell is normally
8757         required to protect against older shells (Solaris, FreeBSD) that
8758         warn about a missing program before performing redirection, the
8759         shell-selection tests performed by init.sh probably exclude any
8760         offending shell.
8761
8762 2012-01-08  Bruno Haible  <bruno@clisp.org>
8763
8764         setlocale tests: Avoid test failure on Solaris 11 2011-11.
8765         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
8766         variable.
8767
8768 2012-01-08  Bruno Haible  <bruno@clisp.org>
8769
8770         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
8771         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8772         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
8773         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
8774         macro.
8775         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
8776         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
8777         * lib/spawn_faction_addopen.c: Add workaround implementation if
8778         HAVE_WORKING_POSIX_SPAWN.
8779         * modules/spawn (Makefile): Substitute
8780         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
8781         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
8782         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
8783         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
8784         (Depends-on): Update conditions.
8785         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
8786         the Solaris 11 bug.
8787
8788 2012-01-08  Bruno Haible  <bruno@clisp.org>
8789
8790         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
8791         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8792         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
8793         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
8794         macro.
8795         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
8796         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
8797         * lib/spawn_faction_adddup2.c: Add workaround implementation if
8798         HAVE_WORKING_POSIX_SPAWN.
8799         * modules/spawn (Makefile): Substitute
8800         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
8801         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
8802         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
8803         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
8804         (Depends-on): Update conditions.
8805         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
8806         the Solaris 11 bug.
8807
8808 2012-01-08  Bruno Haible  <bruno@clisp.org>
8809
8810         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
8811         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
8812         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
8813         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
8814         HAVE_WORKING_POSIX_SPAWN.
8815         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
8816         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
8817         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
8818         * lib/spawn_faction_addclose.c: Add workaround implementation if
8819         HAVE_WORKING_POSIX_SPAWN.
8820         * modules/spawn (Makefile): Substitute
8821         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
8822         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
8823         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
8824         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
8825         (Depends-on): Update conditions.
8826         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
8827         the Solaris 11 bug.
8828
8829 2012-01-08  Bruno Haible  <bruno@clisp.org>
8830
8831         doc: Update for Solaris 11 2011-11.
8832         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
8833         * m4/printf.m4: Update comments.
8834
8835 2012-01-08  Bruno Haible  <bruno@clisp.org>
8836
8837         mktime: Avoid compilation error on Solaris 11.
8838         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
8839
8840 2012-01-08  Bruno Haible  <bruno@clisp.org>
8841
8842         doc: Small fix.
8843         * doc/posix-headers/nl_types.texi: Correct platforms list.
8844
8845 2012-01-08  Simon Josefsson  <simon@josefsson.org>
8846
8847         Add lgpl-3.0 module.
8848         * MODULES.html.sh (Support for building documentation): Add
8849         lgpl-3.0.
8850         * modules/lgpl-3.0: New file.
8851
8852 2012-01-08  Jim Meyering  <meyering@redhat.com>
8853
8854         select.c: indent with spaces, not TABs
8855         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
8856
8857 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8858
8859         quotearg: do not use grave accent for left quote
8860         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
8861         locale_quoting_style.
8862         (quotearg_buffer_restyled): Fix example.
8863         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
8864
8865 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8866
8867         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
8868         Most programs do not have translation catalogs for English and much
8869         less separate catalogs for British and American English.  Drop the
8870         suggestion to translators about these two, and provide it
8871         automatically for Unicode locales.  Like most programs, even those
8872         using American English, we use single quotation marks.  This conflicts
8873         with the American typographic convention, but works better when you
8874         cite the entire error message within double quotes.  It also tries not
8875         to clash with established practice and with what non-gnulib programs
8876         will usually do.
8877         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
8878         using an UTF-8 or GB-18030 locale.  The list of other locales with
8879         quotes was provided by Bruno Haible.
8880         (quotearg_buffer_restyled): Adjust instructions to translators.
8881         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
8882         text, since this would be wrong when using Unicode.
8883         * modules/quotearg: Depend on c-strcaseeq.
8884
8885 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
8886
8887         quotearg: fix Wikipedia link
8888         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
8889
8890 2012-01-07  Simon Josefsson  <simon@josefsson.org>
8891
8892         Fix for mingw with MSVC9.
8893         * m4/ld-version-script.m4: Check that compiler rejects version
8894         scripts with syntax errors.  Reported by Bruno Haible
8895         <bruno@clisp.org>.
8896
8897 2012-01-06  Bruno Haible  <bruno@clisp.org>
8898
8899         Talk about "native Windows API", not "Woe32".
8900         * lib/accept4.c: Update comments to mention native Windows.
8901         * lib/execute.c: Likewise.
8902         * lib/fatal-signal.c: Likewise.
8903         * lib/localcharset.c: Likewise.
8904         * lib/nanosleep.c: Likewise.
8905         * lib/nl_langinfo.c: Likewise.
8906         * lib/pclose.c: Likewise.
8907         * lib/pipe-filter-gi.c: Likewise.
8908         * lib/pipe-filter-ii.c: Likewise.
8909         * lib/pipe.c: Likewise.
8910         * lib/pipe2.c: Likewise.
8911         * lib/popen.c: Likewise.
8912         * lib/progreloc.c: Likewise.
8913         * lib/relocatable.c: Likewise.
8914         * lib/sigaction.c: Likewise.
8915         * lib/sigprocmask.c: Likewise.
8916         * lib/spawn-pipe.h: Likewise.
8917         * lib/spawn-pipe.c: Likewise.
8918         * lib/spawni.c: Likewise.
8919         * lib/stat-time.h: Likewise.
8920         * lib/w32spawn.h: Likewise.
8921         * tests/test-isatty.c: Likewise.
8922         * lib/config.charset: More comments.
8923         * doc/gnulib-intro.texi: Mention native Windows.
8924         * doc/posix-functions/_Exit_C99.texi: Likewise.
8925         * doc/posix-headers/fcntl.texi: Likewise.
8926
8927 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
8928
8929         argp: Avoid crash if translator uses % characters in a translation.
8930         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
8931         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
8932
8933 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
8934
8935         doc: C11 and C++11 are now official
8936         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
8937         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
8938         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
8939         * modules/stdalign:
8940         Replace references to draft C1X to C11, and to draft C++0X to C++11.
8941
8942 2012-01-06  Bruno Haible  <bruno@clisp.org>
8943
8944         uc-is-grapheme-break tests: Tweak.
8945         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
8946         message.
8947
8948 2012-01-06  Bruno Haible  <bruno@clisp.org>
8949
8950         test-init.sh: correct the test for diff -u
8951         * tests/test-init.sh: Also redirect stdout to /dev/null.
8952
8953 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
8954
8955         Use ', not `, for quoting output.
8956         * build-aux/announce-gen (usage, sizes, print_news_deltas)
8957         (print_changelog_deltas, get_tool_versions, main program):
8958         * build-aux/git-version-gen:
8959         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
8960         * build-aux/move-if-change (help):
8961         * build-aux/useless-if-before-free (usage, main program):
8962         * check-module (parse_module_file, usage)
8963         (find_included_lib_files, check_module):
8964         * lib/argmatch.c (main) [TEST]:
8965         * lib/argp-help.c (_help):
8966         * lib/getopt1.c (main) [TEST]:
8967         * lib/git-merge-changelog.c (usage):
8968         * lib/xstrtol-error.c (xstrtol_error):
8969         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
8970         * m4/argz.m4 (gl_FUNC_ARGZ):
8971         * m4/bison.m4 (gl_BISON):
8972         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
8973         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
8974         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
8975         * m4/fpending.m4 (gl_PREREQ_FPENDING):
8976         * m4/gc-random.m4 (gl_GC_RANDOM):
8977         * m4/intl.m4 (gt_CHECK_DECL):
8978         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
8979         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
8980         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
8981         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
8982         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
8983         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
8984         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
8985         * tests/test-dirname.c (main):
8986         * tests/test-getpass.c (main):
8987         * tests/test-iconvme.c (main):
8988         * tests/test-parse-datetime.c (LOG):
8989         * tests/test-xstrtoimax.sh:
8990         * tests/test-xstrtol.sh:
8991         * tests/test-xstrtoll.sh:
8992         * tests/test-xstrtoumax.sh:
8993         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
8994         * top/GNUmakefile (abort-due-to-no-makefile):
8995         Quote 'like this', not `like this', as per the recent change to
8996         the GNU coding standards.
8997
8998 2012-01-05  Bruno Haible  <bruno@clisp.org>
8999
9000         strtoimax: Don't force a replacement on systems where intmax_t is int.
9001         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
9002         'intmax_t' is not larger than 'int'.
9003         Reported by Pádraig Brady <P@draigBrady.com>.
9004
9005 2012-01-05  Bruno Haible  <bruno@clisp.org>
9006
9007         doc: Mention NetBSD bugs.
9008         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
9009         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
9010
9011 2012-01-05  Bruno Haible  <bruno@clisp.org>
9012
9013         strtoumax tests: Enhance tests.
9014         * tests/test-strtoumax.c (main): Add tests for large values.
9015
9016 2012-01-05  Bruno Haible  <bruno@clisp.org>
9017
9018         strtoimax: Work around AIX 5.1 bug.
9019         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
9020         definition.
9021         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
9022         Set HAVE_STRTOIMAX.
9023         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
9024         REPLACE_STRTOIMAX.
9025         * modules/inttypes-incomplete (Makefile.am): Substitute
9026         REPLACE_STRTOIMAX.
9027         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
9028         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
9029         (Depends-on): Update conditions.
9030         * tests/test-strtoimax.c (main): Add tests for large values.
9031         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
9032
9033 2012-01-05  Bruno Haible  <bruno@clisp.org>
9034
9035         inttypes: Modernize.
9036         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
9037         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
9038         (Makefile.am): Update inttypes.h rule.
9039
9040 2012-01-05  Jim Meyering  <meyering@redhat.com>
9041
9042         init.sh: don't waste a subshell just to redirect stderr
9043         * tests/init.sh: In testing for diff -u and diff -c, use a
9044         stderr-redirecting exec inside `...` rather than a subshell.
9045
9046         test-init.sh: avoid failure on HP-UX 11.00
9047         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
9048         resolves to diff -c or cmp.  Reported by Bruno Haible.
9049
9050 2012-01-05  Bruno Haible  <bruno@clisp.org>
9051
9052         Tests for module 'strtoull'.
9053         * modules/strtoull-tests: New file.
9054         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
9055
9056 2012-01-05  Bruno Haible  <bruno@clisp.org>
9057
9058         Tests for module 'strtoll'.
9059         * modules/strtoll-tests: New file.
9060         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
9061
9062 2012-01-05  Bruno Haible  <bruno@clisp.org>
9063
9064         Tests for module 'strtoul'.
9065         * modules/strtoul-tests: New file.
9066         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
9067
9068 2012-01-05  Bruno Haible  <bruno@clisp.org>
9069
9070         Tests for module 'strtol'.
9071         * modules/strtol-tests: New file.
9072         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
9073
9074 2012-01-04  Jim Meyering  <meyering@redhat.com>
9075
9076         test-init.sh: accommodate Solaris 5.10's different diff -u output
9077         * tests/test-init.sh: Also exempt @@ lines from the comparison
9078         of diff output, since Solaris 5.10 and GNU diff formats differ.
9079         Reported by Stefano Lattarini.
9080
9081 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
9082
9083         test-posixtm: don't assume signed integer wraparound
9084         * tests/test-posixtm.c (main): Don't assume wraparound semantics
9085         after signed integer overflow.  Inspired by (though it may not
9086         fix) Bruno Haible's bug report in
9087         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
9088
9089         Spell out "Windows 9x" and "Windows XP".
9090         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
9091         "Windows 9x" and "WinXP" with "Windows XP".
9092
9093 2012-01-04  Jim Meyering  <meyering@redhat.com>
9094
9095         test-vc-list-files-cvs.sh: remove obsolete comment
9096         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
9097         double exit.  Now that's all encapsulated via skip_ and Exit.
9098
9099 2012-01-04  Bruno Haible  <bruno@clisp.org>
9100
9101         Talk about "native Windows API", not "Win32".
9102         * lib/classpath.c: Update comments to mention native Windows.
9103         * lib/csharpexec.c: Likewise.
9104         * lib/dup2.c: Likewise.
9105         * lib/error.c: Likewise.
9106         * lib/fcntl.c: Likewise.
9107         * lib/filename.h: Likewise.
9108         * lib/findprog.c: Likewise.
9109         * lib/get-rusage-as.c: Likewise.
9110         * lib/get-rusage-data.c: Likewise.
9111         * lib/getpagesize.c: Likewise.
9112         * lib/javaexec.c: Likewise.
9113         * lib/msvc-inval.c: Likewise.
9114         * lib/msvc-nothrow.c: Likewise.
9115         * lib/nanosleep.c: Likewise.
9116         * lib/nonblocking.c: Likewise.
9117         * lib/printf-parse.c: Likewise.
9118         * lib/setlocale.c: Likewise.
9119         * lib/sigaction.c: Likewise.
9120         * lib/strerror_r.c: Likewise.
9121         * lib/tmpdir.c: Likewise.
9122         * lib/vasnprintf.c: Likewise.
9123         * lib/w32spawn.h: Likewise.
9124         * lib/waitpid.c: Likewise.
9125         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
9126         * m4/locale-ar.m4: Likewise.
9127         * m4/locale-fr.m4: Likewise.
9128         * m4/locale-ja.m4: Likewise.
9129         * m4/locale-tr.m4: Likewise.
9130         * m4/locale-zh.m4: Likewise.
9131         * m4/printf.m4: Likewise.
9132         * tests/test-cloexec.c: Likewise.
9133         * tests/test-copy-acl.sh: Likewise.
9134         * tests/test-copy-file.sh: Likewise.
9135         * tests/test-file-has-acl.sh: Likewise.
9136         * tests/test-set-mode-acl.sh: Likewise.
9137         * tests/test-dup-safer.c: Likewise.
9138         * tests/test-dup2.c: Likewise.
9139         * tests/test-dup3.c: Likewise.
9140         * tests/test-fcntl.c: Likewise.
9141         * tests/test-nonblocking-pipe.h: Likewise.
9142         * tests/test-nonblocking-socket.h: Likewise.
9143         * tests/test-pipe.c: Likewise.
9144         * tests/test-pipe2.c: Likewise.
9145         * tests/test-spawn-pipe-child.c: Likewise.
9146         * doc/acl-resources.txt: Likewise.
9147         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9148         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
9149         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
9150         * lib/localcharset.c: Update comments to mention native Windows.
9151         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9152         * lib/localename.c: Likewise.
9153         * lib/progreloc.c: Likewise.
9154         * lib/relocatable.c: Likewise.
9155         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9156         (windows_compute_revents): Renamed from win32_compute_revents.
9157         (windows_compute_revents_socket): Renamed from
9158         win32_compute_revents_socket.
9159         * lib/select.c: Update comments to mention native Windows.
9160         (windows_poll_handle): Renamed from win32_poll_handle.
9161         * m4/threadlib.m4: Update comments to mention native Windows.
9162         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
9163         --enable-threads=windows instead of --enable-threads=win32. Set
9164         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
9165         * lib/glthread/lock.h: Update comments to mention native Windows.
9166         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
9167         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
9168         USE_WIN32_THREADS.
9169         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
9170         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
9171         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
9172         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
9173         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
9174         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
9175         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
9176         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
9177         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
9178         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
9179         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
9180         * tests/test-tls.c: Likewise.
9181         Rationale:
9182         Microsoft renamed the "Win32 API" to "Windows API", as it is available
9183         on both 32-bit and 64-bit Windows systems.
9184         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
9185         line of distinction is between "native Windows" on one side and Unix/
9186         POSIX systems on the other side. More details in
9187         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
9188         Suggested by Paul Eggert.
9189
9190 2012-01-03  Bruno Haible  <bruno@clisp.org>
9191
9192         isatty: Support for MSVC 9.
9193         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
9194         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
9195         (_isatty_nothrow): New function.
9196         (isatty): Use it instead of _isatty.
9197         (IsConsoleHandle): Add comment, from Paolo Bonzini.
9198         * lib/poll.c (IsConsoleHandle): Likewise.
9199         * lib/select.c (IsConsoleHandle): Likewise.
9200         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
9201         (gl_PREREQ_ISATTY): New macro.
9202         * modules/isatty (Depends-on): Add msvc-inval.
9203         (configure.ac): Invoke gl_PREREQ_ISATTY.
9204
9205 2012-01-03  Jim Meyering  <meyering@redhat.com>
9206
9207         maint.mk: remove temporary transition aid from over 1.5 years ago
9208         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
9209         purpose was to aid in the transition (avoiding silent malfunction)
9210         from that old name to the new _sc_search_regexp.  This shim was
9211         added by commit 219c504b.
9212
9213         init.sh: do not try to accommodate compare arguments starting with "-"
9214         * tests/init.sh (compare_dev_null_): Do not try to accommodate
9215         compare arguments that start with "-".  Besides, we do not worry
9216         about this when invoking diff or cmp; why start now with sed?
9217         Using "--" to separate options from argument would trigger sed
9218         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
9219         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
9220
9221 2012-01-02  Bruno Haible  <bruno@clisp.org>
9222
9223         Enhance tests for module 'isatty'.
9224         * modules/isatty-tests (Depends-on): Add pipe-posix.
9225         * tests/test-isatty.c: Include <fcntl.h>.
9226         (DEV_NULL): New macro.
9227         (main): Test the resut of isatty() also on regular files, pipes, and
9228         /dev/null.
9229
9230         New module 'isatty'.
9231         * lib/unistd.in.h (isatty): New declaration.
9232         * lib/isatty.c: New file, based on an idea of
9233         Bastien Roucariès <roucaries.bastien@gmail.com>.
9234         * m4/isatty.m4: New file.
9235         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
9236         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
9237         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
9238         REPLACE_ISATTY.
9239         * modules/isatty: New file.
9240         * doc/posix-functions/isatty.texi: Mention the new module.
9241         Suggested by Paolo Bonzini.
9242
9243 2012-01-02  Bruno Haible  <bruno@clisp.org>
9244
9245         canonicalize: Tweak 2011-12-29 commit.
9246         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
9247         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
9248
9249 2012-01-02  Jim Meyering  <meyering@redhat.com>
9250
9251         gitlog-to-changelog: describe input syntax in --help output
9252         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
9253
9254         gitlog-to-changelog: fix typo in --help: show backslash before email @
9255         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
9256         in sources, but not in actual output.
9257
9258 2011-12-30  Jim Meyering  <meyering@redhat.com>
9259
9260         gitlog-to-changelog: don't malfunction when name contains %-directive
9261         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
9262         in a name string cause trouble.  E.g., with a user name of "%s",
9263         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
9264
9265 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
9266
9267         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
9268         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
9269         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
9270         the "  (tiny change)" notation that is appended to the standard
9271         ChangeLog "date  name  email" header line.
9272
9273 2012-01-01  Jim Meyering  <meyering@redhat.com>
9274
9275         test-framework-sh: init.sh: fix "make dist" failure
9276         When using gnulib-tool's --with-tests option and any module that
9277         depends on test-framework-sh, "make dist" would fail due to the
9278         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
9279         in the gltests directory, and not in the gllib/ directory.
9280         One way to work around that is to move the EXTRA_DIST += init.sh
9281         from the primary module to the -tests one:
9282         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
9283         * modules/test-framework-sh (Makefile.am): ...not here.
9284         Reported by Tom G. Christensen in
9285         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
9286
9287         version-etc: update copyright year reported by --version
9288         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
9289
9290 2011-12-31  Pádraig Brady  <P@draigBrady.com>
9291
9292         canonicalize: only stat() if required
9293         * lib/canonicalize.c (canonicalize_filename_mode):
9294         Avoid calling l?stat() when both CAN_MISSING,
9295         and CAN_NOLINKS are set, as we neither need
9296         to resolve symlinks or test component existence.
9297
9298 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
9299
9300         doc: cover st_ino issues once; add OpenVMS etc.
9301         * doc/posix-functions/stat.texi (stat):
9302         * doc/posix-functions/lstat.texi (lstat):
9303         * doc/posix-functions/fstatat.texi (fstatat):
9304         * doc/posix-functions/fstat.texi (fstat):
9305         Move general 'struct stat' stuff to sys_stat.texi,
9306         leaving behind a pointer.
9307         * doc/posix-headers/sys_stat.texi (sys/stat.h):
9308         Merge duplicate info about 'struct stat' problems into here.
9309         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
9310         and suggest partial workarounds.
9311
9312         same-inode: port to OpenVMS
9313         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
9314         three st_ino values.
9315
9316 2011-12-30  Pádraig Brady  <P@draigBrady.com>
9317
9318         canonicalize: fix references to stat() and lstat()
9319         * lib/canonicalize.c (canonicalize_filename_mode):
9320         Ensure references always resolve to a replacement
9321         function if required (even via a macro).
9322
9323 2011-12-30  Jim Meyering  <meyering@redhat.com>
9324
9325         gitlog-to-changelog: remove a little duplication
9326         * build-aux/gitlog-to-changelog (main): Grep @lines once,
9327         rather than twice.
9328
9329 2011-12-29  Pádraig Brady  <P@draigBrady.com>
9330
9331         canonicalize: add support for not resolving symlinks
9332         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
9333         indicate we don't want to follow symlinks.  Also
9334         provide CAN_MODE_MASK to aid setting these existing
9335         mutually exclusive values.
9336         * lib/canonicalize.c (canonicalize_filename_mode):
9337         Extract the flags from can_mode parameter, which
9338         are currently just used to select between stat()
9339         and lstat().  Also ensure that mutually exclusive
9340         values are flagged immediately as invalid.
9341         * tests/test-canonicalize.c: Verify symlinks are
9342         not followed, and that invalid flag combinations
9343         are diagnosed.
9344
9345 2011-12-25  Jim Meyering  <meyering@redhat.com>
9346
9347         gitlog-to-changelog: do not clump multi-paragraph entries
9348         Identical header lines (date,name,email+coauthors) are suppressed,
9349         thus putting all entries with those same characteristics under
9350         a single header.  However, when a log entry consists of two or
9351         more paragraphs, it may not be clear where it starts and ends.
9352         This change makes it so that such an entry is always separated
9353         from others by a header line, even when that header would
9354         otherwise be suppressed.
9355         * build-aux/gitlog-to-changelog: Implement the above.
9356         Inspired by a related request from Stefano Lattarini in
9357         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
9358
9359 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
9360
9361         announce-gen: fix `cmd' typo in diagnostic
9362         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
9363         diagnostic: a missing '$' meant that the command was not output.
9364
9365 2011-12-23  Jim Meyering  <meyering@redhat.com>
9366
9367         test-framework-sh: distribute init.sh
9368         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
9369         Otherwise, "make -C gnulib-tests check" (at least in grep) would
9370         fail due to the lack of init.sh.
9371
9372         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
9373         * modules/atexit-tests: Rather than listing tests/init.sh,
9374         now that there's a module for it, simply depend on that new module.
9375         * modules/closein-tests: Likewise.
9376         * modules/exclude-tests: Likewise.
9377         * modules/getcwd-tests: Likewise.
9378         * modules/perror-tests: Likewise.
9379         * modules/pread-tests: Likewise.
9380         * modules/pwrite-tests: Likewise.
9381         * modules/vc-list-files-tests: Likewise.
9382         * modules/verify-tests: Likewise.
9383         * modules/xalloc-die-tests: Likewise.
9384         * modules/xstrtoimax-tests: Likewise.
9385         * modules/xstrtol-tests: Likewise.
9386         * modules/xstrtoll-tests: Likewise.
9387         * modules/xstrtoumax-tests: Likewise.
9388         * modules/yesno-tests: Likewise.
9389
9390 2011-12-22  Jim Meyering  <meyering@redhat.com>
9391
9392         test-framework-sh: add minimal tests of init.sh's compare function
9393         * modules/test-framework-sh-tests: New file.
9394         * tests/test-init.sh: New file.
9395
9396         test-framework-sh: new module
9397         * modules/test-framework-sh: New file.
9398         * MODULES.html.sh (Support for maintaining and releasing projects):
9399         List it.
9400
9401         init.sh: do not emit simulated diff output to stderr
9402         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
9403
9404 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
9405
9406         .gitignore: ignore gnulib.dvi and regex.info
9407         * doc/.gitignore:add gnulib.dvi and regex.info
9408
9409 2011-12-22  Jim Meyering  <meyering@redhat.com>
9410
9411         init.sh: correct previous change
9412         * tests/init.sh (compare): My previous change was wrong.
9413         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
9414
9415         init.sh: avoid unwarranted test failure when using "set -e"
9416         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
9417         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
9418         a use like "compare exp out" would get evoke an unconditional failure.
9419
9420 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
9421
9422         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
9423         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
9424         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
9425         autoreconf that did not.
9426         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
9427         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
9428
9429 2011-12-17  Jim Meyering  <meyering@redhat.com>
9430
9431         bootstrap: remove some now-unneeded code
9432         This script arose back when gnulib-tool was young.
9433         Since then, it has seen improvements that render much of this
9434         script unnecessary.  In particular, it can now make symlinks
9435         to the files it uses.  Also, I no longer see as much value in
9436         marking files as read-only via comments.
9437         If you relied on the symlink-creation feature of the preceding
9438         version of this script, you can get most of that functionality
9439         by adding the --symlink option to the definition of
9440         gnulib_tool_option_extras in your bootstrap.conf file.
9441         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
9442         Run autopoint and libtoolize *before* gnulib-tool.
9443         After it, run an abbreviated autoreconf, rather than a loop around
9444         all tools.
9445         (slirp, bt_mark_as_generated): Remove functions.
9446
9447 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9448
9449         ftoastr: fix typo
9450         * lib/ftoastr.h: Fix misspelling in comment.
9451
9452 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
9453
9454         * top/README-release: fix punctuation.
9455
9456 2011-12-17  Jim Meyering  <meyering@redhat.com>
9457
9458         bootstrap: correct the recent buildreq change
9459         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
9460         had no effect.
9461         * build-aux/bootstrap (buildreq): Bracket each search term with
9462         "*...*", so that the shell "case" statement works as intended.
9463         Add comments.
9464
9465 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
9466
9467         build: let bootstrap resort to wget when downloading .po files
9468         * build-aux/bootstrap (download_po_files): Fallback to wget when
9469         downloading the .po files via rsync fails.  This is necessary to
9470         bootstrap from behind a strict firewall.
9471
9472 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9473
9474         stdint: don't assume C++11 when compiling with g++
9475         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
9476         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
9477         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
9478         work also in C++ before C++11, as that improperly inhibits
9479         generating a substitute stdint.h for that case.
9480
9481 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9482
9483         alloca: protect comment from gnulib-tool
9484         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
9485         that gnulib-tool doesn't think it's a license, and munge it to
9486         say "GCC version 3".
9487
9488 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
9489
9490         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
9491         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
9492         $(abs_top_builddir) instead of $(top_builddir).
9493
9494 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
9495
9496         strftime-tests: also test nanoseconds
9497         * tests/test-strftime.c (T): Add a test of %N.
9498
9499 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
9500
9501         inttypes, stdint: add C++11 support
9502         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
9503         when including inttypes.h and stdint.h.  Support this change to
9504         the standard.
9505         * doc/posix-headers/inttypes.texi (inttypes.h):
9506         * doc/posix-headers/stdint.texi (stdint.h): Document this.
9507         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
9508         Define if not defined already, for the benefit of pre-C++11 hosts.
9509         Define the standard format macros (e.g., PRId8) always.
9510         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
9511         Likewise, if __cpluspus.  Define the standard constant and limit
9512         macros (e.g., INT8_C, INT8_MAX) always.
9513         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
9514         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
9515         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
9516         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
9517         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
9518         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
9519         Likewise.
9520
9521 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
9522
9523         nonblocking tests: Fix test failure on Linux/PPC.
9524         Suggested by Prerna Saxena in
9525         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
9526         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
9527         Set to 1100000.
9528
9529 2011-12-12  Jim Meyering  <meyering@redhat.com>
9530
9531         argmatch: don't hard-code `' when listing valid option arguments
9532         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
9533         use the quote function to add quotes.  Use fputs rather than
9534         fprintf for the format string with no format directive.
9535
9536 2011-12-07  Eric Blake  <eblake@redhat.com>
9537
9538         bootstrap: detect tools required by gnulib-tool
9539         * build-aux/bootstrap (buildreq): Provide minimum implicit
9540         dependencies.
9541         * DEPENDENCIES: Mention patch as a prereq.
9542
9543 2011-12-04  Bruno Haible  <bruno@clisp.org>
9544
9545         sethostname: Port to Windows platforms.
9546         * lib/sethostname.c: Provide an alternate implementation for Windows
9547         platforms.
9548         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
9549         (main): Skip the test if sethostname() fails with EPERM. On Windows
9550         platforms, don't check the result of gethostname().
9551
9552 2011-12-04  Bruno Haible  <bruno@clisp.org>
9553             Jim Meyering  <meyering@redhat.com>
9554
9555         tests: Avoid spurious error message on platforms without mktemp program.
9556         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
9557
9558 2011-12-04  Bruno Haible  <bruno@clisp.org>
9559
9560         sethostname: Fix documentation.
9561         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
9562         "not fixed" section.
9563
9564 2011-12-03  Bruno Haible  <bruno@clisp.org>
9565
9566         gnulib-tool: Verify that the License field is present and non-empty.
9567         * gnulib-tool (func_get_license_raw): New function, extracted from
9568         func_get_license.
9569         (func_get_license): Use it. Warn if the module is not a test module and
9570         has no license.
9571         Suggested by Jim Meyering.
9572
9573 2011-12-03  Bruno Haible  <bruno@clisp.org>
9574
9575         sethostname tests: Fix link error on mingw.
9576         * tests/test-sethostname1.c: New file, extracted from
9577         tests/test-sethostname.c.
9578         * tests/test-sethostname2.c: New file, extracted from
9579         tests/test-sethostname.c.
9580         * tests/test-sethostname.c: Remove file.
9581         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
9582         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
9583         (Depends-on): Add gethostname.
9584         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
9585         Link the latter with $(GETHOSTNAME_LIB).
9586
9587         sethostname tests: Fix compilation error on mingw.
9588         * tests/test-sethostname.c: Don't include <sys/types.h>.
9589         (geteuid): Use a dummy value without uid_t.
9590         * modules/sethostname-tests (Depends-on): Remove sys_types.
9591
9592         sethostname tests: Avoid a gcc warning.
9593         * tests/test-sethostname.c (main): Remove an unused variable.
9594
9595         Tweak last commit.
9596         * modules/sethostname-tests (Files): Sort by decreasing importance.
9597         (configure.ac): Check for geteuid.
9598         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
9599         the test when there's nothing to test. Drop an unnecessary cast.
9600         Improve an error message. Verify that the final sethostname() call
9601         succeeds.
9602
9603 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9604
9605         Add a test suite for the sethostname module.
9606         * modules/sethostname-tests: New file.  A test program
9607         for the sethostname module.
9608         * tests/test-sethostname.c: Likewise.
9609
9610 2011-12-03  Bruno Haible  <bruno@clisp.org>
9611
9612         Tweak last commit.
9613         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
9614         Fix preprocessor directives indentation. Fix typos.
9615         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
9616         * modules/unistd (Makefile): Likewise.
9617
9618 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9619
9620         Integrate the sethostname module into unistd.
9621         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
9622         into the unistd.h header.
9623         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
9624         preprocessor directives.
9625         * modules/unistd: Setup the Makefile substitutions of the
9626         SETHOSTNAME preprocessor directives.
9627
9628 2011-12-03  Bruno Haible  <bruno@clisp.org>
9629
9630         Tweak last commit.
9631         * lib/sethostname.c: Don't include <string.h>.
9632         (sethostname): No need to copy the argument string to the stack. Don't
9633         call clearerr. Preserve errno when fprintf failed.
9634         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
9635         Don't invoke AC_REPLACE_FUNCS.
9636         * modules/sethostname (Link): Remove empty section.
9637         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
9638         failure problem.
9639
9640 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9641
9642         New module 'sethostname'.
9643         * lib/sethostname.c (sethostname): New file.  Provide sethostname
9644         for systems that lack it.
9645         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
9646         sethostname declaration and function.
9647         * modules/sethostname: New file.  Define the sethostname module.
9648
9649 2011-12-03  Bruno Haible  <bruno@clisp.org>
9650
9651         Tweak last commit.
9652         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
9653
9654 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9655
9656         Split the HOST_NAME_MAX detection into a separate m4 macro.
9657         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
9658         macro so it can be used by the pending sethostname module.
9659
9660 2011-12-03  Bruno Haible  <bruno@clisp.org>
9661
9662         Fix module descriptions syntax.
9663         * modules/argv-iter (License): Fix syntax.
9664         * modules/di-set (License): Likewise.
9665         * modules/ino-map (License): Likewise.
9666         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
9667
9668 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
9669
9670         stdalign: port to Clang 3.0
9671         Problem reported by Simon Josefsson in
9672         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
9673         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
9674         which has <stdalign.h> but which does not define alignof.
9675         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
9676
9677 2011-12-01  Eric Blake  <eblake@redhat.com>
9678
9679         mktempd: silence dd usage
9680         * build-aux/mktempd (rand_bytes): Silence dd.
9681
9682 2011-11-30  Simon Josefsson  <simon@josefsson.org>
9683
9684         manywarnings: Don't mention gcc version in docstring.
9685         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
9686         Jim Meyering <meyering@redhat.com>.
9687
9688 2011-11-30  Jim Meyering  <meyering@redhat.com>
9689
9690         hash: mark a few floating point constants with "f" suffix
9691         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
9692         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
9693         floating point constants with "f", since they're destined to be
9694         saved/used as "float"s.
9695
9696 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
9697
9698         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
9699         * tests/test-float.c (test_long_double): Correct and re-enable the
9700         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
9701
9702 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
9703
9704         Avoid subtracting two pointers that don't point into the same block.
9705         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
9706         only pointers into the same memory block are subtracted. We cannot
9707         assume that sizeof (ptrdiff_t) == sizeof (void *).
9708
9709 2011-11-29  Eric Blake  <eblake@redhat.com>
9710
9711         maint.mk: add syntax check for use of compare from init.sh
9712         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
9713         moved here from coreutils.
9714
9715         manywarnings: drop -Wunsuffixed-float-constants
9716         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
9717         '1.0D', which is the only way to silence this warning for 'double'.
9718
9719 2011-11-29  Jim Meyering  <meyering@redhat.com>
9720
9721         hash: mark compute_bucket_size with the pure attribute
9722         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
9723
9724         quotearg, propername: correct pragma guard expression
9725         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
9726         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
9727
9728 2011-11-28  Jim Meyering  <meyering@redhat.com>
9729
9730         propername: do not mark proper_name with the const attribute
9731         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
9732         since it examines data pointed to by its parameter.
9733         * lib/propername.c (proper_name): Instead, add a pragma to suppress
9734         the suggestion from -Wsuggest-attribute=const.
9735
9736         propername: mark one more function as const
9737         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
9738
9739 2011-11-27  Jim Meyering  <meyering@redhat.com>
9740
9741         mark functions with const and pure attributes
9742
9743         Mark functions per suggestions from gcc-4.6 when using these options:
9744         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
9745         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
9746         Follow these guidelines: when possible, apply the attribute to
9747         an extern declaration, not to its definition.  Apply it to the
9748         definition only when the definition is static.
9749         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
9750         * lib/argv-iter.h (argv_iter_n_args): Likewise.
9751         * lib/base64.h (isbase64): Likewise.
9752         * lib/basename-lgpl.c (last_component, base_len): Likewise.
9753         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
9754         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
9755         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
9756         (c_tolower, c_toupper): Likewise.
9757         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
9758         * lib/chdir-long.c (find_non_slash): Likewise.
9759         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
9760         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
9761         * lib/file-type.h (file_type): Likewise.
9762         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
9763         * lib/filevercmp.c (verrevcmp): Likewise.
9764         * lib/freadahead.h (freadahead): Likewise.
9765         * lib/fts.c (fts_maxarglen): Likewise.
9766         * lib/hash-pjw.h (hash_pjw): Likewise.
9767         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
9768         * lib/hash.c (is_prime, next_prime): Likewise.
9769         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
9770         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
9771         (hash_table_ok, hash_get_first, hash_string): Likewise.
9772         (compute_bucket_size): Likewise.
9773         * lib/i-ring.h (i_ring_empty): Likewise.
9774         * lib/isnan.c (isnanl): Likewise.
9775         * lib/math.h (isnanl, rpl_isnanl): Likewise.
9776         * lib/memcasecmp.h (memcasecmp): Likewise.
9777         * lib/memchr2.h (memchr2): Likewise.
9778         * lib/memcmp2.h (memcmp2): Likewise.
9779         * lib/parse-datetime.y (lookup_zone): Likewise.
9780         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
9781         [!WINDOWS_SOCKETS]: Likewise.
9782         * lib/strnlen1.h (strnlen1): Likewise.
9783         * lib/uniwidth.in.h (uc_width): Likewise.
9784         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
9785         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
9786         (quoting_options_from_style): Add a comment.
9787         * lib/propername.h (proper_name): Add a comment.
9788
9789 2011-11-27  Bruno Haible  <bruno@clisp.org>
9790
9791         Remove unused macros from !_LIBC code in glibc-borrowed files.
9792         * lib/fnmatch.c (STRCOLL): Remove macro.
9793         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
9794         * lib/glob.c (__stat, __readdir64): Remove macros.
9795         * lib/tempname.c (__open64, __xstat64): Remove macros.
9796         Suggested by Paul Eggert.
9797
9798 2011-11-27  Bruno Haible  <bruno@clisp.org>
9799
9800         getcwd: Fix link error on MSVC 9.
9801         * modules/getcwd (Depends-on): Add readdir, rewinddir.
9802
9803 2011-11-27  Bruno Haible  <bruno@clisp.org>
9804
9805         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
9806         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
9807         HAVE_OPENDIR is 0.
9808         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
9809         HAVE_CLOSEDIR is 0.
9810         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
9811         is 0.
9812         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
9813
9814 2011-11-27  Bruno Haible  <bruno@clisp.org>
9815
9816         getcwd: Fix bug from 2011-08-17.
9817         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
9818         platforms that need it.
9819         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
9820         code of 4 to be a failure, not a success. This ensures that
9821         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
9822
9823 2011-11-27  Bruno Haible  <bruno@clisp.org>
9824
9825         binary-io tests: Avoid test failure on mingw when libtool is used.
9826         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
9827         Don't verify the size of t-bin-out1.tmp here.
9828         * tests/test-binary-io.sh: Verify it here.
9829         Reported by Simon Josefsson.
9830
9831 2011-11-26  Bruno Haible  <bruno@clisp.org>
9832
9833         Fix conflict between two instantiations of module 'unistd'.
9834         * gnulib-tool (func_emit_autoconf_snippet): Substitute
9835         ${include_guard_prefix} also in the autoconf snippet.
9836         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
9837         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
9838         GNULIB_UNISTD_H_GETOPT.
9839         * modules/getopt-posix (configure.ac): Set the
9840         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
9841         * modules/getopt-gnu (configure.ac): Likewise.
9842         * modules/unistd (Makefile.am): Change the substitution value of
9843         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
9844         Reported by Simon Josefsson.
9845
9846 2011-11-25  Bruno Haible  <bruno@clisp.org>
9847
9848         pagealign_alloc: Doc and comments.
9849         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
9850         module.
9851         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
9852
9853 2011-11-25  Jim Meyering  <meyering@redhat.com>
9854
9855         test-update-copyright.sh: avoid false-positive failure
9856         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
9857         around false positive failure on Cygwin/Windows.  The latter was
9858         matching erroneously-created files with names like
9859         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
9860
9861 2011-11-25  Simon Josefsson  <simon@josefsson.org>
9862
9863         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
9864         * m4/valgrind-tests.m4: Check that the parameters that will be
9865         used works, not just a subset of them.  Reported by Bruno Haible
9866         <bruno@clisp.org>.
9867
9868 2011-11-24  Jim Meyering  <meyering@redhat.com>
9869
9870         test-stdalign.c: comment out long double tests
9871         * tests/test-stdalign.c: Don't try to reduce alignment of long double
9872         variables.  That provokes errors like this from gcc-4.7.0 20111124:
9873         error: '_Alignas' specifiers cannot reduce alignment of \
9874         'static_longdouble_alignas'.
9875
9876 2011-11-22  Jim Meyering  <meyering@redhat.com>
9877
9878         init.sh: make "compare /dev/null FILE" output more readable
9879         * tests/init.sh (compare_): Document the preferred order of arguments.
9880         (emit_diff_u_header_): New function.
9881         (compare_dev_null_): Emit a simulated diff, rather than just the
9882         contents of the unexpected file.  Suggestion from Bruno Haible.
9883
9884 2011-11-21  Jim Meyering  <meyering@redhat.com>
9885             Eric Blake  <eblake@redhat.com>
9886
9887         init.sh: work around OSF/1 5.1's mishandling of /dev/null
9888         * tests/init.sh: Make our compare function slightly more portable.
9889         Reported by Bruno Haible in
9890         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
9891
9892 2011-11-21  Simon Josefsson  <simon@josefsson.org>
9893
9894         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
9895         before using it, in code that ends up in config.h.
9896
9897 2011-11-20  Bruno Haible  <bruno@clisp.org>
9898
9899         getcwd: Work around getcwd bug on AIX 5..7.
9900         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
9901         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
9902         Use a different value for gl_cv_func_getcwd_path_max. Move the
9903         definition of HAVE_PARTLY_WORKING_GETCWD from here...
9904         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
9905         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
9906         Define HAVE_MINIMALLY_WORKING_GETCWD.
9907         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
9908         where it is not even minimally working, that is, on AIX.
9909         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
9910         m4/getcwd-path-max.m4.
9911         (main): Update exit code computation.
9912         * doc/posix-functions/getcwd.texi: Mention list of platforms where
9913         getcwd does not handle long file names.
9914
9915 2011-11-20  Bruno Haible  <bruno@clisp.org>
9916
9917         getcwd: Fix bug from 2009-09-10.
9918         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
9919         like "no".
9920
9921 2011-11-20  Simon Josefsson  <simon@josefsson.org>
9922
9923         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
9924
9925 2011-11-20  Bruno Haible  <bruno@clisp.org>
9926
9927         fma tests: Avoid shadowing local variables.
9928         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
9929         expected.
9930
9931 2011-11-20  Bruno Haible  <bruno@clisp.org>
9932
9933         copysignf tests: Fix.
9934         * tests/test-copysignf.c: Fix signature check.
9935
9936 2011-11-20  Bruno Haible  <bruno@clisp.org>
9937
9938         fma: Remove unused code.
9939         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
9940         unused macros.
9941
9942 2011-11-20  Bruno Haible  <bruno@clisp.org>
9943
9944         sethostname: Fix doc about AIX.
9945         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
9946         sethostname; it has it.
9947
9948         sethostname: Mention more portability problems.
9949         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
9950         problem.
9951         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
9952
9953 2011-11-19  Bruno Haible  <bruno@clisp.org>
9954
9955         Depend on module fcntl-h when AT_FDCWD is used.
9956         * modules/utimens (Depends-on): Add fcntl-h.
9957         * modules/areadlinkat (Depends-on): Likewise.
9958         * modules/areadlinkat-with-size (Depends-on): Likewise.
9959         * modules/faccessat (Depends-on): Likewise.
9960         * modules/fchmodat (Depends-on): Likewise.
9961         * modules/fchownat (Depends-on): Likewise.
9962         * modules/getcwd (Depends-on): Likewise.
9963         * modules/mkdirat (Depends-on): Likewise.
9964         * modules/mkfifoat (Depends-on): Likewise.
9965         * modules/readlinkat (Depends-on): Likewise.
9966         * modules/symlinkat (Depends-on): Likewise.
9967         * modules/dup2-tests (Depends-on): Likewise.
9968         * modules/fdutimensat-tests (Depends-on): Likewise.
9969         * modules/futimens-tests (Depends-on): Likewise.
9970
9971 2011-11-19  Bruno Haible  <bruno@clisp.org>
9972
9973         euidaccess: Update a comment.
9974         * lib/euidaccess.c: Update comment about platforms with faccessat.
9975
9976 2011-11-19  Bruno Haible  <bruno@clisp.org>
9977
9978         openat: Fix file list.
9979         * modules/openat (Files): Remove lib/at-func.c.
9980
9981 2011-11-19  Bruno Haible  <bruno@clisp.org>
9982
9983         fstatat: Simplify.
9984         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
9985         gnulib should define rpl_fstatat, there is a
9986         "#define fstatat rpl_fstatat" in <sys/stat.h>.
9987
9988 2011-11-19  Bruno Haible  <bruno@clisp.org>
9989
9990         Ensure 'inline' can be used in tests/test-utimens-common.h.
9991         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
9992         * modules/futimens-tests (configure.ac): Likewise.
9993         * modules/utimens-tests (configure.ac): Likewise.
9994         * modules/utimensat-tests (configure.ac): Likewise.
9995
9996 2011-11-19  Simon Josefsson  <simon@josefsson.org>
9997
9998         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
9999         not hash_insert0.
10000         (hash_insert_if_absent): Doc fix.
10001
10002 2011-11-19  Simon Josefsson  <simon@josefsson.org>
10003
10004         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
10005
10006 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
10007
10008         test-getcwd: disambiguate exit status
10009         * tests/test-getcwd.c (test_long_name): Return 0..7.
10010         (main): Exit with an unambiguous exit status.  The old
10011         code yielded a mysterious mixture of two failure codes.
10012
10013         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
10014         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
10015         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
10016         rpl_fstatat or fstatat.  This should fix the other problem
10017         reported by Kai Habel in
10018         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
10019         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
10020         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
10021         and I reproduced it on a Solaris 8 host we still have in production.
10022
10023 2011-11-18  Jim Meyering  <meyering@redhat.com>
10024
10025         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
10026         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
10027         Add a sentence to the comment.
10028         (hash_insert0): New function that simply calls hash_insert_if_absent.
10029         * lib/hash.h (hash_insert_if_absent): Declare it.
10030         (hash_insert0): Add deprecation attribute.
10031         (_GL_ATTRIBUTE_DEPRECATED): Define.
10032         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
10033         not hash_insert0.
10034         * NEWS: Mention it, even though it's not really an incompatible change.
10035
10036 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
10037
10038         openat: avoid compilation failure due to lack of <errno.h> inclusion
10039         * lib/openat.c: Include <errno.h>.
10040
10041 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
10042
10043         * modules/getcwd (Depends-on): Add fdopendir.
10044         This fixes one of the two problems reported by Kai Habel in
10045         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
10046
10047         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
10048         stdalign problem reported by Ian Beckwith in
10049         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
10050         * modules/crypto/gc-arcfour (Depends-on):
10051         Depend conditionally on crypto/arcfour.
10052         * modules/crypto/gc-arctwo (Depends-on):
10053         Depend conditionally on crypto/arctwo.
10054         * modules/crypto/gc-des (Depends-on):
10055         Depend conditionally on crypto/des.
10056         * modules/crypto/gc-hmac-md5 (Depends-on):
10057         Depend conditionally on crypto/hmac-md5.
10058         * modules/crypto/gc-hmac-sha1 (Depends-on):
10059         Depend conditionally on crypto/hmac-sha1.
10060         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
10061         * modules/crypto/gc-md4 (Depends-on):
10062         Depend conditionally on crypto/md4.
10063         * modules/crypto/gc-md5 (Depends-on):
10064         Depend conditionally on crypto/md5.
10065         * modules/crypto/gc-rijndael (Depends-on):
10066         Depend conditionally on crypto/rijndael.
10067         * modules/crypto/gc-sha1 (Depends-on):
10068         Depend conditionally on crypto/sha1.
10069         * modules/crypto/gc-arcfour:
10070         * modules/crypto/gc-arctwo:
10071         * modules/crypto/gc-des:
10072         * modules/crypto/gc-hmac-md5:
10073         * modules/crypto/gc-hmac-sha1:
10074         * modules/crypto/gc-md2:
10075         * modules/crypto/gc-md4:
10076         * modules/crypto/gc-md5:
10077         * modules/crypto/gc-rijndael:
10078         * modules/crypto/gc-sha1:
10079         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
10080         now that the conditional dependencies do the work for us.
10081
10082 2011-11-17  Jim Meyering  <meyering@redhat.com>
10083
10084         tests: factor st_ctime-comparison out of two headers
10085         * tests/test-utimens-common.h (ctime_compare): Define.
10086         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
10087         * tests/test-lutimens.h (test_lutimens): Likewise.
10088         * tests/test-utimens.h (test_utimens): Likewise.
10089
10090         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
10091         Invoke the test program via an init.sh-using wrapper.
10092         * tests/test-getcwd.sh: New file.
10093         * modules/getcwd-tests (Files): Add it.
10094         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
10095
10096 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
10097
10098         gitlog-to-changelog: support multi-author commits.
10099         The FSF cares about keeping track of all authors of patches to its
10100         projects, but Git doesn't provide obvious support for multi-author
10101         changesets. Consensus seems to be forming around the use of extra
10102         Signed-off-by inspired lines in the log message formatted as
10103         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
10104         multi-author commits between version control systems.
10105         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
10106         log message and output in standard ChangeLog multi-author format.
10107         Reported by Peter Rosin <peda@lysator.liu.se>
10108
10109 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
10110             Bruno Haible  <bruno@clisp.org>
10111
10112         Fix some modules' file list.
10113         * modules/fstatat (Files): Add m4/lstat.m4.
10114         * modules/openat (Files): Likewise.
10115         * modules/unlinkat (Files): Likewise.
10116
10117 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
10118
10119         maint.mk: fix tight-scope.mk generation in VPATH builds.
10120         * top/maint.mk (tight-scope.mk): Make sure to prefix file
10121         reference with $(srcdir) so that the file is found correctly even
10122         when running `make syntax-check' in a VPATH build.
10123
10124 2011-11-13  Bruno Haible  <bruno@clisp.org>
10125             Jim Meyering  <meyering@redhat.com>
10126
10127         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
10128         * tests/init.sh (compare): Remove "No differences encountered" or
10129         synonymous output from the 'diff' program.
10130
10131 2011-11-13  Bruno Haible  <bruno@clisp.org>
10132
10133         Makefile: Tweak indentation.
10134         * Makefile: Use tab as first character in every line that contains rule
10135         commands.
10136
10137 2011-11-13  Bruno Haible  <bruno@clisp.org>
10138
10139         Syntax check for copyright statements.
10140         * check-copyright: New file.
10141         * Makefile (sc_check_copyright): New rule.
10142
10143 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10144
10145         * build-aux/git-version-gen: Add --prefix to configure the tag
10146         match string.
10147
10148 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10149
10150         * build-aux/git-version-gen: Add --help and --version.
10151
10152 2011-11-12  Jim Meyering  <meyering@redhat.com>
10153
10154         revamp the other test-exclude?.sh scripts to use init.sh, too
10155         * tests/test-exclude1.sh: Use init.sh.
10156         * tests/test-exclude2.sh: Likewise.
10157         * tests/test-exclude3.sh: Likewise.
10158         * tests/test-exclude4.sh: Likewise.
10159         * tests/test-exclude5.sh: Likewise.
10160         * tests/test-exclude6.sh: Likewise.
10161         * tests/test-exclude7.sh: Likewise.
10162         * tests/test-exclude8.sh: Likewise.
10163         * modules/exclude-tests (Files): List init.sh.
10164
10165         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
10166         These shell scripts ignored failure of the binary test-exclude,
10167         so making the latter return 77 didn't cause them to be skipped.
10168         * tests/test-exclude5.sh: Exit with test-exclude's error status
10169         when that program fails.  Revamp to use init.sh.
10170         * tests/test-exclude2.sh: Likewise.
10171
10172         test-exclude: fix a typo
10173         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
10174
10175 2011-11-11  Bruno Haible  <bruno@clisp.org>
10176
10177         obstack: Fix compilation error on MSVC 9.
10178         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
10179
10180 2011-11-11  Jim Meyering  <meyering@redhat.com>
10181
10182         test-exclude: skip tests rather than failing on deficient systems
10183         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
10184         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
10185         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
10186         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
10187
10188 2011-11-10  Bruno Haible  <bruno@clisp.org>
10189
10190         ptsname_r test: Avoid gcc warning on glibc systems.
10191         * tests/test-ptsname_r.c (null_ptr): New function.
10192         (test_errors): Use it.
10193
10194 2011-11-10  Bruno Haible  <bruno@clisp.org>
10195
10196         ptsname_r: Avoid compilation error on OSF/1 5.1.
10197         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
10198         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
10199         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
10200         function is not declared or incompatibly declared.
10201         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
10202         * modules/ptsname_r (Depends-on, configure.ac): Update.
10203         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
10204
10205 2011-11-10  Bruno Haible  <bruno@clisp.org>
10206
10207         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
10208         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
10209         When cross-compiling, guess yes on all platforms except AIX.
10210         Reported by Ludovic Courtès <ludo@gnu.org>.
10211
10212 2011-11-09  Bruno Haible  <bruno@clisp.org>
10213
10214         ptsname_r tests: Fix bugs.
10215         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
10216         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
10217
10218 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
10219
10220         fstatat: work with cross-compilation
10221         Problem reported by Ludovic Courtès in
10222         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
10223         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
10224         "cross-compiling" and assume the bug is present.  Replace
10225         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
10226         an inverted sense, to be more conservative about our assumptions.
10227         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
10228
10229 2011-11-09  Bruno Haible  <bruno@clisp.org>
10230
10231         Improve MODULES.html output.
10232         * modules/mkfifoat (Description): Use the word "function".
10233         * modules/readlinkat (Description): Likewise.
10234         * modules/symlinkat (Description): Likewise.
10235
10236 2011-11-09  Eric Blake  <eblake@redhat.com>
10237
10238         ptsname_r-tests: new test module
10239         * modules/ptsname_r-tests: New module.
10240         * tests/test-ptsname_r.c: New file.
10241
10242         ptsname_r: new module
10243         * modules/ptsname_r: New module.
10244         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
10245         * lib/ptsname.c (__ptsname_r): Split...
10246         * lib/ptsname_r.c: ...into new file.
10247         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
10248         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
10249         * modules/stdlib (Makefile.am): Substitute witnesses.
10250         * lib/stdlib.in.h (ptsname_r): Declare it.
10251         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
10252         * MODULES.html.sh (Misc): Likewise.
10253         * modules/ptsname (Depends-on): Alter dependency.
10254         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
10255
10256 2011-11-09  Jim Meyering  <meyering@redhat.com>
10257
10258         announce-gen: be more concise when there's only one URL+tarball
10259         * build-aux/announce-gen (get_tool_versions): When you distribute
10260         only one type of tarball, combine the first two "Here are..."
10261         sections and make the key-checking grammar independent of
10262         how many tarballs there are.
10263
10264 2011-11-09  Eric Blake  <eblake@redhat.com>
10265
10266         openpty: provide a stub on mingw
10267         * lib/pty.in.h (includes): Provide forward declarations.
10268         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
10269
10270         raise: fix mingw handling of SIGPIPE
10271         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
10272
10273 2011-11-08  Bruno Haible  <bruno@clisp.org>
10274
10275         More conditional dependencies.
10276         * modules/faccessat (Depends-on): Add conditions.
10277         * modules/fchmodat (Depends-on): Likewise.
10278         * modules/fchownat (Depends-on): Likewise.
10279         * modules/fstatat (Depends-on): Likewise.
10280         * modules/mkfifoat (Depends-on): Likewise.
10281         * modules/readlinkat (Depends-on): Likewise.
10282         * modules/symlinkat (Depends-on): Likewise.
10283         * modules/unlinkat (Depends-on): Likewise.
10284         * modules/utimensat (Depends-on): Likewise.
10285         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
10286         * modules/linkat (Depends-on): Refine the conditions.
10287         * modules/renameat (Depends-on): Likewise.
10288
10289 2011-11-08  Bruno Haible  <bruno@clisp.org>
10290
10291         faccessat: Move AC_LIBOBJ invocation to module description.
10292         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
10293         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
10294         invocation from here...
10295         * modules/faccessat (configure.ac): ... to here. Invoke
10296         gl_PREREQ_FACCESSAT.
10297
10298 2011-11-08  Bruno Haible  <bruno@clisp.org>
10299
10300         faccessat: Simplify autoconf macro.
10301         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
10302         gl_FUNC_EUIDACCESS.
10303
10304 2011-11-08  Bruno Haible  <bruno@clisp.org>
10305
10306         renameat: Fix dependencies.
10307         * modules/renameat (Depends-on): Add stdbool.
10308
10309 2011-11-08  Bruno Haible  <bruno@clisp.org>
10310
10311         mkfifoat: Fix module description.
10312         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
10313         not gl_UNISTD_MODULE_INDICATOR.
10314
10315 2011-11-08  Bruno Haible  <bruno@clisp.org>
10316
10317         fstatat: Remove unused dependency.
10318         * modules/fstatat (Depends-on): Remove fstat.
10319
10320 2011-11-08  Simon Josefsson  <simon@josefsson.org>
10321
10322         GNUmakefile: behave when Makefile is missing.
10323         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
10324
10325 2011-11-08  Bruno Haible  <bruno@clisp.org>
10326
10327         openat: Conditionalize dependencies.
10328         * lib/openat.c: Reduce the scope of some #includes.
10329         * modules/openat (Depends-on): Add conditions.
10330
10331 2011-11-07  Jim Meyering  <meyering@redhat.com>
10332
10333         maint.mk: extract GPG key ID without using a temporary file
10334         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
10335         without using a temporary file.  Based on a suggestion from Werner Koch
10336         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
10337
10338 2011-11-07  Eric Blake  <eblake@redhat.com>
10339
10340         grantpt: fix typo
10341         * lib/stdlib.in.h (grantpt): Check correct function.
10342
10343         maint.mk: silence new syntax check
10344         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
10345
10346 2011-11-06  Bruno Haible  <bruno@clisp.org>
10347
10348         Doc about floating-point and math API.
10349         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
10350         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
10351
10352 2011-11-06  Bruno Haible  <bruno@clisp.org>
10353
10354         stdalign tests: Skip the test when compiled by Sun C.
10355         * tests/test-stdalign.c (main): Skip the test on Sun C.
10356
10357 2011-11-06  Bruno Haible  <bruno@clisp.org>
10358
10359         ansi-c++-opt: Complete the 2011-06-05 change.
10360         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
10361         does not support namespaces, set the variable to "no", not to ":".
10362
10363 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
10364
10365         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
10366
10367 2011-11-06  Bruno Haible  <bruno@clisp.org>
10368
10369         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
10370         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
10371         (minus_zerol) [HP-UX]: New macro.
10372         (unary_minus) [HP-UX]: New function.
10373         (copysignl) [HP-UX]: Use unary_minus function.
10374
10375 2011-11-06  Bruno Haible  <bruno@clisp.org>
10376
10377         ldexp, ldexpf, ldexpl: Enhance tests.
10378         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
10379         and tests/test-ldexpl.c.
10380         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
10381         LDEXP, MIN_EXP, MAX_EXP): New macros.
10382         Include test-ldexp.h.
10383         (main): Just call test_function.
10384         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
10385         infinity.h, nan.h.
10386         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10387         MAX_EXP): New macros.
10388         Include test-ldexp.h.
10389         (x, y): Remove variables.
10390         (main): Just call test_function.
10391         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
10392         infinity.h, nan.h.
10393         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10394         MAX_EXP): New macros.
10395         Include test-ldexp.h.
10396         (x, y): Remove variables.
10397         (main): Just call test_function.
10398         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
10399         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
10400         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10401         (Depends-on): Add isnand-nolibm, signbit, float.
10402         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
10403         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10404         (Depends-on): Add isnanf-nolibm, signbit, float.
10405
10406 2011-11-06  Bruno Haible  <bruno@clisp.org>
10407
10408         math tests: Cosmetics.
10409         * tests/test-math-c++.cc: Reorder declarations.
10410
10411 2011-11-05  Bruno Haible  <bruno@clisp.org>
10412
10413         fma*: Simplify test.
10414         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
10415         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
10416
10417         Tests for module 'fmal'.
10418         * modules/fmal-tests: New file.
10419         * tests/test-fmal1.c: New file.
10420         * tests/test-fmal2.c: New file.
10421
10422         New module 'fmal'.
10423         * lib/math.in.h (fmal): New declaration.
10424         * lib/fmal.c: New file.
10425         * m4/fmal.m4: New file.
10426         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
10427         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
10428         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
10429         REPLACE_FMAL.
10430         * modules/fmal: New file.
10431         * doc/posix-functions/fmal.texi: Mention the new module and the various
10432         bugs.
10433
10434         Tests for module 'fmaf'.
10435         * modules/fmaf-tests: New file.
10436         * tests/test-fmaf1.c: New file.
10437         * tests/test-fmaf2.c: New file.
10438
10439         New module 'fmaf'.
10440         * lib/math.in.h (fmaf): New declaration.
10441         * lib/fmaf.c: New file.
10442         * m4/fmaf.m4: New file.
10443         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
10444         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
10445         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
10446         REPLACE_FMAF.
10447         * modules/fmaf: New file.
10448         * doc/posix-functions/fmaf.texi: Mention the new module and the various
10449         bugs.
10450
10451         Tests for module 'fma'.
10452         * modules/fma-tests: New file.
10453         * tests/test-fma1.c: New file.
10454         * tests/test-fma1.h: New file.
10455         * tests/test-fma2.c: New file.
10456         * tests/test-fma2.h: New file.
10457
10458         New module 'fma'.
10459         * lib/math.in.h (fma): New declaration.
10460         * lib/fma.c: New file.
10461         * m4/fma.m4: New file.
10462         * m4/fegetround.m4: New file.
10463         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
10464         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
10465         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
10466         REPLACE_FMA.
10467         * modules/fma: New file.
10468         * doc/posix-functions/fma.texi: Mention the new module and the various
10469         bugs.
10470
10471         Extend gl_MATHFUNC.
10472         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
10473         Support 'void' as argument type.
10474         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
10475
10476 2011-11-05  Jim Meyering  <meyering@redhat.com>
10477
10478         maint.mk: also prohibit inclusion of dirent.h without use
10479         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
10480
10481 2011-11-05  Bruno Haible  <bruno@clisp.org>
10482
10483         ldexpl tests: Avoid test failure on MSVC 9.
10484         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
10485         value. Needed in order to enforce the conversion from a value greater
10486         than LDBL_MAX to Infinity.
10487
10488 2011-11-05  Bruno Haible  <bruno@clisp.org>
10489
10490         New modules 'at-internal', 'openat-h', split off from module 'openat'.
10491         * modules/at-internal: New file, extracted from modules/openat.
10492         * modules/openat-h: New file.
10493         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
10494         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
10495         * modules/openat (Description): Add reference to POSIX function.
10496         (Files): Remove lib/openat.h, lib/openat-proc.c.
10497         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
10498         intprops, unistd.
10499         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
10500         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
10501         gl_FCNTL_MODULE_INDICATOR.
10502         (Include): Remove unistd.h, openat.h.
10503         * modules/areadlinkat (Files): Add lib/at-func.c.
10504         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10505         openat-die, openat-h, save-cwd.
10506         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
10507         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10508         openat-die, openat-h, save-cwd, unistd.
10509         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
10510         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10511         openat-h, save-cwd. Remove fcntl-h, openat.
10512         * modules/fchmodat (Files): Remove lib/openat.h.
10513         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10514         openat, stdbool, unistd.
10515         * modules/fchownat (Files): Remove lib/openat.h.
10516         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10517         openat, stdbool, sys_stat.
10518         * modules/fdopendir (Files): Remove lib/openat-priv.h,
10519         lib/openat-proc.c.
10520         (Depends-on): Add at-internal.
10521         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
10522         * modules/fstatat (Files): Remove lib/openat.h.
10523         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10524         stdbool, unistd.
10525         * modules/fts (Depends-on): Add openat-h.
10526         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
10527         openat.
10528         * modules/mkdirat (Files): Remove lib/openat.h.
10529         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10530         openat, stdbool, sys_stat.
10531         * modules/mkfifoat (Files): Add lib/at-func.c.
10532         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10533         openat-h, save-cwd. Remove fcntl-h, openat.
10534         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
10535         * modules/readlinkat (Files): Add lib/at-func.c.
10536         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10537         openat-h, save-cwd. Remove fcntl-h, openat.
10538         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
10539         openat.
10540         * modules/selinux-at (Files): Add lib/at-func.c.
10541         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10542         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
10543         * modules/symlinkat (Files): Add lib/at-func.c.
10544         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10545         openat-h, save-cwd. Remove fcntl-h, openat.
10546         * modules/unlinkat (Files): Remove lib/openat.h.
10547         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10548         stdbool.
10549         * modules/utimensat (Files): Add lib/at-func.c.
10550         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
10551         openat-die, openat-h, save-cwd.
10552         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
10553         * modules/fdutimensat-tests (Depends-on): Add openat.
10554         * modules/fstatat-tests (Depends-on): Add openat-h.
10555         * modules/readlinkat-tests (Depends-on): Add openat.
10556         * modules/symlinkat-tests (Depends-on): Add openat.
10557
10558 2011-11-05  Bruno Haible  <bruno@clisp.org>
10559
10560         openat: Include <stdbool.h>.
10561         * lib/openat.c: Include <stdbool.h>.
10562
10563 2011-11-04  Bruno Haible  <bruno@clisp.org>
10564
10565         fchownat, renameat, unlinkat: Fix dependencies.
10566         * modules/fchownat (Depends-on): Add fstatat.
10567         * modules/renameat (Depends-on): Likewise.
10568         * modules/unlinkat (Depends-on): Likewise.
10569
10570 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
10571
10572         openat: remove direct dependency on dirent
10573         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
10574         and hasn't been needed ever since fdopendir was split into its own
10575         module on 2009-08-31.
10576         * modules/openat (Depends-on): Remove dirent.
10577
10578 2011-11-04  Bruno Haible  <bruno@clisp.org>
10579
10580         renameat: Optimize code size.
10581         * modules/renameat (configure.ac): Don't compile at-func2.c if
10582         REPLACE_RENAMEAT is 1.
10583
10584 2011-11-04  Bruno Haible  <bruno@clisp.org>
10585
10586         openat tests: Fix file list.
10587         * modules/openat-tests (Files): Add tests/test-open.h.
10588
10589 2011-11-04  Bruno Haible  <bruno@clisp.org>
10590
10591         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
10592         * modules/fchmodat (Depends-on): Add openat-die.
10593         * modules/fchownat (Depends-on): Likewise.
10594         * modules/linkat (Depends-on): Likewise.
10595         * modules/renameat (Depends-on): Likewise.
10596         * modules/openat (Depends-on): Add dirent.
10597
10598 2011-11-04  Jim Meyering  <meyering@redhat.com>
10599
10600         at-func*.c: fix comments
10601         * lib/at-func2.c: Correct/improve first-line comment.
10602         * lib/at-func.c: Correct grammar in first-line comment.
10603
10604 2011-11-04  Bruno Haible  <bruno@clisp.org>
10605
10606         New module 'mkdirat', split off from module 'openat'.
10607         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
10608         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
10609         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
10610         * modules/mkdirat: New file, extracted from modules/openat.
10611         * modules/openat (Files): Remove lib/mkdirat.c.
10612         (Depends-on): Remove mkdir.
10613         (configure.ac): Remove AC_LIBOBJ of mkdirat.
10614         (Include): Remove <sys/stat.h>.
10615         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
10616         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
10617         tests/test-mkdir.h.
10618         (Depends-on): Remove ignore-value.
10619         (Makefile.am): Remove rules for test-mkdirat.
10620         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
10621         of module 'openat'.
10622         * NEWS: Mention the change.
10623
10624 2011-11-04  Bruno Haible  <bruno@clisp.org>
10625
10626         closedir: Avoid warning on mingw.
10627         * lib/closedir.c: Include <unistd.h>.
10628
10629 2011-11-04  Bruno Haible  <bruno@clisp.org>
10630
10631         New module 'fstatat', split off from module 'openat'.
10632         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
10633         defined.
10634         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
10635         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
10636         gl_FUNC_FSTATAT.
10637         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
10638         * modules/fstatat: New file, extracted from modules/openat.
10639         * modules/openat (Files): Remove lib/fstatat.c.
10640         (Depends-on): Remove lstat.
10641         (configure.ac): Remove AC_LIBOBJ of fstatat.
10642         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
10643         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
10644         tests/test-lstat.h, tests/test-stat.h.
10645         (Depends-on): Remove getcwd-lgpl.
10646         (Makefile.am): Remove rules for test-fstatat.
10647         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
10648         of module 'openat'.
10649         * NEWS: Mention the change.
10650         * modules/getcwd (Depends-on): Add fstatat.
10651         * modules/linkat (Depends-on): Likewise.
10652         * modules/mkfifoat-tests (Depends-on): Likewise.
10653         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
10654
10655 2011-11-03  Bruno Haible  <bruno@clisp.org>
10656
10657         New module 'unlinkat', split off from module 'openat'.
10658         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
10659         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
10660         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
10661         * modules/unlinkat: New file, extracted from modules/openat. Correct
10662         the dependency conditions.
10663         * modules/openat (Files): Remove lib/unlinkat.c.
10664         (Depends-on): Remove rmdir, unlink.
10665         (configure.ac): Remove AC_LIBOBJ of unlinkat.
10666         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
10667         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
10668         tests/test-rmdir.h, tests/test-unlink.h.
10669         (Depends-on): Remove unlinkdir.
10670         (Makefile.am): Remove rules for test-unlinkat.
10671         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
10672         of module 'openat'.
10673         * NEWS: Mention the change.
10674         * modules/linkat-tests (Depends-on): Add unlinkat.
10675         * modules/mkfifoat-tests (Depends-on): Likewise.
10676         * modules/readlinkat-tests (Depends-on): Likewise.
10677
10678 2011-11-02  Bruno Haible  <bruno@clisp.org>
10679
10680         New module 'fchmodat', split off from module 'openat'.
10681         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
10682         defined.
10683         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
10684         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
10685         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
10686         * modules/fchmodat: New file, extracted from modules/openat.
10687         * modules/openat (Files): Remove lib/fchmodat.c.
10688         (configure.ac): Remove AC_LIBOBJ of fchmodat.
10689         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
10690         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
10691         (Makefile.am): Remove rules for test-fchmodat.
10692         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
10693         of module 'openat'.
10694         * NEWS: Mention the change.
10695
10696 2011-11-02  Jim Meyering  <meyering@redhat.com>
10697
10698         putenv: indent #definition of "environ" to placate cppi
10699         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
10700
10701         gitlog-to-changelog: provide a ChangeLog-repair mechanism
10702         Git logs are often treated as immutable, because editing them
10703         changes the SHA1 checksums of all descendants.  Thus, errors in
10704         git logs tend to stay there forever.  However, when we generate
10705         a ChangeLog file -- typically for distribution -- from that git log,
10706         we can actually make corrections in the generated file.  The key
10707         lies in recording in machine-readable/applicable form the desired
10708         corrections.  See --help for description and an example.
10709         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
10710         (usage): Describe it; alphabetize option descriptions.
10711         (main): Honor the new option, carefully.
10712
10713 2011-11-01  Jim Meyering  <meyering@redhat.com>
10714
10715         gitlog-to-changelog: avoid an infloop
10716         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
10717         that ends up being empty.
10718
10719 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10720
10721         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
10722         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
10723         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
10724         contains (possibly-quoted) backslashes.  This should avoid
10725         all-too-common shell bugs if COMPLICATED contains backslashes in
10726         the "wrong" places.  Reported by David Evans in
10727         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
10728         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
10729         because we want ASCII ranges.  Is there some reason we don't use
10730         the C locale everywhere in this script?
10731         (func_module, top level): Avoid unwanted pathname expansion when
10732         $repo_url_prefix or $repo_url_suffix_repl contain shell
10733         metacharacters like '?' and '*'.
10734
10735 2011-11-01  Bruno Haible  <bruno@clisp.org>
10736
10737         fchownat: Improve description.
10738         * modules/fchownat (Description): Add link to function.
10739
10740 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
10741
10742         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
10743         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
10744         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
10745         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
10746
10747 2011-11-01  Bruno Haible  <bruno@clisp.org>
10748
10749         alignof: Avoid collision with stdalign module.
10750         * lib/alignof.h (alignof): Remove macro.
10751         * NEWS: Mention the change.
10752         Reported by Paul Eggert.
10753
10754 2011-11-01  Bruno Haible  <bruno@clisp.org>
10755
10756         New module 'fchownat', split off from module 'openat'.
10757         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
10758         defined.
10759         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
10760         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
10761         invoke gl_FUNC_FCHOWNAT.
10762         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
10763         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
10764         * modules/fchownat: New file, extracted from modules/openat.
10765         * modules/openat (Files): Remove lib/fchownat.c.
10766         (Depends-on): Remove lchown.
10767         (configure.ac): Remove AC_LIBOBJ of fchownat.
10768         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
10769         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
10770         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
10771         (Depends-on): Remove mgetgroups, usleep, stat-time.
10772         (configure.ac): Remove test for getegid.
10773         (Makefile.am): Remove rules for test-fchownat.
10774         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
10775         of module 'openat'.
10776         * NEWS: Mention the change.
10777
10778 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
10779
10780         stdalign: port better to MSVC and to Sun C 5.11
10781         This fixes some of the problems reported by Bruno Haible in
10782         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
10783         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
10784         shortcomings of MSVC and of Sun C 5.11.
10785         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
10786         around __declspec arg.
10787         * modules/stdalign-tests (Files): Add tests/macros.h.
10788         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
10789         Include macros.h, for ASSERT.
10790         (DECLARE_ALIGNED): Remove.
10791         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
10792         to catch bug), and to 1 if not (simplifies the rest of the code).
10793         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
10794         (CHECK_AUTO): Remove.
10795         (CHECK_ALIGNED): Check only the alignment of the static vars,
10796         since auto var alignment isn't supported by Sun C 5.11.
10797         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
10798         ASSERT failures are easier to diagnose.
10799
10800 2011-10-31  Bruno Haible  <bruno@clisp.org>
10801
10802         doc about some IRIX 5.3 problems.
10803         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
10804         on IRIX 5.3.
10805         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
10806         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
10807         5.3.
10808         * doc/posix-functions/grantpt.texi: Likewise.
10809         * doc/posix-functions/unlockpt.texi: Likewise.
10810         * doc/posix-functions/lgamma.texi: Likewise.
10811         * doc/posix-functions/nextafter.texi: Likewise.
10812         * doc/posix-functions/remainder.texi: Likewise.
10813         * doc/posix-functions/select.texi: Mention misplaced declaration on
10814         IRIX 5.3.
10815         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
10816
10817 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
10818
10819         gitlog-to-changelog: fix git-log invocation.
10820         git-log mishandles date strings before 1970-01-01 UTC, and there is
10821         no use to specify --since=1970-01-01 by default anyway.
10822         * build-aux/gitlog-to-changelog: By default, when no --since option
10823         was given, do not specify explicit --since option to git-log.
10824
10825 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
10826
10827         gitlog-to-changelog: new option --append-dot.
10828         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
10829         first non-blank line of each commit message terminated with a dot.
10830
10831 2011-10-30  Bruno Haible  <bruno@clisp.org>
10832
10833         ffsl, ffsll: Avoid compilation error due to 'restrict'.
10834         * lib/ffsl.h: Include <config.h>.
10835         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
10836
10837 2011-10-30  Jim Meyering  <meyering@redhat.com>
10838
10839         GNUmakefile: reenable "make syntax-check" for most projects
10840         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
10841         build-aux variable", "syntax-check" would do nothing but succeed with
10842         the "No version control files detected..." diagnostic (unless you
10843         happened to override _build-aux via cfg.mk).
10844         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
10845         to precede inclusion of maint.mk.  Otherwise, these variables would
10846         be used undefined in any project that does not override the default.
10847
10848 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
10849
10850         gitlog-to-changelog: treat a message with only blank lines as empty.
10851         * build-aux/gitlog-to-changelog: Move the code that removes leading and
10852         trailing blank lines before the code that issues a warning about an
10853         empty commit message.
10854
10855 2011-10-30  Jim Meyering  <meyering@redhat.com>
10856
10857         test-parse-datetime.c: avoid new DST-related false positive test failure
10858         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
10859         based on the time/date we'll convert, not the current time.
10860         Otherwise, the moment we cross a DST boundary like today's in
10861         Europe, (CEST to CET), that offset ends up being one hour off.
10862
10863 2011-10-27  Bruno Haible  <bruno@clisp.org>
10864
10865         fstat: Tweak documentation.
10866         * modules/fstat (Description): More precise description.
10867
10868 2011-10-27  Bruno Haible  <bruno@clisp.org>
10869
10870         Update documentation regarding 'largefile' module.
10871         * doc/posix-functions/fstat.texi: Tweak wording.
10872         * doc/posix-functions/opendir.texi: Mention that the module fixes the
10873         problems with huge directories and/or small ino_t types.
10874         * doc/posix-functions/readdir.texi: Likewise.
10875         * doc/posix-functions/rewinddir.texi: Likewise.
10876
10877 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
10878
10879         maint.mk: don't maintain a second build-aux variable.
10880         * maint.mk (build_aux): Removed.  The maintainer-makefile module
10881         depends on GNUmakefile, which already maintains a cfg.mk
10882         overridable $(_build-aux) for projects with a non-standard
10883         build-aux directory location, although without the $(srcdir)
10884         prefix.  Use that variable consistently instead of introducing a
10885         second one.  Adjust all call sites.
10886
10887 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
10888
10889         Add stdalign module and use it in other modules.
10890         This is based on a previous proposal by Bruno Haible
10891         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
10892
10893         stdalign: new module
10894         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
10895         * modules/stdalign: New files.
10896         * MODULES.html.sh (c1x_core_properties): Add stdalign.
10897         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
10898
10899         stdalign-tests: new module
10900         * modules/stdalign-tests, tests/test-stdalign.c: New files.
10901
10902         argp: use stdalign
10903         * lib/argp-parse.c: Include <stdalign.h>.
10904         (alignof): Remove.
10905         * modules/argp (Depends-on): Add stdalign.
10906
10907         crypto libraries: use stdalign
10908         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
10909         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
10910         Do not include <stdlib.h> twice, in md4.c.
10911         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
10912         because we are accessing a pointer's bit-pattern, not a size.
10913         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
10914         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
10915         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
10916         * modules/crypto/sha512: Likewise.
10917
10918         sys_socket: use stdalign, not alignof
10919         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
10920         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
10921
10922 2011-10-27  Bruno Haible  <bruno@clisp.org>
10923
10924         raise test: Avoid a test failure on Linux/MIPS.
10925         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
10926         because 99 is a valid signal on Linux/MIPS.
10927
10928 2011-10-27  Bruno Haible  <bruno@clisp.org>
10929
10930         nonblocking tests: Fix test failure on Linux/MIPS.
10931         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
10932         Set to 270000.
10933
10934 2011-10-27  Bruno Haible  <bruno@clisp.org>
10935
10936         utimensat: Work around problem on Linux/hppa.
10937         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
10938         values.
10939         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
10940
10941 2011-10-25  Jim Meyering  <meyering@redhat.com>
10942
10943         maint.mk: fix a bug in sc_prohibit_stddef_without_use
10944         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
10945         after symbols like NULL, size_t, etc.
10946         Reported by Alfred M. Szmidt.
10947
10948         maint.mk: exempt ENODATA from a syntax-check rule
10949         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
10950         from the sc_prohibit_always-defined_macros syntax-check rule.
10951         Add a comment.  See this for more details:
10952         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
10953
10954 2011-10-23  Jim Meyering  <meyering@redhat.com>
10955
10956         fts: close parent dir FD before returning from post-traversal fts_read
10957         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
10958         unlink A, even though an FD open on A remained.  This is suboptimal
10959         (holding a file descriptor open longer than needed), but otherwise not
10960         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
10961         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
10962         that represents a real problem: it causes the removal of A to fail
10963         with e.g., "rm: cannot remove `A': Device or resource busy"
10964
10965         fts visits each directory twice and keeps a cache (fts_fd_ring) of
10966         directory file descriptors.  After completing the final, FTS_DP,
10967         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
10968         cache, but then proceeded to add a new FD to it via the subsequent
10969         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
10970         final file descriptor would be closed only via fts_close's call to
10971         fd_ring_clear.  Now, it is usually closed earlier, via the final
10972         FTS_DP-returning fts_read call.
10973         * lib/fts.c (restore_initial_cwd): New function, converted from
10974         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
10975         Update callers.
10976         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
10977         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
10978
10979 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
10980             Bruno Haible  <bruno@clisp.org>
10981             Jim Meyering  <jim@meyering.net>
10982
10983         readme-release: improve safety of release prep instructions.
10984         * README-release: Don't git pull all branches when only master
10985         is needed for the release process.
10986         Run make maintainer-clean before changing trees and merging.
10987         Don't try to run ./configure right after git pull in case files
10988         that influence the bootstrap process have changed, move the
10989         ./configure step to after running ./bootstrap.
10990         Don't bootstrap "one last time"... it's the first time!
10991
10992 2011-10-22  Bruno Haible  <bruno@clisp.org>
10993
10994         errno, strerror-override: Support for MSVC 10.
10995         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
10996         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
10997         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
10998         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
10999         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
11000         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
11001         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
11002         Assign values compatible with MSVC 10.
11003         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
11004         New macros.
11005         (GNULIB_defined_EWINSOCK): New macro.
11006         * lib/strerror-override.c (strerror_override): Update accordingly.
11007         * lib/strerror-override.h: Likewise.
11008         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
11009         longer equal to the corresponding errno value.
11010         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11011
11012 2011-10-22  Bruno Haible  <bruno@clisp.org>
11013
11014         perror: Recognize when test program crashes.
11015         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
11016         strerror, set gl_cv_func_perror_works to no.
11017         Reported by Daniel Richard G. <skunk@iskunk.org>.
11018
11019         perror: Fix indentation.
11020         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
11021
11022 2011-10-22  Bruno Haible  <bruno@clisp.org>
11023
11024         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
11025         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
11026         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
11027         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
11028         functions, not as a macro.
11029         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
11030         macros.
11031         (isfinite, isinf, isnan, signbit): Check overloaded functions and
11032         absence of macro.
11033         Suggested by Eric Blake.
11034         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11035
11036 2011-10-21  Bruno Haible  <bruno@clisp.org>
11037
11038         relocatable-prog-wrapper: Don't leave object files behind.
11039         * build-aux/install-reloc: Re-synchronize list of .o files to be
11040         removed with list of compilation units.
11041
11042 2011-10-20  Bruno Haible  <bruno@clisp.org>
11043
11044         openpty, posix_openpt: Remove code duplication.
11045         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
11046         * lib/openpty.c: Include <stdlib.h>.
11047         (openpty): Use posix_openpt on all platforms except IRIX.
11048         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
11049
11050 2011-10-20  Bruno Haible  <bruno@clisp.org>
11051
11052         unlockpt: Detect invalid argument.
11053         * lib/unlockpt.c: Include <fcntl.h>.
11054         (unlockpt): Check whether fd is valid, using fcntl().
11055         * modules/unlockpt (Depends-on): Add fcntl-h.
11056
11057 2011-10-20  Bruno Haible  <bruno@clisp.org>
11058
11059         openpty: Avoid compilation error on AIX 6.1.
11060         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
11061
11062 2011-10-20  Bruno Haible  <bruno@clisp.org>
11063
11064         posix_openpt: Support for OpenBSD.
11065         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
11066         (posix_openpt) [OpenBSD]: New code.
11067         * lib/grantpt.c: Include <fcntl.h>.
11068         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
11069         * modules/grantpt (Depends-on): Add fcntl-h.
11070
11071 2011-10-20  Bruno Haible  <bruno@clisp.org>
11072
11073         posix_openpt test: Coding style.
11074         * tests/test-posix_openpt.c: Use GNU coding style.
11075
11076 2011-10-20  Bruno Haible  <bruno@clisp.org>
11077
11078         grantpt: Support --avoid=pt_chown.
11079         * modules/grantpt (Files): Add lib/pty-private.h.
11080
11081 2011-10-20  Bruno Haible  <bruno@clisp.org>
11082
11083         posix_openpt: Fix autoconf macro.
11084         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
11085         unneeded check for _getpty.
11086
11087 2011-10-20  Bruno Haible  <bruno@clisp.org>
11088
11089         openpty: Update comments.
11090         * lib/openpty.c: Add comments about Minix.
11091
11092 2011-10-19  Eric Blake  <eblake@redhat.com>
11093
11094         openpty: relax license
11095         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
11096
11097         pt_chown: use configmake to simplify build
11098         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
11099
11100         ptsname and others: relax license
11101         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
11102         * modules/unlockpt (License): Likewise.
11103         * modules/pt_chown (License): Likewise.
11104         * modules/ptsname (License): Likewise.
11105         * modules/ttyname_r (License): Likewise.
11106
11107 2011-10-19  Jim Meyering  <meyering@redhat.com>
11108
11109         posix_openpt: remove spurious #endif
11110         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
11111
11112 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
11113
11114         maint.mk: Respect $(build_aux) in web-manual rule.
11115         * top/maint.mk (web-manual): Find gen-announce script in user's
11116         $(build_aux) directory instead of hard-coding 'build-aux'.
11117
11118 2011-10-19  Bruno Haible  <bruno@clisp.org>
11119
11120         posix_openpt: Fix compilation error.
11121         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
11122         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
11123         Mention the openpty module as an alternative.
11124
11125 2011-10-19  Bruno Haible  <bruno@clisp.org>
11126
11127         Support for old NeXTstep 3.3 frexp().
11128         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
11129         execution time of the test to 5 seconds.
11130         Reported by Daniel Richard G. <skunk@iskunk.org>.
11131
11132 2011-10-19  Bruno Haible  <bruno@clisp.org>
11133
11134         Support for old NeXTstep 3.3 sed.
11135         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
11136         part, use /.../, not \|...|. Escape periods in the header file name.
11137         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
11138         Reported by Daniel Richard G. <skunk@iskunk.org>.
11139
11140 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11141
11142         Support for old NeXTstep 3.3 gcc.
11143         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
11144         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
11145         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
11146         * lib/spawn.in.h (_Restrict_arr_): Likewise.
11147         * lib/regex.h (_Restrict_arr_): Likewise.
11148         * lib/regex_internal.h (re_token_t): Likewise.
11149         * lib/regexec.c (check_node_accept_bytes): Likewise.
11150         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
11151
11152 2011-10-18  Eric Blake  <eblake@redhat.com>
11153
11154         posix_openpt: new module
11155         * modules/posix_openpt: New module.
11156         * m4/posix_openpt.m4: New file.
11157         * lib/posix_openpt.c: Likewise.
11158         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
11159         (gl_STDLIB_H_DEFAULTS): Set defaults.
11160         * modules/stdlib (Makefile.am): Substitute macros.
11161         * lib/stdlib.in.h (posix_openpt): Declare.
11162         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
11163         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
11164         * modules/posix_openpt-tests: New test module.
11165         * tests/test-posix_openpt.c: New test.
11166
11167 2011-10-15  Bruno Haible  <bruno@clisp.org>
11168
11169         xstrtoll: Fix compilation failure.
11170         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
11171         from lib/strtol.c.
11172         * doc/posix-headers/limits.texi: Mention missing numerical limits on
11173         some platforms.
11174         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11175
11176 2011-10-15  Bruno Haible  <bruno@clisp.org>
11177
11178         vasnprintf: Optimize bit search operation.
11179         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
11180         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
11181         gl_DOUBLE_EXPONENT_LOCATION.
11182         * modules/vasnprintf (Files): Add m4/exponentd.m4.
11183         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11184         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11185         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11186         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11187         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11188         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11189         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11190         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
11191
11192 2011-10-15  Bruno Haible  <bruno@clisp.org>
11193
11194         vasnprintf: Fix comments.
11195         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
11196
11197 2011-10-14  Bruno Haible  <bruno@clisp.org>
11198
11199         Tests for module 'integer_length_ll'.
11200         * modules/integer_length_ll-tests: New file.
11201         * tests/test-integer_length_ll.c: New file.
11202
11203         New module 'integer_length_ll'.
11204         * lib/integer_length_ll.c: New file.
11205         * modules/integer_length_ll: New file.
11206
11207 2011-10-14  Bruno Haible  <bruno@clisp.org>
11208
11209         Tests for module 'integer_length_l'.
11210         * modules/integer_length_l-tests: New file.
11211         * tests/test-integer_length_l.c: New file.
11212
11213         New module 'integer_length_l'.
11214         * lib/integer_length_l.c: New file.
11215         * modules/integer_length_l: New file.
11216
11217 2011-10-14  Bruno Haible  <bruno@clisp.org>
11218
11219         Tests for module 'integer_length'.
11220         * modules/integer_length-tests: New file.
11221         * tests/test-integer_length.c: New file.
11222
11223         New module 'integer_length'.
11224         * lib/integer_length.h: New file.
11225         * lib/integer_length.c: New file.
11226         * modules/integer_length: New file.
11227
11228 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11229
11230         popen: Fix dependency conditions.
11231         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
11232
11233 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11234
11235         perror: Fix autoconf test.
11236         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
11237         <stdlib.h> and <string.h>.
11238
11239 2011-10-14  Bruno Haible  <bruno@clisp.org>
11240
11241         ffsl: Optimize on 64-bit platforms.
11242         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
11243         unrolling.
11244
11245 2011-10-13  Bruno Haible  <bruno@clisp.org>
11246
11247         ffsl: Optimize on 32-bit platforms.
11248         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
11249         use ffs() without a loop.
11250
11251         ffsl, ffsll: Optimize for GCC.
11252         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
11253         * lib/ffsl.c (GCC_BUILTIN): New macro.
11254         * lib/ffsll.c (GCC_BUILTIN): Likewise.
11255
11256 2011-10-13  Bruno Haible  <bruno@clisp.org>
11257
11258         ffs, bcopy, memset: Support symbol renaming via config.h.
11259         * lib/ffs.c: Include <config.h>.
11260         * lib/bcopy.c: Likewise.
11261         * lib/memset.c: Likewise.
11262
11263 2011-10-10  Bruno Haible  <bruno@clisp.org>
11264
11265         atanl: Simplify for platforms where 'long double' == 'double'.
11266         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11267         alternative implementation.
11268         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11269         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11270         * modules/atanl (Depends-on): Add atan. Update conditions.
11271
11272 2011-10-10  Bruno Haible  <bruno@clisp.org>
11273
11274         acosl: Simplify for platforms where 'long double' == 'double'.
11275         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11276         alternative implementation.
11277         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11278         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11279         * modules/acosl (Depends-on): Add acos. Update conditions.
11280
11281 2011-10-10  Bruno Haible  <bruno@clisp.org>
11282
11283         asinl: Simplify for platforms where 'long double' == 'double'.
11284         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11285         alternative implementation.
11286         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11287         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11288         * modules/asinl (Depends-on): Add asin. Update conditions.
11289
11290 2011-10-10  Bruno Haible  <bruno@clisp.org>
11291
11292         tanl: Simplify for platforms where 'long double' == 'double'.
11293         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11294         implementation.
11295         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11296         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11297         * modules/tanl (Depends-on): Add tan. Update conditions.
11298         (configure.ac): Don't compile trigl.c if
11299         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11300
11301 2011-10-10  Bruno Haible  <bruno@clisp.org>
11302
11303         cosl: Simplify for platforms where 'long double' == 'double'.
11304         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11305         implementation.
11306         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11307         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11308         * modules/cosl (Depends-on): Add cos. Update conditions.
11309         (configure.ac): Don't compile sincosl.c and trigl.c if
11310         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11311
11312 2011-10-10  Bruno Haible  <bruno@clisp.org>
11313
11314         sinl: Simplify for platforms where 'long double' == 'double'.
11315         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11316         implementation.
11317         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11318         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11319         * modules/sinl (Depends-on): Add sin. Update conditions.
11320         (configure.ac): Don't compile sincosl.c and trigl.c if
11321         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11322
11323 2011-10-10  Bruno Haible  <bruno@clisp.org>
11324
11325         logl: Simplify for platforms where 'long double' == 'double'.
11326         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11327         implementation.
11328         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11329         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11330         * modules/logl (Depends-on): Add log. Update conditions.
11331
11332 2011-10-10  Bruno Haible  <bruno@clisp.org>
11333
11334         expl: Simplify for platforms where 'long double' == 'double'.
11335         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11336         implementation.
11337         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11338         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11339         * modules/expl (Depends-on): Add exp. Update conditions.
11340
11341 2011-10-10  Bruno Haible  <bruno@clisp.org>
11342
11343         sqrtl: Simplify for platforms where 'long double' == 'double'.
11344         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11345         alternative implementation.
11346         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11347         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11348         * modules/sqrtl (Depends-on): Update conditions.
11349
11350 2011-10-10  Bruno Haible  <bruno@clisp.org>
11351
11352         ldexpl: Simplify for platforms where 'long double' == 'double'.
11353         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11354         alternative implementation.
11355         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11356         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11357         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
11358
11359 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
11360
11361         ffsll: set correct witness
11362         * modules/ffsll (configure.ac): Fix typo.
11363
11364 2011-10-10  Bruno Haible  <bruno@clisp.org>
11365
11366         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
11367         * lib/printf-frexpl.c: Include <config.h>.
11368         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11369         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
11370         second time.
11371         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
11372         gl_LONG_DOUBLE_VS_DOUBLE.
11373         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
11374         conditions.
11375
11376 2011-10-10  Bruno Haible  <bruno@clisp.org>
11377
11378         frexpl: Simplify for platforms where 'long double' == 'double'.
11379         * lib/frexpl.c: Include <config.h>.
11380         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11381         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11382         time.
11383         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11384         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11385         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
11386         * modules/frexpl (Depends-on): Add frexp. Update conditions.
11387         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
11388         conditions.
11389
11390 2011-10-10  Jim Meyering  <meyering@redhat.com>
11391
11392         test-renameat: don't leave behind a temporary file
11393         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
11394           ERROR: files left in build directory after distclean:
11395           ./gltests/test-renameat.too
11396           make[1]: *** [distcleancheck] Error 1
11397         Reported by Tom G. Christensen.
11398
11399 2011-10-09  Bruno Haible  <bruno@clisp.org>
11400
11401         rint: Determine RINT_LIBM correctly on AIX 7.
11402         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
11403         directly, not only through a function pointer. Also accept an optional
11404         4th argument with extra code.
11405         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
11406         rintf() call by gcc when optimizing.
11407
11408         mathfunc.m4: Refactor.
11409         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
11410         m4 variable.
11411
11412 2011-10-09  Bruno Haible  <bruno@clisp.org>
11413
11414         rintl: Simplify for platforms where 'long double' == 'double'.
11415         * lib/rintl.c: Include <config.h>.
11416         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11417         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11418         time.
11419         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11420         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11421         * modules/rintl (Depends-on): Add rint. Update conditions.
11422
11423 2011-10-09  Bruno Haible  <bruno@clisp.org>
11424
11425         roundl: Simplify for platforms where 'long double' == 'double'.
11426         * lib/roundl.c: Include <config.h>.
11427         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11428         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11429         time.
11430         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11431         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11432         * modules/roundl (Depends-on): Add round. Update conditions.
11433
11434 2011-10-09  Bruno Haible  <bruno@clisp.org>
11435
11436         truncl: Simplify for platforms where 'long double' == 'double'.
11437         * lib/truncl.c: Include <config.h>.
11438         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11439         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11440         time.
11441         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11442         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11443         * modules/truncl (Depends-on): Add trunc. Update conditions.
11444
11445 2011-10-09  Bruno Haible  <bruno@clisp.org>
11446
11447         ceill: Simplify for platforms where 'long double' == 'double'.
11448         * lib/ceill.c: Include <config.h>.
11449         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11450         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11451         time.
11452         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11453         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11454         * modules/ceill (Depends-on): Add ceil. Update conditions.
11455
11456 2011-10-09  Bruno Haible  <bruno@clisp.org>
11457
11458         floorl: Simplify for platforms where 'long double' == 'double'.
11459         * lib/floorl.c: Include <config.h>.
11460         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11461         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11462         time.
11463         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11464         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11465         * modules/floorl (Depends-on): Add floor. Update conditions.
11466
11467 2011-10-09  Bruno Haible  <bruno@clisp.org>
11468
11469         rint: Fix ordering constraints.
11470         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
11471         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
11472         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
11473
11474 2011-10-09  Bruno Haible  <bruno@clisp.org>
11475
11476         copysignl: Simplify for platforms where 'long double' == 'double'.
11477         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11478         alternative.
11479         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11480         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11481         * modules/copysignl (Depends-on): Add copysign. Update conditions.
11482
11483 2011-10-09  Bruno Haible  <bruno@clisp.org>
11484
11485         Tests for module 'rintl'.
11486         * modules/rintl-tests: New file.
11487         * tests/test-rintl.c: New file.
11488
11489         New module 'rintl'.
11490         * lib/math.in.h (rintl): New declaration.
11491         * lib/rintl.c: New file.
11492         * m4/rintl.m4: New file.
11493         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
11494         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
11495         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
11496         * modules/rintl: New file.
11497         * tests/test-math-c++.cc: Check the declaration of rintl.
11498         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11499         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
11500         * doc/posix-functions/rintl.texi: Mention the new module.
11501
11502 2011-10-09  Bruno Haible  <bruno@clisp.org>
11503
11504         Tests for module 'rintf'.
11505         * modules/rintf-tests: New file.
11506         * tests/test-rintf.c: New file.
11507
11508         New module 'rintf'.
11509         * lib/math.in.h (rintf): New declaration.
11510         * lib/rintf.c: New file.
11511         * m4/rintf.m4: New file.
11512         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
11513         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
11514         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
11515         * modules/rintf: New file.
11516         * tests/test-math-c++.cc: Check the declaration of rintf.
11517         * doc/posix-functions/rintf.texi: Mention the new module.
11518
11519 2011-10-09  Bruno Haible  <bruno@clisp.org>
11520
11521         rint: Support for MSVC.
11522         * lib/math.in.h (rint): New declaration.
11523         * lib/rint.c: New file.
11524         * m4/rint.m4: New file.
11525         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
11526         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
11527         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
11528         * modules/rint (Description): Fix.
11529         (Files): Add lib/rint.c, m4/rint.m4.
11530         (Depends-on): Add math.
11531         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
11532         gl_MATH_MODULE_INDICATOR.
11533         * tests/test-math-c++.cc: Check the declaration of rint.
11534         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11535         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
11536         * doc/posix-functions/rint.texi: Mention the replacement provided by
11537         the module.
11538
11539         rint tests: More tests.
11540         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
11541         minus-zero.h, infinity.h, nan.h.
11542         (main): Skip the test if the current rounding mode is not standard. Add
11543         tests for negative numbers, minus zero, infinity, NaN.
11544         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
11545         tests/nan.h.
11546         (Depends-on): Add isnand-nolibm.
11547
11548 2011-10-09  Bruno Haible  <bruno@clisp.org>
11549
11550         Tests for module 'copysignl'.
11551         * modules/copysignl-tests: New file.
11552         * tests/test-copysignl.c: New file.
11553
11554         New module 'copysignl'.
11555         * lib/math.in.h (copysignl): New declaration.
11556         * lib/copysignl.c: New file.
11557         * m4/copysignl.m4: New file.
11558         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
11559         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
11560         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
11561         HAVE_COPYSIGNL.
11562         * modules/copysignl: New file.
11563         * tests/test-math-c++.cc: Check the declaration of copysignl.
11564         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11565         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
11566         * doc/posix-functions/copysignl.texi: Mention the new module.
11567
11568 2011-10-09  Bruno Haible  <bruno@clisp.org>
11569
11570         Tests for module 'copysignf'.
11571         * modules/copysignf-tests: New file.
11572         * tests/test-copysignf.c: New file.
11573
11574         New module 'copysignf'.
11575         * lib/math.in.h (copysignf): New declaration.
11576         * lib/copysignf.c: New file.
11577         * m4/copysignf.m4: New file.
11578         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
11579         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
11580         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
11581         HAVE_COPYSIGNF.
11582         * modules/copysignf: New file.
11583         * tests/test-math-c++.cc: Check the declaration of copysignf.
11584         * doc/posix-functions/copysignf.texi: Mention the new module.
11585
11586 2011-10-09  Bruno Haible  <bruno@clisp.org>
11587
11588         Ensure that HAVE_* variables are set to 1 before they are set to 0.
11589         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
11590         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
11591         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11592         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
11593         gl_SIGNAL_H_DEFAULTS.
11594
11595 2011-10-09  Bruno Haible  <bruno@clisp.org>
11596
11597         poll: Make macro safer.
11598         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
11599         ac_cv_header_poll_h is not set.
11600
11601 2011-10-09  Bruno Haible  <bruno@clisp.org>
11602
11603         copysign: Provide replacement.
11604         * lib/math.in.h (copysign): New declaration.
11605         * lib/copysign.c: New file.
11606         * m4/copysign.m4: New file.
11607         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
11608         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
11609         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
11610         HAVE_COPYSIGN.
11611         * modules/copysign (Description): Clarify.
11612         (Files): Add lib/copysign.c, m4/copysign.m4.
11613         (Depends-on): Add math, signbit.
11614         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
11615         gl_MATH_MODULE_INDICATOR.
11616         * tests/test-math-c++.cc: Check the declaration of copysign.
11617         * doc/posix-functions/copysign.texi: Mention the effects of the module
11618         on Minix and MSVC.
11619
11620 2011-10-09  Bruno Haible  <bruno@clisp.org>
11621
11622         isinf: Ensure macro on AIX 5.1.
11623         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
11624         macro.
11625         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
11626
11627 2011-10-09  Bruno Haible  <bruno@clisp.org>
11628
11629         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
11630         * modules/snprintf-posix-tests (configure.ac): Require
11631         gl_LONG_DOUBLE_VS_DOUBLE.
11632         * modules/sprintf-posix-tests (configure.ac): Likewise.
11633         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
11634         * modules/vasprintf-posix-tests (configure.ac): Likewise.
11635         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
11636         * modules/vsprintf-posix-tests (configure.ac): Likewise.
11637         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
11638         tests on platforms where 'long double' is the same as 'double'.
11639         * tests/test-sprintf-posix.h (test_function): Likewise.
11640         * tests/test-vasnprintf-posix.c (test_function): Likewise.
11641         * tests/test-vasprintf-posix.c (test_function): Likewise.
11642
11643         *printf: Fix for platforms where 'long double' == 'double'.
11644         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
11645         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
11646         * modules/dprintf-posix (Files): Add m4/math_h.m4.
11647         * modules/fprintf-posix (Files): Likewise.
11648         * modules/obstack-printf-posix (Files): Likewise.
11649         * modules/snprintf-posix (Files): Likewise.
11650         * modules/sprintf-posix (Files): Likewise.
11651         * modules/vasnprintf (Files): Likewise.
11652         * modules/vasnprintf-posix (Files): Likewise.
11653         * modules/vasprintf-posix (Files): Likewise.
11654         * modules/vdprintf-posix (Files): Likewise.
11655         * modules/vfprintf-posix (Files): Likewise.
11656         * modules/vsnprintf-posix (Files): Likewise.
11657         * modules/vsprintf-posix (Files): Likewise.
11658         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11659         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11660         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11661         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11662         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11663         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11664         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11665
11666         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
11667         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
11668         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11669         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
11670         'long double'.
11671         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
11672
11673         isinf: Fix for platforms where 'long double' == 'double'.
11674         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11675         Don't blindly assume 80-bit 'long double'.
11676
11677         isfinite: Fix for platforms where 'long double' == 'double'.
11678         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11679         Don't blindly assume 80-bit 'long double'.
11680
11681         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
11682         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
11683         * modules/isfinite-tests (configure.ac): Require
11684         gl_LONG_DOUBLE_VS_DOUBLE.
11685         * modules/isinf-tests (configure.ac): Likewise.
11686         * modules/isnan-tests (configure.ac): Likewise.
11687         * modules/isnanl-tests (configure.ac): Likewise.
11688         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
11689         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
11690         tests on platforms where 'long double' is the same as 'double'.
11691         * tests/test-isinf.c (test_isinfl): Likewise.
11692         * tests/test-isnan.c (test_long_double): Likewise.
11693         * tests/test-isnanl.h (main): Likewise.
11694
11695 2011-10-08  Bruno Haible  <bruno@clisp.org>
11696
11697         Tests for module 'tanhf'.
11698         * modules/tanhf-tests: New file.
11699         * tests/test-tanhf.c: New file.
11700
11701         New module 'tanhf'.
11702         * lib/math.in.h (tanhf): New declaration.
11703         * lib/tanhf.c: New file.
11704         * m4/tanhf.m4: New file.
11705         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
11706         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
11707         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
11708         * modules/tanhf: New file.
11709         * tests/test-math-c++.cc: Check the declaration of tanhf.
11710         * doc/posix-functions/tanhf.texi: Mention the new module.
11711
11712         tanh: Use a .m4 file.
11713         * m4/tanh.m4: New file.
11714         * modules/tanh (Files): Add it.
11715         (configure.ac): Just invoke gl_FUNC_TANH.
11716
11717 2011-10-08  Bruno Haible  <bruno@clisp.org>
11718
11719         Tests for module 'coshf'.
11720         * modules/coshf-tests: New file.
11721         * tests/test-coshf.c: New file.
11722
11723         New module 'coshf'.
11724         * lib/math.in.h (coshf): New declaration.
11725         * lib/coshf.c: New file.
11726         * m4/coshf.m4: New file.
11727         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
11728         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
11729         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
11730         * modules/coshf: New file.
11731         * tests/test-math-c++.cc: Check the declaration of coshf.
11732         * doc/posix-functions/coshf.texi: Mention the new module.
11733
11734         cosh: Use a .m4 file.
11735         * m4/cosh.m4: New file.
11736         * modules/cosh (Files): Add it.
11737         (configure.ac): Just invoke gl_FUNC_COSH.
11738
11739 2011-10-08  Bruno Haible  <bruno@clisp.org>
11740
11741         Tests for module 'sinhf'.
11742         * modules/sinhf-tests: New file.
11743         * tests/test-sinhf.c: New file.
11744
11745         New module 'sinhf'.
11746         * lib/math.in.h (sinhf): New declaration.
11747         * lib/sinhf.c: New file.
11748         * m4/sinhf.m4: New file.
11749         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
11750         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
11751         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
11752         * modules/sinhf: New file.
11753         * tests/test-math-c++.cc: Check the declaration of sinhf.
11754         * doc/posix-functions/sinhf.texi: Mention the new module.
11755
11756         sinh: Use a .m4 file.
11757         * m4/sinh.m4: New file.
11758         * modules/sinh (Files): Add it.
11759         (configure.ac): Just invoke gl_FUNC_SINH.
11760
11761 2011-10-08  Bruno Haible  <bruno@clisp.org>
11762
11763         Tests for module 'atan2f'.
11764         * modules/atan2f-tests: New file.
11765         * tests/test-atan2f.c: New file.
11766
11767         New module 'atan2f'.
11768         * lib/math.in.h (atan2f): New declaration.
11769         * lib/atan2f.c: New file.
11770         * m4/atan2f.m4: New file.
11771         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
11772         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
11773         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
11774         * modules/atan2f: New file.
11775         * tests/test-math-c++.cc: Check the declaration of atan2f.
11776         * doc/posix-functions/atan2f.texi: Mention the new module.
11777
11778         atan2: Use a .m4 file.
11779         * m4/atan2.m4: New file.
11780         * modules/atan2 (Files): Add it.
11781         (configure.ac): Just invoke gl_FUNC_ATAN2.
11782
11783 2011-10-08  Bruno Haible  <bruno@clisp.org>
11784
11785         Tests for module 'atanf'.
11786         * modules/atanf-tests: New file.
11787         * tests/test-atanf.c: New file.
11788
11789         New module 'atanf'.
11790         * lib/math.in.h (atanf): New declaration.
11791         * lib/atanf.c: New file.
11792         * m4/atanf.m4: New file.
11793         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
11794         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
11795         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
11796         * modules/atanf: New file.
11797         * tests/test-math-c++.cc: Check the declaration of atanf.
11798         * doc/posix-functions/atanf.texi: Mention the new module.
11799
11800         atan: Use a .m4 file.
11801         * m4/atan.m4: New file.
11802         * modules/atan (Files): Add it.
11803         (configure.ac): Just invoke gl_FUNC_ATAN.
11804
11805 2011-10-08  Bruno Haible  <bruno@clisp.org>
11806
11807         Tests for module 'acosf'.
11808         * modules/acosf-tests: New file.
11809         * tests/test-acosf.c: New file.
11810
11811         New module 'acosf'.
11812         * lib/math.in.h (acosf): New declaration.
11813         * lib/acosf.c: New file.
11814         * m4/acosf.m4: New file.
11815         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
11816         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
11817         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
11818         * modules/acosf: New file.
11819         * tests/test-math-c++.cc: Check the declaration of acosf.
11820         * doc/posix-functions/acosf.texi: Mention the new module.
11821
11822         acos: Use a .m4 file.
11823         * m4/acos.m4: New file.
11824         * modules/acos (Files): Add it.
11825         (configure.ac): Just invoke gl_FUNC_ACOS.
11826
11827 2011-10-08  Bruno Haible  <bruno@clisp.org>
11828
11829         Tests for module 'asinf'.
11830         * modules/asinf-tests: New file.
11831         * tests/test-asinf.c: New file.
11832
11833         New module 'asinf'.
11834         * lib/math.in.h (asinf): New declaration.
11835         * lib/asinf.c: New file.
11836         * m4/asinf.m4: New file.
11837         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
11838         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
11839         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
11840         * modules/asinf: New file.
11841         * tests/test-math-c++.cc: Check the declaration of asinf.
11842         * doc/posix-functions/asinf.texi: Mention the new module.
11843
11844         asin: Use a .m4 file.
11845         * m4/asin.m4: New file.
11846         * modules/asin (Files): Add it.
11847         (configure.ac): Just invoke gl_FUNC_ASIN.
11848
11849 2011-10-08  Bruno Haible  <bruno@clisp.org>
11850
11851         Tests for module 'tanf'.
11852         * modules/tanf-tests: New file.
11853         * tests/test-tanf.c: New file.
11854
11855         New module 'tanf'.
11856         * lib/math.in.h (tanf): New declaration.
11857         * lib/tanf.c: New file.
11858         * m4/tanf.m4: New file.
11859         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
11860         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
11861         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
11862         * modules/tanf: New file.
11863         * tests/test-math-c++.cc: Check the declaration of tanf.
11864         * doc/posix-functions/tanf.texi: Mention the new module.
11865
11866         tan: Use a .m4 file.
11867         * m4/tan.m4: New file.
11868         * modules/tan (Files): Add it.
11869         (configure.ac): Just invoke gl_FUNC_TAN.
11870
11871 2011-10-08  Bruno Haible  <bruno@clisp.org>
11872
11873         Tests for module 'cosf'.
11874         * modules/cosf-tests: New file.
11875         * tests/test-cosf.c: New file.
11876
11877         New module 'cosf'.
11878         * lib/math.in.h (cosf): New declaration.
11879         * lib/cosf.c: New file.
11880         * m4/cosf.m4: New file.
11881         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
11882         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
11883         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
11884         * modules/cosf: New file.
11885         * tests/test-math-c++.cc: Check the declaration of cosf.
11886         * doc/posix-functions/cosf.texi: Mention the new module.
11887
11888         cos: Use a .m4 file.
11889         * m4/cos.m4: New file.
11890         * modules/cos (Files): Add it.
11891         (configure.ac): Just invoke gl_FUNC_COS.
11892
11893 2011-10-08  Bruno Haible  <bruno@clisp.org>
11894
11895         Tests for module 'sinf'.
11896         * modules/sinf-tests: New file.
11897         * tests/test-sinf.c: New file.
11898
11899         New module 'sinf'.
11900         * lib/math.in.h (sinf): New declaration.
11901         * lib/sinf.c: New file.
11902         * m4/sinf.m4: New file.
11903         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
11904         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
11905         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
11906         * modules/sinf: New file.
11907         * tests/test-math-c++.cc: Check the declaration of sinf.
11908         * doc/posix-functions/sinf.texi: Mention the new module.
11909
11910         sin: Use a .m4 file.
11911         * m4/sin.m4: New file.
11912         * modules/sin (Files): Add it.
11913         (configure.ac): Just invoke gl_FUNC_SIN.
11914
11915 2011-10-08  Bruno Haible  <bruno@clisp.org>
11916
11917         Tests for module 'powf'.
11918         * modules/powf-tests: New file.
11919         * tests/test-powf.c: New file.
11920
11921         New module 'powf'.
11922         * lib/math.in.h (powf): New declaration.
11923         * lib/powf.c: New file.
11924         * m4/powf.m4: New file.
11925         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
11926         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
11927         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
11928         * modules/powf: New file.
11929         * tests/test-math-c++.cc: Check the declaration of powf.
11930         * doc/posix-functions/powf.texi: Mention the new module.
11931
11932         pow: Use a .m4 file.
11933         * m4/pow.m4: New file.
11934         * modules/pow (Files): Add it.
11935         (configure.ac): Just invoke gl_FUNC_POW.
11936
11937 2011-10-08  Bruno Haible  <bruno@clisp.org>
11938
11939         Tests for module 'log10f'.
11940         * modules/log10f-tests: New file.
11941         * tests/test-log10f.c: New file.
11942
11943         New module 'log10f'.
11944         * lib/math.in.h (log10f): New declaration.
11945         * lib/log10f.c: New file.
11946         * m4/log10f.m4: New file.
11947         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
11948         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
11949         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
11950         * modules/log10f: New file.
11951         * tests/test-math-c++.cc: Check the declaration of log10f.
11952         * doc/posix-functions/log10f.texi: Mention the new module.
11953
11954         log10: Use a .m4 file.
11955         * m4/log10.m4: New file.
11956         * modules/log10 (Files): Add it.
11957         (configure.ac): Just invoke gl_FUNC_LOG10.
11958
11959 2011-10-08  Bruno Haible  <bruno@clisp.org>
11960
11961         Tests for module 'logf'.
11962         * modules/logf-tests: New file.
11963         * tests/test-logf.c: New file.
11964
11965         New module 'logf'.
11966         * lib/math.in.h (logf): New declaration.
11967         * lib/logf.c: New file.
11968         * m4/logf.m4: New file.
11969         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
11970         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
11971         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
11972         * modules/logf: New file.
11973         * tests/test-math-c++.cc: Check the declaration of logf.
11974         * doc/posix-functions/logf.texi: Mention the new module.
11975
11976         log: Use a .m4 file.
11977         * m4/log.m4: New file.
11978         * modules/log (Files): Add it.
11979         (configure.ac): Just invoke gl_FUNC_LOG.
11980
11981 2011-10-08  Bruno Haible  <bruno@clisp.org>
11982
11983         Tests for module 'expf'.
11984         * modules/expf-tests: New file.
11985         * tests/test-expf.c: New file.
11986
11987         New module 'expf'.
11988         * lib/math.in.h (expf): New declaration.
11989         * lib/expf.c: New file.
11990         * m4/expf.m4: New file.
11991         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
11992         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
11993         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
11994         * modules/expf: New file.
11995         * tests/test-math-c++.cc: Check the declaration of expf.
11996         * doc/posix-functions/expf.texi: Mention the new module.
11997
11998         exp: Use a .m4 file.
11999         * m4/exp.m4: New file.
12000         * modules/exp (Files): Add it.
12001         (configure.ac): Just invoke gl_FUNC_EXP.
12002
12003 2011-10-08  Bruno Haible  <bruno@clisp.org>
12004
12005         Tests for module 'sqrtf'.
12006         * modules/sqrtf-tests: New file.
12007         * tests/test-sqrtf.c: New file.
12008
12009         New module 'sqrtf'.
12010         * lib/math.in.h (sqrtf): New declaration.
12011         * lib/sqrtf.c: New file.
12012         * m4/sqrtf.m4: New file.
12013         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
12014         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
12015         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
12016         * modules/sqrtf: New file.
12017         * tests/test-math-c++.cc: Check the declaration of sqrtf.
12018         * doc/posix-functions/sqrtf.texi: Mention the new module.
12019
12020 2011-10-08  Bruno Haible  <bruno@clisp.org>
12021
12022         Tests: Avoid link failures w.r.t. libintl.
12023         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
12024         $(LIBINTL).
12025         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
12026         $(LIBINTL).
12027         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
12028         against $(LIBINTL).
12029         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
12030         $(LIBINTL).
12031         * modules/openat-tests (Makefile.am): Link test-fchmodat against
12032         $(LIBINTL).
12033         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
12034
12035 2011-10-08  Bruno Haible  <bruno@clisp.org>
12036
12037         pow tests: Defeat compiler optimizations.
12038         * tests/test-pow.c (main): Assign arguments to x and y before use.
12039
12040 2011-10-08  Bruno Haible  <bruno@clisp.org>
12041
12042         gnulib-tool: Improve last commit.
12043         * gnulib-tool (func_modules_transitive_closure): Simplify code.
12044         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
12045         ignore dependencies that are not among the modules list.
12046
12047 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
12048
12049         gnulib-tool: don't follow dependencies to avoided modules
12050         This fixes a bug that is related to the previous one.
12051         * gnulib-tool (func_modules_transitive_closure)
12052         (func_emit_autoconf_snippets):
12053         Check whether a dependency is acceptable before using it.
12054         (--extract-dependencies): Report an error if --avoid is also used,
12055         since this combination of options is not yet supported.
12056
12057         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
12058         Problem reported by Peter Dyballa in
12059         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
12060         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
12061         when echoing "$condition".
12062
12063 2011-10-07  Bruno Haible  <bruno@clisp.org>
12064
12065         Fix documentation about math functions on MacOS X.
12066         * doc/posix-functions/exp2.texi: Don't say the function is missing on
12067         MacOS X 10.5.
12068         * doc/posix-functions/fdim.texi: Likewise.
12069         * doc/posix-functions/feclearexcept.texi: Likewise.
12070         * doc/posix-functions/fegetenv.texi: Likewise.
12071         * doc/posix-functions/fegetround.texi: Likewise.
12072         * doc/posix-functions/feholdexcept.texi: Likewise.
12073         * doc/posix-functions/feraiseexcept.texi: Likewise.
12074         * doc/posix-functions/fesetenv.texi: Likewise.
12075         * doc/posix-functions/fesetround.texi: Likewise.
12076         * doc/posix-functions/fetestexcept.texi: Likewise.
12077         * doc/posix-functions/feupdateenv.texi: Likewise.
12078         * doc/posix-functions/fmax.texi: Likewise.
12079         * doc/posix-functions/fmin.texi: Likewise.
12080         * doc/posix-functions/log2.texi: Likewise.
12081         * doc/posix-functions/modff.texi: Likewise.
12082         * doc/posix-functions/nan.texi: Likewise.
12083         * doc/posix-functions/nanf.texi: Likewise.
12084         * doc/posix-functions/nextafterf.texi: Likewise.
12085         * doc/posix-functions/remquo.texi: Likewise.
12086
12087 2011-10-07  Bruno Haible  <bruno@clisp.org>
12088
12089         modff: Drop assumption about library that defines modff.
12090         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
12091         AC_CHECK_FUNCS.
12092         * modules/modff (Files): Add m4/mathfunc.m4.
12093
12094 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
12095
12096         raise tests: Avoid a GCC warning.
12097         * tests/test-raise.c (handler): Use _Noreturn.
12098
12099 2011-10-07  Bruno Haible  <bruno@clisp.org>
12100
12101         Tests for module 'ldexpf'.
12102         * modules/ldexpf-tests: New file.
12103         * tests/test-ldexpf.c: New file.
12104
12105         New module 'ldexpf'.
12106         * lib/math.in.h (ldexpf): New declaration.
12107         * lib/ldexpf.c: New file.
12108         * m4/ldexpf.m4: New file.
12109         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
12110         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
12111         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
12112         * modules/ldexpf: New file.
12113         * tests/test-math-c++.cc: Check the declaration of ldexpf.
12114         * doc/posix-functions/ldexpf.texi: Mention the new module.
12115
12116 2011-10-06  Bruno Haible  <bruno@clisp.org>
12117
12118         frexpf: Work around problems on IRIX and mingw.
12119         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
12120         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
12121         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
12122         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
12123         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
12124         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
12125         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
12126
12127 2011-10-06  Bruno Haible  <bruno@clisp.org>
12128
12129         fabsf: Drop assumption about library that defines fabsf.
12130         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
12131         AC_CHECK_FUNCS.
12132         * modules/fabsf (Files): Add m4/mathfunc.m4.
12133
12134 2011-10-06  Bruno Haible  <bruno@clisp.org>
12135
12136         frexpf: Drop assumption about library that defines frexpf.
12137         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
12138         'int *', 'float *', 'long double *', 'float', 'long double'.
12139         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
12140         AC_CHECK_FUNCS.
12141         * modules/frexpf (Files): Add m4/mathfunc.m4.
12142
12143         Tests for module 'frexpf'.
12144         * modules/frexpf-tests: New file.
12145         * tests/test-frexpf.c: New file.
12146
12147         New module 'frexpf'.
12148         * lib/math.in.h (frexpf): New declaration.
12149         * lib/frexpf.c: New file.
12150         * m4/frexpf.m4: New file.
12151         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
12152         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
12153         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
12154         * modules/frexpf: New file.
12155         * tests/test-math-c++.cc: Check the declaration of frexpf.
12156         * doc/posix-functions/frexpf.texi: Mention the new module.
12157
12158 2011-10-06  Bruno Haible  <bruno@clisp.org>
12159
12160         math: Sort function declarations of math.in.h.
12161         * lib/math.in.h (frexp, logb): Move declarations.
12162
12163 2011-10-05  Bruno Haible  <bruno@clisp.org>
12164
12165         Tests for module 'modff'.
12166         * modules/modff-tests: New file.
12167         * tests/test-modff.c: New file.
12168
12169         New module 'modff'.
12170         * lib/math.in.h (modff): New declaration.
12171         * lib/modff.c: New file.
12172         * m4/modff.m4: New file.
12173         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
12174         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
12175         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
12176         * modules/modff: New file.
12177         * tests/test-math-c++.cc: Check the declaration of modff.
12178         * doc/posix-functions/modff.texi: Mention the new module.
12179
12180         modf tests: Make test sharper.
12181         * tests/test-modf.c (main): Strengthen upper bound.
12182
12183         modf: Use a .m4 file.
12184         * m4/modf.m4: New file.
12185         * modules/modf (Files): Add it.
12186         (configure.ac): Just invoke gl_FUNC_MODF.
12187
12188 2011-10-05  Bruno Haible  <bruno@clisp.org>
12189
12190         Tests for module 'fmodf'.
12191         * modules/fmodf-tests: New file.
12192         * tests/test-fmodf.c: New file.
12193
12194         New module 'fmodf'.
12195         * lib/math.in.h (fmodf): New declaration.
12196         * lib/fmodf.c: New file.
12197         * m4/fmodf.m4: New file.
12198         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
12199         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
12200         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
12201         * modules/fmodf: New file.
12202         * tests/test-math-c++.cc: Check the declaration of fmodf.
12203         * doc/posix-functions/fmodf.texi: Mention the new module.
12204
12205         fmod: Use a .m4 file.
12206         * m4/fmod.m4: New file.
12207         * modules/fmod (Files): Add it.
12208         (configure.ac): Just invoke gl_FUNC_FMOD.
12209
12210 2011-10-05  Bruno Haible  <bruno@clisp.org>
12211
12212         Tests for module 'fabsf'.
12213         * modules/fabsf-tests: New file.
12214         * tests/test-fabsf.c: New file.
12215
12216         New module 'fabsf'.
12217         * lib/math.in.h (fabsf): New declaration.
12218         * lib/fabsf.c: New file.
12219         * m4/fabsf.m4: New file.
12220         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
12221         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
12222         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
12223         * modules/fabsf: New file.
12224         * tests/test-math-c++.cc: Check the declaration of fabsf.
12225         * doc/posix-functions/fabsf.texi: Mention the new module.
12226
12227         fabs: Use a .m4 file.
12228         * m4/fabs.m4: New file.
12229         * modules/fabs (Files): Add it.
12230         (configure.ac): Just invoke gl_FUNC_FABS.
12231
12232 2011-10-05  Jim Meyering  <meyering@redhat.com>
12233
12234         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
12235         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
12236         ls -lL regression introduced in coreutils-8.12, it does so at the
12237         cost of an additional stat call in the common case.  Besides, now
12238         that the kernel change that prompted commit 95f7c57f has been reverted
12239         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
12240         we have no use for commit 95f7c57f, "file-has-acl: use
12241         acl_extended_file_nofollow if available".
12242
12243 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
12244
12245         file-has-acl: revert unintended change in behavior of ls -L
12246         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
12247         derived from...
12248         (file_has_acl): ...code here.  Call it.
12249         This problem was introduced with 2011-07-22 commit 95f7c57f,
12250         "file-has-acl: use acl_extended_file_nofollow if available".
12251         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
12252
12253 2011-10-03  Bruno Haible  <bruno@clisp.org>
12254
12255         poll: Avoid link errors on MSVC.
12256         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
12257         * modules/poll (Depends-on): Add sockets.
12258         (Link): New section.
12259         * NEWS: Mention the change.
12260         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
12261         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
12262         $(LIB_POLL) instead of $(LIBSOCKET).
12263
12264 2011-10-03  Bruno Haible  <bruno@clisp.org>
12265
12266         sys_select tests: Fix link error on MSVC 9.
12267         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
12268         with $(LIB_SELECT) instead of $(LIBSOCKET).
12269
12270 2011-10-03  Bruno Haible  <bruno@clisp.org>
12271
12272         sys_select: Fix compilation error on mingw.
12273         * lib/sys_select.in.h: On native Windows, include <io.h>.
12274
12275 2011-10-03  Bruno Haible  <bruno@clisp.org>
12276
12277         wmemset: Support for MSVC.
12278         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
12279         whether wmemset() exists.
12280
12281 2011-10-03  Bruno Haible  <bruno@clisp.org>
12282
12283         wmemmove: Support for MSVC.
12284         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
12285         whether wmemmove() exists.
12286
12287 2011-10-03  Bruno Haible  <bruno@clisp.org>
12288
12289         wmemcpy: Support for MSVC.
12290         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
12291         whether wmemcpy() exists.
12292
12293 2011-10-03  Bruno Haible  <bruno@clisp.org>
12294
12295         wmemcmp: Support for MSVC.
12296         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
12297         whether wmemcmp() exists.
12298
12299 2011-10-03  Bruno Haible  <bruno@clisp.org>
12300
12301         wmemchr: Support for MSVC.
12302         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
12303         whether wmemchr() exists.
12304
12305 2011-10-03  Bruno Haible  <bruno@clisp.org>
12306
12307         glthread/*, strsignal: Support for MSVC.
12308         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
12309         including <winsock.h> on MSVC 9.
12310         * lib/glthread/lock.h: Likewise.
12311         * lib/glthread/thread.h: Likewise.
12312         * lib/glthread/tls.h: Likewise.
12313         * lib/glthread/yield.h: Likewise.
12314         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
12315         if HAVE_UNISTD_H is false.
12316         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
12317
12318 2011-10-03  Bruno Haible  <bruno@clisp.org>
12319
12320         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
12321         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
12322         Set to 100000.
12323
12324 2011-10-03  Bruno Haible  <bruno@clisp.org>
12325
12326         acl: Fix specification.
12327         * lib/file-has-acl.c (file_has_acl): Fix specification.
12328
12329 2011-10-03  Bruno Haible  <bruno@clisp.org>
12330
12331         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
12332         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
12333         (compute_curr_prefix, shared_library_fullname,
12334         find_shared_library_fullname, get_shared_library_fullname, relocate):
12335         Use it together with PIC && INSTALLDIR.
12336         Reported by <jojelino@gmail.com>
12337         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
12338
12339 2011-10-01  Jim Meyering  <meyering@redhat.com>
12340
12341         maint.mk: adjust a release-related rule not to require use of gzip
12342         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
12343         Instead, check each file in $(DIST_ARCHIVES).  This is better for
12344         projects that build only .tar.xz files.  Also fix an erroneous test.
12345
12346         test-linkat: don't leave behind a temporary file
12347         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
12348         Otherwise, coreutils' "make distcheck" would fail with this:
12349           Only in /c/cu/tests/torture/coreutils/test/\
12350             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
12351           make[2]: *** [my-distcheck] Error 1
12352
12353         float, math: add omitted file
12354         * lib/itold.c: Add file, required for yesterday's float change.
12355
12356 2011-10-01  Bruno Haible  <bruno@clisp.org>
12357
12358         isinf: Fix for OpenBSD/x86.
12359         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
12360         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
12361         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
12362
12363 2011-10-01  Bruno Haible  <bruno@clisp.org>
12364
12365         isfinite: Fix syntax error in configure test.
12366         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
12367
12368         isfinite: Fix typo.
12369         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
12370         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
12371
12372 2011-10-01  Bruno Haible  <bruno@clisp.org>
12373
12374         nonblocking tests: Fix test failure on Linux/IA-64.
12375         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
12376         Set to 270000.
12377
12378 2011-10-01  Bruno Haible  <bruno@clisp.org>
12379
12380         mkfifoat tests: Fix a test failure on mingw.
12381         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
12382         with error ENOSYS.
12383
12384 2011-09-30  Bruno Haible  <bruno@clisp.org>
12385
12386         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
12387         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
12388         'long double'. Set REPLACE_ITOLD.
12389         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
12390         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
12391         * lib/itold.c: New file.
12392         * modules/float (Files): Add lib/itold.c.
12393         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
12394         (Makefile.am): Substitute REPLACE_ITOLD.
12395         * modules/math (Depends-on): Add float.
12396         (Makefile.am): Substitute REPLACE_ITOLD.
12397         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
12398         * doc/posix-headers/math.texi: Likewise.
12399         * doc/posix-functions/logl.texi: Likewise.
12400
12401 2011-09-30  Bruno Haible  <bruno@clisp.org>
12402
12403         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
12404         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
12405         Set to 140000.
12406
12407 2011-09-30  Bruno Haible  <bruno@clisp.org>
12408
12409         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
12410         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
12411         invocation, say "right after AC_PROG_CC_STDC", not "right after
12412         AC_PROG_CC".
12413         Reported by Gary V. Vaughan <gary@gnu.org>.
12414
12415 2011-09-30  Bruno Haible  <bruno@clisp.org>
12416
12417         Centralize C99 requirement.
12418         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
12419         * modules/stdarg (configure.ac-early): Invoke it instead of
12420         AC_PROG_CC_STDC.
12421         Reported by Gary V. Vaughan and Paul Eggert.
12422
12423 2011-09-29  Bruno Haible  <bruno@clisp.org>
12424
12425         float: Fix LDBL_MAX value on Linux/PowerPC.
12426         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
12427         on Linux/PowerPC.
12428         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
12429         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
12430         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
12431         platform.
12432         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
12433
12434 2011-09-29  Bruno Haible  <bruno@clisp.org>
12435
12436         doc: Improve doc about gl_EARLY.
12437         * doc/gnulib-tool.texi (Initial import): Mention where to place an
12438         AC_PROG_CC_STDC invocation.
12439         Reported by Gary V. Vaughan <gary@gnu.org>.
12440
12441 2011-09-28  Bruno Haible  <bruno@clisp.org>
12442
12443         fgetc, fputc, fread, fwrite tests: Fix link error.
12444         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
12445         on non-MSVC platforms.
12446         * tests/test-fputc.c (main): Likewise.
12447         * tests/test-fread.c (main): Likewise.
12448         * tests/test-fwrite.c (main): Likewise.
12449         Reported by Jim Meyering.
12450
12451 2011-09-27  Bruno Haible  <bruno@clisp.org>
12452
12453         fputc, fwrite tests: Avoid test failure on MSVC.
12454         * tests/test-fgetc.c: Include msvc-inval.h.
12455         (main): Invoke gl_msvc_inval_ensure_handler.
12456         * tests/test-fputc.c: Include msvc-inval.h.
12457         (main): Invoke gl_msvc_inval_ensure_handler.
12458         * tests/test-fread.c: Include msvc-inval.h.
12459         (main): Invoke gl_msvc_inval_ensure_handler.
12460         * tests/test-fwrite.c: Include msvc-inval.h.
12461         (main): Invoke gl_msvc_inval_ensure_handler.
12462         * modules/fgetc-tests (Depends-on): Add msvc-inval.
12463         * modules/fputc-tests (Depends-on): Likewise.
12464         * modules/fread-tests (Depends-on): Likewise.
12465         * modules/fwrite-tests (Depends-on): Likewise.
12466
12467 2011-09-27  Bruno Haible  <bruno@clisp.org>
12468
12469         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
12470         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
12471         (raise): Remove older, duplicated declaration.
12472         (_gl_raise_SIGPIPE): New declaration.
12473         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
12474         (rpl_raise): Remove function.
12475         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
12476         a gnulib-defined SIGPIPE here.
12477         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
12478         'sigprocmask' has detected missing signal-blocking and the module
12479         'sigpipe' is enabled.
12480         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
12481
12482 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
12483
12484         base64-tests: avoid memory leak
12485         * tests/test-base64.c (main): Plug memory leak.
12486
12487         base32: new module
12488         * modules/base32: New module.
12489         * lib/base32.c: New file.
12490         * lib/base32.h: Likewise.
12491         * m4/base32.m4: Likewise.
12492         * modules/base32-tests: New test.
12493         * tests/test-base32.c: Likewise.
12494         * MODULES.html.sh (Misc): Mention it.
12495
12496 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12497
12498         gnulib: use more-standard license notice wording
12499         * gnulib-tool (func_emit_copyright_notice): When emitting a
12500         license notice into a file, use the standard wording as suggested
12501         by the current information for GNU maintainers, except say "file"
12502         rather than "program".  The new wording gives a license version
12503         number, which addresses an issue raised by Glenn Morris in
12504         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
12505         * m4/onceonly.m4: Use that same wording here, too.
12506
12507         dup2: minor simplification
12508         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
12509         as lib/dup2.c no longer uses 'inline'.
12510
12511 2011-09-25  Bruno Haible  <bruno@clisp.org>
12512
12513         strings: Fix compilation error on MSVC.
12514         * lib/strings.in.h: Include <stddef.h> for size_t.
12515
12516 2011-09-25  Bruno Haible  <bruno@clisp.org>
12517
12518         fflush et al.: Document limitation on MSVC.
12519         * doc/posix-functions/fflush.texi: Document possible crash in handling
12520         mode other than DEFAULT_HANDLING.
12521         * doc/posix-functions/fgetc.texi: Likewise.
12522         * doc/posix-functions/fputc.texi: Likewise.
12523         * doc/posix-functions/fread.texi: Likewise.
12524         * doc/posix-functions/fwrite.texi: Likewise.
12525
12526 2011-09-25  Bruno Haible  <bruno@clisp.org>
12527
12528         msvc-inval: Allow three invalid parameter handling modes.
12529         * lib/msvc-inval.h: Don't include <stdlib.h> here.
12530         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
12531         macros.
12532         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
12533         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
12534         SANE_LIBRARY_HANDLING as a no-op.
12535         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
12536         <stdlib.h>.
12537         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
12538
12539 2011-09-25  Bruno Haible  <bruno@clisp.org>
12540
12541         msvc-inval: Make handler multithread-safe.
12542         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
12543         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
12544         declarations.
12545         (gl_msvc_inval_current): New declaration.
12546         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12547         Operate on the structure returned by gl_msvc_inval_current().
12548         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
12549         Remove varaiables.
12550         (tls_index, tls_initialized): New variables.
12551         (not_per_thread): New variable.
12552         (gl_msvc_inval_current): New function.
12553         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
12554         returned by gl_msvc_inval_current().
12555
12556 2011-09-25  Bruno Haible  <bruno@clisp.org>
12557
12558         msvc-inval: Install handler globally.
12559         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
12560         !_MSC_VER.
12561         (gl_msvc_invalid_parameter_handler): Remove declaration.
12562         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
12563         declarations.
12564         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12565         Install the handler globally, don't uninstall it.
12566         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
12567         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
12568         currently valid, call RaiseException instead.
12569         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
12570         for !_MSC_VER.
12571
12572 2011-09-25  Bruno Haible  <bruno@clisp.org>
12573
12574         strerror_r-posix: Fix for MSVC 9.
12575         * lib/strerror_r.c (local_snprintf): New function.
12576         (snprintf): Define to local_snprintf, not to _snprintf.
12577
12578 2011-09-25  Bruno Haible  <bruno@clisp.org>
12579
12580         ftruncate: Support for MSVC 9.
12581         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
12582         (chsize_nothrow): New function.
12583         (chsize): Redefine as a macro.
12584         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
12585         * modules/ftruncate (Depends-on): Add msvc-inval.
12586
12587 2011-09-25  Bruno Haible  <bruno@clisp.org>
12588
12589         New module 'fstat'.
12590         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
12591         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
12592         * lib/fchdir.c (rpl_fstat): Remove function.
12593         * m4/fstat.m4: New file.
12594         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
12595         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
12596         declared.
12597         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
12598         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
12599         * modules/fstat: New file.
12600         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
12601         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
12602         is set.
12603         * doc/posix-functions/fstat.texi: Mention the new module and the
12604         problem on MSVC.
12605         * NEWS: Mention the change.
12606         * modules/acl (Depends-on): Add fstat.
12607         * modules/chdir-safer (Depends-on): Likewise.
12608         * modules/chown (Depends-on): Likewise.
12609         * modules/copy-file (Depends-on): Likewise.
12610         * modules/fchdir (Depends-on): Likewise.
12611         * modules/fdopendir (Depends-on): Likewise.
12612         * modules/fopen (Depends-on): Likewise.
12613         * modules/fts (Depends-on): Likewise.
12614         * modules/getcwd (Depends-on): Likewise.
12615         * modules/isapipe (Depends-on): Likewise.
12616         * modules/linkat (Depends-on): Likewise.
12617         * modules/lseek (Depends-on): Likewise.
12618         * modules/mkdir-p (Depends-on): Likewise.
12619         * modules/open (Depends-on): Likewise.
12620         * modules/openat (Depends-on): Likewise.
12621         * modules/read-file (Depends-on): Likewise.
12622         * modules/renameat (Depends-on): Likewise.
12623         * modules/utimens (Depends-on): Likewise.
12624
12625 2011-09-25  Bruno Haible  <bruno@clisp.org>
12626
12627         linkat: Fix compilation on MSVC 9.
12628         * lib/linkat.c: Don't include <stdint.h>.
12629
12630 2011-09-25  Bruno Haible  <bruno@clisp.org>
12631
12632         fclose: Support for MSVC 9.
12633         * lib/fclose.c: Include msvc-inval.h.
12634         (fclose_nothrow): New function.
12635         (rpl_fclose): Use it.
12636         * modules/fclose (Depends-on): Add msvc-inval.
12637         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
12638
12639 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
12640
12641         dup2: minor simplifications
12642         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
12643         that it's a performance win.
12644         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
12645         ! defined __CYGWIN__)" to "ifdef F_GETFL".
12646
12647 2011-09-24  Jim Meyering  <meyering@redhat.com>
12648
12649         test-futimens: avoid a warning from gcc -Wshadow
12650         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
12651         to avoid a shadowing warning.
12652
12653 2011-09-24  Bruno Haible  <bruno@clisp.org>
12654
12655         fdopen: Support for MSVC 9.
12656         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
12657         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
12658         * lib/fdopen.c: Include msvc-inval.h.
12659         (fdopen_nothrow): New function.
12660         (rpl_fdopen): Use it.
12661         * modules/fdopen (Depends-on): Add msvc-inval.
12662         * modules/fclose-tests (Depends-on): Add fdopen.
12663         * modules/fflush-tests (Depends-on): Likewise.
12664         * modules/fgetc-tests (Depends-on): Likewise.
12665         * modules/fputc-tests (Depends-on): Likewise.
12666         * modules/fread-tests (Depends-on): Likewise.
12667         * modules/freopen-tests (Depends-on): Likewise.
12668         * modules/fseeko-tests (Depends-on): Likewise.
12669         * modules/ftello-tests (Depends-on): Likewise.
12670         * modules/fwrite-tests  (Depends-on): Likewise.
12671         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
12672
12673 2011-09-24  Bruno Haible  <bruno@clisp.org>
12674
12675         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
12676         * modules/fgetc-tests (Depends-on): Add unistd.
12677         * modules/fputc-tests (Depends-on): Likewise.
12678         * modules/fread-tests (Depends-on): Likewise.
12679         * modules/fwrite-tests (Depends-on): Likewise.
12680
12681 2011-09-24  Bruno Haible  <bruno@clisp.org>
12682
12683         dup: Simplify autoconf test.
12684         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
12685         on gl_MSVC_INVAL's result.
12686
12687 2011-09-24  Bruno Haible  <bruno@clisp.org>
12688
12689         Tests for function fwrite().
12690         * modules/fwrite-tests: New file.
12691         * tests/test-fwrite.c: New file.
12692         * modules/stdio-tests (Depends-on): Add fwrite-tests.
12693
12694         Tests for function fread().
12695         * modules/fread-tests: New file.
12696         * tests/test-fread.c: New file.
12697         * modules/stdio-tests (Depends-on): Add fread-tests.
12698
12699         Activate fputc tests.
12700         * modules/stdio-tests (Depends-on): Add fputc-tests.
12701
12702         Enhance fgetc, fputc tests.
12703         * tests/test-fgetc.c (main): Also test the stream's error indicator.
12704         * tests/test-fputc.c (main): Likewise.
12705
12706 2011-09-24  Bruno Haible  <bruno@clisp.org>
12707
12708         write: Support for MSVC 9.
12709         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
12710         is not 1.
12711         * lib/write.c (write_nothrow): New function.
12712         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
12713         not 1. Use write_nothrow.
12714         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
12715         invalid parameter handler.
12716         (gl_PREREQ_WRITE): New macro.
12717         * modules/write (Depends-on): Add msvc-inval.
12718         (configure.ac): Invoke gl_PREREQ_WRITE.
12719         * doc/posix-functions/write.texi: Mention the problem on MSVC.
12720
12721 2011-09-24  Bruno Haible  <bruno@clisp.org>
12722
12723         read: Fix last commit.
12724         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
12725
12726 2011-09-24  Bruno Haible  <bruno@clisp.org>
12727
12728         dup2: Fix last commit.
12729         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
12730         (rpl_dup2): Disable fcntl workaround on native Windows.
12731
12732         sigprocmask: Make code safer.
12733         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
12734         section that changes macro definitions for this compilation unit.
12735
12736 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
12737
12738         dup2: clarify by coalescing Windows-specific material
12739         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
12740         "msvc-nothrow.h"' to the Windows-specific section, so that the
12741         Emacs source need not contain these include files.
12742         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
12743         Windows-specific fixes into this function rather than just the
12744         nothrow fix, as this shortens and clarifies the code.  Always
12745         define as a function, as that's a bit cleaner than having it be
12746         sometimes a function and sometimes a macro.
12747         (rpl_dup2): Move the Windows-specific stuff out of here and into
12748         ms_windows_dup2.  Don't protect the Haiku-related fix with
12749         "#if !defined __linux__", as the same code also works around
12750         a Linux kernel bug, and it doesn't add any system calls on any
12751         platform.  Add comment about FreeBSD 6.1.
12752
12753         sigprocmask: move #include directive
12754         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
12755         Windows-specific section, so that the Emacs source need not
12756         contain msvc-inval.h.
12757
12758 2011-09-23  Bruno Haible  <bruno@clisp.org>
12759
12760         read: Support for MSVC 9.
12761         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
12762         is not 1.
12763         * lib/read.c (read_nothrow): New function.
12764         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
12765         read_nothrow.
12766         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
12767         invalid parameter handler.
12768         (gl_PREREQ_READ): New macro.
12769         * modules/read (Depends-on): Add msvc-inval.
12770         (configure.ac): Invoke gl_PREREQ_READ.
12771         * doc/posix-functions/read.texi: Mention the problem on MSVC.
12772
12773 2011-09-23  Bruno Haible  <bruno@clisp.org>
12774
12775         close: Support for MSVC 9.
12776         * lib/close.c: Include <errno.h>, msvc-inval.h.
12777         (close_nothrow): New function.
12778         (rpl_close): Use it.
12779         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
12780         invalid parameter handler.
12781         * modules/close (Depends-on): Add msvc-inval.
12782         * modules/dup2-tests (Depends-on): Add close.
12783         * modules/dup3-tests (Depends-on): Likewise.
12784         * modules/fcntl-tests (Depends-on): Likewise.
12785         * modules/spawn-pipe-tests (Depends-on): Likewise.
12786         * modules/unistd-safer-tests (Depends-on): Likewise.
12787         * doc/posix-functions/close.texi: Mention the problem on MSVC.
12788
12789 2011-09-23  Bruno Haible  <bruno@clisp.org>
12790
12791         New module 'dup'.
12792         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
12793         Allow replacement.
12794         * lib/dup.c: New file.
12795         * lib/fchdir.c (rpl_dup): Remove function.
12796         * m4/dup.m4: New file.
12797         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
12798         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
12799         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
12800         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
12801         * modules/dup: New file.
12802         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
12803         'dup' module is in use.
12804         * modules/fdopendir (Depends-on): Add dup.
12805         * modules/fdutimensat-tests (Depends-on): Likewise.
12806         * modules/fts (Depends-on): Likewise.
12807         * modules/futimens-tests (Depends-on): Likewise.
12808         * modules/posix_spawnp-tests (Depends-on): Likewise.
12809         * modules/unistd-safer-tests (Depends-on): Likewise.
12810         * modules/utimens-tests (Depends-on): Likewise.
12811         * doc/posix-functions/dup.texi: Mention the new module and the problem
12812         on MSVC.
12813
12814 2011-09-23  Bruno Haible  <bruno@clisp.org>
12815
12816         getdtablesize: Support for MSVC 9.
12817         * lib/getdtablesize.c: Include msvc-inval.h.
12818         (_setmaxstdio_nothrow): New function.
12819         (_setmaxstdio): Redefine it.
12820         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
12821         * modules/getdtablesize (Depends-on): Add msvc-inval.
12822         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
12823
12824 2011-09-23  Bruno Haible  <bruno@clisp.org>
12825
12826         signal-h: Rename from signal.
12827         * modules/signal-h: Renamed from modules/signal.
12828         * modules/pthread_sigmask (Depends-on): Update.
12829         * modules/raise (Depends-on): Likewise.
12830         * modules/sigaction (Depends-on): Likewise.
12831         * modules/sigpipe (Depends-on): Likewise.
12832         * modules/sigprocmask (Depends-on): Likewise.
12833         * modules/sys_select (Depends-on): Likewise.
12834         * modules/signal-h-tests: Renamed from modules/signal-tests.
12835         (Files, Depends-on, Makefile.am): Update.
12836         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
12837         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
12838         (Files, Makefile.am): Update.
12839         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
12840         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
12841         * modules/signal: New placeholder file.
12842         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
12843         * doc/posix-headers/signal.texi: Update.
12844         * NEWS: Mention the change.
12845
12846 2011-09-23  Bruno Haible  <bruno@clisp.org>
12847
12848         sigprocmask: Avoid crashes through signal() on MSVC 9.
12849         * lib/sigprocmask.c: Include msvc-inval.h.
12850         (signal_nothrow): New function.
12851         (signal): Redefine it.
12852         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
12853         * modules/sigprocmask (Depends-on): Add msvc-inval.
12854         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
12855
12856 2011-09-23  Bruno Haible  <bruno@clisp.org>
12857
12858         Tests for module 'raise'.
12859         * modules/raise-tests: New file.
12860         * tests/test-raise.c: New file.
12861
12862         raise: Support for MSVC.
12863         * lib/signal.in.h (raise): New declaration.
12864         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
12865         for native Windows platforms.
12866         * m4/raise.m4: New file.
12867         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
12868         HAVE_RAISE, REPLACE_RAISE.
12869         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
12870         REPLACE_RAISE.
12871         * modules/raise (Status, Notice): Remove fields.
12872         (Files): Add m4/raise.m4.
12873         (Depends-on): Add signal, msvc-inval.
12874         (configure.ac): Use the common idioms.
12875         (Maintainer): Add me.
12876         * tests/test-signal-c++.cc: Check the signature of raise.
12877         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
12878
12879 2011-09-23  Bruno Haible  <bruno@clisp.org>
12880
12881         pipe2: Fix compilation on pre-C99 compilers.
12882         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
12883
12884 2011-09-23  Bruno Haible  <bruno@clisp.org>
12885
12886         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
12887         * lib/msvc-nothrow.h: New file.
12888         * lib/msvc-nothrow.c: New file.
12889         * m4/msvc-nothrow.m4: New file.
12890         * modules/msvc-nothrow: New file.
12891         * lib/dup2.c: Include msvc-nothrow.h.
12892         (rpl_dup2): No need to protect _get_osfhandle call here.
12893         * lib/accept4.c: Include msvc-nothrow.h.
12894         * lib/error.c: Likewise.
12895         * lib/fcntl.c: Likewise.
12896         * lib/lseek.c: Likewise.
12897         * lib/nonblocking.c: Likewise.
12898         * lib/poll.c: Likewise.
12899         * lib/read.c: Likewise.
12900         * lib/select.c: Likewise.
12901         * lib/sockets.h: Likewise.
12902         * lib/sockets.c: Likewise.
12903         * lib/stdio-read.c: Likewise.
12904         * lib/stdio-write.c: Likewise.
12905         * lib/write.c: Likewise.
12906         * lib/w32sock.h: Likewise.
12907         * lib/w32spawn.h: Likewise.
12908         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
12909         * lib/fsync.c: Likewise.
12910         * lib/isapipe.c: Likewise.
12911         * modules/dup2 (Depends-on): Add msvc-nothrow.
12912         * modules/accept4 (Depends-on): Likewise.
12913         * modules/error (Depends-on): Likewise.
12914         * modules/fcntl (Depends-on): Likewise.
12915         * modules/lseek (Depends-on): Likewise.
12916         * modules/nonblocking (Depends-on): Likewise.
12917         * modules/poll (Depends-on): Likewise.
12918         * modules/read (Depends-on): Likewise.
12919         * modules/select (Depends-on): Likewise.
12920         * modules/sockets (Depends-on): Likewise.
12921         * modules/sigpipe (Depends-on): Likewise.
12922         * modules/write (Depends-on): Likewise.
12923         * modules/accept (Depends-on): Likewise.
12924         * modules/bind (Depends-on): Likewise.
12925         * modules/connect (Depends-on): Likewise.
12926         * modules/gethostname (Depends-on): Likewise.
12927         * modules/getpeername (Depends-on): Likewise.
12928         * modules/getsockname (Depends-on): Likewise.
12929         * modules/getsockopt (Depends-on): Likewise.
12930         * modules/ioctl (Depends-on): Likewise.
12931         * modules/listen (Depends-on): Likewise.
12932         * modules/recv (Depends-on): Likewise.
12933         * modules/recvfrom (Depends-on): Likewise.
12934         * modules/send (Depends-on): Likewise.
12935         * modules/sendto (Depends-on): Likewise.
12936         * modules/setsockopt (Depends-on): Likewise.
12937         * modules/shutdown (Depends-on): Likewise.
12938         * modules/socket (Depends-on): Likewise.
12939         * modules/execute (Depends-on): Likewise.
12940         * modules/spawn-pipe (Depends-on): Likewise.
12941         * modules/flock (Depends-on): Likewise.
12942         * modules/fsync (Depends-on): Likewise.
12943         * modules/isapipe (Depends-on): Likewise.
12944         * tests/test-cloexec.c: Include msvc-nothrow.h.
12945         * tests/test-dup-safer.c: Likewise.
12946         * tests/test-dup2.c: Likewise.
12947         * tests/test-dup3.c: Likewise.
12948         * tests/test-fcntl.c: Likewise.
12949         * tests/test-pipe.c: Likewise.
12950         * tests/test-pipe2.c: Likewise.
12951         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
12952         * modules/unistd-safer-tests (Depends-on): Likewise.
12953         * modules/dup2-tests (Depends-on): Likewise.
12954         * modules/dup3-tests (Depends-on): Likewise.
12955         * modules/fcntl-tests (Depends-on): Likewise.
12956         * modules/pipe-posix-tests (Depends-on): Likewise.
12957         * modules/pipe2-tests (Depends-on): Likewise.
12958
12959 2011-09-23  Bruno Haible  <bruno@clisp.org>
12960
12961         dup2: Make code more maintainable.
12962         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
12963         (rpl_dup2): Use it.
12964         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
12965         * modules/dup2 (configure.ac): Invoke it.
12966         Reported by Paul Eggert.
12967
12968 2011-09-23  Bruno Haible  <bruno@clisp.org>
12969
12970         msvc-inval: Fix compilation error.
12971         * lib/msvc-inval.h: Include <excpt.h>.
12972
12973 2011-09-23  Bruno Haible  <bruno@clisp.org>
12974
12975         mkdir: Tweak for MSVC 9.
12976         * lib/sys_stat.in.h: Update comments.
12977         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
12978
12979         Tests for module 'chdir'.
12980         * modules/chdir-tests: New file.
12981         * tests/test-chdir.c: New file.
12982
12983         New module 'chdir'.
12984         * modules/chdir: New file.
12985         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
12986         (chdir): New declaration.
12987         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
12988         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
12989         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
12990         * tests/test-unistd-c++.cc: Check signature of chdir.
12991         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
12992         * modules/chdir-long (Depends-on): Add chdir.
12993         * modules/fchdir (Depends-on): Likewise.
12994         * modules/rename (Depends-on): Likewise.
12995         * modules/savewd (Depends-on): Likewise.
12996
12997         rmdir: Support for mingw, MSVC 9.
12998         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
12999         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
13000
13001         getcwd: Tweak for MSVC 9.
13002         * lib/unistd.in.h: Update comments.
13003         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
13004
13005 2011-09-22  Bruno Haible  <bruno@clisp.org>
13006
13007         strerror_r-posix: Avoid a link error on MSVC.
13008         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
13009         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
13010
13011 2011-09-22  Bruno Haible  <bruno@clisp.org>
13012
13013         select: Avoid link errors on MSVC.
13014         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
13015         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
13016         * modules/pselect (Link): Likewise.
13017         * NEWS: Mention the change.
13018         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
13019         test-select-stdin against $(LIB_SELECT).
13020         * modules/pselect-tests (Makefile.am): Link test-pselect against
13021         $(LIB_SELECT).
13022
13023 2011-09-22  Bruno Haible  <bruno@clisp.org>
13024
13025         select: Avoid compilation error on MSVC.
13026         * lib/select.c: Don't include <stdbool.h>.
13027
13028 2011-09-21  Bruno Haible  <bruno@clisp.org>
13029
13030         Consolidate all uses of PATH_MAX in *.m4 files.
13031         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
13032         macros.
13033         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
13034         and gl_PATHMAX_SNIPPET.
13035         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
13036         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13037         * modules/chdir-long (Files): Add m4/pathmax.m4.
13038         * modules/getcwd (Files): Likewise.
13039
13040 2011-09-21  Bruno Haible  <bruno@clisp.org>
13041
13042         ftruncate: Un-deprecate, concentrate on Win32 support.
13043         * modules/ftruncate (Status, Notice): Remove sections.
13044         (Depends-on): Add largefile.
13045         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
13046         non-mingw platforms.
13047         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
13048         include <io.h>.
13049         * modules/perror-tests (Depends-on): Add ftruncate.
13050         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
13051         'ftruncate' module.
13052
13053 2011-09-21  Bruno Haible  <bruno@clisp.org>
13054
13055         Add dependencies to new dirent related modules.
13056         * modules/opendir (Depends-on): Add closedir.
13057         * modules/getcwd (Depends-on): Add opendir, closedir.
13058         * modules/dirent-safer-tests (Depends-on): Likewise.
13059         * modules/fdopendir-tests (Depends-on): Likewise.
13060         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
13061         * modules/renameat-tests (Depends-on): Likewise.
13062
13063 2011-09-21  Bruno Haible  <bruno@clisp.org>
13064
13065         opendir: Avoid compilation error on mingw.
13066         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
13067         * modules/opendir (Depends-on): Add unistd.
13068
13069 2011-09-21  Bruno Haible  <bruno@clisp.org>
13070
13071         ftruncate tests: Avoid a test failure on mingw.
13072         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
13073
13074 2011-09-21  Bruno Haible  <bruno@clisp.org>
13075
13076         select tests: Avoid test failures on OSF/1 5.1 and mingw.
13077         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
13078         native Windows.
13079
13080 2011-09-21  Bruno Haible  <bruno@clisp.org>
13081
13082         New module 'fdopen'.
13083         * lib/stdio.in.h (fdopen): New declaration.
13084         * lib/fdopen.c: New file.
13085         * m4/fdopen.m4: New file.
13086         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
13087         REPLACE_FDOPEN.
13088         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
13089         REPLACE_FDOPEN.
13090         * modules/fdopen: New file.
13091         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
13092         * tests/test-stdio-c++.cc: Check signature of fdopen.
13093         * doc/posix-functions/fdopen.texi: Mention the new module.
13094
13095 2011-09-21  Bruno Haible  <bruno@clisp.org>
13096
13097         unlockpt tests: Avoid test failure on NetBSD 5.1.
13098         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
13099         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
13100
13101 2011-09-21  Bruno Haible  <bruno@clisp.org>
13102
13103         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
13104         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
13105         * tests/test-getlogin_r.c (main): Likewise.
13106
13107 2011-09-20  Bruno Haible  <bruno@clisp.org>
13108
13109         time tests: Don't require pid_t.
13110         * doc/posix-headers/time.texi: Revert last change.
13111         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
13112         * tests/test-time.c: Comment out the check for pid_t.
13113
13114 2011-09-20  Bruno Haible  <bruno@clisp.org>
13115
13116         fsync tests: Avoid a test failure on mingw.
13117         * tests/test-fsync.c (main): Allow a failure with EIO.
13118
13119 2011-09-20  Bruno Haible  <bruno@clisp.org>
13120
13121         euidaccess: Update comments.
13122         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
13123
13124 2011-09-20  Bruno Haible  <bruno@clisp.org>
13125
13126         Ensure EBADF returns for socket functions on mingw.
13127         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
13128         descriptor is invalid.
13129         * lib/bind.c (rpl_bind): Likewise.
13130         * lib/connect.c (rpl_connect): Likewise.
13131         * lib/getpeername.c (rpl_getpeername): Likewise.
13132         * lib/getsockname.c (rpl_getsockname): Likewise.
13133         * lib/getsockopt.c (rpl_getsockopt): Likewise.
13134         * lib/listen.c (rpl_listen): Likewise.
13135         * lib/recv.c (rpl_recv): Likewise.
13136         * lib/recvfrom.c (rpl_recvfrom): Likewise.
13137         * lib/send.c (rpl_send): Likewise.
13138         * lib/sendto.c (rpl_sendto): Likewise.
13139         * lib/setsockopt.c (rpl_setsockopt): Likewise.
13140         * lib/shutdown.c (rpl_shutdown): Likewise.
13141
13142 2011-09-20  Bruno Haible  <bruno@clisp.org>
13143
13144         select tests: EBADF tests.
13145         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
13146         test_bad_fd): New functions.
13147         (test_function): Invoke also test_bad_fd.
13148
13149 2011-09-20  Bruno Haible  <bruno@clisp.org>
13150
13151         Tests for module 'posix_spawn_file_actions_addopen.
13152         * modules/posix_spawn_file_actions_addopen-tests: New file.
13153         * tests/test-posix_spawn_file_actions_addopen.c: New file.
13154
13155         Tests for module 'posix_spawn_file_actions_adddup2'.
13156         * modules/posix_spawn_file_actions_adddup2-tests: New file.
13157         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
13158
13159         Tests for module 'posix_spawn_file_actions_addclose'.
13160         * modules/posix_spawn_file_actions_addclose-tests: New file.
13161         * tests/test-posix_spawn_file_actions_addclose.c: New file.
13162
13163 2011-09-20  Bruno Haible  <bruno@clisp.org>
13164
13165         Tests for module 'unlockpt'.
13166         * modules/unlockpt-tests: New file.
13167         * tests/test-unlockpt.c: New file.
13168         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
13169
13170         Tests for module 'grantpt'.
13171         * modules/grantpt-tests: New file.
13172         * tests/test-grantpt.c: New file.
13173         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
13174
13175 2011-09-20  Bruno Haible  <bruno@clisp.org>
13176
13177         freopen tests: EBADF tests.
13178         * tests/test-freopen.c: Include errno.h, unistd.h.
13179         (main): Add tests for EBADF, commented out for the moment.
13180
13181         fclose tests: EBADF tests.
13182         * tests/test-fclose.c (main): Add tests for EBADF.
13183
13184         fflush tests: EBADF tests.
13185         * tests/test-fflush.c: Include errno.h, macros.h.
13186         (main): Add tests for EBADF.
13187
13188         ftello tests: EBADF tests.
13189         * tests/test-ftello4.sh: New file.
13190         * tests/test-ftello4.c: New file.
13191         * modules/ftello-tests (Files): Add them.
13192         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
13193
13194         fseeko tests: EBADF tests.
13195         * tests/test-fseeko4.sh: New file.
13196         * tests/test-fseeko4.c: New file.
13197         * modules/fseeko-tests (Files): Add them.
13198         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
13199
13200         Tests for function fputc().
13201         * modules/fputc-tests: New file.
13202         * tests/test-fputc.c: New file.
13203         * modules/stdio-tests (Depends-on): Add fputc-tests.
13204
13205         Tests for function fgetc().
13206         * modules/fgetc-tests: New file.
13207         * tests/test-fgetc.c: New file.
13208         * modules/stdio-tests (Depends-on): Add fgetc-tests.
13209
13210         Tests for function fdopen().
13211         * modules/fdopen-tests: New file.
13212         * tests/test-fdopen.c: New file.
13213         * modules/stdio-tests (Depends-on): Add fdopen-tests.
13214
13215         Tests for module 'vdprintf'.
13216         * modules/vdprintf-tests: New file.
13217         * tests/test-vdprintf.c: New file.
13218
13219         Tests for module 'dprintf'.
13220         * modules/dprintf-tests: New file.
13221         * tests/test-dprintf.c: New file.
13222
13223 2011-09-20  Bruno Haible  <bruno@clisp.org>
13224
13225         Tests for module 'ioctl'.
13226         * modules/ioctl-tests: New file.
13227         * tests/test-ioctl.c: New file.
13228
13229 2011-09-20  Bruno Haible  <bruno@clisp.org>
13230
13231         fcntl tests: EBADF tests.
13232         * tests/test-fcntl.c (main): Add more tests for EBADF.
13233
13234 2011-09-20  Bruno Haible  <bruno@clisp.org>
13235
13236         utimensat tests: EBADF tests.
13237         * tests/test-utimensat.c (main): Add tests for EBADF.
13238
13239         renameat tests: EBADF tests.
13240         * tests/test-renameat.c (main): Add tests for EBADF.
13241
13242         mkfifoat tests: EBADF tests.
13243         * tests/test-mkfifoat.c (main): Add tests for EBADF.
13244
13245         readlinkat tests: EBADF tests.
13246         * tests/test-readlinkat.c (main): Add tests for EBADF.
13247
13248         symlinkat tests: EBADF tests.
13249         * tests/test-symlinkat.c (main): Add tests for EBADF.
13250
13251         linkat tests: EBADF tests.
13252         * tests/test-linkat.c (main): Add tests for EBADF.
13253
13254         Tests for module 'faccessat'.
13255         * modules/faccessat-tests: New file.
13256         * tests/test-faccessat.c: New file.
13257
13258         fdopendir tests: EBADF tests.
13259         * tests/test-fdopendir.c (main): Add more tests for EBADF.
13260
13261         openat tests: EBADF tests.
13262         * tests/test-fchownat.c (main): Add tests for EBADF.
13263         * tests/test-fstatat.c (main): Likewise.
13264         * tests/test-mkdirat.c (main): Likewise.
13265         * tests/test-openat.c (main): Likewise.
13266         * tests/test-unlinkat.c (main): Likewise.
13267         * tests/test-fchmodat.c: New file.
13268         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
13269         (Makefile.am): Also run 'test-fchmodat'.
13270
13271 2011-09-20  Bruno Haible  <bruno@clisp.org>
13272
13273         utimens, futimens, fdutimensat tests: EBADF tests.
13274         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
13275
13276         Tests for function fstat().
13277         * modules/fstat-tests: New file.
13278         * tests/test-fstat.c: New file.
13279         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
13280
13281 2011-09-20  Bruno Haible  <bruno@clisp.org>
13282
13283         test-ttyname_r tests: EBADF tests.
13284         * tests/test-ttyname_r.c (main): Add tests for EBADF.
13285
13286         Tests for module 'isatty'.
13287         * modules/isatty-tests: New file.
13288         * tests/test-isatty.c: New file.
13289
13290         Tests for module 'write'.
13291         * modules/write-tests: New file.
13292         * tests/test-write.c: New file.
13293
13294         Tests for module 'read'.
13295         * modules/read-tests: New file.
13296         * tests/test-read.c: New file.
13297
13298         pwrite tests: EBADF tests.
13299         * tests/test-pwrite.c (main): Add tests for EBADF.
13300
13301         pread tests: EBADF tests.
13302         * tests/test-pread.c (main): Add tests for EBADF.
13303
13304         lseek tests: EBADF tests.
13305         * tests/test-lseek.c (main): Add more tests for EBADF.
13306
13307         Tests for module 'ftruncate'.
13308         * modules/ftruncate-tests: New file.
13309         * tests/test-ftruncate.sh: New file.
13310         * tests/test-ftruncate.c: New file.
13311
13312         fsync tests: EBADF tests.
13313         * tests/test-fsync.c (main): Add more tests for EBADF.
13314
13315         fdatasync tests: EBADF tests.
13316         * tests/test-fdatasync.c (main): Add more tests for EBADF.
13317
13318         Tests for module 'fchown'.
13319         * modules/fchown-tests: New file.
13320         * tests/test-fchown.c: New file.
13321
13322         Tests for module 'fchmod'.
13323         * modules/fchmod-tests: New file.
13324         * tests/test-fchmod.c: New file.
13325
13326         fchdir tests: EBADF tests.
13327         * tests/test-fchdir.c (main): Add more tests for EBADF.
13328
13329         dup2 tests: EBADF tests.
13330         * tests/test-dup2.c (main): Add more tests for EBADF.
13331
13332         Tests for module 'dup'.
13333         * modules/dup-tests: New file.
13334         * tests/test-dup.c: New file.
13335
13336         Tests for module 'close'.
13337         * modules/close-tests: New file.
13338         * tests/test-close.c: New file.
13339
13340 2011-09-20  Bruno Haible  <bruno@clisp.org>
13341
13342         Tests for module 'shutdown'.
13343         * modules/shutdown-tests: New file.
13344         * tests/test-shutdown.c: New file.
13345
13346         Tests for module 'setsockopt'.
13347         * modules/setsockopt-tests: New file.
13348         * tests/test-setsockopt.c: New file.
13349
13350         Tests for module 'sendto'.
13351         * modules/sendto-tests: New file.
13352         * tests/test-sendto.c: New file.
13353
13354         Tests for module 'send'.
13355         * modules/send-tests: New file.
13356         * tests/test-send.c: New file.
13357
13358         Tests for module 'recvfrom'.
13359         * modules/recvfrom-tests: New file.
13360         * tests/test-recvfrom.c: New file.
13361
13362         Tests for module 'recv'.
13363         * modules/recv-tests: New file.
13364         * tests/test-recv.c: New file.
13365
13366         Tests for module 'listen'.
13367         * modules/listen-tests: New file.
13368         * tests/test-listen.c: New file.
13369
13370         Tests for module 'getsockopt'.
13371         * modules/getsockopt-tests: New file.
13372         * tests/test-getsockopt.c: New file.
13373
13374         Tests for module 'getsockname'.
13375         * modules/getsockname-tests: New file.
13376         * tests/test-getsockname.c: New file.
13377
13378         Tests for module 'getpeername'.
13379         * modules/getpeername-tests: New file.
13380         * tests/test-getpeername.c: New file.
13381
13382         Tests for module 'connect'.
13383         * modules/connect-tests: New file.
13384         * tests/test-connect.c: New file.
13385
13386         Tests for module 'bind'.
13387         * modules/bind-tests: New file.
13388         * tests/test-bind.c: New file.
13389
13390         accept4 tests: Fix for native Windows.
13391         * tests/test-accept4.c: Include sockets.h.
13392         (main): Invoke gl_sockets_startup.
13393         * modules/accept4-tests (Depends-on): Add sockets.
13394
13395         accept tests: Fix for native Windows.
13396         * tests/test-accept.c: Include sockets.h.
13397         (main): Invoke gl_sockets_startup.
13398         * modules/accept-tests (Depends-on): Add sockets.
13399
13400 2011-09-19  Bruno Haible  <bruno@clisp.org>
13401
13402         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
13403         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
13404         do...while(0).
13405         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
13406         Suggested by Paul Eggert.
13407
13408 2011-09-19  Bruno Haible  <bruno@clisp.org>
13409
13410         sched: Ensure pid_t is defined.
13411         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
13412         not define pid_t.
13413         * lib/sched.in.h: Include <sys/types.h>.
13414         * doc/posix-headers/sched.texi: Mention the pid_t problem.
13415         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13416
13417 2011-09-19  Bruno Haible  <bruno@clisp.org>
13418
13419         msvc-inval: Ensure the entire expansion is a single statement.
13420         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
13421         of braces.
13422
13423 2011-09-19  Jim Meyering  <meyering@redhat.com>
13424
13425         tests: use printf, not echo in init.sh's warn_ function
13426         * tests/init.sh (warn_): Use printf, not echo.  The latter would
13427         misbehave when given strings containing a backslash or starting
13428         with e.g., -n.  James Youngman suggested setting IFS.
13429
13430 2011-09-19  Eric Blake  <eblake@redhat.com>
13431
13432         futimens: enhance test
13433         * tests/test-futimens.h (test_futimens): Also check for EBADF on
13434         closed non-negative fd.
13435
13436         date: accept 'hence' as opposite of 'ago'
13437         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
13438         * tests/test-parse-datetime.c (main): Enhance test.
13439         Suggested by Jesse Wilson.
13440
13441 2011-09-19  Jim Meyering  <meyering@redhat.com>
13442
13443         getcwd: don't fail in a deep directory on a system without openat
13444         Before this change, getcwd would fail when called from a directory
13445         of depth PATH_MAX / 3 or greater.  That was due to the fact that
13446         the non-openat implementation used "..", "../..", "../../..", etc.
13447         to access ancestor directories.  With too many, that string would
13448         be longer than PATH_MAX.
13449         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
13450         using gnulib's openat replacement.
13451         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
13452         we're using the replacement function.
13453
13454 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
13455
13456         maint.mk: avoid warnings from perl about missing files
13457         * top/maint.mk (def_sym_regex): Ignore files listed in
13458         $(gl_other_headers_) that do not exist, say because a project
13459         does not use a corresponding module.
13460
13461 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
13462
13463         stat: use pathmax.h only if needed
13464         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
13465         This is better for Emacs, which does not have a mingw port and
13466         therefore can avoid the pathmax module.
13467
13468         utimens: remove dependency on dup2
13469         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
13470         to work around the Linux kernel bug.
13471         * modules/utimens (Depends-on): Remove dup2.
13472
13473 2011-09-18  Bruno Haible  <bruno@clisp.org>
13474
13475         inet_ntop, inet_pton: Look for it also in libresolv.
13476         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
13477         libnsl, search for it in libresolv.
13478         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13479         Needed on Solaris 7.
13480
13481 2011-09-18  Bruno Haible  <bruno@clisp.org>
13482
13483         accept, accept4 tests: Avoid link error on Solaris.
13484         * modules/accept-tests (Makefile.am): Link test-accept against
13485         $(LIBSOCKET).
13486         * modules/accept4-tests (Makefile.am): Link test-accept4 against
13487         $(LIBSOCKET).
13488
13489         accept4: Avoid link error on Solaris.
13490         * modules/accept4 (Link): New section.
13491
13492         socket functions: Avoid link errors on Solaris.
13493         * modules/accept (Depends-on): Add socketlib.
13494         (Link): New section.
13495         * modules/bind (Depends-on): Add socketlib.
13496         (Link): New section.
13497         * modules/connect (Depends-on): Add socketlib.
13498         (Link): New section.
13499         * modules/getpeername (Depends-on): Add socketlib.
13500         (Link): New section.
13501         * modules/getsockname (Depends-on): Add socketlib.
13502         (Link): New section.
13503         * modules/getsockopt (Depends-on): Add socketlib.
13504         (Link): New section.
13505         * modules/listen (Depends-on): Add socketlib.
13506         (Link): New section.
13507         * modules/recv (Depends-on): Add socketlib.
13508         (Link): New section.
13509         * modules/recvfrom (Depends-on): Add socketlib.
13510         (Link): New section.
13511         * modules/send (Depends-on): Add socketlib.
13512         (Link): New section.
13513         * modules/sendto (Depends-on): Add socketlib.
13514         (Link): New section.
13515         * modules/setsockopt (Depends-on): Add socketlib.
13516         (Link): New section.
13517         * modules/shutdown (Depends-on): Add socketlib.
13518         (Link): New section.
13519         * modules/socket (Depends-on): Add socketlib.
13520         (Link): New section.
13521
13522 2011-09-18  Bruno Haible  <bruno@clisp.org>
13523
13524         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
13525         * tests/test-ptsname.c (main): Terminate the test if it takes longer
13526         than 5 seconds.
13527         * modules/ptsname-tests (configure.ac): Test for alarm.
13528
13529 2011-09-18  Bruno Haible  <bruno@clisp.org>
13530
13531         posix_spawn_file_actions_add*: Fix module dependencies.
13532         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
13533         posix_spawn_file_actions_init.
13534         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
13535         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
13536
13537 2011-09-18  Bruno Haible  <bruno@clisp.org>
13538
13539         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
13540         * tests/test-rename.h (test_rename): Allow error code EEXIST.
13541         * tests/test-renameat.c (main): Likewise.
13542
13543 2011-09-18  Bruno Haible  <bruno@clisp.org>
13544
13545         Tests for module 'accept4'.
13546         * modules/accept4-tests: New file.
13547         * tests/test-accept4.c: New file.
13548
13549 2011-09-18  Bruno Haible  <bruno@clisp.org>
13550
13551         Tests for module 'accept'.
13552         * modules/accept-tests: New file.
13553         * tests/test-accept.c: New file.
13554
13555 2011-09-18  Bruno Haible  <bruno@clisp.org>
13556
13557         dup2: Support for MSVC.
13558         * lib/dup2.c: Include msvc-inval.h.
13559         (rpl_dup2): Handle invalid parameter notifications during dup2 and
13560         _get_osfhandle calls.
13561         * modules/dup2 (Depends-on): Add msvc-inval.
13562         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
13563
13564         New module 'msvc-inval'.
13565         * lib/msvc-inval.h: New file.
13566         * lib/msvc-inval.c: New file.
13567         * m4/msvc-inval.m4: New file.
13568         * modules/msvc-inval: New file.
13569
13570 2011-09-17  Bruno Haible  <bruno@clisp.org>
13571
13572         Tests for module 'pclose'.
13573         * modules/pclose-tests: New file.
13574
13575         New module 'pclose'.
13576         * lib/stdio.in.h (pclose): New declaration.
13577         * lib/pclose.c: New file.
13578         * m4/pclose.m4: New file.
13579         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
13580         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
13581         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
13582         * modules/pclose: New file.
13583         * modules/popen-tests (Depends-on): Add pclose.
13584         * modules/popen-safer-tests (Depends-on): Likewise.
13585         * doc/posix-functions/pclose.texi: Mention the new module.
13586
13587 2011-09-17  Bruno Haible  <bruno@clisp.org>
13588
13589         popen: Support for MSVC.
13590         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
13591         * lib/popen.c (popen): Provide alternate definition for native Windows.
13592         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
13593         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
13594         * modules/popen (Depends-on, configure.ac): Update condition.
13595         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
13596         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
13597         fixed.
13598
13599 2011-09-17  Bruno Haible  <bruno@clisp.org>
13600
13601         isnanl, isnand, isnanf: Work around MSVC bug.
13602         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
13603
13604 2011-09-17  Bruno Haible  <bruno@clisp.org>
13605
13606         sys_socket tests: Fix recent mistake.
13607         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
13608
13609 2011-09-17  Bruno Haible  <bruno@clisp.org>
13610
13611         putenv: Support for MSVC.
13612         * modules/putenv (Depends-on): Add environ.
13613         * lib/putenv.c (environ): Disable declaration.
13614         * lib/unistd.in.h: Update comment.
13615
13616 2011-09-17  Bruno Haible  <bruno@clisp.org>
13617
13618         math: Avoid macro redefinition warnings on MSVC.
13619         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
13620         Undefine before redefining.
13621
13622 2011-09-17  Bruno Haible  <bruno@clisp.org>
13623
13624         doc: Mention functions which are declared as macros.
13625         * doc/posix-functions/*[fl].texi: Mention that some functions are
13626         defined as macros with arguments only.
13627
13628 2011-09-17  Bruno Haible  <bruno@clisp.org>
13629
13630         Add dependencies to new dirent related modules.
13631         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
13632         * modules/fts (Depends-on): Likewise.
13633         * modules/glob (Depends-on): Likewise.
13634         * modules/savedir (Depends-on): Likewise.
13635         * modules/scandir (Depends-on): Likewise.
13636         * modules/dirent-safer (Depends-on): Add opendir, closedir.
13637         * modules/fdopendir (Depends-on): Add opendir.
13638
13639 2011-09-17  Bruno Haible  <bruno@clisp.org>
13640
13641         inet_pton: Support for MSVC on Windows Vista or newer.
13642         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
13643         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
13644         HAVE_DECL_INET_PTON is defined.
13645         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13646         On platforms with <winsock2.h>, test whether inet_pton is declared in
13647         <ws2tcpip.h>. If so, arrange to replace it.
13648         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13649         REPLACE_INET_PTON.
13650         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
13651         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
13652         (Depends-on, configure.ac): Update condition.
13653         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
13654
13655 2011-09-17  Bruno Haible  <bruno@clisp.org>
13656
13657         inet_ntop: Support for MSVC on Windows Vista or newer.
13658         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
13659         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
13660         HAVE_DECL_INET_NTOP is defined.
13661         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13662         On platforms with <winsock2.h>, test whether inet_ntop is declared in
13663         <ws2tcpip.h>. If so, arrange to replace it.
13664         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13665         REPLACE_INET_NTOP.
13666         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
13667         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
13668         (Depends-on, configure.ac): Update condition.
13669         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
13670
13671 2011-09-16  Eric Blake  <eblake@redhat.com>
13672
13673         test-fsync: yet another enhancement
13674         * tests/test-fsync.c (main): Also test behavior on read-only text
13675         file.
13676
13677 2011-09-16  Bruno Haible  <bruno@clisp.org>
13678
13679         Enhance fsync, fdatasync tests.
13680         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
13681         * tests/test-fdatasync.c (main): Likewise.
13682
13683 2011-09-16  Bruno Haible  <bruno@clisp.org>
13684
13685         Support for MSVC compiler: Ensure mode_t gets defined.
13686         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
13687         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
13688         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
13689         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
13690         * tests/test-fcntl-h.c: Check that mode_t is defined.
13691         * tests/test-sys_stat.c: Likewise.
13692         * tests/test-sys_types.c: Likewise.
13693         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
13694         * doc/posix-headers/sys_stat.texi: Likewise.
13695         * doc/posix-headers/sys_types.texi: Likewise.
13696
13697 2011-09-16  Bruno Haible  <bruno@clisp.org>
13698
13699         sys_stat: Support for MSVC.
13700         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
13701         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
13702         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
13703         MSVC.
13704
13705 2011-09-16  Bruno Haible  <bruno@clisp.org>
13706
13707         Support for MSVC compiler: Ensure off_t gets defined.
13708         * lib/unistd.in.h: Include <sys/types.h>.
13709         * tests/test-fcntl-h.c: Check that off_t is defined.
13710         * tests/test-sys_stat.c: Likewise.
13711         * tests/test-sys_types.c: Likewise.
13712
13713 2011-09-16  Eric Blake  <eblake@redhat.com>
13714
13715         fdatasync: port to Solaris
13716         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
13717         * modules/fdatasync (Link): Document it.
13718         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
13719
13720         fdatasync: port to MacOS X 10.7
13721         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
13722         declared.
13723         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
13724         * modules/unistd (Makefile.am): Substitute it.
13725         * lib/unistd.in.h (fdatasync): Declare on MacOS.
13726         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
13727
13728         fdatasync: minor improvements
13729         * modules/fdatasync (Depends-on): Add condition for fsync.
13730         * lib/fdatasync.c (fdatasync): Add comment.
13731         * tests/test-unistd-c++.cc: Test fdatasync.
13732
13733         unistd: update refs to newer POSIX
13734         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
13735         Suggested by Bruno Haible.
13736
13737         fdatasync: new module
13738         * modules/fsync (Description): Document difference to fdatasync.
13739         * modules/fdatasync: New module.
13740         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
13741         * lib/fdatasync.c (fdatasync): Likewise.
13742         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
13743         defaults.
13744         * modules/unistd (Makefile.am): Set witnesses.
13745         * lib/unistd.in.h (fdatasync): Declare.
13746         * MODULES.html.sh: Document it.
13747         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
13748         * modules/fdatasync-tests: New test.
13749         * tests/test-fdatasync.c: Likewise.
13750
13751 2011-09-16  Eric Blake  <eblake@redhat.com>
13752
13753         test-fsync: enhance tests
13754         * modules/fsync-tests (Depends-on): Add errno, for mingw.
13755         * tests/test-fsync.c (main): Enhance test.
13756
13757 2011-09-15  Bruno Haible  <bruno@clisp.org>
13758
13759         Support for MSVC compiler: Ensure ssize_t gets defined.
13760         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
13761         * doc/posix-headers/stdio.texi: Likewise.
13762         * modules/stdio (Depends-on): Add ssize_t.
13763         * modules/sys_socket (Depends-on): Likewise.
13764         * modules/sys_types (Depends-on): Likewise.
13765         * modules/sys_uio (Depends-on): Likewise.
13766         * modules/unistd (Depends-on): Likewise.
13767         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
13768         * tests/test-sys_types.c: Check that ssize_t is defined.
13769
13770 2011-09-14  Bruno Haible  <bruno@clisp.org>
13771
13772         Avoid using #, the m4 comment starter character, near brackets.
13773         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
13774         delimiter character in sed expressions.
13775         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
13776         Suggested by Eric Blake.
13777
13778         Properly quote AC_CHECK_DECLS' 4th argument.
13779         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
13780         argument.
13781         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
13782         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
13783         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
13784         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
13785         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
13786         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
13787         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
13788         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
13789         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
13790         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
13791         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
13792         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13793         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
13794         * m4/isinf.m4 (gl_ISINF): Likewise.
13795         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
13796         * m4/readutmp.m4 (gl_READUTMP): Likewise.
13797         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
13798         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
13799         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
13800         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
13801         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
13802         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
13803         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
13804         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
13805         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
13806         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
13807         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
13808         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
13809         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
13810         Reported by Eric Blake.
13811
13812         Properly quote AC_CHECK_DECL's 4th argument.
13813         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
13814         argument.
13815         * m4/argp.m4 (gl_ARGP): Likewise.
13816         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
13817         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
13818         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
13819         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
13820         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
13821         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
13822         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
13823         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
13824         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
13825         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
13826         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
13827         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
13828         Reported by Eric Blake.
13829
13830 2011-09-14  Eric Blake  <eblake@redhat.com>
13831
13832         opendir: avoid compile warning
13833         * lib/opendir.c (includes): Always include errno.h.
13834         Reported by Tatsuro MATSUOKA.
13835
13836 2011-09-14  Jim Meyering  <meyering@redhat.com>
13837
13838         maint.mk: sc_tight_scope: propagate failure from sub-make
13839         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
13840         Reported by Martin von Gagern.
13841
13842 2011-09-13  Bruno Haible  <bruno@clisp.org>
13843
13844         tempname: Support for MSVC.
13845         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
13846         MSVC.
13847         * modules/tempname (Depends-on): Add fcntl-h.
13848
13849 2011-09-13  Bruno Haible  <bruno@clisp.org>
13850
13851         sys_time: Support for MSVC.
13852         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
13853         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
13854         include <winsock2.h>.
13855         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
13856         function declarations that collide with POSIX.
13857         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
13858         (Makefile.am): Substitute HAVE_WINSOCK2_H.
13859
13860 2011-09-13  Bruno Haible  <bruno@clisp.org>
13861
13862         stat: Support for MSVC.
13863         * lib/stat.c: Include pathmax.h.
13864         * modules/stat (Depends-on): Add pathmax.
13865
13866         pathmax: Support for native Windows.
13867         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
13868
13869 2011-09-12  Bruno Haible  <bruno@clisp.org>
13870
13871         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
13872         * lib/dirent.in.h (struct dirent): New type.
13873         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
13874         DT_WHT): New macros.
13875         (DIR): New type.
13876         (opendir, closedir): Declare only if the module 'opendir' is enabled.
13877         (readdir, rewinddir): New declarations.
13878         * lib/dirent-private.h: New file.
13879         * lib/opendir.c: New file.
13880         * lib/readdir.c: New file.
13881         * lib/rewinddir.c: New file.
13882         * lib/closedir.c: New file.
13883         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
13884         * m4/opendir.m4: New file.
13885         * m4/readdir.m4: New file.
13886         * m4/rewinddir.m4: New file.
13887         * m4/closedir.m4: New file.
13888         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
13889         REPLACE_CLOSEDIR here.
13890         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
13891         readdir, rewinddir are declared.
13892         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
13893         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
13894         HAVE_REWINDDIR, HAVE_CLOSEDIR.
13895         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
13896         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
13897         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
13898         * modules/opendir: New file.
13899         * modules/readdir: New file.
13900         * modules/rewinddir: New file.
13901         * modules/closedir: New file.
13902         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
13903         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
13904         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
13905         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
13906         * NEWS: Mention the 'fchdir' change.
13907
13908 2011-09-11  Bruno Haible  <bruno@clisp.org>
13909
13910         asm-underscore.m4: Support for MSVC.
13911         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
13912         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
13913
13914 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
13915
13916         Doc about crypt functions.
13917         * doc/posix-functions/crypt.texi: Expand range of glibc versions
13918         needing for _GNU_SOURCE to get crypt.
13919         * doc/posix-functions/encrypt.texi: Likewise.
13920         * doc/posix-functions/setkey.texi: Likewise.
13921
13922 2011-09-11  Bruno Haible  <bruno@clisp.org>
13923
13924         doc: Update regarding MSVC 9.
13925         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
13926         tested".
13927         * doc/posix-functions/*.texi: Update with info about MSVC 9.
13928         * doc/posix-headers/*.texi: Likewise.
13929         * doc/pastposix-functions/*.texi: Likewise.
13930         * doc/glibc-functions/*.texi: Likewise.
13931         * doc/glibc-headers/*.texi: Likewise.
13932
13933 2011-09-11  Bruno Haible  <bruno@clisp.org>
13934
13935         unistd et al.: Don't assume <unistd.h> exists.
13936         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
13937         does not exist.
13938         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
13939         exist. But include <stdlib.h>.
13940         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
13941         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
13942         symlink() does not exist.
13943         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
13944         include <io.h> instead.
13945         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
13946         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
13947         include <direct.h> instead.
13948         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
13949         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13950         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
13951         <io.h> instead.
13952         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
13953         correctly if the system does not have hard links.
13954         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
13955         <direct.h> instead.
13956         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
13957         it when looking for function declarations.
13958         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
13959         <direct.h> and <io.h> instead.
13960         * doc/posix-headers/unistd.texi: More details about MSVC problem.
13961
13962 2011-09-11  Bruno Haible  <bruno@clisp.org>
13963
13964         strcase: Support for MSVC.
13965         * modules/strcase (Status, Notice): Remove obsoletion mark.
13966         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
13967         * doc/posix-functions/strncasecmp.texi: Likewise.
13968
13969         strings: Don't assume <strings.h> exists.
13970         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
13971         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
13972         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
13973         * doc/posix-headers/strings.texi: Mention the MSVC problem.
13974
13975 2011-09-11  Bruno Haible  <bruno@clisp.org>
13976
13977         dirent: Don't assume <dirent.h> exists.
13978         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
13979         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
13980         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
13981         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
13982
13983 2011-09-11  Bruno Haible  <bruno@clisp.org>
13984
13985         Fix wint_t on MSVC.
13986         * lib/wchar.in.h (wint_t): On MSVC, override it.
13987         * lib/wctype.in.h (wint_t): Likewise.
13988         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
13989         MSVC.
13990         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
13991         * doc/posix-headers/wctype.texi: Likewise.
13992
13993 2011-09-11  Bruno Haible  <bruno@clisp.org>
13994
13995         sys_types: Fix typo.
13996         * lib/sys_types.in.h: Fix typo in comment.
13997         Reported by Paul Eggert.
13998
13999         Support for MSVC compiler: Ensure size_t gets defined.
14000         * modules/strings (Depends-on): Add 'sys_types'.
14001         * modules/sys_uio (Depends-on): Likewise.
14002         * lib/sys_uio.in.h: Update comment.
14003
14004         C++ tests for module 'sys_types'.
14005         * modules/sys_types-c++-tests: New file.
14006         * tests/test-sys_types-c++.cc: New file.
14007
14008         Tests for module 'sys_types'.
14009         * modules/sys_types-tests: New file.
14010         * tests/test-sys_types.c: New file.
14011
14012         New module 'sys_types'.
14013         * lib/sys_types.in.h: New file.
14014         * m4/sys_types_h.m4: New file.
14015         * modules/sys_types: New file.
14016         * doc/posix-headers/sys_types.texi: Mention the new module and the
14017         size_t problem on MSVC 9.
14018
14019 2011-09-11  Bruno Haible  <bruno@clisp.org>
14020
14021         Support for MSVC compiler: Avoid division by a literal 0.
14022         * lib/math.in.h (NAN): Define through a function call also on MSVC.
14023         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
14024         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
14025         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
14026         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
14027         * tests/infinity.h: New file.
14028         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
14029         on MSVC.
14030         * tests/test-ceilf1.c: Include infinity.h.
14031         (main): Use Infinityf.
14032         * tests/test-ceil1.c: Include infinity.h.
14033         (main): Use Infinityd.
14034         * tests/test-ceill.c: Include infinity.h.
14035         (main): Use Infinityl.
14036         * tests/test-dprintf-posix.c: Include infinity.h.
14037         (test_function): Use Infinityd.
14038         * tests/test-floorf1.c: Include infinity.h.
14039         (main): Use Infinityf.
14040         * tests/test-floor1.c: Include infinity.h.
14041         (main): Use Infinityd.
14042         * tests/test-floorl.c: Include infinity.h.
14043         (main): Use Infinityl.
14044         * tests/test-fprintf-posix.c: Include infinity.h.
14045         (test_function): Use Infinityd.
14046         * tests/test-frexp.c: Include infinity.h.
14047         (main): Use Infinityd.
14048         * tests/test-frexpl.c: Include infinity.h.
14049         (main): Use Infinityl.
14050         * tests/test-isfinite.c: Include infinity.h.
14051         (test_isfinitef): Use Infinityf.
14052         (test_isfinited): Use Infinityd.
14053         (test_isfinitel): Use Infinityl.
14054         * tests/test-isinf.c: Include infinity.h.
14055         (test_isinff): Use Infinityf.
14056         (test_isinfd): Use Infinityd.
14057         (test_isinfl): Use Infinityl.
14058         * tests/test-isnan.c: Include infinity.h.
14059         (test_float): Use Infinityf.
14060         (test_double): Use Infinityd.
14061         (test_long_double): Use Infinityl.
14062         * tests/test-isnanf.h: Include infinity.h.
14063         (main): Use Infinityf.
14064         * tests/test-isnand.h: Include infinity.h.
14065         (main): Use Infinityd.
14066         * tests/test-isnanl.h: Include infinity.h.
14067         (main): Use Infinityl.
14068         * tests/test-ldexpl.c: Include infinity.h.
14069         (main): Use Infinityl.
14070         * tests/test-printf-posix.h: Include infinity.h.
14071         (test_function): Use Infinityd.
14072         * tests/test-roundf1.c: Include infinity.h.
14073         (main): Use Infinityf.
14074         * tests/test-round1.c: Include infinity.h.
14075         (main): Use Infinityd.
14076         * tests/test-roundl.c: Include infinity.h.
14077         (main): Use Infinityl.
14078         * tests/test-signbit.c: Include infinity.h.
14079         (test_signbitf): Use Infinityf.
14080         (test_signbitd): Use Infinityd.
14081         (test_signbitl): Use Infinityl.
14082         * tests/test-snprintf-posix.h: Include infinity.h.
14083         (test_function): Use Infinityd, Infinityl.
14084         * tests/test-sprintf-posix.h: Include infinity.h.
14085         (test_function): Use Infinityd, Infinityl.
14086         * tests/test-truncf1.c: Include infinity.h.
14087         (main): Use Infinityf.
14088         * tests/test-trunc1.c: Include infinity.h.
14089         (main): Use Infinityd.
14090         * tests/test-truncl.c: Include infinity.h.
14091         (main): Use Infinityl.
14092         * tests/test-vasnprintf-posix.c: Include infinity.h.
14093         (test_function): Use Infinityd, Infinityl.
14094         * tests/test-vasprintf-posix.c: Include infinity.h.
14095         (test_function): Use Infinityd, Infinityl.
14096         * modules/ceilf-tests (Files): Add tests/infinity.h.
14097         * modules/ceil-tests (Files): Likewise.
14098         * modules/ceill-tests (Files): Likewise.
14099         * modules/dprintf-posix-tests (Files): Likewise.
14100         * modules/floorf-tests (Files): Likewise.
14101         * modules/floor-tests (Files): Likewise.
14102         * modules/floorl-tests (Files): Likewise.
14103         * modules/fprintf-posix-tests (Files): Likewise.
14104         * modules/frexp-tests (Files): Likewise.
14105         * modules/frexp-nolibm-tests (Files): Likewise.
14106         * modules/frexpl-tests (Files): Likewise.
14107         * modules/frexpl-nolibm-tests (Files): Likewise.
14108         * modules/isfinite-tests (Files): Likewise.
14109         * modules/isinf-tests (Files): Likewise.
14110         * modules/isnan-tests (Files): Likewise.
14111         * modules/isnanf-tests (Files): Likewise.
14112         * modules/isnanf-nolibm-tests (Files): Likewise.
14113         * modules/isnand-tests (Files): Likewise.
14114         * modules/isnand-nolibm-tests (Files): Likewise.
14115         * modules/isnanl-tests (Files): Likewise.
14116         * modules/isnanl-nolibm-tests (Files): Likewise.
14117         * modules/ldexpl-tests (Files): Likewise.
14118         * modules/printf-posix-tests (Files): Likewise.
14119         * modules/roundf-tests (Files): Likewise.
14120         * modules/round-tests (Files): Likewise.
14121         * modules/roundl-tests (Files): Likewise.
14122         * modules/signbit-tests (Files): Likewise.
14123         * modules/snprintf-posix-tests (Files): Likewise.
14124         * modules/sprintf-posix-tests (Files): Likewise.
14125         * modules/truncf-tests (Files): Likewise.
14126         * modules/trunc-tests (Files): Likewise.
14127         * modules/truncl-tests (Files): Likewise.
14128         * modules/vasnprintf-posix-tests (Files): Likewise.
14129         * modules/vasprintf-posix-tests (Files): Likewise.
14130         * modules/vdprintf-posix-tests (Files): Likewise.
14131         * modules/vfprintf-posix-tests (Files): Likewise.
14132         * modules/vprintf-posix-tests (Files): Likewise.
14133         * modules/vsnprintf-posix-tests (Files): Likewise.
14134         * modules/vsprintf-posix-tests (Files): Likewise.
14135         * modules/xprintf-posix-tests (Files): Likewise.
14136
14137 2011-09-11  Bruno Haible  <bruno@clisp.org>
14138
14139         Ensure pid_t gets defined.
14140         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
14141         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
14142         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
14143         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14144         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
14145         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
14146         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
14147         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14148         * tests/test-fcntl-h.c: Check that pid_t is defined.
14149         * tests/test-sched.c: Likewise.
14150         * tests/test-termios.c: Likewise.
14151         * tests/test-time.c: Likewise.
14152         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
14153         * doc/posix-headers/signal.texi: Likewise.
14154         * doc/posix-headers/sys_types.texi: Likewise.
14155         * doc/posix-headers/time.texi: Likewise.
14156
14157 2011-09-11  Bruno Haible  <bruno@clisp.org>
14158
14159         acl: Fix compilation on Solaris 10 (older version).
14160         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
14161         of ACE_EVERYONE.
14162         * lib/set-mode-acl.c (qset_acl): Likewise.
14163         Reported by Christian Jullien <eligis@orange.fr>.
14164
14165 2011-09-10  Bruno Haible  <bruno@clisp.org>
14166
14167         iconv, unsetenv: Add support for MSVC compiler.
14168         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
14169         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
14170
14171 2011-09-10  Bruno Haible  <bruno@clisp.org>
14172
14173         *printf: Add support for MSVC compiler.
14174         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
14175         handles the exception caused by the %n directive. When cross-compiling,
14176         guess no on native Windows.
14177         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
14178         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
14179         emulate it through vsnprintf.
14180         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
14181         * doc/posix-functions/dprintf.texi: Update documentation regarding
14182         MSVC 9.
14183         * doc/posix-functions/fprintf.texi: Likewise.
14184         * doc/posix-functions/printf.texi: Likewise.
14185         * doc/posix-functions/snprintf.texi: Likewise.
14186         * doc/posix-functions/sprintf.texi: Likewise.
14187         * doc/posix-functions/swprintf.texi: Likewise.
14188         * doc/posix-functions/vdprintf.texi: Likewise.
14189         * doc/posix-functions/vfprintf.texi: Likewise.
14190         * doc/posix-functions/vprintf.texi: Likewise.
14191         * doc/posix-functions/vsnprintf.texi: Likewise.
14192         * doc/posix-functions/vsprintf.texi: Likewise.
14193         * doc/glibc-functions/asprintf.texi: Likewise.
14194         * doc/glibc-functions/obstack_printf.texi: Likewise.
14195         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
14196         * doc/glibc-functions/vasprintf.texi: Likewise.
14197
14198 2011-09-10  Bruno Haible  <bruno@clisp.org>
14199
14200         nocrash: Add support for native Windows.
14201         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
14202
14203 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
14204             Bruno Haible  <bruno@clisp.org>
14205
14206         absolute-header, include-next: Add support for MSVC compiler.
14207         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
14208         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
14209         directory separator in #line directives.
14210         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
14211         recognize also backslash as directory separator in #line directives.
14212
14213 2011-09-08  Jim Meyering  <meyering@redhat.com>
14214
14215         maint.mk: mark the post-release commit log with "maint: " prefix
14216         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
14217         one-line commit-log summary.
14218
14219 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
14220             Bruno Haible  <bruno@clisp.org>
14221
14222         Doc about crypt functions.
14223         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
14224         systems.
14225         * doc/posix-functions/encrypt.texi: Likewise.
14226         * doc/posix-functions/setkey.texi: Likewise.
14227
14228 2011-09-08  Simon Josefsson  <simon@josefsson.org>
14229
14230         * lib/gc.h: Fix copyright header.
14231
14232 2011-09-07  Bruno Haible  <bruno@clisp.org>
14233
14234         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
14235         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
14236         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
14237
14238 2011-09-07  Bruno Haible  <bruno@clisp.org>
14239
14240         openat: Work around compilation error with OSF/1 5.1 DTK cc.
14241         * lib/fopen.c: Use different syntax for include of <stdio.h>.
14242         * lib/freopen.c: Likewise.
14243         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
14244         * lib/lstat.c: Likewise.
14245         * lib/stat.c: Likewise.
14246         * lib/open.c: Use different syntax for include of <fcntl.h>.
14247         * lib/openat.c: Include fcntl.h again, explicitly.
14248
14249 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
14250
14251         parse-datetime: document the newly accepted format
14252         * doc/parse-datetime.texi (Combined date and time of day items):
14253         New section.
14254
14255 2011-09-06  Bruno Haible  <bruno@clisp.org>
14256
14257         acl: Fix a test failure on newer Solaris 10 with ZFS.
14258         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
14259         ENOSYS as no ACL.
14260         Reported by Jim Meyering.
14261
14262 2011-09-06  Bruno Haible  <bruno@clisp.org>
14263
14264         acl: Update for AIX >= 5.3 with NFS.
14265         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
14266         ENOSYS as no ACL.
14267
14268         acl: Fix a test failure on AIX >= 5.3 with NFS.
14269         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
14270         as no ACL.
14271
14272 2011-09-06  Bruno Haible  <bruno@clisp.org>
14273
14274         acl: Fix a test failure on IRIX 6.5 with NFS.
14275         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
14276         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
14277         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
14278         * lib/copy-acl.c (qcopy_acl): Likewise.
14279
14280 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
14281
14282         openat: port to AIX 7.1 with large files
14283         AIX 7.1 does a "#define openat open64at" if large files are in use,
14284         so we can't simply #undef openat.  Use the orig_openat trick (similar
14285         to orig_open in lib/open.c) to work around the problem.  Problem
14286         reported by Kevin Brott for GNU tar, in the thread containing
14287         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
14288         * lib/openat.c (__need_system_fcntl_h): Define first.
14289         Include <fcntl.h> and <sys/types.h> before undefining.
14290         (orig_openat) [HAVE_OPENAT]: New inline function.
14291         (openat) [HAVE_OPENAT]: Do not undef.
14292         (rpl_openat): Use orig_openat, not openat.
14293
14294 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
14295             Bruno Haible  <bruno@clisp.org>
14296
14297         acl: Avoid errors on NonStop Kernel.
14298         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
14299         ENOTSUP errors.
14300
14301 2011-09-05  Bruno Haible  <bruno@clisp.org>
14302
14303         acl: Clean up Solaris code.
14304         * lib/acl-internal.h: Remove no-op #if.
14305         * lib/file-has-acl.c: Likewise.
14306         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
14307         * lib/copy-acl.c (qcopy_acl): Likewise.
14308
14309 2011-09-05  Bruno Haible  <bruno@clisp.org>
14310
14311         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
14312         binaries built on the original Solaris 10.
14313         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
14314         trivial.
14315
14316 2011-09-05  Bruno Haible  <bruno@clisp.org>
14317
14318         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14319         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
14320         10.
14321         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
14322         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
14323         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
14324         instead of acl_get, facl_get, acl_set, facl_set.
14325
14326 2011-09-05  Bruno Haible  <bruno@clisp.org>
14327
14328         copy-file: Try unit tests on more file systems.
14329         * tests/test-copy-file-1.sh: New file.
14330         * tests/test-copy-file-2.sh: New file.
14331         * modules/copy-file-tests (Files): Add them.
14332         (Makefile.am): Add them to TESTS.
14333
14334         acl: Try unit tests on more file systems.
14335         * tests/test-file-has-acl-1.sh: New file.
14336         * tests/test-file-has-acl-2.sh: New file.
14337         * tests/test-set-mode-acl-1.sh: New file.
14338         * tests/test-set-mode-acl-2.sh: New file.
14339         * tests/test-copy-acl-1.sh: New file.
14340         * tests/test-copy-acl-2.sh: New file.
14341         * modules/acl-tests (Files): Add them.
14342         (Makefile.am): Add them to TESTS.
14343
14344 2011-09-04  Bruno Haible  <bruno@clisp.org>
14345
14346         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14347         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
14348         10.
14349         (OLD_ALLOW, OLD_DENY): New macros.
14350         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
14351         ACE_ACCESS_ALLOWED_ACE_TYPE.
14352         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
14353         ACE_ACCESS_DENIED_ACE_TYPE.
14354         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
14355         (NEW_ACE_EXECUTE): Fix value.
14356         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
14357         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
14358         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
14359         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
14360         NEW_ACE_SYNCHRONIZE): New macros.
14361         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
14362         instead of acl_fromtext, acl_set, facl_set.
14363         Fixes a coreutils/tests/cp/perm failure.
14364
14365 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
14366
14367         openat: test for fstatat (..., 0) bug
14368         Further testing with tar suggests that fstatat (..., 0)
14369         does not work in general, on AIX 7.1; see
14370         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
14371         So, give up entirely on AIX 7.1's fstatat, and fall back on our
14372         replacement fstatat (which is what older AIX releases were using
14373         anyway).
14374         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
14375         use is now changed to orig_fstatat.  This was probably the right
14376         thing to do anyway.
14377         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
14378         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
14379         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
14380         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
14381         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
14382         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
14383         if the bug is found.
14384
14385         openat: test for fstatat (AT_FDCWD, ..., 0) bug
14386         This tests for another fstatat bug on AIX 7.1:
14387         fstatat (AT_FDCWD, ..., 0) does not work.  See
14388         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
14389         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
14390         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
14391         (rpl_fstatat): Adjust so that it works around either (or both)
14392         bugs if present.
14393         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
14394
14395 2011-09-03  Karl Berry  <karl@gnu.org>
14396
14397         * doc/regex.texi (Character Class Operators): Avoid literal ":"
14398         in index entries.
14399
14400 2011-09-02  Bruno Haible  <bruno@clisp.org>
14401
14402         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
14403         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
14404         values of AR, ARFLAGS, RANLIB.
14405         Reported by John W. Eaton <jwe@gnu.org> for Octave.
14406
14407 2011-09-02  Bruno Haible  <bruno@clisp.org>
14408
14409         Find 'ar' program that fits with --host argument.
14410         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
14411
14412 2011-09-02  Bruno Haible  <bruno@clisp.org>
14413
14414         tests: init.sh: Support any non-GNU diff.
14415         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
14416         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
14417         Solaris 8.
14418
14419 2011-09-02  Bruno Haible  <bruno@clisp.org>
14420
14421         tests: init.sh: work also with any non-GNU diff that supports -u
14422         * tests/init.sh: Relax check for diff -u support.
14423         Rather than checking for GNU diff via --version, simply check
14424         for support for -u itself.  Useful at least on OpenBSD 4.9,
14425         AIX 7.1, IRIX 6.5, and Solaris 10.
14426
14427 2011-09-01  Bruno Haible  <bruno@clisp.org>
14428
14429         strtoimax, strtoumax: Document problem on HP-UX 11.
14430         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
14431         * doc/posix-functions/strtoumax.texi: Likewise.
14432
14433 2011-09-01  Bruno Haible  <bruno@clisp.org>
14434
14435         strtoumax: Avoid link error on OSF/1 with DTK cc.
14436         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
14437         defined as a function.
14438         * modules/strtoumax (Depends-on, configure.ac): Test only whether
14439         strtoumax is defined, not whether it is declared.
14440
14441 2011-09-01  Bruno Haible  <bruno@clisp.org>
14442
14443         strtoimax: Avoid link error on OSF/1 with DTK cc.
14444         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
14445         defined as a function.
14446         * modules/strtoimax (Depends-on, configure.ac): Test only whether
14447         strtoimax is defined, not whether it is declared.
14448
14449 2011-09-01  Bruno Haible  <bruno@clisp.org>
14450
14451         imaxdiv: Avoid link error on OSF/1 with DTK cc.
14452         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
14453         as a function.
14454         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
14455         whether it is declared.
14456
14457 2011-09-01  Bruno Haible  <bruno@clisp.org>
14458
14459         imaxabs: Avoid link error on OSF/1 with DTK cc.
14460         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
14461         as a function.
14462         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
14463         whether it is declared.
14464
14465 2011-09-01  Bruno Haible  <bruno@clisp.org>
14466
14467         Tests for module 'strtoumax'.
14468         * modules/strtoumax-tests: New file.
14469         * tests/test-strtoumax.c: New file.
14470
14471         Tests for module 'strtoimax'.
14472         * modules/strtoimax-tests: New file.
14473         * tests/test-strtoimax.c: New file.
14474
14475         Tests for module 'imaxdiv'.
14476         * modules/imaxdiv-tests: New file.
14477         * tests/test-imaxdiv.c: New file.
14478
14479         Tests for module 'imaxabs'.
14480         * modules/imaxabs-tests: New file.
14481         * tests/test-imaxabs.c: New file.
14482
14483 2011-09-01  Bruno Haible  <bruno@clisp.org>
14484
14485         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
14486         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
14487         pthread_create.
14488
14489 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14490
14491         openat: work around AIX 7.1 fstatat issue
14492         This should fix the problem that was not properly fixed
14493         in the previous change, dated 2011-08-30.
14494         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
14495         __need_system_stat_h defined.
14496         (orig_fstatat) [HAVE_FSTATAT]: New function.
14497         (rpl_fstatat): Go back to the old way of doing things,
14498         except call orig_fstatat instead of fstatat.
14499         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
14500         Remove unnecessary check whether fstatat fills in st_size etc.
14501
14502 2011-09-01  Bruno Haible  <bruno@clisp.org>
14503
14504         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
14505         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
14506         just include the system's header.
14507
14508 2011-08-31  Jim Meyering  <meyering@redhat.com>
14509
14510         tests: avoid spurious assertion failure in test-float.c on ppc64
14511         * tests/test-float.c (test_long_double): Comment out an assertion,
14512         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
14513         with gcc-4.4.4.
14514
14515         maint: indent with spaces, not TABs
14516         I need to get in the habit of running gnulib's "make check".
14517         Both of these would have been caught.
14518         * m4/largefile.m4: Indent with spaces, not TABs.
14519         * lib/parse-datetime.y (iso_8601_time): Likewise.
14520         Spotted by Pádraig Brady.
14521
14522         test-parse-datetime.c: accommodate a relatively strict gcc warning
14523         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
14524         to avoid a warning from gcc's -Werror=missing-declarations.
14525         Insert a few spaces-before-funcall-parenthesis.
14526
14527 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
14528
14529         parse-datetime: accept ISO 8601 date and time rep with "T" separator
14530         The parser now accepts ISO 8601 date-time strings with "T" as the
14531         separator.  It has long parsed dates like "2004-02-29 16:21:42"
14532         with a space between the date and time strings.  Now it also parses
14533         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
14534         variants like "2004-02-29T16:21:42.333-07:00"
14535         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
14536         of day representation using the 'T' separator character.
14537         * doc/parse-datetime.texi (General date syntax): replace use of
14538         deprecated --iso-8601 option with --rfc-3339 in example of date
14539         command output formats that can be parsed.
14540         * tests/test-parse-datetime.c (tm_diff): New function, taken from
14541         lib/parse-datetime.y.
14542         (gmt_offset): New function.
14543         (main): Add additional test cases to validate ISO8601 extended
14544         date and time of day parsing.
14545
14546 2011-08-31  Bruno Haible  <bruno@clisp.org>
14547
14548         freopen: Documentation.
14549         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
14550         name.
14551         Reported by Claudio Bley <claudio.bley@gmail.com>.
14552
14553 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
14554
14555         freopen: Don't crash if the filename argument is NULL.
14556         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
14557         NULL.
14558
14559 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
14560
14561         openat: work around AIX 7.1 fstatat bug
14562         Problem reported by Kevin Brott for GNU tar, in the thread containing
14563         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
14564         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
14565         FSTATAT_ST_SIZE_ETC_BROKEN.
14566         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
14567         rpl_fstatat.
14568         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
14569         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
14570         AC_CHECK_FUNCS_ONCE for fstatat.
14571         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
14572         fchmodat, mkdirat, openat and unlinkat.
14573
14574 2011-08-30  Bruno Haible  <bruno@clisp.org>
14575
14576         Avoid endless recursions if config.h includes some header files.
14577         * lib/fopen.c (__need_FILE): Define already before including config.h.
14578         * lib/freopen.c (__need_FILE): Likewise.
14579         * lib/open.c (__need_system_fcntl_h): Likewise.
14580         * lib/stat.c (__need_system_sys_stat_h): Likewise.
14581         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
14582         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
14583
14584 2011-08-25  Karl Berry  <karl@gnu.org>
14585
14586         * config/srclist.txt (ylwrap): new try.
14587         * build-aux/ylwrap: new file.
14588
14589 2011-08-23  Bruno Haible  <bruno@clisp.org>
14590
14591         tmpdir: Use a good default directory on native Windows.
14592         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
14593         (P_tmpdir): Default to _P_tmpdir on native Windows.
14594         (path_search): On native Windows, try the value returned by GetTempPath
14595         before trying P_tmpdir.
14596         * modules/tmpdir (Depends-on): Add pathmax.
14597         Suggested by John Darrington <john@darrington.wattle.id.au>.
14598
14599 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
14600
14601         doc: fix typo in README-release
14602         * top/README-release: Capitalize first word of a sentence.
14603
14604 2011-08-19  Jim Meyering  <meyering@redhat.com>
14605
14606         fts: do not exhaust memory when processing million-entry directories
14607         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
14608         directory would require about 256*N bytes of memory.  Thus, it was
14609         easy to construct a directory too large to be processed by any of
14610         those tools.  With this change, fts' maximum memory utilization is
14611         now limited to around 30MB.
14612         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
14613         (fts_read): When we've processed the final entry (i.e., when
14614         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
14615         using the parent entry to read any remaining entries.  Dispatch
14616         depending on what fts_build returns:
14617         - NULL+stop, aka failure: stop
14618         - NULL otherwise: move up in the dir hierarchy
14619         - non-NULL: handle this new entry
14620         (fts_build): Declare and use new local, continue_readdir.
14621         Prepare to be called from fts_read, when the entries
14622         from a partially-read directory have just been exhausted.
14623         In that case, we'll skip the opendir and instead use the parent's
14624         fts_dirp and derive dir_fd from that.
14625         Finally, in the readdir loop, if we read max_entries entries,
14626         exit the loop ensuring *not* to call closedir.  This is required
14627         so that fts_dirp can be reused on a subsequent call.
14628         Prompted by Ben England's report of memory exhaustion in find
14629         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
14630
14631         maint: fts: move decl of `dp' down into while loop; split a long line
14632         * lib/fts.c (fts_build): No semantic change.
14633
14634         fts: add/use new struct member, fts_dirp
14635         We are about to use this to manage any directory with
14636         too many entries to read all of them into memory at once.
14637         To do that, we'll need to save the DIR* pointer in each
14638         affected FTSENT struct.
14639         * lib/fts_.h: Include <dirent.h>.
14640         (struct FTSENT) [fts_dirp]: New member.
14641         * lib/fts.c (closedir_and_clear): Define.
14642         Use it in place of closedir so that we are sure to
14643         clear the new fts_dirp member when done with it.
14644         (fts_alloc): Initialize the new member.
14645         (fts_lfree): Free, if needed.
14646
14647         maint: fts: give __opendir2 a new parameter and rename
14648         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
14649         than surreptitiously using sole caller's "dir_fd".
14650         (fts_opendir): Rename from __opendir2.
14651
14652         maint: fts.c: remove __opendir2's now-unused parameter, oflag
14653         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
14654
14655         maint: fts.c: correct off-by-one indentation
14656         * lib/fts.c (fts_build): Correct indentation, change style
14657         of a couple of block comments, and bracing style.
14658
14659         maint: fts.c: move __opendir2 #define "up" out of function body
14660         * lib/fts.c (__opendir2): Move "up".  No semantic change.
14661
14662         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
14663         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
14664         out for a long time and besides was useful only on BSD systems.
14665
14666 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
14667
14668         regex: port to Stratus OpenVOS
14669         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
14670         define to empty, rather than attempting nonportable optimizations.
14671         Problem reported by Paul Green in:
14672         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
14673         and fix suggested by Eric Blake in:
14674         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
14675
14676 2011-08-17  Eric Blake  <eblake@redhat.com>
14677
14678         getcwd: fix test failures on mingw
14679         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
14680         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
14681         test if long directory cannot be created, and allow mingw errno.
14682
14683         getcwd-lgpl: fix m4 to match relaxed test for BSD
14684         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
14685         (gl_FUNC_GETCWD_SIGNATURE): New macro.
14686         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
14687         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
14688         signature problem.
14689
14690         getcwd: fix compilation on mingw64
14691         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
14692         getcwd.
14693         Reported by Marc-André Lureau.
14694
14695         pipe2: silence compiler warning
14696         * lib/pipe2.c (pipe2): Hide label if it is not used.
14697
14698 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
14699
14700         relocatable-prog: fix link error
14701         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
14702         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
14703         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
14704         into modules/relocatable-lib without noticing that
14705         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
14706         also needs to build relocatable.c.
14707
14708 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
14709
14710         getaddrinfo: fix sh typo in gai_strerrorA decl checking
14711         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
14712         shell code: it contained a 'break' that was not in a loop.
14713         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
14714         via a shell-language loop; this may have been true in old Autoconf
14715         versions, but it's not true in Autoconf 2.68.  I found this bug
14716         when testing coreutils git on Solaris 8, whose shell complains
14717         about the syntax error.
14718
14719 2011-08-12  Simon Josefsson  <simon@josefsson.org>
14720
14721         * lib/base64.c: Fix comment to reference RFC 4648.
14722         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
14723         <gvtulder@gmail.com>.
14724
14725 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
14726
14727         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
14728
14729         po/Makefile.in.in: fix make -q problem
14730         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
14731         rule, since there's no file named 'check-macro-version' and its
14732         use as a file breaks make -q.
14733         (all): Don't depend on check-macro-version.
14734         (CHECK_MACRO_VERSION): New macro.
14735         (stamp-po): Use it.
14736
14737         configmake: fix make -q problem
14738         * modules/configmake (configmake.h): Update configmake.h's time stamp
14739         even if the file does not change.  Otherwise, 'make -q' fails.
14740         Problem reported by Simon Josefsson in
14741         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
14742
14743 2011-08-11  Jim Meyering  <meyering@redhat.com>
14744
14745         git-version-gen: correct the advice in a comment
14746         * build-aux/git-version-gen: Correct comment.
14747         Don't recommend to list .tarball-version in .gitignore.
14748
14749 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
14750
14751         base64: fix off-by-one buffer size bug
14752         Problem and (trivial) fix reported by Gijs van Tulder in
14753         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
14754         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
14755         * tests/test-base64.c (main): Catch the bug.
14756
14757 2011-08-10  Eric Blake  <eblake@redhat.com>
14758
14759         closein: correct comments
14760         * lib/closein.c (close_stdin): Improve comments.
14761
14762 2011-08-09  Bruno Haible  <bruno@clisp.org>
14763
14764         More tests for 'fseeko'.
14765         * tests/test-fseeko3.c: New file, from Eric Blake.
14766         * tests/test-fseeko3.sh: New file.
14767         * modules/fseeko-tests (Files): Add them.
14768         (TESTS): Add test-fseeko3.sh.
14769         (check_PROGRAMS): Add test-fseeko3.
14770
14771 2011-08-09  Eric Blake  <eblake@redhat.com>
14772
14773         fseeko: remove unneeded hack
14774         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
14775
14776         fseeko: fix bug on glibc
14777         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
14778         Reported by John W. Eaton.
14779
14780 2011-08-08  Bruno Haible  <bruno@clisp.org>
14781
14782         unictype/base: Fix interoperability with preinstalled libunistring.
14783         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
14784         Reported by Simon Josefsson.
14785
14786 2011-08-08  Bruno Haible  <bruno@clisp.org>
14787
14788         iswblank: Detect declaration correctly.
14789         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
14790         AC_CHECK_DECLS invocation.
14791
14792 2011-08-08  Bruno Haible  <bruno@clisp.org>
14793
14794         tcgetsid: Detect declaration correctly.
14795         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
14796         AC_CHECK_DECLS invocation.
14797         Reported by Simon Josefsson.
14798
14799 2011-08-08  Eric Blake  <eblake@redhat.com>
14800
14801         largefile: fix typo that regressed large file support
14802         * modules/largefile (configure.ac-early): Fix section name.
14803
14804 2011-08-06  Karl Berry  <karl@gnu.org>
14805
14806         * MODULES.html.sh (func_all_files): _Noreturn is no longer
14807         a separate module.
14808
14809 2011-08-05  Simon Josefsson  <simon@josefsson.org>
14810
14811         openat: Fix warnings and commens when building unlinkat.c on Hurd.
14812         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
14813         get prototype for free.
14814
14815 2011-08-04  Bruno Haible  <bruno@clisp.org>
14816
14817         Tests for module 'pathmax'.
14818         * modules/pathmax-tests: New file.
14819         * tests/test-pathmax.c: New file.
14820
14821         canonicalize-lgpl: Support larger filenames on the Hurd.
14822         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
14823         Reported by Paul Eggert.
14824
14825         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
14826         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
14827         * lib/chdir-long.h: Include pathmax.h.
14828         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
14829         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
14830         (PATH_MAX): Remove code that is done by pathmax.h.
14831         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
14832         * lib/tmpfile.c: Add a comment.
14833         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
14834         * modules/chdir-long (Depends-on): Add pathmax.
14835         * modules/getcwd (Depends-on): Add pathmax.
14836         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
14837         is not defined.
14838         * doc/posix-headers/limits.texi: Mention the pathmax module.
14839         * NEWS: Mention the change.
14840
14841 2011-08-02  Bruno Haible  <bruno@clisp.org>
14842
14843         pthread_sigmask: Actually use results of gl_THREADLIB.
14844         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
14845         gl_THREADLIB, not gl_[]THREADLIB.
14846         Reported by Eric Blake.
14847
14848 2011-08-02  Jim Meyering  <meyering@redhat.com>
14849
14850         maint.mk: relax the default _gl_TS_function_match regexp
14851         * top/maint.mk (_gl_TS_function_match): Don't require at least one
14852         space between function name and "(" in an "extern" declaration.
14853         That would fail to match a decl with no space there: extern void foo();
14854
14855 2011-07-31  Iain Nicol  <iain@thenicols.net>
14856
14857         git-version-gen: document that EXTRA_DIST must include .version
14858         * build-aux/git-version-gen: In the how-to-use comment, document
14859         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
14860         will fail when run from an unpacked distribution tarball.
14861
14862 2011-08-01  Bruno Haible  <bruno@clisp.org>
14863
14864         wctype-h: Fix last change.
14865         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
14866         REPLACE_TOWLOWER to 0.
14867         Reported by Sam Steingold <sds@gnu.org>.
14868
14869 2011-07-31  Bruno Haible  <bruno@clisp.org>
14870
14871         frexpl: Update autoconf test.
14872         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
14873         according to changes of 2011-06-20.
14874
14875 2011-07-31  Bruno Haible  <bruno@clisp.org>
14876
14877         sys_utsname: Add support for Minix.
14878         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
14879         <sys/utsname.h>.
14880         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
14881         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
14882
14883 2011-07-31  Bruno Haible  <bruno@clisp.org>
14884
14885         strings: Add support for Minix.
14886         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
14887         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
14888         * doc/posix-headers/strings.texi: Document the Minix problem.
14889
14890 2011-07-31  Bruno Haible  <bruno@clisp.org>
14891
14892         wctype-h: Add support for Minix.
14893         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
14894         REPLACE_TOWLOWER.
14895         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
14896         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
14897         REPLACE_ISWCNTRL.
14898
14899 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
14900
14901         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
14902         This is a performance improvement for 64-bit hosts: it causes the
14903         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
14904
14905 2011-07-31  Bruno Haible  <bruno@clisp.org>
14906
14907         stdioext: Add support for Minix.
14908         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
14909         * lib/fpurge.c (fpurge): Likewise.
14910         * lib/freadahead.c (freadahead): Likewise.
14911         * lib/freadable.c (freadable): Likewise.
14912         * lib/freading.c (freading): Likewise.
14913         * lib/freadptr.c (freadptr): Likewise.
14914         * lib/freadseek.c (freadptrinc): Likewise.
14915         * lib/fseeko.c (rpl_fseeko): Likewise.
14916         * lib/fseterr.c (fseterr): Likewise.
14917         * lib/fwritable.c (fwritable): Likewise.
14918         * lib/fwriting.c (fwriting): Likewise.
14919         * lib/fflush.c (clear_ungetc_buffer): Update comment.
14920         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
14921
14922 2011-07-31  Bruno Haible  <bruno@clisp.org>
14923
14924         errno: Port to Minix.
14925         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
14926         ECONNABORTED are defined.
14927         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
14928         GNULIB_defined_ECONNABORTED): New macros.
14929         * lib/strerror-override.h (strerror_override): Test also
14930         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
14931         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
14932         ECONNABORTED.
14933         * doc/posix-headers/errno.texi: Mention the Minix problem.
14934
14935 2011-07-31  Bruno Haible  <bruno@clisp.org>
14936
14937         Work around declaration collisions on Minix.
14938         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
14939         defined, set REPLACE_MBSINIT.
14940         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
14941         defined, set REPLACE_MBRTOWC.
14942         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
14943         set REPLACE_MBRLEN.
14944         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
14945         defined, set REPLACE_MBSRTOWCS.
14946         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
14947         defined, set REPLACE_WCRTOMB.
14948         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
14949         defined, set REPLACE_WCSRTOMBS.
14950
14951 2011-07-31  Bruno Haible  <bruno@clisp.org>
14952
14953         Add support for Minix with ACK compiler.
14954         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
14955         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
14956         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
14957
14958 2011-07-31  Bruno Haible  <bruno@clisp.org>
14959
14960         Documentation about Minix.
14961         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
14962         * doc/glibc-headers/*.texi: Likewise.
14963         * doc/posix-functions/*.texi: Likewise.
14964         * doc/glibc-functions/*.texi: Likewise.
14965
14966 2011-07-31  Bruno Haible  <bruno@clisp.org>
14967
14968         snippet/warn-on-use: Fix indentation.
14969         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
14970
14971 2011-07-25  Jim Meyering  <meyering@redhat.com>
14972
14973         tests: test-update-copyright.sh: remove unnecessary "rm" commands
14974         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
14975         commands.
14976
14977 2011-07-27  Jim Meyering  <meyering@redhat.com>
14978
14979         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
14980         * top/maint.mk (gl_extract_significant_defines_): Now that
14981         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
14982         gnulib/lib/signal.in.h, and now that we recommend to
14983         define-if-undefined those two symbols in application code,
14984         we must filter them out of the "significant" list.
14985         This avoids a "make syntax-check" failure in coreutils.
14986
14987 2011-07-26  Eric Blake  <eblake@redhat.com>
14988
14989         warnings: add comments about previous patch
14990         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
14991         * m4/include_next.m4: Likewise.
14992         * m4/warn-on-use.m4: Likewise.
14993         * m4/warnings.m4: Likewise, and simplify use.
14994         Suggested by Stefano Lattarini.
14995
14996         include-next, warnings: support older autoconf
14997         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
14998         AS_VAR_PUSHDEF in a way that works with older autoconf.
14999         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
15000         Reported by Daniel P. Berrange.
15001
15002 2011-07-25  Bruno Haible  <bruno@clisp.org>
15003
15004         fseek, ftell: Fix doc.
15005         * doc/posix-functions/fseek.texi: Reword statement about
15006         AC_SYS_LARGEFILE.
15007         * doc/posix-functions/ftell.texi: Likewise.
15008
15009 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15010             Bruno Haible  <bruno@clisp.org>
15011
15012         Add dependencies to the 'largefile' module.
15013         * modules/fopen (Depends-on): Add 'largefile'.
15014         * modules/freopen (Depends-on): Likewise.
15015         * modules/fseeko (Depends-on): Likewise.
15016         * modules/ftello (Depends-on): Likewise.
15017         * modules/glob (Depends-on): Likewise.
15018         * modules/lseek (Depends-on): Likewise.
15019         * modules/lstat (Depends-on): Likewise.
15020         * modules/mkostemp (Depends-on): Likewise.
15021         * modules/mkostemps (Depends-on): Likewise.
15022         * modules/mkstemp (Depends-on): Likewise.
15023         * modules/mkstemps (Depends-on): Likewise.
15024         * modules/open (Depends-on): Likewise.
15025         * modules/openat (Depends-on): Likewise.
15026         * modules/pread (Depends-on): Likewise.
15027         * modules/pwrite (Depends-on): Likewise.
15028         * modules/scandir (Depends-on): Likewise.
15029         * modules/stat (Depends-on): Likewise.
15030         * modules/tmpfile (Depends-on): Likewise.
15031         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
15032         since the containing module now depends on the largefile module.
15033         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
15034         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
15035         off_t is fixed by gnulib.
15036         * doc/posix-functions/freopen.texi: Likewise.
15037         * doc/posix-functions/fseeko.texi: Likewise.
15038         * doc/posix-functions/fstatat.texi: Likewise.
15039         * doc/posix-functions/ftello.texi: Likewise.
15040         * doc/posix-functions/glob.texi: Likewise.
15041         * doc/posix-functions/lseek.texi: Likewise.
15042         * doc/posix-functions/lstat.texi: Likewise.
15043         * doc/posix-functions/mkstemp.texi: Likewise.
15044         * doc/posix-functions/open.texi: Likewise.
15045         * doc/posix-functions/openat.texi: Likewise.
15046         * doc/posix-functions/pread.texi: Likewise.
15047         * doc/posix-functions/pwrite.texi: Likewise.
15048         * doc/posix-functions/scandir.texi: Likewise.
15049         * doc/posix-functions/stat.texi: Likewise.
15050         * doc/posix-functions/tmpfile.texi: Likewise.
15051         * doc/glibc-functions/mkostemp.texi: Likewise.
15052         * doc/glibc-functions/mkostemps.texi: Likewise.
15053         * doc/glibc-functions/mkstemps.texi: Likewise.
15054
15055 2011-07-25  Bruno Haible  <bruno@clisp.org>
15056
15057         fcntl: Move AC_LIBOBJ invocation to module description.
15058         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
15059         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
15060
15061         fcntl: Remove call-in from fchdir.m4.
15062         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
15063         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
15064
15065         dup3: Remove potential call-in from fchdir.m4.
15066         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
15067         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
15068
15069         dup2: Move AC_LIBOBJ invocation to module description.
15070         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
15071         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
15072         Don't invoke AC_LIBOBJ.
15073         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
15074
15075         dup2: Remove call-in from fchdir.m4.
15076         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
15077         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
15078
15079         fclose: Move AC_LIBOBJ invocation to module description.
15080         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
15081         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
15082         to 1.
15083         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
15084
15085         fclose: Remove call-in from close.m4.
15086         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
15087         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
15088
15089         close: Move AC_LIBOBJ invocation to module description.
15090         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
15091         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
15092         1.
15093         * modules/close (configure.ac): Invoke AC_LIBOBJ.
15094
15095         close: Remove call-in from fchdir.m4.
15096         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
15097         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
15098
15099         open: Move AC_LIBOBJ invocation to module description.
15100         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
15101         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
15102         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
15103
15104         open: Remove call-in from fchdir.m4.
15105         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
15106         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
15107
15108         fchdir: Start to remove gl_REPLACE_* idiom.
15109         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
15110         (gl_FUNC_FCHDIR): Invoke it.
15111
15112 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15113
15114         * lib/ftell.c (ftell): Comment out cast.
15115
15116         close: use gl_REPLACE_FCLOSE only if defined
15117         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
15118         is defined.  The close module doesn't depend on the fclose module
15119         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
15120         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
15121         I reproduced the problem with "./gnulib-tool --test close sys_socket".
15122
15123 2011-07-24  Jim Meyering  <meyering@redhat.com>
15124
15125         test-select.h: avoid warning when using gcc's -Wmissing-declarations
15126         * tests/test-select.h (test_function): Declare as "static".
15127
15128 2011-07-24  Bruno Haible  <bruno@clisp.org>
15129
15130         doc: Mention the effects of AC_SYS_LARGEFILE.
15131         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
15132         on this function.
15133         * doc/posix-functions/aio_error.texi: Likewise.
15134         * doc/posix-functions/aio_fsync.texi: Likewise.
15135         * doc/posix-functions/aio_read.texi: Likewise.
15136         * doc/posix-functions/aio_return.texi: Likewise.
15137         * doc/posix-functions/aio_suspend.texi: Likewise.
15138         * doc/posix-functions/aio_write.texi: Likewise.
15139         * doc/posix-functions/fgetpos.texi: Likewise.
15140         * doc/posix-functions/fopen.texi: Likewise.
15141         * doc/posix-functions/freopen.texi: Likewise.
15142         * doc/posix-functions/fsetpos.texi: Likewise.
15143         * doc/posix-functions/fstatvfs.texi: Likewise.
15144         * doc/posix-functions/ftruncate.texi: Likewise.
15145         * doc/posix-functions/ftw.texi: Likewise.
15146         * doc/posix-functions/getrlimit.texi: Likewise.
15147         * doc/posix-functions/glob.texi: Likewise.
15148         * doc/posix-functions/lio_listio.texi: Likewise.
15149         * doc/posix-functions/lockf.texi: Likewise.
15150         * doc/posix-functions/mkstemp.texi: Likewise.
15151         * doc/posix-functions/mmap.texi: Likewise.
15152         * doc/posix-functions/nftw.texi: Likewise.
15153         * doc/posix-functions/openat.texi: Likewise.
15154         * doc/posix-functions/opendir.texi: Likewise.
15155         * doc/posix-functions/posix_fadvise.texi: Likewise.
15156         * doc/posix-functions/posix_fallocate.texi: Likewise.
15157         * doc/posix-functions/pread.texi: Likewise.
15158         * doc/posix-functions/pwrite.texi: Likewise.
15159         * doc/posix-functions/readdir.texi: Likewise.
15160         * doc/posix-functions/readdir_r.texi: Likewise.
15161         * doc/posix-functions/rewinddir.texi: Likewise.
15162         * doc/posix-functions/scandir.texi: Likewise.
15163         * doc/posix-functions/seekdir.texi: Likewise.
15164         * doc/posix-functions/setrlimit.texi: Likewise.
15165         * doc/posix-functions/statvfs.texi: Likewise.
15166         * doc/posix-functions/telldir.texi: Likewise.
15167         * doc/posix-functions/tmpfile.texi: Likewise.
15168         * doc/posix-functions/truncate.texi: Likewise.
15169         * doc/glibc-functions/fallocate.texi: Likewise.
15170         * doc/glibc-functions/fstatfs.texi: Likewise.
15171         * doc/glibc-functions/fts_children.texi: Likewise.
15172         * doc/glibc-functions/fts_read.texi: Likewise.
15173         * doc/glibc-functions/getdirentries.texi: Likewise.
15174         * doc/glibc-functions/mkostemp.texi: Likewise.
15175         * doc/glibc-functions/mkostemps.texi: Likewise.
15176         * doc/glibc-functions/mkstemps.texi: Likewise.
15177         * doc/glibc-functions/preadv.texi: Likewise.
15178         * doc/glibc-functions/pwritev.texi: Likewise.
15179         * doc/glibc-functions/sendfile.texi: Likewise.
15180         * doc/glibc-functions/statfs.texi: Likewise.
15181
15182 2011-07-24  Bruno Haible  <bruno@clisp.org>
15183
15184         doc: Fix typo.
15185         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
15186
15187 2011-07-24  Bruno Haible  <bruno@clisp.org>
15188
15189         doc: Mention fsusage.
15190         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
15191
15192 2011-07-24  Bruno Haible  <bruno@clisp.org>
15193
15194         doc: Mention new glibc headers and functions.
15195         * doc/glibc-headers/gshadow.texi: New file.
15196         * doc/glibc-functions/endsgent.texi: New file.
15197         * doc/glibc-functions/fgetsgent.texi: New file.
15198         * doc/glibc-functions/fgetsgent_r.texi: New file.
15199         * doc/glibc-functions/getsgent.texi: New file.
15200         * doc/glibc-functions/getsgent_r.texi: New file.
15201         * doc/glibc-functions/getsgnam.texi: New file.
15202         * doc/glibc-functions/getsgnam_r.texi: New file.
15203         * doc/glibc-functions/putsgent.texi: New file.
15204         * doc/glibc-functions/setsgent.texi: New file.
15205         * doc/glibc-functions/sgetsgent.texi: New file.
15206         * doc/glibc-functions/sgetsgent_r.texi: New file.
15207         * doc/glibc-functions/malloc_info.texi: New file.
15208         * doc/glibc-functions/preadv.texi: New file.
15209         * doc/glibc-functions/pwritev.texi: New file.
15210         * doc/glibc-functions/register_printf_modifier.texi: New file.
15211         * doc/glibc-functions/register_printf_specifier.texi: New file.
15212         * doc/glibc-functions/register_printf_type.texi: New file.
15213         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
15214         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
15215         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
15216         * doc/glibc-functions/pthread_getname_np.texi: New file.
15217         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
15218         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
15219         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
15220         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
15221         * doc/glibc-functions/pthread_setname_np.texi: New file.
15222         * doc/glibc-functions/pthread_sigqueue.texi: New file.
15223         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
15224         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
15225         * doc/glibc-functions/qsort_r.texi: New file.
15226         * doc/glibc-functions/quick_exit.texi: New file.
15227         * doc/glibc-functions/syncfs.texi: New file.
15228         * doc/gnulib.texi: Include them.
15229         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
15230         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
15231         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
15232         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
15233         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
15234         * doc/glibc-functions/execvpe.texi: Likewise.
15235
15236 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15237
15238         ftell: don't include <unistd.h>
15239         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
15240         guaranteed to define off_t, and the ftell module depends on the
15241         stdio module.
15242
15243         ftell: do not assume wraparound signed arithmetic
15244         * lib/ftell.c: Include <limits.h>.
15245         (ftell): Don't assume wraparound signed arithmetic.
15246
15247 2011-07-24  Bruno Haible  <bruno@clisp.org>
15248
15249         close: No longer depend on module 'fclose'.
15250         * modules/close (Depends-on): Remove fclose.
15251         * NEWS: Mention the change.
15252         Suggested by Sam Steingold <sds@gnu.org>.
15253
15254 2011-07-24  Bruno Haible  <bruno@clisp.org>
15255
15256         fsusage: Enable large volume support on AIX >= 5.2.
15257         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
15258         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
15259         instead of STAT_STATVFS.
15260         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
15261
15262         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
15263         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
15264         f_blocks field only on MacOS X.
15265
15266         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
15267         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
15268         * modules/fsusage (Depends-on): Add largefile.
15269
15270 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15271
15272         * README: Modernize discussion of signed integers.
15273         Assuming overflow wraparound is no longer safe.
15274         Mention ones' complement and signed magnitude.
15275
15276 2011-07-22  Bruno Haible  <bruno@clisp.org>
15277
15278         select tests, pselect tests: Refactor.
15279         * tests/test-select.h: New file, extracted from tests/test-select.c.
15280         (select_fn): New type.
15281         (test, do_select, do_select_nowait, do_select_wait, test_tty,
15282         test_connect_first, test_accept_first, test_pair, test_socket_pair,
15283         test_pipe): Add my_select argument.
15284         (test_function): Renamed from main. Add my_select argument.
15285         * tests/test-select.c: Move most code to tests/test-select.h. Include
15286         test-select.h.
15287         * modules/select-tests (Files): Add tests/test-select.h.
15288         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
15289         (my_select, main): New functions.
15290         * modules/pselect-tests (Files): Add tests/test-select.h,
15291         tests/macros.h, tests/signature.h.
15292         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
15293         (configure.ac): Check for <sys/wait.h>.
15294
15295 2011-07-22  Bruno Haible  <bruno@clisp.org>
15296
15297         sys_select tests: Check the signature of FD_*.
15298         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
15299         signature tests from here...
15300         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
15301         here.
15302         * modules/sys_select-tests (Files): Add tests/signature.h.
15303
15304 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
15305
15306         largefile: new module, replacing large-inode
15307         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
15308         * MODULES.html.sh: Add largefile, remove large-inode.
15309         * modules/largefile, m4/largefile.m4: New files.
15310         * modules/large-inode, m4/large-inode.m4: Remove.
15311
15312         fsusage: port to MacOS X 10.7 with 4 TiB file systems
15313         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
15314         implementations that use only 32 bits to count blocks.
15315         On typical hosts with 1024-byte blocks, this fails with file
15316         systems as small as 4 TiB.  Problem reported by Herb Wartens
15317         <http://debbugs.gnu.org/9140> and this should also fix a similar
15318         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
15319
15320         large-inode: New module
15321         * MODULES.html.sh: Add it.
15322         * modules/large-inode, m4/large-inode.m4: New files.
15323
15324         extensions: Enable extensions on MacOS X 10.5 and later.
15325         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
15326
15327 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
15328
15329         file-has-acl: use acl_extended_file_nofollow if available
15330         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
15331         (acl_extended_file): New macro.
15332         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
15333         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
15334
15335 2011-07-21  Bruno Haible  <bruno@clisp.org>
15336
15337         Declare system functions in a way that works with C++.
15338         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
15339         declare fdopendir as extern "C".
15340         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
15341         declare frexpl as extern "C".
15342         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
15343         declare gai_strerror as extern "C".
15344         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
15345         programs, declare gai_strerror as extern "C".
15346         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
15347         declare getlogin_r as extern "C".
15348         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
15349         as extern "C".
15350         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
15351         declare ldexpl as extern "C".
15352         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
15353         as extern "C".
15354         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
15355         program, declare getmntinfo as extern "C".
15356         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
15357         stpncpy as extern "C".
15358         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
15359         program, declare __xpg_strerror_r as extern "C".
15360         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
15361         strndup as extern "C".
15362         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
15363         declare memset and bzero as extern "C".
15364         Reported by Sam Steingold <sds@gnu.org>.
15365
15366 2011-07-12  Jim Meyering  <meyering@redhat.com>
15367
15368         maint.mk: prohibit inclusion of "verify.h" without use
15369         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
15370
15371 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15372
15373         timer-time: A new module to check for timer_settime()
15374         * m4/timer_time.m4: Check for the posix function.
15375         * modules/timer-time: Add the new module.
15376         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
15377         Mention it.
15378
15379 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
15380             Bruno Haible  <bruno@clisp.org>
15381
15382         pthread_sigmask: assume POSIX threads if --avoid=threadlib
15383         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
15384         not defined, assume POSIX threads and look for pthread_sigmask in
15385         $LIBS, without changing $CPPFLAGS.
15386
15387 2011-07-19  Bruno Haible  <bruno@clisp.org>
15388
15389         strstr: Update cross-compilation guess.
15390         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
15391         CPUs, guess no, in view of glibc
15392         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
15393         Suggested by Eric Blake. Reported by Reuben Thomas.
15394
15395 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15396
15397         getopt-gnu: suppress core dumps from detection code
15398         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
15399         to suppress core dumps that may well occur on glibc systems.
15400         * modules/getopt-gnu: Depend on nocrash.
15401
15402 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
15403
15404         pthread_sigmask: ensure usleep is declared
15405         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
15406         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
15407
15408 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
15409
15410         doc: Document NonStop portability issues.
15411         * doc/posix-functions/sigaction.texi (sigaction):
15412         * doc/posix-headers/signal.texi (signal.h):
15413         Document NonStop.  See Joachim Schmitz in
15414         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
15415
15416 2011-07-15  Bruno Haible  <bruno@clisp.org>
15417
15418         ffsl, ffsll: Avoid unportable behaviour.
15419         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
15420
15421 2011-07-15  Bruno Haible  <bruno@clisp.org>
15422
15423         ffs: More tests.
15424         * tests/test-ffs.c (NBITS): New macro.
15425         (main): Add more tests.
15426         * tests/test-ffsl.c (NBITS): New macro.
15427         (main): Add more tests.
15428         * tests/test-ffsll.c (NBITS): New macro.
15429         (main): Add more tests.
15430
15431 2011-07-15  Eric Blake  <eblake@redhat.com>
15432
15433         ffsl, ffsll: new modules
15434         * modules/ffsl: New file.
15435         * modules/ffsll: Likewise.
15436         * m4/ffsl.m4: Likewise.
15437         * m4/ffsll.m4: Likewise.
15438         * lib/ffsl.c: Likewise.
15439         * lib/ffsl.h: Likewise.
15440         * lib/ffsll.c: Likewise.
15441         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
15442         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
15443         * modules/string (Makefile.am): Substitute witnesses.
15444         * lib/strings.in.h (ffsl, ffsll): Declare.
15445         * modules/ffsl-tests: New test file.
15446         * modules/ffsll-tests: Likewise.
15447         * tests/test-ffsl.c: Likewise.
15448         * tests/test-ffsll.c: Likewise.
15449         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15450         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
15451         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
15452
15453         ffs: fix m4 prerequisite
15454         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
15455
15456         ffs: avoid undefined behavior
15457         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
15458         * tests/test-ffs.c (naive, main): Avoid signed shifts.
15459         Reported by Bruno Haible.
15460
15461 2011-07-12  Bruno Haible  <bruno@clisp.org>
15462
15463         pthread_sigmask: Rely on module 'threadlib'.
15464         * modules/pthread_sigmask (Depends-on): Add threadlib.
15465         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
15466         is defined.
15467
15468 2011-07-12  Bruno Haible  <bruno@clisp.org>
15469
15470         regex: Depend on module 'strcase'.
15471         * modules/regex (Depends-on): Add strcase, for strcasecmp().
15472
15473 2011-07-12  Jim Meyering  <meyering@redhat.com>
15474
15475         warn-on-use: fix typo in file name
15476         * modules/snippet/warn-on-use (Files): Correct file name:
15477         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
15478
15479 2011-07-12  Bruno Haible  <bruno@clisp.org>
15480
15481         strings: Document module.
15482         * doc/posix-headers/strings.texi: Mention module 'strings'.
15483
15484 2011-07-12  Bruno Haible  <bruno@clisp.org>
15485
15486         Rename module '_Noreturn' to 'snippet/_Noreturn'.
15487         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
15488         (Files, Makefile.am): Update.
15489         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
15490         * modules/stdlib (Depends-on): Update.
15491
15492 2011-07-12  Bruno Haible  <bruno@clisp.org>
15493
15494         * NEWS: Mention the changes.
15495
15496         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
15497         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
15498         (Files, Makefile.am): Update.
15499         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
15500         * modules/arpa_inet (Depends-on): Update.
15501         * modules/ctype (Depends-on): Update.
15502         * modules/dirent (Depends-on): Update.
15503         * modules/fcntl-h (Depends-on): Update.
15504         * modules/glob (Depends-on): Update.
15505         * modules/iconv-h (Depends-on): Update.
15506         * modules/inttypes-incomplete (Depends-on): Update.
15507         * modules/langinfo (Depends-on): Update.
15508         * modules/locale (Depends-on): Update.
15509         * modules/math (Depends-on): Update.
15510         * modules/netdb (Depends-on): Update.
15511         * modules/poll-h (Depends-on): Update.
15512         * modules/pty (Depends-on): Update.
15513         * modules/search (Depends-on): Update.
15514         * modules/signal (Depends-on): Update.
15515         * modules/spawn (Depends-on): Update.
15516         * modules/stdio (Depends-on): Update.
15517         * modules/stdlib (Depends-on): Update.
15518         * modules/string (Depends-on): Update.
15519         * modules/strings (Depends-on): Update.
15520         * modules/sys_file (Depends-on): Update.
15521         * modules/sys_ioctl (Depends-on): Update.
15522         * modules/sys_select (Depends-on): Update.
15523         * modules/sys_socket (Depends-on): Update.
15524         * modules/sys_stat (Depends-on): Update.
15525         * modules/sys_time (Depends-on): Update.
15526         * modules/sys_times (Depends-on): Update.
15527         * modules/sys_utsname (Depends-on): Update.
15528         * modules/sys_wait (Depends-on): Update.
15529         * modules/termios (Depends-on): Update.
15530         * modules/time (Depends-on): Update.
15531         * modules/unistd (Depends-on): Update.
15532         * modules/wchar (Depends-on): Update.
15533         * modules/wctype-h (Depends-on): Update.
15534         * MODULES.html.sh (Support for building libraries and executables):
15535         Update.
15536
15537         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
15538         * modules/snippet/unused-parameter: Renamed from
15539         modules/unused-parameter.
15540         (Files, Makefile.am): Update.
15541         * build-aux/snippet/unused-parameter.h: Renamed from
15542         build-aux/unused-parameter.h.
15543         * modules/selinux-h (Depends-on): Update.
15544         * modules/unistr/base (Depends-on): Update.
15545         * MODULES.html.sh (Core language properties): Update.
15546
15547         Rename module 'link-warning' to 'snippet/link-warning'.
15548         * modules/snippet/link-warning: Renamed from modules/link-warning.
15549         (Files, Makefile.am): Update.
15550         * build-aux/snippet/link-warning.h: Renamed from
15551         build-aux/link-warning.h.
15552         * MODULES.html.sh (Support for building libraries and executables):
15553         Update.
15554
15555         Rename module 'c++defs' to 'snippet/c++defs'.
15556         * modules/snippet/c++defs: Renamed from modules/c++defs.
15557         (Files, Makefile.am): Update.
15558         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
15559         * modules/arpa_inet (Depends-on): Update.
15560         * modules/ctype (Depends-on): Update.
15561         * modules/dirent (Depends-on): Update.
15562         * modules/fcntl-h (Depends-on): Update.
15563         * modules/glob (Depends-on): Update.
15564         * modules/iconv-h (Depends-on): Update.
15565         * modules/langinfo (Depends-on): Update.
15566         * modules/locale (Depends-on): Update.
15567         * modules/math (Depends-on): Update.
15568         * modules/netdb (Depends-on): Update.
15569         * modules/poll-h (Depends-on): Update.
15570         * modules/pty (Depends-on): Update.
15571         * modules/search (Depends-on): Update.
15572         * modules/signal (Depends-on): Update.
15573         * modules/spawn (Depends-on): Update.
15574         * modules/stdio (Depends-on): Update.
15575         * modules/stdlib (Depends-on): Update.
15576         * modules/string (Depends-on): Update.
15577         * modules/strings (Depends-on): Update.
15578         * modules/sys_ioctl (Depends-on): Update.
15579         * modules/sys_select (Depends-on): Update.
15580         * modules/sys_socket (Depends-on): Update.
15581         * modules/sys_stat (Depends-on): Update.
15582         * modules/sys_time (Depends-on): Update.
15583         * modules/sys_wait (Depends-on): Update.
15584         * modules/termios (Depends-on): Update.
15585         * modules/time (Depends-on): Update.
15586         * modules/unistd (Depends-on): Update.
15587         * modules/wchar (Depends-on): Update.
15588         * modules/wctype-h (Depends-on): Update.
15589
15590         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
15591         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
15592         (Files, Makefile.am): Update.
15593         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
15594         * modules/argv-iter (Depends-on): Update.
15595         * modules/arpa_inet (Depends-on): Update.
15596         * modules/dirent (Depends-on): Update.
15597         * modules/fcntl-h (Depends-on): Update.
15598         * modules/fnmatch (Depends-on): Update.
15599         * modules/getopt-posix (Depends-on): Update.
15600         * modules/glob (Depends-on): Update.
15601         * modules/iconv-h (Depends-on): Update.
15602         * modules/inttypes-incomplete (Depends-on): Update.
15603         * modules/locale (Depends-on): Update.
15604         * modules/math (Depends-on): Update.
15605         * modules/netdb (Depends-on): Update.
15606         * modules/search (Depends-on): Update.
15607         * modules/signal (Depends-on): Update.
15608         * modules/spawn (Depends-on): Update.
15609         * modules/stdio (Depends-on): Update.
15610         * modules/stdlib (Depends-on): Update.
15611         * modules/string (Depends-on): Update.
15612         * modules/strings (Depends-on): Update.
15613         * modules/sys_socket (Depends-on): Update.
15614         * modules/sys_stat (Depends-on): Update.
15615         * modules/sys_time (Depends-on): Update.
15616         * modules/sys_times (Depends-on): Update.
15617         * modules/sys_utsname (Depends-on): Update.
15618         * modules/time (Depends-on): Update.
15619         * modules/unistd (Depends-on): Update.
15620         * modules/wchar (Depends-on): Update.
15621         * MODULES.html.sh (Support for building libraries and executables):
15622         Update.
15623
15624 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15625
15626         Improvements on _Noreturn and related modules.
15627
15628         modules/_Exit-tests: test _Noreturn too
15629         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
15630         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
15631         (main): Use them.
15632
15633         stdnoreturn, stdnoreturn-tests: remove modules
15634         They're not needed here and a bit premature for use elsewhere.  See
15635         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
15636         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
15637         * tests/test-stdnoreturn.c: Remove files.
15638         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
15639         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
15640         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
15641         and using noreturn.
15642         * modules/openat, modules/sigpipe-die, modules/xalloc:
15643         * modules/xmemdup0, modules/xstrtol:
15644         Remove dependency on stdnoreturn.
15645
15646         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
15647         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
15648         Reparenthesize to avoid GCC warning.
15649         Support Microsoft's syntax.
15650         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
15651
15652         _Noreturn-tests: remove module
15653         * modules/_Noreturn-tests: Remove.
15654         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
15655         * tests/test-_Noreturn.c: Remove.
15656         * tests/test-stdnoreturn.c: Merge from the old
15657         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
15658
15659 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15660
15661         _Noreturn, stdnoreturn, and related modules.
15662
15663         * top/maint.mk: Adjust to new noreturn support.
15664         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
15665         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
15666
15667         xalloc: use stdnoreturn.h
15668         * lib/xalloc.h: Include <stdnoreturn.h>.
15669         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15670         * modules/xalloc (Depends-on): Add stdnoreturn.
15671
15672         xstrtol: use stdnoreturn.h
15673         * lib/xstrtol.h: Include <stdnoreturn.h>.
15674         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15675         * modules/xstrtol (Depends-on): Add stdnoreturn.
15676
15677         xmemdup0: use stdnoreturn.h
15678         * lib/xmemdup0.h: Include <stdnoreturn.h>.
15679         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15680         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
15681
15682         sigpipe-die: use stdnoreturn.h
15683         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
15684         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15685         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
15686
15687         openat: use stdnoreturn.h
15688         * lib/openat.h: Include <stdnoreturn.h>.
15689         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15690         * modules/openat (Depends-on): Add stdnoreturn.
15691
15692         * lib/openat-die.c (openat_save_fail): Modernize comment.
15693
15694         * lib/xalloc-die.c (xalloc_die): Modernize comment.
15695
15696         * lib/glthread/thread.h: Modernize comment.
15697
15698         obstack: use _Noreturn
15699         * lib/obstack.c (__attribute__): Remove macro.
15700         (print_and_abort): Use _Noreturn.
15701
15702         c-stack: use _Noreturn
15703         * lib/c-stack.c (die, overflow_handler, segv_handler):
15704         Use _Noreturn rather than __attribute__((noreturn)).
15705
15706         argmatch-tests, exclude_tests: use _Noreturn
15707         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
15708         Remove.
15709         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
15710
15711         stdlib: use _Noreturn
15712         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
15713         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
15714         * modules/stdlib (Depends-on): Add _Noreturn.
15715         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
15716
15717         stdnoreturn-tests: new module
15718         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
15719
15720         stdnoreturn: new module
15721         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
15722         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
15723
15724         _Noreturn-tests: new module
15725         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
15726
15727         _Noreturn: new module
15728         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
15729         New section, mentioning it.
15730         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
15731
15732         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
15733
15734 2011-07-11  Eric Blake  <eblake@redhat.com>
15735
15736         ffs: new module
15737         * modules/ffs: New file.
15738         * m4/ffs.m4: Likewise.
15739         * lib/ffs.c: Likewise.
15740         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
15741         * modules/strings (Makefile.am): Substitute witness.
15742         (Depends-on): Add c++defs.
15743         * lib/strings.in.h (ffs): Declare.
15744         * modules/ffs-tests: New test file.
15745         * tests/test-ffs.c: Test new module.
15746         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15747         * doc/posix-functions/ffs.texi (ffs): Likewise.
15748
15749         regex: avoid compiler warning
15750         * lib/regex.c (includes): Include <strings.h>, for use of
15751         strcasecmp in regcomp.c.
15752         Reported by Joachim Schmitz.
15753
15754 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
15755
15756         stdint: respect system's intmax_t if INTMAX_MAX
15757         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
15758         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
15759         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
15760         long but int64_t is long long, and where we will clash with the
15761         system intmax_t if we override it.  See
15762         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
15763         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
15764         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
15765         similarly for UINTMAX_C.
15766
15767 2011-07-08  Bruno Haible  <bruno@clisp.org>
15768
15769         pthread_sigmask tests: Avoid a compiler warning.
15770         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
15771         non-zero.
15772
15773         sigprocmask tests: A better way to avoid a compiler warning.
15774         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
15775         (main): Complain if system() returns non-zero.
15776         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
15777
15778 2011-07-08  Bruno Haible  <bruno@clisp.org>
15779
15780         pthread_sigmask: Work around IRIX bug.
15781         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
15782         bug.
15783         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
15784         there may be unblocked pending signals.
15785         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
15786
15787 2011-07-08  Bruno Haible  <bruno@clisp.org>
15788
15789         pthread_sigmask: Work around Cygwin bug.
15790         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
15791         bug.
15792         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
15793         the system's pthread_sigmask function.
15794         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
15795
15796 2011-07-08  Bruno Haible  <bruno@clisp.org>
15797
15798         pthread_sigmask: Work around bug in single-threaded implementation.
15799         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
15800         FreeBSD, HP-UX, Solaris bug.
15801         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
15802         * lib/pthread_sigmask.c: Include <stddef.h>.
15803         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
15804         the system's pthread_sigmask function.
15805         * modules/pthread_sigmask (configure.ac): Invoke
15806         gl_PREREQ_PTHREAD_SIGMASK.
15807         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
15808         HP-UX, Solaris.
15809
15810 2011-07-08  Eric Blake  <eblake@redhat.com>
15811
15812         test-sigprocmask: avoid compiler warning
15813         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
15814         * tests/test-sigprocmask.c (main): Use it to silence warning.
15815         Reported by Jim Meyering.
15816
15817         test-snprintf: avoid compiler warning
15818         * tests/test-snprintf.c (main): Avoid shadowed declaration.
15819         * tests/test-vsnprintf.c (main): Likewise.
15820         Reported by Jim Meyering.
15821
15822 2011-07-08  Bruno Haible  <bruno@clisp.org>
15823
15824         Tests for module 'pthread_sigmask'.
15825         * modules/pthread_sigmask-tests: New file.
15826         * tests/test-pthread_sigmask1.c: New file, based on
15827         tests/test-sigprocmask.c.
15828         * tests/test-pthread_sigmask2.c: New file.
15829
15830 2011-07-08  Jim Meyering  <meyering@redhat.com>
15831
15832         test-getopt.h: avoid warning about an unused variable
15833         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
15834
15835 2011-07-07  Jim Meyering  <meyering@redhat.com>
15836
15837         maint: reduce list of files exempt from sc_prohibit_leading_TABs
15838         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
15839         now that it no longer contains leading TABs.
15840         Remove unused "url=FIXME" statement.
15841
15842 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
15843
15844         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
15845         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15846         When gl_THREADLIB is not in use, assume that the POSIX sematics
15847         are desired.  This is better for Emacs, which uses POSIX semantics
15848         on GNUish and/or POSIXish platforms, and does not use threads at
15849         all otherwise.
15850
15851         pthread_sigmask: fix typo when testing for libraries
15852         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
15853         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
15854
15855 2011-07-08  Eric Blake  <eblake@redhat.com>
15856
15857         fts: introduce FTS_NOATIME
15858         * lib/fts_.h (FTS_NOATIME): New bit flag.
15859         (FTS_OPTIONMASK): Adjust.
15860         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
15861         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
15862
15863 2011-07-08  Bruno Haible  <bruno@clisp.org>
15864
15865         Tests for module 'thread'.
15866         * modules/thread-tests: New file.
15867         * tests/test-thread_self.c: New file.
15868         * tests/test-thread_create.cc: New file.
15869
15870 2011-07-08  Bruno Haible  <bruno@clisp.org>
15871
15872         thread: Avoid gcc warnings when using gl_thread_self().
15873         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
15874         'void *'.
15875         (gl_thread_self_pointer): Update.
15876
15877 2011-07-07  Bruno Haible  <bruno@clisp.org>
15878
15879         signal-c++-tests: Check declaration of pthread_sigmask.
15880         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
15881         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
15882         $(LIB_PTHREAD_SIGMASK).
15883
15884 2011-07-07  Bruno Haible  <bruno@clisp.org>
15885
15886         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
15887         * lib/signal.in.h (pthread_sigmask): Override if
15888         REPLACE_PTHREAD_SIGMASK is 1.
15889         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
15890         REPLACE_PTHREAD_SIGMASK.
15891         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
15892         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
15893         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
15894         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
15895         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
15896
15897 2011-07-07  Bruno Haible  <bruno@clisp.org>
15898
15899         pthread_sigmask: Ensure declaration in <signal.h>.
15900         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
15901         include <pthread.h>.
15902         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
15903         problem.
15904
15905 2011-07-07  Bruno Haible  <bruno@clisp.org>
15906
15907         pthread_sigmask: Document the module.
15908         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
15909
15910 2011-07-07  Bruno Haible  <bruno@clisp.org>
15911
15912         pthread_sigmask: Follow gnulib conventions.
15913         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
15914         gl_PTHREAD_SIGMASK.
15915         * modules/pthread_sigmask (configure.ac): Update.
15916
15917 2011-07-07  Bruno Haible  <bruno@clisp.org>
15918
15919         pthread_sigmask: Make declaration C++ safe.
15920         * lib/signal.in.h: In two special conditions, just do an #include_next.
15921         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
15922         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
15923         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
15924         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
15925         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
15926         not REPLACE_PTHREAD_MASK.
15927         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
15928         not REPLACE_PTHREAD_MASK.
15929         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
15930
15931 2011-07-07  Bruno Haible  <bruno@clisp.org>
15932
15933         pthread_sigmask: Fix return value.
15934         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
15935         * lib/pthread_sigmask.c: New file.
15936         * modules/pthread_sigmask (Files): Add it.
15937         (configure.ac): Invoke AC_LIBOBJ.
15938
15939 2011-07-07  Eric Blake  <eblake@redhat.com>
15940
15941         getopt: more portable argv creation
15942         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
15943         const, use char arrays rather than strings.
15944         Suggested by Paul Eggert.
15945
15946 2011-07-07  Bruno Haible  <bruno@clisp.org>
15947
15948         Tests for module 'sigprocmask'.
15949         * modules/sigprocmask-tests: New file.
15950         * tests/test-sigprocmask.c: New file.
15951
15952 2011-07-07  Bruno Haible  <bruno@clisp.org>
15953
15954         float tests: Tweak.
15955         * tests/test-float.c (main): Tweak skip message.
15956
15957 2011-07-07  Eric Blake  <eblake@redhat.com>
15958
15959         getopt: avoid compiler warning during configure
15960         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
15961         assigning string literals to non-const pointer.
15962
15963         getopt-gnu: avoid crash in glibc getopt
15964         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
15965         * tests/test-getopt.h (test_getopt): Enhance test.
15966         * tests/test-getopt_long.h (test_getopt_long): Likewise.
15967         * doc/posix-functions/getopt.texi (getopt): Document it.
15968         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
15969         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
15970         Likewise.
15971
15972 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
15973
15974         getopt: handle W; without long options in getopt [BZ #12922]
15975         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
15976         but no long options are defined, just return 'W'.
15977
15978 2011-07-07  Bruno Haible  <bruno@clisp.org>
15979
15980         Avoid literal tabs.
15981         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
15982         variable containing a tab instead of a literal tab.
15983         Reported by Jim Meyering.
15984
15985 2011-07-07  Bruno Haible  <bruno@clisp.org>
15986
15987         Comments.
15988         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
15989
15990 2011-07-06  Bruno Haible  <bruno@clisp.org>
15991
15992         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
15993         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
15994         <winsock2.h>.
15995         (rpl_fd_isset, FD_ISSET): New definitions, copied from
15996         lib/sys_socket.in.h.
15997         (close, gethostname): Hide declarations from <winsock2.h>.
15998         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
15999         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
16000         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
16001         (select): Don't override if gnulib's <sys/select.h> was already
16002         included.
16003         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
16004         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
16005         setsockopt, shutdown, select): Tweak indentation.
16006
16007 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16008
16009         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
16010         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
16011         in an application that does not use the sys_select module.
16012
16013 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
16014
16015         poll: do not return 0 on timeout=-1
16016         * lib/poll.c: Loop with yield if no events occurred.
16017
16018 2011-07-06  Eric Blake  <eblake@redhat.com>
16019
16020         pthread_sigmask: always replace when not using pthread
16021         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
16022         replacement when using some threading other than pthread.  Fix
16023         logic bug.
16024
16025 2011-07-06  Bruno Haible  <bruno@clisp.org>
16026
16027         Comments.
16028         * m4/printf.m4: Update comments about mingw.
16029
16030 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16031
16032         sys_select: define sigset_t more portably
16033         * lib/sys_select.in.h: Always include <sys/types.h>, since
16034         we now need sigset_t and mingw defines it there.
16035         Include <signal.h> before split inclusion guard, to avoid
16036         mishaps on Solaris, whose <signal.h> eventually includes us.
16037         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
16038         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
16039         which come from ...
16040         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
16041         gl_CHECK_TYPE_SIGSET_T.
16042         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
16043         does the real work.
16044         * modules/sys_select (Depends-on): Add 'signal'.
16045
16046         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
16047         Suggested by Bruno Haible.
16048
16049         pselect: Use pthread_sigmask, not sigprocmask.
16050         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
16051         multithreaded apps better than sigprocmask does.
16052         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
16053         sigprocmask directly.
16054
16055 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
16056
16057         * lib/pselect.c (pselect): Use plain name, without "rpl_".
16058         Don't #undef,  since we don't need any underlying pselect.
16059         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
16060         (Depends-on): Add select.
16061         (Link): Add $(LIBSOCKET).
16062         These changes suggested by Bruno Haible.
16063
16064         pselect: document better
16065         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16066         * doc/posix-functions/pselect.texi (pselect): Document new module.
16067
16068         pthread_sigmask: new module
16069         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16070         * doc/posix-functions/pthread_sigmask.texi: Document new module.
16071         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
16072         This is done only as a macro; I don't know how well that'll
16073         work for C++.  Move <sys/types.h> include before the include_next,
16074         to avoid mishap on Solaris.
16075         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
16076         * modules/signal (Makefile.am): Substitute the check's results.
16077         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
16078
16079         test-pselect: new module
16080         * modules/pselect-tests, tests/test-pselect.c: New files.
16081         * tests/test-select.c, tests/test-sys_select-c++.cc:
16082         If TEST_PSELECT is defined, test pselect instead of testing select.
16083
16084         * tests/test-sys_select.c (sigset_t): Test for it, too.
16085         Suggested by Bruno Haible.
16086
16087 2011-07-05  Eric Blake  <eblake@redhat.com>
16088
16089         snprintf: guarantee %1$d, for libintl
16090         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
16091         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
16092         * doc/posix-functions/snprintf.texi (snprintf): Update.
16093         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16094         * tests/test-snprintf.c (main): Enhance test.
16095         * tests/test-vsnprintf.c (main): Likewise.
16096
16097 2011-07-05  Jim Meyering  <meyering@redhat.com>
16098
16099         maint: exempt stdio-read.c and stdio-write.c from the cppi check
16100         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
16101         per Bruno's request, to accommodate this idiom (no space after "#")
16102         even when the function is inside an #if block:
16103         char *
16104         gets (char *s)
16105         #undef gets
16106         {
16107           ...
16108         }
16109
16110 2011-07-04  Jim Meyering  <meyering@redhat.com>
16111
16112         maint: indent with spaces, not TABs, and add a rule to check this
16113         * tests/test-userspec.c: Indent with spaces, not TABs.
16114         * tests/test-argp.c: Likewise.
16115         * tests/test-c-stack2.sh: Likewise.
16116         * tests/test-parse-duration.sh: Likewise
16117         * m4/strtod.m4: Likewise.
16118         * m4/alloca.m4: Likewise.
16119         * m4/pselect.m4: Likewise.
16120         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
16121
16122 2011-07-03  Jim Meyering  <meyering@redhat.com>
16123
16124         maint.mk: correct omissions in prohibit_argmatch_without_use check
16125         This rule would mistakenly report that argmatch.h is included without
16126         use even when both the argmatch and invalid_arg macro were used.
16127         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
16128         of argmatch and invalid_arg.
16129
16130 2011-07-03  Bruno Haible  <bruno@clisp.org>
16131
16132         Comments about EINTR.
16133         * lib/safe-read.h: Explain the purpose of this module.
16134         * lib/safe-write.h: Likewise.
16135         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
16136         module.
16137         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
16138         module.
16139         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16140
16141 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
16142
16143         xnanosleep: Rewrite to use new dtotimespec module.
16144         It has the conversion code that used to be in xnanosleep.
16145         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
16146         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
16147         (TIME_T_MAX): Remove.
16148         (xnanosleep): Rewrite in terms of dtotimespec.
16149         * modules/xnanosleep (Depends-on): Add dtotimespec.
16150         Remove intprops, stdbool.
16151
16152         timespec-add, timespec-sub: new modules
16153         * lib/timespec.h (timespec_add, timespec_sub): New decls.
16154         * lib/timespec-add.c, lib/timespec-sub.c:
16155         * modules/timespec-add, modules/timespec-sub: New files.
16156
16157         dtotimespec: new module
16158         * lib/timespec.h (dtotimespec): New decl.
16159         * lib/dtotimespec.c, modules/dtotimespec: New files.
16160
16161         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
16162
16163         pselect: new module
16164         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
16165         (pselect): New decls.
16166         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
16167         since the standard pselect decl uses 'restrict'.
16168         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
16169         HAVE_PSELECT, REPLACE_PSELECT.
16170         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
16171         HAVE_PSELECT, REPLACE_PSELECT.
16172         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
16173
16174         sys_select: don't depend on sys_socket
16175         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
16176         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
16177         This fix works on GNU and GNU-like platforms, but has not been tested
16178         on native Windows.
16179         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
16180         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
16181         gl_HEADER_SYS_SOCKET.
16182         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
16183         gl_PREREQ_SYS_H_WINSOCK2.
16184
16185 2011-06-29  Eric Blake  <eblake@redhat.com>
16186
16187         pipe2: fix C89 compile problem
16188         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
16189         Reported by Bruno Haible.
16190
16191         pipe, pipe2: don't corrupt fd on error
16192         * lib/pipe.c (pipe): Leave fd unchanged on error.
16193         * lib/pipe2.c (pipe2): Likewise.
16194         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
16195         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
16196
16197 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
16198
16199         mmap-anon: do not use regular expressions inadvertently
16200         * m4/mmap-anon.m4: Remove trailing period from strings sought
16201         in the output.
16202
16203 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
16204
16205         nanosleep: fix integer overflow problem
16206         * lib/nanosleep.c (my_usleep): Don't assume signed integer
16207         arithmetic wraps around on overflow.
16208
16209         nanosleep: simplify carrying
16210         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
16211         first call to the underyling nanosleep, not for the last one.
16212         This doesn't fix any bugs, but it simplifies the computation of
16213         the remaining delay.  Found while auditing integer overflow issues.
16214
16215         dup2: remove test for existence of fcntl
16216         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
16217         "#if HAVE_FCNTL", in the configure-time test program.
16218         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
16219         and therefore speeds up "configure" a bit.  Found while
16220         adding the dup2 module to Emacs.
16221
16222 2011-06-24  Eric Blake  <eblake@redhat.com>
16223
16224         maint.mk: enhance useless header checks
16225         * top/maint.mk (_sc_header_without_use): Check both include
16226         styles.
16227         (sc_prohibit_assert_without_use)
16228         (sc_prohibit_close_stream_without_use)
16229         (sc_prohibit_getopt_without_use)
16230         (sc_prohibit_quotearg_without_use)
16231         (sc_prohibit_quote_without_use)
16232         (sc_prohibit_long_options_without_use)
16233         (sc_prohibit_inttostr_without_use)
16234         (sc_prohibit_ignore_value_without_use)
16235         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
16236         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
16237         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
16238         (sc_prohibit_hash_pjw_without_use)
16239         (sc_prohibit_safe_read_without_use)
16240         (sc_prohibit_argmatch_without_use)
16241         (sc_prohibit_canonicalize_without_use)
16242         (sc_prohibit_root_dev_ino_without_use)
16243         (sc_prohibit_openat_without_use)
16244         (sc_prohibit_c_ctype_without_use)
16245         (sc_prohibit_signal_without_use)
16246         (sc_prohibit_stdio--_without_use)
16247         (sc_prohibit_stdio-safer_without_use)
16248         (sc_prohibit_strings_without_use)
16249         (sc_prohibit_intprops_without_use)
16250         (sc_prohibit_stddef_without_use)
16251         (sc_prohibit_xfreopen_without_use): Update clients.
16252
16253 2011-06-24  Jim Meyering  <meyering@redhat.com>
16254
16255         syntax-check: keep one maint.mk rule in sync with its header
16256         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
16257         of the bug Eric has just fixed, with today's commit 25e4c2ec.
16258         I prefer to avoid temporary files here, so use <(...), but that
16259         is not supported by /bin/sh, so...
16260         (SHELL): Define to /bin/bash.
16261
16262 2011-06-24  Eric Blake  <eblake@redhat.com>
16263
16264         maint.mk: update sc_prohibit_intprops_without_use
16265         * top/maint.mk (_intprops_names): Match recent changes.
16266
16267 2011-06-24  Bruno Haible  <bruno@clisp.org>
16268
16269         strerror-override: No-op tweak.
16270         * lib/strerror-override.h (strerror_override): Reorder conditions,
16271         for consistency with lib/strerror-override.c.
16272
16273 2011-06-23  Eric Blake  <eblake@redhat.com>
16274
16275         maint.mk: test further PATH_MAX issues
16276         * top/maint.mk (sc_prohibit_path_max_array): Rename...
16277         (sc_prohibit_path_max_allocation): ...and also test alloca.
16278         Suggested by Jim Meyering.
16279
16280 2011-06-22  Eric Blake  <eblake@redhat.com>
16281
16282         maint.mk: add syntax-check to avoid char[PATH_MAX]
16283         * top/maint.mk (sc_prohibit_path_max_array): New rule.
16284
16285         stat: be robust to PATH_MAX definition
16286         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
16287         * modules/stat (Depends-on): Add verify.
16288
16289         link: work around IRIX bug
16290         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
16291         * lib/link.c (rpl_link): Work around it.
16292         * tests/test-link.h (test_link): Enhance test.
16293         * doc/posix-functions/link.texi (link): Document the bug.
16294
16295         getopt: silence clang warning
16296         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
16297         dereference.
16298         Reported by Gustavo Martin Domato.
16299
16300 2011-06-22  Jim Meyering  <meyering@redhat.com>
16301
16302         bootstrap: do not insert a blank line into each .gitignore file
16303         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
16304
16305 2011-06-21  Eric Blake  <eblake@redhat.com>
16306
16307         perror: test for output mismatch
16308         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
16309         perror on IRIX.
16310
16311         strerror_r: fix OpenBSD behavior on out-of-range
16312         * lib/strerror_r.c (strerror_r): Always use maximal string.
16313         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16314
16315         strerror_r: fix OpenBSD behavior on 0
16316         * lib/strerror-override.c (strerror_override): Also override 0
16317         when needed.
16318         * lib/strerror-override.h (strerror_override): Likewise.
16319         * lib/strerror.c (strerror): Simplify, now that 0 override is done
16320         earlier.
16321         * lib/strerror_r.c (strerror_r): Likewise.
16322         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
16323         behavior...
16324         (gl_FUNC_STRERROR_0): ...into new macro.
16325         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
16326         is overridden.
16327         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
16328         * modules/strerror-override (Files): Add strerror.m4.
16329         (configure.ac): Also provide override for 0 when needed.
16330         * doc/posix-functions/strerror.texi (strerror): Document this.
16331         * doc/posix-functions/perror.texi (perror): Likewise.
16332
16333         perror: adjust array size
16334         * modules/perror (Depends-on): Add strerror-override.
16335         * lib/perror.c (perror): Use it to avoid magic number.
16336
16337         strerror-override: reduce size
16338         * lib/strerror-override.c (strerror_override): Use fewer lines.
16339
16340 2011-06-20  Bruno Haible  <bruno@clisp.org>
16341
16342         pathmax: Ensure correct value for PATH_MAX on HP-UX.
16343         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
16344
16345 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
16346
16347         alloca: port to compilers that can optimize like GCC 4.6.0
16348         * lib/alloca.c (find_stack_direction): New signature, taken from
16349         Autoconf git.  This works with GCC 4.6.0.  This code should never
16350         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
16351         be used with other compilers that optimize as well as GCC 4.6.0 does.
16352         (alloca): Adjust to new signature.
16353         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
16354         New macro, which patches Autoconf in a similar way.
16355
16356         c-stack: stop worrying about stack direction
16357         * lib/c-stack.c (find_stack_direction): Remove.
16358         (segv_handler): Don't worry about stack direction growth, as it's
16359         too much of a pain to configure this correctly, given how compilers
16360         are optimizing-away our stack-growth detection code.  Instead, assume
16361         that any access to just before or just after the stack is OK.
16362         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
16363         Don't require AC_FUNC_ALLOCA; no longer needed.
16364
16365 2011-06-20  Eric Blake  <eblake@redhat.com>
16366
16367         test-stat: don't allocate PATH_MAX bytes
16368         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
16369         PATH_MAX-sized buffer.
16370         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
16371         * modules/stat-tests (Depends-on): Likewise.
16372         * tests/test-fstatat.c (includes): Drop pathmax.h.
16373         * tests/test-stat.c (includes): Likewise.
16374         Reported by Bruno Haible.
16375
16376 2011-06-20  Bruno Haible  <bruno@clisp.org>
16377
16378         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
16379         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
16380         * lib/float.c: New file.
16381         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
16382         REPLACE_FLOAT_LDBL.
16383         * modules/float (Files): Add lib/float.c.
16384         (configure.ac): Invoke AC_LIBOBJ.
16385         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
16386
16387 2011-06-20  Bruno Haible  <bruno@clisp.org>
16388
16389         Tests for module 'float'.
16390         * modules/float-tests: New file.
16391         * tests/test-float.c: New file.
16392
16393 2011-06-19  Bruno Haible  <bruno@clisp.org>
16394
16395         isinf: Coding style.
16396         * lib/isinf.c: Use GNU coding style.
16397
16398 2011-06-19  Bruno Haible  <bruno@clisp.org>
16399
16400         linkat test: Avoid test failure on AIX 7.1.
16401         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
16402         * tests/test-link.h (test_link): Likewise.
16403
16404 2011-06-19  Bruno Haible  <bruno@clisp.org>
16405
16406         pread test: Avoid test failure on OpenBSD 4.9.
16407         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
16408
16409 2011-06-19  Bruno Haible  <bruno@clisp.org>
16410
16411         sprintf-posix: Fix test failure on AIX 7.1.
16412         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
16413         * doc/posix-functions/dprintf.texi: Mention limited precision problem
16414         on AIX.
16415         * doc/posix-functions/fprintf.texi: Likewise.
16416         * doc/posix-functions/printf.texi: Likewise.
16417         * doc/posix-functions/snprintf.texi: Likewise.
16418         * doc/posix-functions/sprintf.texi: Likewise.
16419         * doc/posix-functions/vdprintf.texi: Likewise.
16420         * doc/posix-functions/vfprintf.texi: Likewise.
16421         * doc/posix-functions/vprintf.texi: Likewise.
16422         * doc/posix-functions/vsnprintf.texi: Likewise.
16423         * doc/posix-functions/vsprintf.texi: Likewise.
16424
16425 2011-06-19  Bruno Haible  <bruno@clisp.org>
16426
16427         roundl-ieee: Fix test failure on AIX 7.1.
16428         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
16429         * doc/posix-functions/roundl.texi: Mention problem with negative
16430         arguments.
16431
16432 2011-06-19  Bruno Haible  <bruno@clisp.org>
16433
16434         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16435         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
16436         * doc/posix-functions/round.texi: Mention problem with negative
16437         arguments.
16438         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
16439
16440 2011-06-19  Bruno Haible  <bruno@clisp.org>
16441
16442         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16443         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
16444         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
16445         * doc/posix-functions/roundf.texi: Mention problem with negative
16446         arguments.
16447         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
16448
16449 2011-06-19  Bruno Haible  <bruno@clisp.org>
16450
16451         ceilf-ieee: Work around bug on MacOS X 10.5.
16452         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
16453
16454         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
16455         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
16456         IEEE compliant, avoid compiler optimizations.
16457         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
16458         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
16459         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
16460         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
16461         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16462         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
16463         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16464         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16465         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
16466         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
16467
16468 2011-06-19  Bruno Haible  <bruno@clisp.org>
16469
16470         ceilf-ieee: Work around bug on AIX 7.1.
16471         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
16472         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
16473
16474 2011-06-19  Bruno Haible  <bruno@clisp.org>
16475
16476         ceil-ieee: Work around bug on AIX 7.1.
16477         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
16478         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
16479
16480 2011-06-18  Bruno Haible  <bruno@clisp.org>
16481
16482         fsync test: Avoid test failure on MacOS X and AIX.
16483         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
16484         EINVAL.
16485
16486 2011-06-18  Bruno Haible  <bruno@clisp.org>
16487
16488         openat, fdopendir tests: Fix link errors.
16489         * modules/openat-tests (Depends-on): Add progname.
16490         * modules/fdopendir-tests (Depends-on): Likewise.
16491         * tests/test-fchownat.c: Include progname.h.
16492         (main): Call set_program_name.
16493         * tests/test-fstatat.c: Include progname.h.
16494         (main): Call set_program_name.
16495         * tests/test-mkdirat.c: Include progname.h.
16496         (main): Call set_program_name.
16497         * tests/test-openat.c: Include progname.h.
16498         (main): Call set_program_name.
16499         * tests/test-unlinkat.c: Include progname.h.
16500         (main): Call set_program_name.
16501         * tests/test-fdopendir.c: Include progname.h.
16502         (main): Call set_program_name.
16503
16504 2011-06-18  Bruno Haible  <bruno@clisp.org>
16505
16506         Doc update.
16507         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
16508         HP-UX.
16509         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
16510
16511 2011-06-18  Bruno Haible  <bruno@clisp.org>
16512
16513         getcwd tests: Avoid compilation error on HP-UX 11.31.
16514         * modules/getcwd-tests (Depends-on): Add pathmax.
16515         * tests/test-getcwd.c: Include pathmax.h.
16516
16517 2011-06-18  Bruno Haible  <bruno@clisp.org>
16518
16519         isfinite, isinf: Fix link error on AIX 6 and 7.
16520         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
16521         needed, also test the macro with a 'float' argument.
16522         * m4/isinf.m4 (gl_ISINF): Likewise.
16523
16524 2011-06-18  Bruno Haible  <bruno@clisp.org>
16525
16526         getloadavg: Don't clobber LIBS. Regression from previous commit.
16527         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
16528         AC_CHECK_LIB from here...
16529         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
16530         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
16531         gl_func_getloadavg_done.
16532         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16533
16534 2011-06-18  Bruno Haible  <bruno@clisp.org>
16535
16536         clean-temp: Improve documentation.
16537         * lib/clean-temp.h: Explain better how to use this module.
16538         Reported by John Darrington <john@darrington.wattle.id.au>.
16539
16540 2011-06-17  Bruno Haible  <bruno@clisp.org>
16541
16542         pread, pwrite: Avoid cc warning on AIX.
16543         * lib/unistd.in.h (pread): Undefine before defining as a macro.
16544         (pwrite): Likewise.
16545
16546 2011-06-17  Bruno Haible  <bruno@clisp.org>
16547
16548         spawn-pipe tests: Fix link error.
16549         * tests/test-spawn-pipe-child.c: Undefine fprintf.
16550         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16551
16552 2011-06-17  Bruno Haible  <bruno@clisp.org>
16553
16554         Tests: Remove unnecessary dependency.
16555         * modules/canonicalize-tests (Depends-on): Remove progname.
16556         * modules/chown-tests (Depends-on): Likewise.
16557         * modules/dirname-tests (Depends-on): Likewise.
16558         * modules/fdopendir-tests (Depends-on): Likewise.
16559         * modules/fdutimensat-tests (Depends-on): Likewise.
16560         * modules/hash-tests (Depends-on): Likewise.
16561         * modules/lchown-tests (Depends-on): Likewise.
16562         * modules/linkat-tests (Depends-on): Likewise.
16563         * modules/renameat-tests (Depends-on): Likewise.
16564         * modules/spawn-pipe-tests (Depends-on): Likewise.
16565         * modules/utimensat-tests (Depends-on): Likewise.
16566
16567 2011-06-17  Bruno Haible  <bruno@clisp.org>
16568
16569         spawn-pipe tests: Fix link error.
16570         * tests/test-spawn-pipe-child.c: Undefine fflush.
16571
16572 2011-06-17  Bruno Haible  <bruno@clisp.org>
16573
16574         Fix tests link errors.
16575         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
16576         * modules/chown-tests (Makefile.am): Don't link test-chown with
16577         LIBINTL.
16578         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
16579         LIBINTL.
16580         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
16581         LIBINTL.
16582         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
16583         LIBINTL.
16584
16585 2011-06-16  Bruno Haible  <bruno@clisp.org>
16586
16587         crypto/gc-sha1: Fix recent regression.
16588         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
16589         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
16590
16591         crypto/gc-md5: Fix recent regression.
16592         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
16593
16594         crypto/gc-md4: Fix recent regression.
16595         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
16596         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
16597
16598         crypto/gc-arctwo: Fix recent regression.
16599         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
16600         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
16601
16602         crypto/gc-rijndael: Fix recent regression.
16603         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
16604         (configure.ac): Invoke AC_LIBOBJ here.
16605         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
16606         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16607
16608         crypto/gc-hmac-sha1: Fix recent regression.
16609         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
16610         (configure.ac): Invoke AC_LIBOBJ here.
16611         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
16612         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16613
16614         crypto/gc-hmac-md5: Fix recent regression.
16615         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
16616         (configure.ac): Invoke AC_LIBOBJ here.
16617         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
16618         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16619
16620         crypto/gc-des: Fix recent regression.
16621         * modules/crypto/gc-des (Files): Remove m4/des.m4.
16622         (configure.ac): Invoke AC_LIBOBJ here.
16623         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
16624         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16625
16626         crypto/gc-arcfour: Fix recent regression.
16627         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
16628         (configure.ac): Invoke AC_LIBOBJ here.
16629         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
16630         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16631
16632 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
16633
16634         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
16635         After the 2011-05-21 change, this macro requires
16636         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
16637         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
16638
16639 2011-06-16  Bruno Haible  <bruno@clisp.org>
16640
16641         fprintftime: Move AC_LIBOBJ invocations to module description.
16642         * m4/fprintftime.m4: Remove file.
16643         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
16644         (configure.ac): Remove gl_FPRINTFTIME call.
16645         (Makefile.am): Augment lib_SOURCES.
16646         Reported by Jim Meyering.
16647
16648 2011-06-16  Bruno Haible  <bruno@clisp.org>
16649
16650         tmpfile-safer: Finish 2011-05-23 commit.
16651         * m4/stdio-safer.m4: Really remove file.
16652         Reported by Jim Meyering.
16653
16654 2011-06-16  Bruno Haible  <bruno@clisp.org>
16655
16656         syntax-check: Fix typo.
16657         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
16658         printf-posix.m4.
16659         Reported by Jim Meyering.
16660
16661 2011-06-13  Jim Meyering  <meyering@redhat.com>
16662
16663         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
16664         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
16665
16666 2011-05-23  Bruno Haible  <bruno@clisp.org>
16667
16668         yesno: Move AC_LIBOBJ invocations to module description.
16669         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
16670         * modules/yesno (Makefile.am): Augment lib_SOURCES.
16671
16672 2011-05-23  Bruno Haible  <bruno@clisp.org>
16673
16674         xstrtol: Move AC_LIBOBJ invocations to module description.
16675         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
16676         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
16677
16678 2011-05-23  Bruno Haible  <bruno@clisp.org>
16679
16680         xstrtold: Move AC_LIBOBJ invocations to module description.
16681         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
16682         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
16683
16684 2011-05-23  Bruno Haible  <bruno@clisp.org>
16685
16686         xstrtod: Move AC_LIBOBJ invocations to module description.
16687         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
16688         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
16689
16690 2011-05-23  Bruno Haible  <bruno@clisp.org>
16691
16692         xnanosleep: Move AC_LIBOBJ invocations to module description.
16693         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
16694         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
16695
16696 2011-05-23  Bruno Haible  <bruno@clisp.org>
16697
16698         xgetcwd: Move AC_LIBOBJ invocations to module description.
16699         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
16700         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
16701
16702 2011-05-23  Bruno Haible  <bruno@clisp.org>
16703
16704         xalloc: Move AC_LIBOBJ invocations to module description.
16705         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
16706         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
16707
16708 2011-05-23  Bruno Haible  <bruno@clisp.org>
16709
16710         write-any-file: Move AC_LIBOBJ invocations to module description.
16711         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
16712         invocation.
16713         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
16714
16715 2011-05-23  Bruno Haible  <bruno@clisp.org>
16716
16717         utimens: Move AC_LIBOBJ invocations to module description.
16718         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
16719         * modules/utimens (Makefile.am): Augment lib_SOURCES.
16720
16721 2011-05-23  Bruno Haible  <bruno@clisp.org>
16722
16723         utimecmp: Move AC_LIBOBJ invocations to module description.
16724         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
16725         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
16726
16727 2011-05-23  Bruno Haible  <bruno@clisp.org>
16728
16729         userspec: Move AC_LIBOBJ invocations to module description.
16730         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
16731         * modules/userspec (Makefile.am): Augment lib_SOURCES.
16732
16733 2011-05-23  Bruno Haible  <bruno@clisp.org>
16734
16735         unlinkdir: Move AC_LIBOBJ invocations to module description.
16736         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
16737         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
16738
16739 2011-05-23  Bruno Haible  <bruno@clisp.org>
16740
16741         unistd-safer: Move AC_LIBOBJ invocations to module description.
16742         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
16743         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
16744
16745 2011-05-23  Bruno Haible  <bruno@clisp.org>
16746
16747         tempname: Move AC_LIBOBJ invocations to module description.
16748         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
16749         * modules/tempname (Makefile.am): Augment lib_SOURCES.
16750
16751 2011-05-23  Bruno Haible  <bruno@clisp.org>
16752
16753         strftime: Move AC_LIBOBJ invocations to module description.
16754         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
16755         * modules/strftime (Makefile.am): Augment lib_SOURCES.
16756
16757 2011-05-23  Bruno Haible  <bruno@clisp.org>
16758
16759         stdlib-safer: Move AC_LIBOBJ invocations to module description.
16760         * m4/stdlib-safer.m4: Remove file.
16761         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
16762         (configure.ac): Remove gl_STDLIB_SAFER call.
16763         (Makefile.am): Augment lib_SOURCES.
16764
16765 2011-05-23  Bruno Haible  <bruno@clisp.org>
16766
16767         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
16768         * m4/stdio-safer.m4: Remove file.
16769         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
16770         (configure.ac): Remove gl_TMPFILE_SAFER call.
16771         (Makefile.am): Augment lib_SOURCES.
16772
16773 2011-05-23  Bruno Haible  <bruno@clisp.org>
16774
16775         popen-safer: Move AC_LIBOBJ invocations to module description.
16776         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
16777         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
16778         (configure.ac): Remove gl_POPEN_SAFER call.
16779         (Makefile.am): Augment lib_SOURCES.
16780
16781 2011-05-23  Bruno Haible  <bruno@clisp.org>
16782
16783         freopen-safer: Move AC_LIBOBJ invocations to module description.
16784         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
16785         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
16786         (configure.ac): Remove gl_FREOPEN_SAFER call.
16787         (Makefile.am): Augment lib_SOURCES.
16788
16789 2011-05-23  Bruno Haible  <bruno@clisp.org>
16790
16791         fopen-safer: Move AC_LIBOBJ invocations to module description.
16792         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
16793         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
16794         (configure.ac): Remove gl_FOPEN_SAFER call.
16795         (Makefile.am): Augment lib_SOURCES.
16796
16797 2011-05-23  Bruno Haible  <bruno@clisp.org>
16798
16799         crypto/sha512: Move AC_LIBOBJ invocations to module description.
16800         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
16801         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
16802
16803 2011-05-23  Bruno Haible  <bruno@clisp.org>
16804
16805         crypto/sha256: Move AC_LIBOBJ invocations to module description.
16806         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
16807         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
16808
16809 2011-05-23  Bruno Haible  <bruno@clisp.org>
16810
16811         crypto/sha1: Move AC_LIBOBJ invocations to module description.
16812         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
16813         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
16814
16815 2011-05-23  Bruno Haible  <bruno@clisp.org>
16816
16817         settime: Move AC_LIBOBJ invocations to module description.
16818         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
16819         * modules/settime (Makefile.am): Augment lib_SOURCES.
16820
16821 2011-05-23  Bruno Haible  <bruno@clisp.org>
16822
16823         savedir: Move AC_LIBOBJ invocations to module description.
16824         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
16825         * modules/savedir (Makefile.am): Augment lib_SOURCES.
16826
16827 2011-05-23  Bruno Haible  <bruno@clisp.org>
16828
16829         save-cwd: Move AC_LIBOBJ invocations to module description.
16830         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
16831         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
16832
16833 2011-05-23  Bruno Haible  <bruno@clisp.org>
16834
16835         same: Move AC_LIBOBJ invocations to module description.
16836         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
16837         * modules/same (Makefile.am): Augment lib_SOURCES.
16838
16839 2011-05-23  Bruno Haible  <bruno@clisp.org>
16840
16841         safe-write: Move AC_LIBOBJ invocations to module description.
16842         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
16843         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
16844         instead of gl_SAFE_WRITE.
16845         (Makefile.am): Augment lib_SOURCES.
16846
16847 2011-05-23  Bruno Haible  <bruno@clisp.org>
16848
16849         safe-read: Move AC_LIBOBJ invocations to module description.
16850         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
16851         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
16852         of gl_SAFE_READ.
16853         (Makefile.am): Augment lib_SOURCES.
16854
16855 2011-05-23  Bruno Haible  <bruno@clisp.org>
16856
16857         safe-alloc: Move AC_LIBOBJ invocations to module description.
16858         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
16859         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
16860
16861 2011-05-23  Bruno Haible  <bruno@clisp.org>
16862
16863         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
16864         * m4/rijndael.m4: Remove file.
16865         * modules/crypto/rijndael (Files): Remove it.
16866         (configure.ac): Remove gl_RIJNDAEL call.
16867         (Makefile.am): Augment lib_SOURCES.
16868
16869 2011-05-23  Bruno Haible  <bruno@clisp.org>
16870
16871         readtokens: Move AC_LIBOBJ invocations to module description.
16872         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
16873         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
16874
16875 2011-05-23  Bruno Haible  <bruno@clisp.org>
16876
16877         read-file: Move AC_LIBOBJ invocations to module description.
16878         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
16879         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
16880         of gl_FUNC_READ_FILE.
16881         (Makefile.am): Augment lib_SOURCES.
16882
16883 2011-05-23  Bruno Haible  <bruno@clisp.org>
16884
16885         quotearg: Move AC_LIBOBJ invocations to module description.
16886         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
16887         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
16888
16889 2011-05-23  Bruno Haible  <bruno@clisp.org>
16890
16891         quote: Move AC_LIBOBJ invocations to module description.
16892         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
16893         * modules/quote (Makefile.am): Augment lib_SOURCES.
16894
16895 2011-05-23  Bruno Haible  <bruno@clisp.org>
16896
16897         posixver: Move AC_LIBOBJ invocations to module description.
16898         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
16899         * modules/posixver (Makefile.am): Augment lib_SOURCES.
16900
16901 2011-05-23  Bruno Haible  <bruno@clisp.org>
16902
16903         posixtm: Move AC_LIBOBJ invocations to module description.
16904         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
16905         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
16906
16907 2011-05-23  Bruno Haible  <bruno@clisp.org>
16908
16909         physmem: Move AC_LIBOBJ invocations to module description.
16910         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
16911         * modules/physmem (Makefile.am): Augment lib_SOURCES.
16912
16913 2011-05-23  Bruno Haible  <bruno@clisp.org>
16914
16915         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
16916         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
16917         invocation.
16918         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
16919
16920 2011-05-23  Bruno Haible  <bruno@clisp.org>
16921
16922         mpsort: Move AC_LIBOBJ invocations to module description.
16923         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
16924         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
16925
16926 2011-05-23  Bruno Haible  <bruno@clisp.org>
16927
16928         modechange: Move AC_LIBOBJ invocations to module description.
16929         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
16930         * modules/modechange (Makefile.am): Augment lib_SOURCES.
16931
16932 2011-05-23  Bruno Haible  <bruno@clisp.org>
16933
16934         mkdir-p: Move AC_LIBOBJ invocations to module description.
16935         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
16936         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
16937
16938 2011-05-23  Bruno Haible  <bruno@clisp.org>
16939
16940         mkancesdirs: Move AC_LIBOBJ invocations to module description.
16941         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
16942         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
16943
16944 2011-05-23  Bruno Haible  <bruno@clisp.org>
16945
16946         mgetgroups: Move AC_LIBOBJ invocations to module description.
16947         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
16948         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
16949
16950 2011-05-23  Bruno Haible  <bruno@clisp.org>
16951
16952         memxor: Move AC_LIBOBJ invocations to module description.
16953         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
16954         * modules/memxor (Makefile.am): Augment lib_SOURCES.
16955
16956 2011-05-23  Bruno Haible  <bruno@clisp.org>
16957
16958         memcoll: Move AC_LIBOBJ invocations to module description.
16959         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
16960         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
16961
16962 2011-05-23  Bruno Haible  <bruno@clisp.org>
16963
16964         memcasecmp: Move AC_LIBOBJ invocations to module description.
16965         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
16966         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
16967
16968 2011-05-23  Bruno Haible  <bruno@clisp.org>
16969
16970         crypto/md5: Move AC_LIBOBJ invocations to module description.
16971         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
16972         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
16973
16974 2011-05-23  Bruno Haible  <bruno@clisp.org>
16975
16976         crypto/md4: Move AC_LIBOBJ invocations to module description.
16977         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
16978         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
16979
16980 2011-05-23  Bruno Haible  <bruno@clisp.org>
16981
16982         crypto/md2: Move AC_LIBOBJ invocations to module description.
16983         * m4/md2.m4: Remove file.
16984         * modules/crypto/md2 (Files): Remove it.
16985         (configure.ac): Remove gl_MD2 call.
16986         (Makefile.am): Augment lib_SOURCES.
16987
16988 2011-05-23  Bruno Haible  <bruno@clisp.org>
16989
16990         long-options: Move AC_LIBOBJ invocations to module description.
16991         * m4/long-options.m4: Remove file.
16992         * modules/long-options (Files): Remove it.
16993         (configure.ac): Remove gl_LONG_OPTIONS call.
16994         (Makefile.am): Augment lib_SOURCES.
16995
16996 2011-05-23  Bruno Haible  <bruno@clisp.org>
16997
16998         i-ring: Move AC_LIBOBJ invocations to module description.
16999         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
17000         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
17001
17002 2011-05-23  Bruno Haible  <bruno@clisp.org>
17003
17004         idcache: Move AC_LIBOBJ invocations to module description.
17005         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
17006         * modules/idcache (Makefile.am): Augment lib_SOURCES.
17007
17008 2011-05-23  Bruno Haible  <bruno@clisp.org>
17009
17010         human: Move AC_LIBOBJ invocations to module description.
17011         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
17012         * modules/human (Makefile.am): Augment lib_SOURCES.
17013
17014 2011-05-23  Bruno Haible  <bruno@clisp.org>
17015
17016         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
17017         * m4/hmac-sha1.m4: Remove file.
17018         * modules/crypto/hmac-sha1 (Files): Remove it.
17019         (configure.ac): Remove gl_HMAC_SHA1 call.
17020         (Makefile.am): Augment lib_SOURCES.
17021
17022 2011-05-23  Bruno Haible  <bruno@clisp.org>
17023
17024         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
17025         * m4/hmac-md5.m4: Remove file.
17026         * modules/crypto/hmac-md5 (Files): Remove it.
17027         (configure.ac): Remove gl_HMAC_MD5 call.
17028         (Makefile.am): Augment lib_SOURCES.
17029
17030 2011-05-23  Bruno Haible  <bruno@clisp.org>
17031
17032         hash: Move AC_LIBOBJ invocations to module description.
17033         * m4/hash.m4: Remove file.
17034         * modules/hash (Files): Remove it.
17035         (configure.ac): Remove gl_HASH call.
17036         (Makefile.am): Augment lib_SOURCES.
17037
17038 2011-05-23  Bruno Haible  <bruno@clisp.org>
17039
17040         hard-locale: Move AC_LIBOBJ invocations to module description.
17041         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
17042         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
17043
17044 2011-05-23  Bruno Haible  <bruno@clisp.org>
17045
17046         getugroups: Move AC_LIBOBJ invocations to module description.
17047         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
17048         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
17049
17050 2011-05-23  Bruno Haible  <bruno@clisp.org>
17051
17052         gettime: Move AC_LIBOBJ invocations to module description.
17053         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
17054         * modules/gettime (Makefile.am): Augment lib_SOURCES.
17055
17056 2011-05-23  Bruno Haible  <bruno@clisp.org>
17057
17058         getndelim2: Move AC_LIBOBJ invocations to module description.
17059         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
17060         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
17061
17062 2011-05-23  Bruno Haible  <bruno@clisp.org>
17063
17064         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
17065         * m4/gc-pbkdf2-sha1.m4: Remove file.
17066         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
17067         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
17068         (Makefile.am): Augment lib_SOURCES.
17069
17070 2011-05-23  Bruno Haible  <bruno@clisp.org>
17071
17072         fts: Move AC_LIBOBJ invocations to module description.
17073         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
17074         * modules/fts (configure.ac): ... to here.
17075
17076 2011-05-23  Bruno Haible  <bruno@clisp.org>
17077
17078         file-type: Move AC_LIBOBJ invocations to module description.
17079         * m4/file-type.m4: Remove file.
17080         * modules/file-type (Files): Remove it.
17081         (configure.ac): Remove gl_FILE_TYPE call.
17082         (Makefile.am): Augment lib_SOURCES.
17083
17084 2011-05-23  Bruno Haible  <bruno@clisp.org>
17085
17086         filenamecat*: Respect rules for use of AC_LIBOBJ.
17087         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
17088         Remove AC_LIBOBJ invocation.
17089         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
17090         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
17091
17092 2011-05-23  Bruno Haible  <bruno@clisp.org>
17093
17094         filemode: Move AC_LIBOBJ invocations to module description.
17095         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
17096         * modules/filemode (Makefile.am): Augment lib_SOURCES.
17097
17098 2011-05-23  Bruno Haible  <bruno@clisp.org>
17099
17100         openat-safer: Move AC_LIBOBJ invocations to module description.
17101         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
17102         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
17103
17104 2011-05-23  Bruno Haible  <bruno@clisp.org>
17105
17106         fcntl-safer: Move AC_LIBOBJ invocations to module description.
17107         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
17108         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
17109
17110 2011-05-23  Bruno Haible  <bruno@clisp.org>
17111
17112         exclude: Move AC_LIBOBJ invocations to module description.
17113         * m4/exclude.m4: Remove file.
17114         * modules/exclude (Files): Remove it.
17115         (configure.ac): Remove gl_EXCLUDE call.
17116         (Makefile.am): Augment lib_SOURCES.
17117
17118 2011-05-23  Bruno Haible  <bruno@clisp.org>
17119
17120         dirname*: Respect rules for use of AC_LIBOBJ.
17121         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
17122         invocations.
17123         * modules/dirname (Makefile.am): Augment lib_SOURCES.
17124         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
17125
17126 2011-05-23  Bruno Haible  <bruno@clisp.org>
17127
17128         dirent-safer: Move AC_LIBOBJ invocations to module description.
17129         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
17130         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
17131
17132 2011-05-23  Bruno Haible  <bruno@clisp.org>
17133
17134         crypto/des: Move AC_LIBOBJ invocations to module description.
17135         * m4/des.m4: Remove file.
17136         * modules/crypto/des (Files): Remove it.
17137         (configure.ac): Remove gl_DES call.
17138         (Makefile.am): Augment lib_SOURCES.
17139
17140 2011-05-23  Bruno Haible  <bruno@clisp.org>
17141
17142         cycle-check: Move AC_LIBOBJ invocations to module description.
17143         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
17144         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
17145
17146 2011-05-23  Bruno Haible  <bruno@clisp.org>
17147
17148         c-strtold: Move AC_LIBOBJ invocations to module description.
17149         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
17150         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
17151
17152 2011-05-23  Bruno Haible  <bruno@clisp.org>
17153
17154         c-strtod: Move AC_LIBOBJ invocations to module description.
17155         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
17156         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
17157
17158 2011-05-23  Bruno Haible  <bruno@clisp.org>
17159
17160         crc: Move AC_LIBOBJ invocations to module description.
17161         * m4/crc.m4: Remove file.
17162         * modules/crc (Files): Remove it.
17163         (configure.ac): Remove gl_CRC call.
17164         (Makefile.am): Augment lib_SOURCES.
17165
17166 2011-05-23  Bruno Haible  <bruno@clisp.org>
17167
17168         close-stream: Move AC_LIBOBJ invocations to module description.
17169         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
17170         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
17171
17172 2011-05-23  Bruno Haible  <bruno@clisp.org>
17173
17174         closeout: Move AC_LIBOBJ invocations to module description.
17175         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
17176         * modules/closeout (Makefile.am): Augment lib_SOURCES.
17177
17178 2011-05-23  Bruno Haible  <bruno@clisp.org>
17179
17180         closein: Move AC_LIBOBJ invocations to module description.
17181         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
17182         * modules/closein (Makefile.am): Augment lib_SOURCES.
17183
17184 2011-05-23  Bruno Haible  <bruno@clisp.org>
17185
17186         cloexec: Move AC_LIBOBJ invocations to module description.
17187         * m4/cloexec.m4: Remove file.
17188         * modules/cloexec (Files): Remove it.
17189         (configure.ac): Remove gl_CLOEXEC call.
17190         (Makefile.am): Augment lib_SOURCES.
17191
17192 2011-05-23  Bruno Haible  <bruno@clisp.org>
17193
17194         check-version: Move AC_LIBOBJ invocations to module description.
17195         * m4/check-version.m4: Remove file.
17196         * modules/check-version (Files): Remove it.
17197         (configure.ac): Remove gl_CHECK_VERSION call.
17198         (Makefile.am): Augment lib_SOURCES.
17199
17200 2011-05-23  Bruno Haible  <bruno@clisp.org>
17201
17202         chdir-safer: Move AC_LIBOBJ invocations to module description.
17203         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
17204         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
17205
17206 2011-05-23  Bruno Haible  <bruno@clisp.org>
17207
17208         canonicalize: Move AC_LIBOBJ invocations to module description.
17209         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
17210         AC_LIBOBJ invocation.
17211         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
17212
17213 2011-05-23  Bruno Haible  <bruno@clisp.org>
17214
17215         canon-host: Move AC_LIBOBJ invocations to module description.
17216         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
17217         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
17218         instead of gl_CANON_HOST.
17219         (Makefile.am): Augment lib_SOURCES.
17220
17221 2011-05-23  Bruno Haible  <bruno@clisp.org>
17222
17223         backupfile: Move AC_LIBOBJ invocations to module description.
17224         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
17225         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
17226
17227 2011-05-23  Bruno Haible  <bruno@clisp.org>
17228
17229         argmatch: Move AC_LIBOBJ invocations to module description.
17230         * m4/argmatch.m4: Remove file.
17231         * modules/argmatch (Files): Remove it.
17232         (configure.ac): Remove gl_ARGMATCH call.
17233         (Makefile.am): Augment lib_SOURCES.
17234
17235 2011-05-23  Bruno Haible  <bruno@clisp.org>
17236
17237         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
17238         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
17239         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
17240
17241 2011-05-23  Bruno Haible  <bruno@clisp.org>
17242
17243         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
17244         * m4/arcfour.m4: Remove file.
17245         * modules/crypto/arcfour (Files): Remove it.
17246         (configure.ac): Remove gl_ARCFOUR call.
17247         (Makefile.am): Augment lib_SOURCES.
17248
17249 2011-05-22  Bruno Haible  <bruno@clisp.org>
17250
17251         write: Move AC_LIBOBJ invocations to module description.
17252         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
17253         * modules/write (configure.ac): ... to here.
17254
17255 2011-05-22  Bruno Haible  <bruno@clisp.org>
17256
17257         wmemset: Move AC_LIBOBJ invocations to module description.
17258         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
17259         here...
17260         * modules/wmemset (configure.ac): ... to here.
17261
17262 2011-05-22  Bruno Haible  <bruno@clisp.org>
17263
17264         wmemmove: Move AC_LIBOBJ invocations to module description.
17265         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
17266         here...
17267         * modules/wmemmove (configure.ac): ... to here.
17268
17269 2011-05-22  Bruno Haible  <bruno@clisp.org>
17270
17271         wmemcpy: Move AC_LIBOBJ invocations to module description.
17272         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
17273         here...
17274         * modules/wmemcpy (configure.ac): ... to here.
17275
17276 2011-05-22  Bruno Haible  <bruno@clisp.org>
17277
17278         wmemcmp: Move AC_LIBOBJ invocations to module description.
17279         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
17280         here...
17281         * modules/wmemcmp (configure.ac): ... to here.
17282
17283 2011-05-22  Bruno Haible  <bruno@clisp.org>
17284
17285         wmemchr: Move AC_LIBOBJ invocations to module description.
17286         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
17287         here...
17288         * modules/wmemchr (configure.ac): ... to here.
17289
17290 2011-05-22  Bruno Haible  <bruno@clisp.org>
17291
17292         wcswidth: Move AC_LIBOBJ invocations to module description.
17293         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
17294         here...
17295         * modules/wcswidth (configure.ac): ... to here.
17296
17297 2011-05-22  Bruno Haible  <bruno@clisp.org>
17298
17299         wcwidth: Respect rules for use of AC_LIBOBJ.
17300         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
17301         invocation from here...
17302         * modules/wcwidth (configure.ac): ... to here.
17303         (Depends-on): Update conditions.
17304
17305 2011-05-22  Bruno Haible  <bruno@clisp.org>
17306
17307         wctype: Move AC_LIBOBJ invocations to module description.
17308         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
17309         invocation from here...
17310         * modules/wctype (configure.ac): ... to here.
17311         (Depends-on): Update conditions.
17312
17313 2011-05-22  Bruno Haible  <bruno@clisp.org>
17314
17315         wctrans: Move AC_LIBOBJ invocations to module description.
17316         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
17317         invocation from here...
17318         * modules/wctrans (configure.ac): ... to here.
17319
17320 2011-05-22  Bruno Haible  <bruno@clisp.org>
17321
17322         wctomb: Move AC_LIBOBJ invocations to module description.
17323         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
17324         invocations from here...
17325         * modules/wctomb (configure.ac): ... to here.
17326
17327 2011-05-22  Bruno Haible  <bruno@clisp.org>
17328
17329         wctob: Move AC_LIBOBJ invocations to module description.
17330         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
17331         gl_PREREQ_WCTOB invocations from here...
17332         * modules/wctob (configure.ac): ... to here.
17333         (Depends-on): Update conditions.
17334
17335 2011-05-22  Bruno Haible  <bruno@clisp.org>
17336
17337         wcsxfrm: Move AC_LIBOBJ invocations to module description.
17338         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
17339         here...
17340         * modules/wcsxfrm (configure.ac): ... to here.
17341
17342 2011-05-22  Bruno Haible  <bruno@clisp.org>
17343
17344         wcstok: Move AC_LIBOBJ invocations to module description.
17345         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
17346         * modules/wcstok (configure.ac): ... to here.
17347
17348 2011-05-22  Bruno Haible  <bruno@clisp.org>
17349
17350         wcsstr: Move AC_LIBOBJ invocations to module description.
17351         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
17352         * modules/wcsstr (configure.ac): ... to here.
17353
17354 2011-05-22  Bruno Haible  <bruno@clisp.org>
17355
17356         wcsspn: Move AC_LIBOBJ invocations to module description.
17357         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
17358         * modules/wcsspn (configure.ac): ... to here.
17359
17360 2011-05-22  Bruno Haible  <bruno@clisp.org>
17361
17362         wcsrtombs: Move AC_LIBOBJ invocations to module description.
17363         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
17364         gl_PREREQ_WCSRTOMBS invocations from here...
17365         * modules/wcsrtombs (configure.ac): ... to here.
17366
17367 2011-05-22  Bruno Haible  <bruno@clisp.org>
17368
17369         wcsrchr: Move AC_LIBOBJ invocations to module description.
17370         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
17371         here...
17372         * modules/wcsrchr (configure.ac): ... to here.
17373
17374 2011-05-22  Bruno Haible  <bruno@clisp.org>
17375
17376         wcspbrk: Move AC_LIBOBJ invocations to module description.
17377         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
17378         here...
17379         * modules/wcspbrk (configure.ac): ... to here.
17380
17381 2011-05-22  Bruno Haible  <bruno@clisp.org>
17382
17383         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
17384         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
17385         gl_PREREQ_WCSNRTOMBS invocations from here...
17386         * modules/wcsnrtombs (configure.ac): ... to here.
17387
17388 2011-05-22  Bruno Haible  <bruno@clisp.org>
17389
17390         wcsnlen: Move AC_LIBOBJ invocations to module description.
17391         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
17392         here...
17393         * modules/wcsnlen (configure.ac): ... to here.
17394
17395 2011-05-22  Bruno Haible  <bruno@clisp.org>
17396
17397         wcsncpy: Move AC_LIBOBJ invocations to module description.
17398         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
17399         here...
17400         * modules/wcsncpy (configure.ac): ... to here.
17401
17402 2011-05-22  Bruno Haible  <bruno@clisp.org>
17403
17404         wcsncmp: Move AC_LIBOBJ invocations to module description.
17405         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
17406         here...
17407         * modules/wcsncmp (configure.ac): ... to here.
17408
17409 2011-05-22  Bruno Haible  <bruno@clisp.org>
17410
17411         wcsncat: Move AC_LIBOBJ invocations to module description.
17412         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
17413         here...
17414         * modules/wcsncat (configure.ac): ... to here.
17415
17416 2011-05-22  Bruno Haible  <bruno@clisp.org>
17417
17418         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
17419         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
17420         from here...
17421         * modules/wcsncasecmp (configure.ac): ... to here.
17422
17423 2011-05-22  Bruno Haible  <bruno@clisp.org>
17424
17425         wcslen: Move AC_LIBOBJ invocations to module description.
17426         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
17427         * modules/wcslen (configure.ac): ... to here.
17428
17429 2011-05-22  Bruno Haible  <bruno@clisp.org>
17430
17431         wcsdup: Move AC_LIBOBJ invocations to module description.
17432         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
17433         * modules/wcsdup (configure.ac): ... to here.
17434
17435 2011-05-22  Bruno Haible  <bruno@clisp.org>
17436
17437         wcscspn: Move AC_LIBOBJ invocations to module description.
17438         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
17439         here...
17440         * modules/wcscspn (configure.ac): ... to here.
17441
17442 2011-05-22  Bruno Haible  <bruno@clisp.org>
17443
17444         wcscpy: Move AC_LIBOBJ invocations to module description.
17445         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
17446         * modules/wcscpy (configure.ac): ... to here.
17447
17448 2011-05-22  Bruno Haible  <bruno@clisp.org>
17449
17450         wcscoll: Move AC_LIBOBJ invocations to module description.
17451         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
17452         here...
17453         * modules/wcscoll (configure.ac): ... to here.
17454
17455 2011-05-22  Bruno Haible  <bruno@clisp.org>
17456
17457         wcscmp: Move AC_LIBOBJ invocations to module description.
17458         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
17459         * modules/wcscmp (configure.ac): ... to here.
17460
17461 2011-05-22  Bruno Haible  <bruno@clisp.org>
17462
17463         wcschr: Move AC_LIBOBJ invocations to module description.
17464         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
17465         * modules/wcschr (configure.ac): ... to here.
17466
17467 2011-05-22  Bruno Haible  <bruno@clisp.org>
17468
17469         wcscat: Move AC_LIBOBJ invocations to module description.
17470         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
17471         * modules/wcscat (configure.ac): ... to here.
17472
17473 2011-05-22  Bruno Haible  <bruno@clisp.org>
17474
17475         wcscasecmp: Move AC_LIBOBJ invocations to module description.
17476         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
17477         here...
17478         * modules/wcscasecmp (configure.ac): ... to here.
17479
17480 2011-05-22  Bruno Haible  <bruno@clisp.org>
17481
17482         wcrtomb: Move AC_LIBOBJ invocations to module description.
17483         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
17484         invocations from here...
17485         * modules/wcrtomb (configure.ac): ... to here.
17486
17487 2011-05-22  Bruno Haible  <bruno@clisp.org>
17488
17489         wcpncpy: Move AC_LIBOBJ invocations to module description.
17490         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
17491         here...
17492         * modules/wcpncpy (configure.ac): ... to here.
17493
17494 2011-05-22  Bruno Haible  <bruno@clisp.org>
17495
17496         wcpcpy: Move AC_LIBOBJ invocations to module description.
17497         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
17498         * modules/wcpcpy (configure.ac): ... to here.
17499
17500 2011-05-22  Bruno Haible  <bruno@clisp.org>
17501
17502         waitpid: Move AC_LIBOBJ invocations to module description.
17503         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
17504         invocation from here...
17505         * modules/waitpid (configure.ac): ... to here.
17506
17507 2011-05-22  Bruno Haible  <bruno@clisp.org>
17508
17509         utimensat: Move AC_LIBOBJ invocations to module description.
17510         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
17511         here...
17512         * modules/utimensat (configure.ac): ... to here.
17513
17514 2011-05-22  Bruno Haible  <bruno@clisp.org>
17515
17516         usleep: Move AC_LIBOBJ invocations to module description.
17517         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
17518         here...
17519         * modules/usleep (configure.ac): ... to here.
17520
17521 2011-05-22  Bruno Haible  <bruno@clisp.org>
17522
17523         unlockpt: Move AC_LIBOBJ invocations to module description.
17524         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
17525         gl_PREREQ_UNLOCKPT invocations from here...
17526         * modules/unlockpt (configure.ac): ... to here.
17527
17528 2011-05-22  Bruno Haible  <bruno@clisp.org>
17529
17530         unlink: Respect rules for use of AC_LIBOBJ.
17531         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
17532         * modules/unlink (configure.ac): ... to here.
17533
17534 2011-05-22  Bruno Haible  <bruno@clisp.org>
17535
17536         uname: Move AC_LIBOBJ invocations to module description.
17537         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
17538         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
17539         here...
17540         * modules/uname (configure.ac): ... to here.
17541
17542 2011-05-22  Bruno Haible  <bruno@clisp.org>
17543
17544         ttyname_r: Move AC_LIBOBJ invocations to module description.
17545         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
17546         gl_PREREQ_TTYNAME_R invocations from here...
17547         * modules/ttyname_r (configure.ac): ... to here.
17548
17549 2011-05-22  Bruno Haible  <bruno@clisp.org>
17550
17551         tsearch: Move AC_LIBOBJ invocations to module description.
17552         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
17553         invocations from here...
17554         * modules/tsearch (configure.ac): ... to here.
17555
17556 2011-05-22  Bruno Haible  <bruno@clisp.org>
17557
17558         towctrans: Move AC_LIBOBJ invocations to module description.
17559         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
17560         AC_LIBOBJ invocation from here...
17561         * modules/towctrans (configure.ac): ... to here.
17562
17563 2011-05-22  Bruno Haible  <bruno@clisp.org>
17564
17565         tmpfile: Move AC_LIBOBJ invocations to module description.
17566         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
17567         invocations from here...
17568         * modules/tmpfile (configure.ac): ... to here.
17569
17570 2011-05-22  Bruno Haible  <bruno@clisp.org>
17571
17572         times: Move AC_LIBOBJ invocations to module description.
17573         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
17574         * modules/times (configure.ac): ... to here.
17575
17576 2011-05-22  Bruno Haible  <bruno@clisp.org>
17577
17578         time_r: Move AC_LIBOBJ invocations to module description.
17579         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
17580         invocations from here...
17581         * modules/time_r (configure.ac): ... to here.
17582
17583 2011-05-22  Bruno Haible  <bruno@clisp.org>
17584
17585         timegm: Move AC_LIBOBJ invocations to module description.
17586         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
17587         invocations from here...
17588         * modules/timegm (configure.ac): ... to here.
17589
17590 2011-05-22  Bruno Haible  <bruno@clisp.org>
17591
17592         tcgetsid: Move AC_LIBOBJ invocations to module description.
17593         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
17594         and gl_PREREQ_TCGETSID invocations from here...
17595         * modules/tcgetsid (configure.ac): ... to here.
17596         (Depends-on): Update conditions.
17597
17598 2011-05-22  Bruno Haible  <bruno@clisp.org>
17599
17600         symlinkat: Move AC_LIBOBJ invocations to module description.
17601         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
17602         here...
17603         * modules/symlinkat (configure.ac): ... to here.
17604
17605 2011-05-22  Bruno Haible  <bruno@clisp.org>
17606
17607         symlink: Move AC_LIBOBJ invocations to module description.
17608         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
17609         here...
17610         * modules/symlink (configure.ac): ... to here.
17611
17612 2011-05-22  Bruno Haible  <bruno@clisp.org>
17613
17614         strverscmp: Move AC_LIBOBJ invocations to module description.
17615         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
17616         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
17617         from here...
17618         * modules/strverscmp (configure.ac): ... to here.
17619
17620 2011-05-22  Bruno Haible  <bruno@clisp.org>
17621
17622         strtok_r: Move AC_LIBOBJ invocations to module description.
17623         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
17624         and gl_PREREQ_STRTOK_R invocations from here...
17625         * modules/strtok_r (configure.ac): ... to here.
17626         (Depends-on): Update conditions.
17627
17628 2011-05-22  Bruno Haible  <bruno@clisp.org>
17629
17630         strtoumax: Move AC_LIBOBJ invocations to module description.
17631         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
17632         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
17633         from here...
17634         * modules/strtoumax (configure.ac): ... to here.
17635
17636 2011-05-22  Bruno Haible  <bruno@clisp.org>
17637
17638         strtoimax: Move AC_LIBOBJ invocations to module description.
17639         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
17640         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
17641         from here...
17642         * modules/strtoimax (configure.ac): ... to here.
17643
17644 2011-05-22  Bruno Haible  <bruno@clisp.org>
17645
17646         strtoull: Move AC_LIBOBJ invocations to module description.
17647         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
17648         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
17649         from here...
17650         * modules/strtoull (configure.ac): ... to here.
17651
17652 2011-05-22  Bruno Haible  <bruno@clisp.org>
17653
17654         strtoll: Move AC_LIBOBJ invocations to module description.
17655         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
17656         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
17657         here...
17658         * modules/strtoll (configure.ac): ... to here.
17659
17660 2011-05-22  Bruno Haible  <bruno@clisp.org>
17661
17662         strtoul: Move AC_LIBOBJ invocations to module description.
17663         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
17664         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17665         * modules/strtoul (configure.ac): ... to here.
17666
17667 2011-05-22  Bruno Haible  <bruno@clisp.org>
17668
17669         strtol: Move AC_LIBOBJ invocations to module description.
17670         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
17671         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17672         * modules/strtol (configure.ac): ... to here.
17673
17674 2011-05-22  Bruno Haible  <bruno@clisp.org>
17675
17676         strtod: Move AC_LIBOBJ invocations to module description.
17677         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
17678         invocations from here...
17679         * modules/strtod (configure.ac): ... to here.
17680
17681 2011-05-22  Bruno Haible  <bruno@clisp.org>
17682
17683         strstr*: Move AC_LIBOBJ invocations to module description.
17684         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
17685         invocations from here...
17686         * modules/strstr-simple (configure.ac): ... to here.
17687         * modules/strstr (configure.ac): ... and here.
17688
17689 2011-05-22  Bruno Haible  <bruno@clisp.org>
17690
17691         strsignal: Move AC_LIBOBJ invocations to module description.
17692         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
17693         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
17694         * modules/strsignal (configure.ac): ... to here.
17695         (Depends-on): Update conditions.
17696
17697 2011-05-22  Bruno Haible  <bruno@clisp.org>
17698
17699         strsep: Move AC_LIBOBJ invocations to module description.
17700         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
17701         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
17702         here...
17703         * modules/strsep (configure.ac): ... to here.
17704
17705 2011-05-22  Bruno Haible  <bruno@clisp.org>
17706
17707         strptime: Move AC_LIBOBJ invocations to module description.
17708         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
17709         gl_PREREQ_STRPTIME invocations from here...
17710         * modules/strptime (configure.ac): ... to here.
17711
17712 2011-05-22  Bruno Haible  <bruno@clisp.org>
17713
17714         strpbrk: Move AC_LIBOBJ invocations to module description.
17715         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
17716         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
17717         here...
17718         * modules/strpbrk (configure.ac): ... to here.
17719
17720 2011-05-22  Bruno Haible  <bruno@clisp.org>
17721
17722         strnlen: Move AC_LIBOBJ invocations to module description.
17723         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
17724         invocations from here...
17725         * modules/strnlen (configure.ac): ... to here.
17726
17727 2011-05-22  Bruno Haible  <bruno@clisp.org>
17728
17729         strndup: Move AC_LIBOBJ invocations to module description.
17730         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
17731         invocations from here...
17732         * modules/strndup (configure.ac): ... to here.
17733         (Depends-on): Update conditions.
17734
17735 2011-05-22  Bruno Haible  <bruno@clisp.org>
17736
17737         strncat: Move AC_LIBOBJ invocations to module description.
17738         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
17739         invocations from here...
17740         * modules/strncat (configure.ac): ... to here.
17741
17742 2011-05-22  Bruno Haible  <bruno@clisp.org>
17743
17744         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
17745         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
17746         invocations from here...
17747         * modules/strdup (configure.ac): ... to here.
17748         * modules/strdup-posix (configure.ac): ... and here.
17749
17750 2011-05-22  Bruno Haible  <bruno@clisp.org>
17751
17752         strcspn: Move AC_LIBOBJ invocations to module description.
17753         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
17754         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
17755         here...
17756         * modules/strcspn (configure.ac): ... to here.
17757
17758 2011-05-22  Bruno Haible  <bruno@clisp.org>
17759
17760         strchrnul: Move AC_LIBOBJ invocations to module description.
17761         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
17762         gl_PREREQ_STRCHRNUL invocations from here...
17763         * modules/strchrnul (configure.ac): ... to here.
17764
17765 2011-05-22  Bruno Haible  <bruno@clisp.org>
17766
17767         strcasestr*: Move AC_LIBOBJ invocations to module description.
17768         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
17769         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
17770         * modules/strcasestr-simple (configure.ac): ... to here.
17771         * modules/strcasestr (configure.ac): ... and here.
17772
17773 2011-05-22  Bruno Haible  <bruno@clisp.org>
17774
17775         strcase: Move AC_LIBOBJ invocations to module description.
17776         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
17777         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
17778         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
17779         gl_PREREQ_STRNCASECMP invocations from here...
17780         * modules/strcase (configure.ac): ... to here.
17781
17782 2011-05-22  Bruno Haible  <bruno@clisp.org>
17783
17784         stpncpy: Move AC_LIBOBJ invocations to module description.
17785         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
17786         here...
17787         * modules/stpncpy (configure.ac): ... to here.
17788
17789 2011-05-22  Bruno Haible  <bruno@clisp.org>
17790
17791         stpcpy: Move AC_LIBOBJ invocations to module description.
17792         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
17793         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
17794         here...
17795         * modules/stpcpy (configure.ac): ... to here.
17796
17797 2011-05-21  Bruno Haible  <bruno@clisp.org>
17798
17799         stat: Move AC_LIBOBJ invocations to module description.
17800         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
17801         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
17802         here...
17803         * modules/stat (configure.ac): ... to here.
17804
17805 2011-05-21  Bruno Haible  <bruno@clisp.org>
17806
17807         sleep: Move AC_LIBOBJ invocations to module description.
17808         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
17809         * modules/sleep (configure.ac): ... to here.
17810
17811 2011-05-21  Bruno Haible  <bruno@clisp.org>
17812
17813         signbit: Move AC_LIBOBJ invocations to module description.
17814         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
17815         * modules/signbit (configure.ac): ... to here.
17816
17817 2011-05-21  Bruno Haible  <bruno@clisp.org>
17818
17819         sigprocmask: Move AC_LIBOBJ invocations to module description.
17820         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
17821         gl_PREREQ_SIGPROMASK invocations from here...
17822         * modules/sigprocmask (configure.ac): ... to here.
17823
17824 2011-05-21  Bruno Haible  <bruno@clisp.org>
17825
17826         sigaction: Move AC_LIBOBJ invocations to module description.
17827         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
17828         gl_PREREQ_SIGACTION invocations from here...
17829         * modules/sigaction (configure.ac): ... to here.
17830
17831 2011-05-21  Bruno Haible  <bruno@clisp.org>
17832
17833         sig2str: Move AC_LIBOBJ invocations to module description.
17834         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
17835         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
17836         here...
17837         * modules/sig2str (configure.ac): ... to here.
17838
17839 2011-05-21  Bruno Haible  <bruno@clisp.org>
17840
17841         setlocale: Move AC_LIBOBJ invocations to module description.
17842         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
17843         gl_PREREQ_SETLOCALE invocations from here...
17844         * modules/setlocale (configure.ac): ... to here.
17845
17846 2011-05-21  Bruno Haible  <bruno@clisp.org>
17847
17848         unsetenv: Move AC_LIBOBJ invocations to module description.
17849         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
17850         and gl_PREREQ_UNSETENV invocations from here...
17851         * modules/unsetenv (configure.ac): ... to here.
17852         (Depends-on): Update.
17853
17854 2011-05-21  Bruno Haible  <bruno@clisp.org>
17855
17856         setenv: Move AC_LIBOBJ invocations to module description.
17857         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
17858         here...
17859         * modules/setenv (configure.ac): ... to here.
17860
17861 2011-05-21  Bruno Haible  <bruno@clisp.org>
17862
17863         selinux-h: Move AC_LIBOBJ invocations to module description.
17864         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
17865         AC_LIBOBJ invocation from here...
17866         * modules/selinux-h (configure.ac): ... to here.
17867
17868 2011-05-21  Bruno Haible  <bruno@clisp.org>
17869
17870         select: Respect rules for use of AC_LIBOBJ.
17871         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
17872         here...
17873         * modules/select (configure.ac): ... to here.
17874
17875 2011-05-21  Bruno Haible  <bruno@clisp.org>
17876
17877         scandir: Move AC_LIBOBJ invocations to module description.
17878         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
17879         invocations from here...
17880         * modules/scandir (configure.ac): ... to here.
17881
17882 2011-05-21  Bruno Haible  <bruno@clisp.org>
17883
17884         rpmatch: Move AC_LIBOBJ invocations to module description.
17885         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
17886         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
17887         here...
17888         * modules/rpmatch (configure.ac): ... to here.
17889
17890 2011-05-21  Bruno Haible  <bruno@clisp.org>
17891
17892         rmdir: Respect rules for use of AC_LIBOBJ.
17893         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
17894         * modules/rmdir (configure.ac): ... to here.
17895
17896 2011-05-21  Bruno Haible  <bruno@clisp.org>
17897
17898         renameat: Move AC_LIBOBJ invocations to module description.
17899         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
17900         here...
17901         * modules/renameat (configure.ac): ... to here.
17902
17903 2011-05-21  Bruno Haible  <bruno@clisp.org>
17904
17905         rename: Respect rules for use of AC_LIBOBJ.
17906         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
17907         here...
17908         * modules/rename (configure.ac): ... to here.
17909
17910 2011-05-21  Bruno Haible  <bruno@clisp.org>
17911
17912         remove: Move AC_LIBOBJ invocations to module description.
17913         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
17914         here...
17915         * modules/remove (configure.ac): ... to here.
17916
17917 2011-05-21  Bruno Haible  <bruno@clisp.org>
17918
17919         relocatable-lib: Move AC_LIBOBJ invocations to module description.
17920         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
17921         macro.
17922         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
17923         * modules/relocatable-lib (configure.ac): ... to here.
17924         * modules/relocatable-prog-wrapper (configure.ac): Invoke
17925         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
17926
17927 2011-05-21  Bruno Haible  <bruno@clisp.org>
17928
17929         relocatable-prog: Move AC_LIBOBJ invocations to module description.
17930         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
17931         here...
17932         * modules/relocatable-prog (configure.ac): ... to here.
17933
17934 2011-05-21  Bruno Haible  <bruno@clisp.org>
17935
17936         regex: Move AC_LIBOBJ invocations to module description.
17937         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
17938         invocations from here...
17939         * modules/regex (configure.ac): ... to here.
17940
17941 2011-05-21  Bruno Haible  <bruno@clisp.org>
17942
17943         realloc-*: Move AC_LIBOBJ invocations to module description.
17944         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
17945         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
17946         AC_LIBOBJ invocations from here...
17947         * modules/realloc-gnu (configure.ac): ... to here.
17948         * modules/realloc-posix (configure.ac): ... and here.
17949
17950 2011-05-21  Bruno Haible  <bruno@clisp.org>
17951
17952         readutmp: Move AC_LIBOBJ invocations to module description.
17953         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
17954         * modules/readutmp (configure.ac): ... to here.
17955
17956 2011-05-21  Bruno Haible  <bruno@clisp.org>
17957
17958         readlinkat: Move AC_LIBOBJ invocations to module description.
17959         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
17960         here...
17961         * modules/readlinkat (configure.ac): ... to here.
17962
17963 2011-05-21  Bruno Haible  <bruno@clisp.org>
17964
17965         readlink: Move AC_LIBOBJ invocations to module description.
17966         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
17967         gl_PREREQ_READLINK invocations from here...
17968         * modules/readlink (configure.ac): ... to here.
17969
17970 2011-05-21  Bruno Haible  <bruno@clisp.org>
17971
17972         readline: Move AC_LIBOBJ invocations to module description.
17973         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
17974         gl_PREREQ_READLINE invocations from here...
17975         * modules/readline (configure.ac): ... to here.
17976
17977 2011-05-21  Bruno Haible  <bruno@clisp.org>
17978
17979         read: Move AC_LIBOBJ invocations to module description.
17980         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
17981         * modules/read (configure.ac): ... to here.
17982
17983 2011-05-21  Bruno Haible  <bruno@clisp.org>
17984
17985         rawmemchr: Move AC_LIBOBJ invocations to module description.
17986         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
17987         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
17988         from here...
17989         * modules/rawmemchr (configure.ac): ... to here.
17990
17991 2011-05-21  Bruno Haible  <bruno@clisp.org>
17992
17993         random_r: Move AC_LIBOBJ invocations to module description.
17994         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
17995         gl_PREREQ_RANDOM_R invocations from here...
17996         * modules/random_r (configure.ac): ... to here.
17997
17998 2011-05-21  Bruno Haible  <bruno@clisp.org>
17999
18000         pwrite: Move AC_LIBOBJ invocations to module description.
18001         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
18002         * modules/pwrite (configure.ac): ... to here.
18003
18004 2011-05-21  Bruno Haible  <bruno@clisp.org>
18005
18006         putenv: Move AC_LIBOBJ invocations to module description.
18007         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
18008         * modules/putenv (configure.ac): ... to here.
18009
18010 2011-05-21  Bruno Haible  <bruno@clisp.org>
18011
18012         login_tty: Move AC_LIBOBJ invocations to module description.
18013         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
18014         * modules/login_tty (configure.ac): ... to here.
18015
18016 2011-05-21  Bruno Haible  <bruno@clisp.org>
18017
18018         openpty: Move AC_LIBOBJ invocations to module description.
18019         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
18020         * modules/openpty (configure.ac): ... to here.
18021
18022 2011-05-21  Bruno Haible  <bruno@clisp.org>
18023
18024         forkpty: Move AC_LIBOBJ invocations to module description.
18025         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
18026         * modules/forkpty (configure.ac): ... to here.
18027
18028 2011-05-21  Bruno Haible  <bruno@clisp.org>
18029
18030         ptsname: Move AC_LIBOBJ invocations to module description.
18031         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
18032         invocations from here...
18033         * modules/ptsname (configure.ac): ... to here.
18034
18035 2011-05-21  Bruno Haible  <bruno@clisp.org>
18036
18037         pread: Move AC_LIBOBJ invocations to module description.
18038         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
18039         * modules/pread (configure.ac): ... to here.
18040
18041 2011-05-21  Bruno Haible  <bruno@clisp.org>
18042
18043         posix_spawn*: Move AC_LIBOBJ invocations to module description.
18044         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
18045         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
18046         * modules/posix_spawn (configure.ac): ... to here.
18047         * modules/posix_spawnp (configure.ac): ... and here.
18048
18049 2011-05-21  Bruno Haible  <bruno@clisp.org>
18050
18051         popen: Move AC_LIBOBJ invocations to module description.
18052         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
18053         invocations from here...
18054         * modules/popen (configure.ac): ... to here.
18055
18056 2011-05-21  Bruno Haible  <bruno@clisp.org>
18057
18058         poll: Move AC_LIBOBJ invocations to module description.
18059         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
18060         invocations from here...
18061         * modules/poll (configure.ac): ... to here.
18062
18063 2011-05-21  Bruno Haible  <bruno@clisp.org>
18064
18065         pipe-posix: Move AC_LIBOBJ invocations to module description.
18066         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
18067         * modules/pipe-posix (configure.ac): ... to here.
18068
18069 2011-05-21  Bruno Haible  <bruno@clisp.org>
18070
18071         openat: Respect rules for use of AC_LIBOBJ.
18072         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
18073         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18074         * modules/openat (configure.ac): ... to here.
18075
18076 2011-05-21  Bruno Haible  <bruno@clisp.org>
18077
18078         obstack-printf*: Move AC_LIBOBJ invocations to module description.
18079         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
18080         invocation from here...
18081         * modules/obstack-printf (configure.ac): ... to here.
18082         * modules/obstack-printf-posix (configure.ac): ... and here.
18083
18084 2011-05-21  Bruno Haible  <bruno@clisp.org>
18085
18086         nl_langinfo: Move AC_LIBOBJ invocations to module description.
18087         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
18088         from here...
18089         * modules/nl_langinfo (configure.ac): ... to here.
18090
18091 2011-05-21  Bruno Haible  <bruno@clisp.org>
18092
18093         nanosleep: Move AC_LIBOBJ invocations to module description.
18094         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
18095         gl_PREREQ_NANOSLEEP invocations from here...
18096         * modules/nanosleep (configure.ac): ... to here.
18097
18098 2011-05-21  Bruno Haible  <bruno@clisp.org>
18099
18100         mountlist: Move AC_LIBOBJ invocations to module description.
18101         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
18102         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
18103         * modules/mountlist (configure.ac): ... to here.
18104
18105 2011-05-21  Bruno Haible  <bruno@clisp.org>
18106
18107         mktime: Respect rules for use of AC_LIBOBJ.
18108         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
18109         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
18110         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
18111         (gl_FUNC_MKTIME_INTERNAL): ... and here...
18112         * modules/mktime (configure.ac): ... to here.
18113         * modules/mktime-internal (configure.ac): ... and here.
18114         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
18115
18116 2011-05-21  Bruno Haible  <bruno@clisp.org>
18117
18118         mkstemps: Move AC_LIBOBJ invocations to module description.
18119         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
18120         here...
18121         * modules/mkstemps (configure.ac): ... to here.
18122
18123 2011-05-21  Bruno Haible  <bruno@clisp.org>
18124
18125         mkstemp: Move AC_LIBOBJ invocations to module description.
18126         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
18127         gl_PREREQ_MKSTEMP invocations from here...
18128         * modules/mkstemp (configure.ac): ... to here.
18129
18130 2011-05-21  Bruno Haible  <bruno@clisp.org>
18131
18132         mkostemps: Move AC_LIBOBJ invocations to module description.
18133         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
18134         here...
18135         * modules/mkostemps (configure.ac): ... to here.
18136
18137 2011-05-21  Bruno Haible  <bruno@clisp.org>
18138
18139         mkostemp: Move AC_LIBOBJ invocations to module description.
18140         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
18141         gl_PREREQ_MKOSTEMP invocations from here...
18142         * modules/mkostemp (configure.ac): ... to here.
18143
18144 2011-05-21  Bruno Haible  <bruno@clisp.org>
18145
18146         mknod: Move AC_LIBOBJ invocations to module description.
18147         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
18148         * modules/mknod (configure.ac): ... to here.
18149
18150 2011-05-21  Bruno Haible  <bruno@clisp.org>
18151
18152         mkfifoat: Move AC_LIBOBJ invocations to module description.
18153         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
18154         here...
18155         * modules/mkfifoat (configure.ac): ... to here.
18156
18157 2011-05-21  Bruno Haible  <bruno@clisp.org>
18158
18159         mkfifo: Respect rules for use of AC_LIBOBJ.
18160         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
18161         here...
18162         * modules/mkfifo (configure.ac): ... to here.
18163
18164 2011-05-21  Bruno Haible  <bruno@clisp.org>
18165
18166         mkdtemp: Move AC_LIBOBJ invocations to module description.
18167         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
18168         invocations from here...
18169         * modules/mkdtemp (configure.ac): ... to here.
18170
18171 2011-05-21  Bruno Haible  <bruno@clisp.org>
18172
18173         mkdir: Move AC_LIBOBJ invocations to module description.
18174         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
18175         * modules/mkdir (configure.ac): ... to here.
18176
18177 2011-05-21  Bruno Haible  <bruno@clisp.org>
18178
18179         memset: Move AC_LIBOBJ invocations to module description.
18180         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
18181         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
18182         here...
18183         * modules/memset (configure.ac): ... to here.
18184
18185 2011-05-21  Bruno Haible  <bruno@clisp.org>
18186
18187         memrchr: Move AC_LIBOBJ invocations to module description.
18188         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
18189         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
18190         here...
18191         * modules/memrchr (configure.ac): ... to here.
18192
18193 2011-05-21  Bruno Haible  <bruno@clisp.org>
18194
18195         mempcpy: Move AC_LIBOBJ invocations to module description.
18196         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
18197         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
18198         here...
18199         * modules/mempcpy (configure.ac): ... to here.
18200
18201 2011-05-21  Bruno Haible  <bruno@clisp.org>
18202
18203         memmove: Move AC_LIBOBJ invocations to module description.
18204         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
18205         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
18206         here...
18207         * modules/memmove (configure.ac): ... to here.
18208
18209 2011-05-21  Bruno Haible  <bruno@clisp.org>
18210
18211         memmem*: Move AC_LIBOBJ invocations to module description.
18212         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
18213         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
18214         here...
18215         (gl_FUNC_MEMMEM): ... and here...
18216         * modules/memmem-simple (configure.ac): ... to here.
18217         * modules/memmem (configure.ac): ... and here.
18218
18219 2011-05-21  Bruno Haible  <bruno@clisp.org>
18220
18221         memcpy: Move AC_LIBOBJ invocations to module description.
18222         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
18223         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
18224         here...
18225         * modules/memcpy (configure.ac): ... to here.
18226
18227 2011-05-21  Bruno Haible  <bruno@clisp.org>
18228
18229         memcmp: Simplify autoconf macro.
18230         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
18231         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
18232         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
18233
18234 2011-05-21  Bruno Haible  <bruno@clisp.org>
18235
18236         memcmp: Move AC_LIBOBJ invocations to module description.
18237         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
18238         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
18239         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
18240         * modules/memcmp (configure.ac): ... to here.
18241         (Depends-on): Update conditions.
18242
18243 2011-05-21  Bruno Haible  <bruno@clisp.org>
18244
18245         memchr: Respect rules for use of AC_LIBOBJ.
18246         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
18247         invocations from here...
18248         * modules/memchr (configure.ac): ... to here.
18249
18250 2011-05-21  Bruno Haible  <bruno@clisp.org>
18251
18252         mbtowc: Move AC_LIBOBJ invocations to module description.
18253         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
18254         invocations from here...
18255         * modules/mbtowc (configure.ac): ... to here.
18256
18257 2011-05-21  Bruno Haible  <bruno@clisp.org>
18258
18259         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
18260         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
18261         gl_PREREQ_MBSRTOWCS invocations from here...
18262         * modules/mbsrtowcs (configure.ac): ... to here.
18263
18264 2011-05-21  Bruno Haible  <bruno@clisp.org>
18265
18266         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
18267         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
18268         gl_PREREQ_MBSNRTOWCS invocations from here...
18269         * modules/mbsnrtowcs (configure.ac): ... to here.
18270
18271 2011-05-21  Bruno Haible  <bruno@clisp.org>
18272
18273         mbsinit: Move AC_LIBOBJ invocations to module description.
18274         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
18275         invocations from here...
18276         * modules/mbsinit (configure.ac): ... to here.
18277
18278 2011-05-21  Bruno Haible  <bruno@clisp.org>
18279
18280         mbrlen: Move AC_LIBOBJ invocations to module description.
18281         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
18282         invocations from here...
18283         * modules/mbrlen (configure.ac): ... to here.
18284
18285 2011-05-21  Bruno Haible  <bruno@clisp.org>
18286
18287         mbrtowc: Respect rules for use of AC_LIBOBJ.
18288         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
18289         invocations from here...
18290         * modules/mbrtowc (configure.ac): ... to here.
18291
18292 2011-05-21  Bruno Haible  <bruno@clisp.org>
18293
18294         malloc-*: Move AC_LIBOBJ invocations to module description.
18295         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
18296         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
18297         AC_LIBOBJ invocations from here...
18298         * modules/malloc-gnu (configure.ac): ... to here.
18299         * modules/malloc-posix (configure.ac): ... and here.
18300
18301 2011-05-21  Bruno Haible  <bruno@clisp.org>
18302
18303         lstat, openat: Respect rules for use of AC_LIBOBJ.
18304         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
18305         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
18306         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
18307         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
18308         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
18309         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
18310         here.
18311         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
18312
18313 2011-05-21  Bruno Haible  <bruno@clisp.org>
18314
18315         lseek: Move AC_LIBOBJ invocations to module description.
18316         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
18317         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
18318         * modules/lseek (configure.ac): ... to here.
18319
18320 2011-05-21  Bruno Haible  <bruno@clisp.org>
18321
18322         linkat: Move AC_LIBOBJ invocations to module description.
18323         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
18324         here...
18325         * modules/linkat (configure.ac): ... to here.
18326
18327 2011-05-21  Bruno Haible  <bruno@clisp.org>
18328
18329         link: Respect rules for use of AC_LIBOBJ.
18330         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
18331         * modules/link (configure.ac): ... to here.
18332
18333 2011-05-21  Bruno Haible  <bruno@clisp.org>
18334
18335         lchown: Move AC_LIBOBJ invocations to module description.
18336         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
18337         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18338         * modules/lchown (configure.ac): ... to here.
18339
18340 2011-05-21  Bruno Haible  <bruno@clisp.org>
18341
18342         iswctype: Move AC_LIBOBJ invocations to module description.
18343         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
18344         here...
18345         * modules/iswctype (configure.ac): ... to here.
18346
18347 2011-05-21  Bruno Haible  <bruno@clisp.org>
18348
18349         iswblank: Move AC_LIBOBJ invocations to module description.
18350         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
18351         here...
18352         * modules/iswblank (configure.ac): ... to here.
18353
18354 2011-05-21  Bruno Haible  <bruno@clisp.org>
18355
18356         atanl: Move AC_LIBOBJ invocations to module description.
18357         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
18358         * modules/atanl (configure.ac): ... to here.
18359
18360 2011-05-21  Bruno Haible  <bruno@clisp.org>
18361
18362         acosl: Move AC_LIBOBJ invocations to module description.
18363         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
18364         * modules/acosl (configure.ac): ... to here.
18365
18366 2011-05-21  Bruno Haible  <bruno@clisp.org>
18367
18368         asinl: Respect rules for use of AC_LIBOBJ.
18369         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
18370         * modules/asinl (configure.ac): ... to here.
18371
18372 2011-05-21  Bruno Haible  <bruno@clisp.org>
18373
18374         tanl: Move AC_LIBOBJ invocations to module description.
18375         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
18376         * modules/tanl (configure.ac): ... to here.
18377
18378 2011-05-21  Bruno Haible  <bruno@clisp.org>
18379
18380         cosl: Move AC_LIBOBJ invocations to module description.
18381         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
18382         * modules/cosl (configure.ac): ... to here.
18383
18384 2011-05-21  Bruno Haible  <bruno@clisp.org>
18385
18386         sinl: Move AC_LIBOBJ invocations to module description.
18387         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
18388         * modules/sinl (configure.ac): ... to here.
18389
18390 2011-05-21  Bruno Haible  <bruno@clisp.org>
18391
18392         logl: Move AC_LIBOBJ invocations to module description.
18393         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
18394         * modules/logl (configure.ac): ... to here.
18395
18396 2011-05-21  Bruno Haible  <bruno@clisp.org>
18397
18398         expl: Move AC_LIBOBJ invocations to module description.
18399         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
18400         * modules/expl (configure.ac): ... to here.
18401
18402 2011-05-21  Bruno Haible  <bruno@clisp.org>
18403
18404         roundl: Move AC_LIBOBJ invocations to module description.
18405         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
18406         * modules/roundl (configure.ac): ... to here.
18407
18408 2011-05-21  Bruno Haible  <bruno@clisp.org>
18409
18410         round: Move AC_LIBOBJ invocations to module description.
18411         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
18412         * modules/round (configure.ac): ... to here.
18413
18414 2011-05-21  Bruno Haible  <bruno@clisp.org>
18415
18416         roundf: Move AC_LIBOBJ invocations to module description.
18417         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
18418         * modules/roundf (configure.ac): ... to here.
18419
18420 2011-05-21  Bruno Haible  <bruno@clisp.org>
18421
18422         truncl: Move AC_LIBOBJ invocations to module description.
18423         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
18424         * modules/truncl (configure.ac): ... to here.
18425
18426 2011-05-21  Bruno Haible  <bruno@clisp.org>
18427
18428         trunc: Move AC_LIBOBJ invocations to module description.
18429         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
18430         * modules/trunc (configure.ac): ... to here.
18431
18432 2011-05-21  Bruno Haible  <bruno@clisp.org>
18433
18434         truncf: Move AC_LIBOBJ invocations to module description.
18435         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
18436         * modules/truncf (configure.ac): ... to here.
18437
18438 2011-05-21  Bruno Haible  <bruno@clisp.org>
18439
18440         ceill: Move AC_LIBOBJ invocations to module description.
18441         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
18442         * modules/ceill (configure.ac): ... to here.
18443
18444 2011-05-21  Bruno Haible  <bruno@clisp.org>
18445
18446         ceil: Move AC_LIBOBJ invocations to module description.
18447         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
18448         * modules/ceil (configure.ac): ... to here.
18449
18450 2011-05-21  Bruno Haible  <bruno@clisp.org>
18451
18452         ceilf: Move AC_LIBOBJ invocations to module description.
18453         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
18454         * modules/ceilf (configure.ac): ... to here.
18455
18456 2011-05-21  Bruno Haible  <bruno@clisp.org>
18457
18458         floorl: Respect rules for use of AC_LIBOBJ.
18459         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
18460         * modules/floorl (configure.ac): ... to here.
18461
18462 2011-05-21  Bruno Haible  <bruno@clisp.org>
18463
18464         floor: Respect rules for use of AC_LIBOBJ.
18465         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
18466         * modules/floor (configure.ac): ... to here.
18467
18468 2011-05-21  Bruno Haible  <bruno@clisp.org>
18469
18470         floorf: Move AC_LIBOBJ invocations to module description.
18471         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
18472         * modules/floorf (configure.ac): ... to here.
18473
18474 2011-05-20  Bruno Haible  <bruno@clisp.org>
18475
18476         sqrtl: Respect rules for use of AC_LIBOBJ.
18477         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
18478         * modules/sqrtl (configure.ac): ... to here.
18479
18480 2011-05-20  Bruno Haible  <bruno@clisp.org>
18481
18482         ldexpl: Respect rules for use of AC_LIBOBJ.
18483         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
18484         * modules/ldexpl (configure.ac): ... to here.
18485
18486 2011-05-20  Bruno Haible  <bruno@clisp.org>
18487
18488         frexpl*: Respect rules for use of AC_LIBOBJ.
18489         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
18490         invocation from here...
18491         * modules/frexpl (configure.ac): ... to here.
18492         * modules/frexpl-nolibm (configure.ac): ... and here.
18493
18494 2011-05-20  Bruno Haible  <bruno@clisp.org>
18495
18496         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
18497         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
18498         invocation from here...
18499         * modules/frexp (configure.ac): ... to here.
18500         * modules/frexp-nolibm (configure.ac): ... and here.
18501
18502 2011-05-20  Bruno Haible  <bruno@clisp.org>
18503
18504         isnan: Respect rules for use of AC_LIBOBJ.
18505         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
18506         invocations here.
18507         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
18508         REPLACE_ISNAN.
18509         * modules/isnand (configure.ac): Likewise.
18510         * modules/isnanl (configure.ac): Likewise.
18511
18512 2011-05-20  Bruno Haible  <bruno@clisp.org>
18513
18514         isnanl*: Respect rules for use of AC_LIBOBJ.
18515         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
18516         invocation from here...
18517         * modules/isnanl (configure.ac): ... to here.
18518         * modules/isnanl-nolibm (configure.ac): ... and here.
18519
18520 2011-05-20  Bruno Haible  <bruno@clisp.org>
18521
18522         isnand*: Move AC_LIBOBJ invocations to module description.
18523         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
18524         invocation from here...
18525         * modules/isnand (configure.ac): ... to here.
18526         * modules/isnand-nolibm (configure.ac): ... and here.
18527
18528 2011-05-20  Bruno Haible  <bruno@clisp.org>
18529
18530         isnanf*: Move AC_LIBOBJ invocations to module description.
18531         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
18532         invocation from here...
18533         * modules/isnanf (configure.ac): ... to here.
18534         * modules/isnanf-nolibm (configure.ac): ... and here.
18535
18536 2011-05-20  Bruno Haible  <bruno@clisp.org>
18537
18538         isnan*: Separate the AC_LIBOBJ invocations.
18539         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
18540         AC_LIBOBJ invocation.
18541         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
18542         here.
18543         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
18544         AC_LIBOBJ invocation.
18545         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
18546         here.
18547         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
18548         AC_LIBOBJ invocation.
18549         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
18550         here.
18551         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
18552
18553 2011-05-08  Bruno Haible  <bruno@clisp.org>
18554
18555         isinf: Move AC_LIBOBJ invocations to module description.
18556         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
18557         * modules/isinf (configure.ac): ... to here.
18558
18559 2011-05-08  Bruno Haible  <bruno@clisp.org>
18560
18561         isfinite: Move AC_LIBOBJ invocations to module description.
18562         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
18563         * modules/isfinite (configure.ac): ... to here.
18564
18565 2011-05-08  Bruno Haible  <bruno@clisp.org>
18566
18567         isblank: Move AC_LIBOBJ invocations to module description.
18568         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
18569         here...
18570         * modules/isblank (configure.ac): ... to here.
18571
18572 2011-05-08  Bruno Haible  <bruno@clisp.org>
18573
18574         isapipe: Move AC_LIBOBJ invocations to module description.
18575         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
18576         gl_PREREQ_ISAPIPE invocations from here...
18577         * modules/isapipe (configure.ac): ... to here.
18578         (Depends-on): Update condition.
18579
18580 2011-05-08  Bruno Haible  <bruno@clisp.org>
18581
18582         ioctl: Move AC_LIBOBJ invocations to module description.
18583         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
18584         invocations from here...
18585         * modules/ioctl (configure.ac): ... to here.
18586         (Depends-on): Update condition.
18587
18588 2011-05-08  Bruno Haible  <bruno@clisp.org>
18589
18590         imaxdiv: Move AC_LIBOBJ invocations to module description.
18591         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
18592         invocations from here...
18593         * modules/imaxdiv (configure.ac): ... to here.
18594
18595 2011-05-08  Bruno Haible  <bruno@clisp.org>
18596
18597         imaxabs: Move AC_LIBOBJ invocations to module description.
18598         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
18599         invocations from here...
18600         * modules/imaxabs (configure.ac): ... to here.
18601
18602 2011-05-08  Bruno Haible  <bruno@clisp.org>
18603
18604         getaddrinfo: Move AC_LIBOBJ invocations to module description.
18605         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
18606         AC_LIBOBJ invocations from here...
18607         * modules/getaddrinfo (configure.ac): ... to here.
18608         (Depends-on): Add conditions.
18609
18610 2011-05-08  Bruno Haible  <bruno@clisp.org>
18611
18612         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18613         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
18614         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18615         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
18616         (gl_PREREQ_INET_PTON): ... from here.
18617         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
18618         gl_PREREQ_INET_PTON here.
18619         (Depends-on): Update condition.
18620
18621 2011-05-08  Bruno Haible  <bruno@clisp.org>
18622
18623         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18624         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
18625         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18626         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
18627         (gl_PREREQ_INET_NTOP): ... from here.
18628         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
18629         gl_PREREQ_INET_NTOP here.
18630         (Depends-on): Update condition.
18631
18632 2011-05-08  Bruno Haible  <bruno@clisp.org>
18633
18634         iconv_open: Move AC_LIBOBJ invocations to module description.
18635         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
18636         AC_LIBOBJ invocations from here...
18637         * modules/iconv_open (configure.ac): ... to here.
18638
18639 2011-05-08  Bruno Haible  <bruno@clisp.org>
18640
18641         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
18642         If module 'iconv_open' is among the main modules and module
18643         'iconv_open-utf' is among the tests dependencies, then
18644         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
18645         return the special iconv_t values. Therefore iconv() and iconv_close()
18646         must support these special iconv_t values, already in lib, not only in
18647         tests.
18648         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
18649         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
18650         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
18651         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
18652         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
18653         (Depends-on): Add the dependencies of iconv_open-utf.
18654         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
18655         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
18656         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
18657
18658 2011-05-08  Bruno Haible  <bruno@clisp.org>
18659
18660         group-member: Move AC_LIBOBJ invocations to module description.
18661         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
18662         gl_PREREQ_GROUP_MEMBER invocations from here...
18663         * modules/group-member (configure.ac): ... to here.
18664
18665 2011-05-08  Bruno Haible  <bruno@clisp.org>
18666
18667         grantpt: Move AC_LIBOBJ invocations to module description.
18668         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
18669         invocations from here...
18670         * modules/grantpt (configure.ac): ... to here.
18671
18672 2011-05-08  Bruno Haible  <bruno@clisp.org>
18673
18674         glob: Move AC_LIBOBJ invocations to module description.
18675         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
18676         from here...
18677         * modules/glob (configure.ac): ... to here.
18678
18679 2011-05-08  Bruno Haible  <bruno@clisp.org>
18680
18681         getusershell: Move AC_LIBOBJ invocations to module description.
18682         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
18683         Move AC_LIBOBJ invocation from here...
18684         * modules/getusershell (configure.ac): ... to here.
18685         (Depends-on): Update condition.
18686
18687 2011-05-08  Bruno Haible  <bruno@clisp.org>
18688
18689         gettimeofday: Move AC_LIBOBJ invocations to module description.
18690         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
18691         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
18692         gl_PREREQ_GETTIMEOFDAY invocations from here...
18693         * modules/gettimeofday (configure.ac): ... to here.
18694
18695 2011-05-08  Bruno Haible  <bruno@clisp.org>
18696
18697         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
18698         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
18699         just gl_FUNC_TZSET.
18700         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
18701         (gl_FUNC_TZSET_CLOBBER): Remove actions.
18702         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
18703         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
18704
18705 2011-05-08  Bruno Haible  <bruno@clisp.org>
18706
18707         getsubopt: Move AC_LIBOBJ invocations to module description.
18708         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
18709         gl_PREREQ_GETSUBOPT invocations from here...
18710         * modules/getsubopt (configure.ac): ... to here.
18711
18712 2011-05-08  Bruno Haible  <bruno@clisp.org>
18713
18714         getpass-gnu: Move AC_LIBOBJ invocations to module description.
18715         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
18716         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
18717         * modules/getpass-gnu (configure.ac): ... to here.
18718
18719 2011-05-08  Bruno Haible  <bruno@clisp.org>
18720
18721         getpass: Move AC_LIBOBJ invocations to module description.
18722         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
18723         gl_PREREQ_GETPASS invocations from here...
18724         * modules/getpass (configure.ac): ... to here.
18725
18726 2011-05-08  Bruno Haible  <bruno@clisp.org>
18727
18728         getpagesize: Move AC_LIBOBJ invocations to module description.
18729         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
18730         from here...
18731         * modules/getpagesize (configure.ac): ... to here.
18732
18733 2011-05-08  Bruno Haible  <bruno@clisp.org>
18734
18735         getopt: Move AC_LIBOBJ invocations to module description.
18736         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
18737         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
18738         invocations from here...
18739         * modules/getopt-gnu (configure.ac): ... to here.
18740         * modules/getopt-posix (configure.ac): ... and here.
18741         (Depends-on): Update condition.
18742
18743 2011-05-08  Bruno Haible  <bruno@clisp.org>
18744
18745         getopt, argp: Respect rules for use of AC_LIBOBJ.
18746         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
18747         (gl_REPLACE_GETOPT_ALWAYS): New macro.
18748         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
18749         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
18750
18751 2011-05-08  Bruno Haible  <bruno@clisp.org>
18752
18753         getlogin_r: Move AC_LIBOBJ invocations to module description.
18754         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
18755         gl_PREREQ_GETLOGIN_R invocations from here...
18756         * modules/getlogin_r (configure.ac): ... to here.
18757
18758 2011-05-08  Bruno Haible  <bruno@clisp.org>
18759
18760         getlogin: Move AC_LIBOBJ invocations to module description.
18761         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
18762         here...
18763         * modules/getlogin (configure.ac): ... to here.
18764
18765 2011-05-08  Bruno Haible  <bruno@clisp.org>
18766
18767         getloadavg: Move AC_LIBOBJ invocations to module description.
18768         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
18769         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
18770         * modules/getloadavg (configure.ac): ... to here.
18771
18772 2011-05-08  Bruno Haible  <bruno@clisp.org>
18773
18774         gethrxtime: Move AC_LIBOBJ invocations to module description.
18775         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
18776         LIB_GETHRXTIME from here...
18777         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
18778         invocations from here...
18779         * modules/gethrxtime (configure.ac): ... to here.
18780
18781 2011-05-08  Bruno Haible  <bruno@clisp.org>
18782
18783         gethostname: Move AC_LIBOBJ invocations to module description.
18784         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
18785         gl_PREREQ_GETHOSTNAME invocations from here...
18786         * modules/gethostname (configure.ac): ... to here.
18787
18788 2011-05-08  Bruno Haible  <bruno@clisp.org>
18789
18790         getgroups: Move AC_LIBOBJ invocations to module description.
18791         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
18792         here...
18793         * modules/getgroups (configure.ac): ... to here.
18794
18795 2011-05-08  Bruno Haible  <bruno@clisp.org>
18796
18797         getdtablesize: Move AC_LIBOBJ invocations to module description.
18798         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
18799         invocation from here...
18800         * modules/getdtablesize (configure.ac): ... to here.
18801
18802 2011-05-08  Bruno Haible  <bruno@clisp.org>
18803
18804         getdomainname: Move AC_LIBOBJ invocations to module description.
18805         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
18806         gl_PREREQ_GETDOMAINNAME invocations from here...
18807         * modules/getdomainname (configure.ac): ... to here.
18808
18809 2011-05-08  Bruno Haible  <bruno@clisp.org>
18810
18811         getline: Move AC_LIBOBJ invocations to module description.
18812         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
18813         invocations from here...
18814         * modules/getline (configure.ac): ... to here.
18815
18816 2011-05-08  Bruno Haible  <bruno@clisp.org>
18817
18818         getline: Simplify.
18819         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
18820         It's already handled through the module dependency.
18821
18822 2011-05-08  Bruno Haible  <bruno@clisp.org>
18823
18824         getdelim: Move AC_LIBOBJ invocations to module description.
18825         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
18826         and gl_PREREQ_GETDELIM invocations from here...
18827         * modules/getdelim (configure.ac): ... to here.
18828         (Depends-on): Fix condition.
18829
18830 2011-05-08  Bruno Haible  <bruno@clisp.org>
18831
18832         getcwd: Move AC_LIBOBJ invocations to module description.
18833         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
18834         invocations from here...
18835         * modules/getcwd (configure.ac): ... to here.
18836
18837 2011-05-08  Bruno Haible  <bruno@clisp.org>
18838
18839         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
18840         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
18841         here...
18842         * modules/getcwd-lgpl (configure.ac): ... to here.
18843
18844 2011-05-07  Bruno Haible  <bruno@clisp.org>
18845
18846         crypto/gc: Move AC_LIBOBJ invocations to module description.
18847         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
18848         * modules/crypto/gc (configure.ac): ... to here.
18849
18850 2011-05-07  Bruno Haible  <bruno@clisp.org>
18851
18852         fwriting: Move AC_LIBOBJ invocations to module description.
18853         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
18854         here...
18855         * modules/fwriting (configure.ac): ... to here.
18856
18857 2011-05-07  Bruno Haible  <bruno@clisp.org>
18858
18859         fwritable: Move AC_LIBOBJ invocations to module description.
18860         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
18861         here...
18862         * modules/fwritable (configure.ac): ... to here.
18863
18864 2011-05-07  Bruno Haible  <bruno@clisp.org>
18865
18866         futimens: Move AC_LIBOBJ invocations to module description.
18867         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
18868         here...
18869         * modules/futimens (configure.ac): ... to here.
18870
18871 2011-05-07  Bruno Haible  <bruno@clisp.org>
18872
18873         ftruncate: Move AC_LIBOBJ invocations to module description.
18874         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
18875         gl_PREREQ_FTRUNCATE invocations from here...
18876         * modules/ftruncate (configure.ac): ... to here.
18877
18878 2011-05-07  Bruno Haible  <bruno@clisp.org>
18879
18880         fsync: Move AC_LIBOBJ invocations to module description.
18881         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
18882         invocations from here...
18883         * modules/fsync (configure.ac): ... to here.
18884
18885 2011-05-07  Bruno Haible  <bruno@clisp.org>
18886
18887         fsusage: Move AC_LIBOBJ invocations to module description.
18888         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
18889         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
18890         * modules/fsusage (configure.ac): ... to here.
18891
18892 2011-05-07  Bruno Haible  <bruno@clisp.org>
18893
18894         freopen: Move AC_LIBOBJ invocations to module description.
18895         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
18896         invocations from here...
18897         * modules/freopen (configure.ac): ... to here.
18898
18899 2011-05-07  Bruno Haible  <bruno@clisp.org>
18900
18901         free: Move AC_LIBOBJ invocations to module description.
18902         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
18903         invocations from here...
18904         * modules/free (configure.ac): ... to here.
18905
18906 2011-05-07  Bruno Haible  <bruno@clisp.org>
18907
18908         freadable: Move AC_LIBOBJ invocations to module description.
18909         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
18910         here...
18911         * modules/freadable (configure.ac): ... to here.
18912
18913 2011-05-07  Bruno Haible  <bruno@clisp.org>
18914
18915         fpurge: Move AC_LIBOBJ invocations to module description.
18916         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
18917         invocations from here...
18918         * modules/fpurge (configure.ac): ... to here.
18919
18920 2011-05-07  Bruno Haible  <bruno@clisp.org>
18921
18922         fpending: Move AC_LIBOBJ invocations to module description.
18923         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
18924         gl_FUNC_FPENDING.
18925         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
18926         invocations from here...
18927         * modules/fpending (configure.ac): ... to here.
18928
18929 2011-05-07  Bruno Haible  <bruno@clisp.org>
18930
18931         fopen: Move AC_LIBOBJ invocations to module description.
18932         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
18933         invocations from here...
18934         * modules/fopen (configure.ac): ... to here.
18935
18936 2011-05-07  Bruno Haible  <bruno@clisp.org>
18937
18938         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
18939         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
18940         gl_FUNC_FNMATCH_POSIX.
18941         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
18942         invocations from here...
18943         * modules/fnmatch (configure.ac): ... to here.
18944         * modules/fnmatch-gnu (configure.ac): ... and here.
18945
18946 2011-05-07  Bruno Haible  <bruno@clisp.org>
18947
18948         flock: Move AC_LIBOBJ invocations to module description.
18949         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
18950         invocations from here...
18951         * modules/flock (configure.ac): ... to here.
18952
18953 2011-05-07  Bruno Haible  <bruno@clisp.org>
18954
18955         fileblocks: Move AC_LIBOBJ invocations to module description.
18956         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
18957         gl_PREREQ_FILEBLOCKS invocations from here...
18958         * modules/fileblocks (configure.ac): ... to here.
18959
18960 2011-05-06  Bruno Haible  <bruno@clisp.org>
18961
18962         fflush: Move AC_LIBOBJ invocations to module description.
18963         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
18964         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
18965         invocations from here...
18966         * modules/fflush (configure.ac): ... to here.
18967
18968 2011-05-06  Bruno Haible  <bruno@clisp.org>
18969
18970         fdopendir: Move AC_LIBOBJ invocations to module description.
18971         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
18972         here...
18973         * modules/fdopendir (configure.ac): ... to here.
18974         (Depends-on): Improve conditions.
18975
18976 2011-05-06  Bruno Haible  <bruno@clisp.org>
18977
18978         _Exit: Move AC_LIBOBJ invocations to module description.
18979         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
18980         invocations from here...
18981         * modules/_Exit (configure.ac): ... to here.
18982
18983 2011-05-21  Bruno Haible  <bruno@clisp.org>
18984
18985         euidaccess: Respect rules for use of AC_LIBOBJ.
18986         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
18987         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
18988         from here...
18989         * modules/euidaccess (configure.ac): ... to here.
18990
18991 2011-05-06  Bruno Haible  <bruno@clisp.org>
18992
18993         error: Move AC_LIBOBJ invocations to module description.
18994         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
18995         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
18996         invocations from here...
18997         * modules/error (configure.ac): ... to here.
18998
18999 2011-05-06  Bruno Haible  <bruno@clisp.org>
19000
19001         duplocale: Move AC_LIBOBJ invocations to module description.
19002         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
19003         gl_PREREQ_DUPLOCALE invocations from here...
19004         * modules/duplocale (configure.ac): ... to here.
19005
19006 2011-05-05  Bruno Haible  <bruno@clisp.org>
19007
19008         dirfd: Move AC_LIBOBJ invocations to module description.
19009         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
19010         gl_FUNC_DIRFD.
19011         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
19012         here...
19013         * modules/dirfd (configure.ac): ... to here.
19014         (Depends-on): Fix condition.
19015
19016 2011-05-05  Bruno Haible  <bruno@clisp.org>
19017
19018         chown: Respect rules for use of AC_LIBOBJ.
19019         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
19020         * modules/chown (configure.ac): ... to here.
19021
19022 2011-05-05  Bruno Haible  <bruno@clisp.org>
19023
19024         chdir-long: Move AC_LIBOBJ invocations to module description.
19025         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
19026         gl_PREREQ_CHDIR_LONG invocations from here...
19027         * modules/chdir-long (configure.ac): ... to here.
19028
19029 2011-05-05  Bruno Haible  <bruno@clisp.org>
19030
19031         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
19032         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
19033         from here...
19034         * modules/canonicalize-lgpl (configure.ac): ... to here.
19035
19036 2011-05-05  Bruno Haible  <bruno@clisp.org>
19037
19038         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
19039         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
19040         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
19041         REPLACE_CALLOC.
19042         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
19043         * modules/calloc-gnu (configure.ac): Likewise.
19044
19045 2011-05-05  Bruno Haible  <bruno@clisp.org>
19046
19047         btowc: Move AC_LIBOBJ invocations to module description.
19048         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
19049         invocations from here...
19050         * modules/btowc (configure.ac): ... to here.
19051
19052 2011-05-21  Bruno Haible  <bruno@clisp.org>
19053
19054         atexit: Move AC_LIBOBJ invocations to module description.
19055         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
19056         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
19057         here...
19058         * modules/atexit (configure.ac): ... to here.
19059
19060 2011-05-05  Bruno Haible  <bruno@clisp.org>
19061
19062         atoll: Move AC_LIBOBJ invocations to module description.
19063         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
19064         invocations from here...
19065         * modules/atoll (configure.ac): ... to here.
19066
19067 2011-05-05  Bruno Haible  <bruno@clisp.org>
19068
19069         argz: Move AC_LIBOBJ invocations to module description.
19070         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
19071         * modules/argz (configure.ac): ... to here.
19072
19073 2011-05-05  Bruno Haible  <bruno@clisp.org>
19074
19075         alphasort: Move AC_LIBOBJ invocations to module description.
19076         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
19077         gl_PREREQ_ALPHASORT invocations from here...
19078         * modules/alphasort (configure.ac): ... to here.
19079
19080 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19081
19082         verify: new macro verify_expr; verify_true deprecated
19083         * NEWS: Mention this.
19084         * doc/verify.texi (Compile-time Assertions): Document this.
19085         * lib/verify.h (verify_true): Deprecate.
19086         (verify_expr): New macro.
19087         * tests/test-verify.c (function): Test verify_expr.
19088
19089 2011-06-14  Jim Meyering  <meyering@redhat.com>
19090
19091         init.sh: give more portable redirection-related advice in a comment
19092         * tests/init.sh (stderr_fileno_): Update the advice in comments.
19093         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
19094         for lots of discussion.  Stefano Lattarini suggested the solution
19095         of putting "9>&2" after the command.  Reported by Bruno Haible.
19096
19097 2011-06-13  Bruno Haible  <bruno@clisp.org>
19098
19099         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
19100         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
19101         'none'.
19102
19103 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
19104
19105         ftoastr: use strtof only if HAVE_STRTOF
19106         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
19107         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
19108         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
19109         * modules/ftoastr (configure.ac): Check for strtof.
19110
19111 2011-06-13  Bruno Haible  <bruno@clisp.org>
19112
19113         gnulib-tool: Addendum to 2011-06-08 commit.
19114         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
19115         and --witness-c-macro have been given, augment AM_CPPFLAGS.
19116
19117 2011-06-13  Bruno Haible  <bruno@clisp.org>
19118
19119         fseeko: Provide a non-inline replacement of fseek().
19120         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
19121         * modules/fseeko (Depends-on): Add fseek.
19122         * modules/fseek (License): Change to LGPLv2+.
19123
19124 2011-06-13  Bruno Haible  <bruno@clisp.org>
19125
19126         ftello: Provide a non-inline replacement of ftell().
19127         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
19128         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
19129         not have ftello() (such as on mingw).
19130         * modules/ftello (Depends-on): Add ftell.
19131         * modules/ftell (License): Change to LGPLv2+.
19132
19133 2011-05-07  Bruno Haible  <bruno@clisp.org>
19134
19135         ftell: Move AC_LIBOBJ invocations to module description.
19136         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
19137         * modules/ftell (configure.ac): ... to here.
19138
19139 2011-05-07  Bruno Haible  <bruno@clisp.org>
19140
19141         ftello: Respect rules for use of AC_LIBOBJ.
19142         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
19143         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
19144         here...
19145         * modules/ftello (configure.ac): ... to here.
19146
19147 2011-05-07  Bruno Haible  <bruno@clisp.org>
19148
19149         fseeko: Simplify.
19150         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
19151         (gl_FUNC_FSEEKO): Inline it here.
19152
19153 2011-05-07  Bruno Haible  <bruno@clisp.org>
19154
19155         fseek: Move AC_LIBOBJ invocations to module description.
19156         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
19157         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
19158         * modules/fseek (configure.ac): ... to here.
19159
19160 2011-05-07  Bruno Haible  <bruno@clisp.org>
19161
19162         fseek: Respect rules for use of AC_LIBOBJ.
19163         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
19164         here...
19165         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
19166
19167 2011-05-07  Bruno Haible  <bruno@clisp.org>
19168
19169         fseeko: Respect rules for use of AC_LIBOBJ.
19170         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
19171         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
19172         here...
19173         * modules/fseeko (configure.ac): ... to here.
19174
19175 2011-06-13  Bruno Haible  <bruno@clisp.org>
19176
19177         gnulib-tool: Allow comments in the 'Depends-on' section.
19178         * doc/gnulib.texi (Module description): Mention comment syntax in the
19179         Depends-on section.
19180         * gnulib-tool (func_get_dependencies): Filter out comment lines.
19181
19182 2011-06-13  Bruno Haible  <bruno@clisp.org>
19183
19184         file-set.h: guard __attibute__ use, now that it's not always defined
19185         * lib/file-set.h (record_file): Use __attribute__ only with compiler
19186         versions that support it.  This fixes a coreutils build failure with
19187         the vendor cc on HP-UX 11.31.
19188
19189 2011-06-12  Bruno Haible  <bruno@clisp.org>
19190
19191         acl: Add support for HP-UX >= 11.11 JFS ACLs.
19192         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
19193         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
19194         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
19195         (acl, aclsort): New declarations.
19196         (aclv_nontrivial): New declaration.
19197         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
19198         (file_has_acl): Read also the second kind of HP-UX ACLs.
19199         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
19200         kind of HP-UX ACLs if the first kind fails.
19201         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
19202         second kind of HP-UX ACLs.
19203         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
19204         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
19205         agree.
19206         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19207         hpuxjfs.
19208         Handle hpuxjfs.
19209         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19210         hpuxjfs.
19211         Handle hpuxjfs.
19212         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19213         (func_test_same_acls): Use both lsacl and getacl.
19214         Handle hpuxjfs.
19215         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19216         (func_test_same_acls): Use both lsacl and getacl.
19217         Handle hpuxjfs.
19218
19219 2011-06-12  Bruno Haible  <bruno@clisp.org>
19220
19221         acl: Complete the 2010-08-10 fix.
19222         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
19223         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
19224         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
19225         explicitly.
19226         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
19227         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
19228
19229 2011-06-12  Bruno Haible  <bruno@clisp.org>
19230
19231         spawn-pipe tests: Comments.
19232         * tests/test-spawn-pipe-child.c (main): Update comment.
19233         Reported by James Youngman <jay@gnu.org>.
19234
19235 2011-06-11  James Youngman  <jay@gnu.org>
19236
19237         New module 'stat-size'.
19238         * modules/stat-size: New module.  Provides macros for accessing
19239         file size information in instances of struct stat.  Depends on the
19240         fileblocks module because it calls st_blocks.
19241         * lib/stat-size.h: New file, adapted from coreutils' system.h.
19242         * doc/gnulib.texi: Include stat-size.texi.
19243         * doc/stat-size.texi: Documentation for this module.
19244         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
19245         * m4/fileblocks.m4: Mention that stat-size depends on the call to
19246         AC_STRUCT_ST_BLOCKS.
19247
19248 2011-06-09  Bruno Haible  <bruno@clisp.org>
19249
19250         thread: Support pthreads-win32.
19251         * lib/glthread/thread.h (gl_thread_self): Define differently on
19252         pthreads-win32.
19253         (gl_null_thread): New declaration.
19254         (gl_thread_self_pointer): New macro.
19255         * lib/glthread/thread.c (gl_null_thread): New constant.
19256         * tests/test-lock.c: Use gl_thread_self_pointer instead of
19257         gl_thread_self.
19258         * tests/test-tls.c: Likewise.
19259         Suggested by Paul Eggert. Reported by Eric Blake.
19260
19261 2011-06-09  Bruno Haible  <bruno@clisp.org>
19262
19263         thread: Fix confusion between NULL and 0.
19264         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
19265         Reported by Paul Eggert.
19266
19267 2011-06-09  Bruno Haible  <bruno@clisp.org>
19268
19269         spawn-pipe tests: Avoid test failure on HP-UX 11.
19270         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
19271         is closed.
19272
19273 2011-06-09  Bruno Haible  <bruno@clisp.org>
19274
19275         acl tests: Fix compilation error on HP-UX 11.
19276         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
19277
19278 2011-06-09  Bruno Haible  <bruno@clisp.org>
19279
19280         rmdir: Avoid test failure on HP-UX 10.20.
19281         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
19282         EEXIST.
19283
19284 2011-06-08  Eric Blake  <eblake@redhat.com>
19285
19286         perror: fix test on mingw
19287         * modules/perror-tests (Depends-on): Add dup2.
19288
19289         strerror_r-posix: fix on MacOS
19290         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
19291         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
19292         logic bug.
19293         * lib/strerror_r.c (strerror_r): Fix the bug.
19294         * lib/strerror.c (strerror): Likewise.
19295         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
19296         problem.
19297         * doc/posix-functions/strerror.texi (strerror): Likewise.
19298         * doc/posix-functions/perror.texi (perror): Likewise.
19299         * tests/test-strerror.c (main): Enhance test.
19300         * tests/test-strerror_r.c (main): Likewise.
19301
19302 2011-06-08  Bruno Haible  <bruno@clisp.org>
19303
19304         gnulib-tool: Better isolation between different gnulib-tool invocations.
19305         * gnulib-tool: New option --witness-c-macro.
19306         (witness_c_macro): New variable.
19307         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
19308         AM_CPPFLAGS define it as a C macro.
19309         (func_emit_tests_Makefile_am): Likewise.
19310         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
19311         read it from there.
19312         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
19313         m4_define, not AC_DEFUN.
19314         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
19315         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
19316         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
19317         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
19318         s|...|...|, to substitute the values of the GNULIB_* module indicator
19319         variables.
19320         * modules/dirent (Makefile.am): Likewise.
19321         * modules/fcntl-h (Makefile.am): Likewise.
19322         * modules/iconv-h (Makefile.am): Likewise.
19323         * modules/langinfo (Makefile.am): Likewise.
19324         * modules/locale (Makefile.am): Likewise.
19325         * modules/math (Makefile.am): Likewise.
19326         * modules/netdb (Makefile.am): Likewise.
19327         * modules/poll-h (Makefile.am): Likewise.
19328         * modules/pty (Makefile.am): Likewise.
19329         * modules/search (Makefile.am): Likewise.
19330         * modules/signal (Makefile.am): Likewise.
19331         * modules/spawn (Makefile.am): Likewise.
19332         * modules/stdio (Makefile.am): Likewise.
19333         * modules/stdlib (Makefile.am): Likewise.
19334         * modules/string (Makefile.am): Likewise.
19335         * modules/sys_ioctl (Makefile.am): Likewise.
19336         * modules/sys_select (Makefile.am): Likewise.
19337         * modules/sys_socket (Makefile.am): Likewise.
19338         * modules/sys_stat (Makefile.am): Likewise.
19339         * modules/sys_times (Makefile.am): Likewise.
19340         * modules/sys_utsname (Makefile.am): Likewise.
19341         * modules/sys_wait (Makefile.am): Likewise.
19342         * modules/termios (Makefile.am): Likewise.
19343         * modules/time (Makefile.am): Likewise.
19344         * modules/unistd (Makefile.am): Likewise.
19345         * modules/wchar (Makefile.am): Likewise.
19346
19347 2011-06-08  Eric Blake  <eblake@redhat.com>
19348
19349         strerror: simplify replacement
19350         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
19351         * modules/strerror (configure.ac): No prereqs needed here...
19352         * modules/strerror-override (configure.ac): ...but this needs it.
19353         (Files): Add file for needed prereq macro.
19354
19355 2011-06-08  Bruno Haible  <bruno@clisp.org>
19356
19357         strerror_r-posix: Tweaks.
19358         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
19359         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
19360         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
19361         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
19362         (gl_FUNC_STRERROR_R): ... to here.
19363         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
19364
19365 2011-06-07  Eric Blake  <eblake@redhat.com>
19366
19367         perror: document fixed bugs
19368         * doc/posix-functions/perror.texi (perror): Document recent
19369         patches.
19370
19371 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
19372
19373         stat-time: get_stat_birthtime failure is better-defined
19374         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
19375         return a timestamp whose tv_sec and tv_nsec values are both -1.
19376         Previously, the spec said only that the tv_nsec value was negative.
19377         This upward-compatible change simplifies GNU tar a bit.
19378
19379 2011-06-07  Eric Blake  <eblake@redhat.com>
19380
19381         strerror_r-posix: work around cygwin 1.7.9
19382         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
19383         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
19384         bug without replacing strerror_r.
19385         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
19386         strerror_r is buggy, but without requiring strerror_r compilation.
19387         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
19388
19389         test-perror: relax test to ignore cygwin bug
19390         * tests/test-perror2.c (main): Relax test on requiring detection
19391         of stream errors, and use unbuffered stream.
19392         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
19393         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
19394         * doc/posix-functions/fputc.texi (fputc): Likewise.
19395         * doc/posix-functions/fputs.texi (fputs): Likewise.
19396         * doc/posix-functions/fputws.texi (fputws): Likewise.
19397         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
19398         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
19399         * doc/posix-functions/getopt.texi (getopt): Likewise.
19400         * doc/posix-functions/perror.texi (perror): Likewise.
19401         * doc/posix-functions/printf.texi (printf): Likewise.
19402         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
19403         * doc/posix-functions/psignal.texi (psignal): Likewise.
19404         * doc/posix-functions/putc.texi (putc): Likewise.
19405         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
19406         Likewise.
19407         * doc/posix-functions/putchar.texi (putchar): Likewise.
19408         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
19409         Likewise.
19410         * doc/posix-functions/puts.texi (puts): Likewise.
19411         * doc/posix-functions/putwc.texi (putwc): Likewise.
19412         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
19413         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
19414         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19415         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
19416         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19417         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
19418         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
19419         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
19420
19421 2011-05-22  Bruno Haible  <bruno@clisp.org>
19422
19423         strerror: Move AC_LIBOBJ invocations to module description.
19424         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
19425         gl_PREREQ_STRERROR invocations from here...
19426         * modules/strerror (configure.ac): ... to here.
19427
19428 2011-05-21  Bruno Haible  <bruno@clisp.org>
19429
19430         perror: Use common idiom.
19431         * modules/perror (configure.ac): Reorder statements.
19432
19433 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19434
19435         tests: fix usage message in 'mktempd_'
19436         * tests/init.sh (mktempd_): In the usage message, use literal
19437         'mktempd_', not '$ME' (which is even undefined), as the name of
19438         the subroutine.
19439
19440 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19441
19442         tests init: new function 'fatal_', for hard errors
19443         Before this patch, the only way offered by tests/init.sh to
19444         properly signal a hard error was the `framework_failure_'
19445         function.  But the error message issued by that function,
19446         as its name would suggest, refers to a set-up failure in the
19447         testsuite, while hard errors can obviously also be due to
19448         other reasons.  The best way to fix this inconsistency is to
19449         introduce a new function with a more general error message.
19450         * tests/init.sh (fatal_): New function.
19451
19452 2011-06-06  Eric Blake  <eblake@redhat.com>
19453
19454         canonicalize-lgpl: use common idiom
19455         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
19456         over newer POSIX -Rf.
19457         Reported by Bruno Haible.
19458
19459         canonicalize-lgpl: work around AIX realpath bug
19460         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
19461         * doc/posix-functions/realpath.texi (realpath): Document it.
19462         Reported by Bruno Haible.
19463
19464         strerror: work around FreeBSD bug
19465         * lib/strerror.c (strerror): Special case 0.
19466         Reported by Bruno Haible.
19467
19468         strerror-override: avoid bloating errno module
19469         * modules/errno (Files, configure.ac): Move replacement strings...
19470         * modules/strerror-override: ...to new module.
19471         * modules/strerror (Depends-on): Add strerror-override.
19472         * modules/strerror_r-posix (Depends-on): Likewise.
19473         * MODULES.html.sh: Document new module.
19474         Reported by Bruno Haible.
19475
19476 2011-06-06  Bruno Haible  <bruno@clisp.org>
19477
19478         spawn-pipe tests: Rename program.
19479         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
19480         * tests/test-spawn-pipe-child.c: Update comment.
19481         * tests/test-spawn-pipe.sh: Update.
19482         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
19483
19484         spawn-pipe tests: Link the child program only against libc.
19485         * tests/test-spawn-pipe-child.c: New file, extracted from
19486         tests/test-spawn-pipe.c.
19487         (main): Expect only one argument.
19488         (is_open): New function, copied from tests/test-pipe.c.
19489         * tests/test-spawn-pipe.c: Don't include <errno.h>.
19490         (child_main): Remove function.
19491         (test_pipe): Pass only one argument to the child program.
19492         (main): Remove child process code. Expect the child program's name as
19493         first argument.
19494         * tests/test-spawn-pipe.sh: Pass the child program's name as first
19495         argument.
19496         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
19497         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
19498         test-spawn-pipe-child against no libraries.
19499
19500 2011-06-06  Bruno Haible  <bruno@clisp.org>
19501
19502         careadlinkat: Avoid mismatch between ssize_t and int.
19503         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
19504         * lib/careadlinkat.c (careadlinkatcwd): Define always.
19505
19506 2011-06-06  Jim Meyering  <meyering@redhat.com>
19507
19508         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
19509         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
19510         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
19511
19512 2011-06-05  Bruno Haible  <bruno@clisp.org>
19513
19514         ansi-c++-opt: Interoperability with libtool.
19515         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
19516         set the variable to "no", not to ":".
19517         * NEWS: Mention the change.
19518
19519 2011-06-05  Bruno Haible  <bruno@clisp.org>
19520
19521         acl: Fix test failure on AIX 7.
19522         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
19523         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
19524
19525 2011-06-05  Bruno Haible  <bruno@clisp.org>
19526
19527         pipe-filter-ii: Fix test failure on AIX and IRIX.
19528         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
19529         with EAGAIN, retry with a smaller buffer size.
19530
19531 2011-06-05  Bruno Haible  <bruno@clisp.org>
19532
19533         localename: Fix link dependencies.
19534         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
19535         * modules/localename-tests (Makefile.am): Link test-localename with
19536         $(LIBTHREAD).
19537
19538 2011-06-05  Bruno Haible  <bruno@clisp.org>
19539
19540         error: Avoid gcc warning.
19541         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
19542
19543 2011-06-05  Bruno Haible  <bruno@clisp.org>
19544
19545         unsetenv: Avoid gcc warning.
19546         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
19547
19548 2011-06-05  Bruno Haible  <bruno@clisp.org>
19549
19550         setenv: Avoid gcc warning.
19551         * lib/setenv.c (setenv): Provide declaration if system lacks it.
19552
19553 2011-06-05  Bruno Haible  <bruno@clisp.org>
19554
19555         sys_select: Ensure memset is declared also on AIX 7.
19556         * lib/sys_select.in.h: Include <string.h> also on AIX.
19557         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
19558         self-contained also on AIX 7.1.
19559
19560 2011-06-04  Jim Meyering  <meyering@redhat.com>
19561
19562         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
19563         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
19564         function name, "error".
19565         (_gl_translatable_diag_func_re): New configurable variable.
19566
19567 2011-06-04  Bruno Haible  <bruno@clisp.org>
19568
19569         getopt: Avoid gcc warning.
19570         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
19571
19572 2011-06-04  Bruno Haible  <bruno@clisp.org>
19573
19574         strerror_r: Fix comments.
19575         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
19576         commit.
19577
19578 2011-06-04  Bruno Haible  <bruno@clisp.org>
19579
19580         perror: Fix compilation error.
19581         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
19582         Undefine fprintf, not sprintf.
19583         * modules/perror (Depends-on): Remove intprops, verify.
19584
19585 2011-06-04  Bruno Haible  <bruno@clisp.org>
19586
19587         setlocale: Enable replacement on Cygwin 1.5.
19588         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
19589         Cygwin 1.5.x.
19590         * doc/posix-functions/setlocale.texi: Mention that the problem with the
19591         LC_CTYPE category also exists on Cygwin 1.5.x.
19592
19593 2011-06-04  Bruno Haible  <bruno@clisp.org>
19594
19595         strerror-override: Don't disable symbol renamings.
19596         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
19597         * lib/strerror-override.c: Include config.h.
19598         (strerror_override): Don't undefine.
19599
19600 2011-06-03  Bruno Haible  <bruno@clisp.org>
19601
19602         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
19603         * lib/localename.h: Update copyright header.
19604         * lib/localename.c: Likewise.
19605         * lib/relocatable.h: Likewise.
19606         * lib/relocatable.c: Likewise.
19607
19608 2011-06-02  Bruno Haible  <bruno@clisp.org>
19609
19610         doc: Fix a module name.
19611         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
19612
19613 2011-06-02  Bruno Haible  <bruno@clisp.org>
19614
19615         pipe2: Remove dependency on 'nonblocking' module.
19616         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
19617         O_NONBLOCK is defined by gnulib.
19618         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
19619         is zero.
19620         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
19621         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
19622         defined by gnulib.
19623         (get_nonblocking_flag): New function.
19624         (main): Test O_NONBLOCK flag only if it is nonzero.
19625         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
19626
19627 2011-06-03  Jim Meyering  <meyering@redhat.com>
19628
19629         maint: three new prohibit-header-without-use rules
19630         Prohibit use of cloexec.h, posixver.h, same.h without use.
19631         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
19632         (sc_prohibit_posixver_without_use): Likewise.
19633         (sc_prohibit_same_without_use): Likewise.
19634
19635 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19636
19637         allocator: 'die' routine is now given requested size
19638         * lib/allocator.h (struct allocator.die): New size arg.
19639         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
19640         If the actual problem is an ssize_t limitation, not a size_t or
19641         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
19642
19643 2011-06-01  Eric Blake  <eblake@redhat.com>
19644
19645         strerror: drop strerror_r dependency
19646         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
19647         * lib/strerror-override.c (strerror_override): ...to new file.
19648         * lib/strerror-override.h: Add prototype.
19649         * lib/strerror-impl.h: Delete.
19650         * lib/strerror.c (strerror): New implementation.
19651         * modules/errno (Files): Add new files.
19652         (configure.ac): Compile new file as appropriate.
19653         * modules/strerror (Files): Drop unused file.
19654         (Depends-on): Drop strerror_r-posix.
19655         * MODULES.html.sh: Document strerror_r-posix.
19656         Requested by Sam Steingold.
19657
19658         perror: call strerror_r directly
19659         * modules/perror (Files): Drop strerror-impl.h.
19660         * lib/perror.c (perror): Use our own stack buffer, rather than
19661         calling a wrapper that uses static storage.
19662         * doc/posix-functions/perror.texi (perror): Document a limitation
19663         of our replacement.
19664
19665         strerror_r: fix includes for FreeBSD
19666         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
19667         since we use abort on some platforms.
19668         Reported by Matthias Bolte.
19669
19670 2011-05-31  Bruno Haible  <bruno@clisp.org>
19671
19672         Fix link errors in tests: openat-die uses gettext-h.
19673         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
19674         against $(LIBINTL).
19675         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
19676         against $(LIBINTL).
19677         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
19678         $(LIBINTL).
19679         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
19680         against $(LIBINTL).
19681         * modules/linkat-tests (Makefile.am): Link test-linkat against
19682         $(LIBINTL).
19683         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
19684         $(LIBINTL).
19685         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
19686         against $(LIBINTL).
19687         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
19688         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
19689         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
19690         $(LIBINTL).
19691         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
19692         $(LIBINTL).
19693         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
19694         $(LIBINTL).
19695         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19696
19697 2011-05-31  Bruno Haible  <bruno@clisp.org>
19698
19699         Fix link errors in tests: wait-process uses gettext-h.
19700         * modules/nonblocking-pipe-tests (Makefile.am): Set
19701         test_nonblocking_pipe_main_LDADD.
19702         * modules/nonblocking-socket-tests (Makefile.am): Link
19703         test-nonblocking-socket-main against $(LIBINTL).
19704         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19705
19706 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
19707
19708         assert-h: work around 'verify' incompatibility
19709         * lib/verify.h: Use @...@ directives, not ifdef.
19710         * modules/assert-h (assert.h): Implement the directives.
19711         (assert.h): Substitute the symbol-prefix more consistently.
19712
19713 2011-05-29  Jim Meyering  <meyering@redhat.com>
19714
19715         trim: remove three superfluous assignments
19716         * lib/trim.c (trim2): Remove three superfluous assignments
19717         and correct brace positioning.
19718
19719 2011-05-29  Bruno Haible  <bruno@clisp.org>
19720
19721         wctype-h: Avoid namespace pollution on Solaris 2.6.
19722         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
19723         identifiers.
19724         * doc/posix-headers/wctype.texi: Mention the problem.
19725         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
19726
19727 2011-05-28  Jim Meyering  <meyering@redhat.com>
19728
19729         parse-datetime.y: accommodate -Wstrict-overflow
19730         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
19731         placate -Wstrict-overflow.
19732
19733         trim: avoid a warning from -O2 -Wstrict-overflow
19734         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
19735
19736 2011-05-29  Bruno Haible  <bruno@clisp.org>
19737
19738         gnulib-tool: Fix bug in yesterday's commit.
19739         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
19740         twice.
19741
19742 2011-05-29  Bruno Haible  <bruno@clisp.org>
19743
19744         Allow multiple gnulib generated include files to be combined.
19745         * gnulib-tool (func_compute_include_guard_prefix): New function.
19746         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
19747         ${gl_include_guard_prefix} references.
19748         (func_import, func_create_testdir): Invoke
19749         func_compute_include_guard_prefix.
19750         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
19751         * lib/ctype.in.h: Likewise.
19752         * lib/dirent.in.h: Likewise.
19753         * lib/errno.in.h: Likewise.
19754         * lib/fcntl.in.h: Likewise.
19755         * lib/float.in.h: Likewise.
19756         * lib/getopt.in.h: Likewise.
19757         * lib/iconv.in.h: Likewise.
19758         * lib/langinfo.in.h: Likewise.
19759         * lib/locale.in.h: Likewise.
19760         * lib/math.in.h: Likewise.
19761         * lib/netdb.in.h: Likewise.
19762         * lib/netinet_in.in.h: Likewise.
19763         * lib/poll.in.h: Likewise.
19764         * lib/pthread.in.h: Likewise.
19765         * lib/pty.in.h: Likewise.
19766         * lib/sched.in.h: Likewise.
19767         * lib/se-selinux.in.h: Likewise.
19768         * lib/search.in.h: Likewise.
19769         * lib/signal.in.h: Likewise.
19770         * lib/spawn.in.h: Likewise.
19771         * lib/stdarg.in.h: Likewise.
19772         * lib/stddef.in.h: Likewise.
19773         * lib/stdint.in.h: Likewise.
19774         * lib/stdio.in.h: Likewise.
19775         * lib/stdlib.in.h: Likewise.
19776         * lib/string.in.h: Likewise.
19777         * lib/strings.in.h: Likewise.
19778         * lib/sys_file.in.h: Likewise.
19779         * lib/sys_ioctl.in.h: Likewise.
19780         * lib/sys_select.in.h: Likewise.
19781         * lib/sys_socket.in.h: Likewise.
19782         * lib/sys_stat.in.h: Likewise.
19783         * lib/sys_time.in.h: Likewise.
19784         * lib/sys_times.in.h: Likewise.
19785         * lib/sys_uio.in.h: Likewise.
19786         * lib/sys_utsname.in.h: Likewise.
19787         * lib/sys_wait.in.h: Likewise.
19788         * lib/sysexits.in.h: Likewise.
19789         * lib/termios.in.h: Likewise.
19790         * lib/time.in.h: Likewise.
19791         * lib/unistd.in.h: Likewise.
19792         * lib/wchar.in.h: Likewise.
19793         * lib/wctype.in.h: Likewise.
19794         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
19795         * modules/ctype (Makefile.am): Likewise.
19796         * modules/dirent (Makefile.am): Likewise.
19797         * modules/errno (Makefile.am): Likewise.
19798         * modules/fcntl-h (Makefile.am): Likewise.
19799         * modules/float (Makefile.am): Likewise.
19800         * modules/getopt-posix (Makefile.am): Likewise.
19801         * modules/iconv-h (Makefile.am): Likewise.
19802         * modules/langinfo (Makefile.am): Likewise.
19803         * modules/locale (Makefile.am): Likewise.
19804         * modules/math (Makefile.am): Likewise.
19805         * modules/netdb (Makefile.am): Likewise.
19806         * modules/netinet_in (Makefile.am): Likewise.
19807         * modules/poll-h (Makefile.am): Likewise.
19808         * modules/pthread (Makefile.am): Likewise.
19809         * modules/pty (Makefile.am): Likewise.
19810         * modules/sched (Makefile.am): Likewise.
19811         * modules/search (Makefile.am): Likewise.
19812         * modules/selinux-h (Makefile.am): Likewise.
19813         * modules/signal (Makefile.am): Likewise.
19814         * modules/spawn (Makefile.am): Likewise.
19815         * modules/stdarg (Makefile.am): Likewise.
19816         * modules/stddef (Makefile.am): Likewise.
19817         * modules/stdint (Makefile.am): Likewise.
19818         * modules/stdio (Makefile.am): Likewise.
19819         * modules/stdlib (Makefile.am): Likewise.
19820         * modules/string (Makefile.am): Likewise.
19821         * modules/strings (Makefile.am): Likewise.
19822         * modules/sys_file (Makefile.am): Likewise.
19823         * modules/sys_ioctl (Makefile.am): Likewise.
19824         * modules/sys_select (Makefile.am): Likewise.
19825         * modules/sys_socket (Makefile.am): Likewise.
19826         * modules/sys_stat (Makefile.am): Likewise.
19827         * modules/sys_time (Makefile.am): Likewise.
19828         * modules/sys_times (Makefile.am): Likewise.
19829         * modules/sys_uio (Makefile.am): Likewise.
19830         * modules/sys_utsname (Makefile.am): Likewise.
19831         * modules/sys_wait (Makefile.am): Likewise.
19832         * modules/sysexits (Makefile.am): Likewise.
19833         * modules/termios (Makefile.am): Likewise.
19834         * modules/time (Makefile.am): Likewise.
19835         * modules/unistd (Makefile.am): Likewise.
19836         * modules/wchar (Makefile.am): Likewise.
19837         * modules/wctype-h (Makefile.am): Likewise.
19838         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
19839
19840 2011-05-29  Bruno Haible  <bruno@clisp.org>
19841
19842         assert-h: Allow multiple gnulib generated replacements to coexist.
19843         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
19844
19845 2011-05-29  Bruno Haible  <bruno@clisp.org>
19846
19847         argp: Allow coexistence with strerror_r-posix module.
19848         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
19849         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
19850         by gnulib's <string.h> replacement), assume it has the POSIX signature,
19851         not the glibc signature.
19852
19853 2011-05-28  Bruno Haible  <bruno@clisp.org>
19854
19855         gnulib-tool: Alternative structure of testdirs, similar to --import.
19856         * gnulib-tool: New option --single-configure.
19857         (func_usage): Document it.
19858         (single_configure): New variable.
19859         (func_modules_transitive_closure_separately,
19860         func_modules_transitive_closure_separately,
19861         func_determine_use_libtests, func_modules_add_dummy_separately,
19862         func_modules_to_filelist_separately): New functions, extracted from
19863         func_import.
19864         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
19865         (func_import): Use the new functions.
19866         (func_create_testdir): Set final_modules. Handle $single_configure =
19867         true case.
19868
19869 2011-05-28  Bruno Haible  <bruno@clisp.org>
19870
19871         getloadavg: Remove an unreliable safety check.
19872         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
19873         getloadavg.c is in place.
19874         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
19875         Reported by Sam Steingold <sds@gnu.org>.
19876
19877 2011-05-28  Bruno Haible  <bruno@clisp.org>
19878
19879         doc: Cleanup yet another file produced by texinfo.tex.
19880         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
19881
19882 2011-05-28  Bruno Haible  <bruno@clisp.org>
19883
19884         Finish the conditional dependencies mechanism.
19885         * gnulib-tool: New option --no-conditional-dependencies.
19886         (func_usage): Document it. Don't mark --conditional-dependencies as
19887         experimental.
19888         (cond_dependencies): The possible values can now be true, false, empty.
19889         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
19890         (func_import): Store setting in gnulib-cache.m4 and read it from there.
19891         * doc/gnulib-tool.texi (Conditional dependencies): New section.
19892
19893 2011-05-28  Bruno Haible  <bruno@clisp.org>
19894
19895         doc: Use a recent texinfo.tex.
19896         * doc/Makefile (tex_opts): New variable.
19897         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
19898
19899 2011-05-28  Jim Meyering  <meyering@redhat.com>
19900
19901         intprops.h: adjust comment to match code change
19902         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
19903         only once, it *may* have side effects.  Also fix an unrelated typo.
19904         (_GL_INT_SIGNED): Likewise.
19905
19906 2011-05-26  Simon Josefsson  <simon@josefsson.org>
19907
19908         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
19909
19910 2011-05-26  Bruno Haible  <bruno@clisp.org>
19911
19912         mbsrchr: Avoid collision with system function on Interix.
19913         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
19914         Reported by Markus Duft <mduft@gentoo.org>.
19915
19916 2011-05-15  James Youngman  <jay@gnu.org>
19917
19918         getopt: for ambiguous options, enumerate the possibilities.
19919         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
19920         the ambiguous options when an ambiguous prefix is given. This was
19921         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
19922         glibc change was
19923         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
19924
19925 2011-05-25  Eric Blake  <eblake@redhat.com>
19926
19927         getcwd: work around mingw bug
19928         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
19929         * doc/posix-functions/getcwd.texi (getcwd): Document it.
19930         Reported by Matthias Bolte.
19931
19932 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
19933
19934         test-intprops: disable -Wtype-limits diagnostics
19935         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
19936         diagnostics.  Otherwise, the integer overflow macros generate many
19937         diagnostics.  Reported by Jim Meyering in
19938         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
19939
19940         intprops: shorten, to pacify gcc -Woverlength-strings
19941         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
19942         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
19943         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
19944         likely to run afoul of C compiler limits for string constant lengths.
19945         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
19946
19947 2011-05-24  Eric Blake  <eblake@redhat.com>
19948
19949         docs: document recently fixed glibc printf bug
19950         * doc/posix-functions/fprintf.texi (fprintf): Document it.
19951         * doc/posix-functions/printf.texi (printf): Likewise.
19952         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19953         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19954
19955         closein-tests: convert to init.sh
19956         * modules/closein-tests (Files): Add init.sh
19957         * tests/test-closein.sh Use it.
19958
19959         yesno-tests: convert to init.sh
19960         * modules/yesno-tests (Files): Add init.sh.
19961         * tests/test-yesno.sh: Use it.
19962
19963         atexit-tests: ensure reliable exit status
19964         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
19965         Reported by Bruno Haible.
19966
19967 2011-05-24  Bruno Haible  <bruno@clisp.org>
19968
19969         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
19970         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
19971         gl_PREREQ_STRERROR_R invocations from here...
19972         * modules/strerror_r-posix (configure.ac): ... to here.
19973
19974 2011-05-24  Eric Blake  <eblake@redhat.com>
19975
19976         strerror_r: fix missing header
19977         * lib/strerror_r.c: Avoid compiler warning about snprintf.
19978
19979         strerror_r: fix AIX test failures
19980         * lib/strerror_r.c (strerror_r): Convert silent truncation to
19981         ERANGE failure.
19982
19983         strerror_r: fix Solaris test failures
19984         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
19985         failures.
19986         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
19987
19988         strerror_r: enforce POSIX recommendations
19989         * lib/strerror_r.c (safe_copy): New helper method.
19990         (strerror_r): Guarantee a non-empty string.
19991         * tests/test-strerror_r.c (main): Enhance tests to incorporate
19992         recent POSIX rulings and to match our strerror guarantees.
19993         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
19994
19995 2011-05-24  Jim Meyering  <meyering@redhat.com>
19996
19997         test-perror2.c: avoid warning about unused variable
19998         * tests/test-perror2.c (main): Remove declaration of unused "fp".
19999
20000 2011-05-24  Eric Blake  <eblake@redhat.com>
20001
20002         perror: avoid spurious test failure on HP-UX
20003         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
20004
20005         tests: fix logic bug in init.sh
20006         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
20007         shell.
20008
20009 2011-05-24  Jim Meyering  <meyering@redhat.com>
20010
20011         utimensat: do not reference an out-of-scope buffer
20012         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
20013         declared in an inner scope, yet "times" would be dereferenced outside
20014         the scope in which "ts" was valid.
20015         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
20016         of ts[2] "out/up", so that the use of aliased "times" (via
20017         "times = ts;") does not end up referencing an out-of-scope "ts"
20018
20019         opendir-safer.c: don't clobber errno; don't close negative FD
20020         * lib/opendir-safer.c (opendir_safer):
20021         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
20022         file descriptor, and more importantly, don't clobber the
20023         offending errno value with EINVAL.  Before, upon failure
20024         of dup_safer, we would pass the negative file descriptor to
20025         fdopendir, which would clobber errno.
20026
20027 2011-05-23  Bruno Haible  <bruno@clisp.org>
20028
20029         idcache: Fix module description.
20030         * modules/idcache (Include): Set to "idcache.h".
20031
20032 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
20033
20034         gnulib-tool: fix portability problem with MacOS sed
20035         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
20036         before the "}".  Problem reported by Leo in
20037         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
20038         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
20039         sed_extract_condition1, sed_extract_condition2.
20040
20041 2011-05-23  Bruno Haible  <bruno@clisp.org>
20042
20043         hash: Simplify autoconf macro.
20044         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
20045
20046 2011-05-23  Bruno Haible  <bruno@clisp.org>
20047
20048         getugroups: Fix module description.
20049         * modules/getugroups (Include): Set to "getugroups.h".
20050
20051 2011-05-23  Bruno Haible  <bruno@clisp.org>
20052
20053         linkat: Simplify autoconf macro.
20054         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
20055
20056 2011-05-23  Bruno Haible  <bruno@clisp.org>
20057             Eric Blake  <eblake@redhat.com>
20058
20059         linkat, renameat: Update dependencies.
20060         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
20061         * modules/linkat (Depends-on): Likewise. Remove also readlink,
20062         symlinkat.
20063
20064 2011-05-23  Jim Meyering  <meyering@redhat.com>
20065
20066         maint.mk: more tight_scope improvements
20067         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
20068         (_gl_TS_headers): Define only in if-0'd block.
20069         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
20070         sometimes we must *not* use it.  Adjust uses accordingly.
20071         (sc_tight_scope): Use much simpler grep-based test to determine
20072         whether we skip this rule.
20073
20074         maint.mk: generalize/improve the tight-scope rule
20075         * top/maint.mk: Emit a warning when the test is skipped.
20076         (_gl_TS_dir): Add $(srcdir)/ prefix.
20077         (_gl_TS_function_match): Simplify, rather than trying
20078         to enumerate common types.  Otherwise, it would fail to match an
20079         "extern unsigned char const *" declaration in idutils.
20080         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
20081         a way to support use of that type of macro.
20082         (_gl_TS_var_match): Simplify regexp.
20083         (_gl_TS_obj_files): New configurable variable.
20084         (_gl_TS_headers): Likewise.
20085
20086 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
20087
20088         verify: fix bug when gnulib <assert.h> is also included
20089         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
20090         is defined, not if _GL_STATIC_ASSERT_H is not defined.
20091         Perhaps there's a better way, but this fixes the immediate problem.
20092         Problem reported by Bruno Haible in
20093         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
20094
20095 2011-05-22  Bruno Haible  <bruno@clisp.org>
20096
20097         xgetcwd: Simplify autoconf macro.
20098         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
20099
20100 2011-05-22  Bruno Haible  <bruno@clisp.org>
20101
20102         New module 'mktime-internal'.
20103         * modules/mktime-internal: New file.
20104         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
20105         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
20106         mktime_internal as a C macro if libc has __mktime_internal.
20107         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
20108         conditions.
20109         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
20110
20111 2011-05-22  Bruno Haible  <bruno@clisp.org>
20112
20113         timegm: Correct mktime replacement statements.
20114         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
20115         defining mktime as a C macro. This completes a 2009-07-28 commit.
20116
20117 2011-05-22  Bruno Haible  <bruno@clisp.org>
20118
20119         timegm: Simplify autoconf macro.
20120         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
20121
20122 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
20123
20124         clock-time: change to LGPLv2+.
20125         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
20126         BSD-like but we have no mark for that; this is good enough for now.
20127
20128 2011-05-21  Bruno Haible  <bruno@clisp.org>
20129
20130         strerror_r: Fix comments.
20131         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
20132
20133 2011-05-21  Bruno Haible  <bruno@clisp.org>
20134
20135         relocatable-prog-wrapper: Fix possible link error.
20136         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
20137         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
20138         (gl_FUNC_SETENV): ... to here.
20139         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
20140         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
20141
20142 2011-05-21  Bruno Haible  <bruno@clisp.org>
20143
20144         relocatable-prog-wrapper: Assume strerror() exists.
20145         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
20146         m4/strerror.m4.
20147         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
20148         * lib/relocwrapper.c: Remove mention of strerror module.
20149         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
20150         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
20151         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
20152         C macro.
20153
20154 2011-05-21  Bruno Haible  <bruno@clisp.org>
20155
20156         select: Simplify replacement idiom.
20157         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
20158         Win32 platforms.
20159         * lib/sys_select.in.h (select): Simplify accordingly.
20160         * modules/select (Depends-on): Likewise.
20161
20162 2011-05-21  Bruno Haible  <bruno@clisp.org>
20163
20164         mkdir-p: Simplify autoconf macro.
20165         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
20166         gl_FUNC_LCHOWN.
20167
20168 2011-05-21  Eric Blake  <eblake@redhat.com>
20169
20170         strerror_r: avoid clobbering strerror on cygwin
20171         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
20172         fall back instead to sys_errlist.
20173         * modules/strerror (configure.ac): Add witness.
20174         * tests/test-strerror_r.c (main): Enhance test.
20175         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20176         * tests/test-perror2.c (main): Free memory before exit.
20177
20178 2011-05-21  Bruno Haible  <bruno@clisp.org>
20179
20180         mkdtemp: Use gnulib naming conventions.
20181         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
20182         * modules/mkdtemp (configure.ac): Update.
20183
20184 2011-05-20  Eric Blake  <eblake@redhat.com>
20185
20186         strerror_r: avoid corrupting errno on Solaris
20187         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
20188         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20189
20190         strerror_r: avoid compiler warning
20191         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
20192
20193         strerror_r: simplify AIX code
20194         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
20195
20196         test-perror: avoid spurious failure on FreeBSD
20197         * modules/perror-tests (Depends-on): Add strerror, now that
20198         strerror_r no longer pulls it in.
20199
20200 2011-05-20  Bruno Haible  <bruno@clisp.org>
20201
20202         strerror_r-posix: Remove unused dependencies.
20203         * modules/strerror_r-posix (Depends-on): Remove strerror.
20204         Reported by Eric Blake.
20205
20206 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
20207
20208         intprops: remove assumption about A|B representation
20209         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
20210         is a valid integer if both A and B are.  Although this is true for
20211         all known practical hosts, the C standard doesn't guarantee it,
20212         and the code need not assume it.  Also, this change may work around
20213         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
20214         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
20215
20216 2011-05-20  Eric Blake  <eblake@redhat.com>
20217
20218         perror: work around FreeBSD bug
20219         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
20220         is broken.  Move AC_LIBOBJ...
20221         * modules/perror (configure.ac): Here.
20222         * doc/posix-functions/perror.texi (perror): Document this.
20223         * tests/test-perror2.c (main): Enhance test.
20224
20225         test-perror: check for strerror interactions
20226         * tests/macros.h (STREQ): Add macro.
20227         * modules/perror-tests (Files): Add second test.
20228         * tests/test-perror2.c (main): New file.
20229         * doc/posix-functions/perror.texi (perror): Document glibc bug.
20230
20231         test-perror: rewrite to use init script
20232         * modules/perror-tests (Files): Add init.sh.
20233         * tests/test-perror.sh: Use temporary directory.
20234
20235 2011-05-20  Jim Meyering  <meyering@redhat.com>
20236
20237         maint: replace misused "a" with "an"
20238         * doc/intprops.texi: "a integer"
20239         * doc/regex.texi: "a explanation"
20240         * lib/alignof.h: "a object"
20241         * lib/argmatch.h: "a explanation"
20242         * lib/argp-help.c: "a option" and "a OPTION_DOC"
20243         * lib/stdint.in.h: "a integer"
20244         * lib/userspec.c: "a owner"
20245         * doc/gnulib.texi: Fix "a idea", and reword.
20246
20247 2011-05-19  Jim Meyering  <meyering@redhat.com>
20248
20249         maint: correct misuse of "a" and "an"
20250         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
20251         * lib/argp-help.c: "an docum...": s/an/a/
20252         * lib/argp-parse.c: "An vector": s/An/A/
20253         * lib/execute.c: "an native": s/an/a/
20254         * lib/spawn-pipe.c: Likewise.
20255         * lib/gc.h: "an Gc_rc": s/an/a/
20256         * lib/unigbrk.in.h: "an grapheme": s/an/a/
20257         * lib/fts.c: "an stat.st_dev": s/an/a/
20258
20259 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20260
20261         intprops-tests: work around HP-UX 11.23 cc bug with constants
20262         * tests/test-intprops.c (VERIFY): New macro.
20263         (main): Use it, instead of verify, to work around the compiler bug; see
20264         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20265
20266         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
20267         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
20268         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
20269         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
20270         (_GL_REMAINDER_OVERFLOW): Use it.
20271
20272         intprops-tests: revert unsigned part of previous change
20273         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
20274         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
20275         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
20276         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
20277
20278 2011-05-19  Bruno Haible  <bruno@clisp.org>
20279
20280         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
20281         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
20282         strerror_r() returned without filling the buffer.
20283         Reported by Eric Blake.
20284
20285 2011-05-19  Eric Blake  <eblake@redhat.com>
20286
20287         strerror_r: guarantee unchanged errno
20288         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
20289         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
20290         failure.
20291         * tests/test-strerror_r.c (main): Enhance test.
20292
20293 2011-05-19  Bruno Haible  <bruno@clisp.org>
20294
20295         strerror_r: Reorder #if blocks.
20296         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
20297         for consistency with the previous commit.
20298
20299 2011-05-19  Bruno Haible  <bruno@clisp.org>
20300
20301         perror: Avoid clobbering the strerror buffer when possible.
20302         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
20303         * lib/strerror.c: Include it.
20304         * modules/strerror (Files): Add lib/strerror-impl.h.
20305         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
20306         (my_strerror): New function, defined through lib/strerror-impl.h.
20307         (perror): Use it instead of strerror.
20308         * modules/perror (Files): Add lib/strerror-impl.h.
20309         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
20310
20311 2011-05-19  Eric Blake  <eblake@redhat.com>
20312
20313         strerror_r: fix on newer cygwin
20314         * lib/strerror_r.c (strerror_r): Cygwin now has
20315         __xpg_strerror_r, use it.
20316
20317 2011-05-19  Bruno Haible  <bruno@clisp.org>
20318
20319         strerror_r: Avoid clobbering the strerror buffer when possible.
20320         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
20321         (sys_nerr, sys_errlist): New declarations.
20322         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
20323         HP-UX, native Win32, IRIX, and 32-bit Solaris.
20324         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
20325
20326 2011-05-19  Bruno Haible  <bruno@clisp.org>
20327
20328         strerror_r: Fix test failure on mingw.
20329         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
20330         EXTEND_STRERROR_R.
20331         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
20332         macros from errno.in.h instead.
20333
20334 2011-05-19  Eric Blake  <eblake@redhat.com>
20335
20336         strerror: relax test for Solaris
20337         * tests/test-strerror.c (main): Permit Solaris behavior.
20338         * tests/test-strerror_r.c (main): Likewise.
20339
20340         strerror: enforce POSIX ruling on strerror(0)
20341         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
20342         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
20343         * lib/strerror_r.c (rpl_strerror_r): Work around it.
20344         * doc/posix-functions/strerror.texi (strerror): Document it.
20345         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
20346         * tests/test-strerror.c (main): Strengthen test.
20347         * tests/test-strerror_r.c (main): Likewise.
20348
20349 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20350
20351         intprop-tests: port to older and more-pedantic compilers
20352         * modules/intprops-tests (Files): Add tests/macros.h.
20353         * tests/test-intprops.c: Include macros.h.
20354         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
20355         it's no longer documented to expand to an integer constant expression.
20356         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
20357         argument is floating point, as it's no longer documented to expand
20358         to an integer constant expression in that case.
20359         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
20360         compiler bugs reported by Bruno Haible.  See
20361         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20362         (U0, U1): New constants, to work around the same bugs.  Also,
20363         in tests, use e.g., "(unsigned int) 39" rather than "39u".
20364
20365         intprops: work around C compiler bugs
20366         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
20367         bug in Sun C 5.11 2010/08/13 and other compilers; see
20368         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20369
20370         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
20371         * doc/intprops.texi (Integer Type Determination): Fix
20372         documentation for TYPE_IS_INTEGER: it returns an constant
20373         expression, not an integer constant expression.  Fix doc for
20374         TYPE_SIGNED: it returns an integer constant expression only if its
20375         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
20376         hardly worth documented that way....)
20377
20378 2011-05-18  Bruno Haible  <bruno@clisp.org>
20379
20380         strerror_r: Avoid clobbering the strerror buffer when possible.
20381         * lib/strerror_r.c (strerror_r): Merge the three implementations.
20382         Handle gnulib defined errno values here. When strerror() returns NULL
20383         or an empty string, return EINVAL.
20384         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
20385         gnulib defined errno values here.
20386         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
20387
20388 2011-05-18  Eric Blake  <eblake@redhat.com>
20389
20390         fnmatch: avoid compiler warning
20391         * lib/fnmatch_loop.c (FCT): Use correct type.
20392         Reported by Matthias Bolte.
20393
20394 2011-05-13  Jim Meyering  <meyering@redhat.com>
20395
20396         maint.mk: three new prohibit_<HDR>_without_use rules
20397         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
20398         (sc_prohibit_stdio-safer_without_use): Likewise.
20399         (sc_prohibit_xfreopen_without_use): Likewise.
20400
20401 2011-05-17  Jim Meyering  <meyering@redhat.com>
20402
20403         announce-gen: fail if the NEWS delta is empty
20404         If there's nothing noteworthy in NEWS, then either you forgot
20405         or you shouldn't be releasing.
20406         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
20407
20408 2011-05-17  Pádraig Brady <P@draigBrady.com>
20409
20410         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
20411         reserved symbols starting with double underscore from the check.
20412
20413 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
20414
20415         intprops: add doc
20416         * doc/intprops.texi: New file, documenting intprops.
20417         * doc/gnulib.texi (Particular Modules): Include it.
20418
20419         verify: add doc to gnulib manual and fix example
20420         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
20421         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
20422         (Compile-time Assertions): Fix example so it can't overflow.
20423
20424 2011-05-17  Jim Meyering  <meyering@redhat.com>
20425
20426         warnings.m4: don't usurp save_CPPFLAGS variable name
20427         * m4/warnings.m4: Prefix local temporary variable name with gl_.
20428
20429         doc: fix typo
20430         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
20431
20432 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20433             Bruno Haible  <bruno@clisp.org>
20434
20435         doc: Tweak recent change.
20436         * README (Portability guidelines): Tweak new text.
20437         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
20438         Interix 6.1.
20439
20440 2011-05-16  Eric Blake  <eblake@redhat.com>
20441
20442         inttypes: avoid autoconf warning
20443         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
20444         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20445
20446 2011-05-16  Sam Steingold <sds@gnu.org>
20447         and Eric Blake  <eblake@redhat.com>
20448
20449         vc-list-files: accept multiple directory operands
20450         * build-aux/vc-list-files: Iterate over all remaining operands.
20451
20452 2011-05-16  Bruno Haible  <bruno@clisp.org>
20453
20454         Fix confusion regarding deprecated modules.
20455         * modules/calloc (Status, Notice): Mark module as deprecated, not
20456         obsolete.
20457         * modules/fnmatch-posix (Status, Notice): Likewise.
20458         * modules/getdate (Status, Notice): Likewise.
20459         * modules/getopt (Status, Notice): Likewise.
20460         * modules/malloc (Status, Notice): Likewise.
20461         * modules/pipe (Status, Notice): Likewise.
20462         * modules/realloc (Status, Notice): Likewise.
20463         * modules/rename-dest-slash (Status, Notice): Likewise.
20464         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
20465         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
20466         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
20467         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
20468         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
20469
20470 2011-05-16  Bruno Haible  <bruno@clisp.org>
20471
20472         doc: List the target platforms.
20473         * doc/gnulib-intro.texi (Target Platforms): New section.
20474         * doc/gnulib.texi (Introduction): Update menu.
20475         * README (Portability guidelines): Refer to the new section. Update
20476         statement about oldest supported environment. Remove rationale why
20477         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
20478         unportable C89 function.
20479         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
20480         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
20481
20482 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20483
20484         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
20485
20486 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
20487
20488         intprops-tests: new module
20489         * modules/intprops-tests, tests/test-intprops.c: New files.
20490
20491         intprops: add safe, portable integer overflow checking
20492         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
20493         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
20494         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
20495         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
20496         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
20497         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
20498         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
20499         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
20500         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
20501         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
20502         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
20503
20504 2011-05-12  James Youngman  <jay@gnu.org>
20505
20506         Add a test for glibc's Bugzilla bug #12378.
20507         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
20508         doesn't allow the literal matching of a lone "[" (which is
20509         required by POSIX).
20510         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
20511
20512 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
20513
20514         Sync glibc change fixing Bugzilla bug #12378.
20515         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
20516         beginning and fall back to matching as normal character if the
20517         string ends before the matching ']' is found.  This is what POSIX
20518         requires.
20519
20520 2011-05-13  Eric Blake  <eblake@redhat.com>
20521
20522         getcwd-lgpl: relax test for FreeBSD
20523         * doc/posix-functions/getcwd.texi (getcwd): Document portability
20524         issue.
20525         * tests/test-getcwd-lgpl.c (main): Relax test.
20526         Reported by Matthias Bolte.
20527
20528 2011-05-11  Eric Blake  <eblake@redhat.com>
20529
20530         test-fflush: silence compiler warning
20531         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
20532
20533 2011-05-11  Bruno Haible  <bruno@clisp.org>
20534
20535         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
20536         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
20537         * modules/canonicalize (Depends-on): Add 'nocrash'.
20538         * modules/canonicalize-lgpl (Depends-on): Likewise.
20539         * doc/posix-functions/realpath.texi: Update platforms list.
20540         Reported by Ryan Schmidt <ryandesign@macports.org>.
20541
20542 2011-05-11  Bruno Haible  <bruno@clisp.org>
20543
20544         group-member: Declare function in <unistd.h>.
20545         * lib/unistd.in.h (group_member): New declaration.
20546         * lib/group-member.h: Remove file.
20547         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
20548         * tests/test-unistd-c++.cc: Check signature of group_member.
20549         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
20550         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
20551         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
20552         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
20553         HAVE_GROUP_MEMBER.
20554         * modules/group-member (Files): Remove lib/group-member.h.
20555         (Depends-on): Add unistd. Specify conditions.
20556         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20557         (Include): Change to <unistd.h>.
20558         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
20559         HAVE_GROUP_MEMBER.
20560         * NEWS: Mention the change.
20561         * lib/euidaccess.c: Don't include group-member.h.
20562
20563 2011-05-11  Bruno Haible  <bruno@clisp.org>
20564
20565         group-member: Document module.
20566         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
20567         module.
20568
20569 2011-05-11  Bruno Haible  <bruno@clisp.org>
20570
20571         fclose: Fix mistake earlier today.
20572         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
20573
20574 2011-05-11  Eric Blake  <eblake@redhat.com>
20575
20576         fclose: preserve fflush errors
20577         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
20578         Reported by Jim Meyering.
20579
20580         bootstrap: support a prereq of 'rpcgen -' on RHEL5
20581         * build-aux/bootstrap (check_versions): When no specific version
20582         is required, merely check that the app produces an exit status
20583         that indicates its existence.
20584
20585         maint.mk: drop redundant check
20586         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
20587         the same but better.
20588
20589 2011-05-11  Bruno Haible  <bruno@clisp.org>
20590
20591         fclose: Fix possible link error.
20592         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
20593         unregister_shadow_fd. Improve comments.
20594         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
20595         Eric Blake.
20596
20597 2011-05-11  Jim Meyering  <meyering@redhat.com>
20598
20599         maint.mk: improve "can not" detection and generalize rule name
20600         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
20601         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
20602         Use the same technique as in sc_prohibit_doubled_word, so that
20603         we recognize "can not" also when the words are separated by a newline.
20604         Suggested by Eric Blake.
20605         (perl_filename_lineno_text_): Define.  Factored out of...
20606         (prohibit_doubled_word_): ...here.  Use the new definition.
20607         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
20608         (prohibit_undesirable_word_seq_RE_): New overridable variable.
20609         (ignore_undesirable_word_sequence_RE_): New overridable variable.
20610
20611 2011-05-10  Eric Blake  <eblake@redhat.com>
20612
20613         fclose: avoid double close race when possible
20614         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
20615         all but WINDOWS_SOCKETS.
20616
20617 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
20618
20619         openat: correct new comment
20620         * lib/openat-proc.c (openat_proc_name): Correct the comment.
20621
20622 2011-05-10  Jim Meyering  <meyering@redhat.com>
20623
20624         openat: add comments
20625         * lib/openat-proc.c (openat_proc_name): Add comments,
20626         mostly from Eric Blake.
20627
20628 2011-05-09  Eric Blake  <eblake@redhat.com>
20629
20630         openat: reduce syscalls in first probe of /proc
20631         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
20632         be a directory.  Simplify the probe for .. bugs.
20633         * modules/openat (Depends-on): Drop same-inode.
20634         Reported by Bastien ROUCARIES.
20635
20636 2011-05-09  Jim Meyering  <meyering@redhat.com>
20637
20638         maint.mk: change semantics/name of tight_scope variables
20639         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
20640         Rename variables to align with semantics that make them more useful.
20641
20642         maint.mk: tweak new rule's name not to impinge
20643         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
20644         (sc_tight_scope): Use new rule name rather than $@-0.
20645
20646         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
20647         * top/maint.mk (sc_tight_scope): New rule.
20648         (sc_tight_scope-0): New rule, ifdef'd out.
20649         (_gl_TS_dir): Default.
20650         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
20651         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
20652
20653 2011-05-09  Simon Josefsson  <simon@josefsson.org>
20654
20655         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
20656         Haible <bruno@clisp.org>.
20657
20658 2011-05-08  Bruno Haible  <bruno@clisp.org>
20659
20660         Comments.
20661         * m4/isnanf.m4: Add comment.
20662         * m4/isnanl.m4: Likewise.
20663
20664 2011-05-08  Bruno Haible  <bruno@clisp.org>
20665
20666         glob: Remove obsolete macro.
20667         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
20668
20669 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
20670
20671         intprops: Sun C 5.11 supports __typeof__
20672         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
20673         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
20674         which is new.
20675         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
20676
20677         intprops: switch to usual gnulib indenting and naming
20678         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
20679         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
20680
20681         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
20682
20683 2011-05-08  Jim Meyering  <meyering@redhat.com>
20684
20685         maint.mk: suppress "Entering/Leaving directory" diag in announcement
20686         * top/maint.mk (release-prep): Use make's --no-print-directory
20687         option when generating the announcement.  This eliminates the
20688         pesky "make[2]: Entering/Leaving directory" diagnostics in the
20689         generated announcement template.
20690
20691 2011-05-08  Bruno Haible  <bruno@clisp.org>
20692
20693         tzset: Fix gettimeofday wrapper on Solaris 2.6.
20694         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
20695         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
20696
20697 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
20698
20699         ignore-value, verify: Omit include files from lib_SOURCES.
20700         * modules/ignore-value, modules/verify (Makefile.am):
20701         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
20702         that leads Automake to duplicate use of am__objects_... variables
20703         in Makefile.in.  See
20704         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
20705
20706 2011-05-07  Bruno Haible  <bruno@clisp.org>
20707
20708         fclose: Simplify autoconf macro.
20709         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
20710         defined.
20711
20712 2011-05-07  Bruno Haible  <bruno@clisp.org>
20713
20714         canonicalize-lgpl: Fix autoconf macro ordering bug.
20715         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
20716         gl_STDLIB_H_DEFAULTS.
20717
20718 2011-05-06  Eric Blake  <eblake@redhat.com>
20719
20720         maintainer-makefile: make sc_po_check easier to tune
20721         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
20722         to probe for strings, such as an alternate location for gnulib.
20723
20724         fclose: guarantee behavior on seekable stdin
20725         * modules/fclose (Depends-on): Add fflush.
20726         * doc/posix-functions/fclose.texi (fclose): Document this.
20727         * tests/test-fclose.c (main): Make test for this unconditional.
20728
20729 2011-05-06  Bruno Haible  <bruno@clisp.org>
20730
20731         fflush, fpurge: Relicense under LGPLv2+.
20732         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
20733         * modules/fpurge (License): Likewise.
20734         With permission from Eric Blake and Jim Meyering.
20735         Suggested by Eric Blake.
20736
20737 2011-05-06  Karl Berry  <karl@gnu.org>
20738
20739         * MODULES.html.sh (func_all_modules): remove exit.
20740
20741 2011-05-06  Jim Meyering  <meyering@redhat.com>
20742
20743         maint.mk: use info-gnu@ as the default only for a stable release
20744         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
20745         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
20746         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
20747         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
20748
20749 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
20750
20751         assert-h: new module, which supports C1X-style static_assert
20752         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
20753         * lib/verify.h: Revamp so that this can be copied into assert.h,
20754         while retaining the ability to use it standalone as before.
20755         Rename private identifiers so as not to encroach on the
20756         standard C namespace, since this is now used by assert.h.
20757         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
20758         the old verify_true.
20759         (_GL_VERIFY_TRUE): New macro, with much of the contents of
20760         the old verify_true.  Use _GL_VERIFY_TYPE.
20761         (_GL_VERIFY): New macro, with much of the contents of the old verify.
20762         (static_assert): New macro, if _GL_STATIC_ASSERT_H
20763         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
20764         defined when this file is copied into the replacement assert.h.
20765         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
20766         and _Static_assert is not built in.
20767         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
20768         defined, and use the new macros mentioned above.
20769         * doc/posix-headers/assert.texi: Document this.
20770
20771 2011-05-05  Bruno Haible  <bruno@clisp.org>
20772
20773         fclose, fflush: Respect rules for use of AC_LIBOBJ.
20774         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
20775         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
20776         gl_REPLACE_FCLOSE here.
20777         * modules/fflush (Depends-on): Remove fclose.
20778         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
20779         combination with module 'fclose'.
20780
20781 2011-05-05  Bruno Haible  <bruno@clisp.org>
20782
20783         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
20784         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
20785         gl_FUNC_FFLUSH.
20786         (gl_FUNC_FFLUSH): Use it.
20787         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
20788         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
20789         gl_REPLACE_FSEEKO here.
20790
20791 2011-05-05  Bruno Haible  <bruno@clisp.org>
20792
20793         tzset: Relicense under LGPL.
20794         * modules/tzset (License): Change to LGPL.
20795         No agreement needed; it's a no-op.
20796
20797         strtoimax, strtoumax: Relicense under LGPL.
20798         * modules/strtoimax (License): Change to LGPL.
20799         * modules/strtoumax (License): Likewise.
20800         With permission from Jim Meyering, Paul Eggert:
20801         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
20802         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
20803
20804         getgroups: Relicense under LGPL.
20805         * modules/getgroups (License): Change to LGPL.
20806         With permission from Jim Meyering, Paul Eggert, Eric Blake:
20807         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
20808         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
20809         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20810
20811         nanosleep: Relicense under LGPL.
20812         * modules/nanosleep (License): Change to LGPL.
20813         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
20814         Haible:
20815         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
20816         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
20817         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20818         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
20819
20820         futimens: Relicense under LGPL.
20821         * modules/futimens (License): Change to LGPL.
20822         With permission from Eric Blake:
20823         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20824
20825         fflush: Relicense under LGPL.
20826         * modules/fflush (License): Change to LGPL.
20827         With permission from Eric Blake, Bruno Haible, Jim Meyering:
20828         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
20829         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
20830         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
20831
20832         tmpfile: Relicense under LGPL.
20833         * modules/tmpfile (License): Change to LGPL.
20834         With permission from Ben Pfaff:
20835         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
20836
20837         isfinite: Relicense under LGPL.
20838         * modules/isfinite (License): Change to LGPL.
20839         With permission from Ben Pfaff, Bruno Haible:
20840         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
20841         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
20842
20843         acosl..tanl: Relicense under LGPL.
20844         * modules/acosl (License): Change to LGPL.
20845         * modules/asinl (License): Likewise.
20846         * modules/atanl (License): Likewise.
20847         * modules/cosl (License): Likewise.
20848         * modules/expl (License): Likewise.
20849         * modules/logl (License): Likewise.
20850         * modules/sinl (License): Likewise.
20851         * modules/sqrtl (License): Likewise.
20852         * modules/tanl (License): Likewise.
20853         Source code originally from glibc and Paolo Bonzini. Agreements:
20854         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
20855         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
20856
20857 2011-05-05  Bruno Haible  <bruno@clisp.org>
20858
20859         signal: Define sighandler_t.
20860         * lib/signal.in.h (sighandler_t): New type.
20861         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
20862         whether sighandler_t is defined.
20863         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
20864         * modules/signal (Depends-on): Add extensions.
20865         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
20866         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
20867         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
20868
20869 2011-05-05  Eric Blake  <eblake@redhat.com>
20870
20871         maint: remove useless REPLACE_*_H macros
20872         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
20873         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
20874         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
20875         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
20876         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
20877         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
20878         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
20879         * m4/btowc.m4: Update callers.
20880         * m4/dirfd.m4: Likewise.
20881         * m4/duplocale.m4: Likewise.
20882         * m4/fchdir.m4: Likewise.
20883         * m4/fdopendir.m4: Likewise.
20884         * m4/inet_ntop.m4: Likewise.
20885         * m4/inet_pton.m4: Likewise.
20886         * m4/ioctl.m4: Likewise.
20887         * m4/mbrlen.m4: Likewise.
20888         * m4/mbrtowc.m4: Likewise.
20889         * m4/mbsinit.m4: Likewise.
20890         * m4/mbsnrtowcs.m4: Likewise.
20891         * m4/mbsrtowcs.m4: Likewise.
20892         * m4/poll.m4: Likewise.
20893         * m4/setlocale.m4: Likewise.
20894         * m4/wcrtomb.m4: Likewise.
20895         * m4/wcsnrtombs.m4: Likewise.
20896         * m4/wcsrtombs.m4: Likewise.
20897         * m4/wctob.m4: Likewise.
20898         * m4/wcwidth.m4: Likewise.
20899         * modules/posix_spawn: Likewise.
20900         * modules/posix_spawn_file_actions_addclose: Likewise.
20901         * modules/posix_spawn_file_actions_adddup2: Likewise.
20902         * modules/posix_spawn_file_actions_addopen: Likewise.
20903         * modules/posix_spawn_file_actions_destroy: Likewise.
20904         * modules/posix_spawn_file_actions_init: Likewise.
20905         * modules/posix_spawnattr_destroy: Likewise.
20906         * modules/posix_spawnattr_getflags: Likewise.
20907         * modules/posix_spawnattr_getpgroup: Likewise.
20908         * modules/posix_spawnattr_getschedparam: Likewise.
20909         * modules/posix_spawnattr_getschedpolicy: Likewise.
20910         * modules/posix_spawnattr_getsigdefault: Likewise.
20911         * modules/posix_spawnattr_getsigmask: Likewise.
20912         * modules/posix_spawnattr_init: Likewise.
20913         * modules/posix_spawnattr_setflags: Likewise.
20914         * modules/posix_spawnattr_setpgroup: Likewise.
20915         * modules/posix_spawnattr_setschedparam: Likewise.
20916         * modules/posix_spawnattr_setschedpolicy: Likewise.
20917         * modules/posix_spawnattr_setsigdefault: Likewise.
20918         * modules/posix_spawnattr_setsigmask: Likewise.
20919         * modules/posix_spawnp: Likewise.
20920
20921 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
20922
20923         Add option to do-release-commit-and-tag to specify branch.
20924         * build-aux/do-release-commit-and-tag: Add --branch.
20925
20926 2011-05-03  Bruno Haible  <bruno@clisp.org>
20927
20928         Avoid unnecessary compilation units, through conditional dependencies.
20929         * modules/accept (Depends-on): Add conditions to the dependencies.
20930         * modules/acosl (Depends-on): Likewise.
20931         * modules/argz (Depends-on): Likewise.
20932         * modules/asinl (Depends-on): Likewise.
20933         * modules/atanl (Depends-on): Likewise.
20934         * modules/atoll (Depends-on): Likewise.
20935         * modules/bind (Depends-on): Likewise.
20936         * modules/btowc (Depends-on): Likewise.
20937         * modules/canonicalize-lgpl (Depends-on): Likewise.
20938         * modules/ceil (Depends-on): Likewise.
20939         * modules/ceilf (Depends-on): Likewise.
20940         * modules/ceill (Depends-on): Likewise.
20941         * modules/chdir-long (Depends-on): Likewise.
20942         * modules/chown (Depends-on): Likewise.
20943         * modules/close (Depends-on): Likewise.
20944         * modules/connect (Depends-on): Likewise.
20945         * modules/cosl (Depends-on): Likewise.
20946         * modules/dirfd (Depends-on): Likewise.
20947         * modules/dprintf (Depends-on): Likewise.
20948         * modules/dprintf-posix (Depends-on): Likewise.
20949         * modules/error (Depends-on): Likewise.
20950         * modules/euidaccess (Depends-on): Likewise.
20951         * modules/expl (Depends-on): Likewise.
20952         * modules/faccessat (Depends-on): Likewise.
20953         * modules/fchdir (Depends-on): Likewise.
20954         * modules/fclose (Depends-on): Likewise.
20955         * modules/fcntl (Depends-on): Likewise.
20956         * modules/fdopendir (Depends-on): Likewise.
20957         * modules/fflush (Depends-on): Likewise.
20958         * modules/floor (Depends-on): Likewise.
20959         * modules/floorf (Depends-on): Likewise.
20960         * modules/floorl (Depends-on): Likewise.
20961         * modules/fnmatch (Depends-on): Likewise.
20962         * modules/fopen (Depends-on): Likewise.
20963         * modules/fprintf-posix (Depends-on): Likewise.
20964         * modules/frexp (Depends-on): Likewise.
20965         * modules/frexp-nolibm (Depends-on): Likewise.
20966         * modules/frexpl (Depends-on): Likewise.
20967         * modules/frexpl-nolibm (Depends-on): Likewise.
20968         * modules/fseek (Depends-on): Likewise.
20969         * modules/fsusage (Depends-on): Likewise.
20970         * modules/ftell (Depends-on): Likewise.
20971         * modules/ftello (Depends-on): Likewise.
20972         * modules/futimens (Depends-on): Likewise.
20973         * modules/getcwd (Depends-on): Likewise.
20974         * modules/getcwd-lgpl (Depends-on): Likewise.
20975         * modules/getdelim (Depends-on): Likewise.
20976         * modules/getdomainname (Depends-on): Likewise.
20977         * modules/getgroups (Depends-on): Likewise.
20978         * modules/gethostname (Depends-on): Likewise.
20979         * modules/getline (Depends-on): Likewise.
20980         * modules/getlogin_r (Depends-on): Likewise.
20981         * modules/getopt-posix (Depends-on): Likewise.
20982         * modules/getpeername (Depends-on): Likewise.
20983         * modules/getsockname (Depends-on): Likewise.
20984         * modules/getsockopt (Depends-on): Likewise.
20985         * modules/getsubopt (Depends-on): Likewise.
20986         * modules/getusershell (Depends-on): Likewise.
20987         * modules/glob (Depends-on): Likewise.
20988         * modules/grantpt (Depends-on): Likewise.
20989         * modules/iconv_open (Depends-on): Likewise.
20990         * modules/iconv_open-utf (Depends-on): Likewise.
20991         * modules/inet_ntop (Depends-on): Likewise.
20992         * modules/inet_pton (Depends-on): Likewise.
20993         * modules/ioctl (Depends-on): Likewise.
20994         * modules/isapipe (Depends-on): Likewise.
20995         * modules/isfinite (Depends-on): Likewise.
20996         * modules/isinf (Depends-on): Likewise.
20997         * modules/lchown (Depends-on): Likewise.
20998         * modules/ldexpl (Depends-on): Likewise.
20999         * modules/link (Depends-on): Likewise.
21000         * modules/linkat (Depends-on): Likewise.
21001         * modules/listen (Depends-on): Likewise.
21002         * modules/logl (Depends-on): Likewise.
21003         * modules/lstat (Depends-on): Likewise.
21004         * modules/mbrlen (Depends-on): Likewise.
21005         * modules/mbrtowc (Depends-on): Likewise.
21006         * modules/mbsinit (Depends-on): Likewise.
21007         * modules/mbsnrtowcs (Depends-on): Likewise.
21008         * modules/mbsrtowcs (Depends-on): Likewise.
21009         * modules/mbtowc (Depends-on): Likewise.
21010         * modules/memcmp (Depends-on): Likewise.
21011         * modules/mkdir (Depends-on): Likewise.
21012         * modules/mkdtemp (Depends-on): Likewise.
21013         * modules/mkfifo (Depends-on): Likewise.
21014         * modules/mkfifoat (Depends-on): Likewise.
21015         * modules/mknod (Depends-on): Likewise.
21016         * modules/mkostemp (Depends-on): Likewise.
21017         * modules/mkostemps (Depends-on): Likewise.
21018         * modules/mkstemp (Depends-on): Likewise.
21019         * modules/mkstemps (Depends-on): Likewise.
21020         * modules/mktime (Depends-on): Likewise.
21021         * modules/nanosleep (Depends-on): Likewise.
21022         * modules/open (Depends-on): Likewise.
21023         * modules/openat (Depends-on): Likewise.
21024         * modules/perror (Depends-on): Likewise.
21025         * modules/poll (Depends-on): Likewise.
21026         * modules/popen (Depends-on): Likewise.
21027         * modules/posix_spawn (Depends-on): Likewise.
21028         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
21029         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
21030         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
21031         * modules/posix_spawnp (Depends-on): Likewise.
21032         * modules/pread (Depends-on): Likewise.
21033         * modules/printf-posix (Depends-on): Likewise.
21034         * modules/ptsname (Depends-on): Likewise.
21035         * modules/putenv (Depends-on): Likewise.
21036         * modules/pwrite (Depends-on): Likewise.
21037         * modules/readline (Depends-on): Likewise.
21038         * modules/readlink (Depends-on): Likewise.
21039         * modules/readlinkat (Depends-on): Likewise.
21040         * modules/recv (Depends-on): Likewise.
21041         * modules/recvfrom (Depends-on): Likewise.
21042         * modules/regex (Depends-on): Likewise.
21043         * modules/remove (Depends-on): Likewise.
21044         * modules/rename (Depends-on): Likewise.
21045         * modules/renameat (Depends-on): Likewise.
21046         * modules/rmdir (Depends-on): Likewise.
21047         * modules/round (Depends-on): Likewise.
21048         * modules/roundf (Depends-on): Likewise.
21049         * modules/roundl (Depends-on): Likewise.
21050         * modules/rpmatch (Depends-on): Likewise.
21051         * modules/select (Depends-on): Likewise.
21052         * modules/send (Depends-on): Likewise.
21053         * modules/sendto (Depends-on): Likewise.
21054         * modules/setenv (Depends-on): Likewise.
21055         * modules/setlocale (Depends-on): Likewise.
21056         * modules/setsockopt (Depends-on): Likewise.
21057         * modules/shutdown (Depends-on): Likewise.
21058         * modules/sigaction (Depends-on): Likewise.
21059         * modules/signbit (Depends-on): Likewise.
21060         * modules/sigprocmask (Depends-on): Likewise.
21061         * modules/sinl (Depends-on): Likewise.
21062         * modules/sleep (Depends-on): Likewise.
21063         * modules/snprintf (Depends-on): Likewise.
21064         * modules/snprintf-posix (Depends-on): Likewise.
21065         * modules/socket (Depends-on): Likewise.
21066         * modules/sprintf-posix (Depends-on): Likewise.
21067         * modules/sqrtl (Depends-on): Likewise.
21068         * modules/stat (Depends-on): Likewise.
21069         * modules/strchrnul (Depends-on): Likewise.
21070         * modules/strdup-posix (Depends-on): Likewise.
21071         * modules/strerror (Depends-on): Likewise.
21072         * modules/strerror_r-posix (Depends-on): Likewise.
21073         * modules/strndup (Depends-on): Likewise.
21074         * modules/strnlen (Depends-on): Likewise.
21075         * modules/strptime (Depends-on): Likewise.
21076         * modules/strsep (Depends-on): Likewise.
21077         * modules/strsignal (Depends-on): Likewise.
21078         * modules/strstr-simple (Depends-on): Likewise.
21079         * modules/strtod (Depends-on): Likewise.
21080         * modules/strtoimax (Depends-on): Likewise.
21081         * modules/strtok_r (Depends-on): Likewise.
21082         * modules/strtoumax (Depends-on): Likewise.
21083         * modules/symlink (Depends-on): Likewise.
21084         * modules/symlinkat (Depends-on): Likewise.
21085         * modules/tanl (Depends-on): Likewise.
21086         * modules/tcgetsid (Depends-on): Likewise.
21087         * modules/tmpfile (Depends-on): Likewise.
21088         * modules/trunc (Depends-on): Likewise.
21089         * modules/truncf (Depends-on): Likewise.
21090         * modules/truncl (Depends-on): Likewise.
21091         * modules/uname (Depends-on): Likewise.
21092         * modules/unlink (Depends-on): Likewise.
21093         * modules/unlockpt (Depends-on): Likewise.
21094         * modules/unsetenv (Depends-on): Likewise.
21095         * modules/usleep (Depends-on): Likewise.
21096         * modules/utimensat (Depends-on): Likewise.
21097         * modules/vasprintf (Depends-on): Likewise.
21098         * modules/vdprintf (Depends-on): Likewise.
21099         * modules/vdprintf-posix (Depends-on): Likewise.
21100         * modules/vfprintf-posix (Depends-on): Likewise.
21101         * modules/vprintf-posix (Depends-on): Likewise.
21102         * modules/vsnprintf (Depends-on): Likewise.
21103         * modules/vsnprintf-posix (Depends-on): Likewise.
21104         * modules/vsprintf-posix (Depends-on): Likewise.
21105         * modules/wcrtomb (Depends-on): Likewise.
21106         * modules/wcscasecmp (Depends-on): Likewise.
21107         * modules/wcscspn (Depends-on): Likewise.
21108         * modules/wcsdup (Depends-on): Likewise.
21109         * modules/wcsncasecmp (Depends-on): Likewise.
21110         * modules/wcsnrtombs (Depends-on): Likewise.
21111         * modules/wcspbrk (Depends-on): Likewise.
21112         * modules/wcsrtombs (Depends-on): Likewise.
21113         * modules/wcsspn (Depends-on): Likewise.
21114         * modules/wcsstr (Depends-on): Likewise.
21115         * modules/wcstok (Depends-on): Likewise.
21116         * modules/wcswidth (Depends-on): Likewise.
21117         * modules/wctob (Depends-on): Likewise.
21118         * modules/wctomb (Depends-on): Likewise.
21119         * modules/wctype (Depends-on): Likewise.
21120         * modules/wcwidth (Depends-on): Likewise.
21121         * modules/write (Depends-on): Likewise.
21122
21123 2011-05-03  Bruno Haible  <bruno@clisp.org>
21124
21125         Support for conditional dependencies.
21126         * doc/gnulib.texi (Module description): Document the syntax of
21127         conditional dependencies.
21128         * gnulib-tool: New option --conditional-dependencies.
21129         (func_usage): Document it.
21130         (cond_dependencies): New variable.
21131         (func_get_automake_snippet_conditional,
21132         func_get_automake_snippet_unconditional): New functions, extracted from
21133         func_get_automake_snippet.
21134         (func_get_automake_snippet): Use them.
21135         (sed_first_32_chars): New variable.
21136         (func_module_shellfunc_name): New function.
21137         (func_module_shellvar_name): New function.
21138         (func_module_conditional_name): New function.
21139         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
21140         func_cond_module_condition): New functions.
21141         (func_modules_transitive_closure): Add support for conditional
21142         dependencies.
21143         (func_emit_lib_Makefile_am): For a conditional module, enclose the
21144         conditional automake snippet in an automake conditional.
21145         (func_emit_autoconf_snippets): Emit shell functions that contain the
21146         code for conditional modules.
21147         (func_import, func_create_testdir): Update specification.
21148
21149 2011-05-03  Eric Blake  <eblake@redhat.com>
21150
21151         test-getaddrinfo: report error information
21152         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
21153
21154 2011-05-03  Jim Meyering  <meyering@redhat.com>
21155
21156         bootstrap: avoid build failure when $GZIP is set
21157         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
21158         program name.  If defined at all, it is supposed to list gzip options.
21159         Reported by Alan Curry in http://debbugs.gnu.org/8609
21160
21161 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
21162
21163         readme-release: new module with release instructions
21164         * modules/readme-release: New module.
21165         * top/README-release: New file, from coreutils, grep, diffutils.
21166         * MODULES.html.sh (Support for maintaining and releasing): Add it.
21167
21168 2011-05-02  Eric Blake  <eblake@redhat.com>
21169
21170         fflush: also replace fclose when fixing fflush
21171         * modules/fflush (Depends-on): Add fclose.
21172         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
21173         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
21174         memstreams with no backing fd.
21175         * doc/posix-functions/fclose.texi (fclose): Document the use of
21176         fflush module to fix the bug.
21177         * tests/test-fclose.c (main): Relax test when fclose is used in
21178         isolation.
21179
21180         fclose: add some tests
21181         * modules/fclose-tests: New test module.
21182         * tests/test-fclose.c: New file.
21183         * doc/posix-functions/fclose.texi (fclose): Document the bug.
21184
21185         fclose: reduced dependencies
21186         * modules/fclose (Depends-on): Switch from fflush/fseeko to
21187         simpler lseek.
21188         * lib/fclose.c (rpl_fclose): Likewise.
21189         Reported by Simon Josefsson.
21190
21191         exit: drop remaining clients
21192         * modules/argmatch (Depends-on): Replace exit with stdlib.
21193         * modules/copy-file (Depends-on): Likewise.
21194         * modules/execute (Depends-on): Likewise.
21195         * modules/exitfail (Depends-on): Likewise.
21196         * modules/obstack (Depends-on): Likewise.
21197         * modules/pagealign_alloc (Depends-on): Likewise.
21198         * modules/pipe-filter-gi (Depends-on): Likewise.
21199         * modules/pipe-filter-ii (Depends-on): Likewise.
21200         * modules/savewd (Depends-on): Likewise.
21201         * modules/spawn-pipe (Depends-on): Likewise.
21202         * modules/wait-process (Depends-on): Likewise.
21203         * modules/xsetenv (Depends-on): Likewise.
21204         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
21205         * modules/git-merge-changelog (Depends-on): Likewise.
21206         * modules/long-options (Depends-on): Likewise.
21207         * modules/pt_chown (Depends-on): Likewise.
21208         * modules/sysexits (Depends-on): Likewise.
21209
21210         freading: relax license from LGPLv3+ to LGPLv2+
21211         * modules/freading (License): Relax LGPL version.
21212
21213 2011-05-02  Bruno Haible  <bruno@clisp.org>
21214
21215         fchdir: Remove unused dependencies.
21216         * modules/fchdir (Depends-on): Remove include_next.
21217
21218 2011-05-02  Bruno Haible  <bruno@clisp.org>
21219
21220         gnulib-tool: Refactor.
21221         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
21222         from func_emit_autoconf_snippets.
21223         (func_emit_autoconf_snippets): Use it.
21224
21225 2011-05-02  Simon Josefsson  <simon@josefsson.org>
21226
21227         * NEWS: Document removal of 'exit'.
21228         * modules/exit: Remove file.
21229
21230 2011-05-01  Bruno Haible  <bruno@clisp.org>
21231
21232         Update DEPENDENCIES.
21233         * DEPENDENCIES (gettext): Recommend the newest release.
21234         Reported by Simon Josefsson.
21235
21236 2011-05-01  Bruno Haible  <bruno@clisp.org>
21237
21238         gnulib-tool: Reduce code duplication.
21239         * gnulib-tool (func_emit_autoconf_snippets): New function.
21240         (func_import, func_create_testdir): Use it.
21241
21242 2011-04-30  Eric Blake  <eblake@redhat.com>
21243
21244         fclose: don't fail on non-seekable input stream
21245         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
21246         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
21247         since fflush is allowed to fail in that case.
21248
21249 2011-04-30  Bruno Haible  <bruno@clisp.org>
21250
21251         dup3: cleanup
21252         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
21253
21254 2011-04-30  Bruno Haible  <bruno@clisp.org>
21255
21256         netdb: Make it work in C++ mode.
21257         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
21258         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
21259         module.
21260         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
21261         gl_MODULE_INDICATOR_FOR_TESTS.
21262         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
21263         * modules/netdb-c++-tests: New file.
21264         * tests/test-netdb-c++.cc: New file.
21265
21266 2011-04-30  Bruno Haible  <bruno@clisp.org>
21267
21268         New modules 'vfscanf', 'vscanf'.
21269         * modules/vfscanf: New file.
21270         * modules/vscanf: New file.
21271         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
21272         here.
21273         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
21274         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
21275
21276 2011-04-30  Bruno Haible  <bruno@clisp.org>
21277
21278         passfd: Add comments.
21279         * lib/passfd.c: Add comments about platforms.
21280
21281 2011-04-30  Bruno Haible  <bruno@clisp.org>
21282
21283         sys_uio: Make <sys/uio.h> self-contained.
21284         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
21285         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
21286
21287 2011-04-30  Bruno Haible  <bruno@clisp.org>
21288
21289         sys_socket: Ensure 'struct iovec' definition.
21290         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
21291         <sys/socket.h>.
21292         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
21293
21294 2011-04-30  Bruno Haible  <bruno@clisp.org>
21295
21296         sys_uio: Protect definition of 'struct iovec'.
21297         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
21298         it as a C struct.
21299
21300 2011-04-30  Bruno Haible  <bruno@clisp.org>
21301
21302         manywarnings: fix indentation
21303         * m4/manywarnings.m4: Indent by 2 spaces consistently.
21304
21305 2011-04-30  Pádraig Brady <P@draigBrady.com>
21306
21307         manywarnings: add -Wno-missing-field-initializers if needed.
21308         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
21309         option if it's needed to allow initialization with { 0, }
21310
21311 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
21312
21313         announce-gen: cosmetic improvement
21314         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
21315
21316 2011-04-29  Jim Meyering  <meyering@redhat.com>
21317
21318         vc-list-files: indent with spaces, not TABs
21319         * build-aux/vc-list-files: Convert leading TABs to spaces,
21320         to match the style of most other files in gnulib.
21321
21322         announce-gen: indent with spaces, not TABs
21323         * build-aux/announce-gen: Convert all TABs to spaces, to match
21324         the style of most other files in gnulib.
21325
21326 2011-04-29  Eric Blake  <eblake@redhat.com>
21327
21328         quotearg: avoid uninitialized variable use
21329         * lib/quotearg.c (quoting_options_from_style): Initialize
21330         remaining fields, and ensure that custom styles are only used via
21331         quoting_options rather than quoting_style.
21332
21333 2011-04-29  Jim Meyering  <meyering@redhat.com>
21334
21335         maint.mk: remove unused VC-tag variable
21336         * top/maint.mk (VC-tag): Remove unused variable.
21337
21338 2011-04-29  Bruno Haible  <bruno@clisp.org>
21339
21340         netdb: fix gai_strerror replacements
21341         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
21342         * modules/netdb: Substitute it.
21343
21344 2011-04-29  Jim Meyering  <meyering@redhat.com>
21345
21346         test-getcwd.c: avoid new set-but-not-used warning
21347         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
21348         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
21349         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
21350         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
21351
21352         test-hash.c: avoid a new shadowing warning
21353         * tests/test-hash.c (main): Don't shadow "dup".
21354
21355 2011-04-28  Eric Blake  <eblake@redhat.com>
21356
21357         getaddrinfo: fix gai_strerror signature
21358         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
21359         and work around mingw with UNICODE defined.
21360         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
21361         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
21362         * modules/netdb (Makefile.am): Substitute it.
21363         * lib/netdb.in.h (gai_strerror): Declare replacement.
21364         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
21365         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
21366         the fix.
21367
21368         getsockopt: avoid compiler warning
21369         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
21370         Reported by Matthias Bolte.
21371
21372         tests: drop unused link dependency
21373         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
21374         * modules/dirent-safer-tests (Makefile.am): Likewise.
21375         * modules/fdopendir-tests (Makefile.am): Likewise.
21376         * modules/mkfifoat-tests (Makefile.am): Likewise.
21377         * modules/openat-safer-tests (Makefile.am): Likewise.
21378         * modules/openat-tests (Makefile.am): Likewise.
21379         * modules/readlinkat-tests (Makefile.am): Likewise.
21380         * modules/symlinkat-tests (Makefile.am): Likewise.
21381         * modules/linkat-tests (Makefile.am): Likewise.
21382         (Depends-on): Switch to filenamecat-lgpl.
21383         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
21384         LIBINTL.
21385         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
21386         * tests/test-linkat.c (main): Don't require xalloc.
21387
21388         hash, mgetgroups: drop xalloc dependency
21389         * lib/hash.c (includes): Adjust includes.
21390         * lib/mgetgroups.c (includes): Likewise.
21391         (xgetgroups): Move...
21392         * lib/xgetgroups.c: ...to new file.
21393         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
21394         * modules/xgetgroups: New file, split from...
21395         * modules/mgetgroups: ...here.
21396         (Depends-on): Add xalloc-oversized.
21397         * modules/hash (Depends-on): Likewise.
21398         * modules/hash-tests (Depends-on): Drop xalloc.
21399         (test_hash_LDADD): Drop unused library.
21400         * tests/test-hash.c (main): Break xalloc dependency.
21401         (includes): Drop unused include.
21402
21403         xalloc-oversized: new module
21404         * modules/xalloc-oversized: New module.
21405         * modules/xalloc (Depends-on): Add it.
21406         * lib/xalloc.h (xalloc_oversized): Move...
21407         * lib/xalloc-oversized.h: ...into new file.
21408
21409         utimecmp: drop dependency on xmalloc
21410         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
21411         due to memory pressure.
21412         * modules/utimecmp (Depends-on): Drop xalloc.
21413
21414 2011-04-27  Eric Blake  <eblake@redhat.com>
21415
21416         getcwd: fix mingw bugs
21417         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
21418         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
21419         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
21420
21421 2011-04-27  Bruno Haible  <bruno@clisp.org>
21422
21423         mkstemps: Ensure declaration on MacOS X 10.5.
21424         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
21425         * doc/glibc-functions/mkstemps.texi: Document header file problem on
21426         MacOS X.
21427
21428 2011-04-27  Bruno Haible  <bruno@clisp.org>
21429
21430         mkstemp: More documentation.
21431         * doc/posix-functions/mkstemp.texi: Document header file problem on
21432         MacOS X.
21433
21434 2011-04-27  Bruno Haible  <bruno@clisp.org>
21435
21436         mkstemp: Tweak configure message when cross-compiling.
21437         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
21438         result as a guess.
21439
21440 2011-04-27  Bruno Haible  <bruno@clisp.org>
21441
21442         clean-temp: Clarify what it does.
21443         * lib/clean-temp.h: Add more comments.
21444         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
21445         module.
21446         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
21447         * doc/glibc-functions/mkstemps.texi: Likewise.
21448         * doc/glibc-functions/mkostemps.texi: Likewise.
21449
21450 2011-04-27  Eric Blake  <eblake@redhat.com>
21451
21452         fchdir: avoid extra chdir and fix test
21453         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
21454         getcwd-lgpl.
21455         * lib/fchdir.c (get_name): Any absolute name will do; it does not
21456         have to be canonical.
21457         (canonicalize_file_name): Drop unused macro.
21458         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
21459
21460         filenamecat-lgpl: fix licence
21461         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
21462         when it was first created.
21463
21464         linkat, renameat: add missing dependency
21465         * modules/linkat (Depends-on): Require getcwd-lgpl.
21466         * modules/renameat (Depends-on): Likewise.
21467
21468         tests: reduce dependencies
21469         * tests/test-linkat.c (main): Use lighter-weight getcwd.
21470         * tests/test-renameat.c (main): Likewise.
21471         * modules/linkat-tests (Depends-on): Relax dependency.
21472         * modules/renameat-tests (Depends-on): Likewise.
21473         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
21474         dependency explicit.
21475
21476         save-cwd: reduce default dependency
21477         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
21478         * lib/save-cwd.c: Update comments.
21479         * NEWS: Document the semantic change.
21480
21481         getcwd: enhance tests
21482         * tests/test-getcwd-lgpl.c: New file, taken from...
21483         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
21484         repeat long path stress tests from m4 probe.
21485         * modules/getcwd-lgpl-tests: New module.
21486         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
21487         * m4/getcwd-abort-bug.m4: Update comment.
21488         * m4/getcwd-path-max.m4: Likewise.
21489
21490         getcwd-lgpl: new module
21491         * modules/getcwd-lgpl: New module.
21492         * lib/getcwd-lgpl.c: New file.
21493         * doc/posix-functions/getcwd.texi (getcwd): Document it.
21494         * MODULES.html.sh (lacking POSIX:2008): Likewise.
21495         * modules/getcwd (configure.ac): Set C witness.
21496         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
21497
21498         getcwd: tweak comments
21499         * m4/getcwd-abort-bug.m4: Fix comments.
21500         * m4/getcwd-path-max.m4: Likewise.
21501         * m4/getcwd.m4: Likewise.
21502
21503 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21504         and Eric Blake  <eblake@redhat.com>
21505
21506         mkstemp: replace if system version uses wrong permissions
21507         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
21508         read/write mode bits set in file created by mkstemp.
21509         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
21510
21511 2011-04-27  Eric Blake  <eblake@redhat.com>
21512
21513         passfd: avoid compiler warning
21514         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
21515         Reported by Laine Stump.
21516
21517 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
21518
21519         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
21520         required by the NetBSD (and perhaps other 4.4BSD derived) join.
21521
21522 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21523         and Eric Blake  <eblake@redhat.com>
21524
21525         mkstemp: mention clean-temp module
21526         * lib/mkstemp.c: Add comment.
21527         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
21528
21529 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
21530
21531         inttypes: also provide default values for 32-bit tests
21532         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
21533         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
21534
21535 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
21536
21537         strtoumax: remove dependency on strtoimax
21538         This is like the strtoull change of yesterday.
21539         * modules/strtoumax (Files): Add lib/strtoimax.c.
21540         (Depends-on): Remove strtoimax and add verify.
21541
21542         inttypes-incomplete: new module
21543         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
21544         all but the PRI* and SCN* parts of gl_INTTYPES_H.
21545         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
21546         of gl_INTTYPES_H.
21547         (gl_INTTYPES_H): Rewrite in terms of these new macros.
21548         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
21549         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
21550         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
21551         * modules/strtoumax, modules/xstrtol (Depends-on):
21552         Depend on inttypes-incomplete, not inttypes.
21553         * modules/inttypes-incomplete: New module, containing the contents
21554         of the old modules/inttypes module, except that the Files: section
21555         omits m4/inttypes-pri.m4, and the configure.ac section invokes
21556         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
21557         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
21558         (Depends-on): Depend only on inttypes-incomplete.
21559         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
21560
21561         inttypes: omit now-redundant strtoimax and strtoumax work
21562         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
21563         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
21564
21565         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
21566         This supports apps that need pointers to strtoimax and strtoumax,
21567         and ports to HP-UX 11.00 64.bit, which has macros that expand to
21568         nonexistent functions.  See
21569         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
21570         et seq.
21571         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
21572         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
21573         a macro.
21574         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21575
21576 2011-04-25  Simon Josefsson  <simon@josefsson.org>
21577
21578         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
21579
21580 2011-04-25  Bruno Haible  <bruno@clisp.org>
21581
21582         strtol, strtoul: Mark modules as obsolete.
21583         * modules/strtol (Status, Notice): New sections.
21584         * modules/strtoul (Status, Notice): New sections.
21585
21586 2011-04-25  Bruno Haible  <bruno@clisp.org>
21587
21588         strtod: Remove check for strtod, unless supporting old platforms.
21589         * modules/strtod-obsolete: New file.
21590         * m4/strtod-obsolete.m4: New file.
21591         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
21592         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
21593         * modules/strtod (Depends-on): Add strtod-obsolete.
21594         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
21595
21596 2011-04-25  Bruno Haible  <bruno@clisp.org>
21597
21598         strcase: Make module obsolete.
21599         * modules/strcase (Status, Notice): New sections.
21600
21601 2011-04-25  Bruno Haible  <bruno@clisp.org>
21602
21603         dup2: Remove check for dup2, unless supporting old obsolete platforms.
21604         * modules/dup2-obsolete: New file.
21605         * m4/dup2-obsolete.m4: New file.
21606         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
21607         gl_FUNC_DUP2_OBSOLETE is not also defined.
21608         * modules/dup2 (Depends-on): Add dup2-obsolete.
21609         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
21610
21611 2011-04-25  Bruno Haible  <bruno@clisp.org>
21612
21613         strnlen: Avoid memchr related link error on old obsolete platforms.
21614         * modules/memchr-obsolete: New file.
21615         * m4/memchr-obsolete.m4: New file.
21616         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
21617         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
21618         * modules/memchr (Depends-on): Add memchr-obsolete.
21619         * modules/strnlen (Depends-on): Likewise.
21620         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
21621
21622 2011-04-25  Jim Meyering  <meyering@redhat.com>
21623
21624         maint.mk: makefile_at_at_check extend and clean up
21625         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
21626         in addition to */Makefile.am.
21627         Exempt legitimate uses of @VAR@ notation, e.g.,
21628         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
21629         Remove obsolete coreutils-specific comment.
21630         Prompted by discussion here:
21631         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
21632
21633 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
21634
21635         strtoul: remove dependency on strtol
21636         This is so that 'configure' need not check for strtol merely because
21637         the application needs strtoul.
21638         * modules/strtoul (Files): Add lib/strtol.c.
21639         (Depends-on): Remove strtol.
21640
21641         strtoull: remove dependency on strtoul
21642         This is like the strtoll change.
21643         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
21644         (Depends-on): Remove strtoul.
21645
21646         strtoll: remove dependency on strtol
21647         This is so that 'configure' need not check for strtol merely because
21648         the application needs strtoll.
21649         * modules/strtoll (Files): Add lib/strtol.c.
21650         (Depends-on): Remove strtol.
21651
21652 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21653
21654         inttypes: Move some configure check to module 'imaxdiv'.
21655         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
21656         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
21657         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
21658
21659 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21660
21661         inttypes: Move some configure check to module 'imaxabs'.
21662         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
21663         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
21664         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
21665
21666 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21667
21668         inttypes: Remove configure tests that are not needed since 2009-12-31.
21669         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
21670         gl_cv_header_working_inttypes_h.
21671
21672 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21673
21674         * modules/strnlen (Depends-on): Remove memchr.
21675         The strnlen implementation doesn't need the memchr module's fixes; see
21676         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
21677
21678         strtol: remove dependency on wchar
21679         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
21680         * modules/strtol (Depends-on): Remove wchar.
21681
21682 2011-04-21  Eric Blake  <eblake@redhat.com>
21683
21684         passfd: fix test regression on Linux
21685         * modules/passfd-tests (configure.ac): Correct socketpair check.
21686
21687         passfd: speed up configure and drop unused code
21688         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
21689         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
21690         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
21691         Instead of probing at configure for unix_scm_rights_bsd44_way,
21692         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
21693         check to a struct member probe.
21694         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
21695         (sendfd, recvfd): Update preprocessor checks.
21696         * modules/passfd (Files): Reflect rename, and drop unused file.
21697         (Depends-on): Drop unused dependency.
21698
21699         passfd: allow compilation on mingw
21700         * modules/sys_socket (Depends-on): Add sys_uio.
21701         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
21702         iovec and a minimal struct msghdr.
21703         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
21704         * tests/test-sys_socket.c (main): Enhance test.
21705         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
21706         guaranteed to provide what we need.
21707         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
21708         * modules/passfd-tests (Depends-on): Add sys_wait.
21709         * tests/test-passfd.c (main): Skip test on mingw, for now.
21710         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
21711         partial 'struct msghdr' implementation.
21712
21713         sys_uio: new module
21714         * modules/sys_uio: New module.
21715         * modules/sys_uio-tests: Likewise.
21716         * lib/sys_uio.in.h: New file.
21717         * m4/sys_uio_h.m4: Likewise.
21718         * tests/test-sys_uio.c: Likewise.
21719         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
21720         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
21721
21722 2011-04-20  Jim Meyering  <meyering@redhat.com>
21723
21724         useless-if-before-free: avoid false-positive
21725         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
21726         disjunct so that it too requires a terminating ";".  Without that,
21727         this script would identify as useless one statement from gcc that
21728         was not:
21729           if (aligned_ptr)
21730             free (((void **) aligned_ptr) [-1]);
21731
21732 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
21733
21734         doc: update users.txt.
21735         * users.txt: Add barcode.
21736
21737 2011-04-19  Bruno Haible  <bruno@clisp.org>
21738
21739         ioctl: Remove link dependency on native Windows.
21740         * lib/fd-hook.h: Renamed from lib/close-hook.h.
21741         (gl_close_fn, gl_ioctl_fn): New types.
21742         (struct fd_hook): Renamed from struct close_hook. Change type of
21743         private_close_fn field. Add private_ioctl_fn field.
21744         (close_hook_fn): Add parameter for primary close method.
21745         (execute_close_hooks, execute_all_close_hooks): Likewise.
21746         (ioctl_hook_fn): New type.
21747         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
21748         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
21749         argument.
21750         (unregister_fd_hook): Renamed from unregister_close_hook.
21751         * lib/fd-hook.c: Renamed from lib/close-hook.c.
21752         Don't include <unistd.h>.
21753         (close): Remove undef.
21754         (anchor): Update.
21755         (execute_close_hooks): Add argument for primary close method.
21756         (execute_all_close_hooks): Likewise.
21757         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
21758         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
21759         argument. Allow each argument to be NULL.
21760         (unregister_fd_hook): Renamed from unregister_close_hook.
21761         * lib/close.c (rpl_close): Pass 'close' function pointer to
21762         execute_all_close_hooks.
21763         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
21764         (primary_ioctl): New function.
21765         (ioctl): Don't call ioctlsocket here. Instead, call
21766         execute_all_ioctl_hooks.
21767         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
21768         close method.
21769         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
21770         (fd_sockets_hook): Renamed from close_sockets_hook.
21771         (gl_sockets_startup, gl_sockets_cleanup): Update.
21772         * modules/fd-hook: Renamed from modules/close-hook. Update.
21773         * modules/close (Depends-on): Add fd-hook, remove close-hook.
21774         * modules/sockets (Depends-on): Likewise.
21775         * modules/ioctl (Depends-on): Add fd-hook.
21776         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
21777         GNULIB_SOCKET.
21778
21779 2011-04-19  Bruno Haible  <bruno@clisp.org>
21780
21781         Move the support of O_NONBLOCK in open() to the 'open' module.
21782         * modules/nonblocking (Depends-on): Remove 'open'.
21783         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
21784         gl_cv_have_open_O_NONBLOCK.
21785         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
21786         O_NONBLOCK support.
21787         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
21788
21789 2011-04-17  Bruno Haible  <bruno@clisp.org>
21790
21791         pipe2: Simplify code.
21792         * lib/pipe2.c (pipe2): Reduce code duplication.
21793
21794 2011-04-17  Bruno Haible  <bruno@clisp.org>
21795
21796         nonblocking: Add comment.
21797         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
21798
21799 2011-04-17  Bruno Haible  <bruno@clisp.org>
21800
21801         nonblocking: Add tests for sockets.
21802         * tests/test-nonblocking-socket.sh: New file.
21803         * tests/test-nonblocking-socket-main.c: New file.
21804         * tests/test-nonblocking-socket-child.c: New file.
21805         * tests/test-nonblocking-socket.h: New file.
21806         * tests/socket-server.h: New file.
21807         * tests/socket-client.h: New file.
21808         * modules/nonblocking-socket-tests: New file.
21809         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
21810
21811 2011-04-17  Bruno Haible  <bruno@clisp.org>
21812
21813         nonblocking: Add tests for pipes.
21814         * tests/test-nonblocking-pipe.sh: New file.
21815         * tests/test-nonblocking-pipe-main.c: New file.
21816         * tests/test-nonblocking-pipe-child.c: New file.
21817         * tests/test-nonblocking-pipe.h: New file.
21818         * tests/test-nonblocking-writer.h: New file.
21819         * tests/test-nonblocking-reader.h: New file.
21820         * tests/test-nonblocking-misc.h: New file.
21821         * modules/nonblocking-pipe-tests: New file.
21822         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
21823
21824 2011-04-16  Bruno Haible  <bruno@clisp.org>
21825
21826         gettext: Clarify the needed programmer actions.
21827         * modules/gettext (Notice): New field.
21828         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
21829
21830 2011-04-16  Bruno Haible  <bruno@clisp.org>
21831
21832         strchrnul: Tweak last commit.
21833         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
21834         bug.
21835         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
21836         as in _GL_FUNCDECL_SYS.
21837         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
21838         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
21839
21840 2011-04-15  Eric Blake  <eblake@redhat.com>
21841
21842         strchrnul: work around cygwin bug
21843         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
21844         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
21845         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
21846         * modules/string (Makefile.am): Substitute it.
21847         * lib/string.in.h (strchrnul): Use it.
21848
21849 2011-04-15  Bruno Haible  <bruno@clisp.org>
21850
21851         Don't require lib/stdio-write.c when only module 'stdio' is used.
21852         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
21853         invocation.
21854         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
21855
21856 2011-04-14  Bruno Haible  <bruno@clisp.org>
21857
21858         Support non-blocking pipe I/O in read() on native Windows.
21859         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
21860         (read): New declaration.
21861         * lib/read.c: New file.
21862         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
21863         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
21864         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
21865         vscanf): New declarations.
21866         * lib/stdio-read.c: New file.
21867         * m4/read.m4: New file.
21868         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
21869         REPLACE_READ.
21870         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
21871         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21872         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
21873         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
21874         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
21875         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21876         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
21877         * modules/read: New file.
21878         * modules/nonblocking (Files): Add lib/stdio-read.c.
21879         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
21880         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
21881         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
21882         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
21883         * modules/pread (Depends-on): Add read.
21884         * modules/safe-read (Depends-on): Likewise.
21885         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
21886         gets, scanf, vfscanf, vscanf): Verify signatures.
21887         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
21888         problem with non-blocking pipes.
21889         * doc/posix-functions/fgetc.texi: Likewise.
21890         * doc/posix-functions/fgets.texi: Likewise.
21891         * doc/posix-functions/fread.texi: Likewise.
21892         * doc/posix-functions/fscanf.texi: Likewise.
21893         * doc/posix-functions/getc.texi: Likewise.
21894         * doc/posix-functions/getchar.texi: Likewise.
21895         * doc/posix-functions/gets.texi: Likewise.
21896         * doc/posix-functions/scanf.texi: Likewise.
21897         * doc/posix-functions/vfscanf.texi: Likewise.
21898         * doc/posix-functions/vscanf.texi: Likewise.
21899
21900 2011-04-14  Bruno Haible  <bruno@clisp.org>
21901
21902         Support non-blocking pipe I/O in write() on native Windows.
21903         * lib/write.c (rpl_write): Split a write request that failed merely
21904         because the byte count was larger than the pipe buffer's size.
21905         * doc/posix-functions/write.texi: Mention the problem with large byte
21906         counts.
21907
21908 2011-04-14  Bruno Haible  <bruno@clisp.org>
21909
21910         wchar: Ensure that wchar_t gets defined on uClibc.
21911         * lib/wchar.in.h: On uClibc, include <stddef.h>.
21912         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
21913
21914 2011-04-13  Bruno Haible  <bruno@clisp.org>
21915
21916         safe-write, full-read: Avoid unnecessary compilation units.
21917         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
21918         (Depends-on): Remove safe-read. Add ssize_t.
21919         * modules/full-read (Files): Add lib/full-write.c.
21920         (Depends-on): Add full-write.
21921
21922 2011-04-13  Bruno Haible  <bruno@clisp.org>
21923
21924         Support non-blocking pipe I/O and SIGPIPE in pwrite().
21925         * modules/pwrite (Depends-on): Add 'write'.
21926
21927 2011-04-13  Bruno Haible  <bruno@clisp.org>
21928
21929         Support non-blocking pipe I/O in write() on native Windows.
21930         * lib/unistd.in.h (write): Enable replacement also if
21931         GNULIB_UNISTD_H_NONBLOCKING is 1.
21932         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
21933         (rpl_write): When failing to write on a non-blocking pipe, change
21934         errno from ENOSPC to EAGAIN.
21935         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
21936         putchar, puts, vfprintf, vprintf): Enable replacement also if
21937         GNULIB_STDIO_H_NONBLOCKING is 1.
21938         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
21939         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
21940         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
21941         CALL_WITH_SIGPIPE_EMULATION.
21942         (CALL_WITH_SIGPIPE_EMULATION): Use them.
21943         * m4/nonblocking.m4: New file.
21944         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
21945         for non-blocking I/O support.
21946         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
21947         GNULIB_UNISTD_H_NONBLOCKING.
21948         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
21949         required for non-blocking I/O support.
21950         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
21951         * modules/nonblocking (Files): Add m4/nonblocking.m4,
21952         lib/stdio-write.c, m4/asm-underscore.m4.
21953         (Depends-on): Add stdio, unistd.
21954         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
21955         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
21956         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
21957         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
21958         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
21959         problem with non-blocking pipes.
21960         * doc/posix-functions/fputc.texi: Likewise.
21961         * doc/posix-functions/fputs.texi: Likewise.
21962         * doc/posix-functions/fwrite.texi: Likewise.
21963         * doc/posix-functions/printf.texi: Likewise.
21964         * doc/posix-functions/putc.texi: Likewise.
21965         * doc/posix-functions/putchar.texi: Likewise.
21966         * doc/posix-functions/puts.texi: Likewise.
21967         * doc/posix-functions/vfprintf.texi: Likewise.
21968         * doc/posix-functions/vprintf.texi: Likewise.
21969         * doc/posix-functions/write.texi: Likewise.
21970
21971 2011-04-10  Jim Meyering  <meyering@redhat.com>
21972
21973         maint.mk: prohibit doubled words
21974         Detect them also when they're separated by a newline.
21975         There are 3 ways to customize it:
21976           - disable the test on a per file basis, as usual with rules using
21977             $(VC_LIST_EXCEPT)
21978           - replace the default doubled-word-selecting regexp (affects all files)
21979           - ignore a particular file-vs-doubled-word match
21980         I nearly used that last one to ignore the "is is" match in
21981         coreutils' NEWS file, since the text was "ls -is is ..."
21982         To do that, I would have added this line to cfg.mk:
21983           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
21984         but it would have ignored any "is is" match in NEWS.
21985         Low probability, but still...
21986         Instead, I changed the text, slightly:
21987           -  ls -is is now consistent with ls -lis in ignoring values returned
21988           +  "ls -is" is now consistent with ls -lis in ignoring values returned
21989         * top/maint.mk (prohibit_double_word_RE_): Provide default.
21990         (prohibit_doubled_word_): Define.
21991         (sc_prohibit_doubled_word): New rule.
21992         (sc_prohibit_the_the): Remove.  Subsumed by the above.
21993
21994 2011-04-10  Jim Meyering  <meyering@redhat.com>
21995
21996         maint: fix doubled-word typo in comment
21997         * m4/gethostname.m4: s/is is/it is/
21998         * m4/getdomainname.m4: Likewise.
21999
22000 2011-04-10  Jim Meyering  <meyering@redhat.com>
22001
22002         maint: remove doubled word: s/it it/it/
22003         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
22004
22005 2011-04-10  Jim Meyering  <meyering@redhat.com>
22006
22007         maint.mk: remove useless semicolon and backslash
22008         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
22009         semicolon and backslash.
22010
22011 2011-04-10  Bruno Haible  <bruno@clisp.org>
22012
22013         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
22014         * modules/stdint-tests (Depends-on): Add wchar.
22015
22016 2011-04-10  Jim Meyering  <meyering@redhat.com>
22017
22018         maint: remove doubled words in comments, e.g., s/a a/a/
22019         * lib/strptime.c (day_of_the_week): s/the the/the/
22020         * tests/test-chown.h (test_chown): s/a a/a/
22021
22022         test-chown.h: correct a cast
22023         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
22024         when the destination is a stat.st_gid.
22025
22026 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
22027
22028         getaddrinfo: Fix test for sa_len member.
22029         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
22030         include <sys/types.h> before <sys/socket.h>.
22031
22032 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
22033
22034         maint: change "can not" to "cannot"
22035         * doc/posix-functions/iconv.texi (iconv): This one crossed line
22036         boundaries.
22037
22038 2011-04-09  Jim Meyering  <meyering@redhat.com>
22039
22040         maint: change "a a" to "a"
22041         * tests/test-lchown.h (test_lchown): s/a a/a/
22042
22043         maint.mk: prohibit \<the the\>
22044         * top/maint.mk (sc_prohibit_the_the): New rule.
22045
22046         maint: fix "the the" in comment
22047         * lib/count-one-bits.h: s/the the/the/
22048
22049         maint: change "can not" to "cannot"
22050         But do not change the occurrences in maintain.texi or in
22051         build-aux/po/Makefile.in.in, which I presume comes from gettext.
22052         * doc/gnulib-tool.texi: s/can not/cannot/
22053         * doc/posix-functions/accept.texi (accept): Likewise.
22054         * doc/posix-functions/socket.texi (socket): Likewise.
22055         * lib/mbrtowc.c: Likewise.
22056
22057         maint.mk: prohibit use of "can not"
22058         * top/maint.mk (sc_prohibit_can_not): New rule.
22059         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
22060
22061 2011-04-09  Bruno Haible  <bruno@clisp.org>
22062
22063         careadlinkat: Guard against misuse of careadlinkatcwd.
22064         * lib/careadlinkat.c: Include <stdlib.h>.
22065         (careadlinkatcwd): Check that the fd argument is as expected.
22066
22067 2011-04-09  Bruno Haible  <bruno@clisp.org>
22068
22069         careadlinkat: Use common coding style.
22070         * lib/careadlinkat.c: Move gnulib includes after system includes.
22071
22072 2011-04-09  Bruno Haible  <bruno@clisp.org>
22073
22074         careadlinkat: Clarify specification.
22075         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
22076         (careadlinkatcwd): Add comment.
22077         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
22078
22079 2011-04-09  Bruno Haible  <bruno@clisp.org>
22080
22081         areadlinkat: Avoid link error on many platforms.
22082         * modules/areadlinkat (Depends-on): Add areadlink.
22083
22084 2011-04-09  Bruno Haible  <bruno@clisp.org>
22085
22086         allocator, careadlinkat: Fix double-inclusion guard.
22087         * lib/allocator.h: Fix double-inclusion guard.
22088         * lib/careadlinkat.h: Likewise.
22089
22090 2011-04-09  Bruno Haible  <bruno@clisp.org>
22091
22092         relocatable-prog-wrapper: Update after module 'areadlink' changed.
22093         * lib/relocwrapper.c: Update dependencies hierarchy.
22094         * build-aux/install-reloc: Update list of files to be compiled.
22095         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
22096         lib/allocator.[hc].
22097
22098 2011-04-08  Eric Blake  <eblake@redhat.com>
22099
22100         strftime: silence gnulib-tool warning
22101         * modules/strftime-tests (Depends-on): Drop automatic dependency.
22102
22103 2011-04-08  Bruno Haible  <bruno@clisp.org>
22104
22105         verify: Fix syntax error with GCC 4.6 in C++ mode.
22106         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
22107         (HAVE_STATIC_ASSERT): New macro.
22108         (verify_true, verify): Use 'static_assert' if it is supported and
22109         '_Static_assert' is not supported.
22110
22111 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
22112
22113         allocator: New module.
22114         * modules/allocator, lib/allocator.c: New files.
22115         * lib/allocator.h (stdlib_allocator): New decl.
22116         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
22117         Remove.  Do not include <stdlib.h>.
22118         (careadlinkat): Use stdlib_allocator instead of rolling our own.
22119         * modules/careadlinkat (Files): Remove lib/allocator.h.
22120         (Depends-on): Add allocator.
22121
22122         stdlib: let modules use system malloc, realloc
22123         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
22124         if !_GL_USE_STDLIB_ALLOC.
22125         (malloc, realloc): Limit this change to a smaller scope.
22126
22127         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
22128         (malloc, realloc): Don't #undef; no longer needed.
22129         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22130         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22131         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22132         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22133         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22134         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22135         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22136         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22137
22138         careadlinkat: rename members to avoid problem
22139         * lib/allocator.h (struct allocator): Rename members from
22140         malloc/realloc to allocate/reallocate, to avoid problems if malloc
22141         and realloc are #define'd.  Reported by Eric Blake in
22142         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
22143         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
22144
22145 2011-04-08  Eric Blake  <eblake@redhat.com>
22146
22147         nonblocking: reduce dependency
22148         * tests/test-nonblocking.c: Only test sockets when in use.
22149         * modules/nonblocking-tests (Depends-on): Drop socket.
22150         (Makefile.am): Link even if sockets are not present.
22151         * modules/pipe2-tests (Makefile.am): Likewise.
22152         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
22153
22154         pipe2: fix O_NONBLOCK support on mingw
22155         * modules/pipe2 (Depends-on): Add nonblocking.
22156         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
22157         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
22158         * tests/test-nonblocking.c (main): Likewise.
22159         * modules/pipe2-tests (Makefile.am): Avoid link failure.
22160
22161         fcntl-h: fix O_ACCMODE on cygwin
22162         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
22163         * lib/fcntl.in.h (O_ACCMODE): Fix it.
22164
22165         pipe-filter: drop O_NONBLOCK workarounds
22166         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
22167         * modules/pipe-filter-ii (Depends-on): Likewise.
22168         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
22169
22170         nonblocking: provide O_NONBLOCK for mingw
22171         * modules/nonblocking (Depends-on): Add open.
22172         (configure.ac): Set new witness macro.
22173         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
22174         * modules/fcntl-h (Makefile.am): Substitute it.
22175         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
22176         nonblocking module is in use.
22177         * lib/nonblocking.c: Adjust portability test.
22178         * lib/open.c (open): Don't let native open see gnulib flag.
22179         * tests/test-fcntl-h.c (main): Enhance test.
22180         * tests/test-open.h (test_open): Likewise.
22181         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
22182
22183         careadlinkat: fix compilation error on mingw
22184         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
22185         within struct allocator.
22186
22187 2011-04-06  Eric Blake  <eblake@redhat.com>
22188
22189         binary-io: relicense under LGPLv2+
22190         * modules/binary-io (License): Relax to LGPLv2+.
22191         Requested for libvirt, and required by pipe2.
22192
22193 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
22194
22195         verify: use _Static_assert if available
22196         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
22197         (verify_true, verify): Use it if available.  This generates better
22198         diagnostics with GCC 4.6.0 and later.
22199
22200 2011-04-05  Bruno Haible  <bruno@clisp.org>
22201
22202         Remove leftover generated .h files after config.status changed.
22203
22204         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
22205         GL_GENERATE_ALLOCA_H.
22206         * modules/alloca-opt (Makefile.am): Remove alloca.h if
22207         GL_GENERATE_ALLOCA_H evaluates to false.
22208
22209         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
22210         GL_GENERATE_ARGZ_H.
22211         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
22212         evaluates to false.
22213
22214         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
22215         GL_GENERATE_BYTESWAP_H.
22216         * modules/byteswap (Makefile.am): Remove byteswap.h if
22217         GL_GENERATE_BYTESWAP_H evaluates to false.
22218
22219         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
22220         GL_GENERATE_ERRNO_H.
22221         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
22222         evaluates to false.
22223
22224         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
22225         GL_GENERATE_FLOAT_H.
22226         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
22227         evaluates to false.
22228
22229         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
22230         GL_GENERATE_FNMATCH_H.
22231         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
22232         GL_GENERATE_FNMATCH_H evaluates to false.
22233
22234         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
22235         GL_GENERATE_GLOB_H.
22236         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
22237         evaluates to false.
22238
22239         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
22240         automake conditional GL_GENERATE_ICONV_H.
22241         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
22242         evaluates to false.
22243
22244         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
22245         GL_GENERATE_NETINET_IN_H.
22246         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
22247         GL_GENERATE_NETINET_IN_H evaluates to false.
22248
22249         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
22250         conditional GL_GENERATE_PTHREAD_H.
22251         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
22252         * modules/pthread (Makefile.am): Remove pthread.h if
22253         GL_GENERATE_PTHREAD_H evaluates to false.
22254
22255         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
22256         GL_GENERATE_SCHED_H.
22257         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
22258         evaluates to false.
22259
22260         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
22261         conditional GL_GENERATE_SELINUX_CONTEXT_H.
22262         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
22263         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
22264
22265         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
22266         GL_GENERATE_STDARG_H.
22267         * modules/stdarg (Makefile.am): Remove stdarg.h if
22268         GL_GENERATE_STDARG_H evaluates to false.
22269
22270         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
22271         GL_GENERATE_STDBOOL_H.
22272         * modules/stdbool (Makefile.am): Remove stdbool.h if
22273         GL_GENERATE_STDBOOL_H evaluates to false.
22274
22275         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
22276         conditional GL_GENERATE_STDDEF_H.
22277         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
22278         * modules/stddef (Makefile.am): Remove stddef.h if
22279         GL_GENERATE_STDDEF_H evaluates to false.
22280
22281         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
22282         GL_GENERATE_STDINT_H.
22283         * modules/stdint (Makefile.am): Remove stdint.h if
22284         GL_GENERATE_STDINT_H evaluates to false.
22285
22286         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
22287         GL_GENERATE_SYSEXITS_H.
22288         * modules/sysexits (Makefile.am): Remove sysexits.h if
22289         GL_GENERATE_SYSEXITS_H evaluates to false.
22290
22291         Reported by Karl Berry and Ralf Wildenhues.
22292
22293 2011-04-05  Bruno Haible  <bruno@clisp.org>
22294
22295         Ensure to rebuild generated .h files when config.status has changed.
22296         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
22297         config.status.
22298         * modules/ctype (Makefile.am): Likewise.
22299         * modules/dirent (Makefile.am): Likewise.
22300         * modules/errno (Makefile.am): Likewise.
22301         * modules/fcntl-h (Makefile.am): Likewise.
22302         * modules/float (Makefile.am): Likewise.
22303         * modules/getopt-posix (Makefile.am): Likewise.
22304         * modules/glob (Makefile.am): Likewise.
22305         * modules/iconv-h (Makefile.am): Likewise.
22306         * modules/inttypes (Makefile.am): Likewise.
22307         * modules/langinfo (Makefile.am): Likewise.
22308         * modules/locale (Makefile.am): Likewise.
22309         * modules/math (Makefile.am): Likewise.
22310         * modules/netdb (Makefile.am): Likewise.
22311         * modules/netinet_in (Makefile.am): Likewise.
22312         * modules/poll-h (Makefile.am): Likewise.
22313         * modules/pthread (Makefile.am): Likewise.
22314         * modules/pty (Makefile.am): Likewise.
22315         * modules/sched (Makefile.am): Likewise.
22316         * modules/search (Makefile.am): Likewise.
22317         * modules/selinux-h (Makefile.am): Likewise.
22318         * modules/signal (Makefile.am): Likewise.
22319         * modules/spawn (Makefile.am): Likewise.
22320         * modules/stdarg (Makefile.am): Likewise.
22321         * modules/stdbool (Makefile.am): Likewise.
22322         * modules/stddef (Makefile.am): Likewise.
22323         * modules/stdint (Makefile.am): Likewise.
22324         * modules/stdio (Makefile.am): Likewise.
22325         * modules/stdlib (Makefile.am): Likewise.
22326         * modules/string (Makefile.am): Likewise.
22327         * modules/strings (Makefile.am): Likewise.
22328         * modules/sys_file (Makefile.am): Likewise.
22329         * modules/sys_ioctl (Makefile.am): Likewise.
22330         * modules/sys_select (Makefile.am): Likewise.
22331         * modules/sys_socket (Makefile.am): Likewise.
22332         * modules/sys_stat (Makefile.am): Likewise.
22333         * modules/sys_time (Makefile.am): Likewise.
22334         * modules/sys_times (Makefile.am): Likewise.
22335         * modules/sys_utsname (Makefile.am): Likewise.
22336         * modules/sys_wait (Makefile.am): Likewise.
22337         * modules/sysexits (Makefile.am): Likewise.
22338         * modules/termios (Makefile.am): Likewise.
22339         * modules/time (Makefile.am): Likewise.
22340         * modules/unistd (Makefile.am): Likewise.
22341         * modules/wchar (Makefile.am): Likewise.
22342         * modules/wctype-h (Makefile.am): Likewise.
22343         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
22344
22345 2011-04-05  Bruno Haible  <bruno@clisp.org>
22346
22347         pipe2: Relicense under LGPLv2+.
22348         * modules/pipe2 (License): Change to LGPLv2+.
22349         Requested by Eric Blake, for libvirt.
22350
22351 2011-04-05  Bruce Korb  <bkorb@gnu.org>
22352
22353         bootstrap: compute gnulib_extra_files after updating build_aux
22354         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
22355         change build_aux or also supply gnulib_extra_files.  Handle correctly.
22356
22357 2011-04-05  Eric Blake  <eblake@redhat.com>
22358
22359         bootstrap: preserve git whitelist item sorting
22360         * build-aux/bootstrap (sort_patterns): New function.
22361         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
22362
22363 2011-04-05  Simon Josefsson  <simon@josefsson.org>
22364
22365         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
22366         sc_space_tab check.
22367
22368 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
22369
22370         areadlink, areadlinkat: rewrite in terms of careadlinkat
22371         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
22372         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
22373         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
22374         (malloc, realloc): Remove #undefs.
22375         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
22376         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
22377         readlink, ssize_t, stdint, unistd.
22378         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
22379         areadlink, stdint.
22380
22381         careadlinkat: new module
22382         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
22383         * modules/careadlinkat: New files, written by me with
22384         a review and feedback from Ben Pfaff in
22385         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
22386
22387 2011-04-01  Bruno Haible  <bruno@clisp.org>
22388
22389         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
22390         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
22391         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
22392         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
22393         Reported by Bruce Korb <bruce.korb@gmail.com>.
22394
22395 2011-04-01  Bruno Haible  <bruno@clisp.org>
22396
22397         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
22398         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
22399         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
22400         * modules/wcpcpy (Depends-on): Add extensions.
22401         * modules/wcpncpy (Depends-on): Likewise.
22402         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
22403         systems.
22404         * doc/posix-functions/wcpncpy.texi: Likewise.
22405         * doc/posix-functions/wcwidth.texi: Likewise.
22406
22407 2011-03-31  Eric Blake  <eblake@redhat.com>
22408
22409         nonblocking: fix mingw test failures
22410         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
22411         non-blocking flag on regular file.
22412         (get_nonblocking_flag): Set errno on invalid fd.
22413         * tests/test-nonblocking.c (main): Avoid test failure on
22414         directories if fchdir is not active.
22415         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
22416
22417 2011-03-31  Bruno Haible  <bruno@clisp.org>
22418
22419         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
22420         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
22421         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
22422         Reported by Simon Josefsson <simon@josefsson.org>.
22423
22424 2011-03-31  Bruno Haible  <bruno@clisp.org>
22425         and Eric Blake  <eblake@redhat.com>
22426
22427         nonblocking: new module
22428         * modules/nonblocking: New module.
22429         * modules/nonblocking-tests: Likewise.
22430         * lib/nonblocking.h: New file.
22431         * lib/nonblocking.c: Likewise.
22432         * tests/test-nonblocking.c: New test.
22433         * lib/ioctl.c (ioctl) [mingw]: Update comment.
22434
22435 2011-03-30  Bruno Haible  <bruno@clisp.org>
22436
22437         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
22438         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
22439         instead of 'printf' format for GCC >= 4.4.
22440         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
22441         (fprintf, printf, vfprintf, vprintf): Declare with
22442         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
22443         the system's vfprintf() function.
22444         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
22445
22446 2011-03-30  Eric Blake  <eblake@redhat.com>
22447
22448         passfd: fix scoping bug
22449         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
22450         before sendmsg/recvmsg.
22451
22452         passfd: standardize coding conventions
22453         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
22454         can be learned at compile time.
22455         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
22456         ifdefs.
22457         (sendfd, recvfd): Follow gnulib code conventions.
22458
22459         passfd: fix incorrect sendmsg arguments
22460         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
22461         incorrect msg_controllen value.
22462         * modules/passfd-tests (Depends-on): Check for alarm.
22463         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
22464         Reported by Bastien ROUCARIES.
22465
22466 2011-03-30  Bruno Haible  <bruno@clisp.org>
22467
22468         c-strcasestr: Relicense under LGPLv2+.
22469         * modules/c-strcasestr (License): Change to LGPLv2+.
22470         Requested by Eric Blake, for libvirt.
22471
22472 2011-03-30  Simon Josefsson  <simon@josefsson.org>
22473
22474         * users.txt: Add libidn2.  Fix libtasn1 link.
22475
22476 2011-03-30  Jim Meyering  <meyering@redhat.com>
22477
22478         tests: readlink* ("",... fails with EINVAL on newer kernels
22479         readlink and readlinkat have typically failed with ENOENT for
22480         the invalid, empty file name,  "".  However, with the advent
22481         of linux-2.6.39, they fail with EINVAL.
22482         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
22483         when operating on the empty file name.
22484         * tests/test-readlink.h (test_readlink): Likewise.
22485
22486 2011-03-29  Bruno Haible  <bruno@clisp.org>
22487
22488         Relicense some modules under LGPLv2+, for libidn2.
22489         * modules/array-mergesort (License): Change to LGPLv2+.
22490         * modules/c-strcaseeq (License): Likewise.
22491         * modules/striconveh (License): Likewise.
22492         * modules/striconveha (License): Likewise.
22493         * modules/uniconv/base (License): Likewise.
22494         * modules/uniconv/u8-conv-from-enc (License): Likewise.
22495         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
22496         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
22497         * modules/unictype/base (License): Likewise.
22498         * modules/unictype/bidiclass-of (License): Likewise.
22499         * modules/unictype/category-M (License): Likewise.
22500         * modules/unictype/category-none (License): Likewise.
22501         * modules/unictype/category-of (License): Likewise.
22502         * modules/unictype/category-test (License): Likewise.
22503         * modules/unictype/category-test-withtable (License): Likewise.
22504         * modules/unictype/combining-class (License): Likewise.
22505         * modules/unictype/joiningtype-of (License): Likewise.
22506         * modules/unictype/scripts (License): Likewise.
22507         * modules/uninorm/base (License): Likewise.
22508         * modules/uninorm/canonical-decomposition (License): Likewise.
22509         * modules/uninorm/composition (License): Likewise.
22510         * modules/uninorm/decompose-internal (License): Likewise.
22511         * modules/uninorm/decomposition-table (License): Likewise.
22512         * modules/uninorm/nfc (License): Likewise.
22513         * modules/uninorm/nfd (License): Likewise.
22514         * modules/uninorm/u32-normalize (License): Likewise.
22515         * modules/unistr/base (License): Likewise.
22516         * modules/unistr/u32-cpy (License): Likewise.
22517         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
22518         * modules/unistr/u32-to-u8 (License): Likewise.
22519         * modules/unistr/u32-uctomb (License): Likewise.
22520         * modules/unistr/u8-check (License): Likewise.
22521         * modules/unistr/u8-mblen (License): Likewise.
22522         * modules/unistr/u8-mbtouc (License): Likewise.
22523         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
22524         * modules/unistr/u8-mbtoucr (License): Likewise.
22525         * modules/unistr/u8-prev (License): Likewise.
22526         * modules/unistr/u8-strlen (License): Likewise.
22527         * modules/unistr/u8-to-u32 (License): Likewise.
22528         * modules/unistr/u8-uctomb (License): Likewise.
22529         * modules/unitypes (License): Likewise.
22530         Requested by Simon Josefsson.
22531
22532 2011-03-29  Simon Josefsson  <simon@josefsson.org>
22533
22534         lib-symbol-visibility: Add a notice.
22535         * modules/lib-symbol-visibility (Notice): New field.
22536
22537 2011-03-29  Bruno Haible  <bruno@clisp.org>
22538
22539         getaddrinfo: Doc fix.
22540         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
22541         section "fixed in Gnulib".
22542
22543 2011-03-28  Simon Josefsson  <simon@josefsson.org>
22544
22545         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
22546         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
22547
22548 2011-03-26  Bruno Haible  <bruno@clisp.org>
22549
22550         unictype/property-byname: Reduce the number of load-time relocations.
22551         * lib/unictype/pr_byname.c: Include <stdlib.h>.
22552         (UC_PROPERTY_INDEX_*): New enumeration values.
22553         (uc_property_byname): Convert an index from the lookup table to an
22554         uc_property_t.
22555         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
22556         values.
22557
22558 2011-03-26  Bruno Haible  <bruno@clisp.org>
22559
22560         unictype/property-byname: Allow omitted word separators and aliases.
22561         * lib/unictype/pr_byname.gperf: Add property names without word
22562         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
22563         for 'space'.
22564
22565 2011-03-26  Bruno Haible  <bruno@clisp.org>
22566
22567         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
22568         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
22569         also hyphens to space.
22570         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
22571         without spaces.
22572         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
22573
22574 2011-03-26  Bruno Haible  <bruno@clisp.org>
22575
22576         unictype/joiningtype-byname: Recognize long names as well.
22577         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
22578         a long name.
22579         * lib/unictype/joiningtype_byname.c: Include <string.h>,
22580         unictype/joiningtype_byname.h.
22581         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
22582         * lib/unictype/joiningtype_byname.gperf: New file.
22583         * modules/unictype/joiningtype-byname (Files): Add
22584         lib/unictype/joiningtype_byname.gperf.
22585         (Depends-on): Add gperf.
22586         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
22587         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
22588         long names.
22589
22590         Tests for module 'unictype/joiningtype-longname'.
22591         * modules/unictype/joiningtype-longname-tests: New file.
22592         * tests/unictype/test-joiningtype_longname.c: New file.
22593
22594         New module 'unictype/joiningtype-longname'.
22595         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
22596         * lib/unictype/joiningtype_longname.c: New file.
22597         * modules/unictype/joiningtype-longname: New file.
22598         * modules/unictype/joiningtype-all (Depends-on): Add
22599         unictype/joiningtype-longname.
22600
22601 2011-03-26  Bruno Haible  <bruno@clisp.org>
22602
22603         unictype/bidiclass-byname: Recognize long names as well.
22604         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
22605         name.
22606         * lib/unictype/bidi_byname.c: Include <string.h>,
22607         unictype/bidi_byname.h.
22608         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
22609         * lib/unictype/bidi_byname.gperf: New file.
22610         * modules/unictype/bidiclass-byname (Files): Add
22611         lib/unictype/bidi_byname.gperf.
22612         (Depends-on): Add gperf.
22613         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
22614         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
22615         long names.
22616
22617         Tests for module 'unictype/bidiclass-longname'.
22618         * modules/unictype/bidiclass-longname-tests: New file.
22619         * tests/unictype/test-bidi_longname.c: New file.
22620
22621         New module 'unictype/bidiclass-longname'.
22622         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
22623         * lib/unictype/bidi_longname.c: New file.
22624         * modules/unictype/bidiclass-longname: New file.
22625         * modules/unictype/bidiclass-all (Depends-on): Add
22626         unictype/bidiclass-longname.
22627
22628 2011-03-26  Bruno Haible  <bruno@clisp.org>
22629
22630         unictype/bidi*: Rename modules.
22631         * modules/unictype/bidiclass-all: Renamed from
22632         modules/unictype/bidicategory-all.
22633         * modules/unictype/bidiclass-name: Renamed from
22634         modules/unictype/bidiclass-name.
22635         (Description): Update.
22636         * modules/unictype/bidiclass-name-tests: Renamed from
22637         modules/unictype/bidicategory-name-tests.
22638         * modules/unictype/bidiclass-byname: Renamed from
22639         modules/unictype/bidicategory-byname.
22640         (Description): Update.
22641         * modules/unictype/bidiclass-byname-tests: Renamed from
22642         modules/unictype/bidicategory-byname-tests.
22643         * modules/unictype/bidiclass-of: Renamed from
22644         modules/unictype/bidicategory-of.
22645         (Description): Update.
22646         * modules/unictype/bidiclass-of-tests: Renamed from
22647         modules/unictype/bidicategory-of-tests.
22648         * modules/unictype/bidiclass-test: Renamed from
22649         modules/unictype/bidicategory-test.
22650         (Description): Update.
22651         * modules/unictype/bidiclass-test-tests: Renamed from
22652         modules/unictype/bidicategory-test-tests.
22653         * modules/unictype/bidicategory-all: New file, a simple redirection.
22654         * modules/unictype/bidicategory-name: Likewise.
22655         * modules/unictype/bidicategory-byname: Likewise.
22656         * modules/unictype/bidicategory-of: Likewise.
22657         * modules/unictype/bidicategory-test: Likewise.
22658         * modules/unictype/property-bidi-* (Dependencies): Update.
22659         * lib/unictype/bidi_*.c: Update comment.
22660
22661 2011-03-26  Bruno Haible  <bruno@clisp.org>
22662
22663         unictype/bidi*: Rename functions, part 2.
22664         * modules/unictype/bidicategory-name (configure.ac): Update required
22665         libunistring version.
22666         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
22667
22668 2011-03-25  Bruno Haible  <bruno@clisp.org>
22669
22670         New module 'unictype/combining-class-all'.
22671         * modules/unictype/combining-class-all: New file.
22672
22673         Tests for module 'unictype/combining-class-byname'.
22674         * modules/unictype/combining-class-byname-tests: New file.
22675         * tests/unictype/test-combiningclass_byname.c: New file.
22676
22677         New module 'unictype/combining-class-byname'.
22678         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
22679         * lib/unictype/combiningclass_byname.c: New file.
22680         * lib/unictype/combiningclass_byname.gperf: New file.
22681         * modules/unictype/combining-class-byname: New file.
22682
22683         Tests for module 'unictype/combining-class-longname'.
22684         * modules/unictype/combining-class-longname-tests: New file.
22685         * tests/unictype/test-combiningclass_longname.c: New file.
22686
22687         New module 'unictype/combining-class-longname'.
22688         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
22689         * lib/unictype/combiningclass_longname.c: New file.
22690         * modules/unictype/combining-class-longname: New file.
22691
22692         Tests for module 'unictype/combining-class-name'.
22693         * modules/unictype/combining-class-name-tests: New file.
22694         * tests/unictype/test-combiningclass_name.c: New file.
22695
22696         New module 'unictype/combining-class-name'.
22697         * lib/unictype.in.h (uc_combining_class_name): New declaration.
22698         * lib/unictype/combiningclass_name.c: New file.
22699         * modules/unictype/combining-class-name: New file.
22700
22701 2011-03-25  Bruno Haible  <bruno@clisp.org>
22702
22703         unictype/combining-class: Rename source files.
22704         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
22705         of unictype/combining.h.
22706         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
22707         Update.
22708         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
22709         * modules/unictype/combining-class (Description): Fix.
22710         (Files, Makefile.am): Update.
22711         * tests/unictype/test-combiningclass.c: Renamed from
22712         tests/unictype/test-combining.c.
22713         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
22714
22715 2011-03-25  Bruno Haible  <bruno@clisp.org>
22716
22717         unictype: Update list of canonical combining classes.
22718         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
22719
22720 2011-03-25  Bruno Haible  <bruno@clisp.org>
22721
22722         unictype/category-byname: Recognize long names as well.
22723         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
22724         a long name.
22725         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
22726         unictype/categ_byname.h.
22727         (UC_CATEGORY_INDEX_*): New enumeration values.
22728         (uc_general_category_byname): Use uc_general_category_lookup and
22729         convert from index to value.
22730         * lib/unictype/categ_byname.gperf: New file.
22731         * modules/unictype/category-byname (Files): Add
22732         lib/unictype/categ_byname.gperf.
22733         (Depends-on): Add gperf.
22734         (Makefile.am): Add rule for generating unictype/categ_byname.h.
22735         * tests/unictype/test-categ_byname.c (main): Test the recognition of
22736         long names.
22737
22738         Tests for module 'unictype/category-longname'.
22739         * modules/unictype/category-longname-tests: New file.
22740         * tests/unictype/test-categ_longname.c: New file.
22741
22742         New module 'unictype/category-longname'.
22743         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
22744         * lib/unictype/categ_longname.c: New file.
22745         * modules/unictype/category-longname: New file.
22746         * modules/unictype/category-all (Depends-on): Add it.
22747
22748 2011-03-25  Bruno Haible  <bruno@clisp.org>
22749
22750         Tests for module 'unictype/category-LC'.
22751         * modules/unictype/category-LC-tests: New file.
22752         * tests/unictype/test-categ_LC.c: New file, automatically generated.
22753
22754         New module 'unictype/category-LC'.
22755         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
22756         (UC_CATEGORY_LC): New declaration.
22757         (UC_CASED_LETTER): New macro.
22758         * lib/gen-uni-tables.c (is_category_LC): New function.
22759         (output_categories): Also handle category LC.
22760         (UC_CATEGORY_MASK_LC): New enumeration value.
22761         (general_category_byname): Also handle category LC.
22762         * lib/unictype/categ_LC.c: New file.
22763         * lib/unictype/categ_LC.h: New file, automatically generated.
22764         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
22765         category LC.
22766         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
22767         * modules/unictype/category-LC: New file.
22768         * modules/unictype/category-byname (Depends-on): Add
22769         unictype/category-LC.
22770         * modules/unictype/category-all (Depends-on): Likewise.
22771
22772 2011-03-25  Eric Blake  <eblake@redhat.com>
22773
22774         xmalloc: revert yesterday's regression
22775         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
22776         realloc's underlying behavior (allowing allocation of zero-size
22777         objects, especially if malloc-gnu is also in use).
22778
22779 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
22780
22781         maint.mk: add missing version to VC-tag
22782         * top/maint.mk: git tag was missing actual tag name; add it.
22783
22784         valgrind: do leak checking, and exit with code 1 on error (not 0)
22785         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
22786         to VALGRIND.
22787
22788 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
22789
22790         posix-modules: say what it does.
22791         * posix-modules: Add a line to the --help output saying what it does.
22792
22793 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
22794
22795         xmalloc: Do not leak if underlying realloc is C99 compatible.
22796         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
22797         This avoids a leak on C99-based systems.  See
22798         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
22799
22800 2011-03-24  Eric Blake  <eblake@redhat.com>
22801
22802         realloc: document portability problem
22803         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
22804         passing 0 size to realloc.
22805
22806 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
22807
22808         doc: update users.txt
22809         * users.txt: Add cvsps, tmpwatch
22810
22811 2011-03-23  Matt Rice  <ratmice@gmail.com>
22812
22813         doc: update users.txt
22814         * users.txt: Add gdb.
22815
22816 2011-03-23  Jim Meyering  <meyering@redhat.com>
22817
22818         doc: update users.txt
22819         Looking through matches up to the following URL (there are still
22820         several more pages), I found several projects that use gnulib:
22821         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
22822         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
22823         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
22824
22825 2011-03-22  Bruno Haible  <bruno@clisp.org>
22826
22827         unictype/bidi*: Rename functions.
22828         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
22829         uc_bidi_class, uc_is_bidi_class): New declarations.
22830         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
22831         uc_bidi_category_byname.
22832         (uc_bidi_category_byname): New function.
22833         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
22834         u_bidi_category_name.
22835         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
22836         (uc_bidi_category_name): New function.
22837         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
22838         uc_bidi_category.
22839         (uc_bidi_category): New function.
22840         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
22841         uc_is_bidi_category. Invoke uc_bidi_class.
22842         (uc_is_bidi_category): New function.
22843         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
22844         instead of uc_bidi_category_byname.
22845         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
22846         instead of uc_bidi_category_name.
22847         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
22848         uc_bidi_category.
22849         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
22850         instead of uc_is_bidi_category.
22851
22852 2011-03-21  Bruno Haible  <bruno@clisp.org>
22853
22854         New module 'unictype/joininggroup-all'.
22855         * modules/unictype/joininggroup-all: New file.
22856
22857         Tests for module 'unictype/joininggroup-of'.
22858         * modules/unictype/joininggroup-of-tests: New file.
22859         * tests/unictype/test-joininggroup_of.c: New file.
22860         * tests/unictype/test-joininggroup_of.h: New file, automatically
22861         generated by gen-uni-tables.
22862
22863         New module 'unictype/joininggroup-of'.
22864         * modules/unictype/joininggroup-of: New file.
22865         * lib/unictype/joininggroup_of.c: New file.
22866         * lib/unictype/joininggroup_of.h: New file, automatically generated by
22867         gen-uni-tables.
22868
22869         Tests for module 'unictype/joininggroup-byname'.
22870         * modules/unictype/joininggroup-byname-tests: New file.
22871         * tests/unictype/test-joininggroup_byname.c: New file.
22872
22873         New module 'unictype/joininggroup-byname'.
22874         * modules/unictype/joininggroup-byname: New file.
22875         * lib/unictype/joininggroup_byname.c: New file.
22876         * lib/unictype/joininggroup_byname.gperf: New file.
22877
22878         Tests for module 'unictype/joininggroup-name'.
22879         * modules/unictype/joininggroup-name-tests: New file.
22880         * tests/unictype/test-joininggroup_name.c: New file.
22881
22882         New module 'unictype/joininggroup-name'.
22883         * modules/unictype/joininggroup-name: New file.
22884         * lib/unictype/joininggroup_name.c: New file.
22885         * lib/unictype/joininggroup_name.h: New file.
22886
22887         New module 'unictype/joiningtype-all'.
22888         * modules/unictype/joiningtype-all: New file.
22889
22890         Tests for module 'unictype/joiningtype-of'.
22891         * modules/unictype/joiningtype-of-tests: New file.
22892         * tests/unictype/test-joiningtype_of.c: New file.
22893         * tests/unictype/test-joiningtype_of.h: New file, automatically
22894         generated by gen-uni-tables.
22895
22896         New module 'unictype/joiningtype-of'.
22897         * modules/unictype/joiningtype-of: New file.
22898         * lib/unictype/joiningtype_of.c: New file.
22899         * lib/unictype/joiningtype_of.h: New file, automatically generated by
22900         gen-uni-tables.
22901
22902         Tests for module 'unictype/joiningtype-byname'.
22903         * modules/unictype/joiningtype-byname-tests: New file.
22904         * tests/unictype/test-joiningtype_byname.c: New file.
22905
22906         New module 'unictype/joiningtype-byname'.
22907         * modules/unictype/joiningtype-byname: New file.
22908         * lib/unictype/joiningtype_byname.c: New file.
22909
22910         Tests for module 'unictype/joiningtype-name'.
22911         * modules/unictype/joiningtype-name-tests: New file.
22912         * tests/unictype/test-joiningtype_name.c: New file.
22913
22914         New module 'unictype/joiningtype-name'.
22915         * modules/unictype/joiningtype-name: New file.
22916         * lib/unictype/joiningtype_name.c: New file.
22917
22918         unictype: Add support for Arabic shaping properties.
22919         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
22920         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
22921         declarations.
22922         (UC_JOINING_GROUP_*): New enumeration values.
22923         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
22924         declarations.
22925         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
22926         (unicode_joining_type): New variable.
22927         (UC_JOINING_GROUP_*): New enumeration values.
22928         (unicode_joining_group): New variable.
22929         (fill_arabicshaping, joining_type_as_c_identifier,
22930         output_joining_type_test, output_joining_type,
22931         joining_group_as_c_identifier, output_joining_group_test,
22932         output_joining_group): New functions.
22933         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
22934         fill_arabicshaping and output_joining_type_test, output_joining_type,
22935         output_joining_group_test, output_joining_group.
22936         Reported by Simon Josefsson.
22937
22938 2011-03-21  Jim Meyering  <meyering@redhat.com>
22939
22940         strftime: fix a bug in yesterday's change
22941         * lib/strftime.c (add): Accommodate width's initial value of -1.
22942         Otherwise, nstrftime would copy uninitialized data into
22943         the result buffer.
22944
22945 2011-03-21  Jim Meyering  <meyering@redhat.com>
22946
22947         tests: add strftime-tests module
22948         * tests/test-strftime.c: New file.
22949         * modules/strftime-tests: New module.
22950
22951 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22952
22953         strftime: don't assume a byte count fits in 'int'
22954         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
22955         found this problem by static analysis, using gcc -Wstrict-overflow
22956         (GCC 4.5.2, x86-64).  This reported an optimization that depended
22957         on an integer overflow having undefined behavior, but it turns out
22958         that the argument is a size, which might not fit in 'int' anyway,
22959
22960 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22961
22962         stdio: don't require ignore_value around fwrite
22963
22964         This patch works around libc bug 11959
22965         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
22966         Without this patch, applications must often write
22967         ignore_value (fwrite (...)) even though the ignore_value is
22968         not helpful here.  It's common to write many objects, using
22969         fwrite/printf/etc., and then use ferror to detect output error.
22970
22971         I considered making this patch optional, but decided against it,
22972         because libc is obviously being inconsistent here: there is no
22973         reason libc should insist that user code must inspect fwrite
22974         return's value without also insisting that it inspect printf's,
22975         putchar's, etc.  If user code wants to have a strict style where
22976         all these functions' values are checked (so that ferror need not
22977         be checked), we could add support for that style in a new gnulib
22978         module, but in the meantime it's better to be consistent and to
22979         support common usage.
22980
22981         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
22982         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
22983         that we are compiling in checking mode, and if not C++, and
22984         if not already wrapping fwrite for some other reason.
22985         (fwrite): #define to rpl_fwrite if the latter is defined.
22986
22987 2011-03-20  Bruno Haible  <bruno@clisp.org>
22988
22989         verror: Fix compilation error introduced on 2011-02-13.
22990         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
22991         instead of __attribute__.
22992         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
22993
22994 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
22995             Bruno Haible  <bruno@clisp.org>
22996
22997         socklen: do not depend on sys_socket
22998         While trying to modify Emacs to use gnulib's socklen module,
22999         I discovered a circular dependency: socklen depends on sys_socket
23000         and vice versa.  Emacs can use socklen, but it does not need
23001         sys_socket because it has its own substitute for sys/socket.h.
23002         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
23003         gl_TYPE_SOCKLEN_T.
23004         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
23005         gl_PREREQ_SYS_H_SOCKET.
23006         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
23007         gl_PREREQ_SYS_H_SOCKET.
23008         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
23009         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
23010         * modules/socklen (Depends-on): Do not depend on sys_socket.
23011         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
23012
23013 2011-03-20  Jim Meyering  <meyering@redhat.com>
23014
23015         maint.mk: sort file names *after* new transformation
23016         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
23017         prefix would have led to an unwarranted failure in GNU parted.
23018         Sort after that transformation.
23019
23020 2011-03-19  Jim Meyering  <meyering@redhat.com>
23021
23022         maint.mk: fix po-file syntax-check rule
23023         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
23024         Patch by Bruno Haible.
23025
23026 2011-03-19  Bruno Haible  <bruno@clisp.org>
23027
23028         socklen: Update comment.
23029         * m4/socklen.m4: Update comment about platforms.
23030
23031 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23032             Bruno Haible  <bruno@clisp.org>
23033
23034         inet_ntop, inet_pton: Simplify.
23035         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
23036         documented to provide socklen_t and we already depend on sys_socket.
23037         * modules/inet_pton (Depends-on): Likewise.
23038         * lib/arpa_inet.in.h: Adjust comment.
23039
23040 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23041             Bruno Haible  <bruno@clisp.org>
23042
23043         netdb: Simplify.
23044         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
23045         documented to provide socklen_t and we already depend on sys_socket.
23046         * lib/netdb.in.h: Adjust comment.
23047
23048 2011-03-19  Bruno Haible  <bruno@clisp.org>
23049
23050         sys_socket, netdb: Document problem with socklen_t.
23051         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
23052         platforms.
23053         * doc/posix-headers/netdb.texi: Likewise.
23054
23055 2011-03-18  Eric Blake  <eblake@redhat.com>
23056
23057         maint.mk: let po check work in VPATH build
23058         * top/maint.mk (po_file): Allow cfg.mk override.
23059         (sc_po_check): Allow VPATH use.
23060         Reported by Jiri Denemark.
23061
23062 2011-03-16  Jim Meyering  <meyering@redhat.com>
23063
23064         maint.mk: allow fine-grained syntax-check exclusion via Make variables
23065         Before, you would have had to create one .x-sc_ file per rule in order
23066         to exempt offending files.  Now, you may instead use a Make variable --
23067         usually defined in cfg.mk -- whose name identifies the affected rule.
23068         * top/maint.mk (_sc_excl): Define.
23069         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
23070         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
23071
23072 2011-03-13  Bruno Haible  <bruno@clisp.org>
23073
23074         ignore-value tests: Avoid warnings.
23075         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
23076         empty for gcc < 3.4.
23077
23078 2011-03-13  Bruno Haible  <bruno@clisp.org>
23079
23080         passfd: Fix link error on Solaris.
23081         * modules/passfd (Description): Correct.
23082         (Depends-on): Add socketlib.
23083         (Link): New section.
23084         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
23085
23086 2011-03-13  Bruno Haible  <bruno@clisp.org>
23087
23088         passfd: Fix link error on AIX 5.2.
23089         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
23090
23091 2011-03-13  Bruno Haible  <bruno@clisp.org>
23092
23093         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
23094         * lib/sys_socket.in.h: Include <stddef.h>.
23095         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
23096         CMSG_FIRSTHDR. Remove unused variable.
23097
23098 2011-03-13  Bruno Haible  <bruno@clisp.org>
23099
23100         passfd: Fix compilation error on OpenBSD.
23101         * lib/passfd.c: Include <sys/uio.h>.
23102
23103 2011-03-13  Bruno Haible  <bruno@clisp.org>
23104
23105         passfd test: Fix warnings.
23106         * tests/test-passfd.c: Include <sys/wait.h>.
23107         (main): Fix typo.
23108
23109 2011-03-13  Bruno Haible  <bruno@clisp.org>
23110
23111         passfd module, part 4, tweaks.
23112         * tests/test-passfd.c: Reorder includes.
23113         (main): Fix perror and printf calls.
23114
23115 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23116
23117         passfd module, part 4.
23118         * modules/passfd-tests: New file.
23119         * tests/test-passfd.c: New file.
23120
23121 2011-03-13  Jim Meyering  <meyering@redhat.com>
23122
23123         Makefile: rely on GNU make; derive syntax-check rule names
23124         Rather than requiring that each sc_ rule be listed as a dependent
23125         of "check", use features of GNU make to derive the list.
23126         * Makefile (syntax-check-rules): Define.
23127         (check): Depend on the new variable, not the hard-coded list.
23128
23129 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
23130             Bruno Haible  <bruno@clisp.org>
23131
23132         passfd module, part 3.
23133         * lib/passfd.h (recvfd): Add a flags argument.
23134         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
23135         (recvfd): Add a flags argument.
23136         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
23137         exists.
23138         * modules/passfd (Depends-on): Add cloexec.
23139         Suggested by Eric Blake.
23140
23141 2011-03-13  Bruno Haible  <bruno@clisp.org>
23142
23143         passfd module, part 2, tweaks.
23144         * modules/passfd (Files): Reorder.
23145         (Depends-on): Remove errno.
23146         (Include): Remove <sys/socket.h>, <sys/un.h>.
23147         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
23148         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
23149         specification header. Include <sys/socket.h> always. Don't include
23150         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
23151         (sendfd): Clarify that it sets errno when it fails.
23152         (recvfd): Fix specification.
23153
23154 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23155
23156         passfd module, part 2.
23157         * modules/passfd: New file.
23158         * lib/passfd.h: New file.
23159         * lib/passfd.c: New file.
23160
23161 2011-03-12  Bruno Haible  <bruno@clisp.org>
23162
23163         wcswidth, mbswidth: Avoid integer overflow.
23164         * lib/wcswidth.c: Include <limits.h>.
23165         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
23166         * lib/mbswidth.c: Include <limits.h>.
23167         (mbsnwidth): Avoid 'int' overflow.
23168         Reported by Jim Meyering.
23169
23170 2011-03-12  Bruno Haible  <bruno@clisp.org>
23171
23172         futimens, utimensat: Avoid endless recursion on Solaris 10.
23173         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
23174         Solaris.
23175         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
23176         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
23177
23178 2011-03-11  Jim Meyering  <meyering@redhat.com>
23179
23180         maint.mk: relax a regexp to accommodate other formatting styles
23181         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
23182         between "ngettext" and the following "(".
23183
23184 2011-03-11  Pádraig Brady <P@draigBrady.com>
23185
23186         maint.mk: suppress a false positive warning
23187         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
23188         diagnostics are marked with ngettext.
23189
23190 2011-03-10  Eric Blake  <eblake@redhat.com>
23191
23192         wchar: add explicit dependencies, for Tru64
23193         * modules/mbmemcasecoll (Depends-on): Add wchar.
23194         * modules/mbtowc (Depends-on): Likewise.
23195         * modules/vasnprintf (Depends-on): Likewise.
23196         * modules/unistdio/u-printf-args (Depends-on): Likewise.
23197         * modules/wctomb (Depends-on): Likewise.
23198         Reported by Peter O'Gorman.
23199
23200 2011-03-08  Bruno Haible  <bruno@clisp.org>
23201
23202         passfd module, part 1, tweaks.
23203         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
23204         Improve indentation. Improve AC_MSG_CHECKING messages.
23205         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
23206         gl_SOCKET_FAMILIES.
23207
23208 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23209
23210         passfd module, part 1.
23211         * m4/afunix.m4: New file.
23212         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
23213         sockets.
23214
23215 2011-03-08  Bruno Haible  <bruno@clisp.org>
23216
23217         regex-quote: New API.
23218         * lib/regex-quote.h: Include <stdbool.h>.
23219         (struct regex_quote_spec): New type.
23220         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23221         New declarations.
23222         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23223         'const struct regex_quote_spec *' argument.
23224         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
23225         (pcre_special): New constant.
23226         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23227         New functions.
23228         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23229         'const struct regex_quote_spec *' argument.
23230         * modules/regex-quote (Depends-on): Add stdbool.
23231         * tests/test-regex-quote.c (check): Update for new API. Add test for
23232         anchored results.
23233         * NEWS: Mention the API change.
23234         Reported by Reuben Thomas and Eric Blake.
23235
23236 2011-03-06  Bruno Haible  <bruno@clisp.org>
23237
23238         regex-quote: Fix creation of POSIX extended regular expressions.
23239         * lib/regex-quote.c (ere_special): Add grouping and alternation
23240         operators.
23241
23242 2011-03-05  Bruno Haible  <bruno@clisp.org>
23243
23244         doc: Improve doc regarding autopoint vs. gnulib.
23245         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
23246         disable autopoint while running autoreconf.
23247         Suggested by Ralf Wildenhues.
23248
23249 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23250
23251         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
23252         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
23253
23254 2011-03-03  Bruce Korb  <bkorb@gnu.org>
23255
23256         parse-duration: remove xalloc.h dependency
23257         * lib/parse-duration.c (parse_period): handle NULL return from
23258         strdup instead of calling xstrdup().
23259         * modules/parse-duration: remove "xalloc" dependency
23260
23261 2011-03-03  Matthew Booth  <mbooth@redhat.com>
23262
23263         bootstrap: honor m4_base when running aclocal
23264         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
23265
23266 2011-03-02  Jim Meyering  <meyering@redhat.com>
23267
23268         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
23269         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
23270         on request from Matt Booth.
23271
23272 2011-03-01  Eric Blake  <eblake@redhat.com>
23273
23274         test-link: work on Hurd
23275         * tests/test-link.h (test_link): Hurd rejects linking directories
23276         with EISDIR instead of the POSIX-mandated EPERM.
23277
23278 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
23279
23280         stdio: simplify by moving files to printf-posix, sigpipe
23281         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
23282         since this symbol is needed only if printf is replaced.
23283         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
23284         Require gl_ASM_SYMBOL_PREFIX.
23285         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
23286         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
23287         (Depends-on): Add 'raise'.
23288         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
23289         * modules/stdio (Files): Remove lib/stdio-write.c,
23290         m4/asm-underscore.m4.
23291         (Depends-on): Remove 'raise'.
23292
23293         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
23294         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
23295         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
23296         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
23297
23298 2011-02-28  Bruno Haible  <bruno@clisp.org>
23299
23300         localcharset: Assume ANSI C behaviour of free().
23301         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
23302         calling free().
23303         Suggested by Simon Josefsson <simon@josefsson.org>.
23304
23305 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
23306             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
23307             Bruno Haible  <bruno@clisp.org>  (tiny change)
23308
23309         On Cygwin, use /proc file system instead of win32 API.
23310         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
23311         Win32 file names.
23312         (DllMain): Simplify by removing Cygwin specific code.
23313         (find_shared_library_fullname): Use Linux specific implementation also
23314         for Cygwin.
23315         (get_shared_library_fullname): Update accordingly.
23316         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
23317         Win32 file names.
23318         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
23319         Cygwin specific code.
23320
23321 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
23322             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
23323
23324         Fix OpenMP flag detection for various Fortran compilers.
23325         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
23326         OpenMP-conditional compilation construct, to force compile
23327         failure with missing OpenMP flag.
23328         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
23329
23330 2011-02-25  Eric Blake  <eblake@redhat.com>
23331
23332         strstr: expand test coverage
23333         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
23334         compilation.
23335         * tests/test-memmem.c (main): Duplicate tests.
23336         * tests/test-strcasestr.c (main): Likewise.
23337         * tests/test-c-strcasestr.c (main): Likewise.
23338
23339 2011-02-25  Jim Meyering  <meyering@redhat.com>
23340
23341         maint.mk: detect missing-NL-at-EOF, too
23342         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
23343         it also detects when a file lacks a newline at EOF.
23344         (require_exactly_one_NL_at_EOF_): Renamed from
23345         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
23346         since people may well have .x-sc_... file names tied to the
23347         existing name.  Suggested by Eric Blake.
23348
23349 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
23350
23351         dirname: move m4/dos.m4 functionality into lib/dosname.h
23352
23353         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
23354         extracts symbols from it, puts them into config.h; but it's much
23355         easier to use the symbols directly.  filename.h already does this,
23356         but it disagrees with dos.m4 in some respects.  This patch
23357         introduces a different include file dosname.h that packages up
23358         dos.m4, and then later we can work on merging filename.h and
23359         dosname.h.  Applications that need only the easy-to-configure
23360         symbols should consider including dosname.h rather than dirname.h.
23361         * NEWS: Mention incompatible changes.
23362         * m4/dos.m4: Remove.
23363         * lib/dosname.h, modules/dosname: New files.
23364         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
23365         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
23366         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
23367         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
23368         Include dosname.h, not dirname.h.
23369         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
23370         Include dosname.h, for definitions of symbols like ISSLASH
23371         that used to be in config.h.
23372         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
23373         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23374         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23375         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23376         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
23377         * modules/rmdir (Files): Likewise.
23378         * modules/stat (Files): Likewise.
23379         * modules/unlink (Files): Likewise.
23380         * modules/dirname-lgpl (Depends-on): Add dosname.
23381         * modules/lstat (Depends-on): Likewise.
23382         * modules/openat (Depends-on): Likewise.
23383         * modules/rmdir (Depends-on): Likewise.
23384         * modules/savewd (Depends-on): Likewise.
23385         * modules/stat (Depends-on): Likewise.
23386         * modules/unlink (Depends-on): Likewise.
23387         * modules/openat (Depends-on): Remove dirname-lgpl.
23388         * modules/savewd (Depends-on): Likewise.
23389         * tests/test-dirname.c: Do not use removed symbols like
23390         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
23391         the remaining symbols, e.g., ISSLASH ('\\').
23392
23393 2011-02-25  Eric Blake  <eblake@redhat.com>
23394
23395         strstr: revert patches that introduced bug and pessimization
23396         * lib/str-two-way.h: Add another reference.
23397         (two_way_short_needle, two_way_long_needle): Revert changes from
23398         2011-02-24; they pessimize search speed.
23399         (critical_factorization): Partially revert changes from
23400         2010-06-22; they violate the requirement that the left half of the
23401         needle be smaller than the period of the needle.
23402
23403 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
23404
23405         filenamecat: remove unnecessary dependency on dirname-lgpl
23406         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
23407         is no direct dependency, just an indirect one via filenamecat-lgpl.
23408
23409         remove: remove unnecessary use of m4/dos.m4
23410         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
23411         * modules/remove (FILES): Remove m4/dos.m4.
23412
23413         * lib/openat-proc.c: Don't include dirname.h; not needed.
23414
23415         backupfile: remove unnecessary use of m4/dos.m4
23416         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
23417         of its symbols are used by the backupfile code.  backupfile.c does
23418         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
23419         for the rare case of programs that want all their backup file
23420         names to live within 8+3 limits, and dos.m4 doesn't address that.
23421         * modules/backupfile (Files): Remove m4/dos.m4.
23422
23423 2011-02-24  Jim Meyering  <meyering@redhat.com>
23424
23425         strstr: fix a bug whereby strstr would mistakenly return NULL
23426         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
23427         in period calculation.
23428         (two_way_long_needle): Likewise.
23429         The original problem was reported by Mike Stump in
23430         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
23431         Ralf Wildenhues provided the short needle and haystack.
23432         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
23433         Add a more involved test to trigger the bug in two_way_long_needle.
23434
23435 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23436
23437         gnulib-tool: remove use of bold display in help screen
23438         * gnulib-tool (func_usage): Do not use bold display anymore in the
23439         help screen.  That was just meant to be a temporary emphasis for a
23440         backward-incompatible change.
23441
23442 2011-02-23  Bruno Haible  <bruno@clisp.org>
23443
23444         Fix misindentation of preprocessor directives.
23445         * lib/argp-namefrob.h: Reindent preprocessor directives.
23446         * lib/getopt_int.h (struct _getopt_data): Likewise.
23447         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
23448         * lib/vasnprintf.c (decode_long_double): Likewise.
23449         * tests/test-argmatch.c: Insert blank lines, for clarity.
23450         * tests/test-exclude.c: Likewise.
23451
23452 2011-02-22  Bruno Haible  <bruno@clisp.org>
23453
23454         ioctl: Fix for MacOS X in 64-bit mode.
23455         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
23456         value.
23457         Suggested by Eric Blake.
23458         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
23459
23460 2011-02-22  Jim Meyering  <meyering@redhat.com>
23461
23462         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
23463         * Makefile (sc_cpp_indent_check): Don't limit the check to files
23464         in lib/.
23465
23466 2011-02-22  Eric Blake  <eblake@redhat.com>
23467
23468         maint: avoid any CDPATH issue
23469         * Makefile (sc_cpp_indent_check): Anchor cd argument.
23470
23471         maint: adjust cpp indentation for my modules, as well
23472         * Makefile (sc_cpp_indent_check): Add my name.
23473         * lib/fbufmode.c: Filter through cppi.
23474         * lib/fpurge.c: Likewise.
23475         * lib/freadable.c: Likewise.
23476         * lib/freading.c: Likewise.
23477         * lib/fwritable.c: Likewise.
23478         * lib/fwriting.c: Likewise.
23479         * lib/sigaction.c: Likewise.
23480
23481 2011-02-22  Jim Meyering  <meyering@redhat.com>
23482
23483         maint: adjust cpp indentation to reflect nesting depth
23484         I.e., in a block of code that begins with an unnested "#if",
23485         put one space between the "#" in column 1 and following token.
23486         For example,
23487         -#include <sys/vfs.h>
23488         +# include <sys/vfs.h>
23489         Do this only in .c files that are part of a module I maintain.
23490         * lib/linkat.c: Filter through cppi.
23491         * lib/nanosleep.c: Likewise.
23492         * lib/openat.c: Likewise.
23493         * lib/openat-die.c: Likewise.
23494         * lib/dup3.c: Likewise.
23495         * lib/fchownat.c: Likewise.
23496         * lib/flock.c: Likewise.
23497         * lib/fsync.c: Likewise.
23498         * lib/fts.c: Likewise.
23499         * lib/getpass.c: Likewise.
23500         * lib/gettimeofday.c: Likewise.
23501         * lib/userspec.c: Likewise.
23502         * Makefile (sc_cpp_indent_check): New rule, to check this.
23503
23504 2011-02-22  Bruno Haible  <bruno@clisp.org>
23505
23506         New module 'wctomb'.
23507         * lib/stdlib.in.h (wctomb): New declaration.
23508         * lib/wctomb.c: New file.
23509         * lib/wctomb-impl.h: New file.
23510         * m4/wctomb.m4: New file.
23511         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
23512         REPLACE_WCTOMB.
23513         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
23514         REPLACE_WCTOMB.
23515         * modules/wctomb: New file.
23516         * tests/test-stdlib-c++.cc: Test signature of wctomb.
23517         * doc/posix-functions/wctomb.texi: Mention the new module.
23518         * modules/wctob (Depends-on): Add wctomb.
23519
23520 2011-02-22  Bruno Haible  <bruno@clisp.org>
23521
23522         New module 'mbtowc'.
23523         * lib/stdlib.in.h (mbtowc): New declaration.
23524         * lib/mbtowc.c: New file.
23525         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
23526         * m4/mbtowc.m4: New file.
23527         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
23528         REPLACE_MBTOWC.
23529         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
23530         REPLACE_MBTOWC.
23531         * modules/mbtowc: New file.
23532         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
23533         * doc/posix-functions/mbtowc.texi: Mention the new module.
23534         * modules/btowc (Depends-on): Add mbtowc.
23535
23536 2011-02-22  Bruno Haible  <bruno@clisp.org>
23537
23538         wcrtomb: Add more tests for native Windows platforms.
23539         * tests/test-wcrtomb-w32-1.sh: New file.
23540         * tests/test-wcrtomb-w32-2.sh: New file.
23541         * tests/test-wcrtomb-w32-3.sh: New file.
23542         * tests/test-wcrtomb-w32-4.sh: New file.
23543         * tests/test-wcrtomb-w32-5.sh: New file.
23544         * tests/test-wcrtomb-w32.c: New file.
23545         * modules/wcrtomb-tests (Files): Add them.
23546         (Makefile.am): Arrange to run these tests.
23547         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
23548         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
23549
23550 2011-02-20  Bruno Haible  <bruno@clisp.org>
23551
23552         wcrtomb: Enhance test.
23553         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
23554
23555 2011-02-20  Bruno Haible  <bruno@clisp.org>
23556
23557         mbrtowc: Tiny optimization.
23558         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
23559
23560 2011-02-20  Jim Meyering  <meyering@redhat.com>
23561
23562         test-exclude.c: remove unmatched #endif
23563         * tests/test-exclude.c: Remove stray #endif, left over from
23564         the change of a week ago.
23565
23566 2011-02-19  Jim Meyering  <meyering@redhat.com>
23567
23568         git-version-gen: skip "-dirty" check when appropriate
23569         * build-aux/git-version-gen: Don't run any git commands when the
23570         version string comes from .tarball-version.  Prior to this, we
23571         would run git update-index --refresh even from a just-unpacked
23572         tarball directory, and that could affect a .git/ directory in a
23573         parent of the build directory.  Reported by Mike Frysinger.
23574
23575 2011-02-19  Bruno Haible  <bruno@clisp.org>
23576
23577         unictype/property-byname: Reduce the size of the 'data' segment.
23578         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
23579
23580 2011-02-19  Bruno Haible  <bruno@clisp.org>
23581
23582         unictype/scripts: Reduce the size of the 'data' segment.
23583         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
23584         '%pic'.
23585         * lib/unictype/scripts_byname.gperf: Regenerated.
23586
23587 2011-02-19  Bruno Haible  <bruno@clisp.org>
23588
23589         stdint: Update documentation.
23590         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
23591
23592 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
23593
23594         stdint: omit redundant check for wchar.h
23595         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
23596         always tests whether wchar.h exists, so remove the now-redundant test.
23597
23598 2011-02-18  Bruno Haible  <bruno@clisp.org>
23599
23600         stdint: Cut dependency to module 'wchar'.
23601         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
23602         include the necessary prerequisites.
23603         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
23604         * modules/stdint (Depends-on): Remove wchar.
23605         (Makefile.am): Substitute HAVE_WCHAR_H.
23606         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
23607
23608 2011-02-18  Eric Blake  <eblake@redhat.com>
23609
23610         longlong: skip, rather than fail, on cross-compilation
23611         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
23612         when cross-compiling; regression from 2011-02-16.
23613
23614 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23615
23616         * NEWS: Mention 2011-02-08 change to stdlib.
23617
23618 2011-02-17  Bruno Haible  <bruno@clisp.org>
23619
23620         getloadavg: Add comments about platforms.
23621         * m4/getloadavg.m4: Add comment.
23622         * lib/getloadavg.c: Likewise.
23623
23624 2011-02-17  Bruno Haible  <bruno@clisp.org>
23625
23626         getloadavg: Fix link error on Solaris 2.6.
23627         * modules/getloadavg (Link): New section.
23628         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
23629         linking test-getloadavg.
23630         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
23631         getloadavg.
23632
23633 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23634
23635         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
23636         It was 'int', but this doesn't match the IRIX 6.5 manual.
23637         Suggested by Bruno Haible in
23638         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
23639
23640 2011-02-17  Bruno Haible  <bruno@clisp.org>
23641
23642         havelib: Fix comments.
23643         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
23644         change.
23645
23646 2011-02-17  Bruno Haible  <bruno@clisp.org>
23647
23648         havelib: Update config.rpath.
23649         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
23650
23651 2011-02-17  Bruno Haible  <bruno@clisp.org>
23652
23653         getloadavg test: Add some plausibility checks.
23654         * tests/test-getloadavg.c (check_avg): Print a warning when the value
23655         is improbable.
23656
23657 2011-02-16  Eric Blake  <eblake@redhat.com>
23658
23659         maintainer-makefile: make syntax-check a no-op from tarballs
23660         * top/maint.mk (no-vc-detected): New rule.
23661         (local-checks-available): Use it to avoid hanging if someone tries
23662         'make syntax-check' from a tarball.  Also append to any non-syntax
23663         checks already defined in cfg.mk.
23664
23665 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
23666
23667         longlong: tune, particularly for common case of c99
23668
23669         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
23670         or running anything if c99, or if unsigned long long int does not
23671         work.  In either case, we know the answer without further tests.
23672         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
23673         it at most once, and use its results for both long long int and
23674         unsigned long long int.  This is more likely to be efficient in
23675         the common case where the program wants to check for both long
23676         long int and unsigned long long int.
23677         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
23678         since the answer is already known.
23679
23680 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
23681
23682         getloadavg: set errno
23683         * lib/getloadavg.c: Set errno when returning -1.  If no other
23684         error number looks appropriate, set it to ENOSYS if the getloadavg
23685         looks like it can't possibly ever work, ENOTSUP otherwise.
23686         Suggested by Bruno Haible in
23687         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
23688
23689         getloadavg: trim unused parts and speed up 'configure'
23690         * NEWS: Document this.
23691         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
23692         always compiled if getloadavg is absent.
23693         Move test code to ...
23694         * tests/test-getloadavg.c: New file, containing previous
23695         contents of test from lib/getloadavg.c.  It also contains
23696         suggestions by Bruno Haible in
23697         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
23698         * modules/getloadavg-tests: New file.
23699         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
23700         Do tests in the same order as they're needed for getloadavg.c.
23701         Omit setgid-related tests that generate symbols KMEM_GROUP,
23702         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
23703         Do only the tests that are needed to see whether the system has
23704         getloadavg, moving the other tests into ...
23705         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
23706         NLIST_NAME_UNION; nobody should be using it.  Do not define
23707         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
23708         relevant, as the user of this module shouldn't care how getloadavg
23709         is implemented.
23710
23711         getloadavg: omit unused var
23712         * lib/getloadavg.c (getloadavg): Omit unused local variable.
23713
23714 2011-02-15  Jim Meyering  <meyering@redhat.com>
23715
23716         doc: update users.txt
23717         * users.txt: Update iwhd's URL.
23718
23719 2011-02-13  Bruno Haible  <bruno@clisp.org>
23720
23721         Consistent macro naming for macros that use GCC __attribute__.
23722         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
23723         _ATTRIBUTE_NONNULL_.
23724         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
23725         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
23726         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
23727         ATTRIBUTE_DEPRECATED.
23728         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
23729         ATTRIBUTE_NORETURN.
23730         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23731         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23732         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23733         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
23734         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
23735         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
23736         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
23737         ATTRIBUTE_SENTINEL.
23738         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
23739         ATTRIBUTE_RETURN_CHECK.
23740         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
23741         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
23742         ATTRIBUTE_NORETURN.
23743         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
23744         Reported by Paul Eggert.
23745
23746 2011-02-13  Bruno Haible  <bruno@clisp.org>
23747
23748         Don't interfere with a program's definition of __attribute__.
23749         * lib/argp.h (__attribute__): Remove definition.
23750         (_GL_ATTRIBUTE_FORMAT): New macro.
23751         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
23752         * lib/argp-fmtstream.h (__attribute__): Remove definition.
23753         (_GL_ATTRIBUTE_FORMAT): New macro.
23754         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
23755         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
23756         GCC 3 or newer.
23757         * lib/error.h (__attribute__): Remove definition.
23758         (_GL_ATTRIBUTE_FORMAT): New macro.
23759         (error, error_at_line): Use it.
23760         * lib/hash.h (__attribute__): Remove definition.
23761         (ATTRIBUTE_WUR): Update definition. Define always.
23762         * lib/openat.h (__attribute__): Remove definition.
23763         (ATTRIBUTE_NORETURN): Update definition. Define always.
23764         * lib/sigpipe-die.h (__attribute__): Remove definition.
23765         (ATTRIBUTE_NORETURN): Update definition. Define always.
23766         * lib/vasnprintf.h (__attribute__): Remove definition.
23767         (_GL_ATTRIBUTE_FORMAT): New macro.
23768         (asnprintf, vasnprintf): Use it.
23769         * lib/xalloc.h (__attribute__): Remove definition.
23770         (ATTRIBUTE_NORETURN): Update definition. Define always.
23771         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
23772         * lib/xmemdup0.h (__attribute__): Remove definition.
23773         (ATTRIBUTE_NORETURN): Update definition. Define always.
23774         * lib/xprintf.h (__attribute__): Remove definition.
23775         (_GL_ATTRIBUTE_FORMAT): New macro.
23776         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
23777         * lib/xstrtol.h (__attribute__): Remove definition.
23778         (ATTRIBUTE_NORETURN): Update definition. Define always.
23779         * lib/xvasprintf.h (__attribute__): Remove definition.
23780         (_GL_ATTRIBUTE_FORMAT): New macro.
23781         (xasprintf, xvasprintf): Use it.
23782         * tests/test-argmatch.c (__attribute__): Remove definition.
23783         (ATTRIBUTE_NORETURN): Update definition. Define always.
23784         * tests/test-exclude.c (__attribute__): Remove definition.
23785         (ATTRIBUTE_NORETURN): Update definition. Define always.
23786         Reported by Paul Eggert.
23787
23788 2011-02-13  Bruno Haible  <bruno@clisp.org>
23789
23790         mbrtowc: Add more tests for native Windows platforms.
23791         * tests/test-mbrtowc-w32-1.sh: New file.
23792         * tests/test-mbrtowc-w32-2.sh: New file.
23793         * tests/test-mbrtowc-w32-3.sh: New file.
23794         * tests/test-mbrtowc-w32-4.sh: New file.
23795         * tests/test-mbrtowc-w32-5.sh: New file.
23796         * tests/test-mbrtowc-w32.c: New file.
23797         * modules/mbrtowc-tests (Files): Add them.
23798         (Makefile.am): Arrange to run these tests.
23799         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
23800         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
23801
23802 2011-02-13  Bruno Haible  <bruno@clisp.org>
23803
23804         mbrtowc: Work around native Windows bug.
23805         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
23806         guess when no suitable locale for testing was found.
23807         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
23808
23809 2011-02-13  Bruno Haible  <bruno@clisp.org>
23810
23811         mbsinit: Work around mingw bug.
23812         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
23813         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
23814         Windows.
23815         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
23816
23817 2011-02-13  Bruno Haible  <bruno@clisp.org>
23818
23819         mbsinit: Don't crash for a NULL argument.
23820         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
23821         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
23822
23823 2011-02-13  Bruno Haible  <bruno@clisp.org>
23824
23825         Don't interfere with a program's definition of __attribute__.
23826         * lib/stdio.in.h (__attribute__): Remove definition.
23827         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
23828         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
23829         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
23830         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
23831         * lib/string.in.h (__attribute__): Remove definition.
23832         Reported by Paul Eggert.
23833
23834 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
23835
23836         stdlib: don't get in the way of non-GCC __attribute__
23837         See thread starting at
23838         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
23839         Revert previous stdlib change, installing the following instead:
23840         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
23841         to get in the way of a non-GCC compiler that supports __attribute__.
23842         (_GL_ATTRIBUTE_RETURN): New macro.
23843         (_Exit): Use it instead of __attribute__.
23844
23845 2011-02-12  Bruno Haible  <bruno@clisp.org>
23846
23847         quotearg test: Avoid test failure on mingw.
23848         * tests/test-quotearg.sh: Convert the locale identifier from native
23849         Windows syntax to Unix syntax.
23850
23851 2011-02-12  Bruno Haible  <bruno@clisp.org>
23852
23853         setlocale: Prefer gnulib's override over libintl's override.
23854         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
23855         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
23856         GNULIB_defined_setlocale is set.
23857
23858 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
23859
23860         stdlib: support non-GCC __attribute__
23861
23862         Fix a serious and tricky problem encountered when attempting to
23863         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
23864         5.5, but it crashed due to memory corruption on Solaris 10 with
23865         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
23866         bits that are otherwise zero.  This tagging is optional inside
23867         Emacs but is preferred and is used when __attribute__ ((__aligned
23868         (8))) works, as it does with both recent-enough GCC and with Sun C
23869         5.11.  However, Sun C 5.11 is not GCC and does not #define
23870         __GNUC__ and __GNUC_MINOR__.
23871
23872         When I added the getloadavg module to Emacs, it brought in
23873         stdlib.in.h, which contained this fragment:
23874
23875            #ifndef __attribute__
23876            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
23877            #  define __attribute__(Spec)   /* empty */
23878            # endif
23879            #endif
23880
23881         When files that include <stdlib.h> were compiled with Sun C 5.11,
23882         the above code disabled __attribute__ ((__aligned (8))), which
23883         caused variables to not be properly aligned, which eventually led
23884         to the pointer corruption mentioned above.  (This was a bit hard
23885         to diagnose, unfortunately.)
23886
23887         Several "#define __attribute__(X) /* empty */" code snippets need
23888         to be eradicated from Gnulib to work with non-GCC compilers that
23889         support __attribute__.  The Autoconf way to do this is to test for
23890         each kind of attribute that we want support for, and selectively
23891         enable that in source code.
23892
23893         Fix this problem just for stdlib.h, by adding a test for the
23894         __noreturn__ attribute, and change stdlib.in.h to use that test
23895         when needed.  This technique can be easily generalized to the
23896         other *.in.h files and attributes, and a similar technique can be
23897         used for *.h and *.c files.  This patch is enough to solve the
23898         problem for Emacs + getloadavg, and I thought I'd publish it for
23899         feedback before undertaking further, similar fixes in other
23900         modules.
23901
23902         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
23903         because it's not needed for stdlib.h.  It merely substitutes the
23904         value directly into stdlib.h.  We may well need to #define it, or
23905         similar symbols, for other modules, but it's nice to also have an
23906         option to not #define it for applications like Emacs that do not
23907         need it.
23908
23909         * lib/stdlib.in.h (__attribute__): Do not #define.
23910         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
23911         be defined only if the _Exit module is also used.
23912         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
23913         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
23914         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
23915         platforms.
23916         * modules/_Exit (Files): Add m4/attribute.m4.
23917         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
23918         * m4/attribute.m4: New file.
23919
23920 2011-02-12  Bruno Haible  <bruno@clisp.org>
23921
23922         wcsrtombs: Work around bug on native Windows.
23923         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
23924         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
23925         instead of len.
23926         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
23927
23928 2011-02-12  Bruno Haible  <bruno@clisp.org>
23929
23930         mbsrtowcs: Work around bug on native Windows.
23931         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
23932         against mingw bug.
23933         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
23934
23935 2011-02-12  Bruno Haible  <bruno@clisp.org>
23936
23937         Avoid setlocale bugs in tests.
23938         * modules/btowc (Dependencies): Add setlocale.
23939         * modules/c-strcase (Dependencies): Likewise.
23940         * modules/mbmemcasecmp (Dependencies): Likewise.
23941         * modules/mbmemcasecoll (Dependencies): Likewise.
23942         * modules/mbrtowc (Dependencies): Likewise.
23943         * modules/mbscasecmp (Dependencies): Likewise.
23944         * modules/mbscasestr (Dependencies): Likewise.
23945         * modules/mbschr (Dependencies): Likewise.
23946         * modules/mbscspn (Dependencies): Likewise.
23947         * modules/mbsinit (Dependencies): Likewise.
23948         * modules/mbsncasecmp (Dependencies): Likewise.
23949         * modules/mbsnrtowcs (Dependencies): Likewise.
23950         * modules/mbspbrk (Dependencies): Likewise.
23951         * modules/mbspcasecmp (Dependencies): Likewise.
23952         * modules/mbsrchr (Dependencies): Likewise.
23953         * modules/mbsrtowcs (Dependencies): Likewise.
23954         * modules/mbsspn (Dependencies): Likewise.
23955         * modules/mbsstr (Dependencies): Likewise.
23956         * modules/nl_langinfo (Dependencies): Likewise.
23957         * modules/quotearg (Dependencies): Likewise.
23958         * modules/unicase/locale-language (Dependencies): Likewise.
23959         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
23960         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
23961         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
23962         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
23963         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
23964         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
23965         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
23966         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
23967         * modules/vasnprintf-posix (Dependencies): Likewise.
23968         * modules/wcrtomb (Dependencies): Likewise.
23969         * modules/wcsnrtombs (Dependencies): Likewise.
23970         * modules/wcsrtombs (Dependencies): Likewise.
23971
23972 2011-02-12  Bruno Haible  <bruno@clisp.org>
23973
23974         setlocale: Workaround native Windows bug.
23975         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
23976         succeeds but sets LC_CTYPE to "C", report a failure.
23977         * tests/test-setlocale2.sh: New file.
23978         * tests/test-setlocale2.c: New file.
23979         * modules/setlocale-tests (Files): Add the new files.
23980         (Makefile.am): Enable test-setlocale2.sh test.
23981         * doc/posix-functions/setlocale.texi: Mention workaround.
23982
23983 2011-02-11  Bruno Haible  <bruno@clisp.org>
23984
23985         Tests for module 'setlocale'.
23986         * modules/setlocale-tests: New file.
23987         * tests/test-setlocale1.sh: New file.
23988         * tests/test-setlocale1.c: New file.
23989
23990         New module 'setlocale'.
23991         * lib/locale.in.h (setlocale): New declaration.
23992         * lib/setlocale.c: New file, based on
23993         gettext/gettext-runtime/intl/setlocale.c.
23994         * m4/setlocale.m4: New file.
23995         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
23996         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
23997         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
23998         REPLACE_SETLOCALE.
23999         * modules/setlocale: New file.
24000         * tests/test-locale-c++.cc: Test the declaration of setlocale.
24001         * doc/posix-functions/setlocale.texi: Mention the new module.
24002
24003 2011-02-11  Bruno Haible  <bruno@clisp.org>
24004
24005         Prepare for locale dependent tests on mingw.
24006         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
24007         because it has the wrong locale encoding.
24008         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
24009         French_France.1252 instead of "fr".
24010         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
24011         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
24012         because it has the wrong locale encoding.
24013         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
24014         native Windows, try Turkish_Turkey.65001.
24015         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
24016         Chinese_China.54936.
24017
24018         Prepare for locale dependent tests on mingw.
24019         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
24020         differently.
24021         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
24022         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
24023         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
24024         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
24025
24026 2011-02-11  Eric Blake  <eblake@redhat.com>
24027
24028         strptime: avoid compiler warnings
24029         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
24030         compiler warnings about dead code.
24031         Reported by Daniel P. Berrange.
24032
24033 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
24034
24035         doc: update users.txt
24036         * users.txt: Add rcs.
24037
24038 2011-02-10  John W. Eaton  <jwe@gnu.org>
24039
24040         doc: update users.txt
24041         * users.txt: Add octave.
24042
24043 2011-02-10  Jim Meyering  <meyering@redhat.com>
24044
24045         doc: update users.txt
24046         * users.txt: Add iwhd.
24047
24048 2011-02-09  Bruno Haible  <bruno@clisp.org>
24049
24050         gnulib-tool: Make copyright notice adjustment more robust.
24051         * gnulib-tool (func_import): In sed_transform_main_lib_file,
24052         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
24053         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
24054         License".
24055         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
24056
24057 2011-02-06  Bruno Haible  <bruno@clisp.org>
24058
24059         New module 'towctrans'.
24060         * modules/towctrans: New file.
24061         * lib/wctype.in.h (towctrans): New declaration.
24062         * lib/towctrans.c: New file.
24063         * lib/towctrans-impl.h: New file.
24064         * m4/towctrans.m4: New file.
24065         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
24066         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
24067         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
24068         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
24069         * doc/posix-functions/towctrans.texi: Mention the new module.
24070
24071 2011-02-06  Bruno Haible  <bruno@clisp.org>
24072
24073         New module 'wctrans'.
24074         * modules/wctrans: New file.
24075         * lib/wctype.in.h (wctrans): New declaration.
24076         * lib/wctrans.c: New file.
24077         * lib/wctrans-impl.h: New file.
24078         * m4/wctrans.m4: New file.
24079         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
24080         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
24081         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
24082         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
24083         * doc/posix-functions/wctrans.texi: Mention the new module.
24084
24085 2011-02-06  Bruno Haible  <bruno@clisp.org>
24086
24087         New module 'iswctype'.
24088         * modules/iswctype: New file.
24089         * lib/wctype.in.h (iswctype): New declaration.
24090         * lib/iswctype.c: New file.
24091         * lib/iswctype-impl.h: New file.
24092         * m4/iswctype.m4: New file.
24093         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
24094         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
24095         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
24096         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
24097         * doc/posix-functions/iswctype.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         New module 'wctype'.
24103         * modules/wctype: Change to represent the wctype() substitute.
24104         * lib/wctype.in.h (wctype): New declaration.
24105         * lib/wctype.c: New file.
24106         * lib/wctype-impl.h: New file.
24107         * m4/wctype.m4: New file.
24108         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
24109         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
24110         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
24111         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
24112         * doc/posix-functions/wctype.texi: Mention the new module and the
24113         HP-UX 11.00 problem.
24114
24115 2011-02-06  Bruno Haible  <bruno@clisp.org>
24116
24117         wctype-h: Ensure wctype_t and wctrans_t are defined.
24118         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
24119         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24120         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24121         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
24122         HAVE_WCTRANS_T.
24123         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
24124
24125 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
24126
24127         flock: fix license typo
24128
24129         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
24130         omitted.
24131
24132 2011-02-08  Bruno Haible  <bruno@clisp.org>
24133
24134         Split large sed scripts, for HP-UX sed.
24135         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
24136         to avoid HP-UX limit of 99 commands, in the near future.
24137         * modules/stdlib (Makefile.am): Likewise.
24138         * modules/unistd (Makefile.am): Likewise.
24139         * modules/wchar (Makefile.am): Likewise.
24140         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24141         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
24142         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
24143
24144 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24145             Bruno Haible  <bruno@clisp.org>
24146
24147         stdlib: improve random_r modularization
24148         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
24149         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
24150         you also need the random_r module to get this material right.
24151         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
24152         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
24153         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
24154
24155 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24156
24157         stdlib: don't depend on stdint
24158         * lib/stdlib.in.h: Don't include <stdint.h> merely because
24159         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
24160         be independent of whether stdint.h is needed.
24161         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
24162         here, instead of ...
24163         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
24164         struct random_data should be using the random_r module, not just
24165         the stdlib module (which wouldn't make sense: what package needs
24166         just struct random_data without also needing random_r?).
24167         * modules/stdlib (Depends-on): Remove stdint.
24168
24169         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
24170         See the thread rooted at
24171         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
24172         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
24173         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
24174         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
24175         __VMS)); previously it was always included (via fcntl--.h).
24176         (getloadavg): Do not use c_strtod.  Instead, approximate it by
24177         hand; this is good enough for load averages.  Also, do not use
24178         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
24179         flags directly if available and don't bother otherwise.  (Packages
24180         that need the extra reliability should use the modules that define
24181         these flags on older platforms that lack them.)
24182         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
24183         fcntl-safer.
24184
24185 2011-02-08  Jim Meyering  <meyering@redhat.com>
24186
24187         di-set.h, ino-map.h: add multiple-inclusion guard
24188         Technically, the guard is required only for ino-map.h, due to its
24189         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
24190         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
24191         * lib/ino-map.h: Likewise.
24192
24193 2011-02-06  Bruno Haible  <bruno@clisp.org>
24194
24195         iswblank: Ensure declaration on glibc systems.
24196         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
24197         * modules/iswblank (Dependencies): Add 'extensions'.
24198         * doc/posix-functions/iswblank.texi: Document the glibc problem.
24199
24200 2011-02-06  Bruno Haible  <bruno@clisp.org>
24201
24202         New module 'iswblank'.
24203         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
24204         * modules/iswblank: New file.
24205         * modules/wctype-h (Files): Remove lib/iswblank.c.
24206         (Makefile.am): Substitute GNULIB_ISWBLANK.
24207         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
24208         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
24209         (gl_WCTYPE_H_DEFAULTS): New macro.
24210         (gl_WCTYPE_H): Require it. Remove iswblank related code.
24211         * modules/iswblank-tests: New file.
24212         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
24213         * tests/test-wctype-h.c (main): Remove iswblank tests.
24214         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
24215         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
24216         of 'wctype-h'.
24217         * NEWS: Mention the change.
24218         * modules/mbchar (Depends-on): Add iswblank.
24219
24220 2011-02-08  Bruno Haible  <bruno@clisp.org>
24221
24222         di-set tests: Refactor.
24223         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
24224         unnecessary includes.
24225         (ASSERT): Remove macro.
24226         (main): Make C90 compliant by avoiding variable declaration after
24227         statement.
24228         * modules/di-set-tests (Files): Add tests/macros.h.
24229
24230 2011-02-08  Bruno Haible  <bruno@clisp.org>
24231
24232         ino-map tests: Refactor.
24233         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
24234         unnecessary includes.
24235         (ASSERT): Remove macro.
24236         (main): Make C90 compliant by avoiding variable declaration after
24237         statement.
24238         * modules/ino-map-tests (Files): Add tests/macros.h.
24239
24240 2011-02-08  Jim Meyering  <meyering@redhat.com>
24241
24242         di-set: add "const" to a cast
24243         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
24244         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
24245
24246 2011-02-06  Bruno Haible  <bruno@clisp.org>
24247
24248         Rename module 'wctype' to 'wctype-h'.
24249         * modules/wctype-h: Renamed from modules/wctype.
24250         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
24251         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
24252         (Files, Depends-on, Makefile.am): Update.
24253         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
24254         (Files, Makefile.am): Update.
24255         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
24256         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
24257         * doc/posix-headers/wctype.texi: Update.
24258         * doc/posix-functions/iswalnum.texi: Update.
24259         * doc/posix-functions/iswalpha.texi: Update.
24260         * doc/posix-functions/iswblank.texi: Update.
24261         * doc/posix-functions/iswcntrl.texi: Update.
24262         * doc/posix-functions/iswdigit.texi: Update.
24263         * doc/posix-functions/iswgraph.texi: Update.
24264         * doc/posix-functions/iswlower.texi: Update.
24265         * doc/posix-functions/iswprint.texi: Update.
24266         * doc/posix-functions/iswpunct.texi: Update.
24267         * doc/posix-functions/iswspace.texi: Update.
24268         * doc/posix-functions/iswupper.texi: Update.
24269         * doc/posix-functions/iswxdigit.texi: Update.
24270         * doc/posix-functions/towlower.texi: Update.
24271         * doc/posix-functions/towupper.texi: Update.
24272         * NEWS: Mention the change.
24273         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
24274         * modules/mbchar (Dependencies): Likewise.
24275         * modules/mbswidth (Dependencies): Likewise.
24276         * modules/quotearg (Dependencies): Likewise.
24277         * modules/regex (Dependencies): Likewise.
24278         * modules/wcscasecmp (Dependencies): Likewise.
24279         * modules/wcsncasecmp (Dependencies): Likewise.
24280         * modules/wcwidth (Dependencies): Likewise.
24281
24282 2011-02-06  Bruno Haible  <bruno@clisp.org>
24283
24284         New module 'wcswidth'.
24285         * modules/wcswidth: New file.
24286         * lib/wchar.in.h (wcswidth): New declaration.
24287         * lib/wcswidth.c: New file.
24288         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
24289         * m4/wcswidth.m4: New file.
24290         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
24291         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
24292         REPLACE_WCSWIDTH.
24293         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
24294         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
24295         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
24296         * doc/posix-functions/wcswidth.texi: Mention the new module.
24297
24298 2011-02-06  Bruno Haible  <bruno@clisp.org>
24299
24300         New module 'wcstok'.
24301         * modules/wcstok: New file.
24302         * lib/wchar.in.h (wcstok): New declaration.
24303         * lib/wcstok.c: New file.
24304         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
24305         * m4/wcstok.m4: New file.
24306         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
24307         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
24308         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
24309         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
24310         * doc/posix-functions/wcstok.texi: Mention the new module.
24311
24312 2011-02-06  Bruno Haible  <bruno@clisp.org>
24313
24314         New module 'wcsstr'.
24315         * modules/wcsstr: New file.
24316         * lib/wchar.in.h (wcsstr): New declaration.
24317         * lib/wcsstr.c: New file.
24318         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
24319         * m4/wcsstr.m4: New file.
24320         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
24321         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
24322         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
24323         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
24324         * doc/posix-functions/wcsstr.texi: Mention the new module.
24325
24326 2011-02-06  Bruno Haible  <bruno@clisp.org>
24327
24328         New module 'wcspbrk'.
24329         * modules/wcspbrk: New file.
24330         * lib/wchar.in.h (wcspbrk): New declaration.
24331         * lib/wcspbrk.c: New file.
24332         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
24333         * m4/wcspbrk.m4: New file.
24334         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
24335         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
24336         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
24337         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
24338         * doc/posix-functions/wcspbrk.texi: Mention the new module.
24339
24340 2011-02-06  Bruno Haible  <bruno@clisp.org>
24341
24342         New module 'wcsspn'.
24343         * modules/wcsspn: New file.
24344         * lib/wchar.in.h (wcsspn): New declaration.
24345         * lib/wcsspn.c: New file.
24346         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
24347         * m4/wcsspn.m4: New file.
24348         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
24349         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
24350         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
24351         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
24352         * doc/posix-functions/wcsspn.texi: Mention the new module.
24353
24354 2011-02-06  Bruno Haible  <bruno@clisp.org>
24355
24356         New module 'wcscspn'.
24357         * modules/wcscspn: New file.
24358         * lib/wchar.in.h (wcscspn): New declaration.
24359         * lib/wcscspn.c: New file.
24360         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
24361         * m4/wcscspn.m4: New file.
24362         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
24363         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
24364         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
24365         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
24366         * doc/posix-functions/wcscspn.texi: Mention the new module.
24367
24368 2011-02-06  Bruno Haible  <bruno@clisp.org>
24369
24370         New module 'wcsrchr'.
24371         * modules/wcsrchr: New file.
24372         * lib/wchar.in.h (wcsrchr): New declaration.
24373         * lib/wcsrchr.c: New file.
24374         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
24375         * m4/wcsrchr.m4: New file.
24376         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
24377         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
24378         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
24379         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
24380         * doc/posix-functions/wcsrchr.texi: Mention the new module.
24381
24382 2011-02-06  Bruno Haible  <bruno@clisp.org>
24383
24384         New module 'wcschr'.
24385         * modules/wcschr: New file.
24386         * lib/wchar.in.h (wcschr): New declaration.
24387         * lib/wcschr.c: New file.
24388         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
24389         * m4/wcschr.m4: New file.
24390         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
24391         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
24392         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
24393         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
24394         * doc/posix-functions/wcschr.texi: Mention the new module.
24395
24396 2011-02-06  Bruno Haible  <bruno@clisp.org>
24397
24398         New module 'wcsdup'.
24399         * modules/wcsdup: New file.
24400         * lib/wchar.in.h (wcsdup): New declaration.
24401         * lib/wcsdup.c: New file.
24402         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
24403         * m4/wcsdup.m4: New file.
24404         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
24405         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
24406         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
24407         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
24408         * doc/posix-functions/wcsdup.texi: Mention the new module.
24409
24410 2011-02-06  Bruno Haible  <bruno@clisp.org>
24411
24412         New module 'wcsxfrm'.
24413         * modules/wcsxfrm: New file.
24414         * lib/wchar.in.h (wcsxfrm): New declaration.
24415         * lib/wcsxfrm.c: New file.
24416         * lib/wcsxfrm-impl.h: New file.
24417         * m4/wcsxfrm.m4: New file.
24418         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
24419         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
24420         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
24421         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
24422         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
24423
24424 2011-02-06  Bruno Haible  <bruno@clisp.org>
24425
24426         New module 'wcscoll'.
24427         * modules/wcscoll: New file.
24428         * lib/wchar.in.h (wcscoll): New declaration.
24429         * lib/wcscoll.c: New file.
24430         * lib/wcscoll-impl.h: New file.
24431         * m4/wcscoll.m4: New file.
24432         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
24433         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
24434         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
24435         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
24436         * doc/posix-functions/wcscoll.texi: Mention the new module.
24437
24438 2011-02-06  Bruno Haible  <bruno@clisp.org>
24439
24440         New module 'wcsncasecmp'.
24441         * modules/wcsncasecmp: New file.
24442         * lib/wchar.in.h (wcsncasecmp): New declaration.
24443         * lib/wcsncasecmp.c: New file.
24444         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
24445         * m4/wcsncasecmp.m4: New file.
24446         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
24447         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
24448         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
24449         HAVE_WCSNCASECMP.
24450         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
24451         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
24452
24453 2011-02-06  Bruno Haible  <bruno@clisp.org>
24454
24455         New module 'wcscasecmp'.
24456         * modules/wcscasecmp: New file.
24457         * lib/wchar.in.h (wcscasecmp): New declaration.
24458         * lib/wcscasecmp.c: New file.
24459         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
24460         * m4/wcscasecmp.m4: New file.
24461         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
24462         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
24463         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
24464         HAVE_WCSCASECMP.
24465         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
24466         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
24467
24468 2011-02-05  Bruno Haible  <bruno@clisp.org>
24469
24470         New module 'wcsncmp'.
24471         * modules/wcsncmp: New file.
24472         * lib/wchar.in.h (wcsncmp): New declaration.
24473         * lib/wcsncmp.c: New file.
24474         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
24475         * m4/wcsncmp.m4: New file.
24476         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
24477         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
24478         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
24479         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
24480         * doc/posix-functions/wcsncmp.texi: Mention the new module.
24481
24482 2011-02-05  Bruno Haible  <bruno@clisp.org>
24483
24484         New module 'wcscmp'.
24485         * modules/wcscmp: New file.
24486         * lib/wchar.in.h (wcscmp): New declaration.
24487         * lib/wcscmp.c: New file.
24488         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
24489         * m4/wcscmp.m4: New file.
24490         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
24491         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
24492         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
24493         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
24494         * doc/posix-functions/wcscmp.texi: Mention the new module.
24495
24496 2011-02-05  Bruno Haible  <bruno@clisp.org>
24497
24498         New module 'wcsncat'.
24499         * modules/wcsncat: New file.
24500         * lib/wchar.in.h (wcsncat): New declaration.
24501         * lib/wcsncat.c: New file.
24502         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
24503         * m4/wcsncat.m4: New file.
24504         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
24505         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
24506         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
24507         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
24508         * doc/posix-functions/wcsncat.texi: Mention the new module.
24509
24510 2011-02-05  Bruno Haible  <bruno@clisp.org>
24511
24512         New module 'wcscat'.
24513         * modules/wcscat: New file.
24514         * lib/wchar.in.h (wcscat): New declaration.
24515         * lib/wcscat.c: New file.
24516         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
24517         * m4/wcscat.m4: New file.
24518         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
24519         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
24520         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
24521         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
24522         * doc/posix-functions/wcscat.texi: Mention the new module.
24523
24524 2011-02-05  Bruno Haible  <bruno@clisp.org>
24525
24526         New module 'wcpncpy'.
24527         * modules/wcpncpy: New file.
24528         * lib/wchar.in.h (wcpncpy): New declaration.
24529         * lib/wcpncpy.c: New file.
24530         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
24531         * m4/wcpncpy.m4: New file.
24532         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
24533         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
24534         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
24535         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
24536         * doc/posix-functions/wcpncpy.texi: Mention the new module.
24537
24538 2011-02-05  Bruno Haible  <bruno@clisp.org>
24539
24540         New module 'wcsncpy'.
24541         * modules/wcsncpy: New file.
24542         * lib/wchar.in.h (wcsncpy): New declaration.
24543         * lib/wcsncpy.c: New file.
24544         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
24545         * m4/wcsncpy.m4: New file.
24546         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
24547         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
24548         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
24549         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
24550         * doc/posix-functions/wcsncpy.texi: Mention the new module.
24551
24552 2011-02-05  Bruno Haible  <bruno@clisp.org>
24553
24554         New module 'wcpcpy'.
24555         * modules/wcpcpy: New file.
24556         * lib/wchar.in.h (wcpcpy): New declaration.
24557         * lib/wcpcpy.c: New file.
24558         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
24559         * m4/wcpcpy.m4: New file.
24560         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
24561         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
24562         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
24563         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
24564         * doc/posix-functions/wcpcpy.texi: Mention the new module.
24565
24566 2011-02-05  Bruno Haible  <bruno@clisp.org>
24567
24568         New module 'wcscpy'.
24569         * modules/wcscpy: New file.
24570         * lib/wchar.in.h (wcscpy): New declaration.
24571         * lib/wcscpy.c: New file.
24572         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
24573         * m4/wcscpy.m4: New file.
24574         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
24575         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
24576         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
24577         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
24578         * doc/posix-functions/wcscpy.texi: Mention the new module.
24579
24580 2011-02-05  Bruno Haible  <bruno@clisp.org>
24581
24582         New module 'wcsnlen'.
24583         * modules/wcsnlen: New file.
24584         * lib/wchar.in.h (wcsnlen): New declaration.
24585         * lib/wcsnlen.c: New file.
24586         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
24587         * m4/wcsnlen.m4: New file.
24588         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
24589         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
24590         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
24591         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
24592         * doc/posix-functions/wcsnlen.texi: Mention the new module.
24593
24594 2011-02-05  Bruno Haible  <bruno@clisp.org>
24595
24596         New module 'wcslen'.
24597         * modules/wcslen: New file.
24598         * lib/wchar.in.h (wcslen): New declaration.
24599         * lib/wcslen.c: New file.
24600         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
24601         * m4/wcslen.m4: New file.
24602         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
24603         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
24604         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
24605         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
24606         * doc/posix-functions/wcslen.texi: Mention the new module.
24607
24608 2011-02-05  Bruno Haible  <bruno@clisp.org>
24609
24610         New module 'wmemset'.
24611         * modules/wmemset: New file.
24612         * lib/wchar.in.h (wmemset): New declaration.
24613         * lib/wmemset.c: New file.
24614         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
24615         * m4/wmemset.m4: New file.
24616         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
24617         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
24618         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
24619         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
24620         * doc/posix-functions/wmemset.texi: Mention the new module.
24621
24622 2011-02-05  Bruno Haible  <bruno@clisp.org>
24623
24624         New module 'wmemmove'.
24625         * modules/wmemmove: New file.
24626         * lib/wchar.in.h (wmemmove): New declaration.
24627         * lib/wmemmove.c: New file.
24628         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
24629         * m4/wmemmove.m4: New file.
24630         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
24631         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
24632         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
24633         HAVE_WMEMMOVE.
24634         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
24635         * doc/posix-functions/wmemmove.texi: Mention the new module.
24636
24637 2011-02-05  Bruno Haible  <bruno@clisp.org>
24638
24639         New module 'wmemcpy'.
24640         * modules/wmemcpy: New file.
24641         * lib/wchar.in.h (wmemcpy): New declaration.
24642         * lib/wmemcpy.c: New file.
24643         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
24644         * m4/wmemcpy.m4: New file.
24645         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
24646         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
24647         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
24648         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
24649         * doc/posix-functions/wmemcpy.texi: Mention the new module.
24650
24651 2011-02-05  Bruno Haible  <bruno@clisp.org>
24652
24653         New module 'wmemcmp'.
24654         * modules/wmemcmp: New file.
24655         * lib/wchar.in.h (wmemcmp): New declaration.
24656         * lib/wmemcmp.c: New file.
24657         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
24658         * m4/wmemcmp.m4: New file.
24659         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
24660         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
24661         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
24662         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
24663         * doc/posix-functions/wmemcmp.texi: Mention the new module.
24664
24665 2011-02-07  Jim Meyering  <meyering@redhat.com>
24666
24667         di-set, ino-map: new modules, from coreutils
24668         * lib/di-set.c: New file.
24669         * lib/di-set.h: Likewise.
24670         * lib/ino-map.c: Likewise.
24671         * lib/ino-map.h: Likewise.
24672         * modules/di-set: Likewise.
24673         * modules/di-set-tests: Likewise.
24674         * modules/ino-map: Likewise.
24675         * modules/ino-map-tests: Likewise.
24676         * tests/test-di-set.c: Likewise.
24677         * tests/test-ino-map.c: Likewise.
24678
24679 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
24680
24681         getloadavg: merge minor changes from Emacs
24682
24683         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
24684         (getloadavg): Use memset, not bzero.
24685
24686         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
24687         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
24688         clash (bug#86).
24689
24690 2010-11-14  Bruno Haible  <bruno@clisp.org>
24691
24692         Allow multiple gnulib generated replacements to coexist.
24693         * lib/getopt.in.h (struct option): Avoid identical redefinition.
24694         * lib/inttypes.in.h (imaxdiv_t): Likewise.
24695         * lib/langinfo.in.h (nl_item): Likewise.
24696         * lib/math.in.h (_NaN, NAN): Likewise.
24697         * lib/netdb.in.h (struct addrinfo): Likewise.
24698         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
24699         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
24700         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
24701         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
24702         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
24703         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
24704         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
24705         pthread_mutexattr_init, pthread_mutexattr_settype,
24706         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
24707         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
24708         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
24709         pthread_spin_trylock, pthread_spin_unlock): Likewise.
24710         * lib/sched.in.h (struct sched_param): Likewise.
24711         * lib/se-selinux.in.h (security_class_t, security_context_t,
24712         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
24713         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
24714         lsetfilecon, fsetfilecon, security_check_context,
24715         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
24716         Likewise.
24717         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
24718         Likewise.
24719         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
24720         _gl_function_taking_int_returning_void_t, union sigval,
24721         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
24722         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
24723         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
24724         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
24725         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
24726         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
24727         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
24728         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
24729         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
24730         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
24731         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
24732         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
24733         socklen_t, rpl_fd_isset): Likewise.
24734         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
24735         * lib/sys_time.in.h (struct timeval): Likewise.
24736         * lib/sys_times.in.h (struct tms): Likewise.
24737         * lib/sys_utsname.in.h (struct utsname):
24738         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
24739         * lib/unistd.in.h (getpagesize): Likewise.
24740         * lib/wchar.in.h (mbstate_t): Likewise.
24741         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
24742         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
24743         towlower, towupper): Likewise.
24744         Reported by Sam Steingold <sds@gnu.org>.
24745
24746 2011-02-05  Eric Blake  <eblake@redhat.com>
24747
24748         unsetenv: work around Haiku issues
24749         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
24750         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
24751
24752 2010-12-30  Bruce Korb  <bkorb@gnu.org>
24753
24754         libposix: avoid calling error() within libposix
24755         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
24756         is defined.
24757
24758 2011-02-05  Eric Blake  <eblake@redhat.com>
24759
24760         strerror_r-posix: port to cygwin
24761         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
24762         implementation.
24763         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
24764         * tests/test-strerror_r.c (main): Fix test.
24765         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
24766         issue.
24767
24768 2011-02-05  Bruno Haible  <bruno@clisp.org>
24769
24770         New module 'wmemchr'.
24771         * modules/wmemchr: New file.
24772         * lib/wchar.in.h (wmemchr): New declaration.
24773         * lib/wmemchr.c: New file.
24774         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
24775         * m4/wmemchr.m4: New file.
24776         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
24777         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
24778         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
24779         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
24780         * doc/posix-functions/wmemchr.texi: Mention the new module.
24781
24782 2011-02-04  Eric Blake  <eblake@redhat.com>
24783
24784         fdopendir: detect FreeBSD bug
24785         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
24786         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
24787
24788 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
24789
24790         stdbool: do not define HAVE_STDBOOL_H
24791         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
24792         AC_HEADER_STDBOOL.  All uses changed.  Do not define
24793         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
24794         imported from the latest Autoconf git.  It was motivated by Emacs,
24795         which uses gnulib but does not need HAVE_STDBOOL_H.
24796
24797 2011-02-04  Bruno Haible  <bruno@clisp.org>
24798
24799         wcsnrtombs: Prepare for new module wwcsnrtombs.
24800         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
24801         * lib/wcsnrtombs.c: Include it.
24802         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
24803
24804         wcsrtombs: Prepare for new module wwcsrtombs.
24805         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
24806         * lib/wcsrtombs.c: Include it.
24807         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
24808
24809         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
24810         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
24811         * lib/mbsnrtowcs.c: Include it.
24812         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
24813
24814         mbsrtowcs: Prepare for new module mbsrtowwcs.
24815         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
24816         * lib/mbsrtowcs.c: Include it.
24817         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
24818
24819 2011-02-04  Bruno Haible  <bruno@clisp.org>
24820
24821         vasnprintf: Reduce use of malloc for small format strings.
24822         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
24823         (arguments): Add room for the first 7 arguments.
24824         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
24825         (char_directives, u8_directives, u16_directives, u32_directives): Add
24826         room for the first 7 directives.
24827         * lib/printf-parse.c: Include <string.h>.
24828         (PRINTF_PARSE): Change memory handling code so that it uses the first
24829         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
24830         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
24831         Reported by Pádraig Brady <P@draigbrady.com>.
24832
24833 2011-01-31  Eric Blake  <eblake@redhat.com>
24834
24835         dup2: work around Haiku bug
24836         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
24837         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
24838         * doc/posix-functions/dup2.texi (dup2): Document the bug.
24839         * tests/test-dup2.c (main): Enhance test.
24840
24841 2011-01-31  Simon Josefsson  <simon@josefsson.org>
24842
24843         doc: off_t is not available in eglibc 2.11.2 stdio.h.
24844         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
24845         declared by eglibc 2.11.2.
24846         * lib/stdio.in.h: Likewise.
24847
24848 2011-01-31  Eric Blake  <eblake@redhat.com>
24849
24850         ignore-value: add missing test dependency
24851         * tests/test-ignore-value.c: Revert previous change; stdio.h
24852         provides off_t.
24853         * modules/ignore-value-tests (Depends-on): Add missing dependency.
24854
24855 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
24856
24857         mktime: clarify long_int width checking
24858         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
24859         the top level, to make it clearer that the assumption about
24860         long_int width is being checked.  See
24861         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
24862
24863 2011-01-30  Simon Josefsson  <simon@josefsson.org>
24864
24865         ignore-value: Fix self-test.
24866         * tests/test-ignore-value.c: Include sys/types.h for off_t.
24867
24868 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
24869
24870         TYPE_MAXIMUM: avoid theoretically undefined behavior
24871         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
24872         negative number, which the C Standard says has undefined behavior.
24873         In practice this is not a problem, but might as well do it by the book.
24874         Reported by Rich Felker and Eric Blake; see
24875         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
24876         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
24877         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
24878         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
24879         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
24880         * m4/stdint.m4 (gl_STDINT_H): Likewise.
24881         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
24882
24883         mktime: #undef mktime before #defining it
24884         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
24885
24886         mktime: systematically normalize tm_isdst comparisons
24887         * lib/mktime.c (isdst_differ): New function.
24888         (__mktime_internal): Use it systematically for all isdst comparisons.
24889         This completes the fix for libc BZ #6723, and removes the need for
24890         normalizing tm_isdst.  See
24891         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
24892         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
24893
24894         mktime: fix some integer overflow issues and sidestep the rest
24895
24896         This was prompted by a bug report by Benjamin Lindner for MinGW
24897         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
24898         His bug is due to signed integer overflow (0 - INT_MIN), and I
24899         I scanned through mktime.c looking for other integer overflow
24900         problems, fixing all the bugs I found.
24901
24902         Although the C Standard says the resulting code is still not safe
24903         in the presence of integer overflow, in practice it should be good
24904         enough for all real-world two's-complement implementations, except
24905         for debugging environments that deliberately trap on integer
24906         overflow (e.g., gcc -ftrapv).
24907
24908         * lib/mktime.c (WRAPV): New macro.
24909         (SHR): Also check that long_int and time_t shift right in the
24910         usual way, before using the fast-but-unportable method.
24911         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
24912         used.  The code already assumed two's complement, so there's
24913         no need to test for alternatives.  All uses removed.
24914         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
24915         the C standard.  Problem reported by Rich Felker in
24916         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
24917         (twos_complement_arithmetic): Also check long_int and time_t.
24918         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
24919         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
24920         (__mktime_internal): Avoid integer overflow with unary subtraction
24921         in two instances where -1 - X is an adequate replacement for -X,
24922         since the calculations are approximate.
24923
24924 2011-01-29  Eric Blake  <eblake@redhat.com>
24925
24926         mktime: avoid infinite loop
24927         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
24928         type; behavior is still undefined but portable to all known targets.
24929         Reported by Rich Felker.
24930
24931 2011-01-29  Simon Josefsson  <simon@josefsson.org>
24932
24933         rename, unlink, same-inode: Relicense.
24934         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
24935         * modules/unlink (License): Likewise.
24936         * modules/same-inode (License): Likewise.
24937
24938 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
24939
24940         mktime: avoid problems on NetBSD 5 / i386
24941         * lib/mktime.c (long_int): New type.  This works around a problem
24942         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
24943         but time_t is 64 bits, and where I expect the existing code is
24944         wrong in some cases.
24945         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
24946         (ydhms_diff): Bring back the compile-time check for wide-enough
24947         year and yday.
24948
24949         mktime: fix misspelling in comment
24950         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
24951         This merges all recent glibc changes of importance.
24952
24953 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
24954
24955         move-if-change: cope with concurrent mv of identical file.
24956         * build-aux/move-if-change (CMPPROG): Accept environment
24957         variable as an override for `cmp'.
24958         (usage): Document CMPPROG.
24959         Adjust comparison to drop stdout.  Cope with failure of mv if
24960         the target file exists and is identical to the source, for
24961         parallel builds.
24962         Report from H.J. Lu against binutils in PR binutils/12283.
24963
24964 2011-01-28  Bruce Korb  <bkorb@gnu.org>
24965
24966         * users.txt: Mention sharutils.
24967
24968 2011-01-28  Simon Josefsson  <simon@josefsson.org>
24969
24970         * users.txt: Mention OATH Toolkit.
24971
24972 2011-01-27  Bruno Haible  <bruno@clisp.org>
24973
24974         Prepare for supporting FreeBSD 10.
24975         * build-aux/config.libpath: Remove handling of freebsd1*.
24976
24977 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
24978
24979         Prepare for supporting FreeBSD 10.
24980         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
24981         match FreeBSD 10.0.
24982
24983 2011-01-27  Bruno Haible  <bruno@clisp.org>
24984
24985         vma-iter, get-rusage-as: Add OpenBSD support.
24986         * modules/vma-iter (configure.ac): Test for mquery.
24987         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
24988         * lib/vma-iter.c: Include <sys/mman.h>.
24989         (vma_iterate): Add an implementation based on mquery().
24990         * lib/resource-ext.h (get_rusage_as): Update comments.
24991         * lib/get-rusage-as.c: Likewise.
24992         * lib/get-rusage-data.c: Likewise.
24993
24994 2011-01-26  Karl Berry  <karl@gnu.org>
24995
24996         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
24997         variables to make it easier to override the makeinfo program used.
24998
24999 2011-01-26  Eric Blake  <eblake@redhat.com>
25000
25001         fcntl: work around Haiku F_DUPFD bugs
25002         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
25003         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
25004         cloexec bit on duplication.
25005         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
25006
25007 2011-01-26  Bruno Haible  <bruno@clisp.org>
25008
25009         Enable memory leak tests on AIX.
25010         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
25011         * tests/test-fprintf-posix3.c (main): Likewise.
25012
25013 2011-01-26  Bruno Haible  <bruno@clisp.org>
25014
25015         Tests for module 'get-rusage-data'.
25016         * modules/get-rusage-data-tests: New file.
25017         * tests/test-get-rusage-data.c: New file.
25018
25019         New module 'get-rusage-data'.
25020         * lib/resource-ext.h (get_rusage_data): New declaration.
25021         * lib/get-rusage-data.c: New file.
25022         * modules/get-rusage-data: New file.
25023
25024 2011-01-25  Bruno Haible  <bruno@clisp.org>
25025
25026         get-rusage-as: Allow for easier testing.
25027         * lib/resource-ext.h (get_rusage_as): Add comment.
25028         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
25029         (main): New function for interactive testing.
25030
25031 2011-01-25  Bruno Haible  <bruno@clisp.org>
25032
25033         vma-iter: Treat Haiku like BeOS.
25034         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
25035         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
25036
25037 2011-01-25  Eric Blake  <eblake@redhat.com>
25038
25039         c-stack: fix regression on cygwin when libsigsegv is present
25040         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
25041
25042 2011-01-24  Bruno Haible  <bruno@clisp.org>
25043
25044         vma-iter: Avoid empty intervals.
25045         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
25046         on an empty interval.
25047
25048 2011-01-24  Jim Meyering  <meyering@redhat.com>
25049
25050         u64: remove unnecessary #include
25051         * lib/u64.h: Don't include <stddef.h>.  It was not used.
25052
25053 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
25054
25055         Allow the user to avoid the HAVE_RAW_DECL_* macros.
25056         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
25057
25058 2011-01-23  Bruno Haible  <bruno@clisp.org>
25059
25060         New module 'vma-iter'.
25061         * lib/vma-iter.h: New file.
25062         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
25063         * modules/vma-iter: New file.
25064         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
25065         for get_rusage_as_via_iterator.
25066         (vma_iterate_callback): New function.
25067         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
25068         * modules/get-rusage-as (Depends-on): Add vma-iter.
25069
25070 2011-01-23  Bruno Haible  <bruno@clisp.org>
25071
25072         uninorm: Tweak includes.
25073         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
25074         Reported by Jim Meyering.
25075
25076 2011-01-23  Bruno Haible  <bruno@clisp.org>
25077
25078         get-rusage-as: Improve on NetBSD.
25079         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
25080         /proc, like on FreeBSD.
25081
25082 2011-01-23  Jim Meyering  <meyering@redhat.com>
25083
25084         xreadlink.h: remove unnecessary #include
25085         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
25086
25087         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
25088         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
25089
25090 2011-01-23  Bruno Haible  <bruno@clisp.org>
25091
25092         get-rusage-as: Fix bug.
25093         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
25094         original limit when aborting the first loop.
25095
25096 2011-01-23  Bruno Haible  <bruno@clisp.org>
25097
25098         wctype: Ensure valid C syntax.
25099         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
25100         unconditionally, instead of gl_NEXT_HEADERS conditionally.
25101
25102 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
25103
25104         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
25105         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
25106         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
25107         as they are needed only for configure's test case.
25108         This removes two unnecessary symbols from config.h.
25109
25110         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
25111         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
25112         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
25113         AC_CHECK_HEADERS_ONCE on a header that we also invoke
25114         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
25115         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
25116         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
25117         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
25118         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
25119         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
25120         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
25121         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25122         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25123         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25124         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
25125         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25126         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
25127         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
25128
25129 2011-01-21  Eric Blake  <eblake@redhat.com>
25130
25131         maintainer-makefile: work with older git for submodule check
25132         * top/maint.mk (public-submodule-commit): Rewrite to avoid
25133         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
25134         Reported by Matthias Bolte.
25135
25136         bootstrap: minor portability fixes
25137         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
25138         (usage): Omit leading capital and trailing . on help phrases, per
25139         GNU Coding Standards.
25140         (check_versions, top level): Prefix messages with script name.
25141
25142 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
25143
25144         bootstrap: support --no-git option
25145         * build-aux/bootstrap: Add --no-git option, to be used when
25146         --gnulib-srcdir points to the exact desired checkout.
25147
25148 2011-01-21  Eric Blake  <eblake@redhat.com>
25149
25150         strerror_r-posix: work with glibc 2.13
25151         * lib/strerror_r.c (strerror_r): Fix return type.
25152
25153 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25154             Bruno Haible  <bruno@clisp.org>
25155
25156         uN_strstr: New unit tests.
25157         * modules/unistr/u8-strstr-tests: New file.
25158         * modules/unistr/u16-strstr-tests: New file.
25159         * modules/unistr/u32-strstr-tests: New file.
25160         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
25161         * tests/unistr/test-u8-strstr.c: New file.
25162         * tests/unistr/test-u16-strstr.c: New file.
25163         * tests/unistr/test-u32-strstr.c: New file.
25164
25165 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25166             Bruno Haible  <bruno@clisp.org>
25167
25168         Make uN_strstr functions O(n) worst-case.
25169         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
25170         16-bit and 32-bit unit cases, use the unibyte algorithm from
25171         lib/mbsstr.c.
25172         * lib/unistr/u8-strstr.c: Include <string.h>.
25173         (UNIT_IS_UINT8_T): New macro.
25174         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
25175         (U_STRLEN, U_STRNLEN): New macros.
25176         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
25177         (U_STRLEN, U_STRNLEN): New macros.
25178         * modules/unistr/u8-strstr (Depends-on): Add strstr.
25179         (configure.ac): Update required libunistring version.
25180         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
25181         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
25182         malloca.
25183         (configure.ac): Update required libunistring version.
25184         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
25185         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
25186         malloca.
25187         (configure.ac): Update required libunistring version.
25188
25189 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25190             Bruno Haible  <bruno@clisp.org>
25191
25192         Prepare for faster uN_strstr functions.
25193         * lib/str-kmp.h: Support definable UNITs.
25194         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
25195         needle_len argument.
25196         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
25197         * lib/mbscasestr.c (mbscasestr): Likewise.
25198
25199 2011-01-21  Pádraig Brady <P@draigBrady.com>
25200
25201         malloca-tests: make faster by unsetting MALLOC_PERTURB_
25202         * tests/test-malloca.c (main): Unset the environment variable
25203         to greatly speed up the test.
25204         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
25205         * modules/malloca-tests: Depend on unsetenv.
25206
25207 2011-01-21  Pádraig Brady <P@draigBrady.com>
25208
25209         ignore-value: remove stdint dependency
25210         * lib/ignore-value.h: Remove <stdint.h>
25211         * modules/ignore-value: Remove stdint dependency.
25212
25213 2011-01-21  Jim Meyering  <meyering@redhat.com>
25214
25215         maint.mk: adjust variable name to be consistent with other gl_ vars
25216         * top/maint.mk (gl_public_submodule_commit): Rename the variable
25217         to be lower case.
25218
25219 2011-01-20  Jim Meyering  <meyering@redhat.com>
25220
25221         maint.mk: make "check" depend on public-submodule-commit by default
25222         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
25223
25224 2011-01-20  Bruno Haible  <bruno@clisp.org>
25225
25226         mbfile, mbiter: Complete change from 2008-12-21.
25227         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
25228         * m4/mbiter.m4 (gl_MBITER): Likewise.
25229
25230 2011-01-20  Jim Meyering  <meyering@redhat.com>
25231
25232         init.sh: insert space between each function name and "()"
25233         * tests/init.sh: Make it a little easier to see that a function's
25234         name is "warn_", and not "warn" when looking at the first part of
25235         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
25236
25237 2011-01-20  Jim Meyering  <meyering@redhat.com>
25238
25239         mountlist: clean up code formatting
25240         * lib/mountlist.c (read_file_system_list): Split a long line,
25241         correct bracing style, use NULL in place of "(struct statfs *)0",
25242         don't parenthesize return value, add spaces around "=" and after
25243         ";-in-for-stmt".
25244
25245 2011-01-14  Markus Duft <mduft@gentoo.org>
25246
25247         mountlist: add support for Interix
25248         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
25249         Apply statvfs to all entries of /dev/fs.
25250         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
25251         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
25252
25253 2011-01-20  Jim Meyering  <meyering@redhat.com>
25254
25255         maint.mk: improve the public-submodule-commit rule
25256         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
25257         to suppress printing of its commands... unless V=1.
25258         Add git submodule's --quiet option to suppress printing of e.g.,
25259         "Entering gnulib" output.
25260         "cd" into $(srcdir) before running git submodule.
25261
25262 2011-01-20  Bruno Haible  <bruno@clisp.org>
25263
25264         include_next: Fix bug introduced on 2011-01-18.
25265         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
25266         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
25267         ac_cv_header_... variable if the second argument is not 'check'.
25268         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
25269         gl_NEXT_HEADERS_INTERNAL.
25270
25271 2011-01-20  Bruno Haible  <bruno@clisp.org>
25272
25273         Allow the user to avoid the GNULIB_TEST_* macros.
25274         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
25275         Suggested by Paul Eggert.
25276
25277 2011-01-14  Jim Meyering  <meyering@redhat.com>
25278
25279         bootstrap: avoid failure when there is no .gitmodules file
25280         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
25281         has been assigned to, even when its value is the empty string.
25282         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
25283         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
25284         Reported by John W. Eaton <jwe@gnu.org>.
25285
25286 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
25287
25288         assume <ctype.h>, ..., <time.h> exist
25289         For years gnulib has been assuming the existence of the headers
25290         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
25291         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
25292         them, since they don't appear to be needed.
25293         * README (Portability guidelines): Document this.
25294         * lib/flock.c: Assume <fcntl.h> exists.
25295         * lib/regex_internal.h: Assume <locale.h> exists.
25296         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
25297         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
25298         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
25299         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
25300         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
25301         * m4/regex.m4 (gl_REGEX): Likewise.
25302         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
25303         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
25304         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
25305         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
25306         * tests/test-argp.c: Likewise.
25307         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
25308
25309         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
25310         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
25311         AA_APPLE_UNIVERSAL_BUILD.  See
25312         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
25313         * NEWS: Document this.
25314
25315 2011-01-19  Eric Blake  <eblake@redhat.com>
25316
25317         c-stack: assume stack overflow if SA_SIGINFO unsupported
25318         * lib/c-stack.c (SIGACTION_WORKS): Rename...
25319         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
25320         sigaction will work.
25321         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
25322         behavior match Linux.
25323         * tests/test-c-stack.c (main): Prefer NULL for pointers.
25324
25325         stdbool-tests: accommodate Haiku
25326         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
25327
25328         binary-io: fix O_TEXT on Haiku
25329         * modules/binary-io (Depends-on): Add fcntl-h.
25330         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
25331         than blindly undefining O_TEXT.
25332         Reported by Scott McCreary.
25333
25334 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25335
25336         include_next: do not check for standard headers like stddef.h
25337
25338         I found this problem when modifying Emacs to use gnulib.
25339         I noticed that it added HAVE_STDDEF_H to config.h, even though
25340         gnulib always assumes <stddef.h> exists as per README and this
25341         symbol is unnecessary.
25342         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
25343         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
25344         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
25345         faster for headers like stddef.h that are known to exist.
25346         (gl_CHECK_NEXT_HEADERS): Use it.
25347         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
25348         rather than gl_CHECK_NEXT_HEADERS.
25349         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
25350         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
25351
25352 2011-01-18  Eric Blake  <eblake@redhat.com>
25353
25354         ansi-c++-opt: skip C++ dependency style if C++ is unused
25355         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
25356         tests when we know C++ compilation is not desired.
25357         Reported by Scott McCreary.
25358
25359 2011-01-18  Bruno Haible  <bruno@clisp.org>
25360
25361         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
25362         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
25363         (main): Perform test also when getrlimit and setrlimit don't exist or
25364         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
25365         limiting the address space size using setrlimit, compare the address
25366         space size before and after the the test.
25367         * tests/test-dprintf-posix2.c: Likewise.
25368         * tests/test-fprintf-posix3.sh: Update skip messages.
25369         * tests/test-dprintf-posix2.sh: Likewise.
25370         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
25371         * modules/dprintf-posix-tests (Depends-on): Likewise.
25372         Reported by Bruce Korb <bkorb@gnu.org> and
25373         Gary V. Vaughan <gary@gnu.org>.
25374
25375 2011-01-18  Bruno Haible  <bruno@clisp.org>
25376
25377         get-rusage-as: Improvement for Cygwin.
25378         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
25379         areas that are merely reserved.
25380
25381 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25382
25383         strftime: remove dependencies on multibyte modules
25384
25385         strftime depended on mbrlen, mbsinit, and wchar, but these modules
25386         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
25387         only if __osf__ is defined, and I suspect OSF doesn't need these
25388         other modules.  If my guess is wrong, we'll need to come up with a
25389         variant of strftime that doesn't need the multibyte modules.
25390
25391         I discovered this problem when attempting modify Emacs to use the
25392         strftime module.  With the previous gnulib, this caused Emacs to
25393         need 31 new files, ranging from lib/config.charset to
25394         m4/wint_t.m4.  This was overkill and I expect would be offputting
25395         to the Emacs maintainers.  After this change, only 6 new files are
25396         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
25397         stdbool.m4, and tm_gmtoff.m4.
25398
25399         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
25400         Suggested by Bruno Haible in
25401         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
25402         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
25403         and do not check for wchar.h.
25404         * modules/strftime (Files): Remove m4/mbstate_t.m4.
25405         (Depends-on): Remove mbrlen, mbsinit, wchar.
25406
25407 2011-01-18  Bruno Haible  <bruno@clisp.org>
25408
25409         Tests for module 'get-rusage-as'.
25410         * modules/get-rusage-as-tests: New file.
25411         * tests/test-get-rusage-as.c: New file.
25412
25413         New module 'get-rusage-as'.
25414         * modules/get-rusage-as: New file.
25415         * lib/resource-ext.h: New file.
25416         * lib/get-rusage-as.c: New file.
25417
25418 2011-01-17  Eric Blake  <eblake@redhat.com>
25419
25420         sigaction: relax license from LGPLv3+ to LGPLv2+
25421         * modules/sigaction (License): Relax to LGPLv2+.
25422
25423 2011-01-14  Bruno Haible  <bruno@clisp.org>
25424
25425         filemode: Make function declarations usable in C++ mode.
25426         * lib/filemode.h: Enclose function declarations in extern "C" block.
25427         Reported by John W. Eaton <jwe@gnu.org>.
25428
25429 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
25430
25431         save-cwd: no longer include "xgetcwd.h"
25432         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
25433         This avoids a compilation failure in projects that use save-cwd
25434         without also using the xgetcwd module.
25435
25436 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25437
25438         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
25439         This is so that a program like Emacs, which needs only dtoastr,
25440         does not have to bother with distributing and compiling ftoastr
25441         and ldtoastr.
25442         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
25443         * modules/dtoastr, modules/ldtoastr: New files.
25444         * modules/ftoastr: Now works just for 'float'.
25445         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
25446         (Makefile.am): Remove ftoastr.h (not needed and no effect),
25447         dtoastr.c, ldtoastr.c.
25448
25449 2011-01-11  Jim Meyering  <meyering@redhat.com>
25450
25451         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
25452         There is no need to work around the lack of the fchdir function,
25453         since gnulib can now provide a replacement when required.
25454         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
25455         * modules/save-cwd (Depends-on): Add fchdir.
25456
25457 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25458
25459         openat, save-cwd: avoid xmalloc
25460
25461         This removes a direct (but undocumented) dependency of openat on
25462         xalloc, along with an indirect dependency via save-cwd.  It also
25463         removes a dependency of save-cwd on xgetcwd, and thereby
25464         indirectly on xalloc.  This change causes the openat substitute
25465         to fall back on save_cwd when memory is tight, and for save_cwd to
25466         fail instead of dying when memory is tight, but that's good enough.
25467         Problem and initial idea for fix reported by Bastien Roucaries in
25468         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
25469
25470         * lib/openat-proc.c: Include stdlib.h (for malloc), not
25471         xalloc.h (for xmalloc).
25472         (openat_proc_name): Use malloc, not xmalloc.
25473         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
25474         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
25475
25476         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
25477         This avoids heap allocation for file names whose lengths are in
25478         the range 512..1023, with the upper bound increasing to at most
25479         4031 depending on the platform's PATH_MAX.  (We do not want
25480         pathmax.h here as it might supply a non-constant PATH_MAX.)
25481         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
25482         Perhaps they should be moved to malloca.h?
25483         (OPENAT_BUFFER_SIZE): Use them.
25484
25485 2011-01-10  Bruno Haible  <bruno@clisp.org>
25486
25487         doc: Update users.txt.
25488         * users.txt: Add recutils.
25489
25490 2011-01-09  Karl Berry  <karl@gnu.org>
25491
25492         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
25493
25494         * doc/configmake.texi: New file.
25495         * doc/gnulib.texi: Include it.
25496         * modules/configmake: Move documentation from here.
25497
25498 2011-01-09  Bruno Haible  <bruno@clisp.org>
25499
25500         Update to Unicode 6.0.0.
25501         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
25502         (get_lbp): Update for Unicode 6.0.0.
25503         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
25504         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
25505         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
25506         U+11001, U+11038..U+11046. Remove U+06DE.
25507         (uc_width): Fix bounds of planes.
25508         * tests/uniwidth/test-uc_width2.sh: Same updates as in
25509         lib/uniwidth/width.c.
25510         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
25511         trailing whitespace removed.
25512         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
25513         without comments, but with the original copyright notice.
25514         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
25515         * lib/unicase/ignorable.h: Likewise.
25516         * lib/unicase/tocasefold.h: Likewise.
25517         * lib/unicase/tolower.h: Likewise.
25518         * lib/unicase/totitle.h: Likewise.
25519         * lib/unicase/toupper.h: Likewise.
25520         * lib/unictype/bidi_of.h: Likewise.
25521         * lib/unictype/blocks.h: Likewise.
25522         * lib/unictype/categ_C.h: Likewise.
25523         * lib/unictype/categ_Cn.h: Likewise.
25524         * lib/unictype/categ_L.h: Likewise.
25525         * lib/unictype/categ_Ll.h: Likewise.
25526         * lib/unictype/categ_Lm.h: Likewise.
25527         * lib/unictype/categ_Lo.h: Likewise.
25528         * lib/unictype/categ_Lu.h: Likewise.
25529         * lib/unictype/categ_M.h: Likewise.
25530         * lib/unictype/categ_Mc.h: Likewise.
25531         * lib/unictype/categ_Me.h: Likewise.
25532         * lib/unictype/categ_Mn.h: Likewise.
25533         * lib/unictype/categ_N.h: Likewise.
25534         * lib/unictype/categ_Nd.h: Likewise.
25535         * lib/unictype/categ_No.h: Likewise.
25536         * lib/unictype/categ_P.h: Likewise.
25537         * lib/unictype/categ_Po.h: Likewise.
25538         * lib/unictype/categ_S.h: Likewise.
25539         * lib/unictype/categ_Sc.h: Likewise.
25540         * lib/unictype/categ_Sk.h: Likewise.
25541         * lib/unictype/categ_Sm.h: Likewise.
25542         * lib/unictype/categ_So.h: Likewise.
25543         * lib/unictype/categ_of.h: Likewise.
25544         * lib/unictype/combining.h: Likewise.
25545         * lib/unictype/ctype_alnum.h: Likewise.
25546         * lib/unictype/ctype_alpha.h: Likewise.
25547         * lib/unictype/ctype_graph.h: Likewise.
25548         * lib/unictype/ctype_lower.h: Likewise.
25549         * lib/unictype/ctype_print.h: Likewise.
25550         * lib/unictype/ctype_punct.h: Likewise.
25551         * lib/unictype/ctype_upper.h: Likewise.
25552         * lib/unictype/decdigit.h: Likewise.
25553         * lib/unictype/digit.h: Likewise.
25554         * lib/unictype/numeric.h: Likewise.
25555         * lib/unictype/pr_alphabetic.h: Likewise.
25556         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25557         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
25558         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
25559         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25560         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25561         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25562         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25563         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25564         * lib/unictype/pr_case_ignorable.h: Likewise.
25565         * lib/unictype/pr_cased.h: Likewise.
25566         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
25567         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
25568         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
25569         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
25570         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
25571         * lib/unictype/pr_combining.h: Likewise.
25572         * lib/unictype/pr_composite.h: Likewise.
25573         * lib/unictype/pr_currency_symbol.h: Likewise.
25574         * lib/unictype/pr_decimal_digit.h: Likewise.
25575         * lib/unictype/pr_deprecated.h: Likewise.
25576         * lib/unictype/pr_format_control.h: Likewise.
25577         * lib/unictype/pr_grapheme_base.h: Likewise.
25578         * lib/unictype/pr_grapheme_extend.h: Likewise.
25579         * lib/unictype/pr_grapheme_link.h: Likewise.
25580         * lib/unictype/pr_id_continue.h: Likewise.
25581         * lib/unictype/pr_id_start.h: Likewise.
25582         * lib/unictype/pr_ideographic.h: Likewise.
25583         * lib/unictype/pr_lowercase.h: Likewise.
25584         * lib/unictype/pr_math.h: Likewise.
25585         * lib/unictype/pr_numeric.h: Likewise.
25586         * lib/unictype/pr_other_alphabetic.h: Likewise.
25587         * lib/unictype/pr_other_id_continue.h: Likewise.
25588         * lib/unictype/pr_other_math.h: Likewise.
25589         * lib/unictype/pr_punctuation.h: Likewise.
25590         * lib/unictype/pr_sentence_terminal.h: Likewise.
25591         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25592         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25593         * lib/unictype/pr_unified_ideograph.h: Likewise.
25594         * lib/unictype/pr_uppercase.h: Likewise.
25595         * lib/unictype/pr_xid_continue.h: Likewise.
25596         * lib/unictype/pr_xid_start.h: Likewise.
25597         * lib/unictype/scripts.h: Likewise.
25598         * lib/unictype/scripts_byname.gperf: Likewise.
25599         * lib/unictype/sy_java_ident.h: Likewise.
25600         * lib/unigbrk/gbrkprop.h: Likewise.
25601         * lib/unilbrk/lbrkprop1.h: Likewise.
25602         * lib/unilbrk/lbrkprop2.h: Likewise.
25603         * lib/uninorm/decomposition-table2.h: Likewise.
25604         * lib/uniwbrk/wbrkprop.h: Likewise.
25605         * tests/unicase/test-cased.c: Likewise.
25606         * tests/unicase/test-ignorable.c: Likewise.
25607         * tests/unicase/test-uc_tolower.c: Likewise.
25608         * tests/unicase/test-uc_totitle.c: Likewise.
25609         * tests/unicase/test-uc_toupper.c: Likewise.
25610         * tests/unictype/test-categ_C.c: Likewise.
25611         * tests/unictype/test-categ_Cn.c: Likewise.
25612         * tests/unictype/test-categ_L.c: Likewise.
25613         * tests/unictype/test-categ_Ll.c: Likewise.
25614         * tests/unictype/test-categ_Lm.c: Likewise.
25615         * tests/unictype/test-categ_Lo.c: Likewise.
25616         * tests/unictype/test-categ_Lu.c: Likewise.
25617         * tests/unictype/test-categ_M.c: Likewise.
25618         * tests/unictype/test-categ_Mc.c: Likewise.
25619         * tests/unictype/test-categ_Me.c: Likewise.
25620         * tests/unictype/test-categ_Mn.c: Likewise.
25621         * tests/unictype/test-categ_N.c: Likewise.
25622         * tests/unictype/test-categ_Nd.c: Likewise.
25623         * tests/unictype/test-categ_No.c: Likewise.
25624         * tests/unictype/test-categ_P.c: Likewise.
25625         * tests/unictype/test-categ_Po.c: Likewise.
25626         * tests/unictype/test-categ_S.c: Likewise.
25627         * tests/unictype/test-categ_Sc.c: Likewise.
25628         * tests/unictype/test-categ_Sk.c: Likewise.
25629         * tests/unictype/test-categ_Sm.c: Likewise.
25630         * tests/unictype/test-categ_So.c: Likewise.
25631         * tests/unictype/test-ctype_alnum.c: Likewise.
25632         * tests/unictype/test-ctype_alpha.c: Likewise.
25633         * tests/unictype/test-ctype_graph.c: Likewise.
25634         * tests/unictype/test-ctype_lower.c: Likewise.
25635         * tests/unictype/test-ctype_print.c: Likewise.
25636         * tests/unictype/test-ctype_punct.c: Likewise.
25637         * tests/unictype/test-ctype_upper.c: Likewise.
25638         * tests/unictype/test-decdigit.h: Likewise.
25639         * tests/unictype/test-digit.h: Likewise.
25640         * tests/unictype/test-numeric.h: Likewise.
25641         * tests/unictype/test-pr_alphabetic.c: Likewise.
25642         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
25643         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
25644         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
25645         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
25646         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
25647         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
25648         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
25649         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
25650         * tests/unictype/test-pr_case_ignorable.c: Likewise.
25651         * tests/unictype/test-pr_cased.c: Likewise.
25652         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
25653         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
25654         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
25655         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
25656         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
25657         * tests/unictype/test-pr_combining.c: Likewise.
25658         * tests/unictype/test-pr_composite.c: Likewise.
25659         * tests/unictype/test-pr_currency_symbol.c: Likewise.
25660         * tests/unictype/test-pr_decimal_digit.c: Likewise.
25661         * tests/unictype/test-pr_deprecated.c: Likewise.
25662         * tests/unictype/test-pr_format_control.c: Likewise.
25663         * tests/unictype/test-pr_grapheme_base.c: Likewise.
25664         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
25665         * tests/unictype/test-pr_grapheme_link.c: Likewise.
25666         * tests/unictype/test-pr_id_continue.c: Likewise.
25667         * tests/unictype/test-pr_id_start.c: Likewise.
25668         * tests/unictype/test-pr_ideographic.c: Likewise.
25669         * tests/unictype/test-pr_lowercase.c: Likewise.
25670         * tests/unictype/test-pr_math.c: Likewise.
25671         * tests/unictype/test-pr_numeric.c: Likewise.
25672         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
25673         * tests/unictype/test-pr_other_id_continue.c: Likewise.
25674         * tests/unictype/test-pr_other_math.c: Likewise.
25675         * tests/unictype/test-pr_punctuation.c: Likewise.
25676         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
25677         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
25678         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
25679         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
25680         * tests/unictype/test-pr_uppercase.c: Likewise.
25681         * tests/unictype/test-pr_xid_continue.c: Likewise.
25682         * tests/unictype/test-pr_xid_start.c: Likewise.
25683         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
25684         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
25685         changes.
25686         * lib/unictype/categ_Cc.h: Likewise.
25687         * lib/unictype/categ_Cf.h: Likewise.
25688         * lib/unictype/categ_Co.h: Likewise.
25689         * lib/unictype/categ_Cs.h: Likewise.
25690         * lib/unictype/categ_Lt.h: Likewise.
25691         * lib/unictype/categ_Nl.h: Likewise.
25692         * lib/unictype/categ_Pc.h: Likewise.
25693         * lib/unictype/categ_Pd.h: Likewise.
25694         * lib/unictype/categ_Pe.h: Likewise.
25695         * lib/unictype/categ_Pf.h: Likewise.
25696         * lib/unictype/categ_Pi.h: Likewise.
25697         * lib/unictype/categ_Ps.h: Likewise.
25698         * lib/unictype/categ_Z.h: Likewise.
25699         * lib/unictype/categ_Zl.h: Likewise.
25700         * lib/unictype/categ_Zp.h: Likewise.
25701         * lib/unictype/categ_Zs.h: Likewise.
25702         * lib/unictype/ctype_blank.h: Likewise.
25703         * lib/unictype/ctype_cntrl.h: Likewise.
25704         * lib/unictype/ctype_digit.h: Likewise.
25705         * lib/unictype/ctype_space.h: Likewise.
25706         * lib/unictype/ctype_xdigit.h: Likewise.
25707         * lib/unictype/mirror.h: Likewise.
25708         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
25709         * lib/unictype/pr_bidi_block_separator.h: Likewise.
25710         * lib/unictype/pr_bidi_common_separator.h: Likewise.
25711         * lib/unictype/pr_bidi_control.h: Likewise.
25712         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
25713         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
25714         * lib/unictype/pr_bidi_european_digit.h: Likewise.
25715         * lib/unictype/pr_bidi_pdf.h: Likewise.
25716         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
25717         * lib/unictype/pr_bidi_whitespace.h: Likewise.
25718         * lib/unictype/pr_dash.h: Likewise.
25719         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
25720         * lib/unictype/pr_diacritic.h: Likewise.
25721         * lib/unictype/pr_extender.h: Likewise.
25722         * lib/unictype/pr_hex_digit.h: Likewise.
25723         * lib/unictype/pr_hyphen.h: Likewise.
25724         * lib/unictype/pr_ids_binary_operator.h: Likewise.
25725         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
25726         * lib/unictype/pr_ignorable_control.h: Likewise.
25727         * lib/unictype/pr_iso_control.h: Likewise.
25728         * lib/unictype/pr_join_control.h: Likewise.
25729         * lib/unictype/pr_left_of_pair.h: Likewise.
25730         * lib/unictype/pr_line_separator.h: Likewise.
25731         * lib/unictype/pr_logical_order_exception.h: Likewise.
25732         * lib/unictype/pr_non_break.h: Likewise.
25733         * lib/unictype/pr_not_a_character.h: Likewise.
25734         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
25735         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
25736         * lib/unictype/pr_other_id_start.h: Likewise.
25737         * lib/unictype/pr_other_lowercase.h: Likewise.
25738         * lib/unictype/pr_other_uppercase.h: Likewise.
25739         * lib/unictype/pr_paired_punctuation.h: Likewise.
25740         * lib/unictype/pr_paragraph_separator.h: Likewise.
25741         * lib/unictype/pr_pattern_syntax.h: Likewise.
25742         * lib/unictype/pr_pattern_white_space.h: Likewise.
25743         * lib/unictype/pr_private_use.h: Likewise.
25744         * lib/unictype/pr_quotation_mark.h: Likewise.
25745         * lib/unictype/pr_radical.h: Likewise.
25746         * lib/unictype/pr_soft_dotted.h: Likewise.
25747         * lib/unictype/pr_space.h: Likewise.
25748         * lib/unictype/pr_titlecase.h: Likewise.
25749         * lib/unictype/pr_variation_selector.h: Likewise.
25750         * lib/unictype/pr_white_space.h: Likewise.
25751         * lib/unictype/pr_zero_width.h: Likewise.
25752         * lib/unictype/sy_c_ident.h: Likewise.
25753         * lib/unictype/sy_c_whitespace.h: Likewise.
25754         * lib/unictype/sy_java_whitespace.h: Likewise.
25755         * lib/uninorm/composition-table.gperf: Likewise.
25756         * lib/uninorm/decomposition-table1.h: Likewise.
25757         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
25758         LB8.
25759         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
25760         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
25761         * modules/unictype/*: Bump version number of expected libunistring
25762         version.
25763
25764 2011-01-09  Bruno Haible  <bruno@clisp.org>
25765
25766         Update to Unicode 5.2.0.
25767         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
25768         trailing whitespace removed.
25769
25770 2011-01-09  Bruno Haible  <bruno@clisp.org>
25771
25772         New Unicode character properties, from Unicode 5.2.0.
25773         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
25774         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
25775         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
25776         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
25777         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
25778         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
25779         uc_is_property_cased, uc_is_property_case_ignorable,
25780         uc_is_property_changes_when_lowercased,
25781         uc_is_property_changes_when_uppercased,
25782         uc_is_property_changes_when_titlecased,
25783         uc_is_property_changes_when_casefolded,
25784         uc_is_property_changes_when_casemapped): New declarations.
25785         * lib/unictype/pr_byname.gperf: Add the new properties.
25786         * modules/unictype/property-byname (Depends-on): Depend on the new
25787         properties modules.
25788         * modules/unictype/property-all (Depends-on): Likewise.
25789         * MODULES.html.sh (Unicode string functions): Add
25790         unictype/property-case-ignorable, unictype/property-cased,
25791         unictype/property-changes-when-casefolded,
25792         unictype/property-changes-when-casemapped,
25793         unictype/property-changes-when-lowercased,
25794         unictype/property-changes-when-titlecased,
25795         unictype/property-changes-when-uppercased.
25796
25797         New module 'unictype/property-changes-when-casemapped'.
25798         * modules/unictype/property-changes-when-casemapped: New file.
25799         * lib/unictype/pr_changes_when_casemapped.c: New file.
25800         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
25801         generated by gen-uni-tables.
25802         * modules/unictype/property-changes-when-casemapped-tests: New file.
25803         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
25804         automatically generated by gen-uni-tables.
25805
25806         New module 'unictype/property-changes-when-casefolded'.
25807         * modules/unictype/property-changes-when-casefolded: New file.
25808         * lib/unictype/pr_changes_when_casefolded.c: New file.
25809         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
25810         generated by gen-uni-tables.
25811         * modules/unictype/property-changes-when-casefolded-tests: New file.
25812         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
25813         automatically generated by gen-uni-tables.
25814
25815         New module 'unictype/property-changes-when-titlecased'.
25816         * modules/unictype/property-changes-when-titlecased: New file.
25817         * lib/unictype/pr_changes_when_titlecased.c: New file.
25818         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
25819         generated by gen-uni-tables.
25820         * modules/unictype/property-changes-when-titlecased-tests: New file.
25821         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
25822         automatically generated by gen-uni-tables.
25823
25824         New module 'unictype/property-changes-when-uppercased'.
25825         * modules/unictype/property-changes-when-uppercased: New file.
25826         * lib/unictype/pr_changes_when_uppercased.c: New file.
25827         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
25828         generated by gen-uni-tables.
25829         * modules/unictype/property-changes-when-uppercased-tests: New file.
25830         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
25831         automatically generated by gen-uni-tables.
25832
25833         New module 'unictype/property-changes-when-lowercased'.
25834         * modules/unictype/property-changes-when-lowercased: New file.
25835         * lib/unictype/pr_changes_when_lowercased.c: New file.
25836         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
25837         generated by gen-uni-tables.
25838         * modules/unictype/property-changes-when-lowercased-tests: New file.
25839         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
25840         automatically generated by gen-uni-tables.
25841
25842         New module 'unictype/property-case-ignorable'.
25843         * modules/unictype/property-case-ignorable: New file.
25844         * lib/unictype/pr_case_ignorable.c: New file.
25845         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
25846         by gen-uni-tables.
25847         * modules/unictype/property-case-ignorable-tests: New file.
25848         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
25849         generated by gen-uni-tables.
25850
25851         New module 'unictype/property-cased'.
25852         * modules/unictype/property-cased: New file.
25853         * lib/unictype/pr_cased.c: New file.
25854         * lib/unictype/pr_cased.h: New file, automatically generated by
25855         gen-uni-tables.
25856         * modules/unictype/property-cased-tests: New file.
25857         * tests/unictype/test-pr_cased.c: New file, automatically generated by
25858         gen-uni-tables.
25859
25860 2011-01-09  Bruno Haible  <bruno@clisp.org>
25861
25862         Update to Unicode 5.2.0.
25863         * lib/gen-uni-tables.c (output_predicate, output_category,
25864         output_combclass, output_bidi_category, output_decimal_digit_test,
25865         output_decimal_digit, output_digit_test, output_digit,
25866         output_numeric_test, output_numeric, output_mirror, output_scripts,
25867         output_scripts_byname, output_blocks, output_ident_category): Fix
25868         comment header.
25869         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
25870         get_wbp.
25871         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
25872         items.
25873         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
25874         Changes_When_Lowercased, Changes_When_Uppercased,
25875         Changes_When_Titlecased, Changes_When_Casefolded,
25876         Changes_When_Casemapped.
25877         (is_property_alphabetic, is_property_default_ignorable_code_point):
25878         Update for Unicode 5.2.0.
25879         (is_property_cased, is_property_case_ignorable,
25880         is_property_changes_when_lowercased,
25881         is_property_changes_when_uppercased,
25882         is_property_changes_when_titlecased,
25883         is_property_changes_when_casefolded,
25884         is_property_changes_when_casemapped): New functions.
25885         (output_properties): Output also the properties cased, case_ignorable,
25886         changes_when_lowercased, changes_when_uppercased,
25887         changes_when_titlecased, changes_when_casefolded,
25888         changes_when_casemapped.
25889         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
25890         Unicode TR#11 revision 17 -> 19.
25891         (LBP_CP): New enumeration value.
25892         (LBP_*): Adjust values accordingly.
25893         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
25894         TR#14 revision 22 -> 24.
25895         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
25896         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
25897         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
25898         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
25899         is_WBP_MIDLETTER.
25900         (output_composition_tables): Allow for 24 bits instead of 16 bits in
25901         the code1 and code2 of each composition rule.
25902         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
25903         * lib/unicase/ignorable.h: Likewise.
25904         * lib/unicase/tocasefold.h: Likewise.
25905         * lib/unicase/tolower.h: Likewise.
25906         * lib/unicase/totitle.h: Likewise.
25907         * lib/unicase/toupper.h: Likewise.
25908         * lib/unictype/bidi_of.h: Likewise.
25909         * lib/unictype/blocks.h: Likewise.
25910         * lib/unictype/categ_C.h: Likewise.
25911         * lib/unictype/categ_Cf.h: Likewise.
25912         * lib/unictype/categ_Cn.h: Likewise.
25913         * lib/unictype/categ_L.h: Likewise.
25914         * lib/unictype/categ_Ll.h: Likewise.
25915         * lib/unictype/categ_Lm.h: Likewise.
25916         * lib/unictype/categ_Lo.h: Likewise.
25917         * lib/unictype/categ_Lu.h: Likewise.
25918         * lib/unictype/categ_M.h: Likewise.
25919         * lib/unictype/categ_Mc.h: Likewise.
25920         * lib/unictype/categ_Mn.h: Likewise.
25921         * lib/unictype/categ_N.h: Likewise.
25922         * lib/unictype/categ_Nd.h: Likewise.
25923         * lib/unictype/categ_Nl.h: Likewise.
25924         * lib/unictype/categ_No.h: Likewise.
25925         * lib/unictype/categ_P.h: Likewise.
25926         * lib/unictype/categ_Pd.h: Likewise.
25927         * lib/unictype/categ_Po.h: Likewise.
25928         * lib/unictype/categ_S.h: Likewise.
25929         * lib/unictype/categ_Sc.h: Likewise.
25930         * lib/unictype/categ_So.h: Likewise.
25931         * lib/unictype/categ_of.h: Likewise.
25932         * lib/unictype/combining.h: Likewise.
25933         * lib/unictype/ctype_alnum.h: Likewise.
25934         * lib/unictype/ctype_alpha.h: Likewise.
25935         * lib/unictype/ctype_graph.h: Likewise.
25936         * lib/unictype/ctype_lower.h: Likewise.
25937         * lib/unictype/ctype_print.h: Likewise.
25938         * lib/unictype/ctype_punct.h: Likewise.
25939         * lib/unictype/ctype_upper.h: Likewise.
25940         * lib/unictype/decdigit.h: Likewise.
25941         * lib/unictype/digit.h: Likewise.
25942         * lib/unictype/numeric.h: Likewise.
25943         * lib/unictype/pr_alphabetic.h: Likewise.
25944         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25945         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25946         * lib/unictype/pr_bidi_european_digit.h: Likewise.
25947         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25948         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25949         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25950         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25951         * lib/unictype/pr_combining.h: Likewise.
25952         * lib/unictype/pr_composite.h: Likewise.
25953         * lib/unictype/pr_currency_symbol.h: Likewise.
25954         * lib/unictype/pr_dash.h: Likewise.
25955         * lib/unictype/pr_decimal_digit.h: Likewise.
25956         * lib/unictype/pr_deprecated.h: Likewise.
25957         * lib/unictype/pr_diacritic.h: Likewise.
25958         * lib/unictype/pr_extender.h: Likewise.
25959         * lib/unictype/pr_grapheme_base.h: Likewise.
25960         * lib/unictype/pr_grapheme_extend.h: Likewise.
25961         * lib/unictype/pr_grapheme_link.h: Likewise.
25962         * lib/unictype/pr_id_continue.h: Likewise.
25963         * lib/unictype/pr_id_start.h: Likewise.
25964         * lib/unictype/pr_ideographic.h: Likewise.
25965         * lib/unictype/pr_ignorable_control.h: Likewise.
25966         * lib/unictype/pr_logical_order_exception.h: Likewise.
25967         * lib/unictype/pr_lowercase.h: Likewise.
25968         * lib/unictype/pr_numeric.h: Likewise.
25969         * lib/unictype/pr_other_alphabetic.h: Likewise.
25970         * lib/unictype/pr_punctuation.h: Likewise.
25971         * lib/unictype/pr_sentence_terminal.h: Likewise.
25972         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25973         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25974         * lib/unictype/pr_unified_ideograph.h: Likewise.
25975         * lib/unictype/pr_uppercase.h: Likewise.
25976         * lib/unictype/pr_xid_continue.h: Likewise.
25977         * lib/unictype/pr_xid_start.h: Likewise.
25978         * lib/unictype/pr_zero_width.h: Likewise.
25979         * lib/unictype/scripts.h: Likewise.
25980         * lib/unictype/scripts_byname.gperf: Likewise.
25981         * lib/unictype/sy_java_ident.h: Likewise.
25982         * lib/unigbrk/gbrkprop.h: Likewise.
25983         * lib/unilbrk/lbrkprop1.h: Likewise.
25984         * lib/unilbrk/lbrkprop2.h: Likewise.
25985         * lib/unilbrk/lbrktables.h: Likewise.
25986         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
25987         LBP_CP. Implement rule LB30.
25988         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
25989         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
25990         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
25991         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
25992         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
25993         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
25994         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
25995         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
25996         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
25997         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
25998         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
25999         bits instead of 16 bits in the code1 and code2 of each composition
26000         rule.
26001         (uc_composition): Update for Unicode 5.2.0.
26002         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
26003         * lib/uninorm/decomposition-table2.h: Likewise.
26004         * lib/uniwbrk/wbrkprop.h: Likewise.
26005         * tests/unicase/test-cased.c: Likewise.
26006         * tests/unicase/test-ignorable.c: Likewise.
26007         * tests/unicase/test-uc_tolower.c: Likewise.
26008         * tests/unicase/test-uc_totitle.c: Likewise.
26009         * tests/unicase/test-uc_toupper.c: Likewise.
26010         * tests/unictype/test-categ_C.c: Likewise.
26011         * tests/unictype/test-categ_Cf.c: Likewise.
26012         * tests/unictype/test-categ_Cn.c: Likewise.
26013         * tests/unictype/test-categ_L.c: Likewise.
26014         * tests/unictype/test-categ_Ll.c: Likewise.
26015         * tests/unictype/test-categ_Lm.c: Likewise.
26016         * tests/unictype/test-categ_Lo.c: Likewise.
26017         * tests/unictype/test-categ_Lu.c: Likewise.
26018         * tests/unictype/test-categ_M.c: Likewise.
26019         * tests/unictype/test-categ_Mc.c: Likewise.
26020         * tests/unictype/test-categ_Mn.c: Likewise.
26021         * tests/unictype/test-categ_N.c: Likewise.
26022         * tests/unictype/test-categ_Nd.c: Likewise.
26023         * tests/unictype/test-categ_Nl.c: Likewise.
26024         * tests/unictype/test-categ_No.c: Likewise.
26025         * tests/unictype/test-categ_P.c: Likewise.
26026         * tests/unictype/test-categ_Pd.c: Likewise.
26027         * tests/unictype/test-categ_Po.c: Likewise.
26028         * tests/unictype/test-categ_S.c: Likewise.
26029         * tests/unictype/test-categ_Sc.c: Likewise.
26030         * tests/unictype/test-categ_So.c: Likewise.
26031         * tests/unictype/test-ctype_alnum.c: Likewise.
26032         * tests/unictype/test-ctype_alpha.c: Likewise.
26033         * tests/unictype/test-ctype_graph.c: Likewise.
26034         * tests/unictype/test-ctype_lower.c: Likewise.
26035         * tests/unictype/test-ctype_print.c: Likewise.
26036         * tests/unictype/test-ctype_punct.c: Likewise.
26037         * tests/unictype/test-ctype_upper.c: Likewise.
26038         * tests/unictype/test-decdigit.h: Likewise.
26039         * tests/unictype/test-digit.h: Likewise.
26040         * tests/unictype/test-numeric.h: Likewise.
26041         * tests/unictype/test-pr_alphabetic.c: Likewise.
26042         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
26043         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
26044         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
26045         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
26046         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
26047         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
26048         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
26049         * tests/unictype/test-pr_combining.c: Likewise.
26050         * tests/unictype/test-pr_composite.c: Likewise.
26051         * tests/unictype/test-pr_currency_symbol.c: Likewise.
26052         * tests/unictype/test-pr_dash.c: Likewise.
26053         * tests/unictype/test-pr_decimal_digit.c: Likewise.
26054         * tests/unictype/test-pr_deprecated.c: Likewise.
26055         * tests/unictype/test-pr_diacritic.c: Likewise.
26056         * tests/unictype/test-pr_extender.c: Likewise.
26057         * tests/unictype/test-pr_grapheme_base.c: Likewise.
26058         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
26059         * tests/unictype/test-pr_grapheme_link.c: Likewise.
26060         * tests/unictype/test-pr_id_continue.c: Likewise.
26061         * tests/unictype/test-pr_id_start.c: Likewise.
26062         * tests/unictype/test-pr_ideographic.c: Likewise.
26063         * tests/unictype/test-pr_ignorable_control.c: Likewise.
26064         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
26065         * tests/unictype/test-pr_lowercase.c: Likewise.
26066         * tests/unictype/test-pr_numeric.c: Likewise.
26067         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
26068         * tests/unictype/test-pr_punctuation.c: Likewise.
26069         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
26070         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
26071         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
26072         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
26073         * tests/unictype/test-pr_uppercase.c: Likewise.
26074         * tests/unictype/test-pr_xid_continue.c: Likewise.
26075         * tests/unictype/test-pr_xid_start.c: Likewise.
26076         * tests/unictype/test-pr_zero_width.c: Likewise.
26077         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
26078         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
26079         changed behaviour: line breaking is now disallowed between a letter
26080         or '=' and '('.
26081         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
26082         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
26083         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
26084         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
26085         * tests/uniwidth/test-uc_width2.sh: Same updates as in
26086         lib/uniwidth/width.c.
26087         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
26088         without comments, but with the original copyright notice.
26089         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
26090         changes.
26091         * lib/unictype/categ_Cc.h: Likewise.
26092         * lib/unictype/categ_Co.h: Likewise.
26093         * lib/unictype/categ_Cs.h: Likewise.
26094         * lib/unictype/categ_Lt.h: Likewise.
26095         * lib/unictype/categ_Me.h: Likewise.
26096         * lib/unictype/categ_Pc.h: Likewise.
26097         * lib/unictype/categ_Pe.h: Likewise.
26098         * lib/unictype/categ_Pf.h: Likewise.
26099         * lib/unictype/categ_Pi.h: Likewise.
26100         * lib/unictype/categ_Ps.h: Likewise.
26101         * lib/unictype/categ_Sk.h: Likewise.
26102         * lib/unictype/categ_Sm.h: Likewise.
26103         * lib/unictype/categ_Z.h: Likewise.
26104         * lib/unictype/categ_Zl.h: Likewise.
26105         * lib/unictype/categ_Zp.h: Likewise.
26106         * lib/unictype/categ_Zs.h: Likewise.
26107         * lib/unictype/ctype_blank.h: Likewise.
26108         * lib/unictype/ctype_cntrl.h: Likewise.
26109         * lib/unictype/ctype_digit.h: Likewise.
26110         * lib/unictype/ctype_space.h: Likewise.
26111         * lib/unictype/ctype_xdigit.h: Likewise.
26112         * lib/unictype/mirror.h: Likewise.
26113         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
26114         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
26115         * lib/unictype/pr_bidi_block_separator.h: Likewise.
26116         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
26117         * lib/unictype/pr_bidi_common_separator.h: Likewise.
26118         * lib/unictype/pr_bidi_control.h: Likewise.
26119         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
26120         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
26121         * lib/unictype/pr_bidi_pdf.h: Likewise.
26122         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
26123         * lib/unictype/pr_bidi_whitespace.h: Likewise.
26124         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
26125         * lib/unictype/pr_format_control.h: Likewise.
26126         * lib/unictype/pr_hex_digit.h: Likewise.
26127         * lib/unictype/pr_hyphen.h: Likewise.
26128         * lib/unictype/pr_ids_binary_operator.h: Likewise.
26129         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
26130         * lib/unictype/pr_iso_control.h: Likewise.
26131         * lib/unictype/pr_join_control.h: Likewise.
26132         * lib/unictype/pr_left_of_pair.h: Likewise.
26133         * lib/unictype/pr_line_separator.h: Likewise.
26134         * lib/unictype/pr_math.h: Likewise.
26135         * lib/unictype/pr_non_break.h: Likewise.
26136         * lib/unictype/pr_not_a_character.h: Likewise.
26137         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
26138         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
26139         * lib/unictype/pr_other_id_continue.h: Likewise.
26140         * lib/unictype/pr_other_id_start.h: Likewise.
26141         * lib/unictype/pr_other_lowercase.h: Likewise.
26142         * lib/unictype/pr_other_math.h: Likewise.
26143         * lib/unictype/pr_other_uppercase.h: Likewise.
26144         * lib/unictype/pr_paired_punctuation.h: Likewise.
26145         * lib/unictype/pr_paragraph_separator.h: Likewise.
26146         * lib/unictype/pr_pattern_syntax.h: Likewise.
26147         * lib/unictype/pr_pattern_white_space.h: Likewise.
26148         * lib/unictype/pr_private_use.h: Likewise.
26149         * lib/unictype/pr_quotation_mark.h: Likewise.
26150         * lib/unictype/pr_radical.h: Likewise.
26151         * lib/unictype/pr_soft_dotted.h: Likewise.
26152         * lib/unictype/pr_space.h: Likewise.
26153         * lib/unictype/pr_titlecase.h: Likewise.
26154         * lib/unictype/pr_variation_selector.h: Likewise.
26155         * lib/unictype/pr_white_space.h: Likewise.
26156         * lib/unictype/sy_c_ident.h: Likewise.
26157         * lib/unictype/sy_c_whitespace.h: Likewise.
26158         * lib/unictype/sy_java_whitespace.h: Likewise.
26159         * modules/uni*/*: Bump version number of expected libunistring version.
26160         Reported by Simon Josefsson.
26161
26162 2011-01-09  Karl Heuer  <kwzh@gnu.org>
26163
26164         useless-if-before-free: fix typo in --help and make the internal,
26165         automatic version date update process work once again.
26166         --help output contained a NUL character instead of the
26167         backslash-zero that was intended.  Also, the "must lie within
26168         the first 8 lines" line is on line 9, and hence not getting
26169         automatically updated.
26170         * build-aux/useless-if-before-free: Fix the former by adding a
26171         backslash, and the latter by condensing the three lines of what-it-does
26172         to a single line, leaving one line of slack for the future.
26173
26174 2011-01-09  Bruno Haible  <bruno@clisp.org>
26175
26176         uniwidth/width: Fix width of U+1D173..U+1D17A.
26177         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
26178         symbolic_width, output_width_property_test): New functions.
26179         (main): Invoke output_nonspacing_property, output_width_property_test.
26180         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
26181         U+1D173..U+1D17A.
26182         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
26183         1.
26184         * modules/uniwidth/*: Bump version number of expected libunistring
26185         version.
26186         * modules/unilbrk/*: Likewise.
26187
26188 2011-01-08  Bruno Haible  <bruno@clisp.org>
26189
26190         uninorm tests: Preserve copyright of Unicode data file.
26191         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
26192         Mention modifications.
26193
26194 2011-01-08  Bruno Haible  <bruno@clisp.org>
26195
26196         gen-uni-tables: Prepare for Unicode 5.2.0.
26197         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
26198         (debug_output_lbp, output_lbp): Update.
26199
26200 2011-01-08  Bruno Haible  <bruno@clisp.org>
26201
26202         unilbrk: Clarify gen-uni-tables.c code.
26203         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
26204         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
26205         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
26206
26207 2011-01-07  Bruno Haible  <bruno@clisp.org>
26208
26209         strtod: Restore errno when successfully parsing Infinity or NaN.
26210         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
26211         restore the original errno.
26212
26213 2011-01-07  Bruno Haible  <bruno@clisp.org>
26214
26215         remove test: Avoid failure on HP-UX 11.
26216         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
26217
26218 2011-01-07  Bruno Haible  <bruno@clisp.org>
26219
26220         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
26221         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
26222         error code.
26223
26224 2011-01-07  Pádraig Brady <P@draigBrady.com>
26225
26226         ignore-value: fixup comments, and add Eric Blake
26227         as an author since he rewrote the macros.
26228         * lib/ignore-value.h (ignore_value):  State that
26229         we now support aggregates.  Also specify exactly
26230         when the GCC warn_unused_result feature was added.
26231
26232 2011-01-06  Eric Blake  <eblake@redhat.com>
26233
26234         ignore-value: support aggregate types
26235         * lib/ignore-value.h (ignore_value): Provide separate gcc
26236         definition.
26237         * modules/ignore-value-tests: New test module.
26238         * tests/test-ignore-value.c: New test.
26239
26240         maint.mk: improve sc_prohibit_strcmp regex
26241         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
26242         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
26243         definition of STRNEQ.
26244
26245         signal: work around Haiku issue with SIGBUS
26246         * lib/siglist.h: Add comment.
26247         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
26248         strsignal's favoring of SIGSEGV.
26249         * tests/test-signal.c (main): Avoid test failure.
26250         * doc/posix-headers/signal.texi (signal.h): Document the issue.
26251         Reported by Scott McCreary.
26252
26253         maint.mk: add pre-release check to ensure submodule commits are public
26254         * top/maint.mk (public-submodule-commit): New rule.
26255         (submodule-checks): New variable.
26256         (alpha beta stable): Depend on the variable.
26257
26258 2011-01-05  Pádraig Brady <P@draigBrady.com>
26259         and Jim Meyering  <meyering@redhat.com>
26260
26261         ignore-value: make ignore_value more generic; deprecate ignore_ptr
26262         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
26263         (ATTRIBUTE_DEPRECATED): Define.
26264         (_ignore_case): New function.
26265         (ignore_value): New macro, to replace the old function.
26266         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
26267         * modules/ignore-value (Depends-on): Add stdint.
26268
26269 2011-01-04  Eric Blake  <eblake@redhat.com>
26270
26271         doc: regenerate INSTALL
26272         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
26273         @firstparagraphindent support, now that autoconf dropped it.
26274         (INSTALL_PRELUDE): Reinstate old macro.
26275         * doc/install.texi: Resync from autoconf.
26276         * doc/INSTALL: Reflect recent autoconf update.
26277         * doc/INSTALL.ISO: Likewise.
26278         * doc/INSTALL.UTF-8: Likewise.
26279         Reported by Karl Berry.
26280
26281 2011-01-04  Bruce Korb  <address@hidden>
26282
26283         git-version-gen: avoid a sub-shell
26284         * build-aux/git-version-gen: Redirect stderr in `...` via
26285         "exec 2>...", rather than via an added sub-shell.
26286
26287 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
26288
26289         git-version-gen: use (...) rather than sh -c '...'
26290         * build-aux/git-version-gen: Rather than hard-coding a shell's name
26291         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
26292
26293 2011-01-03  Jim Meyering  <meyering@redhat.com>
26294
26295         git-version-gen: convert leading TABs to spaces
26296         * build-aux/git-version-gen: Expand leading TABs.
26297
26298         git-version-gen: handle failed "git rev-list"
26299         * build-aux/git-version-gen: Rather than leaking a "fatal" error
26300         from git and proceeding as if it had succeeded but printed no SHA1
26301         checksums, suppress the diagnostic and handle the failure.
26302         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
26303
26304         git-version-gen: include command name in one more diagnostic
26305         * build-aux/git-version-gen: When the required .tarball-version file
26306         was missing or unreadable, you might see the diagnostic from "cat",
26307         but no trace of the name of the invoking script.  Now, you still see
26308         the diagnostic from cat, but also get one from "git-version-gen: ".
26309         Inspired by a patch from Bruce Korb.
26310
26311         update-copyright: adjust test to match changed code
26312         * tests/test-update-copyright.sh: Change test's expected output
26313         to match new actual output.
26314
26315 2011-01-02  Bruno Haible  <bruno@clisp.org>
26316
26317         getlogin_r: Avoid test failure on HP-UX 11.
26318         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
26319         ERANGE when the second argument is zero.
26320         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
26321         portability problem.
26322
26323 2011-01-02  Bruce Korb  <bkorb@gnu.org>
26324
26325         * build-aux/update-copyright: doc Simon's changes
26326
26327 2011-01-02  Simon Josefsson  <simon@josefsson.org>
26328
26329         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
26330         environment variable.
26331
26332 2011-01-02  Bruno Haible  <bruno@clisp.org>
26333
26334         unigbrk: Avoid gcc warnings.
26335         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
26336         unused variable.
26337         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
26338         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
26339         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
26340         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
26341         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
26342         Change type of first argument to 'const char *'.
26343         (main): Remove unused variable.
26344         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
26345         type of first argument to 'const char *'.
26346         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
26347         Likewise.
26348         (main): Change type of variable 's'.
26349         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
26350         to 'int'.
26351
26352 2011-01-02  Bruno Haible  <bruno@clisp.org>
26353
26354         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
26355         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
26356         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
26357         bug.
26358         * lib/pwrite.c: Undo 2010-12-31 patch.
26359         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
26360
26361 2011-01-02  Bruno Haible  <bruno@clisp.org>
26362
26363         pread: Fix test whether it works.
26364         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
26365
26366 2011-01-02  Bruno Haible  <bruno@clisp.org>
26367
26368         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
26369         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
26370         ends in "6". Don't require a specific month name. Try also the locale
26371         names found on HP-UX 11 and Solaris 7.
26372
26373 2011-01-02  Bruno Haible  <bruno@clisp.org>
26374
26375         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
26376         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
26377         C linkage.
26378         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
26379
26380 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26381
26382         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
26383         for consistency, since the "cluster" term is not used elsewhere.
26384         * lib/unigbrk.in.h: Update name.
26385         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
26386         * lib/unigbrk/u16-grapheme-next.c: Update name.
26387         * lib/unigbrk/u16-grapheme-prev.c: Update name.
26388         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
26389         * lib/unigbrk/u32-grapheme-next.c: Update name.
26390         * lib/unigbrk/u32-grapheme-prev.c: Update name.
26391         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
26392         * lib/unigbrk/u8-grapheme-next.c: Update name.
26393         * lib/unigbrk/u8-grapheme-prev.c: Update name.
26394         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
26395         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
26396         Suggested by Bruno Haible.
26397
26398 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26399
26400         Remove module 'u8-grapheme-len' as too redundant with
26401         'u8-grapheme-next'.
26402         * modules/unigbrk/u8-grapheme-len: Delete file.
26403         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
26404         * lib/unigbrk.in.h: Remove prototype for deleted function.
26405         * lib/unigbrk/u8-grapheme-len.c: Delete file.
26406         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
26407
26408         Remove module 'u16-grapheme-len' as too redundant with
26409         'u16-grapheme-next'.
26410         * modules/unigbrk/u16-grapheme-len: Delete file.
26411         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
26412         * lib/unigbrk.in.h: Remove prototype for deleted function.
26413         * lib/unigbrk/u16-grapheme-len.c: Delete file.
26414         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
26415
26416         Remove module 'u32-grapheme-len' as too redundant with
26417         'u32-grapheme-next'.
26418         * modules/unigbrk/u32-grapheme-len: Delete file.
26419         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
26420         * lib/unigbrk.in.h: Remove prototype for deleted function.
26421         * lib/unigbrk/u32-grapheme-len.c: Delete file.
26422         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
26423
26424         Suggested by Bruno Haible.
26425
26426 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26427
26428         * unigbrk.in.h: Fix typo: "ben" => "been".
26429         Reported by Bruno Haible.
26430
26431 2011-01-01  Jim Meyering  <meyering@redhat.com>
26432
26433         maint: update almost all copyright ranges to include 2011
26434         Run the new "make update-copyright" rule.
26435
26436 2011-01-01  Jim Meyering  <meyering@redhat.com>
26437
26438         maint: update-copyright: exempt doc/INSTALL*
26439         * Makefile (update-copyright): Also exclude doc/INSTALL*,
26440         since they are generated.  Suggested by Bruno Haible.
26441
26442 2011-01-01  Jim Meyering  <meyering@redhat.com>
26443
26444         maint: refine the update-copyright rule
26445         * Makefile (update-copyright): Also exclude any file that includes
26446         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
26447         code that merely generates the comment.
26448
26449 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26450
26451         New module 'u8-grapheme-len'.
26452         * modules/unigbrk/u8-grapheme-len: New file.
26453         * modules/unigbrk/u8-grapheme-len-tests: New file.
26454         * lib/unigbrk.in.h: Add prototype for new function.
26455         * lib/unigbrk/u8-grapheme-len.c: New file.
26456         * tests/unigbrk/test-u8-grapheme-len.c: New file.
26457
26458         New module 'u16-grapheme-len'.
26459         * modules/unigbrk/u16-grapheme-len: New file.
26460         * modules/unigbrk/u16-grapheme-len-tests: New file.
26461         * lib/unigbrk.in.h: Add prototype for new function.
26462         * lib/unigbrk/u16-grapheme-len.c: New file.
26463         * tests/unigbrk/test-u16-grapheme-len.c: New file.
26464
26465         New module 'u32-grapheme-len'.
26466         * modules/unigbrk/u32-grapheme-len: New file.
26467         * modules/unigbrk/u32-grapheme-len-tests: New file.
26468         * lib/unigbrk.in.h: Add prototype for new function.
26469         * lib/unigbrk/u32-grapheme-len.c: New file.
26470         * tests/unigbrk/test-u32-grapheme-len.c: New file.
26471
26472         New module 'u8-grapheme-next'.
26473         * modules/unigbrk/u8-grapheme-next: New file.
26474         * modules/unigbrk/u8-grapheme-next-tests: New file.
26475         * lib/unigbrk.in.h: Add prototype for new function.
26476         * lib/unigbrk/u8-grapheme-next.c: New file.
26477         * tests/unigbrk/test-u8-grapheme-next.c: New file.
26478
26479         New module 'u16-grapheme-next'.
26480         * modules/unigbrk/u16-grapheme-next: New file.
26481         * modules/unigbrk/u16-grapheme-next-tests: New file.
26482         * lib/unigbrk.in.h: Add prototype for new function.
26483         * lib/unigbrk/u16-grapheme-next.c: New file.
26484         * tests/unigbrk/test-u16-grapheme-next.c: New file.
26485
26486         New module 'u32-grapheme-next'.
26487         * modules/unigbrk/u32-grapheme-next: New file.
26488         * modules/unigbrk/u32-grapheme-next-tests: New file.
26489         * lib/unigbrk.in.h: Add prototype for new function.
26490         * lib/unigbrk/u32-grapheme-next.c: New file.
26491         * tests/unigbrk/test-u32-grapheme-next.c: New file.
26492
26493         New module 'u8-grapheme-prev'.
26494         * modules/unigbrk/u8-grapheme-prev: New file.
26495         * modules/unigbrk/u8-grapheme-prev-tests: New file.
26496         * lib/unigbrk.in.h: Add prototype for new function.
26497         * lib/unigbrk/u8-grapheme-prev.c: New file.
26498         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
26499
26500         New module 'u16-grapheme-prev'.
26501         * modules/unigbrk/u16-grapheme-prev: New file.
26502         * modules/unigbrk/u16-grapheme-prev-tests: New file.
26503         * lib/unigbrk.in.h: Add prototype for new function.
26504         * lib/unigbrk/u16-grapheme-prev.c: New file.
26505         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
26506
26507         New module 'u32-grapheme-prev'.
26508         * modules/unigbrk/u32-grapheme-prev: New file.
26509         * modules/unigbrk/u32-grapheme-prev-tests: New file.
26510         * lib/unigbrk.in.h: Add prototype for new function.
26511         * lib/unigbrk/u32-grapheme-prev.c: New file.
26512         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
26513
26514         New module 'u8-grapheme-breaks'.
26515         * modules/unigbrk/u8-grapheme-breaks: New file.
26516         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
26517         * lib/unigbrk.in.h: Add prototype for new function.
26518         * lib/unigbrk/u8-grapheme-breaks.c: New file.
26519         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
26520
26521         New module 'u16-grapheme-breaks'.
26522         * modules/unigbrk/u16-grapheme-breaks: New file.
26523         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
26524         * lib/unigbrk.in.h: Add prototype for new function.
26525         * lib/unigbrk/u16-grapheme-breaks.c: New file.
26526         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
26527
26528         New module 'u32-grapheme-breaks'.
26529         * modules/unigbrk/u32-grapheme-breaks: New file.
26530         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
26531         * lib/unigbrk.in.h: Add prototype for new function.
26532         * lib/unigbrk/u32-grapheme-breaks.c: New file.
26533         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
26534
26535         New module 'ulc-grapheme-breaks'.
26536         * modules/unigbrk/ulc-grapheme-breaks: New file.
26537         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
26538         * m4/locale-ar.m4: New file.
26539         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
26540         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
26541         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
26542
26543 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26544
26545         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
26546         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
26547         modified how this file was generated before I initially submitted
26548         the module, but failed to regenerate it.  This meant that several
26549         of the level2 entries were wrong.
26550         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
26551         Remove the division-by-2 that is folded into the table now that
26552         gbrkprop.h has been regenerated properly.  Now -1 entries are
26553         handled correctly.
26554
26555         New module 'unigbrk/uc-gbrk-prop-tests'.
26556         * modules/unigbrk/uc-gbrk-prop-tests: New file.
26557         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
26558         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
26559         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
26560
26561 2011-01-01  Bruno Haible  <bruno@clisp.org>
26562
26563         Avoid use of hexadecimal escapes.
26564         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
26565         instead of hexadecimal escapes.
26566
26567 2011-01-01  Jim Meyering  <meyering@redhat.com>
26568
26569         maint: new rule to update copyright year ranges
26570         * Makefile (update-copyright): New rule.
26571
26572         maint: indent with TABs in Makefile
26573         * Makefile: Expand leading sequences of spaces to TABs
26574
26575         version-etc: update the copyright year it reports
26576         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
26577
26578 2010-12-31  Bruno Haible  <bruno@clisp.org>
26579
26580         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
26581         * lib/isfinite.c (zerof, zerod, zerol): New variables.
26582         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
26583         zero.
26584
26585 2010-12-31  Bruno Haible  <bruno@clisp.org>
26586
26587         pwrite: Work around HP-UX 11.11 bug.
26588         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
26589         works and set REPLACE_PWRITE if not.
26590         * lib/pwrite.c (pwrite): Add an implementation that uses the system
26591         function.
26592         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
26593
26594 2010-12-31  Bruno Haible  <bruno@clisp.org>
26595
26596         pread: Work around HP-UX 11 bugs.
26597         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
26598         and set REPLACE_PREAD if not.
26599         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
26600
26601 2010-12-31  Eric Blake  <eblake@redhat.com>
26602
26603         nl_langinfo: fix YESEXPR on Irix 6.5
26604         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
26605         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
26606         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
26607         it.
26608
26609 2010-12-31  Bruno Haible  <bruno@clisp.org>
26610
26611         iconv: Document HP-UX 11 bug.
26612         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
26613
26614 2010-12-31  Bruno Haible  <bruno@clisp.org>
26615
26616         ldexpl: Fix link error on HP-UX 11.
26617         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
26618         LDEXPL_LIBM, using $ISNANL_LIBM.
26619
26620 2010-12-31  Eric Blake  <eblake@redhat.com>
26621
26622         ftello: avoid compilation failure with SunStudio c89
26623         * lib/ftello.c (ftello): Use lseek, not llseek.
26624
26625         tests: avoid failing coreutils tests on cygwin
26626         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
26627         (create_exe_shims_): Return 0 when skipping.
26628
26629 2010-12-31  Bruno Haible  <bruno@clisp.org>
26630
26631         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
26632         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
26633
26634 2010-12-31  Bruno Haible  <bruno@clisp.org>
26635
26636         waitpid: Fix link error in C++ mode.
26637         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
26638
26639 2010-12-31  Bruno Haible  <bruno@clisp.org>
26640
26641         isnan: Use GCC built-ins when possible.
26642         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
26643         __builtin_isnan.
26644         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
26645         (isnan): Define using GCC built-ins for GCC >= 4.0.
26646
26647 2010-12-31  Bruno Haible  <bruno@clisp.org>
26648
26649         isnand: Fix mistake.
26650         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
26651         __builtin_isnand.
26652
26653 2010-12-31  Bruno Haible  <bruno@clisp.org>
26654
26655         open: Avoid C++ error on HP-UX 11.
26656         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
26657
26658 2010-12-31  Bruno Haible  <bruno@clisp.org>
26659
26660         time_r: Add missing declarations on HP-UX 11.
26661         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
26662         instead of HAVE_LOCALTIME_R.
26663         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
26664         HAVE_LOCALTIME_R always.
26665         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
26666         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
26667         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
26668         HAVE_LOCALTIME_R.
26669         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
26670         * doc/posix-functions/localtime_r.texi: Likewise.
26671
26672 2010-12-29  Eric Blake  <eblake@redhat.com>
26673
26674         mountlist: tweak previous commit
26675         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
26676         Reported by Paul Eggert.
26677
26678         mountlist: fix local drive detection on cygwin
26679         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
26680         that works for cygwin.
26681
26682 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
26683
26684         ftoastr, snprintf: ftoastr + snprintf module
26685         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
26686         since the snprintf module now should be good enough here.
26687         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
26688         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
26689         and gl_MODULE_INDICATOR([snprintf]), but the former enables
26690         GNULIB_SNPRINTF only for the test directory, and the latter
26691         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
26692         seems to suffice by itself.
26693
26694 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
26695
26696         alloca: one step towards thread-safety
26697         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
26698         need for a static variable.  All callers changed.  This does not
26699         make the alloca replacement thread-safe, but it's one step.
26700
26701         tests: minor indenting change
26702         * tests/init.sh: Sync from coreutils housekeeping patch
26703         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
26704         to keep lines within 80 columns.
26705
26706 2010-12-28  Jim Meyering  <meyering@redhat.com>
26707
26708         regex: don't infloop on persistent failing calloc
26709         * lib/regexec.c (build_trtable): Return failure indication upon
26710         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
26711         In glibc, this was fixed for version 2.13:
26712         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
26713
26714 2010-12-28  Bruno Haible  <bruno@clisp.org>
26715             Paul Eggert <eggert@cs.ucla.edu>
26716
26717         linkat: Make implementation robust against system behaviour variations.
26718         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
26719         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
26720         way, and to -2 if it needs a generic runtime test.
26721         * lib/linkat.c (solaris_optimized_link_immediate,
26722         solaris_optimized_link_follow): New functions.
26723         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
26724         (check_same_link): Use it.
26725
26726 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
26727
26728         New module 'unigbrk/base'.
26729         * modules/unigbrk/base: New file.
26730         * lib/unigbrk.in.h: New file.
26731
26732         New module 'unigbrk/uc-gbrk-prop'.
26733         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
26734         * modules/unigbrk/uc-gbrk-prop: New file.
26735         * lib/unigbrk/gbrkprop.h: New file.
26736         * lib/unigbrk/uc-gbrk-prop.c: New file.
26737
26738         New module 'unigbrk/uc-is-grapheme-break'.
26739         * modules/unigbrk/uc-is-grapheme-break: New file.
26740         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
26741         * lib/unigbrk/uc-is-grapheme-break.c: New file.
26742         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
26743         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
26744         * tests/unigbrk/GraphemeBreakTest.txt: New file.
26745
26746         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
26747
26748 2010-12-27  Bruno Haible  <bruno@clisp.org>
26749
26750         linkat test: Avoid failure on Solaris 11 2010-11.
26751         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
26752
26753 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26754
26755         utimens: work around glibc rounding bug on more platforms
26756         * lib/utimens.c (fdutimens): Work around rounding bug even if
26757         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
26758         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
26759
26760 2010-12-27  Bruno Haible  <bruno@clisp.org>
26761
26762         select tests: Improve comments.
26763         * tests/test-select.c (do_select): Add comments.
26764
26765 2010-12-27  Bruno Haible  <bruno@clisp.org>
26766
26767         select tests: Safer way of handling timeout.
26768         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
26769         at every invocation.
26770
26771 2010-12-27  Bruno Haible  <bruno@clisp.org>
26772
26773         select tests: Use 'bool' where appropriate.
26774         * tests/test-select.c (connect_to_socket): Change argument type to
26775         'bool'.
26776
26777 2010-12-27  Bruno Haible  <bruno@clisp.org>
26778
26779         select tests: Use existing modules.
26780         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
26781         (configure.ac): Don't test for unistd.h.
26782         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
26783         declared in <unistd.h>.
26784
26785 2010-12-27  Bruno Haible  <bruno@clisp.org>
26786
26787         mbrtowc: Work around a Solaris 7 bug.
26788         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
26789         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
26790         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
26791         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
26792         MBRTOWC_NULL_ARG1_BUG.
26793         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
26794         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
26795         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
26796         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
26797
26798 2010-12-27  Jim Meyering  <meyering@redhat.com>
26799
26800         read-file.c: tweak syntax
26801         * lib/read-file.c (fread_file): Remove space after "*" in function
26802         definitions.
26803
26804 2010-12-27  Bruno Haible  <bruno@clisp.org>
26805
26806         times test: Avoid gcc warnings on OSF/1.
26807         * tests/test-times.c (main): Cast printf arguments from clock_t to
26808         'long int'.
26809
26810 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
26811
26812         utimens: work around glibc rounding bug on older Linux kernels
26813         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
26814         on Linux with a glibc whose utimes might not work, then work
26815         around a longstanding glibc bug involving rounding rather than
26816         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
26817         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
26818
26819 2010-12-26  Bruno Haible  <bruno@clisp.org>
26820
26821         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
26822         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
26823         _GL_CXXALIAS_SYS.
26824         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26825
26826 2010-12-26  Bruno Haible  <bruno@clisp.org>
26827
26828         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
26829         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
26830         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
26831         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
26832         looking for the declaration.
26833         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
26834         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
26835         problem.
26836         * doc/posix-functions/inet_pton.texi: Likewise.
26837
26838 2010-12-26  Bruno Haible  <bruno@clisp.org>
26839
26840         arpa_inet: Use the common idioms with C++ support.
26841         * lib/arpa_inet.in.h: Include c++defs.h.
26842         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
26843         support.
26844         * modules/arpa_inet (Depends-on): Add c++defs.
26845         (Makefile.am): Substitute the contents of c++defs.h.
26846         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
26847         * modules/arpa_inet-c++-tests: New file.
26848         * tests/test-arpa_inet-c++.cc: New file.
26849
26850 2010-12-25  Bruno Haible  <bruno@clisp.org>
26851
26852         Fix more C++ link errors on Solaris 8.
26853         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
26854         $(LIB_EACCESS).
26855         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
26856         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
26857         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
26858         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
26859         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
26860
26861 2010-12-25  Bruno Haible  <bruno@clisp.org>
26862
26863         printf-posix: Fix link error when a non-GCC compiler is used.
26864         * lib/stdio.in.h (printf): When not using GCC, override printf
26865         correctly.
26866         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
26867
26868 2010-12-25  Bruno Haible  <bruno@clisp.org>
26869
26870         strerror_r-posix: Update doc.
26871         * doc/posix-functions/strerror_r.texi: Update doc about the return
26872         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
26873
26874 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
26875
26876         utimens: simplify the logic of the previous change
26877         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
26878         This should not affect whether the test succeeds or fails.
26879
26880         utimens: configure better on hosts with NFS clock skew
26881         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
26882         uses the clock of the local host.  It might use the clock of the
26883         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
26884         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
26885
26886 2010-12-25  Bruno Haible  <bruno@clisp.org>
26887
26888         ptsname test: Avoid failure on Solaris.
26889         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
26890         open a pseudo-terminal; don't use BSD-style ptys.
26891         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
26892
26893 2010-12-25  Bruno Haible  <bruno@clisp.org>
26894
26895         ptsname: Avoid ERANGE failure on some systems.
26896         * lib/ptsname.c (buffer): Increase size.
26897
26898 2010-12-25  Bruno Haible  <bruno@clisp.org>
26899
26900         rename, renameat: Avoid test failures at NFS mounted locations.
26901         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
26902         so that subsequent mkdir calls succeed.
26903
26904 2010-12-25  Bruno Haible  <bruno@clisp.org>
26905
26906         iswblank: Fix C++ link error on Solaris 8.
26907         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
26908         _GL_FUNCDECL_SYS.
26909
26910 2010-12-25  Bruno Haible  <bruno@clisp.org>
26911
26912         unistd: Fix C++ link error on Solaris 8.
26913         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
26914
26915 2010-12-25  Bruno Haible  <bruno@clisp.org>
26916
26917         readlink doc: Mention an old glibc bug.
26918         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
26919
26920 2010-12-25  Bruno Haible  <bruno@clisp.org>
26921
26922         fcntl-h: Fix for use of C++ on glibc systems.
26923         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
26924         also on glibc systems in C++ mode.
26925         Reported by Gary V. Vaughan <gary@gnu.org>.
26926
26927 2010-12-25  Bruno Haible  <bruno@clisp.org>
26928
26929         roundl-ieee: Make it work on OSF/1 5.1 with cc.
26930         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
26931
26932 2010-12-25  Bruno Haible  <bruno@clisp.org>
26933
26934         truncl-ieee: Make it work on OSF/1 5.1 with cc.
26935         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
26936         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
26937         test whether truncl works according to ISO C 99 with IEC 60559.
26938         * m4/truncl-ieee.m4: New file.
26939         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
26940         m4/signbit.m4.
26941         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
26942
26943 2010-12-25  Bruno Haible  <bruno@clisp.org>
26944
26945         ceill-ieee: Make it work on OSF/1 5.1 with cc.
26946         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
26947         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
26948         test whether ceill works according to ISO C 99 with IEC 60559.
26949         * m4/ceill-ieee.m4: New file.
26950         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
26951         m4/signbit.m4.
26952         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
26953
26954 2010-12-25  Bruno Haible  <bruno@clisp.org>
26955
26956         Ensure all prerequisites of <wchar.h> are included.
26957         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
26958         before <wchar.h>.
26959         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
26960         gl_MBRLEN_NUL_RETVAL): Likewise.
26961         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
26962         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
26963         AC_FUNC_MBRTOWC): Likewise.
26964         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
26965         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
26966         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
26967         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
26968         Likewise.
26969         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
26970         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
26971         (gl_WCHAR_H): Improve comments.
26972         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
26973
26974 2010-12-25  Bruno Haible  <bruno@clisp.org>
26975
26976         strtok_r: Fix C syntax error in autoconf macro.
26977         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
26978         characters in test program.
26979
26980 2010-12-24  Bruno Haible  <bruno@clisp.org>
26981
26982         ceil, trunc, round: Fix gcc warnings.
26983         * lib/ceil.c (MIN): Undefine before redefining.
26984         * lib/trunc.c (MIN): Likewise.
26985         * lib/round.c (MIN): Likewise.
26986         Include <math.h> first.
26987
26988 2010-12-24  Bruno Haible  <bruno@clisp.org>
26989
26990         select tests: Avoid failures on OSF/1 5.1.
26991         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
26992         failure of closing the last socket; it may fail with ECONNRESET.
26993
26994 2010-12-24  Eric Blake  <eblake@redhat.com>
26995
26996         stdint: avoid HP-UX 10.20 preprocessor bug
26997         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
26998         than #if.
26999         * tests/test-floor2.c (main): Likewise.
27000         Reported by Peter O'Gorman.
27001
27002         pipe: make obsoletion transition easier
27003         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
27004         * modules/pipe (Files): Include revived file.
27005         (Include): Drop reference, to mirror getdate's behavior.
27006
27007 2010-12-24  Bruno Haible  <bruno@clisp.org>
27008
27009         sys_socket: Hide mismatch of declarations on NonStop Kernel.
27010         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
27011         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
27012         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27013
27014 2010-12-24  Bruno Haible  <bruno@clisp.org>
27015
27016         gethostname: Ensure declaration on NonStop Kernel.
27017         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
27018         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27019
27020 2010-12-24  Bruno Haible  <bruno@clisp.org>
27021
27022         sys_select: Ensure all necessary types on NonStop Kernel.
27023         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
27024         include <sys/time.h>.
27025         * doc/posix-headers/sys_select.texi: Mention that it's missing on
27026         NonStop Kernel.
27027         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27028
27029 2010-12-24  Bruno Haible  <bruno@clisp.org>
27030
27031         sys_select: Remove unneeded include.
27032         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
27033         have <sys/select.h>.
27034
27035 2010-12-24  Bruno Haible  <bruno@clisp.org>
27036
27037         gethostname: Provide a fallback for HOST_NAME_MAX.
27038         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
27039         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
27040         instead.
27041         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27042
27043 2010-12-24  Bruno Haible  <bruno@clisp.org>
27044
27045         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
27046         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
27047         (SA_RESTART): Likewise.
27048         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27049
27050 2010-12-24  Bruno Haible  <bruno@clisp.org>
27051
27052         signal: Define NSIG.
27053         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
27054         * tests/test-signal.c (nsig): New variable.
27055         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27056
27057 2010-12-24  Bruno Haible  <bruno@clisp.org>
27058
27059         rename, renameat: Avoid test failures on OSF/1 5.1.
27060         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
27061         alternative error codes.
27062         * tests/test-renameat.c (main): Likewise.
27063
27064 2010-12-24  Bruno Haible  <bruno@clisp.org>
27065
27066         *printf: Detect large precisions bug on Solaris 10/SPARC.
27067         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
27068         by Paul Eggert.
27069         * tests/test-snprintf-posix.h (test_function): Add this test code here
27070         too.
27071         * tests/test-sprintf-posix.h (test_function): Likewise.
27072         * tests/test-vasnprintf-posix.c (test_function): Likewise.
27073         * tests/test-vasprintf-posix.c (test_function): Likewise.
27074         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
27075         around by gnulib.
27076         * doc/posix-functions/printf.texi: Likewise.
27077         * doc/posix-functions/snprintf.texi: Likewise.
27078         * doc/posix-functions/sprintf.texi: Likewise.
27079         * doc/posix-functions/vfprintf.texi: Likewise.
27080         * doc/posix-functions/vprintf.texi: Likewise.
27081         * doc/posix-functions/vsnprintf.texi: Likewise.
27082         * doc/posix-functions/vsprintf.texi: Likewise.
27083         * doc/posix-functions/dprintf.texi: Undo last commit.
27084         * doc/posix-functions/vdprintf.texi: Likewise.
27085
27086 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
27087
27088         tests: port test-fdutimensat.c to Solaris 8
27089         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
27090         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
27091         On Solaris 8, it fails with errno == ENOSYS, because there is no
27092         futimens (so it can't use the fd), and there is no lutimens (so it
27093         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
27094
27095         vsnprintf: make more consistent with snprintf; doc fixes
27096
27097         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
27098         the byte count return problem was promoted from the snprintf-posix
27099         to the snprintf module.
27100         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
27101         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
27102         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
27103         * tests/test-snprintf.c (main): Check the byte count returned.
27104         * tests/test-vsnprintf.c (main): Likewise.
27105
27106 2010-12-23  Eric Blake  <eblake@redhat.com>
27107
27108         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
27109         * modules/sigpipe (License): Relax license.
27110
27111 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27112
27113         doc: document Solaris printf bug with large float precisions
27114         * doc/posix-functions/dprintf.texi (dprintf):
27115         * doc/posix-functions/fprintf.texi (fprintf):
27116         * doc/posix-functions/printf.texi (printf):
27117         * doc/posix-functions/snprintf.texi (snprintf):
27118         * doc/posix-functions/sprintf.texi (sprintf):
27119         * doc/posix-functions/vdprintf.texi (vdprintf):
27120         * doc/posix-functions/vfprintf.texi (vfprintf):
27121         * doc/posix-functions/vprintf.texi (vprintf):
27122         * doc/posix-functions/vsnprintf.texi (vsnprintf):
27123         * doc/posix-functions/vsprintf.texi (vsprintf):
27124         Mention that these functions mishandle large floating point
27125         precisions on Solaris 10.  The same bug is also present in Solaris
27126         8, and I assume earlier.  This causes "cd gnulib-tests; make
27127         check" to fail on Solaris 8 (and I assume, later) when building
27128         the latest coreutils, in test-vasprintf-posix's call to
27129         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
27130         the wide flavors (e.g., wprintf) so this patch just updates the
27131         documentation for the narrow ones.
27132
27133         test-posixtm.c: add two tests
27134         * tests/test-posixtm.c: Add two tests, to highlight the
27135         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
27136         around this bug; this is merely to document it.
27137
27138 2010-12-22  Bruno Haible  <bruno@clisp.org>
27139
27140         getlogin_r: Work around portability problem on OSF/1.
27141         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
27142         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
27143         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
27144         test for a truncated result.
27145         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
27146         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
27147         * modules/getlogin_r (Depends-on): Add memchr.
27148         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
27149
27150 2010-12-22  Bruno Haible  <bruno@clisp.org>
27151
27152         ptsname: Avoid test failure on OSF/1 5.1.
27153         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
27154         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
27155         (same_slave): New function.
27156         (main): Use it to compare ptsname's result with the expected file name.
27157
27158 2010-12-22  Bruno Haible  <bruno@clisp.org>
27159
27160         Port extended stdio modules to HP NonStop Kernel.
27161         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
27162         macros.
27163         * lib/fbufmode.c: Update comments.
27164         * lib/fflush.c: Likewise.
27165         * lib/fpurge.c: Likewise.
27166         * lib/freadable.c: Likewise.
27167         * lib/freadahead.c: Likewise.
27168         * lib/freading.c: Likewise.
27169         * lib/freadptr.c: Likewise.
27170         * lib/freadseek.c: Likewise.
27171         * lib/fseeko.c: Likewise.
27172         * lib/fseterr.c: Likewise.
27173         * lib/fwritable.c: Likewise.
27174         * lib/fwriting.c: Likewise.
27175         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27176
27177 2010-12-22  Bruno Haible  <bruno@clisp.org>
27178
27179         ttyname_r: Work around bug on OSF/1 5.1.
27180         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
27181         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
27182         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
27183         present.
27184         * lib/ttyname_r.c (ttyname_r): Update comments.
27185
27186 2010-12-22  Bruno Haible  <bruno@clisp.org>
27187
27188         round: Implement result sign according to IEEE 754.
27189         * lib/round.c (MIN, MINUS_ZERO): New macros.
27190         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
27191         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
27192         * tests/test-round-ieee.c (main): Likewise.
27193         * tests/test-roundl-ieee.c (main): Likewise.
27194
27195         trunc: Implement result sign according to IEEE 754.
27196         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
27197         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
27198         * tests/test-trunc2.c: Include minus-zero.h.
27199         (MINUS_ZERO): New macro.
27200         (trunc_reference): Keep in sync with lib/trunc.c.
27201         * tests/test-truncf2.c: Include minus-zero.h.
27202         (MINUS_ZERO): New macro.
27203         (truncf_reference): Keep in sync with lib/trunc.c.
27204         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
27205         * tests/test-trunc-ieee.c (main): Likewise.
27206         * tests/test-truncl-ieee.c (main): Likewise.
27207
27208         ceil: Implement result sign according to IEEE 754.
27209         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
27210         (FUNC): Return -0.0 for -1 < x < 0.
27211         * tests/test-ceil2.c: Include minus-zero.h.
27212         (MINUS_ZERO): New macro.
27213         (ceil_reference): Keep in sync with lib/ceil.c.
27214         * tests/test-ceilf2.c: Include minus-zero.h.
27215         (MINUS_ZERO): New macro.
27216         (ceilf_reference): Keep in sync with lib/ceil.c.
27217         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
27218         * tests/test-ceil-ieee.c (main): Likewise.
27219         * tests/test-ceill-ieee.c (main): Likewise.
27220
27221         floor: Implement result sign according to IEEE 754.
27222         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
27223         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
27224         * tests/test-floorf2.c (floorf_reference): Likewise.
27225         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
27226         * tests/test-floor-ieee.c (main): Likewise.
27227         * tests/test-floorl-ieee.c (main): Likewise.
27228
27229 2010-12-22  Bruno Haible  <bruno@clisp.org>
27230
27231         getaddrinfo: Update doc.
27232         * doc/posix-functions/gai_strerror.texi: Return type is also different
27233         on AIX and HP-UX.
27234
27235 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27236
27237         getaddrinfo, inet_ntop: Update doc for Solaris.
27238         * doc/posix-functions/gai_strerror.texi: Return type is also an
27239         issue on Solaris 9 and earlier.
27240         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
27241         on Solaris 10 and earlier.
27242
27243 2010-12-21  Bruno Haible  <bruno@clisp.org>
27244
27245         New module 'roundl-ieee'.
27246         * modules/roundl-ieee: New file.
27247         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
27248         test whether roundl works according to ISO C 99 with IEC 60559.
27249         * m4/roundl-ieee.m4: New file.
27250         * modules/roundl-ieee-tests: New file.
27251         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
27252         * tests/test-roundl.c (main): Remove signbit tests.
27253         * modules/roundl-tests (Depends-on): Remove signbit.
27254         * doc/posix-functions/roundl.texi: Mention the new module.
27255
27256 2010-12-21  Bruno Haible  <bruno@clisp.org>
27257
27258         New module 'truncl-ieee'.
27259         * modules/truncl-ieee: New file.
27260         * modules/truncl-ieee-tests: New file.
27261         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
27262         * tests/test-truncl.c (main): Remove signbit tests.
27263         * modules/truncl-tests (Depends-on): Remove signbit.
27264         * doc/posix-functions/truncl.texi: Mention the new module.
27265
27266 2010-12-21  Bruno Haible  <bruno@clisp.org>
27267
27268         New module 'ceill-ieee'.
27269         * modules/ceill-ieee: New file.
27270         * modules/ceill-ieee-tests: New file.
27271         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
27272         * tests/test-ceill.c (main): Remove signbit tests.
27273         * modules/ceill-tests (Depends-on): Remove signbit.
27274         * doc/posix-functions/ceill.texi: Mention the new module.
27275
27276 2010-12-21  Bruno Haible  <bruno@clisp.org>
27277
27278         New module 'floorl-ieee'.
27279         * modules/floorl-ieee: New file.
27280         * modules/floorl-ieee-tests: New file.
27281         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
27282         * tests/test-floorl.c (main): Remove signbit tests.
27283         * modules/floorl-tests (Depends-on): Remove signbit.
27284         * doc/posix-functions/floorl.texi: Mention the new module.
27285
27286 2010-12-21  Bruno Haible  <bruno@clisp.org>
27287
27288         New module 'round-ieee'.
27289         * modules/round-ieee: New file.
27290         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
27291         whether round works according to ISO C 99 with IEC 60559.
27292         * m4/round-ieee.m4: New file.
27293         * modules/round-ieee-tests: New file.
27294         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
27295         * tests/test-round1.c (main): Remove signbit tests.
27296         * modules/round-tests (Depends-on): Remove 'signbit'.
27297         * doc/posix-functions/round.texi: Mention the new module.
27298
27299 2010-12-21  Bruno Haible  <bruno@clisp.org>
27300
27301         New module 'trunc-ieee'.
27302         * modules/trunc-ieee: New file.
27303         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
27304         whether trunc works according to ISO C 99 with IEC 60559.
27305         * m4/trunc-ieee.m4: New file.
27306         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
27307         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
27308         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
27309         * modules/trunc-ieee-tests: New file.
27310         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
27311         * tests/test-trunc1.c (main): Remove signbit tests.
27312         * modules/trunc-tests (Depends-on): Remove 'signbit'.
27313         * doc/posix-functions/trunc.texi: Mention the new module.
27314
27315 2010-12-21  Bruno Haible  <bruno@clisp.org>
27316
27317         New module 'ceil-ieee'.
27318         * modules/ceil-ieee: New file.
27319         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
27320         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
27321         ISO C 99 with IEC 60559.
27322         * m4/ceil-ieee.m4: New file.
27323         * modules/ceil (Files): Add lib/ceil.c.
27324         (Depends-on): Add 'float'.
27325         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27326         * lib/math.in.h (ceil): New declaration.
27327         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
27328         REPLACE_CEIL.
27329         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
27330         * modules/ceil-ieee-tests: New file.
27331         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
27332         * tests/test-math-c++.cc: Check the signature of 'ceil'.
27333         * doc/posix-functions/ceil.texi: Mention the new module.
27334
27335 2010-12-21  Bruno Haible  <bruno@clisp.org>
27336
27337         New module 'floor-ieee'.
27338         * modules/floor-ieee: New file.
27339         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
27340         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
27341         ISO C 99 with IEC 60559.
27342         * m4/floor-ieee.m4: New file.
27343         * modules/floor (Files): Add lib/floor.c.
27344         (Depends-on): Add 'float'.
27345         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27346         * lib/math.in.h (floor): New declaration.
27347         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
27348         REPLACE_FLOOR.
27349         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
27350         * modules/floor-ieee-tests: New file.
27351         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
27352         * tests/test-math-c++.cc: Check the signature of 'floor'.
27353         * doc/posix-functions/floor.texi: Mention the new module.
27354
27355 2010-12-21  Bruno Haible  <bruno@clisp.org>
27356
27357         New module 'roundf-ieee'.
27358         * modules/roundf-ieee: New file.
27359         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
27360         test whether roundf works according to ISO C 99 with IEC 60559.
27361         * m4/roundf-ieee.m4: New file.
27362         * modules/roundf-ieee-tests: New file.
27363         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
27364         * tests/test-roundf1.c (main): Remove signbit tests.
27365         * modules/roundf-tests (Depends-on): Remove 'signbit'.
27366         * doc/posix-functions/roundf.texi: Mention the new module.
27367
27368 2010-12-21  Bruno Haible  <bruno@clisp.org>
27369
27370         New module 'truncf-ieee'.
27371         * modules/truncf-ieee: New file.
27372         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
27373         test whether truncf works according to ISO C 99 with IEC 60559.
27374         * m4/truncf-ieee.m4: New file.
27375         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
27376         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
27377         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
27378         * modules/truncf-ieee-tests: New file.
27379         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
27380         * tests/test-truncf1.c (main): Remove signbit tests.
27381         * modules/truncf-tests (Depends-on): Remove 'signbit'.
27382         * doc/posix-functions/truncf.texi: Mention the new module.
27383
27384 2010-12-21  Bruno Haible  <bruno@clisp.org>
27385
27386         New module 'ceilf-ieee'.
27387         * modules/ceilf-ieee: New file.
27388         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
27389         test whether ceilf works according to ISO C 99 with IEC 60559.
27390         * m4/ceilf-ieee.m4: New file.
27391         * modules/ceilf-ieee-tests: New file.
27392         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
27393         * tests/test-ceilf1.c (main): Remove signbit tests.
27394         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
27395         * doc/posix-functions/ceilf.texi: Mention the new module.
27396
27397 2010-12-21  Bruno Haible  <bruno@clisp.org>
27398
27399         New module 'floorf-ieee'.
27400         * modules/floorf-ieee: New file.
27401         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
27402         test whether floorf works according to ISO C 99 with IEC 60559.
27403         * m4/floorf-ieee.m4: New file.
27404         * modules/floorf-ieee-tests: New file.
27405         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
27406         * tests/test-floorf1.c (main): Remove signbit tests.
27407         * modules/floorf-tests (Depends-on): Remove 'signbit'.
27408         * doc/posix-functions/floorf.texi: Mention the new module.
27409
27410 2010-12-21  Bruno Haible  <bruno@clisp.org>
27411
27412         Support for minus zero in autoconf macros.
27413         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
27414         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
27415         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
27416         * tests/minus-zero.h: Update comments.
27417
27418 2010-12-21  Bruno Haible  <bruno@clisp.org>
27419
27420         Tests for module 'ceil'.
27421         * modules/ceil-tests: New file.
27422         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
27423         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
27424
27425 2010-12-21  Bruno Haible  <bruno@clisp.org>
27426
27427         Tests for module 'floor'.
27428         * modules/floor-tests: New file.
27429         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
27430         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
27431
27432 2010-12-21  Bruno Haible  <bruno@clisp.org>
27433
27434         math: Fix indentation.
27435         * lib/math.in.h (floorf): Fix indentation.
27436
27437 2010-12-21  Bruno Haible  <bruno@clisp.org>
27438
27439         Fix cross-compilation guesses on Solaris.
27440         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
27441         not match "solaris2.10".
27442         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27443         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
27444         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
27445
27446 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
27447
27448         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
27449         This fixes a problem observed with the latest coreutils snapshot
27450         that caused a test to fail on Solaris 8.  src/csplit.c's call
27451         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
27452         earlier, instead of returning the number of bytes that would have
27453         been generated; this causes csplit to incorrectly report memory
27454         exhaustion.
27455         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
27456         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
27457         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
27458         comments to match.
27459         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
27460         Fix typo in matching older versions of Solaris: "solaris2.10"
27461         is matched by the shell pattern "solaris2.[0-9]*".  This matters
27462         only for guessing while cross-compiling.
27463         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
27464
27465 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
27466
27467         ftoastr: fix comment again
27468         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27469         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
27470         Also, simplify example a bit by using flags = 0.
27471
27472 2010-12-20  Bruno Haible  <bruno@clisp.org>
27473
27474         round*, trunc*: Update documentation regarding glibc.
27475         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
27476         * doc/posix-functions/round.texi: Likewise.
27477         * doc/posix-functions/roundl.texi: Likewise.
27478         * doc/posix-functions/truncf.texi: Likewise.
27479         * doc/posix-functions/trunc.texi: Likewise.
27480         * doc/posix-functions/truncl.texi: Likewise.
27481
27482 2010-12-20  Bruno Haible  <bruno@clisp.org>
27483
27484         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
27485         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
27486         * doc/posix-functions/round.texi: Likewise.
27487         * doc/posix-functions/roundl.texi: Likewise.
27488
27489 2010-12-20  Bruno Haible  <bruno@clisp.org>
27490
27491         ttyname_r: Add missing declaration on HP-UX 11.
27492         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
27493         HAVE_TTYNAME_R.
27494         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
27495         declared. Set HAVE_TTYNAME_R always.
27496         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27497         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
27498         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
27499         HAVE_TTYNAME_R.
27500         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
27501
27502 2010-12-20  Bruno Haible  <bruno@clisp.org>
27503
27504         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
27505         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
27506         * doc/posix-functions/getlogin_r.texi: Likewise.
27507         * tests/test-getlogin.c: Include <errno.h>.
27508         (main): Avoid test failure on HP-UX 11.11.
27509         * tests/test-getlogin_r.c (main): Likewise.
27510
27511 2010-12-20  Bruno Haible  <bruno@clisp.org>
27512
27513         getlogin_r: Add missing declaration on HP-UX 11.
27514         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
27515         declared also when it exists as a function.
27516         * doc/posix-functions/getlogin_r.texi: Document this workaround.
27517
27518 2010-12-20  Bruno Haible  <bruno@clisp.org>
27519
27520         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
27521         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
27522         through wcrtomb.
27523
27524 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
27525
27526         ftoastr: fix comment
27527         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27528         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
27529
27530 2010-12-19  Bruno Haible  <bruno@clisp.org>
27531
27532         isnan: Ensure it is a macro.
27533         * lib/math.in.h (isnan): Define as a macro if not already a macro.
27534         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
27535         Solaris.
27536
27537 2010-12-19  Bruno Haible  <bruno@clisp.org>
27538
27539         ldexpl test: Fix link error on OSF/1 5.1.
27540         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
27541
27542 2010-12-19  Bruno Haible  <bruno@clisp.org>
27543
27544         wctype: Make it work in C++ mode on OSF/1 5.1.
27545         * lib/wctype.in.h (iswblank): Declare but not define here.
27546         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
27547         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
27548         * modules/wctype (Files): Add lib/iswblank.c.
27549
27550 2010-12-19  Bruno Haible  <bruno@clisp.org>
27551
27552         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
27553         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
27554         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
27555
27556 2010-12-19  Bruno Haible  <bruno@clisp.org>
27557
27558         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
27559         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
27560         _POSIX_PII_SOCKET.
27561         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
27562         * doc/posix-functions/recvfrom.texi: Likewise.
27563         * doc/posix-functions/send.texi: Likewise.
27564         * doc/posix-functions/sendto.texi: Likewise.
27565
27566 2010-12-19  Bruno Haible  <bruno@clisp.org>
27567
27568         tcgetsid: Add missing declaration on OSF/1 5.1.
27569         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
27570         HAVE_TCGETSID.
27571         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
27572         Don't set HAVE_TCGETSID.
27573         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
27574         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
27575         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
27576         HAVE_TCGETSID.
27577         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
27578
27579 2010-12-19  Bruno Haible  <bruno@clisp.org>
27580
27581         stdio: Fix problem with popen() declaration on OSF/1 5.1.
27582         * lib/stdio.in.h: During the include_next statement, let recursive
27583         includes of this file include only the system header file.
27584
27585 2010-12-19  Bruno Haible  <bruno@clisp.org>
27586
27587         iconv_open: Fix regression from 2010-12-04.
27588         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
27589         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
27590
27591 2010-12-19  Bruno Haible  <bruno@clisp.org>
27592
27593         stdbool test: Avoid a gcc warning.
27594         * tests/test-stdbool.c (main): Fail if e1 is false.
27595         Reported by Jim Meyering.
27596
27597 2010-12-19  Jim Meyering  <meyering@redhat.com>
27598
27599         setenv: restore to working order
27600         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
27601         mistakenly removed.
27602         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
27603         HAVE_SETENV.
27604         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
27605         HAVE_SETENV.
27606
27607 2010-12-19  Bruno Haible  <bruno@clisp.org>
27608
27609         Document some different function declarations on OSF/1 5.1.
27610         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
27611         * doc/posix-functions/inet_ntop.texi: Likewise.
27612         * doc/posix-functions/gethostname.texi: Likewise.
27613         * lib/unistd.in.h (gethostname): Update comment.
27614
27615 2010-12-19  Bruno Haible  <bruno@clisp.org>
27616
27617         doc: Mention vasprintf-posix module.
27618         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
27619         the 'vasprintf-posix' module.
27620         * doc/glibc-functions/vasprintf.texi: Likewise.
27621
27622 2010-12-19  Bruno Haible  <bruno@clisp.org>
27623
27624         unsetenv: Add missing declaration on OSF/1 5.1.
27625         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
27626         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
27627         Don't set HAVE_UNSETENV. In the test program, set _BSD.
27628         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
27629         not HAVE_UNSETENV.
27630         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
27631         HAVE_UNSETENV.
27632         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
27633
27634 2010-12-19  Bruno Haible  <bruno@clisp.org>
27635
27636         setenv: Add missing declaration on OSF/1 5.1.
27637         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
27638         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
27639         declared. Don't set HAVE_SETENV.
27640         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
27641         not HAVE_SETENV.
27642         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
27643         HAVE_SETENV.
27644         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
27645
27646 2010-12-19  Bruno Haible  <bruno@clisp.org>
27647
27648         nl_langinfo tests: Avoid gcc warning.
27649         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
27650
27651 2010-12-19  Bruno Haible  <bruno@clisp.org>
27652
27653         mknod: Avoid error in C++ mode on OSF/1 with GCC.
27654         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
27655         _GL_CXXALIAS_SYS.
27656
27657 2010-12-19  Bruno Haible  <bruno@clisp.org>
27658
27659         stdbool: Relax test.
27660         * tests/test-stdbool.c (e): Don't require that casts from a variable's
27661         address to 'bool' work in static initializer, for compilers other than
27662         GCC.
27663
27664 2010-12-19  Bruno Haible  <bruno@clisp.org>
27665
27666         ftello: Add missing declaration on OSF/1 5.1.
27667         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
27668         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
27669         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
27670         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
27671         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
27672
27673 2010-12-19  Bruno Haible  <bruno@clisp.org>
27674
27675         fseeko: Add missing declaration on OSF/1 5.1.
27676         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
27677         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
27678         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
27679         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
27680         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
27681
27682 2010-12-19  Bruno Haible  <bruno@clisp.org>
27683
27684         fchdir: Add missing declaration on OSF/1 5.1.
27685         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
27686         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
27687         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
27688         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
27689         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
27690
27691 2010-12-19  Bruno Haible  <bruno@clisp.org>
27692
27693         relocatable-prog-wrapper: Separate from relocatable-prog.
27694         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
27695         uninstall-relocwrapper rule here.
27696         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
27697         Reported by Ian Beckwith <ianb@erislabs.net>.
27698
27699 2010-12-19  Bruno Haible  <bruno@clisp.org>
27700
27701         unistr/u8-mbsnlen: Add missing dependency.
27702         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
27703         Reported by Ian Beckwith <ianb@erislabs.net>.
27704
27705 2010-12-19  Bruno Haible  <bruno@clisp.org>
27706
27707         iconv: Make it possible again to use this module without 'iconv-h'.
27708         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
27709         if it is not defined.
27710         Reported by Ian Beckwith <ianb@erislabs.net>.
27711
27712 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
27713
27714         acl: port to Solaris 8 when copying from tmpfs to ufs
27715         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
27716         error number.  Problem observed on Solaris 8 with latest
27717         coreutils, with "mv A B", where A is on a tmpfs file system and B
27718         is on a ufs file system.  This caused coreutils' mv/part-symlink
27719         test to fail.
27720
27721         tests: set fail=0 at start
27722         * tests/init.sh (setup_): Move fail=0 initialization here ...
27723         (mktempd_): ... from here, so that tests can rely on fail being
27724         set to 0 initially.  This fixes a problem in coreutils; see:
27725         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
27726
27727 2010-12-18  Bruno Haible  <bruno@clisp.org>
27728
27729         memmem-simple: Stylistic changes.
27730         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
27731         Fix preprocessor directive indentation.
27732
27733 2010-12-15  Pádraig Brady <P@draigBrady.com>
27734
27735         memmem, memmem-simple: reorganize and expand empty needle check
27736         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
27737         functional checks to memmem-simple so that one has a fully functional
27738         memmem by using just this module.
27739         Restrict the performance only check to the memmem module.
27740         Also expand the empty needle check to ensure the correct
27741         pointer is returned, not just a non NULL pointer.
27742         * doc/glibc-functions/memmem.texi: Rearrange the portability
27743         documentation to correlate with the rearranged checks.
27744         Clarify exactly how the memmem and memmem-simple modules
27745         relate to each other.
27746
27747 2010-12-15  Pádraig Brady <P@draigBrady.com>
27748             Bruno Haible  <bruno@clisp.org>
27749
27750         Improve cross-compilation guesses for uClibc.
27751         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
27752         that uClibc does not have the glibc bug.
27753         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
27754         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
27755
27756 2010-12-14  Eric Blake  <eblake@redhat.com>
27757
27758         configmake: provide fallbacks for oldest supported autotools
27759         * m4/configmake.m4: New file.
27760         * modules/configmake (Files): Ship it.
27761         (configure.ac): Use it to guarantee fallbacks.
27762
27763 2010-12-13  Pádraig Brady <P@draigBrady.com>
27764
27765         read-file: Improve handling of large files
27766         * lib/read-file.c (fread_file): Minimize realloc()s
27767         for regular files, and better manage sizes around SIZE_MAX.
27768
27769 2010-12-13  Eric Blake  <eblake@redhat.com>
27770
27771         cloexec, fcntl: relax license
27772         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
27773         consent from all contributors.
27774         * modules/fcntl (License): Likewise.
27775
27776 2010-12-10  Bruno Haible  <bruno@clisp.org>
27777
27778         Tests for module 'pipe-posix'.
27779         * modules/pipe-posix-tests: New file.
27780         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
27781
27782 2010-12-10  Bruno Haible  <bruno@clisp.org>
27783
27784         pipe-posix: Make it work in C++ mode.
27785         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
27786         (pipe): Use common idiom, not a macro definition.
27787         * lib/pipe.c: New file.
27788         * m4/pipe.m4: New file.
27789         * modules/pipe-posix (Description): Enhance.
27790         (Files): Add lib/pipe.c, m4/pipe.m4.
27791         (configure.ac): Invoke gl_FUNC_PIPE.
27792         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
27793         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
27794         * tests/test-unistd-c++.cc: Check the signature of pipe.
27795
27796 2010-12-10  Bruno Haible  <bruno@clisp.org>
27797
27798         Rename module 'pipe' to 'spawn-pipe'.
27799         * modules/spawn-pipe: New file, renamed from modules/pipe.
27800         (Files, configure.ac, Makefile.am): Update.
27801         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
27802         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
27803         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
27804         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
27805         "spawn-pipe.h" instead of "pipe.h".
27806         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
27807         to gl_SPAWN_PIPE.
27808         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
27809         (Files, Makefile.am): Update.
27810         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
27811         Update.
27812         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
27813         Include "spawn-pipe.h" instead of "pipe.h".
27814         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
27815         * lib/javacomp.c: Likewise.
27816         * lib/javaversion.c: Likewise.
27817         * lib/pipe-filter-gi.c: Likewise.
27818         * lib/pipe-filter-ii.c: Likewise.
27819         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
27820         * modules/javacomp (Depends-on): Likewise.
27821         * modules/javaversion (Depends-on): Likewise.
27822         * modules/pipe-filter-gi (Depends-on): Likewise.
27823         * modules/pipe-filter-ii (Depends-on): Likewise.
27824         * MODULES.html.sh (Executing programs): Update.
27825         * NEWS: Mention the change.
27826
27827 2010-12-10  Eric Blake  <eblake@redhat.com>
27828
27829         pipe-posix: new module
27830         * modules/pipe-posix: New file.
27831         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
27832         (gl_UNISTD_H): Check for declaration.
27833         * modules/unistd (Makefile.am): Substitute it.
27834         * lib/unistd.in.h (pipe): Provide it for mingw.
27835         * doc/posix-functions/pipe.texi (pipe): Update documentation.
27836         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
27837
27838 2010-12-07  Bruno Haible  <bruno@clisp.org>
27839
27840         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
27841         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
27842         u8_strcmp_gnu.
27843         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
27844
27845 2010-12-06  Bruno Haible  <bruno@clisp.org>
27846
27847         Update internal documentation.
27848         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
27849
27850 2010-12-04  Bruno Haible  <bruno@clisp.org>
27851
27852         Put more information about failed tests into the test return codes.
27853         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
27854         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
27855         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
27856         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
27857         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
27858         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
27859         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
27860         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
27861         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
27862         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
27863         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
27864         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
27865         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
27866         * m4/stdint.m4 (gl_STDINT_H): Likewise.
27867         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
27868         returns a bit mask.
27869         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
27870         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
27871         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
27872         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
27873         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
27874         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
27875         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
27876         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
27877         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
27878         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
27879         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
27880         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
27881         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
27882         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
27883         * m4/link.m4 (gl_FUNC_LINK): Likewise.
27884         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
27885         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
27886         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
27887         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27888         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
27889         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
27890         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
27891         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
27892         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
27893         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27894         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
27895         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
27896         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
27897         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
27898         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
27899         gl_PRINTF_PRECISION): Likewise.
27900         * m4/regex.m4 (gl_REGEX): Likewise.
27901         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
27902         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
27903         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
27904         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
27905         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
27906         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
27907         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
27908         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
27909         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
27910         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
27911         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
27912         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
27913         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
27914         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
27915         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
27916         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
27917         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
27918         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27919         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
27920         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
27921         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
27922         enumerated value.
27923         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
27924
27925 2010-12-04  Bruno Haible  <bruno@clisp.org>
27926
27927         Update for Solaris 11 2010-11.
27928         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
27929         Express, released in November 2010.
27930
27931 2010-12-04  Bruno Haible  <bruno@clisp.org>
27932
27933         nproc: Relax license.
27934         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
27935         and Paul Eggert.
27936         Requested by Ludovic Courtès <ludo@gnu.org>.
27937
27938 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
27939
27940         utimecmp: fine-grained src to nearby coarse-grained dest
27941
27942         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
27943         and the source is on a file system with higher-resolution time
27944         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
27945         not work, and the time stamps are close together, the algorithm to
27946         determine the exact resolution from the read-back mtime was buggy:
27947         it had a "!=" where it should have had an "==".  This bug has been
27948         in the code ever since it was introduced to gnulib.
27949         Problem reported by Dan Jacobson in
27950         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
27951
27952 2010-11-30  Bruno Haible  <bruno@clisp.org>
27953
27954         strerror_r-posix: Fix autoconf test.
27955         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
27956
27957 2010-11-28  Bruno Haible  <bruno@clisp.org>
27958             Paul Eggert  <eggert@cs.ucla.edu>
27959
27960         Tests for module 'getdomainname'.
27961         * modules/getdomainname-tests: New file.
27962         * tests/test-getdomainname.c: New file, based on
27963         tests/test-gethostname.c.
27964
27965 2010-11-28  Bruno Haible  <bruno@clisp.org>
27966             Paul Eggert  <eggert@cs.ucla.edu>
27967
27968         getdomainname: Use the system function when possible.
27969         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
27970         (getdomainname): Replace if needed. Provide the declaration if it is
27971         missing. Don't use _GL_CXXALIAS_SYS_CAST.
27972         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
27973         (getdomainname): When the system has getdomainname, call the system
27974         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
27975         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
27976         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
27977         found in libnsl. Look for the declaration also in <netdb.h>. Replace
27978         the function if its second argument is of type 'int' or if it is found
27979         in libnsl.
27980         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
27981         <sys/systeminfo.h> and sysinfo().
27982         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
27983         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27984         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
27985         HAVE_GETDOMAINNAME.
27986         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
27987         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
27988         * doc/glibc-functions/getdomainname.texi: Document the problems with
27989         the getdomainname declaration.
27990
27991 2010-11-28  Bruno Haible  <bruno@clisp.org>
27992
27993         sys_socket: Ensure ss_family field on AIX.
27994         * lib/sys_socket.in.h (ss_family): New macro definition.
27995         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
27996         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
27997         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
27998         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
27999         * modules/sys_socket (Makefile.am): Substitute
28000         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
28001         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
28002
28003 2010-11-27  Bruno Haible  <bruno@clisp.org>
28004
28005         readline: Improve configure output.
28006         * m4/readline.m4 (gl_FUNC_READLINE): Make the
28007         "checking for readline..." result understandable.
28008
28009 2010-11-27  Bruno Haible  <bruno@clisp.org>
28010
28011         *printf-posix: Detect a bug on Solaris 10/x86.
28012         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
28013         for floating-point output.
28014         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
28015         directive.
28016         * tests/test-snprintf-posix.h (test_function): Likewise.
28017         * tests/test-sprintf-posix.h (test_function): Likewise.
28018         * tests/test-vasprintf-posix.c (test_function): Likewise.
28019         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
28020         * doc/posix-functions/printf.texi: Likewise.
28021         * doc/posix-functions/snprintf.texi: Likewise.
28022         * doc/posix-functions/sprintf.texi: Likewise.
28023         * doc/posix-functions/vfprintf.texi: Likewise.
28024         * doc/posix-functions/vprintf.texi: Likewise.
28025         * doc/posix-functions/vsnprintf.texi: Likewise.
28026         * doc/posix-functions/vsprintf.texi: Likewise.
28027         * doc/glibc-functions/obstack_printf.texi: Likewise.
28028         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
28029
28030 2010-11-27  Bruno Haible  <bruno@clisp.org>
28031
28032         Fix link error when module libunistring-optional is in use.
28033         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
28034         * modules/striconveha-tests (Makefile.am): Likewise.
28035
28036 2010-11-27  Bruno Haible  <bruno@clisp.org>
28037
28038         regex: Mention link dependencies.
28039         * modules/regex (Link): New section.
28040         * modules/rpmatch (Link): Likewise.
28041         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
28042
28043 2010-11-27  Bruno Haible  <bruno@clisp.org>
28044
28045         ftoastr: Fix compilation error on Solaris.
28046         * lib/ftoastr.c: Include <config.h>.
28047
28048 2010-11-27  Bruno Haible  <bruno@clisp.org>
28049
28050         getloadavg: Update documentation.
28051         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
28052
28053 2010-11-27  Bruno Haible  <bruno@clisp.org>
28054
28055         sys_socket: Fix test whether the functions are declared.
28056         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
28057         not <sys/select.h>.
28058
28059 2010-11-27  Bruno Haible  <bruno@clisp.org>
28060
28061         getpass: Make sure to get system declaration on some platforms.
28062         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
28063         gl_USE_SYSTEM_EXTENSIONS.
28064         * modules/getpass (Depends-on): Add extensions.
28065
28066 2010-11-26  Bruno Haible  <bruno@clisp.org>
28067
28068         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
28069         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
28070         'iconv' module is present.
28071         (ICONV_CONST): New macro.
28072         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
28073         ICONV_CONST.
28074         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
28075         set ICONV_CONST.
28076         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
28077         here.
28078         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
28079         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
28080         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
28081         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
28082         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
28083         present.
28084
28085 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
28086
28087         ftoastr: comment fix
28088         * lib/ftoastr.c: "little" -> "little or no" in comment
28089
28090 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
28091
28092         stdint: port to GCC 4.3 + OSX + Octave
28093         On this platform, stdint.h is buggy and defines int64_t to long
28094         long int.  The replacement defined it to long int, causing
28095         problems with C++ style name mangling.  Instead, trust the system
28096         definition if INT64_MAX is defined, and likewise for the unsigned
28097         variant.   Problem reported by Jarno Rajahalme in
28098         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
28099         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
28100         and don't mess with int64_t and INT64_MAX in this case.
28101         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
28102
28103 2010-11-24  Bruno Haible  <bruno@clisp.org>
28104
28105         doc: Corrections regarding MacOS X 10.4 and 10.5.
28106         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
28107         MacOS X.
28108         Reported by Simon Josefsson.
28109
28110 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
28111
28112         Uninstall ".bin" files installed by relocwrapper.
28113         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
28114         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
28115         unless it is already there.
28116
28117 2010-11-21  Bruno Haible  <bruno@clisp.org>
28118
28119         Update for NetBSD 5.0.
28120         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28121         NetBSD; the test fails on NetBSD 5.0.
28122         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28123         about NetBSD.
28124
28125 2010-11-21  Bruno Haible  <bruno@clisp.org>
28126
28127         Update for HP-UX 11.23 and HP-UX 11.31.
28128         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
28129         HP-UX.
28130
28131 2010-11-21  Bruno Haible  <bruno@clisp.org>
28132
28133         Update for MacOS X 10.5.
28134         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28135         MacOS X; the test fails on MacOS X 10.5.8.
28136         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28137         about MacOS X.
28138
28139 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
28140
28141         bootstrap: add bootstrap_sync option.
28142         See discussion at
28143         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
28144         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
28145         * build-aux/bootstrap: Accept --bootstrap-sync to update
28146         bootstrap if it is not identical to the local gnulib's
28147         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
28148         enable this by default.  Accept --no-bootstrap-sync to disable
28149         it.
28150
28151 2010-11-20  Bruno Haible  <bruno@clisp.org>
28152
28153         Ensure that <features.h> is included before __GLIBC__ is tested.
28154         * lib/printf-parse.h: Include <features.h>.
28155         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
28156         Reported by Mike Frysinger <vapier@gentoo.org>.
28157
28158         Ensure that <features.h> is included before __GLIBC__ is tested.
28159         * lib/wchar.in.h: Include <features.h>.
28160         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
28161         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
28162         Reported by Mike Frysinger <vapier@gentoo.org>.
28163
28164         Ensure that <features.h> is included before __GLIBC__ is tested.
28165         * lib/arpa_inet.in.h: Include <features.h>.
28166         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
28167         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
28168         Reported by Mike Frysinger <vapier@gentoo.org>.
28169
28170         Ensure that <features.h> is included before __GLIBC__ is tested.
28171         * build-aux/link-warning.h: Include <features.h>.
28172         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
28173         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
28174         Reported by Mike Frysinger <vapier@gentoo.org>.
28175
28176         Ensure that <features.h> is included before __GLIBC__ is tested.
28177         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
28178         Reported by Mike Frysinger <vapier@gentoo.org>.
28179
28180 2010-11-20  Bruno Haible  <bruno@clisp.org>
28181
28182         memmem: Fix autoconf test.
28183         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
28184
28185 2010-11-20  Bruno Haible  <bruno@clisp.org>
28186
28187         Port to uClibc.
28188         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
28189         * lib/fcntl.in.h: Likewise.
28190         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
28191         * lib/mbrtowc.c (mbrtowc): Likewise.
28192         * lib/relocatable.c (find_shared_library_fullname): Likewise.
28193         * lib/strerror_r.c: Likewise.
28194         * lib/unistr/u8-strnlen.c: Likewise.
28195         * lib/vasnprintf.c (decimal_point_char): Likewise.
28196         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
28197         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
28198         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
28199         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
28200         * tests/test-sigaction.c (handler, main): Likewise.
28201         * lib/freading.h: Treat uClibc like a non-glibc platform.
28202         * lib/freading.c: Likewise.
28203         * lib/gettext.h: Likewise.
28204         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
28205         Likewise.
28206         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
28207         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
28208         * lib/propername.c (proper_name_utf8): Likewise.
28209         * lib/spawn.in.h: Likewise.
28210         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
28211         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
28212         mem_cd_iconveh_internal): Likewise.
28213         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
28214         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
28215         strstr, strcasestr): Likewise.
28216         * lib/unicodeio.c (unicode_to_mb): Likewise.
28217         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
28218         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
28219         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
28220         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
28221         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
28222         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
28223         * lib/unistr/u8-stpncpy.c: Likewise.
28224         * lib/vasnprintf.c (VASNPRINTF): Likewise.
28225         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
28226         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28227         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28228         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
28229         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
28230         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
28231         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
28232         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
28233         Likewise.
28234         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
28235         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
28236         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
28237         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28238         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
28239         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28240         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
28241         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
28242         * tests/test-getopt.h (OPTIND_MIN): Likewise.
28243         * tests/test-striconveha.c (main): Likewise.
28244         * tests/test-vasnprintf-posix.c (test_function): Likewise.
28245         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
28246         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
28247         * doc/posix-functions/getline.texi: Likewise.
28248         Reported by Mike Frysinger <vapier@gentoo.org>.
28249
28250 2010-11-20  Bruno Haible  <bruno@clisp.org>
28251
28252         nproc: Fix condition.
28253         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
28254         HAVE_PTHREAD_AFFINITY_NP.
28255
28256 2010-11-20  Bruno Haible  <bruno@clisp.org>
28257
28258         Fix a comment.
28259         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
28260
28261 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
28262
28263         ftoastr: don't assume snprintf
28264         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
28265         Implement a subset of snprintf here, by using sprintf safely.
28266         * modules/ftoastr (Depends-on): Remove snprintf.
28267
28268 2010-11-19  Jim Meyering  <meyering@redhat.com>
28269
28270         test-rename.h: fix compilation failure
28271         * tests/test-rename.h (test_rename): Add omitted "}".
28272
28273 2010-11-17  Jim Meyering  <meyering@redhat.com>
28274
28275         maint.mk: add a URL discussing the no-@acronym policy
28276         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
28277
28278 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
28279
28280         ftoastr: depend on snprintf, improve comments
28281         * lib/ftoastr.c: Also mention Loitsch's draft.
28282         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
28283         needed in the current implementation, but it might simplify
28284         speeding up the code later.
28285         * modules/ftoastr: Depend on snprintf; this improves portability.
28286         Suggested by Bruno Haible in the same email.
28287
28288         ftoastr: port to hosts lacking strtof and strtold
28289         Problem reported by Bruno Haible in
28290         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
28291         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
28292         environment and strtold (and presumably strtof) are not available.
28293         * modules/ftoastr (Files): Add m4/c-strtod.m4.
28294         (configure.ac): Require gl_C99_STRTOLD.
28295
28296 2010-11-18  Bruno Haible  <bruno@clisp.org>
28297
28298         c-strtold: Avoid link error on AIX 7.
28299         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
28300         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
28301         (gl_C_STRTOLD): Test whether strtold_l exists.
28302         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28303
28304 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
28305
28306         intprops: new macro INT_BITS_STRLEN_BOUND
28307         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
28308         ftoastr.h.  This exposes an internal of intprops.h that was formerly
28309         not exposed.  Also, it uses a slightly tighter bound than before;
28310         though this makes no practical difference, we might as well be as
28311         tight as we easily can.
28312
28313         ftoastr: new module, for lossless conversion of floats to short strings
28314         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
28315         * modules/ftoastr: New files.
28316
28317 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
28318
28319         bootstrap: port to Solaris sed
28320         * build-aux/bootstrap (get_version): Port to Solaris sed.
28321         See Ralf Wildenhues's note in
28322         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
28323
28324 2010-11-14  Jim Meyering  <meyering@redhat.com>
28325
28326         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
28327         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
28328         and move definition closer to sole use.
28329
28330 2010-11-13  Jim Meyering  <meyering@redhat.com>
28331
28332         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
28333         Now we require at least autoconf-2.59, which means the work-around
28334         is no longer needed.
28335         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
28336         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
28337         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
28338         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
28339         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
28340
28341 2010-11-13  Bruno Haible  <bruno@clisp.org>
28342
28343         rename, renameat: Avoid test failures at NFS mounted locations.
28344         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
28345         functions.
28346         (test_rename): Use assert_nonexistent.
28347         * tests/test-rename.c: Include <dirent.h>.
28348         * tests/test-renameat.c: Likewise.
28349         Reported by Gary V. Vaughan <gary@gnu.org>.
28350
28351         rename, renameat: Document Linux bug with NFS
28352         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
28353         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
28354         * doc/posix-functions/renameat.texi: Likewise.
28355         Suggested by Eric Blake.
28356
28357 2010-11-13  Bruno Haible  <bruno@clisp.org>
28358
28359         rename test: Add comments.
28360         * tests/test-rename.h (test_rename): Add structure and comments.
28361
28362 2010-11-13  Eric Blake  <eblake@redhat.com>
28363
28364         maintainer-makefile: cover a few more files
28365         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
28366         scripts generated within C files, for libvirt.
28367
28368 2010-11-13  Bruno Haible  <bruno@clisp.org>
28369
28370         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
28371         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
28372         character, return the number of bytes that belong together, not always
28373         1.
28374         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
28375         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
28376         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
28377         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
28378         number of bytes of an invalid character.
28379         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
28380         (main): Invoke it.
28381         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
28382         results.
28383         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
28384         malformed byte sequences.
28385         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
28386         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
28387         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
28388         Reported by Ben Pfaff and Paolo Bonzini.
28389
28390 2010-11-13  Bruno Haible  <bruno@clisp.org>
28391
28392         openat: Work around glibc bug with fchownat() and empty file names.
28393         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
28394         (gl_FUNC_FCHOWNAT): Invoke it.
28395         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
28396         * doc/posix-functions/fchownat.texi: Document the glibc bug.
28397         Reported by Gary V. Vaughan <gary@gnu.org>.
28398
28399 2010-11-13  Bruno Haible  <bruno@clisp.org>
28400
28401         openat: Ensure autoconf macro ordering.
28402         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
28403         gl_USE_SYSTEM_EXTENSIONS.
28404         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
28405
28406 2010-11-13  Bruno Haible  <bruno@clisp.org>
28407
28408         Update comments.
28409         * lib/unistr/u8-check.c: Update file name in comments.
28410         * lib/unistr/u8-mblen.c: Likewise.
28411         * lib/unistr/u8-prev.c: Likewise.
28412         * lib/unistr/u8-strmblen.c: Likewise.
28413         * lib/unistr/u8-strmbtouc.c: Likewise.
28414
28415 2010-11-13  Jim Meyering  <meyering@redhat.com>
28416
28417         tests: avoid test failure on Solaris 10 due to lack of PATH export
28418         * tests/test-update-copyright.sh: Don't forget to export PATH.
28419
28420         init.sh: ensure that IFS is defined, just in case...
28421         * tests/init.sh (setup_): Ensure that IFS is defined,
28422         so that saving and restoring it works as expected.  This
28423         appears to be useful at least for an old version of dash
28424         from a long time ago (RH 6).  See here for details:
28425         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
28426
28427         maint.mk: tighten "test a == b" check
28428         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
28429         test to files that contain something like #!/bin/sh.
28430         Without this, coreutils would get two false positives in
28431         the comments of C source files.
28432
28433 2010-11-12  Eric Blake  <eblake@redhat.com>
28434
28435         bootstrap: fix typo in previous attempt
28436         * build-aux/bootstrap (buildreq): Correct the grouping.
28437         Reported by Paul Eggert.
28438
28439         maintainer-makefile: prohibit test x == x
28440         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
28441         Based on a report by Matthias Bolte.
28442
28443         bootstrap: allow FreeBSD gzip
28444         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
28445         which has no '.' and goes to stderr.
28446         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
28447         Reported by Matthias Bolte.
28448
28449         maintainer-makefile: check for i18n setup
28450         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
28451         will likely work.
28452
28453 2010-11-12  Bruno Haible  <bruno@clisp.org>
28454
28455         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
28456         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
28457         * lib/nanosleep.c (nanosleep): Likewise.
28458
28459 2010-11-11  Bruno Haible  <bruno@clisp.org>
28460
28461         fcntl-h: Fix for use of C++ on glibc systems.
28462         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
28463         also on glibc systems in C++ mode.
28464         Reported by Gary V. Vaughan <gary@gnu.org>.
28465
28466 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28467
28468         mknod: avoid false failure with dash
28469         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
28470
28471 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
28472
28473         unlink: Fix "is it should" typo in diagnostic.
28474         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
28475         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
28476
28477 2010-11-11  Bruno Haible  <bruno@clisp.org>
28478
28479         Tests for module 'strerror_r-posix'.
28480         * modules/strerror_r-posix-tests: New file.
28481         * tests/test-strerror_r.c: New file.
28482         * tests/test-string-c++.cc: Check the signature of strerror_r.
28483
28484         New module 'strerror_r-posix'.
28485         * lib/string.in.h (strerror_r): New declaration.
28486         * lib/strerror_r.c: New file.
28487         * m4/strerror_r.m4: New file.
28488         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
28489         of strerror_r.
28490         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
28491         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28492         * modules/strerror_r-posix: New file.
28493         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
28494         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28495         * doc/posix-functions/strerror_r.texi: Mention the new module and the
28496         portability problems.
28497
28498 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
28499
28500         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
28501         line is also considered for output. Quoted function name in shell
28502         command, so temporary files for functions like MyClass::operator()
28503         are removed correctly without errors.
28504
28505 2010-11-09  Bruno Haible  <bruno@clisp.org>
28506
28507         * doc/posix-functions/strerror.texi: List more failing platforms.
28508
28509         * doc/posix-functions/strerror.texi: Add a comment.
28510
28511 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
28512
28513         fdopendir: fix bug on MacOS X when low on file descriptors
28514
28515         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
28516         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
28517         All callers changed.
28518         (fdopendir): Invoke save_cwd at the top level, not after using
28519         multiple dup() calls to use up file descriptors.  Then retry
28520         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
28521         less than the maximum number of open file descriptors, because
28522         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
28523         on Mac OS X 10.6.4 for tar 1.24
28524         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
28525         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
28526         and for tar 1.25
28527         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
28528
28529 2010-11-07  Bruno Haible  <bruno@clisp.org>
28530
28531         vasnprintf: Support I flag on glibc systems.
28532         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
28533         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
28534         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
28535         snprintf function.
28536         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
28537         glibc systems.
28538         * tests/test-vasnprintf-posix3.c: New file.
28539         * modules/vasnprintf-posix-tests (Files): Add it.
28540         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
28541
28542 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
28543
28544         [html] Fix copy/paste bug: Use unique name for compiler warnings.
28545         * MODULES.html.sh: For compiler warnings, use name
28546         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
28547
28548 2010-11-05  Eric Blake  <eblake@redhat.com>
28549
28550         ceil, floor: avoid spurious failure with icc
28551         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
28552         [denormals-as-zero] when optimizing without -mieee-fp option.
28553         * tests/test-floorf2.c (floorf_reference): Likewise.
28554         * tests/test-ceilf1.c (dummy): New function.
28555         (main): Use it to outsmart icc's optimization.
28556         * tests/test-floorf1.c (dummy, main): Likewise.
28557
28558         tests: require working signbit
28559         * modules/ceilf-tests (Depends-on): Add signbit.
28560         * modules/ceill-tests (Depends-on): Likewise.
28561         * modules/floorf-tests (Depends-on): Likewise.
28562         * modules/floorl-tests (Depends-on): Likewise.
28563         * modules/round-tests (Depends-on): Likewise.
28564         * modules/roundf-tests (Depends-on): Likewise.
28565         * modules/roundl-tests (Depends-on): Likewise.
28566         * modules/trunc-tests (Depends-on): Likewise.
28567         * modules/truncf-tests (Depends-on): Likewise.
28568         * modules/truncl-tests (Depends-on): Likewise.
28569
28570         strtod: work around icc bug
28571         * lib/strtod.c (minus_zero): Define to working value.
28572         (strtod): Use it to avoid icc bug.
28573
28574         copysign: enhance tests
28575         * modules/copysign-tests (Files): Add minus-zero.h.
28576         * tests/test-copysign.c (main): Also test zeros.
28577
28578 2010-11-04  Eric Blake  <eblake@redhat.com>
28579
28580         ceil, floor, round, trunc: enhance tests of -0
28581         * tests/test-ceilf1.c (main): Ensure correct sign of result.
28582         * tests/test-ceill.c (main): Likewise.
28583         * tests/test-floorf1.c (main): Likewise.
28584         * tests/test-floorl.c (main): Likewise.
28585         * tests/test-round1.c (main): Likewise.
28586         * tests/test-roundf1.c (main): Likewise.
28587         * tests/test-roundl.c (main): Likewise.
28588         * tests/test-trunc1.c (main): Likewise.
28589         * tests/test-truncf1.c (main): Likewise.
28590         * tests/test-truncl.c (main): Likewise.
28591
28592 2010-11-04  Eric Blake  <eblake@redhat.com>
28593
28594         frexp, tests: work around ICC bug with -zero
28595         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
28596         works with more compilers.
28597         * tests/minus-zero.h: New file.
28598         * modules/ceilf-tests (Files): Include it.
28599         * modules/ceill-tests (Files): Likewise.
28600         * modules/floorf-tests (Files): Likewise.
28601         * modules/floorl-tests (Files): Likewise.
28602         * modules/frexp-nolibm-tests (Files): Likewise.
28603         * modules/frexp-tests (Files): Likewise.
28604         * modules/frexpl-nolibm-tests (Files): Likewise.
28605         * modules/frexpl-tests (Files): Likewise.
28606         * modules/isnan-tests (Files): Likewise.
28607         * modules/isnand-nolibm-tests (Files): Likewise.
28608         * modules/isnand-tests (Files): Likewise.
28609         * modules/isnanf-nolibm-tests (Files): Likewise.
28610         * modules/isnanf-tests (Files): Likewise.
28611         * modules/isnanl-nolibm-tests (Files): Likewise.
28612         * modules/isnanl-tests (Files): Likewise.
28613         * modules/round-tests (Files): Likewise.
28614         * modules/roundf-tests (Files): Likewise.
28615         * modules/roundl-tests (Files): Likewise.
28616         * modules/ldexpl-tests (Files): Likewise.
28617         * modules/signbit-tests (Files): Likewise.
28618         * modules/snprintf-posix-tests (Files): Likewise.
28619         * modules/sprintf-posix-tests (Files): Likewise.
28620         * modules/strtod-tests (Files): Likewise.
28621         * modules/trunc-tests (Files): Likewise.
28622         * modules/truncf-tests (Files): Likewise.
28623         * modules/truncl-tests (Files): Likewise.
28624         * modules/vsnprintf-posix-tests (Files): Likewise.
28625         * modules/vsprintf-posix-tests (Files): Likewise.
28626         * modules/vasnprintf-posix-tests (Files): Likewise.
28627         * modules/vasprintf-posix-tests (Files): Likewise.
28628         * tests/test-ceilf1.c (main): Use it.
28629         * tests/test-ceill.c (main): Likewise.
28630         * tests/test-floorf1.c (main): Likewise.
28631         * tests/test-floorl.c (main): Likewise.
28632         * tests/test-frexp.c (main): Likewise.
28633         * tests/test-frexpl.c (main): Likewise.
28634         * tests/test-isnan.c (main): Likewise.
28635         * tests/test-isnand.h (main): Likewise.
28636         * tests/test-isnanf.h (main): Likewise.
28637         * tests/test-isnanl.h (main): Likewise.
28638         * tests/test-ldexpl.c (main): Likewise.
28639         * tests/test-round.c (main): Likewise.
28640         * tests/test-roundf.c (main): Likewise.
28641         * tests/test-roundl.c (main): Likewise.
28642         * tests/test-signbit.c (test_signbitf, test_signbitd)
28643         (test_signbitl): Likewise.
28644         * tests/test-snprintf-posix.h (test_function): Likewise.
28645         * tests/test-sprintf-posix.h (test_function): Likewise.
28646         * tests/test-strtod.c (main): Likewise.
28647         * tests/test-trunc1.c (main): Likewise.
28648         * tests/test-truncf1.c (main): Likewise.
28649         * tests/test-truncl.c (main): Likewise.
28650
28651         isnanl: work around icc bug
28652         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
28653
28654 2010-11-03  Eric Blake  <eblake@redhat.com>
28655
28656         tests: fix compiler warnings
28657         * tests/test-getopt.h (test_getopt): Fix condition.
28658         * tests/test-getopt_long.h (test_getopt_long): Likewise.
28659         * tests/test-pipe2.c (main): Likewise.
28660         * tests/test-quotearg-simple.c (main): Avoid icc warning.
28661
28662         utimens: fix broken m4 test
28663         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
28664
28665 2010-10-28  Bruno Haible  <bruno@clisp.org>
28666
28667         posix_spawn*, getdtablesize: Relax license.
28668         * modules/posix_spawn (License): Change to LGPLv2+.
28669         * modules/posix_spawnp (License): Likewise.
28670         * modules/posix_spawn-internal (License): Likewise.
28671         * modules/posix_spawnattr_init (License): Likewise.
28672         * modules/posix_spawnattr_getflags (License): Likewise.
28673         * modules/posix_spawnattr_setflags (License): Likewise.
28674         * modules/posix_spawnattr_getpgroup (License): Likewise.
28675         * modules/posix_spawnattr_setpgroup (License): Likewise.
28676         * modules/posix_spawnattr_getschedparam (License): Likewise.
28677         * modules/posix_spawnattr_setschedparam (License): Likewise.
28678         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
28679         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
28680         * modules/posix_spawnattr_getsigdefault (License): Likewise.
28681         * modules/posix_spawnattr_setsigdefault (License): Likewise.
28682         * modules/posix_spawnattr_getsigmask (License): Likewise.
28683         * modules/posix_spawnattr_setsigmask (License): Likewise.
28684         * modules/posix_spawnattr_destroy (License): Likewise.
28685         * modules/posix_spawn_file_actions_init (License): Likewise.
28686         * modules/posix_spawn_file_actions_addclose (License): Likewise.
28687         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
28688         * modules/posix_spawn_file_actions_addopen (License): Likewise.
28689         * modules/posix_spawn_file_actions_destroy (License): Likewise.
28690         * modules/getdtablesize (License): Likewise.
28691         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
28692
28693 2010-10-26  Bruno Haible  <bruno@clisp.org>
28694
28695         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
28696         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
28697         Cygwin and mingw.
28698         Suggested by Eric Blake.
28699
28700 2010-10-26  Bruno Haible  <bruno@clisp.org>
28701
28702         stdio: Work around compilation error due to renameat() on Solaris 10.
28703         * lib/stdio.in.h: Include <unistd.h> on Solaris.
28704         * lib/renameat.c: Don't include <unistd.h> here.
28705         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
28706         Reported by Paul Eggert and Eric Blake.
28707
28708 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
28709
28710         renameat: port to Solaris 10, which declares renameat in unistd.h
28711
28712         * lib/renameat.c: Include unistd.h before stdio.h, because
28713         Solaris 10 declares renameat in unistd.h.  Problem encountered
28714         when building GNU tar 1.24 on Solaris 10.
28715
28716 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28717
28718         fdopendir: fix C89 compilation
28719         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
28720         compilers.
28721
28722 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
28723
28724         inttostr: simplify by removing unnecessary redundancy
28725         * lib/anytostr.c: Don't include verify.h.
28726         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
28727         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
28728         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
28729         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
28730         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
28731         Likewise.
28732         * modules/inttostr (Depends-on): Remove 'verify'.
28733
28734 2010-10-23  Bruno Haible  <bruno@clisp.org>
28735
28736         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
28737         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
28738         Reported by Eric Blake.
28739
28740 2010-10-23  Bruno Haible  <bruno@clisp.org>
28741
28742         Tests: Fix LOCALE_JA on MirBSD 10.
28743         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
28744         to an UTF-8 locale.
28745         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
28746         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
28747         Reported by Eric Blake.
28748
28749 2010-10-21  Bruno Haible  <bruno@clisp.org>
28750
28751         nl_langinfo test: Avoid test failure on NetBSD 5.
28752         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
28753         Reported by Eric Blake.
28754
28755 2010-10-21  Eric Blake  <eblake@redhat.com>
28756
28757         c-stack: work around libsigsegv 2.8 bug
28758         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
28759         overflow on at least PowerPC64.
28760
28761 2010-10-17  Bruno Haible  <bruno@clisp.org>
28762
28763         userspec: Drop redundant file.
28764         * modules/userspec (Files): Remove lib/inttostr.h.
28765
28766 2010-10-17  Bruno Haible  <bruno@clisp.org>
28767
28768         nl_langinfo tests: Silence some warnings.
28769         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
28770         Reported by Jim Meyering.
28771
28772 2010-10-17  Bruno Haible  <bruno@clisp.org>
28773
28774         Make use of GCC's attribute __alloc_size__.
28775         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
28776         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
28777         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
28778         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
28779         __alloc_size__.
28780         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
28781         Suggested by Jim Meyering.
28782
28783 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
28784
28785         bootstrap: anchor .gitignore entries.
28786         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
28787         with...
28788         (insert_vc_ignore): ... this new function, which prepends `/' to
28789         all .gitignore entries before passing them to
28790         insert_sorted_if_absent.
28791
28792 2010-10-16  Bruno Haible  <bruno@clisp.org>
28793
28794         nextafter: Fix configure check.
28795         * modules/nextafter (configure.ac): Correct expected prototype.
28796
28797 2010-10-16  Bruno Haible  <bruno@clisp.org>
28798
28799         termios: Update documentation.
28800         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
28801
28802 2010-10-16  Bruno Haible  <bruno@clisp.org>
28803
28804         tests: Make them compile with TinyCC.
28805         * tests/test-strstr.c (main): Remove parentheses around array
28806         initializer.
28807
28808 2010-10-15  Eric Blake  <eblake@redhat.com>
28809
28810         ignore-value: make header idempotent
28811         * lib/ignore-value.h: Add double-inclusion guards.
28812         Reported by Stefan Berger.
28813
28814 2010-10-15  Jim Meyering  <meyering@redhat.com>
28815
28816         GNUmakefile: handle "stable" target, not "major"
28817         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
28818         lists in maint.mk and announce-gen.  Without this, "make stable"
28819         would fail to ensure that $(VERSION) is up to date.
28820
28821 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
28822
28823         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
28824         & co.
28825
28826 2010-10-14  Bruno Haible  <bruno@clisp.org>
28827
28828         vasnprintf: Don't set errno to 0.
28829         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
28830         block that sets it to 0.
28831         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
28832
28833 2010-10-14  Bruno Haible  <bruno@clisp.org>
28834
28835         socketlib: Fix.
28836         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
28837         gl_PREREQ_SYS_H_WINSOCK2.
28838         Reported by Ian Beckwith <ianb@erislabs.net>.
28839
28840 2010-10-13  Jim Meyering  <meyering@redhat.com>
28841
28842         test-select-stdin.c: avoid warn_unused_result warnings
28843         * tests/test-select-stdin.c: Include "macros.h".
28844         ASSERT that read and fflush succeed.
28845
28846 2010-10-13  Jim Meyering  <meyering@redhat.com>
28847
28848         git-version-gen: do require git-VC'd files in cwd
28849         * build-aux/git-version-gen: Reject a git version string
28850         if there are no commits associated with the current directory.
28851         This avoids an unlikely false-positive (unrelated dir whose parent
28852         repository also contains a tag matching v*), as pointed out
28853         by Giuseppe Scrivano in
28854         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
28855
28856 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
28857
28858         argv-iter: omit nonconforming declaration
28859         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
28860         enum arg_iter_err declaration, which doesn't conform to C99.
28861         Solaris 10 cc warns about this.
28862
28863 2010-10-13  Eric Blake  <eblake@redhat.com>
28864
28865         termios: fix compilation on mingw
28866         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
28867         (gl_TERMIOS_H): Adjust it on mingw.
28868         * modules/termios (Makefile.am): Substitute new key.
28869         * lib/termios.in.h (includes): Make include_next conditional.
28870         * doc/posix-headers/termios.texi (termios.h): Update
28871         documentation.
28872         Reported by Daniel P. Berrange.
28873
28874 2010-10-13  Jim Meyering  <meyering@redhat.com>
28875
28876         git-version-gen: don't require that .git/ be in the current dir
28877         * build-aux/git-version-gen: Adjust this script so that it works
28878         when run from any working directory beneath the top-level .git/-
28879         containing directory.  Inspired by a patch from Giuseppe Scrivano,
28880         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
28881
28882         test-select: avoid warn_unused_result warnings
28883         * tests/test-select.c: Include "macros.h".
28884         ASSERT that each call to read, write, and pipe succeeds.
28885         While not technically required, also check each "close".
28886         * modules/select-tests (Files): Add tests/macros.h.
28887
28888         test-symlinkat: remove declaration of unused local
28889         * tests/test-symlinkat.c (main): Remove unused local, "buf".
28890
28891         test-inttostr: avoid shadowing warnings
28892         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
28893         and use malloc rather than the stack for the same reason as
28894         mentioned in the comment justifying the other allocation.
28895
28896 2010-10-11  Bruno Haible  <bruno@clisp.org>
28897
28898         stdlib: Allow multiple gnulib generated replacements to coexist.
28899         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
28900         Reported by Sam Steingold <sds@gnu.org>.
28901
28902 2010-10-11  Jim Meyering  <meyering@redhat.com>
28903
28904         fix a documentation typo
28905         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
28906
28907 2010-10-11  Eric Blake  <eblake@redhat.com>
28908
28909         futimens: work around Solaris 11 bug
28910         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
28911         * tests/test-futimens.h (test_futimens): Enhance, rather than
28912         weaken test.
28913         * doc/posix-functions/futimens.texi (futimens): Document the bug.
28914
28915 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
28916
28917         Indentation.
28918         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
28919         higher-level operators more to the left.
28920
28921 2010-10-11  Jim Meyering  <meyering@redhat.com>
28922
28923         test-futimens: avoid unwarranted test failure on Solaris 5.11
28924         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
28925         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
28926         because it tries to dereference the NULL name argument.
28927
28928 2010-10-11  Bruno Haible  <bruno@clisp.org>
28929
28930         Indentation.
28931         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
28932         indentation.
28933
28934 2010-10-11  Jim Meyering  <meyering@redhat.com>
28935
28936         spawn.in.h: make indentation consistent with parentheses
28937         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
28938         Make indentation consistent with parentheses.
28939
28940 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
28941
28942         Fix mismatched parens in previous commit
28943         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
28944         parens.
28945
28946 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
28947
28948         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
28949
28950         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
28951         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
28952         * lib/malloca.c: Include "verify.h".
28953         (verify1): Remove, replacing with a verify call.
28954         * lib/relocwrapper.c (verify1): Likewise.
28955         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
28956         Likewise.
28957         * modules/malloca (Depends-on): Add 'verify'.
28958         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
28959         * modules/vasnprintf (Depends-on): Add 'verify'.
28960         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
28961         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
28962         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
28963         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
28964         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
28965         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
28966         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
28967
28968         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
28969
28970         Formerly the style was sometimes 2*X - 1, because the C standard
28971         was wrongly thought to disallow ?: in integral constant expressions.
28972         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
28973         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
28974         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
28975         * lib/stdint.in.h (_verify_intmax_size): Likewise.
28976         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
28977         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
28978         verify that time_t cannot be floating.
28979
28980 2010-10-08  Eric Blake  <eblake@redhat.com>
28981
28982         time: enforce recent POSIX ruling that time_t is integral
28983         * lib/time.in.h (__time_t_must_be_integral): Detect any
28984         problematic systems, allowing the rest of gnulib to assume POSIX.
28985
28986 2010-10-08  Jim Meyering  <meyering@redhat.com>
28987
28988         fdopendir: fix a bug on systems lacking openat and /proc support
28989         OpenBSD 4.7 is one such system.  The most noticeable effect was
28990         failure of any application making nontrivial use of fts: rm, du,
28991         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
28992           ./rm: traversal failed: `a': Bad file descriptor
28993         Debugging that, you see that even though FD 6 was closed just
28994         prior to the opendir call in fd_clone_opendir, its resulting
28995         dir->dd_fd was 8, rather than the expected value of 6:
28996
28997         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
28998         93                close (fd);
28999         (gdb) n
29000         94                dir = fd_clone_opendir (dupfd);
29001         (gdb) n
29002         95                saved_errno = errno;
29003         (gdb) p dir->dd_fd
29004         $11 = 8
29005
29006         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
29007         The problem is that on OpenBSD, fd_clone_opendir has to resort
29008         to using the old-style save/restore CWD mechanism, due to its
29009         lack of openat/proc support, and *that* would steal the FD (6)
29010         that opendir was supposed to use.
29011
29012         The fix is to squirrel away the desired FD so that save_cwd uses a
29013         different one, and then free the dest FD right before calling opendir.
29014         That guarantees opendir will use the required file descriptor.
29015
29016         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
29017
29018 2010-10-08  Bruno Haible  <bruno@clisp.org>
29019
29020         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
29021         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
29022
29023 2010-10-08  Bruno Haible  <bruno@clisp.org>
29024
29025         nanosleep: Make replacement POSIX compliant.
29026         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
29027         is out of range.
29028         Reported by Jim Meyering.
29029
29030 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
29031
29032         bootstrap: add hook for altering gnulib.mk, for Bison
29033         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
29034         the Bison bootstrapping process can rewrite file names and variables
29035         in this file before later parts of 'bootstrap' use the file.
29036         Bison wants to include lib/gnulib.mk from the top-level makefile,
29037         so it needs the file names in this file to be relative to the top
29038         level, not relative to lib; plus it needs variable names to be
29039         rewritten.
29040         (slurp): Use the new function.
29041
29042         bootstrap: reformat for readability
29043         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
29044
29045 2010-10-08  Eric Blake  <eblake@redhat.com>
29046
29047         docs: update cygwin progress
29048         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
29049         1.7.7.
29050         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
29051         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
29052         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
29053         * doc/posix-functions/carg.texi (carg): Likewise.
29054         * doc/posix-functions/cargf.texi (cargf): Likewise.
29055         * doc/posix-functions/casin.texi (casin): Likewise.
29056         * doc/posix-functions/casinf.texi (casinf): Likewise.
29057         * doc/posix-functions/casinh.texi (casinh): Likewise.
29058         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
29059         * doc/posix-functions/catan.texi (catan): Likewise.
29060         * doc/posix-functions/catanf.texi (catanf): Likewise.
29061         * doc/posix-functions/catanh.texi (catanh): Likewise.
29062         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
29063         * doc/posix-functions/ccos.texi (ccos): Likewise.
29064         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
29065         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
29066         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
29067         * doc/posix-functions/cexp.texi (cexp): Likewise.
29068         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
29069         * doc/posix-functions/cimag.texi (cimag): Likewise.
29070         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
29071         * doc/posix-functions/clog.texi (clog): Likewise.
29072         * doc/posix-functions/clogf.texi (clogf): Likewise.
29073         * doc/posix-functions/conj.texi (conj): Likewise.
29074         * doc/posix-functions/conjf.texi (conjf): Likewise.
29075         * doc/posix-functions/cpow.texi (cpow): Likewise.
29076         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
29077         * doc/posix-functions/cproj.texi (cproj): Likewise.
29078         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
29079         * doc/posix-functions/creal.texi (creal): Likewise.
29080         * doc/posix-functions/crealf.texi (crealf): Likewise.
29081         * doc/posix-functions/csin.texi (csin): Likewise.
29082         * doc/posix-functions/csinf.texi (csinf): Likewise.
29083         * doc/posix-functions/csinh.texi (csinh): Likewise.
29084         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
29085         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
29086         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
29087         * doc/posix-functions/ctan.texi (ctan): Likewise.
29088         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
29089         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
29090         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
29091         * doc/posix-headers/complex.texi (complex.h): Likewise.
29092
29093 2010-10-07  Jim Meyering  <meyering@redhat.com>
29094
29095         parse-datetime: avoid compilation failure on OpenBSD 4.7
29096         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
29097         This works around a compilation failure on OpenBSD 4.7:
29098         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
29099
29100 2010-10-07  Eric Blake  <eblake@redhat.com>
29101
29102         docs: update cygwin progress
29103         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
29104         1.7.6.
29105         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
29106         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
29107         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
29108         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
29109         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
29110         Likewise.
29111         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
29112         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
29113         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
29114         Likewise.
29115         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
29116         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
29117         Likewise.
29118         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
29119         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
29120         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
29121         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
29122         Likewise.
29123         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
29124         Likewise.
29125         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
29126
29127         docs: update parse-datetime history
29128         * doc/parse-datetime.texi (Authors of parse_datetime): Better
29129         documentation of this function's history and alternatives.
29130
29131         cygwin: use more robust version check
29132         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
29133         exclude an eventual cygwin 1.9.1.
29134         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29135         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29136         (gl_FUNC_STRCASESTR): Likewise.
29137         Reported by Bruno Haible.
29138
29139 2010-10-06  Bruno Haible  <bruno@clisp.org>
29140
29141         string, sys_select: Avoid #including large headers unless necessary.
29142         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
29143         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
29144         OSF/1, BeOS, Haiku.
29145         Reported by Jim Meyering.
29146
29147 2010-10-05  Eric Blake  <eblake@redhat.com>
29148
29149         memmem, strstr, strcasestr: fix bug with long periodic needle
29150         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
29151         periodic needle having false positive.
29152         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
29153         and cygwin 1.7.7.
29154         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
29155         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29156         (gl_FUNC_STRCASESTR): Likewise.
29157         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29158         * tests/test-memmem.c (main): Expose the bug.
29159         * tests/test-strcasestr.c (main): Likewise.
29160         * tests/test-strstr.c (main): Likewise.
29161         * tests/test-c-strcasestr.c (main): Likewise.
29162         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
29163         * doc/posix-functions/strstr.texi (strstr): Likewise.
29164         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
29165         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
29166
29167 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29168
29169         parse-datetime: do some more renaming
29170         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
29171         parse_datetime, not get_date.  Mention the renaming.
29172         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
29173         in comments.
29174         * m4/bison.m4: Likewise.
29175
29176 2010-10-05  Eric Blake  <eblake@redhat.com>
29177
29178         parse-datetime: better name than get_date
29179         * NEWS: Reword the deprecation notice.
29180         * modules/get_date: Rename to modules/parse-datetime.
29181         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
29182         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
29183         * lib/get_date.y: Rename to lib/parse-datetime.y.
29184         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
29185         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
29186         * doc/getdate.texi: Provide fallback wrapper.
29187         * lib/getdate.h: Move guts, and wrap...
29188         * lib/parse-datetime.h: ...new file.
29189         * lib/parse-datetime.y (get_date): Rename...
29190         (parse_datetime): ...to this.
29191         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
29192         (gl_PARSE_DATETIME): ...to this.
29193         * doc/posix-functions/getdate.texi (get_date): Provide fallback
29194         documentation.
29195         * modules/getdate (Files): Provide fallback docs and header.
29196         (Notice, Depends-on): Update references.
29197         * tests/test-parse-datetime.c: Likewise.
29198         * DEPENDENCIES: Likewise.
29199         * MODULES.html.sh (Date and time <time.h>): Likewise.
29200         * doc/parse-datetime.texi (Date input formats)
29201         (Authors of parse_datetime): Likewise.
29202         * modules/parse-datetime (Files, configure.ac, Makefile.am)
29203         (Include): Likewise.
29204         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
29205         * gnulib-tool: Likewise.
29206         * m4/bison.m4 (gl_BISON): Likewise.
29207         Suggested by Bruno Haible.
29208
29209 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29210
29211         more ports to Solaris tr, which needs [] around ranges
29212         * gnulib-tool: Solaris tr needs [] around ranges.
29213         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
29214         * tests/test-pipe-filter-gi1.c (main): Likewise.
29215         * tests/test-pipe-filter-ii1.c (main): Likewise.
29216
29217 2010-10-05  Eric Blake  <eblake@redhat.com>
29218
29219         bootstrap: fix Solaris regression
29220         * build-aux/bootstrap (check_versions): Solaris tr still needs []
29221         around ranges.
29222         Reported by Pádraig Brady.
29223
29224         bootstrap: work with pkg-config
29225         * build-aux/bootstrap (check_versions): Also transliterate - in
29226         prerequisite name.
29227         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
29228         prerequisites that were already found, to avoid confusion.
29229         Reported by Justin Clift.
29230
29231         faccessat: remove unused wrappers
29232         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
29233         presence of these wrappers dragged in -lgen on Solaris.
29234         Reported by Clemens Brogi; fix suggested by Paul Eggert.
29235
29236 2010-10-05  Jim Meyering  <meyering@redhat.com>
29237
29238         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
29239         * Makefile (sc_pragma_columns): New syntax-check rule.
29240
29241 2010-10-04  Bruno Haible  <bruno@clisp.org>
29242
29243         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
29244         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
29245         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
29246         Reported by Bruce Korb and Eric Blake.
29247
29248 2010-10-04  Bruno Haible  <bruno@clisp.org>
29249
29250         threadlib: Make option --with-libpth-prefix work.
29251         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
29252         use $LIBPTH, not just -lpth.
29253
29254 2010-10-04  Bruno Haible  <bruno@clisp.org>
29255
29256         Avoid line length limitation from HP NonStop system header files.
29257         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
29258         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
29259         * lib/ctype.in.h: Likewise.
29260         * lib/dirent.in.h: Likewise.
29261         * lib/errno.in.h: Likewise.
29262         * lib/fcntl.in.h: Likewise.
29263         * lib/float.in.h: Likewise.
29264         * lib/getopt.in.h: Likewise.
29265         * lib/iconv.in.h: Likewise.
29266         * lib/inttypes.in.h: Likewise.
29267         * lib/langinfo.in.h: Likewise.
29268         * lib/locale.in.h: Likewise.
29269         * lib/math.in.h: Likewise.
29270         * lib/netdb.in.h: Likewise.
29271         * lib/netinet_in.in.h: Likewise.
29272         * lib/poll.in.h: Likewise.
29273         * lib/pthread.in.h: Likewise.
29274         * lib/pty.in.h: Likewise.
29275         * lib/sched.in.h: Likewise.
29276         * lib/se-selinux.in.h: Likewise.
29277         * lib/search.in.h: Likewise.
29278         * lib/signal.in.h: Likewise.
29279         * lib/spawn.in.h: Likewise.
29280         * lib/stdarg.in.h: Likewise.
29281         * lib/stddef.in.h: Likewise.
29282         * lib/stdint.in.h: Likewise.
29283         * lib/stdio.in.h: Likewise.
29284         * lib/stdlib.in.h: Likewise.
29285         * lib/string.in.h: Likewise.
29286         * lib/strings.in.h: Likewise.
29287         * lib/sys_file.in.h: Likewise.
29288         * lib/sys_ioctl.in.h: Likewise.
29289         * lib/sys_select.in.h: Likewise.
29290         * lib/sys_socket.in.h: Likewise.
29291         * lib/sys_stat.in.h: Likewise.
29292         * lib/sys_time.in.h: Likewise.
29293         * lib/sys_times.in.h: Likewise.
29294         * lib/sys_utsname.in.h: Likewise.
29295         * lib/sys_wait.in.h: Likewise.
29296         * lib/sysexits.in.h: Likewise.
29297         * lib/termios.in.h: Likewise.
29298         * lib/time.in.h: Likewise.
29299         * lib/unistd.in.h: Likewise.
29300         * lib/wchar.in.h: Likewise.
29301         * lib/wctype.in.h: Likewise.
29302         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
29303         * modules/ctype (Makefile.am): Likewise.
29304         * modules/dirent (Makefile.am): Likewise.
29305         * modules/errno (Makefile.am): Likewise.
29306         * modules/fcntl-h (Makefile.am): Likewise.
29307         * modules/float (Makefile.am): Likewise.
29308         * modules/getopt-posix (Makefile.am): Likewise.
29309         * modules/iconv-h (Makefile.am): Likewise.
29310         * modules/inttypes (Makefile.am): Likewise.
29311         * modules/langinfo (Makefile.am): Likewise.
29312         * modules/locale (Makefile.am): Likewise.
29313         * modules/math (Makefile.am): Likewise.
29314         * modules/netdb (Makefile.am): Likewise.
29315         * modules/netinet_in (Makefile.am): Likewise.
29316         * modules/poll-h (Makefile.am): Likewise.
29317         * modules/pthread (Makefile.am): Likewise.
29318         * modules/pty (Makefile.am): Likewise.
29319         * modules/sched (Makefile.am): Likewise.
29320         * modules/search (Makefile.am): Likewise.
29321         * modules/selinux-h (Makefile.am): Likewise.
29322         * modules/signal (Makefile.am): Likewise.
29323         * modules/spawn (Makefile.am): Likewise.
29324         * modules/stdarg (Makefile.am): Likewise.
29325         * modules/stddef (Makefile.am): Likewise.
29326         * modules/stdint (Makefile.am): Likewise.
29327         * modules/stdio (Makefile.am): Likewise.
29328         * modules/stdlib (Makefile.am): Likewise.
29329         * modules/string (Makefile.am): Likewise.
29330         * modules/strings (Makefile.am): Likewise.
29331         * modules/sys_file (Makefile.am): Likewise.
29332         * modules/sys_ioctl (Makefile.am): Likewise.
29333         * modules/sys_select (Makefile.am): Likewise.
29334         * modules/sys_socket (Makefile.am): Likewise.
29335         * modules/sys_stat (Makefile.am): Likewise.
29336         * modules/sys_time (Makefile.am): Likewise.
29337         * modules/sys_times (Makefile.am): Likewise.
29338         * modules/sys_utsname (Makefile.am): Likewise.
29339         * modules/sys_wait (Makefile.am): Likewise.
29340         * modules/sysexits (Makefile.am): Likewise.
29341         * modules/termios (Makefile.am): Likewise.
29342         * modules/time (Makefile.am): Likewise.
29343         * modules/unistd (Makefile.am): Likewise.
29344         * modules/wchar (Makefile.am): Likewise.
29345         * modules/wctype (Makefile.am): Likewise.
29346
29347 2010-10-04  Bruno Haible  <bruno@clisp.org>
29348
29349         read-file tests: Avoid a test failure on NonStop Kernel.
29350         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
29351         a regular file.
29352         Reported by Joachim Schmitz <schmitz@hp.com>.
29353
29354 2010-10-03  Bruno Haible  <bruno@clisp.org>
29355
29356         gnulib-tool: Fixes for --create-testdir with --libtool.
29357         * gnulib-tool (func_get_automake_snippet): Don't augment
29358         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
29359         an executable.
29360         (func_create_testdir): Handle module 'alloca' like func_import.
29361         Reported by Bruce Korb <bruce.korb@gmail.com>.
29362
29363 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
29364
29365         Avoid some lines longer than 80 characters.
29366         * lib/stdint.in.h: Break long comment lines.
29367         * lib/math.in.h: Likewise.
29368         (_GL_NUM_UINT_WORDS): New macro, for readability.
29369         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
29370         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
29371         * lib/stdlib.in.h: Likewise.
29372         * lib/spawn.in.h: Likewise.
29373         * lib/sys_socket.in.h: Update an URL.
29374         * lib/sys_stat.in.h: Break long line.
29375
29376 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
29377
29378         Improve pmccabe2html.
29379         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
29380         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
29381         when the sources change. Remove the line in the HTML about "Used
29382         ranges" (which implied that there might be other unused ranges),
29383         rename "Resume" to "Summary" (easier to understand for more users).
29384         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
29385         styles, and some unnecessary blank lines.
29386
29387 2010-10-03  Bruno Haible  <bruno@clisp.org>
29388             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
29389
29390         acl: Add support for ACLs on NonStop Kernel.
29391         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
29392         Check whether the function aclsort() exists.
29393         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
29394         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
29395         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29396         (acl_nontrivial [HAVE_ACLSORT]: New function.
29397         (file_has_acl): Implement for NonStop Kernel.
29398         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29399         (qset_acl): Implement for NonStop Kernel.
29400         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
29401         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29402         (main): Implement for NonStop Kernel.
29403         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
29404         Kernel. Handle this flavor.
29405         * tests/test-set-mode-acl.sh: Likewise.
29406         * tests/test-copy-acl.sh: Likewise.
29407         * tests/test-copy-file.sh: Likewise.
29408
29409 2010-10-03  Bruno Haible  <bruno@clisp.org>
29410
29411         Info about ACLs on NonStop Kernel.
29412         * doc/acl-resources.txt: Add info about NonStop Kernel.
29413         References by Joachim Schmitz <schmitz@hp.com>.
29414
29415 2010-10-02  Bruno Haible  <bruno@clisp.org>
29416
29417         Define missing EDQUOT on NonStop Kernel.
29418         * lib/errno.in.h (EDQUOT): Assign a value if missing.
29419         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
29420         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
29421         missing.
29422         * doc/posix-headers/errno.texi: Mention the NSK bug.
29423         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
29424         Reported by Joachim Schmitz <schmitz@hp.com>.
29425
29426 2010-10-02  Bruno Haible  <bruno@clisp.org>
29427
29428         Update doc for POSIX:2008.
29429         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
29430         Update URL of POSIX specification.
29431
29432 2010-10-02  Bruno Haible  <bruno@clisp.org>
29433
29434         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
29435         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
29436         from gnulib, not from Automake.
29437
29438 2010-10-02  Bruno Haible  <bruno@clisp.org>
29439
29440         New module 'system-posix'.
29441         * modules/system-posix: New file.
29442         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
29443         module is present.
29444         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
29445         GNULIB_SYSTEM_POSIX.
29446         * modules/stdlib (Depends-on): Remove sys_wait.
29447         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
29448         * doc/posix-functions/system.texi: Mention the new module.
29449         * doc/posix-headers/stdlib.texi: Likewise.
29450         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
29451         define test_sys_wait_macros to a no-op.
29452         Reported by Sam Steingold <sds@gnu.org>.
29453
29454 2010-09-30  Bruno Haible  <bruno@clisp.org>
29455
29456         More renaming from 'getdate' to 'get_date'.
29457         * doc/get_date.texi: Renamed from doc/getdate.texi.
29458         * modules/get_date (Files): Update.
29459         * MODULES.html.sh (Date and time <time.h>): Update.
29460         * DEPENDENCIES: Update.
29461         * gnulib-tool: Update comment.
29462         * m4/bison.m4 (gl_BISON): Likewise.
29463         * m4/get_date.m4 (gl_GET_DATE): Likewise.
29464
29465 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
29466
29467         bootstrap: support ACLOCAL_FLAGS during aclocal
29468         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
29469         can add additional -I dir for third-party .m4 files.
29470
29471 2010-09-30  Eric Blake  <eblake@redhat.com>
29472
29473         bootstrap: use glibtoolize on MacOS
29474         * build-aux/bootstrap (check_versions): Convert libtool into
29475         libtoolize.
29476         (tool search): Move libtool check earlier, and look for
29477         glibtoolize for MacOS.
29478         (gnulib_tool_options): Auto-add --libtool when appropriate.
29479         Reported by Justin Clift.
29480
29481         poll: fix typo that broke test on MacOS
29482         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
29483         Reported by Justin Clift.
29484
29485         getdate: rename to get_date
29486         Note: getdate.h is not renamed, to minimize client impact.
29487         * modules/getdate: Mark obsolete.  Move old contents...
29488         * modules/get_date: ...to new module name.
29489         * modules/getdate-tests: Move...
29490         * modules/get_date-tests: ...here.
29491         * m4/getdate.m4: Move...
29492         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
29493         * lib/getdate.y: Move...
29494         * lib/get_date.y: ...here.
29495         * tests/test-getdate.c: Move...
29496         * tests/test-get_date.c: ...here.
29497         * doc/posix-functions/getdate.texi (getdate): Update name.
29498         * NEWS: Mention the change.
29499
29500 2010-09-29  Bruno Haible  <bruno@clisp.org>
29501
29502         Separate the module 'waitpid' from the module 'sys_wait'.
29503         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
29504         present.
29505         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
29506         gl_MODULE_INDICATOR_FOR_TESTS.
29507         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
29508         * modules/sys_wait (Depends-on): Remove waitpid.
29509         (Makefile.am): Substitute GNULIB_WAITPID.
29510         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
29511         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
29512         signature only if the 'waitpid' module is present.
29513         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
29514         * NEWS: Mention the change.
29515         * modules/grantpt (Depends-on): Add waitpid.
29516         * modules/wait-process (Depends-on): Likewise.
29517
29518 2010-09-29  Bruno Haible  <bruno@clisp.org>
29519
29520         More tests for module 'sys_wait'.
29521         * modules/sys_wait-c++-tests: New file.
29522         * tests/test-sys_wait-c++.cc: New file.
29523         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
29524         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29525
29526 2010-09-29  Bruno Haible  <bruno@clisp.org>
29527
29528         New module 'waitpid'.
29529         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
29530         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
29531         Don't include <process.h>.
29532         (waitpid): Declare only, using modern idiom.
29533         * m4/waitpid.m4: New file.
29534         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
29535         * modules/waitpid: New file.
29536         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
29537         (Makefile.am): Update.
29538         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29539
29540 2010-09-28  Bruno Haible  <bruno@clisp.org>
29541
29542         poll: Assume ANSI C.
29543         * lib/poll.c (poll): Use an ANSI C declaration.
29544
29545 2010-09-28  Bruno Haible  <bruno@clisp.org>
29546
29547         poll-h: Create poll.h on all platforms.
29548         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
29549         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
29550         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
29551         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
29552         (gl_REPLACE_POLL_H): Don't set POLL_H.
29553         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
29554         * modules/poll-h (Depends-on): Add include_next.
29555         (Makefile.am): Create poll.h unconditionally. Substitute also
29556         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
29557
29558 2010-09-28  Bruno Haible  <bruno@clisp.org>
29559
29560         Tests for module 'poll-h'.
29561         * modules/poll-h-c++-tests: New file.
29562         * tests/test-poll-h-c++.cc: New file.
29563
29564         Tests for module 'poll-h'.
29565         * modules/poll-h-tests: New file.
29566         * tests/test-poll-h.c: New file.
29567
29568 2010-09-28  Bruno Haible  <bruno@clisp.org>
29569
29570         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
29571         * modules/poll-h (Depends-on): Add 'extensions'.
29572
29573 2010-09-28  Bruno Haible  <bruno@clisp.org>
29574
29575         New module 'poll-h'.
29576         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
29577         (poll): Use modern idiom.
29578         * modules/poll-h: New file.
29579         * modules/poll (Files): Remove lib/poll.in.h.
29580         (Depends-on): Add poll-h.
29581         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
29582         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
29583         * m4/poll_h.m4: New file.
29584         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
29585         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
29586         and invoke gl_REPLACE_POLL_H.
29587         * lib/poll.c: Use common idiom.
29588         * tests/test-poll.c: Likewise.
29589         * doc/posix-headers/poll.texi: Mention the poll-h module.
29590         Suggested by Eric Blake.
29591
29592 2010-09-26  Bruno Haible  <bruno@clisp.org>
29593
29594         sys_wait: Implement WSTOPSIG.
29595         * lib/sys_wait.in.h (WSTOPSIG): New macro.
29596         Reported by Simon Josefsson.
29597
29598 2010-09-26  Simon Josefsson  <simon@josefsson.org>
29599
29600         stdlib, sys_wait: Avoid compilation error on mingw.
29601         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
29602
29603 2010-09-26  Bruno Haible  <bruno@clisp.org>
29604
29605         stdlib tests: Avoid code duplication.
29606         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
29607         * modules/sys_wait-tests (Files): Likewise.
29608         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
29609         * tests/test-stdlib.c: Include test-sys_wait.h.
29610         (main): Invoke test_sys_wait_macros.
29611         * tests/test-sys_wait.c: Include test-sys_wait.h.
29612         (main): Invoke test_sys_wait_macros.
29613
29614 2010-09-25  Simon Josefsson  <simon@josefsson.org>
29615
29616         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
29617         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
29618         sure Windows sockets are working before calling getaddrinfo.
29619         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
29620         * doc/gnulib.texi (Windows sockets): Fix typo.
29621
29622 2010-09-25  Bruno Haible  <bruno@clisp.org>
29623
29624         Tests for module 'regex-quote'.
29625         * modules/regex-quote-tests: New file.
29626         * tests/test-regex-quote.c: New file.
29627
29628         New module 'regex-quote'.
29629         * lib/regex-quote.h: New file.
29630         * lib/regex-quote.c: New file.
29631         * modules/regex-quote: New file.
29632         Suggested by Reuben Thomas <rrt@sc3d.org>.
29633
29634 2010-09-24  Bruno Haible  <bruno@clisp.org>
29635
29636         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
29637         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
29638
29639 2010-09-23  Bruno Haible  <bruno@clisp.org>
29640
29641         setenv: Relax license.
29642         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
29643         Blake.
29644         Requested by Eric Blake.
29645
29646 2010-09-22  Bruno Haible  <bruno@clisp.org>
29647
29648         termios: Relax license.
29649         * modules/termios (License): Change to LGPLv2+.
29650         Requested by Eric Blake.
29651
29652 2010-09-22  Bruno Haible  <bruno@clisp.org>
29653
29654         threadlib: Allow the package to change the default to 'no'.
29655         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
29656         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
29657         Reported by Paul Eggert.
29658
29659 2010-09-22  Pádraig Brady  <P@draigbrady.com>
29660             Bruno Haible  <bruno@clisp.org>
29661
29662         Fix endless loop in mbmemcasecoll.
29663         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
29664         byte.
29665         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
29666
29667 2010-09-22  Bruno Haible  <bruno@clisp.org>
29668
29669         Tests for module 'memcoll'.
29670         * modules/memcoll-tests: New file.
29671         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
29672
29673         memcoll, xmemcoll: Clarify size vs. length.
29674         * modules/memcoll.c (memcoll0): Clarify specification.
29675         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
29676         passed to collate_error.
29677
29678 2010-09-22  Bruno Haible  <bruno@clisp.org>
29679
29680         Tests for module 'memcasecmp'.
29681         * modules/memcasecmp-tests: New file.
29682         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
29683
29684 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
29685
29686         * lib/pthread.in.h: Add split double-inclusion guard, and include
29687         system <pthread.h> if there is one.  Use @@-style as in other
29688         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
29689         pthread.h doesn't.
29690         (pthread_mutexattr_destroy, pthread_mutexattr_init):
29691         (pthread_mutexattr_settype, pthread_mutex_trylock):
29692         New static inline functions, if there's no system <pthread.h>.
29693         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
29694         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
29695         Approximate with mutexes if the system lacks spinlocks, as in
29696         MacOS.
29697         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
29698         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
29699         @@-style.  Check for spinlocks separately.
29700         (gl_PTHREAD_DEFAULTS): New macro.
29701         * modules/pthread: Redo to use a more typical style for in.h files.
29702
29703 2010-09-21  Eric Blake  <eblake@redhat.com>
29704
29705         net_if: enhance tests
29706         * tests/test-net_if.c (main): Move signature checks earlier.
29707         Print failures to stderr.
29708         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
29709         Document the bug that we do not yet fix.
29710
29711 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
29712
29713         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
29714         about gnulib, not GSS.
29715
29716 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
29717
29718         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
29719         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
29720         for Emacs.
29721         * build-aux/pmccabe2html: Make Makefile.am example code more
29722         cut-and-paste friendly.
29723
29724 2010-09-21  Simon Josefsson  <simon@josefsson.org>
29725
29726         * tests/test-net_if.c: New file.
29727         * modules/net_if-tests: New file.
29728
29729 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
29730
29731         pthread: add pthread_spin_destroy
29732         * lib/pthread.in.h (pthread_spin_destroy): New function.
29733
29734 2010-09-19  Bruno Haible  <bruno@clisp.org>
29735
29736         gnulib-tool: Fix --help output.
29737         * gnulib-tool (func_usage): Fix help message.
29738         Reported by Reuben Thomas <rrt@sc3d.org>.
29739
29740 2010-09-18  Jim Meyering  <meyering@redhat.com>
29741
29742         maint.mk: avoid unexpanded \n in two diagnostics
29743         * top/maint.mk (sc_prohibit_always_true_header_tests):
29744         Don't use a literal \n in a halt=... assignment.  It would not be
29745         expanded, and the two \n bytes would appear in the diagnostic output
29746         rather than the desired newline.  Use halt=$$(printf ... instead.
29747         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
29748
29749 2010-09-18  Bruno Haible  <bruno@clisp.org>
29750
29751         netinet_in: Doc tweak.
29752         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
29753         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29754
29755 2010-09-18  Jim Meyering  <meyering@redhat.com>
29756
29757         init.sh: correct an outdated comment
29758         * tests/init.sh (create_exe_shims_):  s/function/alias/
29759
29760         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
29761         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
29762         a file named "*.exe" is removed between the glob expansion and the
29763         processing of that oddly named file.
29764
29765 2010-09-17  Eric Blake  <eblake@redhat.com>
29766
29767         mirbsd: add some more support
29768         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
29769         in BSD family.
29770         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
29771         devices as OpenBSD.
29772         * m4/host-os.m4 (mirbsd): Add MirBSD.
29773
29774         tests: fix unportable assumption on sys/wait.h
29775         * tests/test-sys_wait.c (main): Relax test.
29776         * tests/test-stdlib.c (main): Likewise.
29777
29778         init.sh: accommodate directory with no .exes
29779         * tests/init.sh: Accomodate directory containing only scripts.
29780
29781         tests: avoid compiler warning
29782         * tests/test-stdlib.c (main): Use the variable.
29783
29784         fdutimens, fdutimensat: update signature, again
29785         * lib/utimens.h (gl_futimens): Delete, and move signature...
29786         (fdutimens): ...here.
29787         (fdutimensat): Rearrange signature.
29788         (lutimensat): Rename variable for clarity.
29789         * lib/fdutimensat.c (fdutimensat): Update signature.
29790         * lib/utimens.c (fdutimens): Likewise.
29791         (gl_futimens): Delete.
29792         (utimens, lutimens): Update callers.
29793         * lib/futimens.c (futimens): Likewise.
29794         * tests/test-fdutimensat.c: Likewise.
29795         * tests/test-utimens.c: Likewise.
29796         * tests/test-futimens.h: Update comment.
29797         * NEWS: Mention this.
29798         Suggested by Paul Eggert.
29799
29800 2010-09-17  Bruno Haible  <bruno@clisp.org>
29801
29802         Take over the maintenance of some older macros from Autoconf.
29803         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
29804         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
29805         GNU Autoconf.
29806         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
29807         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
29808
29809 2010-09-17  Eric Blake  <eblake@redhat.com>
29810
29811         fdutimensat: drop atflag validation
29812         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
29813         with valid fd, to close a race scenario where futimens is
29814         unsupported and FILE was replaced by a symlink.
29815         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
29816         accordingly.
29817         Suggested by Paul Eggert.
29818
29819 2010-09-16  Bruno Haible  <bruno@clisp.org>
29820
29821         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
29822         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
29823
29824 2010-09-16  Bruno Haible  <bruno@clisp.org>
29825
29826         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
29827         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
29828         login_tty exists.
29829         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29830
29831 2010-09-16  Bruno Haible  <bruno@clisp.org>
29832
29833         login_tty: Make the replacement code work on BSD systems.
29834         * lib/login_tty.c: Include <sys/ioctl.h>.
29835         (login_tty): Use ioctl TIOCSCTTY when available.
29836         * modules/login_tty (Depends-on): Add sys_ioctl.
29837         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29838
29839 2010-09-16  Bruno Haible  <bruno@clisp.org>
29840
29841         login_tty: Stricter unit test.
29842         * modules/login_tty-tests (Depends-on): Add tcgetsid.
29843         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
29844         and tcgetsid() after login_tty.
29845         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
29846
29847 2010-09-16  Bruno Haible  <bruno@clisp.org>
29848
29849         New module 'tcgetsid'.
29850         * lib/tcgetsid.c: New file.
29851         * m4/tcgetsid.m4: New file.
29852         * modules/tcgetsid: New file.
29853         * modules/termios (Depends-on): Add c++defs, warn-on-use.
29854         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
29855         GNULIB_TCGETSID, HAVE_TCGETSID.
29856         * lib/termios.in.h: Include <sys/types.h>.
29857         (tcgetsid): New declaration.
29858         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
29859         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
29860         * doc/posix-functions/tcgetsid.texi: Mention the new module.
29861         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
29862
29863 2010-09-16  Bruno Haible  <bruno@clisp.org>
29864
29865         Tests for module 'termios'.
29866         * modules/termios-c++-tests: New file.
29867         * modules/termios-tests: New file.
29868         * tests/test-termios-c++.cc: New file.
29869         * tests/test-termios.c: New file.
29870
29871         New module 'termios'.
29872         * modules/termios: New file.
29873         * lib/termios.in.h: New file.
29874         * m4/termios_h.m4: New file.
29875         * doc/posix-headers/termios.texi: Mention the new module.
29876
29877 2010-09-16  Eric Blake  <eblake@redhat.com>
29878
29879         fdutimensat: add an atflag parameter
29880         * lib/fdutimensat.c (fdutimensat): Add new parameter.
29881         * lib/utimens.h (fdutimensat): Update prototype.
29882         * tests/test-fdutimensat.c: Adjust test to match.
29883         * NEWS: Document the change.
29884         Suggested by Paul Eggert.
29885
29886 2010-09-16  Bruno Haible  <bruno@clisp.org>
29887
29888         Fix typos in comments.
29889         * lib/striconveh.h: Fix typo in comment.
29890         * lib/login_tty.c (login_tty): Likewise.
29891
29892 2010-09-15  Bruno Haible  <bruno@clisp.org>
29893
29894         stdlib: clarify MirBSD WEXITSTATUS bug
29895         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
29896         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29897
29898 2010-09-15  Eric Blake  <eblake@redhat.com>
29899
29900         stdlib: work around MirBSD WEXITSTATUS bug
29901         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
29902         * modules/stdlib (Depends-on): Add sys_wait.
29903         * tests/test-sys_wait.c (main): Enhance test.
29904         * tests/test-stdlib.c (main): Likewise.
29905         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
29906
29907         docs: mention MacOS issue with WEXITSTATUS(constant)
29908         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
29909         issue.
29910         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
29911
29912         strnlen: add tests
29913         * modules/strnlen-tests: New file.
29914         * tests/test-strnlen.c: Likewise.
29915
29916 2010-09-14  Bruno Haible  <bruno@clisp.org>
29917
29918         unistr/base: Avoid link errors when module 'libunistring' is also used.
29919         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
29920         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
29921         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
29922         Declare also when HAVE_LIBUNISTRING is set.
29923         Reported by Pádraig Brady <P@draigbrady.com>.
29924
29925 2010-09-14  Eric Blake  <eblake@redhat.com>
29926
29927         test-rawmemchr: make more robust
29928         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
29929         (Depends-on, configure.ac): Add needed prerequisites to use it.
29930         * modules/memchr-tests (Files, Depends-on, configure.ac):
29931         Likewise, to avoid implicit reliance on memchr module prereqs.
29932         * tests/test-memchr.c (main): Ensure proper masking.
29933         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
29934         reads.
29935
29936         memchr: detect glibc Alpha bug
29937         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
29938         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
29939         Alpha.
29940         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
29941         * tests/test-memchr.c (main): Enhance test.
29942         Reported by Nelson H. F. Beebe.
29943
29944 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
29945
29946         fts, getcwd, glob: audit for dirfd returning -1
29947         * lib/fts.c (opendir): Remove #define; no longer used.
29948         (opendirat): New arg PDIR_FD.  All callers changed.
29949         (fts_build, _opendir2): Use new opendirat to avoid the need for
29950         dirfd, or for checking whether dirfd returns a negative value.
29951         Don't use opendir; always use openat followed by fdopendir.
29952         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
29953         it.
29954         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
29955         returns -1 here.
29956         * modules/fts (Depends-on): Remove dirfd.
29957         * modules/getcwd (Depends-on): Likewise.
29958
29959 2010-09-13  Eric Blake  <eblake@redhat.com>
29960
29961         float: fix broken MirBSD header
29962         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
29963         * doc/posix-headers/float.texi (float.h): Document it.
29964
29965 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
29966
29967         fts: use O_NOFOLLOW to avoid race condition when opening a directory
29968         * lib/fts.c (opendirat): New arg extra_flags.
29969         (__opendir2): Use it to avoid following symlinks when opening
29970         a directory, if symlinks are not supposed to be followed.  See
29971         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
29972
29973         fdopendir: preserve argument fd before returning
29974         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
29975         (fdopendir_with_dup, fd_clone_opendir): New static functions.
29976         (fdopendir): Use them, arranging for FD to be open to the same
29977         directory that it was when it started.  (It might be temporarily
29978         closed while fdopendir is running, so this not thread- or
29979         signal-safe.)  Be careful to do the right thing even when file
29980         descriptors are scarce and dup fails with errno == EMFILE.  See
29981         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
29982
29983 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
29984
29985         regex: Pass the system regex if its only problem is 32-bit regoff_t.
29986         * NEWS: Document change.
29987         * m4/regex.m4: Disable test for regoff_t size.
29988
29989 2010-09-13  Jim Meyering  <meyering@redhat.com>
29990
29991         fts: don't operate on an invalid file descriptor after failed dup
29992         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
29993         negative file descriptor.
29994
29995 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
29996
29997         savedir: add streamsavedir, deprecate fdsavedir
29998         * NEWS: Mention deprecation of fdsavedir.
29999         * lib/savedir.c (streamsavedir): New extern function, whose name
30000         ends in "savedir" to be consistent with the others.  This differs
30001         from savedirstream in that it doesn't close its argument.  The
30002         next version of GNU tar will use this instead of fdsavedir, to
30003         avoid some race conditions and conserve file descriptors.
30004         (savedirstream): Reimplement as a wrapper around streamsavedir.
30005         (fdsavedir): Add a comment deprecating this function.  As far as
30006         I know, only GNU tar used it, and GNU tar doesn't need it any more.
30007         * lib/savedir.h (streamsavedir): New decl.
30008         (fdsavedir): Add a comment deprecating this.
30009
30010 2010-09-10  Bruno Haible  <bruno@clisp.org>
30011
30012         langinfo: Fix last commit.
30013         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
30014         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
30015         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30016
30017 2010-09-10  Bruno Haible  <bruno@clisp.org>
30018
30019         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
30020         * lib/progreloc.c (O_EXEC): Define fallback.
30021
30022 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
30023
30024         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
30025         * NEWS: Document recent changes to fcntl-h.
30026         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
30027         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
30028         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
30029         Similarly for O_SEARCH; this last was already true, but not documented.
30030         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
30031         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
30032         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
30033         Likewise.
30034         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
30035         is zero, not whether it is defined.
30036         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
30037         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
30038         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
30039
30040 2010-09-10  Bruno Haible  <bruno@clisp.org>
30041
30042         langinfo, nl_langinfo: Fix for IRIX 5.3.
30043         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
30044         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
30045         HAVE_LANGINFO_YESEXPR.
30046         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
30047         HAVE_LANGINFO_YESEXPR.
30048         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
30049         HAVE_LANGINFO_T_FMT_AMPM is 0.
30050         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
30051         HAVE_LANGINFO_YESEXPR is 0.
30052         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
30053         NOEXPR.
30054         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
30055         * doc/posix-functions/nl_langinfo.texi: Likewise.
30056         Reported by Eric Blake.
30057
30058 2010-09-10  Bruno Haible  <bruno@clisp.org>
30059
30060         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
30061         * doc/glibc-functions/login_tty.texi: Mention the include file problem
30062         on FreeBSD 8.0 and OpenBSD 4.6.
30063         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
30064         * m4/pty_h.m4 (gl_PTY_H): Likewise.
30065         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
30066         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
30067         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
30068         ac_includes_default.
30069         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30070
30071 2010-09-09  Eric Blake  <eblake@redhat.com>
30072
30073         strsignal: work around NetBSD bug
30074         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
30075         * lib/string.in.h (includes): Likewise.
30076         * doc/posix-functions/strsignal.texi (strsignal): Document the
30077         bug.
30078         Reported by Nelson H. F. Beebe.
30079
30080         gnulib-tool: work with NetBSD /bin/sh
30081         * gnulib-tool (func_cache_var, func_cache_lookup_module)
30082         (func_get_description, func_get_comment, func_get_status)
30083         (func_get_notice, func_get_applicability, func_get_filelist)
30084         (func_get_dependencies, func_get_autoconf_early_snippet)
30085         (func_get_autoconf_snippet, func_get_automake_snippet)
30086         (func_get_include_directive, func_get_link_directive)
30087         (func_get_license, func_get_maintainer, func_import): Avoid
30088         shell syntax errors from parsing syntax extensions.
30089
30090 2010-09-09  Bruno Haible  <bruno@clisp.org>
30091
30092         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30093         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
30094         a reliable way to determine whether the 'alias' command works.
30095
30096 2010-09-08  Jim Meyering  <meyering@redhat.com>
30097
30098         init.sh: penalize a set-x-impaired shell; don't disqualify it
30099         * tests/init.sh: Too many shells corrupt application stderr when
30100         you set -x, so we can't afford to disqualify them, since at least
30101         on Irix-6.5, that would disqualify all bourne shells.
30102         Instead, use a two-pass approach.
30103         On the first pass, try to find a shell that meets the stricter
30104         condition that set -x does not corrupt stderr.
30105         If no shell meets the stricter condition, retest each candidate
30106         shell, but without that extra condition.  Finally, when
30107         VERBOSE=yes is requested and set -x might cause trouble, simply
30108         issue a warning and refrain from enabling debug output.
30109
30110 2010-09-08  Eric Blake  <eblake@redhat.com>
30111
30112         unsetenv: fix OpenBSD bug
30113         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
30114         * doc/posix-functions/unsetenv.texi (unsetenv): Update
30115         documentation.
30116         Reported by Jim Meyering.
30117
30118         strtod: work around IRIX 6.5 bug
30119         * lib/strtod.c (strtod): Reparse number on shorter string if
30120         exponent parse was invalid.
30121         * tests/test-strtod.c (main): Add check for "0x1p 2".
30122         Reported by Tom G. Christensen.
30123
30124         getopt: optimize previous patch
30125         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
30126         empty variable.  Speed up awk script.
30127         Reported by Paolo Bonzini.
30128
30129 2010-09-08  Jim Meyering  <meyering@redhat.com>
30130
30131         test.sh: disqualify shells for which set -x corrupts stderr
30132         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
30133         and OpenBSD 4.7.  They make it so with "set -x", environment settings
30134         appear in stderr output.  For example, this command:
30135             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
30136         prints "P=1" on those two systems:
30137
30138 2010-09-08  Bruno Haible  <bruno@clisp.org>
30139
30140         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30141         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
30142         commands, because some shells ignore redirections when there is an
30143         error in the command lookup.
30144         Reported by Eric Blake.
30145
30146 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
30147
30148         * lib/regex.h: Fix a mention of `regex_compile' (should be
30149         `re_compile_pattern').
30150         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
30151         (re_set_registers): Correct name of parameter in comment.
30152
30153         * doc/regex.texi: Add documentation for missing syntax flags.
30154         Remove commented-out documentation of defunct syntax option
30155         RE_NO_EMPTY_ALTS.
30156         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
30157         Add documentation of re_set_registers.
30158         Document trick to re-use a pattern buffer by setting fastmap manually.
30159         Update documentation of struct re_pattern_buffer per public members.
30160         Uncomment documentation of equivalence class operators and
30161         collating symbol operators, since they are now implemented,
30162         Explain leftmost-longest matching in relation to alternatives.
30163         Tidy documentation of substring matching.
30164         Remove POSIX documentation, which is done better in
30165         glibc, and refer the reader there. Keep BSD API documentation, as
30166         that is not readily available elsewhere.
30167
30168 2010-09-07  Eric Blake  <eblake@redhat.com>
30169
30170         getopt: handle POSIXLY_CORRECT set but not exported
30171         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
30172         export state of POSIXLY_CORRECT, due to bash set -o posix.
30173         Reported by Dustin J. Mitchell.
30174
30175 2010-09-05  Bruno Haible  <bruno@clisp.org>
30176
30177         gnulib-tool: Highlight the changed options.
30178         * gnulib-tool (func_usage): Display the --import, --add-import,
30179         --remove-import explanations in bold font.
30180
30181 2010-09-06  Karl Berry  <karl@gnu.org>
30182
30183         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
30184
30185 2010-09-05  Bruno Haible  <bruno@clisp.org>
30186
30187         uniwidth/width: Update comment.
30188         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
30189         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
30190
30191 2010-09-05  Bruno Haible  <bruno@clisp.org>
30192
30193         isinf, isnan: Relax license.
30194         * modules/isinf (License): Change from GPL to LGPL, with consent from
30195         Ben Pfaff.
30196         * modules/isnan (License): Likewise.
30197         Requested by Ludovic Courtès.
30198
30199 2010-09-04  Bruno Haible  <bruno@clisp.org>
30200
30201         gnulib-tool: Help migration from --import to --add-import or --update.
30202         * gnulib-tool: Emit a verbose error message when --import is used
30203         without any module name.
30204
30205 2010-09-04  Bruno Haible  <bruno@clisp.org>
30206
30207         Update doc about gnulib-tool.
30208         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
30209         'gnulib-tool --update' in more detail.
30210         Reported by Eric Blake.
30211
30212 2010-09-04  Bruno Haible  <bruno@clisp.org>
30213
30214         gnulib-tool: Change --import. New options --add/remove-import.
30215         * gnulib-tool: New options --add-import, --remove-import.
30216         (func_usage): Document them.
30217         (have_associative): Define always.
30218         (func_import): In import mode, don't merge the specified settings with
30219         the cached settings. Implement remove-import mode.
30220         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
30221         Explain when to use them versus --import.
30222         (Simple update): Use --add-import instead of --import.
30223         * NEWS: Mention the change.
30224
30225 2010-09-04  Bruno Haible  <bruno@clisp.org>
30226
30227         * doc/gnulib-tool.texi (Initial import): Update paragraph about
30228         separate gnulib.mk.
30229
30230 2010-09-04  Bruno Haible  <bruno@clisp.org>
30231
30232         gnulib-tool: Don't talk about CVS any more.
30233         * gnulib-tool (func_usage, func_import): Write "version control"
30234         instead of CVS.
30235
30236 2010-09-04  Jim Meyering  <meyering@redhat.com>
30237
30238         maint.mk: avoid obscure sc_copyright_check failure in coreutils
30239         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
30240         false positives (whose names may be ill-chosen) when searching
30241         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
30242         would cause a false-positive.
30243
30244         avoid coreutils "make distcheck" failure
30245         Coreutils tests with an absolute build directory name that contains
30246         a space.  Not quoting this directory name caused a failure.
30247         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
30248         * tests/test-vc-list-files-cvs.sh: Likewise.
30249
30250 2010-09-04  Bruno Haible  <bruno@clisp.org>
30251
30252         gnulib-tool: Avoid error when run in a package without Makefile.am.
30253         * gnulib-tool: When collecting the m4dirs in a package that does not
30254         have a Makefile.am, eliminate those directories that contain no
30255         gnulib-cache.m4. Fix expression that counts these directories.
30256
30257 2010-09-04  Bruno Haible  <bruno@clisp.org>
30258
30259         update-copyright test: Improve output when perl is missing or too old.
30260         * tests/test-update-copyright.sh: Move test of Perl version down after
30261         the test whether Perl exists. Provide an explanation relating Perl's
30262         error message to Automake's SKIP: message.
30263
30264 2010-09-04  Bruno Haible  <bruno@clisp.org>
30265
30266         Don't augment PATH in TESTS_ENVIRONMENT.
30267         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
30268         set abs_aux_dir instead of augmenting PATH.
30269         * modules/vc-list-files-tests (Makefile.am): Likewise.
30270         * tests/test-update-copyright.sh: Augment PATH here.
30271         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
30272         path_prepend_.
30273         * tests/test-vc-list-files-git.sh: Likewise.
30274
30275 2010-09-04  Jim Meyering  <meyering@redhat.com>
30276
30277         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
30278         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
30279
30280 2010-09-04  Bruno Haible  <bruno@clisp.org>
30281
30282         strdup: Fix compilation error in C++ mode.
30283         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
30284         the macro.
30285
30286 2010-09-04  Bruno Haible  <bruno@clisp.org>
30287
30288         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
30289         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
30290         macro into a function.
30291         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30292
30293 2010-09-04  Bruno Haible  <bruno@clisp.org>
30294
30295         Set PATH_SEPARATOR the same way autoconf does.
30296         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
30297         the value of PATH_SEPARATOR the same way autoconf-generated configure
30298         scripts do.
30299         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
30300         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
30301
30302 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
30303
30304         Set PATH_SEPARATOR the same way autoconf does.
30305         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
30306         the same way autoconf-generated configure scripts do.
30307         * posix-modules: Likewise.
30308
30309 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
30310
30311         hash: fix safe_hasher const typo
30312         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
30313         const; otherwise, there is a type error later.
30314
30315 2010-09-02  Jim Meyering  <meyering@redhat.com>
30316
30317         test-update-copyright.sh: require perl 5.8.0
30318         * tests/test-update-copyright.sh: Require 5.8.0,
30319         which Tom G. Christensen has confirmed is adequate,
30320         while 5.6.1 is not.
30321
30322 2010-09-02  Eric Blake  <eblake@redhat.com>
30323
30324         tests: init.sh improvements for re-exec'ing with zsh
30325         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
30326         -vx through shell re-exec.
30327         Reported by Tom G. Christensen.
30328
30329         wctype: fix typo in previous commit
30330         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
30331         Reported by Ludovic Courtès.
30332
30333 2010-09-02  Jim Meyering  <meyering@redhat.com>
30334
30335         test-update-copyright.sh: skip test if Perl is too old
30336         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
30337         Reported by Tom G. Christensen.
30338
30339 2010-09-02  Bruno Haible  <bruno@clisp.org>
30340
30341         wctype: Avoid compilation error on IRIX 6.5.30.
30342         * lib/wctype.in.h (iswblank): Declare with a replacement if
30343         REPLACE_ISWBLANK is set.
30344         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
30345         declared. Set REPLACE_ISWBLANK.
30346         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
30347         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
30348         * doc/posix-headers/wctype.texi: Likewise.
30349         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30350
30351 2010-09-01  Bruno Haible  <bruno@clisp.org>
30352
30353         New module 'socketlib'.
30354         * modules/socketlib: New file.
30355         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
30356         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
30357         * modules/sockets (Depends-on): Add socketlib.
30358         Suggested by Sam Steingold <sds@gnu.org>.
30359
30360 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
30361
30362         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
30363
30364         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
30365         when one needs search access to a directory but not read access.
30366         On systems where it is available, it works in some cases where
30367         O_RDONLY does not, namely on directories that are searchable but
30368         not readable, and which need only to be searchable.  If O_SEARCH
30369         is not available, fall back to the traditional method of using
30370         O_RDONLY.
30371
30372         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
30373         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
30374         when opening a directory that needs only to be searchable.
30375         * lib/chdir-safer.c (chdir_no_follow): Likewise.
30376         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
30377         * lib/openat-proc.c (openat_proc_name): Likewise.
30378         * lib/openat.c (openat_needs_fchdir): Likewise.
30379         * lib/save-cwd.c (save_cwd): Likewise.
30380         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
30381
30382 2010-08-28  Bruno Haible  <bruno@clisp.org>
30383
30384         New module 'host-cpu-c-abi'.
30385         * modules/host-cpu-c-abi: New file.
30386         * m4/host-cpu-c-abi.m4: New file, based on part of
30387         clisp/src/m4/general.m4.
30388         Requested by Sam Steingold <sds@gnu.org>.
30389
30390 2010-08-31  Eric Blake  <eblake@redhat.com>
30391         and Jim Meyering  <meyering@redhat.com>
30392
30393         hash: factor, and guard against misbehaving hasher function
30394         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
30395         of table->hasher's return value.  Also protect against a hash value
30396         so large that adding it to table->bucket results in a NULL pointer.
30397         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
30398         Use it in place of open-coded check-and-abort.
30399
30400 2010-08-30  Bruno Haible  <bruno@clisp.org>
30401
30402         hash: silence spurious clang warning
30403         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
30404         Reported by Eric Blake.
30405
30406 2010-08-30  Eric Blake  <eblake@redhat.com>
30407
30408         strstr, memmem, strcasestr: avoid leaked shell message
30409         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
30410         FreeBSD.
30411         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
30412         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
30413
30414         tests: silence clang warning
30415         * tests/test-malloca.c (do_allocation): Avoid dead store.
30416
30417 2010-08-29  Bruno Haible  <bruno@clisp.org>
30418
30419         gettext: Fix recent mistake.
30420         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
30421
30422 2010-08-29  Bruno Haible  <bruno@clisp.org>
30423
30424         selinux-h: Offer a --without-selinux option.
30425         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
30426         --without-selinux was specified, skip all tests and define
30427         HAVE_SELINUX_SELINUX_H to 0.
30428         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
30429         set LIB_SELINUX to empty.
30430         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
30431         gl_LIBSELINUX. If --without-selinux was specified, replace
30432         selinux/context.h.
30433         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
30434
30435 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30436             Bruno Haible  <bruno@clisp.org>
30437
30438         Make the module 'realloc-gnu' work again on AIX and OSF/1.
30439         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
30440         of HAVE_REALLOC.
30441         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
30442         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
30443         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
30444         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30445
30446 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30447             Bruno Haible  <bruno@clisp.org>
30448
30449         Make the module 'calloc-gnu' work again on AIX and OSF/1.
30450         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
30451         HAVE_CALLOC.
30452         * lib/xmalloc.c: Update accordingly.
30453         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
30454         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
30455         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
30456
30457 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30458             Bruno Haible  <bruno@clisp.org>
30459
30460         Make the module 'malloc-gnu' work again on AIX and OSF/1.
30461         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
30462         HAVE_MALLOC.
30463         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
30464         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
30465         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30466
30467 2010-08-29  Bruno Haible  <bruno@clisp.org>
30468
30469         Update modules list.
30470         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
30471         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
30472         (String handling <string.h>): Add astrxfrm.
30473         (File system functions): Add readlinkat.
30474
30475 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30476
30477         Tests for module 'realloc-gnu'.
30478         * modules/realloc-gnu-tests: New file.
30479         * tests/test-realloc-gnu.c: New file.
30480
30481         Tests for module 'calloc-gnu'.
30482         * modules/calloc-gnu-tests: New file.
30483         * tests/test-calloc-gnu.c: New file.
30484
30485         Tests for module 'malloc-gnu'.
30486         * modules/malloc-gnu-tests: New file.
30487         * tests/test-malloc-gnu.c: New file.
30488
30489 2010-08-28  Bruno Haible  <bruno@clisp.org>
30490
30491         Rename module 'realloc' -> 'realloc-gnu'.
30492         * modules/realloc-gnu: New file, copied from modules/realloc.
30493         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
30494         obsolete.
30495         * modules/mgetgroups (Depends-on): Update.
30496         * doc/posix-functions/realloc.texi: Update.
30497         * NEWS: Mention the change.
30498
30499         Rename module 'calloc' -> 'calloc-gnu'.
30500         * modules/calloc-gnu: New file, copied from modules/calloc.
30501         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
30502         obsolete.
30503         * doc/posix-functions/calloc.texi: Update.
30504         * NEWS: Mention the change.
30505
30506         Rename module 'malloc' -> 'malloc-gnu'.
30507         * modules/malloc-gnu: New file, copied from modules/malloc.
30508         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
30509         obsolete.
30510         * modules/argp (Depends-on): Update.
30511         * modules/regex (Depends-on): Update.
30512         * doc/posix-functions/malloc.texi: Update.
30513         * NEWS: Mention the change.
30514
30515 2010-08-28  Eric Blake  <eblake@redhat.com>
30516
30517         pread, pwrite: add missing dependency
30518         * modules/pread (Depends-on): Add extensions.
30519         * modules/pwrite (Depends-on): Likewise.
30520
30521 2010-08-28  Bruno Haible  <bruno@clisp.org>
30522
30523         unistr/u*-strchr: Fix tests dependencies.
30524         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
30525         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
30526         Reported by Ian Beckwith <ianb@erislabs.net>.
30527
30528 2010-08-28  Bruno Haible  <bruno@clisp.org>
30529
30530         read-file: Don't occupy too much unused memory.
30531         * lib/read-file.c (fread_file): Shrink the buffer at the end.
30532
30533 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
30534             Eric Blake  <eblake@redhat.com>
30535             Bruno Haible  <bruno@clisp.org>
30536
30537         read-file: Avoid memory reallocations with regular files.
30538         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
30539         (fread_file): With regular files, use the remaining length as the
30540         initial buffer size.  Check against overflow.
30541         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
30542         sys_stat.
30543
30544 2010-08-28  Bruno Haible  <bruno@clisp.org>
30545
30546         ftello: Relax license.
30547         * modules/ftello (License): Relax to LGPLv2+.
30548         Reported by Eric Blake.
30549
30550 2010-08-28  Bruno Haible  <bruno@clisp.org>
30551
30552         Avoid relocwrapper link errors due to gnulib replacement functions.
30553         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
30554         function.
30555         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30556
30557 2010-08-28  Bruno Haible  <bruno@clisp.org>
30558
30559         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
30560         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
30561         defined.
30562         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
30563         Suggested by Eric Blake.
30564
30565 2010-08-28  Bruno Haible  <bruno@clisp.org>
30566
30567         sys_socket, netdb: Ensure socklen_t gets defined.
30568         * modules/sys_socket (Depends-on): Add socklen.
30569         * modules/netdb (Depends-on): Likewise.
30570         * modules/getaddrinfo (Depends-on): Remove socklen.
30571         * modules/getsockopt (Depends-on): Likewise.
30572         * modules/setsockopt (Depends-on): Likewise.
30573         * tests/test-sys_socket.c: Check that socklen_t is defined.
30574         * tests/test-netdb.c: Likewise.
30575         * m4/socklen.m4: Update comments.
30576         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30577
30578 2010-08-27  Eric Blake  <eblake@redhat.com>
30579
30580         login_tty: add missing dependency
30581         * modules/login_tty (Depends-on): Add pty.
30582
30583 2010-08-26  Eric Blake  <eblake@redhat.com>
30584
30585         lib-symbol-versions: fix m4 quoting
30586         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
30587         format for AC_LINK_IFELSE.
30588
30589         glob: fix compile test
30590         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
30591
30592         btowc: fix missing file
30593         * modules/btowc (Files): Also ship locale-fr.m4.
30594
30595         lseek: fix link test
30596         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
30597         AC_LINK_IFELSE.
30598
30599         include_next: silence autoconf 2.68 warning
30600         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
30601         AC_COMPILE_IFELSE as special.
30602         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
30603         autoconf < 2.68.
30604
30605         acl: fix compilation test
30606         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
30607         AC_COMPILE_IFELSE.
30608
30609 2010-08-26  Bruno Haible  <bruno@clisp.org>
30610
30611         Modernize AC_TRY_RUN invocations.
30612         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
30613         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
30614         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
30615         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
30616         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
30617         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
30618         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
30619         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
30620         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30621         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30622         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
30623         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
30624         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
30625         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
30626         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
30627         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
30628         gl_MBRLEN_NUL_RETVAL): Likewise.
30629         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
30630         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
30631         Likewise.
30632         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
30633         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
30634         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
30635         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
30636         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
30637         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
30638         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
30639         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
30640         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
30641         Likewise.
30642         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
30643         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
30644         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
30645         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30646         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30647         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
30648         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
30649         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
30650         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
30651         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
30652
30653 2010-08-26  Bruno Haible  <bruno@clisp.org>
30654
30655         Modernize AC_TRY_LINK invocations.
30656         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
30657         AC_TRY_LINK.
30658         * m4/argp.m4 (gl_ARGP): Likewise.
30659         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
30660         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
30661         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
30662         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
30663         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
30664         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
30665         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
30666         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
30667         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
30668         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
30669         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
30670         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
30671         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
30672         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30673         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
30674         * m4/hostent.m4 (gl_HOSTENT): Likewise.
30675         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30676         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
30677         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
30678         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
30679         Likewise.
30680         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
30681         Likewise.
30682         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
30683         Likewise.
30684         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
30685         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
30686         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
30687         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
30688         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
30689         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
30690         * m4/servent.m4 (gl_SERVENT): Likewise.
30691         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
30692         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
30693         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
30694         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
30695         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30696         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
30697         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
30698         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30699         * modules/tsearch-tests (configure.ac): Likewise.
30700
30701 2010-08-26  Bruno Haible  <bruno@clisp.org>
30702
30703         Modernize AC_TRY_COMPILE invocations.
30704         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
30705         AC_TRY_COMPILE.
30706         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
30707         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
30708         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
30709         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
30710         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
30711         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
30712         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
30713         * m4/lock.m4 (gl_LOCK): Likewise.
30714         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
30715         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
30716         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
30717         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
30718         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
30719         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
30720         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
30721         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
30722         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
30723         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
30724         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
30725         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
30726         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
30727         extraneous semicolon.
30728
30729 2010-08-26  Jim Meyering  <meyering@redhat.com>
30730
30731         stat-time: relax license LGPL
30732         * modules/stat-time (License): Change from GPL to LGPL,
30733         with consent from all contributors, for use in libguile.
30734         Requested by Ludovic Courtès.
30735
30736 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
30737
30738         poll: return immediately on POLLHUP.
30739         * lib/poll.c (poll): Always set timeout before wait_timeout is
30740         computed.
30741
30742 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30743
30744         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
30745         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
30746         rmdir ("dir/.//"), unlinkat.
30747
30748 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
30749
30750         stdbool: avoid spurious failure with modern xlc
30751         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
30752
30753 2010-08-24  Bruno Haible  <bruno@clisp.org>
30754
30755         getloadavg: simplify code
30756         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
30757         gl_have_func. Update comments.
30758
30759 2010-08-24  Eric Blake  <eblake@redhat.com>
30760
30761         getloadavg: don't define SVR4 on cygwin
30762         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
30763         only define SVR4 when -lkvm is required.
30764         Reported by Yaakov Selkowitz.
30765
30766 2010-08-24  Bruno Haible  <bruno@clisp.org>
30767
30768         priv-set: fix comment
30769         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
30770
30771 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
30772
30773         priv-set: fix comments
30774         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
30775         to match code, as suggested by David Bartley in:
30776         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
30777
30778 2010-08-23  Eric Blake  <eblake@redhat.com>
30779
30780         stdbool: avoid rejecting clang
30781         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
30782         * tests/test-stdbool.c: Enable more tests if using the system
30783         <stdbool.h> instead of the gnulib replacement.
30784         (main): Move xlc bug test to a runtime test for all compilers.
30785         Reported by Anders Kaseorg.
30786
30787         argz: fix shell quoting issue
30788         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
30789         Reported by Charles Wilson.
30790
30791 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
30792             Erik Faye-Lund <kusmabite@gmail.com>
30793
30794         poll, select: handle ERROR_BROKEN_PIPE.
30795         * lib/poll.c (win32_compute_revents): Return POLLHUP when
30796         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
30797         * lib/select.c (win32_compute_revents): Do not mark a pipe
30798         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
30799
30800 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
30801
30802         fts: allow compilation with C++
30803         * lib/fts_.h: Specify extern "C" linkage with C++.
30804
30805 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30806
30807         Fix gnulib-tool sed script de-commentation for AIX sed.
30808         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
30809         sed.
30810
30811 2010-08-17  Eric Blake  <eblake@redhat.com>
30812
30813         test-stddef: test for (some) offsetof bugs
30814         * tests/test-stddef.c: Enhance test to ensure correct type of
30815         offsetof.
30816         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
30817         that we are not fixing at this time.
30818
30819 2010-08-15  Bruno Haible  <bruno@clisp.org>
30820
30821         stpncpy: Allow stpncpy to be defined as a macro.
30822         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
30823         if it's already correctly declared.
30824         * lib/string.in.h (stpncpy): Undefine before redefining.
30825         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
30826
30827 2010-08-14  Bruno Haible  <bruno@clisp.org>
30828
30829         Rename module 'memxfrm' to 'amemxfrm'.
30830         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
30831         (amemxfrm): Renamed from memxfrm.
30832         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
30833         (amemxfrm): Renamed from memxfrm.
30834         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
30835         * NEWS: Mention the change.
30836         * MODULES.html.sh (String handling <string.h>): Update.
30837         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
30838         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
30839         * lib/unicase/u16-casexfrm.c: Likewise.
30840         * lib/unicase/u32-casexfrm.c: Likewise.
30841         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
30842         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
30843         * lib/uninorm/u16-normxfrm.c: Likewise.
30844         * lib/uninorm/u32-normxfrm.c: Likewise.
30845         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
30846         memxfrm.
30847         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
30848         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
30849         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
30850         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
30851         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
30852         Suggested by Paul Eggert.
30853
30854 2010-08-14  Bruno Haible  <bruno@clisp.org>
30855
30856         Tests for module 'astrxfrm'.
30857         * modules/astrxfrm-tests: New file.
30858         * tests/test-astrxfrm.c: New file.
30859
30860         New module 'astrxfrm'.
30861         * lib/astrxfrm.h: New file.
30862         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
30863         * modules/astrxfrm: New file.
30864
30865 2010-08-14  Reuben Thomas <rrt@sc3d.org>
30866
30867         regex: Tweak doc.
30868         * doc/regex.texi (Overview): Don't mention regex.c.
30869         (GNU Regular Expression Compiling): Likewise.
30870         (Match-end-of-line Operator): Mention 'not_eol'.
30871
30872 2010-08-14  Brian Gough  <bjg@gnu.org>
30873             Bruno Haible  <bruno@clisp.org>
30874
30875         git-merge-changelog: add doc relating to use with bzr and hg.
30876         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
30877
30878 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
30879
30880         pthread: fix pthread.h creation for srcdir != builddir
30881         * modules/pthread (Makefile.am): Fix the rule to work also in a
30882         non-srcdir build.
30883
30884 2010-08-13  Karl Berry  <karl@gnu.org>
30885
30886         * doc/regex.texi (Predefined Syntaxes): @smallexample.
30887         * doc/posix-*/*: force line break before @url of POSIX
30888         specifications.
30889         Suggested by Werner Lemberg.
30890
30891 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
30892
30893         strtod: fix const diagnostic
30894         * lib/strtod.c (strtod): Don't assign const char * to char *,
30895         as this elicits a warning from GCC when warnings are enabled.
30896
30897 2010-08-10  Pádraig Brady <P@draigbrady.com>
30898         and Eric Blake  <eblake@redhat.com>
30899
30900         copy-acl: ignore ENOTSUP on HP-UX
30901         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
30902         so that it is available for HP-UX.
30903         * lib/copy-acl.c (qcopy_acl): Use it.
30904         Reported by Patrick M. Callahan.
30905
30906 2010-08-10  Eric Blake  <eblake@redhat.com>
30907
30908         open, chown: relax license
30909         * modules/open (License): Change to LGPLv2+, with consent by all
30910         authors, for use in augeas.
30911         * modules/chown (License): Likewise.
30912         * modules/lchown (Likewise): Likewise.
30913         Requested by Adam Stokes.
30914
30915 2010-08-09  Karl Berry  <karl@gnu.org>
30916
30917         * build-aux/ar-lib: new file, import from Automake.
30918         * config/srclist.txt: autocheck for updates.
30919
30920 2010-08-09  Eric Blake  <eblake@redhat.com>
30921
30922         readlinkat: adjust client modules
30923         * modules/areadlinkat (Depends-on): Use readlinkat, not
30924         symlinkat.
30925         * modules/areadlinkat-with-size (Depends-on): Likewise.
30926
30927         mknod: be more vocal about danger of running tests as root
30928         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
30929         root, since that is just asking for problems.
30930         Suggested by Bruno Haible, based on a report by Rainer Tammer.
30931
30932         readlinkat: split into its own module
30933         * modules/symlinkat: Split readlinkat...
30934         * modules/readlinkat: ...into separate module.
30935         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
30936         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
30937         * lib/symlinkat.c (readlinkat): Move...
30938         * lib/readlinkat.c: ...into new file.
30939         * modules/symlinkat-tests: Split readlinkat test...
30940         * modules/readlinkat-tests: ...into separate module.
30941         * tests/test-symlinkat.c: Split...
30942         * tests/test-readlinkat.c: ...into new file.
30943         * NEWS: Document the split.
30944         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
30945         * lib/unistd.in.h (readlinkat): Likewise.
30946         Suggested by Bruno Haible.
30947
30948 2010-08-08  Bruno Haible  <bruno@clisp.org>
30949
30950         memxfrm: Speed up.
30951         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
30952         that usually only one call to strxfrm is necessary for each string
30953         part.
30954         Reported by Paul Eggert <eggert@cs.ucla.edu>.
30955
30956 2010-08-07  Karl Berry  <karl@gnu.org>
30957
30958         * doc/posix-headers/limits.texi,
30959         * doc/posix-functions/malloc.texi,
30960         * doc/posix-functions/strsignal.texi: missing @item.
30961         * doc/ld-version-script.texi: spurious leading i.
30962         * doc/regex.texi (Interval Operators): no commas inside @var.
30963
30964 2010-08-01  Bruno Haible  <bruno@clisp.org>
30965
30966         Integrate the regex documentation.
30967         * doc/gnulib.texi: Define 'cn' index.
30968         (Regular expressions): New a chapter that includes regex.texi and
30969         regexprops-generic.texi.
30970         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
30971         syntax.
30972
30973         Whitespace cleanup.
30974         * doc/regex.texi: Remove trailing spaces.
30975
30976         Add regex documentation.
30977         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
30978         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
30979         Written by Kathy A. Hargreaves and Karl Berry.
30980
30981 2010-08-01  Bruno Haible  <bruno@clisp.org>
30982
30983         link: Update documentation.
30984         * doc/posix-functions/link.texi: Update regarding Solaris.
30985
30986 2010-07-31  Bruno Haible  <bruno@clisp.org>
30987
30988         Update modules list.
30989         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
30990         (String handling <string.h>): Add memcmp2, memxfrm.
30991         (Container data structures): Add xlist, xsublist, xoset.
30992         (Core language properties): Add alignof, unused-parameter.
30993         (Process control, Numeric conversion functions <stdlib.h>): Renamed
30994         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
30995         (Unibyte characters <ctype.h>): New section.
30996         (String handling <string.h>): New section.
30997         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
30998         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
30999         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
31000         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
31001         tan, tanh, tanl, y0, y1, yn.
31002         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
31003         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
31004         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
31005         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
31006         unlockpt, vdprintf, vdprintf-posix.
31007         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
31008         (File system functions): Add concat-filename, sys_file, sys_ioctl,
31009         xconcat-filename.
31010         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
31011         getdtablesize, pipe2, pipe2-safer.
31012         (Security): New section.
31013         (Networking functions): Add accept4.
31014         (Signal handling): Add sigpipe.
31015         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
31016         mbmemcasecoll.
31017         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
31018         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
31019         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
31020         pipe-filter-ii.
31021         (Misc): Add argp-version-etc, login_tty, parse-duration.
31022
31023 2010-07-31  Bruno Haible  <bruno@clisp.org>
31024
31025         Improve doc in MODULES.html.
31026         * modules/linkat (Description): Add the word "function".
31027         * modules/mkfifo (Description): Likewise.
31028         * modules/mknod (Description): Likewise.
31029         * modules/remove (Description): Likewise.
31030         * modules/renameat (Description): Likewise.
31031         * modules/stat (Description): Likewise.
31032         * modules/symlink (Description): Likewise.
31033         * modules/unlink (Description): Likewise.
31034
31035 2010-07-31  Bruno Haible  <bruno@clisp.org>
31036
31037         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
31038         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
31039         option --enable/disable-c++ instead of --enable/disable-cxx.
31040         * NEWS: Mention the change.
31041
31042 2010-07-31  Bruno Haible  <bruno@clisp.org>
31043
31044         readlink, areadlink: Relax test a bit.
31045         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
31046         alternative to ENOTDIR.
31047         * tests/test-areadlink.h (test_areadlink): Likewise.
31048         Reported by Rainer Tammer.
31049
31050 2010-07-31  Bruno Haible  <bruno@clisp.org>
31051
31052         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
31053         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
31054         character, perform the search using U_STRCHR.
31055         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
31056         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
31057         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
31058         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
31059         Suggested by Paolo Bonzini.
31060
31061 2010-07-31  Bruno Haible  <bruno@clisp.org>
31062
31063         unistr/u*-strstr: Fix dependencies.
31064         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
31065         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
31066         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
31067
31068 2010-07-31  Bruno Haible  <bruno@clisp.org>
31069
31070         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
31071         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
31072         the beginning of the loop.
31073         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
31074         cases in 'switch' statement.
31075
31076         unistr/u8-strchr: Fix several bugs.
31077         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
31078         the string. When not found, return NULL, not a pointer near the end.
31079
31080         More tests for unistr/u8-strchr.
31081         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
31082         that the function does not read past the first occurrence of the byte
31083         being searched.
31084         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
31085         * tests/unistr/test-u16-strchr.c (main): New function.
31086         * tests/unistr/test-u32-strchr.c (main): New function.
31087
31088 2010-07-31  Bruno Haible  <bruno@clisp.org>
31089
31090         posix-modules: Ignore backup files of documentation files.
31091         * posix-modules: grep only through files named *.texi.
31092
31093 2010-07-31  Bruno Haible  <bruno@clisp.org>
31094
31095         symlinkat: Fix documentation.
31096         * doc/posix-functions/readlinkat.texi: Fix module name.
31097
31098 2010-07-31  Bruno Haible  <bruno@clisp.org>
31099
31100         fchownat: Replace also when chown has the trailing slash bug.
31101         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
31102         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
31103         introduced on 2010-04-10.
31104         Reported by Rainer Tammer.
31105
31106 2010-07-31  Bruno Haible  <bruno@clisp.org>
31107
31108         linkat: Work around AIX 7.1 bug.
31109         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
31110         whether linkat handles trailing slash correctly. If not, replace linkat
31111         and define LINKAT_TRAILING_SLASH_BUG.
31112         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
31113         check whether (fd1,file1) points to a directory if file1 or file2 ends
31114         in a slash. Code taken from lib/link.c.
31115         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
31116         Reported by Rainer Tammer.
31117
31118 2010-07-31  Bruno Haible  <bruno@clisp.org>
31119
31120         Correctly determine whether pow is available in libc on AIX 7 with xlc.
31121         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
31122         This disables an xlc optimization that was causing wrong test results.
31123         Reported by Rainer Tammer.
31124
31125 2010-07-31  Bruno Haible  <bruno@clisp.org>
31126
31127         iconv: Work around AIX 6.1..7.1 bug.
31128         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
31129         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
31130         cross-compiling, guess no on all versions of AIX.
31131         Reported by Rainer Tammer.
31132
31133 2010-07-31  Bruno Haible  <bruno@clisp.org>
31134
31135         readlink: Relax test a bit.
31136         * tests/test-readlink.h (test_readlink): Allow different errno value
31137         when readlink is called with a file name that ends in / and refers to
31138         a file.
31139         Suggested by Eric Blake.
31140         Reported by Rainer Tammer.
31141
31142 2010-07-31  Bruno Haible  <bruno@clisp.org>
31143
31144         copysign: Does not require -lm on glibc systems.
31145         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
31146         gl_COMMON_DOUBLE_MATHFUNC.
31147         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
31148
31149 2010-07-31  Bruno Haible  <bruno@clisp.org>
31150
31151         duplocale: Work around AIX 7.1 bug.
31152         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
31153         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
31154         * lib/duplocale.c (rpl_duplocale): Update comment.
31155         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
31156         Reported by Rainer Tammer.
31157
31158 2010-07-30  Bruno Haible  <bruno@clisp.org>
31159
31160         dirfd: Avoid link error on AIX 7.1.
31161         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
31162         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
31163         exist, set REPLACE_DIRFD.
31164         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
31165         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
31166         * doc/posix-functions/dirfd.texi: Update.
31167         Reported by Rainer Tammer.
31168
31169 2010-07-30  Eric Blake  <eblake@redhat.com>
31170
31171         strtod: next round of AIX fixes
31172         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
31173         exponent.
31174         * tests/test-strtod.c (main): Enhance tests.
31175         * doc/posix-functions/strtod.texi (strtod): Document next bug.
31176         Reported by Rainer Tammer.
31177
31178         futimens: fix configure check
31179         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
31180         Reported by Bruno Haible.
31181
31182 2010-07-30  Bruno Haible  <bruno@clisp.org>
31183
31184         getline: Update regarding AIX.
31185         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
31186         Reported by Rainer Tammer.
31187
31188 2010-07-30  Bruno Haible  <bruno@clisp.org>
31189
31190         wcwidth: Drop replacement on AIX 7.
31191         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
31192         AIX 7.
31193         Reported by Rainer Tammer.
31194
31195 2010-07-30  Bruno Haible  <bruno@clisp.org>
31196
31197         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
31198         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
31199         a 'char *'.
31200         Reported by Rainer Tammer.
31201
31202 2010-07-30  Bruno Haible  <bruno@clisp.org>
31203
31204         unlink: Update regarding AIX.
31205         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
31206         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
31207         Reported by Rainer Tammer.
31208
31209 2010-07-30  Bruno Haible  <bruno@clisp.org>
31210
31211         symlink: Update regarding AIX.
31212         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
31213         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
31214         Reported by Rainer Tammer.
31215
31216 2010-07-30  Bruno Haible  <bruno@clisp.org>
31217
31218         strndup: Update regarding AIX.
31219         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
31220         AIX 7.
31221         Reported by Rainer Tammer.
31222
31223 2010-07-30  Bruno Haible  <bruno@clisp.org>
31224
31225         stat: Update regarding AIX.
31226         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
31227         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
31228         Reported by Rainer Tammer.
31229
31230 2010-07-30  Bruno Haible  <bruno@clisp.org>
31231
31232         truncl: Fix autoconf test.
31233         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
31234         whether truncl works.
31235         Reported by Rainer Tammer.
31236
31237 2010-07-30  Bruno Haible  <bruno@clisp.org>
31238
31239         round: Update regarding AIX.
31240         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
31241         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
31242         Reported by Rainer Tammer.
31243
31244 2010-07-30  Bruno Haible  <bruno@clisp.org>
31245
31246         rename: Update regarding AIX.
31247         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
31248         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
31249         Reported by Rainer Tammer.
31250
31251 2010-07-30  Bruno Haible  <bruno@clisp.org>
31252
31253         printf.m4: Update regarding AIX.
31254         * m4/printf.m4: Update comments regarding AIX.
31255         Reported by Rainer Tammer.
31256
31257 2010-07-30  Bruno Haible  <bruno@clisp.org>
31258
31259         iconv: Update regarding AIX.
31260         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
31261         AIX 7.
31262         Reported by Rainer Tammer.
31263
31264 2010-07-30  Bruno Haible  <bruno@clisp.org>
31265
31266         getopt: Update regarding AIX.
31267         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
31268         no on AIX.
31269         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
31270         Reported by Rainer Tammer.
31271
31272 2010-07-30  Bruno Haible  <bruno@clisp.org>
31273
31274         ldexpl; Update regarding AIX.
31275         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
31276         on AIX 7.
31277         Reported by Rainer Tammer.
31278
31279 2010-07-30  Bruno Haible  <bruno@clisp.org>
31280
31281         frexpl: Update regarding AIX.
31282         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
31283         on AIX 7.
31284         Reported by Rainer Tammer.
31285
31286 2010-07-30  Bruno Haible  <bruno@clisp.org>
31287
31288         open, fopen: Update regarding AIX.
31289         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
31290         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
31291         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
31292         * doc/posix-functions/fopen.texi: Likewise.
31293         Reported by Rainer Tammer.
31294
31295 2010-07-30  Bruno Haible  <bruno@clisp.org>
31296
31297         chown: Update doc regarding AIX.
31298         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
31299         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
31300         Reported by Rainer Tammer.
31301
31302 2010-07-30  Eric Blake  <eblake@redhat.com>
31303
31304         strtod: fix bug in replacement function on AIX
31305         * lib/strtod.c (strtod): Special case broken "0x" parse in
31306         underlying strtod.
31307         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
31308         * doc/posix-functions/strtod.texi (strtod): Likewise.
31309         Reported by Rainer Tammer.
31310
31311 2010-07-30  Bruno Haible  <bruno@clisp.org>
31312
31313         mbrlen: Fix cross-compilation guess for AIX.
31314         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
31315         guess. Leftover from 2008-12-22.
31316
31317 2010-07-30  Bruno Haible  <bruno@clisp.org>
31318
31319         mbrtowc: Fix cross-compilation guess for AIX.
31320         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
31321         guess. Leftover from 2008-12-21.
31322
31323 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
31324
31325         init.sh: work around trap limitation of some shells
31326         * tests/init.sh (setup_): Move exit trap outside of shell function.
31327
31328 2010-07-29  Eric Blake  <eblake@redhat.com>
31329
31330         strtod: aid debugging
31331         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
31332         understanding why strtod is rejected.
31333
31334 2010-07-28  Bruno Haible  <bruno@clisp.org>
31335
31336         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
31337         * lib/unistr/u8-chr.c: Include <string.h>.
31338         * tests/unistr/test-u8-chr.c: Likewise.
31339         * tests/unistr/test-u16-chr.c: Likewise.
31340         * tests/unistr/test-u32-chr.c: Likewise.
31341         * tests/unistr/test-u8-strchr.c: Likewise.
31342         * tests/unistr/test-u16-strchr.c: Likewise.
31343         * tests/unistr/test-u32-strchr.c: Likewise.
31344         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
31345         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
31346         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
31347         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
31348
31349 2010-07-28  Bruno Haible  <bruno@clisp.org>
31350
31351         Use spaces for indentation, not tabs.
31352         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31353
31354 2010-07-27  Bruno Haible  <bruno@clisp.org>
31355
31356         mbspcasecmp: Fix function specification.
31357         * lib/string.in.h (mbspcasecmp): Fix specification comment.
31358         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
31359         Reported by Eric Blake <eblake@redhat.com>.
31360
31361 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
31362
31363         timespec: use cast and not conditional, as truncation isn't possible
31364         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
31365         instead of a conditional.  Comment about the situation in more detail.
31366         This undoes most of the 2009-10-29 patch.
31367
31368 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
31369
31370         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
31371         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
31372         * lib/unistr/u8-strchr.c: Likewise.
31373         * modules/unistr/u8-chr: Depend on memchr.
31374
31375         unistr/u*-strchr: add tests
31376         * modules/unistr/u8-strchr-tests: New file.
31377         * modules/unistr/u16-strchr-tests: New file.
31378         * modules/unistr/u32-strchr-tests: New file.
31379         * tests/unistr/test-strchr.h: New file.
31380         * tests/unistr/test-u8-strchr.c: New file.
31381         * tests/unistr/test-u16-strchr.c: New file.
31382         * tests/unistr/test-u32-strchr.c: New file.
31383
31384         unistr/u*-chr: test multibyte sequences more
31385         * tests/unistr/test-chr.h: Do complete testing of the characters in the
31386         test vector.
31387         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
31388         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
31389         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
31390
31391         unistr/u*-chr: test multibyte sequences
31392         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
31393
31394         unistr/u*-chr: prepare for multibyte tests
31395         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
31396         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
31397         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
31398         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
31399         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
31400         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
31401
31402 2010-07-18  Bruno Haible  <bruno@clisp.org>
31403
31404         unistr/u8-strchr: Optimize non-ASCII argument case.
31405         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
31406         because the first byte often matches anyway.
31407         Reported by Pádraig Brady <P@draigbrady.com>.
31408
31409 2010-07-15  Karl Berry  <karl@gnu.org>
31410
31411         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
31412
31413 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
31414
31415         getcwd: on Solaris, work better if ancestors are inaccessible
31416         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
31417         buffer and size, try again with a large buffer.  This works better
31418         on Solaris, since its getcwd succeeds even if the path to the root
31419         is inaccessible, and this is helpful in common cases such as .zfs
31420         hidden directories.  Problem reported by J Chapman Flack in
31421         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
31422         Use system getcwd if it's declared, not merely if it's partly
31423         working; use the partly-working test only to avoid needless effort
31424         if the system getcwd fails.
31425         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
31426         comment that was already obsolete and is now even more obsolete.
31427         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
31428         now might call strdup.
31429
31430 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
31431
31432         pthread: Add enough so that coreutils/src/sort.c compiles.
31433         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
31434         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
31435         gnulib. Include <sched.h> and <time.h>, as per POSIX.
31436         Include <sys/types.h>, in case it defines pthread_t.
31437         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
31438         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
31439         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
31440         (pthread_rwlockattr_t, pthread_spinlock_t):
31441         New typedefs, if HAVE_PTHREAD_T is not defined.
31442         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
31443         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
31444         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
31445         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
31446         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
31447         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
31448         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
31449         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
31450         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
31451         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
31452         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
31453         New macros.
31454         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
31455         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
31456         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
31457         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
31458         (pthread_spin_unlock): New dummy functions.
31459         (pthread_create): Return EAGAIN; don't set errno.
31460         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
31461         require AC_C_INLINE.
31462         * modules/pthread (Depends-on): Add sched, time.
31463         (pthread.h): Use AM_V_GEN.
31464
31465 2010-07-13  Bruno Haible  <bruno@clisp.org>
31466
31467         striconveh: Don't malloc memory if the result buffer is sufficient.
31468         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
31469         buffer if its size is sufficient.
31470         Reported by Ludovic Courtès <ludo@gnu.org>.
31471
31472 2010-07-13  Bruno Haible  <bruno@clisp.org>
31473
31474         strtod: Add safety check.
31475         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
31476
31477 2010-07-12  Bruno Haible  <bruno@clisp.org>
31478
31479         Unify tests that set gl_cv_func_ldexpl_no_libm.
31480         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
31481         gl_FUNC_LDEXPL.
31482         (gl_FUNC_LDEXPL): Invoke it.
31483         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31484
31485 2010-07-12  Bruno Haible  <bruno@clisp.org>
31486
31487         Unify tests that set gl_cv_func_ldexp_no_libm.
31488         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
31489         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
31490         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
31491         (configure.ac): Simply invoke gl_FUNC_LDEXP.
31492         * modules/strtod (Files): Add m4/ldexp.m4.
31493
31494 2010-07-12  Bruno Haible  <bruno@clisp.org>
31495
31496         Unify tests that set gl_cv_func_frexpl_no_libm.
31497         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
31498         gl_FUNC_FREXPL_NO_LIBM.
31499         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
31500         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31501
31502 2010-07-12  Bruno Haible  <bruno@clisp.org>
31503
31504         Unify tests that set gl_cv_func_frexp_no_libm.
31505         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
31506         gl_FUNC_FREXP_NO_LIBM.
31507         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
31508         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
31509
31510 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31511
31512         memcoll: clarify sizes versus lengths, document better, and tweak perf
31513         * lib/memcoll.c (strcoll_loop, memcoll0):
31514         Improve quality of descriptive comments.  Name variables
31515         consistently as to whether they are lengths (which do not include
31516         terminating null) versus sizes (which do).
31517         * lib/xmemcoll.c (xmemcoll0): Likewise.
31518         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
31519         returned when s1size == 0; this is easier to compile and saves
31520         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
31521
31522 2010-07-12  Bruno Haible  <bruno@clisp.org>
31523
31524         Tests for module '_Exit'.
31525         * modules/_Exit-tests: New file.
31526         * tests/test-_Exit.sh: New file.
31527         * tests/test-_Exit.c: New file.
31528
31529         New module '_Exit'.
31530         * lib/stdlib.in.h (__attribute__): New macro.
31531         (_Exit): New declaration.
31532         * lib/_Exit.c: New file.
31533         * m4/_Exit.m4: New file.
31534         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
31535         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
31536         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
31537         * modules/_Exit: New file.
31538         * tests/test-stdlib-c++.cc (_Exit): Check signature.
31539         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
31540
31541 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31542
31543         strtod: make it more-accurate typically, and don't require libm
31544         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
31545         Include limits.h.  Don't include string.h.
31546         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
31547         (locale_isspace): New function, so that no casts are needed to
31548         check whether *s is a space.
31549         (ldexp): Provide an unused dummy if not available.
31550         (scale_radix_exp, parse_number, underlying_strtod): New functions.
31551         (strtod): Use them.  This implementation prefers to use the
31552         underlying strtod if available, falling back on our own code
31553         only to fix known bugs.  This is more likely to produce an
31554         accurate result.  Also, it avoids the use of libm functions.
31555         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
31556         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
31557         was absent, but it caused a test failure with coreutils.
31558         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
31559         with libm.
31560         * modules/strtod (Makefile.am, Link): libm is no longer needed.
31561         * modules/strtod-tests (Makefile.am): Likewise.
31562
31563 2010-07-11  Pádraig Brady  <P@draigBrady.com>
31564             Bruno Haible  <bruno@clisp.org>
31565
31566         unistr/u8-strchr: Optimize ASCII argument case.
31567         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
31568
31569 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
31570
31571         (x)memcoll: minor tweaks
31572         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
31573         is after the type that it qualifies.
31574         (memcoll0): Likewise.
31575         * lib/memcoll.h (memcoll0): Likewise.
31576         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
31577         * lib/xmemcoll.h (xmemcoll0): Likewise.
31578         * lib/memcoll.c (memcoll0): Correct the comment.  This function
31579         differs from memcoll in that the NUL byte is part of the argument.
31580         Omit the abort-checks, as performance is a real issue here.  Plus,
31581         the checks were wrong anyway (an off-by-one error).  Omit local
31582         variable 'diff', as it's a bit clearer that way.
31583         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
31584         no longer needed.
31585
31586 2010-07-08  Chen Guo <chenguo4@yahoo.com>
31587
31588         (x)memcoll: speedup when input is known to be NUL delimited
31589         * lib/memcoll.c: Include stdlib.
31590         (memcoll0): New function.
31591         (strcoll_loop): New function, refactored for use in both memcoll
31592         and memcoll0.
31593         * lib/memcoll.h (memcoll0): Add prototype.
31594         * lib/xmemcoll.c (xmemcoll0): New function.
31595         (collate_error): New function, refactored for use in both xmemcoll
31596         and xmemcoll0.
31597         * lib/xmemcoll.h (xmemcoll0): Add prototype.
31598         * m4/memcoll.m4: add inline invocation.
31599
31600 2010-07-06  Pádraig Brady  <P@draigBrady.com>
31601
31602         * build-aux/bootstrap: Remove any local translations
31603         from the translation project synchronization directory,
31604         so that local only translations are not distributed.
31605
31606 2010-07-04  Bruno Haible  <bruno@clisp.org>
31607
31608         fsusage: Clarify which code applies to which platforms.
31609         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
31610         platform.
31611         * lib/fsusage.c (get_fs_usage): Likewise.
31612
31613 2010-07-04  Bruno Haible  <bruno@clisp.org>
31614
31615         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
31616         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
31617         Reported by Martin Lambers <marlam@marlam.de>.
31618
31619 2010-07-04  Jim Meyering  <meyering@redhat.com>
31620
31621         hash: once again explicitly disallow insertion of NULL
31622         * lib/hash.c (hash_insert0): Reinstate just-removed test:
31623         inserting a NULL pointer cannot work with these functions.
31624         Add a comment with details.
31625         This reverts part of the 2010-07-01 commit, 5bef1a35
31626         "hash: extend module to deal with non-pointer keys".
31627
31628 2010-07-01  Bruno Haible  <bruno@clisp.org>
31629
31630         stdbool: Update doc.
31631         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
31632         Info from Christian Weisgerber <naddy@mips.inka.de>.
31633
31634 2010-07-01  Jim Meyering  <meyering@redhat.com>
31635
31636         hash: extend module to deal with non-pointer keys
31637         * lib/hash.c (hash_insert0): New interface, much like hash_insert
31638         but that allows insertion of non-pointer entries.
31639         Do not disallow an ENTRY value of NULL.
31640         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
31641         * lib/hash.h (hash_insert0): Declare.
31642
31643 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
31644
31645         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
31646         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
31647         not present (i.e. with autoconf 2.59 and when using gettextize, not
31648         gnulib), require AC_GNU_SOURCE instead.
31649
31650 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
31651
31652         idpriv-drop: Fix tests.
31653         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
31654         not to the test-idpriv-droptemp program.
31655
31656 2010-06-29  Bruno Haible  <bruno@clisp.org>
31657
31658         string: Fix syntax error with g++ 2.96.
31659         * lib/string.in.h (__pure__): Remove definition.
31660         (_GL_ATTRIBUTE_PURE): New macro.
31661         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
31662         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
31663         Reported by Christian Weisgerber <naddy@mips.inka.de>.
31664
31665 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
31666
31667         unitypes: Fix bug introduced on 2010-05-18.
31668         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
31669
31670 2010-06-22  Eric Blake  <eblake@redhat.com>
31671
31672         memmem: slight optimization
31673         * lib/str-two-way.h (critical_factorization): Update comments.
31674         Reduce work during factorization phase.
31675         Reported by Carlos Bueno <carlos@bueno.org>.
31676
31677 2010-06-21  Bruno Haible  <bruno@clisp.org>
31678
31679         Fix HAVE_CALLOC_POSIX misnomer.
31680         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
31681         !HAVE_CALLOC_POSIX.
31682         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
31683         HAVE_CALLOC_POSIX.
31684         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
31685         instead of HAVE_CALLOC_POSIX.
31686         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
31687         HAVE_CALLOC_POSIX.
31688
31689         Use modern idiom for calloc() replacement.
31690         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
31691         AC_FUNC_CALLOC.
31692         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
31693         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
31694         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31695         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
31696         (gl_REPLACE_CALLOC): New macro.
31697
31698 2010-06-21  Bruno Haible  <bruno@clisp.org>
31699
31700         Fix HAVE_REALLOC_POSIX misnomer.
31701         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
31702         !HAVE_REALLOC_POSIX.
31703         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
31704         HAVE_REALLOC_POSIX.
31705         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
31706         instead of HAVE_REALLOC_POSIX.
31707         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
31708         HAVE_REALLOC_POSIX.
31709
31710         Use modern idiom for realloc() replacement.
31711         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
31712         AC_FUNC_REALLOC.
31713         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
31714         Autoconf's AC_FUNC_REALLOC.
31715         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31716         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
31717         (gl_REPLACE_REALLOC): New macro.
31718         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
31719
31720 2010-06-21  Bruno Haible  <bruno@clisp.org>
31721
31722         Fix HAVE_MALLOC_POSIX misnomer.
31723         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
31724         !HAVE_MALLOC_POSIX.
31725         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
31726         HAVE_MALLOC_POSIX.
31727         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
31728         instead of HAVE_MALLOC_POSIX.
31729         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
31730         HAVE_MALLOC_POSIX.
31731
31732         Use modern idiom for malloc() replacement.
31733         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
31734         AC_FUNC_MALLOC.
31735         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
31736         Autoconf's AC_FUNC_MALLOC.
31737         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
31738         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
31739         (gl_REPLACE_MALLOC): New macro.
31740         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
31741
31742 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
31743
31744         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
31745         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
31746         This macro takes 3 arguments, not 4.
31747
31748 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
31749
31750         ipv6: fix detection under mingw
31751         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
31752         in6_addr.
31753
31754 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
31755
31756         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
31757         that strtod() works when cross-compiling to a glibc version known
31758         to work.
31759
31760 2010-06-15  Bruno Haible  <bruno@clisp.org>
31761
31762         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
31763
31764 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
31765
31766         select: Correct timeout.
31767         * lib/select.c (rpl_select): Compute wait_timeout correctly.
31768
31769 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
31770
31771         git-version-gen: init shell var to avoid env var influence
31772         * build-aux/git-version-gen (v): Init shell var to empty.
31773
31774 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
31775
31776         priv-set: Don't assume that priv.h exists merely because getppriv does.
31777         See Jan Andersen's bug report about AIX 5L in
31778         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
31779         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
31780         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
31781         * lib/priv-set.h: Likewise.
31782         * tests/test-priv-set.c: Likewise.
31783
31784 2010-06-13  Bruno Haible  <bruno@clisp.org>
31785
31786         relocatable: Make it easier to test whether to install wrappers.
31787         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
31788         RELOCATABLE_VIA_WRAPPER.
31789
31790 2010-06-13  Bruno Haible  <bruno@clisp.org>
31791
31792         gnulib-tool: Display specified modules and dependencies differently.
31793         * gnulib-tool (func_show_module_list): New function.
31794         (func_import, func_create_testdir): Invoke it.
31795         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
31796
31797 2010-06-13  Bruno Haible  <bruno@clisp.org>
31798
31799         gnulib-tool: Align code of func_import and func_create_testdir.
31800         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
31801         specified_modules.
31802
31803 2010-06-12  Jim Meyering  <meyering@redhat.com>
31804
31805         test-inttostr: avoid spurious failure on Solaris 9
31806         * tests/test-inttostr.c (main): Skip the test when snprintf fails
31807         to accept "%ju".  Reported by Bruno Haible.
31808
31809 2010-06-11  Jim Meyering  <meyering@redhat.com>
31810
31811         test-sys_socket: mark variables as used more readably
31812         * tests/test-sys_socket.c (main): Mark otherwise unused variables
31813         as "used" explicitly via (void) statement casts.  This is more
31814         readable than using them in an artificial return expression.
31815         Suggestion from Bruno Haible.
31816
31817 2010-06-11  Bruno Haible  <bruno@clisp.org>
31818
31819         Avoid some more warnings from "gcc -Wwrite-strings".
31820         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
31821         to 'const char *'.
31822         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
31823         * tests/test-c-strcasestr.c (main): Likewise.
31824         * tests/test-mbscasestr1.c (main): Likewise.
31825         * tests/test-mbscasestr2.c (main): Likewise.
31826         * tests/test-memmem.c (main): Likewise.
31827         * tests/test-strstr.c (main): Likewise.
31828         * tests/test-strcasestr.c (main): Likewise.
31829
31830 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31831
31832         init.sh: change framework_failure_ to fail with status 99, not 1
31833         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
31834         automake's parallel-tests rule that this is an unexpected failure,
31835         even if the test is listed in XFAIL_TESTS.
31836
31837 2010-06-11  Jim Meyering  <meyering@redhat.com>
31838
31839         test-inttostr: avoid warnings about 4-6KB literal strings
31840         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
31841         Include "macros.h", for its definition of ASSERT.
31842         (CK): s/assert/ASSERT/
31843         * modules/inttostr-tests (Files): Add macros.h.
31844
31845         init.sh: don't use $ME_ or skip_ before they are defined
31846         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
31847         their first uses.  Also hoist their companions: warn_, fail_,
31848         framework_failure_, $stderr_fileno.  Prompted by a patch from
31849         Stefano Lattarini.
31850
31851         test-sys_socket: avoid set-but-not-used warnings from gcc
31852         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
31853         avoid warning about set-but-not-used variables.
31854
31855         test-xvasprintf: avoid 'const' discard warnings
31856         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
31857         "const" when assigning from literal strings.
31858         (test_xasprintf): Add "void" in function argument list to placate
31859         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
31860
31861         tests: avoid compilation warnings in argmatch and exclude tests...
31862         in packages that define ARGMATCH_DIE_DECL, like coreutils.
31863         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
31864         Since it always exits, declare with the "noreturn" attribute.
31865         * tests/test-argmatch.c: Likewise.
31866
31867         tests: avoid 'const' discard warnings in mbsstr tests
31868         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
31869         * tests/test-mbsstr2.c (main): Likewise.
31870
31871         test-verify: avoid warning from gcc's -Wmissing-declarations
31872         * tests/test-verify.c (function): Declare to be static.
31873
31874         test-inttostr.c: include <string.h> for use of strcmp
31875         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
31876
31877         test-linkat: avoid failed assertion on "other" architectures
31878         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
31879         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
31880         sparc: https://bugs.launchpad.net/bugs/591968
31881
31882 2010-06-11  Jim Meyering  <meyering@redhat.com>
31883
31884         printf.m4: avoid autoconf's "Expanded Before Required" warning
31885         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
31886         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
31887         autoconf warning.
31888
31889 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
31890
31891         Replacement header templates are now named with ".in", not "_".
31892         * doc/gnulib-intro.texi: Correct.
31893
31894 2010-06-10  Jim Meyering  <meyering@redhat.com>
31895
31896         inttostr-tests: depend on snprintf, not snprintf-posix
31897         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
31898         snprintf-posix, to avoid this aclocal failure:
31899           missing file gnulib-tests/vasnprintf.c
31900           configure.ac:45: error: expected source file, required through \
31901           AC_LIBSOURCES, not found
31902
31903 2010-06-10  Jim Meyering  <meyering@redhat.com>
31904
31905         inttostr: add a new function, inttostr, and tests
31906         The namesake function was not available.  The existence of the
31907         template file, inttostr.c makes its addition nontrivial.
31908         * lib/anytostr.c: Rename from inttostr.c.
31909         (anytostr): Rename from inttostr.
31910         * lib/inttostr.c: New file.
31911         * modules/inttostr (Files): Add anytostr.c.
31912         (Makefile.am): Set lib_SOURCES instead of ...
31913         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
31914         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
31915         * lib/offtostr.c: Likewise.
31916         * lib/uinttostr.c: Likewise.
31917         * lib/umaxtostr.c: Likewise.
31918         * modules/inttostr-tests: New file.
31919         * tests/test-inttostr.c: New file.  Test these functions.
31920
31921 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
31922             Bruno Haible  <bruno@clisp.org>
31923
31924         Add "Extending Gnulib" chapter to manual.
31925         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
31926         chapter.
31927         (Extending Gnulib): New chapter.
31928         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
31929         chapter.
31930
31931 2010-06-09  Bruno Haible  <bruno@clisp.org>
31932
31933         Avoid relocwrapper link errors due to gnulib replacement functions.
31934         * lib/areadlink.c: Use the system's malloc, realloc functions.
31935         (areadlink): Set errno to ENOMEM explicitly.
31936         * modules/areadlink (Depends-on): Remove malloc-posix.
31937         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31938
31939 2010-06-09  Bruno Haible  <bruno@clisp.org>
31940
31941         Avoid relocwrapper link errors due to gnulib replacement functions.
31942         * lib/canonicalize-lgpl.c: Use the system's malloc function.
31943         * lib/malloca.c: Likewise.
31944         * lib/relocatable.c: Likewise.
31945         * lib/progreloc.c: Use the system's malloc, sprintf functions.
31946         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
31947         * lib/setenv.c: Use the system's malloc, realloc functions.
31948         * lib/strerror.c: Use the system's sprintf function.
31949         Reported by Ben Pfaff <blp@cs.stanford.edu>.
31950
31951 2010-06-04  Bruno Haible  <bruno@clisp.org>
31952
31953         Prefer documented low-level autoconf macro names.
31954         * m4/lib-link.m4: Use m4_translit instead of translit.
31955         * m4/environ.m4: Likewise.
31956         * m4/mathfunc.m4: Likewise.
31957         * m4/onceonly.m4: Likewise.
31958         * m4/stdint.m4: Likewise.
31959         Suggested by Eric Blake.
31960
31961 2010-06-04  Martin Lambers  <marlam@marlam.de>
31962             Bruno Haible  <bruno@clisp.org>
31963
31964         havelib: Allow library names with '+' characters.
31965         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
31966         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
31967
31968 2010-06-09  Bruno Haible  <bruno@clisp.org>
31969
31970         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
31971         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
31972         realloc failed.
31973
31974 2010-06-08  Peter Simons  <simons@cryp.to>
31975
31976         maint.mk: make the news-check rule more configurable
31977         * top/maint.mk (news-check-lines-spec): New variable.
31978         (news-check): Use "sed -n 1,10p" in place of "head".
31979
31980 2010-06-07  Jim Meyering  <meyering@redhat.com>
31981
31982         do-release-commit-and-tag: fix typo in --help
31983         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
31984
31985         regex: avoid new dead-code warning with gcc-4.6.0
31986         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
31987         if-block containing a while-loop.  It's been unused for at least
31988         5 years.
31989
31990 2010-06-05  Bruno Haible  <bruno@clisp.org>
31991
31992         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
31993         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
31994
31995 2010-06-04  Bruno Haible  <bruno@clisp.org>
31996
31997         Update to GNU gettext 0.18.1.
31998         * modules/gettext (configure.ac): Require gettext infrastructure from
31999         version 0.18.1.
32000
32001 2010-06-03  Bruno Haible  <bruno@clisp.org>
32002
32003         Don't use AC_LIBOBJ with file names in subdirectories.
32004         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
32005         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
32006         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
32007         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
32008         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
32009         gl_LIBUNISTRING_LIBSOURCE.
32010         (Makefile.am): Augment lib_SOURCES here, conditionally.
32011         * NEWS: Drop requirement for Automake option 'subdir-objects'.
32012
32013 2010-06-03  Bruno Haible  <bruno@clisp.org>
32014
32015         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
32016         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
32017         expansion does not end with a newline.
32018         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
32019         unnecessary newline.
32020
32021 2010-06-03  Bruno Haible  <bruno@clisp.org>
32022
32023         Reduce dependencies.
32024         * tests/test-quotearg.h: New file, extracted from
32025         tests/test-quotearg.c.
32026         * tests/test-quotearg-simple.c: New file, extracted from
32027         tests/test-quotearg.c.
32028         * tests/test-quotearg.c: Don't include <ctype.h>.
32029         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
32030         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
32031         use_quote_double_quotes, use_quotearg_colon): Moved to
32032         tests/test-quotearg.h.
32033         (results_g, flag_results, custom_quotes, custom_results): Moved
32034         to tests/test-quotearg-simple.c.
32035         (main): Moved the part that does not depend on gettext to
32036         tests/test-quotearg-simple.c. Return 77 if the test cannot be
32037         performed.
32038         * modules/quotearg-simple: New file.
32039         * modules/quotearg-simple-tests: New file.
32040         * modules/quotearg (Depends-on): Add quotearg-simple.
32041         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
32042         (Files): Add tests/test-quotearg.h.
32043         Reported by Paolo Bonzini.
32044
32045 2010-06-03  Bruno Haible  <bruno@clisp.org>
32046
32047         Reduce dependencies.
32048         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
32049
32050 2010-06-03  Bruno Haible  <bruno@clisp.org>
32051
32052         time: Undefine more broken macros.
32053         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
32054         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
32055         Reported by Eric Blake.
32056
32057 2010-06-03  Bruno Haible  <bruno@clisp.org>
32058
32059         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
32060         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
32061         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
32062         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
32063         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
32064         Reported by Ludovic Courtès <ludo@gnu.org>.
32065
32066 2010-06-02  Eric Blake  <eblake@redhat.com>
32067
32068         time: work with mingw + pthreads-win32 library
32069         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
32070         if timespec is defined only in pthread.h.
32071         * modules/time (Makefile.am): Substitute it.
32072         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
32073         <pthread.h>, when needed.
32074         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
32075         from the library.
32076
32077 2010-05-31  Bruno Haible  <bruno@clisp.org>
32078
32079         Avoid expanding two macros in the wrong order.
32080         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
32081         gl_LIBUNISTRING if it is defined.
32082         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
32083         autoconf >= 2.64.
32084         Reported by Ludovic Courtès <ludo@gnu.org>.
32085
32086 2010-05-27  Jim Meyering  <meyering@redhat.com>
32087
32088         maint.mk: also prohibit "#undef" of always-defined symbols
32089         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
32090         Allow more than one space before the symbol name.
32091         (sc_prohibit_always-defined_macros): Use grep's -E, now that
32092         the regexp uses alternation.
32093
32094 2010-05-26  Eric Blake  <eblake@redhat.com>
32095
32096         maint.mk: avoid echo -e
32097         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
32098         Convert all uses of echo -* to printf.
32099         Reported by Matthias Bolte.
32100
32101 2010-05-25  Bruno Haible  <bruno@clisp.org>
32102
32103         Update to GNU gettext 0.18, part 2.
32104         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
32105         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
32106
32107 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32108
32109         Add missing include in test-pwrite.c.
32110         * tests/test-pwrite.c: Include string.h, for strcmp.
32111
32112 2010-05-24  Bruno Haible  <bruno@clisp.org>
32113
32114         * NEWS: Mention requirement for Automake option 'subdir-objects'.
32115
32116 2010-05-24  Bruno Haible  <bruno@clisp.org>
32117
32118         Don't use conversion with transliteration in u{8,16,32}_strcoll.
32119         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
32120         iconveh_error argument.
32121         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
32122         U_STRCONV_TO_LOCALE.
32123         * lib/unistr/u16-strcoll.c: Likewise.
32124         * lib/unistr/u32-strcoll.c: Likewise.
32125         * modules/unistr/u8-strcoll (Depends-on): Add
32126         uniconv/u8-strconv-to-enc, localcharset. Remove
32127         uniconv/u8-strconv-to-locale.
32128         (configure.ac): Bump version number.
32129         * modules/unistr/u16-strcoll (Depends-on): Add
32130         uniconv/u16-strconv-to-enc, localcharset. Remove
32131         uniconv/u16-strconv-to-locale.
32132         (configure.ac): Bump version number.
32133         * modules/unistr/u32-strcoll (Depends-on): Add
32134         uniconv/u32-strconv-to-enc, localcharset. Remove
32135         uniconv/u32-strconv-to-locale.
32136         (configure.ac): Bump version number.
32137
32138 2010-05-24  Bruno Haible  <bruno@clisp.org>
32139
32140         Avoid a test failure on NetBSD 5.0.
32141         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
32142         an iconv() bug.
32143
32144 2010-05-24  Bruno Haible  <bruno@clisp.org>
32145
32146         Adjust #include directive style.
32147         * modules/regex (Includes): Recommend to write <regex.h>.
32148
32149 2010-05-24  Bruno Haible  <bruno@clisp.org>
32150
32151         regex: Don't require alloca.
32152         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
32153         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
32154         only inside if (0).
32155
32156 2010-05-23  Jim Meyering  <meyering@redhat.com>
32157
32158         test-renameat.c: include <sys/stat.h>
32159         * tests/test-renameat.c: Include <sys/stat.h>; required for
32160         definition of S_IS* macros.
32161
32162 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
32163
32164         Update maintainer documentation for 'relocatable-prog' module.
32165         * doc/relocatable-maint.texi: Update.
32166         Comments by Bruno Haible.
32167
32168 2010-05-23  Bruno Haible  <bruno@clisp.org>
32169
32170         git-merge-changelog: Enable --split-merged-entry by default.
32171         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
32172         (usage): Don't mention this option any more.
32173         Reported by Ralf Wildenhues.
32174
32175 2010-05-23  Jim Meyering  <meyering@redhat.com>
32176
32177         test-pwrite: do not leave behind a test file named "out"
32178         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
32179         The trivial-looking use of init.sh is really necessary.
32180         It ensures that the temporary file, "out", is created in
32181         a temporary directory, and removed upon termination.
32182         * tests/test-pwrite.sh: Re-add file.
32183         * modules/pwrite-tests: Reference it.
32184
32185 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32186
32187         Fix output redirection buglet in init.sh.
32188         * tests/init.sh: Fix redirection of stderr.
32189
32190 2010-05-20  Simon Josefsson  <simon@josefsson.org>
32191
32192         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
32193
32194 2010-05-17  Simon Josefsson  <simon@josefsson.org>
32195
32196         * modules/valgrind-tests: New file.
32197         * m4/valgrind-tests.m4: New file.
32198         * doc/valgrind-tests.texi: New file.
32199         * doc/gnulib.texi (Running self-tests under valgrind): New
32200         section.
32201
32202 2010-05-19  Bruno Haible  <bruno@clisp.org>
32203
32204         Clean up dead code in recent commit.
32205         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
32206         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
32207         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
32208         Suggested by Paolo Bonzini.
32209
32210 2010-05-19  Bruno Haible  <bruno@clisp.org>
32211
32212         Avoid valgrind error reports from libunistring.
32213         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
32214         * modules/libunistring (Files): Add it.
32215         * modules/libunistring-optional (Files): Likewise.
32216
32217 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
32218             Bruno Haible  <bruno@clisp.org>
32219
32220         New module 'libunistring-optional'.
32221         * modules/libunistring-optional: New file.
32222         * m4/libunistring-base.m4: New file.
32223         * m4/libunistring-optional.m4: New file.
32224         * lib/unicase.in.h: Renamed from lib/unicase.h.
32225         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
32226         * lib/unictype.in.h: Renamed from lib/unictype.h.
32227         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
32228         * lib/uniname.in.h: Renamed from lib/uniname.h.
32229         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
32230         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
32231         * lib/unistr.in.h: Renamed from lib/unistr.h.
32232         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
32233         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
32234         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
32235         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
32236         gl_LIBUNISTRING. If the library was found, determine the installed
32237         version and set LIBUNISTRING_VERSION.
32238         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
32239         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
32240         handle a configuration option --with-included-libunistring.
32241         * modules/libunistring (Files): Add m4/absolute-header.m4.
32242         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
32243         Add m4/libunistring-base.m4.
32244         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32245         (Makefile.am): Build unicase.h from unicase.in.h.
32246         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
32247         Add m4/libunistring-base.m4.
32248         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32249         (Makefile.am): Build uniconv.h from uniconv.in.h.
32250         * modules/unictype/base (Files): Use unictype.in.h instead of
32251         unictype.h. Add m4/libunistring-base.m4.
32252         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32253         (Makefile.am): Build unictype.h from unictype.in.h.
32254         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
32255         Add m4/libunistring-base.m4.
32256         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32257         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
32258         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
32259         Add m4/libunistring-base.m4.
32260         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32261         (Makefile.am): Build uniname.h from uniname.in.h.
32262         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
32263         Add m4/libunistring-base.m4.
32264         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32265         (Makefile.am): Build uninorm.h from uninorm.in.h.
32266         * modules/unistdio/base (Files): Use unistdio.in.h instead of
32267         unistdio.h. Add m4/libunistring-base.m4.
32268         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32269         (Makefile.am): Build unistdio.h from unistdio.in.h.
32270         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
32271         Add m4/libunistring-base.m4.
32272         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32273         (Makefile.am): Build unistr.h from unistr.in.h.
32274         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
32275         Add m4/libunistring-base.m4.
32276         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32277         (Makefile.am): Build unitypes.h from unitypes.in.h.
32278         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
32279         Add m4/libunistring-base.m4.
32280         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32281         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
32282         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
32283         uniwidth.h. Add m4/libunistring-base.m4.
32284         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32285         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
32286         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
32287         instead of augmenting lib_SOURCES.
32288         * modules/unicase/empty-suffix-context: Likewise.
32289         * modules/unicase/locale-language: Likewise.
32290         * modules/unicase/tolower: Likewise.
32291         * modules/unicase/totitle: Likewise.
32292         * modules/unicase/toupper: Likewise.
32293         * modules/unicase/u8-casecmp: Likewise.
32294         * modules/unicase/u8-casecoll: Likewise.
32295         * modules/unicase/u8-casefold: Likewise.
32296         * modules/unicase/u8-casexfrm: Likewise.
32297         * modules/unicase/u8-ct-casefold: Likewise.
32298         * modules/unicase/u8-ct-tolower: Likewise.
32299         * modules/unicase/u8-ct-totitle: Likewise.
32300         * modules/unicase/u8-ct-toupper: Likewise.
32301         * modules/unicase/u8-is-cased: Likewise.
32302         * modules/unicase/u8-is-casefolded: Likewise.
32303         * modules/unicase/u8-is-lowercase: Likewise.
32304         * modules/unicase/u8-is-titlecase: Likewise.
32305         * modules/unicase/u8-is-uppercase: Likewise.
32306         * modules/unicase/u8-prefix-context: Likewise.
32307         * modules/unicase/u8-suffix-context: Likewise.
32308         * modules/unicase/u8-tolower: Likewise.
32309         * modules/unicase/u8-totitle: Likewise.
32310         * modules/unicase/u8-toupper: Likewise.
32311         * modules/unicase/u16-casecmp: Likewise.
32312         * modules/unicase/u16-casecoll: Likewise.
32313         * modules/unicase/u16-casefold: Likewise.
32314         * modules/unicase/u16-casexfrm: Likewise.
32315         * modules/unicase/u16-ct-casefold: Likewise.
32316         * modules/unicase/u16-ct-tolower: Likewise.
32317         * modules/unicase/u16-ct-totitle: Likewise.
32318         * modules/unicase/u16-ct-toupper: Likewise.
32319         * modules/unicase/u16-is-cased: Likewise.
32320         * modules/unicase/u16-is-casefolded: Likewise.
32321         * modules/unicase/u16-is-lowercase: Likewise.
32322         * modules/unicase/u16-is-titlecase: Likewise.
32323         * modules/unicase/u16-is-uppercase: Likewise.
32324         * modules/unicase/u16-prefix-context: Likewise.
32325         * modules/unicase/u16-suffix-context: Likewise.
32326         * modules/unicase/u16-tolower: Likewise.
32327         * modules/unicase/u16-totitle: Likewise.
32328         * modules/unicase/u16-toupper: Likewise.
32329         * modules/unicase/u32-casecmp: Likewise.
32330         * modules/unicase/u32-casecoll: Likewise.
32331         * modules/unicase/u32-casefold: Likewise.
32332         * modules/unicase/u32-casexfrm: Likewise.
32333         * modules/unicase/u32-ct-casefold: Likewise.
32334         * modules/unicase/u32-ct-tolower: Likewise.
32335         * modules/unicase/u32-ct-totitle: Likewise.
32336         * modules/unicase/u32-ct-toupper: Likewise.
32337         * modules/unicase/u32-is-cased: Likewise.
32338         * modules/unicase/u32-is-casefolded: Likewise.
32339         * modules/unicase/u32-is-lowercase: Likewise.
32340         * modules/unicase/u32-is-titlecase: Likewise.
32341         * modules/unicase/u32-is-uppercase: Likewise.
32342         * modules/unicase/u32-prefix-context: Likewise.
32343         * modules/unicase/u32-suffix-context: Likewise.
32344         * modules/unicase/u32-tolower: Likewise.
32345         * modules/unicase/u32-totitle: Likewise.
32346         * modules/unicase/u32-toupper: Likewise.
32347         * modules/unicase/ulc-casecmp: Likewise.
32348         * modules/unicase/ulc-casecoll: Likewise.
32349         * modules/unicase/ulc-casexfrm: Likewise.
32350         * modules/uniconv/u8-conv-from-enc: Likewise.
32351         * modules/uniconv/u8-conv-to-enc: Likewise.
32352         * modules/uniconv/u8-strconv-from-enc: Likewise.
32353         * modules/uniconv/u8-strconv-from-locale: Likewise.
32354         * modules/uniconv/u8-strconv-to-enc: Likewise.
32355         * modules/uniconv/u8-strconv-to-locale: Likewise.
32356         * modules/uniconv/u16-conv-from-enc: Likewise.
32357         * modules/uniconv/u16-conv-to-enc: Likewise.
32358         * modules/uniconv/u16-strconv-from-enc: Likewise.
32359         * modules/uniconv/u16-strconv-from-locale: Likewise.
32360         * modules/uniconv/u16-strconv-to-enc: Likewise.
32361         * modules/uniconv/u16-strconv-to-locale: Likewise.
32362         * modules/uniconv/u32-conv-from-enc: Likewise.
32363         * modules/uniconv/u32-conv-to-enc: Likewise.
32364         * modules/uniconv/u32-strconv-from-enc: Likewise.
32365         * modules/uniconv/u32-strconv-from-locale: Likewise.
32366         * modules/uniconv/u32-strconv-to-enc: Likewise.
32367         * modules/uniconv/u32-strconv-to-locale: Likewise.
32368         * modules/unictype/bidicategory-byname: Likewise.
32369         * modules/unictype/bidicategory-name: Likewise.
32370         * modules/unictype/bidicategory-of: Likewise.
32371         * modules/unictype/bidicategory-test: Likewise.
32372         * modules/unictype/block-list: Likewise.
32373         * modules/unictype/block-test: Likewise.
32374         * modules/unictype/category-C: Likewise.
32375         * modules/unictype/category-Cc: Likewise.
32376         * modules/unictype/category-Cf: Likewise.
32377         * modules/unictype/category-Cn: Likewise.
32378         * modules/unictype/category-Co: Likewise.
32379         * modules/unictype/category-Cs: Likewise.
32380         * modules/unictype/category-L: Likewise.
32381         * modules/unictype/category-Ll: Likewise.
32382         * modules/unictype/category-Lm: Likewise.
32383         * modules/unictype/category-Lo: Likewise.
32384         * modules/unictype/category-Lt: Likewise.
32385         * modules/unictype/category-Lu: Likewise.
32386         * modules/unictype/category-M: Likewise.
32387         * modules/unictype/category-Mc: Likewise.
32388         * modules/unictype/category-Me: Likewise.
32389         * modules/unictype/category-Mn: Likewise.
32390         * modules/unictype/category-N: Likewise.
32391         * modules/unictype/category-Nd: Likewise.
32392         * modules/unictype/category-Nl: Likewise.
32393         * modules/unictype/category-No: Likewise.
32394         * modules/unictype/category-P: Likewise.
32395         * modules/unictype/category-Pc: Likewise.
32396         * modules/unictype/category-Pd: Likewise.
32397         * modules/unictype/category-Pe: Likewise.
32398         * modules/unictype/category-Pf: Likewise.
32399         * modules/unictype/category-Pi: Likewise.
32400         * modules/unictype/category-Po: Likewise.
32401         * modules/unictype/category-Ps: Likewise.
32402         * modules/unictype/category-S: Likewise.
32403         * modules/unictype/category-Sc: Likewise.
32404         * modules/unictype/category-Sk: Likewise.
32405         * modules/unictype/category-Sm: Likewise.
32406         * modules/unictype/category-So: Likewise.
32407         * modules/unictype/category-Z: Likewise.
32408         * modules/unictype/category-Zl: Likewise.
32409         * modules/unictype/category-Zp: Likewise.
32410         * modules/unictype/category-Zs: Likewise.
32411         * modules/unictype/category-and: Likewise.
32412         * modules/unictype/category-and-not: Likewise.
32413         * modules/unictype/category-byname: Likewise.
32414         * modules/unictype/category-name: Likewise.
32415         * modules/unictype/category-none: Likewise.
32416         * modules/unictype/category-of: Likewise.
32417         * modules/unictype/category-or: Likewise.
32418         * modules/unictype/category-test: Likewise.
32419         * modules/unictype/combining-class: Likewise.
32420         * modules/unictype/ctype-alnum: Likewise.
32421         * modules/unictype/ctype-alpha: Likewise.
32422         * modules/unictype/ctype-blank: Likewise.
32423         * modules/unictype/ctype-cntrl: Likewise.
32424         * modules/unictype/ctype-digit: Likewise.
32425         * modules/unictype/ctype-graph: Likewise.
32426         * modules/unictype/ctype-lower: Likewise.
32427         * modules/unictype/ctype-print: Likewise.
32428         * modules/unictype/ctype-punct: Likewise.
32429         * modules/unictype/ctype-space: Likewise.
32430         * modules/unictype/ctype-upper: Likewise.
32431         * modules/unictype/ctype-xdigit: Likewise.
32432         * modules/unictype/decimal-digit: Likewise.
32433         * modules/unictype/digit: Likewise.
32434         * modules/unictype/mirror: Likewise.
32435         * modules/unictype/numeric: Likewise.
32436         * modules/unictype/property-alphabetic: Likewise.
32437         * modules/unictype/property-ascii-hex-digit: Likewise.
32438         * modules/unictype/property-bidi-arabic-digit: Likewise.
32439         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
32440         * modules/unictype/property-bidi-block-separator: Likewise.
32441         * modules/unictype/property-bidi-boundary-neutral: Likewise.
32442         * modules/unictype/property-bidi-common-separator: Likewise.
32443         * modules/unictype/property-bidi-control: Likewise.
32444         * modules/unictype/property-bidi-embedding-or-override: Likewise.
32445         * modules/unictype/property-bidi-eur-num-separator: Likewise.
32446         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
32447         * modules/unictype/property-bidi-european-digit: Likewise.
32448         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
32449         * modules/unictype/property-bidi-left-to-right: Likewise.
32450         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
32451         * modules/unictype/property-bidi-other-neutral: Likewise.
32452         * modules/unictype/property-bidi-pdf: Likewise.
32453         * modules/unictype/property-bidi-segment-separator: Likewise.
32454         * modules/unictype/property-bidi-whitespace: Likewise.
32455         * modules/unictype/property-byname: Likewise.
32456         * modules/unictype/property-combining: Likewise.
32457         * modules/unictype/property-composite: Likewise.
32458         * modules/unictype/property-currency-symbol: Likewise.
32459         * modules/unictype/property-dash: Likewise.
32460         * modules/unictype/property-decimal-digit: Likewise.
32461         * modules/unictype/property-default-ignorable-code-point: Likewise.
32462         * modules/unictype/property-deprecated: Likewise.
32463         * modules/unictype/property-diacritic: Likewise.
32464         * modules/unictype/property-extender: Likewise.
32465         * modules/unictype/property-format-control: Likewise.
32466         * modules/unictype/property-grapheme-base: Likewise.
32467         * modules/unictype/property-grapheme-extend: Likewise.
32468         * modules/unictype/property-grapheme-link: Likewise.
32469         * modules/unictype/property-hex-digit: Likewise.
32470         * modules/unictype/property-hyphen: Likewise.
32471         * modules/unictype/property-id-continue: Likewise.
32472         * modules/unictype/property-id-start: Likewise.
32473         * modules/unictype/property-ideographic: Likewise.
32474         * modules/unictype/property-ids-binary-operator: Likewise.
32475         * modules/unictype/property-ids-trinary-operator: Likewise.
32476         * modules/unictype/property-ignorable-control: Likewise.
32477         * modules/unictype/property-iso-control: Likewise.
32478         * modules/unictype/property-join-control: Likewise.
32479         * modules/unictype/property-left-of-pair: Likewise.
32480         * modules/unictype/property-line-separator: Likewise.
32481         * modules/unictype/property-logical-order-exception: Likewise.
32482         * modules/unictype/property-lowercase: Likewise.
32483         * modules/unictype/property-math: Likewise.
32484         * modules/unictype/property-non-break: Likewise.
32485         * modules/unictype/property-not-a-character: Likewise.
32486         * modules/unictype/property-numeric: Likewise.
32487         * modules/unictype/property-other-alphabetic: Likewise.
32488         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
32489         * modules/unictype/property-other-grapheme-extend: Likewise.
32490         * modules/unictype/property-other-id-continue: Likewise.
32491         * modules/unictype/property-other-id-start: Likewise.
32492         * modules/unictype/property-other-lowercase: Likewise.
32493         * modules/unictype/property-other-math: Likewise.
32494         * modules/unictype/property-other-uppercase: Likewise.
32495         * modules/unictype/property-paired-punctuation: Likewise.
32496         * modules/unictype/property-paragraph-separator: Likewise.
32497         * modules/unictype/property-pattern-syntax: Likewise.
32498         * modules/unictype/property-pattern-white-space: Likewise.
32499         * modules/unictype/property-private-use: Likewise.
32500         * modules/unictype/property-punctuation: Likewise.
32501         * modules/unictype/property-quotation-mark: Likewise.
32502         * modules/unictype/property-radical: Likewise.
32503         * modules/unictype/property-sentence-terminal: Likewise.
32504         * modules/unictype/property-soft-dotted: Likewise.
32505         * modules/unictype/property-space: Likewise.
32506         * modules/unictype/property-terminal-punctuation: Likewise.
32507         * modules/unictype/property-test: Likewise.
32508         * modules/unictype/property-titlecase: Likewise.
32509         * modules/unictype/property-unassigned-code-value: Likewise.
32510         * modules/unictype/property-unified-ideograph: Likewise.
32511         * modules/unictype/property-uppercase: Likewise.
32512         * modules/unictype/property-variation-selector: Likewise.
32513         * modules/unictype/property-white-space: Likewise.
32514         * modules/unictype/property-xid-continue: Likewise.
32515         * modules/unictype/property-xid-start: Likewise.
32516         * modules/unictype/property-zero-width: Likewise.
32517         * modules/unictype/scripts: Likewise.
32518         * modules/unictype/syntax-c-ident: Likewise.
32519         * modules/unictype/syntax-c-whitespace: Likewise.
32520         * modules/unictype/syntax-java-ident: Likewise.
32521         * modules/unictype/syntax-java-whitespace: Likewise.
32522         * modules/unilbrk/u8-possible-linebreaks: Likewise.
32523         * modules/unilbrk/u8-width-linebreaks: Likewise.
32524         * modules/unilbrk/u16-possible-linebreaks: Likewise.
32525         * modules/unilbrk/u16-width-linebreaks: Likewise.
32526         * modules/unilbrk/u32-possible-linebreaks: Likewise.
32527         * modules/unilbrk/u32-width-linebreaks: Likewise.
32528         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
32529         * modules/unilbrk/ulc-width-linebreaks: Likewise.
32530         * modules/uniname/uniname: Likewise.
32531         * modules/uninorm/canonical-decomposition: Likewise.
32532         * modules/uninorm/composition: Likewise.
32533         * modules/uninorm/decomposing-form: Likewise.
32534         * modules/uninorm/decomposition: Likewise.
32535         * modules/uninorm/filter: Likewise.
32536         * modules/uninorm/nfc: Likewise.
32537         * modules/uninorm/nfd: Likewise.
32538         * modules/uninorm/nfkc: Likewise.
32539         * modules/uninorm/nfkd: Likewise.
32540         * modules/uninorm/u8-normalize: Likewise.
32541         * modules/uninorm/u8-normcmp: Likewise.
32542         * modules/uninorm/u8-normcoll: Likewise.
32543         * modules/uninorm/u8-normxfrm: Likewise.
32544         * modules/uninorm/u16-normalize: Likewise.
32545         * modules/uninorm/u16-normcmp: Likewise.
32546         * modules/uninorm/u16-normcoll: Likewise.
32547         * modules/uninorm/u16-normxfrm: Likewise.
32548         * modules/uninorm/u32-normalize: Likewise.
32549         * modules/uninorm/u32-normcmp: Likewise.
32550         * modules/uninorm/u32-normcoll: Likewise.
32551         * modules/uninorm/u32-normxfrm: Likewise.
32552         * modules/unistdio/u8-asnprintf: Likewise.
32553         * modules/unistdio/u8-asprintf: Likewise.
32554         * modules/unistdio/u8-snprintf: Likewise.
32555         * modules/unistdio/u8-sprintf: Likewise.
32556         * modules/unistdio/u8-u8-asnprintf: Likewise.
32557         * modules/unistdio/u8-u8-asprintf: Likewise.
32558         * modules/unistdio/u8-u8-snprintf: Likewise.
32559         * modules/unistdio/u8-u8-sprintf: Likewise.
32560         * modules/unistdio/u8-u8-vasnprintf: Likewise.
32561         * modules/unistdio/u8-u8-vasprintf: Likewise.
32562         * modules/unistdio/u8-u8-vsnprintf: Likewise.
32563         * modules/unistdio/u8-u8-vsprintf: Likewise.
32564         * modules/unistdio/u8-vasnprintf: Likewise.
32565         * modules/unistdio/u8-vasprintf: Likewise.
32566         * modules/unistdio/u8-vsnprintf: Likewise.
32567         * modules/unistdio/u8-vsprintf: Likewise.
32568         * modules/unistdio/u16-asnprintf: Likewise.
32569         * modules/unistdio/u16-asprintf: Likewise.
32570         * modules/unistdio/u16-snprintf: Likewise.
32571         * modules/unistdio/u16-sprintf: Likewise.
32572         * modules/unistdio/u16-u16-asnprintf: Likewise.
32573         * modules/unistdio/u16-u16-asprintf: Likewise.
32574         * modules/unistdio/u16-u16-snprintf: Likewise.
32575         * modules/unistdio/u16-u16-sprintf: Likewise.
32576         * modules/unistdio/u16-u16-vasnprintf: Likewise.
32577         * modules/unistdio/u16-u16-vasprintf: Likewise.
32578         * modules/unistdio/u16-u16-vsnprintf: Likewise.
32579         * modules/unistdio/u16-u16-vsprintf: Likewise.
32580         * modules/unistdio/u16-vasnprintf: Likewise.
32581         * modules/unistdio/u16-vasprintf: Likewise.
32582         * modules/unistdio/u16-vsnprintf: Likewise.
32583         * modules/unistdio/u16-vsprintf: Likewise.
32584         * modules/unistdio/u32-asnprintf: Likewise.
32585         * modules/unistdio/u32-asprintf: Likewise.
32586         * modules/unistdio/u32-snprintf: Likewise.
32587         * modules/unistdio/u32-sprintf: Likewise.
32588         * modules/unistdio/u32-u32-asnprintf: Likewise.
32589         * modules/unistdio/u32-u32-asprintf: Likewise.
32590         * modules/unistdio/u32-u32-snprintf: Likewise.
32591         * modules/unistdio/u32-u32-sprintf: Likewise.
32592         * modules/unistdio/u32-u32-vasnprintf: Likewise.
32593         * modules/unistdio/u32-u32-vasprintf: Likewise.
32594         * modules/unistdio/u32-u32-vsnprintf: Likewise.
32595         * modules/unistdio/u32-u32-vsprintf: Likewise.
32596         * modules/unistdio/u32-vasnprintf: Likewise.
32597         * modules/unistdio/u32-vasprintf: Likewise.
32598         * modules/unistdio/u32-vsnprintf: Likewise.
32599         * modules/unistdio/u32-vsprintf: Likewise.
32600         * modules/unistdio/ulc-asnprintf: Likewise.
32601         * modules/unistdio/ulc-asprintf: Likewise.
32602         * modules/unistdio/ulc-fprintf: Likewise.
32603         * modules/unistdio/ulc-snprintf: Likewise.
32604         * modules/unistdio/ulc-sprintf: Likewise.
32605         * modules/unistdio/ulc-vasnprintf: Likewise.
32606         * modules/unistdio/ulc-vasprintf: Likewise.
32607         * modules/unistdio/ulc-vfprintf: Likewise.
32608         * modules/unistdio/ulc-vsnprintf: Likewise.
32609         * modules/unistdio/ulc-vsprintf: Likewise.
32610         * modules/unistr/u8-check: Likewise.
32611         * modules/unistr/u8-chr: Likewise.
32612         * modules/unistr/u8-cmp: Likewise.
32613         * modules/unistr/u8-cmp2: Likewise.
32614         * modules/unistr/u8-cpy: Likewise.
32615         * modules/unistr/u8-cpy-alloc: Likewise.
32616         * modules/unistr/u8-endswith: Likewise.
32617         * modules/unistr/u8-mblen: Likewise.
32618         * modules/unistr/u8-mbsnlen: Likewise.
32619         * modules/unistr/u8-mbtouc: Likewise.
32620         * modules/unistr/u8-mbtouc-unsafe: Likewise.
32621         * modules/unistr/u8-mbtoucr: Likewise.
32622         * modules/unistr/u8-move: Likewise.
32623         * modules/unistr/u8-next: Likewise.
32624         * modules/unistr/u8-prev: Likewise.
32625         * modules/unistr/u8-set: Likewise.
32626         * modules/unistr/u8-startswith: Likewise.
32627         * modules/unistr/u8-stpcpy: Likewise.
32628         * modules/unistr/u8-stpncpy: Likewise.
32629         * modules/unistr/u8-strcat: Likewise.
32630         * modules/unistr/u8-strchr: Likewise.
32631         * modules/unistr/u8-strcmp: Likewise.
32632         * modules/unistr/u8-strcoll: Likewise.
32633         * modules/unistr/u8-strcpy: Likewise.
32634         * modules/unistr/u8-strcspn: Likewise.
32635         * modules/unistr/u8-strdup: Likewise.
32636         * modules/unistr/u8-strlen: Likewise.
32637         * modules/unistr/u8-strmblen: Likewise.
32638         * modules/unistr/u8-strmbtouc: Likewise.
32639         * modules/unistr/u8-strncat: Likewise.
32640         * modules/unistr/u8-strncmp: Likewise.
32641         * modules/unistr/u8-strncpy: Likewise.
32642         * modules/unistr/u8-strnlen: Likewise.
32643         * modules/unistr/u8-strpbrk: Likewise.
32644         * modules/unistr/u8-strrchr: Likewise.
32645         * modules/unistr/u8-strspn: Likewise.
32646         * modules/unistr/u8-strstr: Likewise.
32647         * modules/unistr/u8-strtok: Likewise.
32648         * modules/unistr/u8-to-u16: Likewise.
32649         * modules/unistr/u8-to-u32: Likewise.
32650         * modules/unistr/u8-uctomb: Likewise.
32651         * modules/unistr/u16-check: Likewise.
32652         * modules/unistr/u16-chr: Likewise.
32653         * modules/unistr/u16-cmp: Likewise.
32654         * modules/unistr/u16-cmp2: Likewise.
32655         * modules/unistr/u16-cpy: Likewise.
32656         * modules/unistr/u16-cpy-alloc: Likewise.
32657         * modules/unistr/u16-endswith: Likewise.
32658         * modules/unistr/u16-mblen: Likewise.
32659         * modules/unistr/u16-mbsnlen: Likewise.
32660         * modules/unistr/u16-mbtouc: Likewise.
32661         * modules/unistr/u16-mbtouc-unsafe: Likewise.
32662         * modules/unistr/u16-mbtoucr: Likewise.
32663         * modules/unistr/u16-move: Likewise.
32664         * modules/unistr/u16-next: Likewise.
32665         * modules/unistr/u16-prev: Likewise.
32666         * modules/unistr/u16-set: Likewise.
32667         * modules/unistr/u16-startswith: Likewise.
32668         * modules/unistr/u16-stpcpy: Likewise.
32669         * modules/unistr/u16-stpncpy: Likewise.
32670         * modules/unistr/u16-strcat: Likewise.
32671         * modules/unistr/u16-strchr: Likewise.
32672         * modules/unistr/u16-strcmp: Likewise.
32673         * modules/unistr/u16-strcoll: Likewise.
32674         * modules/unistr/u16-strcpy: Likewise.
32675         * modules/unistr/u16-strcspn: Likewise.
32676         * modules/unistr/u16-strdup: Likewise.
32677         * modules/unistr/u16-strlen: Likewise.
32678         * modules/unistr/u16-strmblen: Likewise.
32679         * modules/unistr/u16-strmbtouc: Likewise.
32680         * modules/unistr/u16-strncat: Likewise.
32681         * modules/unistr/u16-strncmp: Likewise.
32682         * modules/unistr/u16-strncpy: Likewise.
32683         * modules/unistr/u16-strnlen: Likewise.
32684         * modules/unistr/u16-strpbrk: Likewise.
32685         * modules/unistr/u16-strrchr: Likewise.
32686         * modules/unistr/u16-strspn: Likewise.
32687         * modules/unistr/u16-strstr: Likewise.
32688         * modules/unistr/u16-strtok: Likewise.
32689         * modules/unistr/u16-to-u32: Likewise.
32690         * modules/unistr/u16-to-u8: Likewise.
32691         * modules/unistr/u16-uctomb: Likewise.
32692         * modules/unistr/u32-check: Likewise.
32693         * modules/unistr/u32-chr: Likewise.
32694         * modules/unistr/u32-cmp: Likewise.
32695         * modules/unistr/u32-cmp2: Likewise.
32696         * modules/unistr/u32-cpy: Likewise.
32697         * modules/unistr/u32-cpy-alloc: Likewise.
32698         * modules/unistr/u32-endswith: Likewise.
32699         * modules/unistr/u32-mblen: Likewise.
32700         * modules/unistr/u32-mbsnlen: Likewise.
32701         * modules/unistr/u32-mbtouc: Likewise.
32702         * modules/unistr/u32-mbtouc-unsafe: Likewise.
32703         * modules/unistr/u32-mbtoucr: Likewise.
32704         * modules/unistr/u32-move: Likewise.
32705         * modules/unistr/u32-next: Likewise.
32706         * modules/unistr/u32-prev: Likewise.
32707         * modules/unistr/u32-set: Likewise.
32708         * modules/unistr/u32-startswith: Likewise.
32709         * modules/unistr/u32-stpcpy: Likewise.
32710         * modules/unistr/u32-stpncpy: Likewise.
32711         * modules/unistr/u32-strcat: Likewise.
32712         * modules/unistr/u32-strchr: Likewise.
32713         * modules/unistr/u32-strcmp: Likewise.
32714         * modules/unistr/u32-strcoll: Likewise.
32715         * modules/unistr/u32-strcpy: Likewise.
32716         * modules/unistr/u32-strcspn: Likewise.
32717         * modules/unistr/u32-strdup: Likewise.
32718         * modules/unistr/u32-strlen: Likewise.
32719         * modules/unistr/u32-strmblen: Likewise.
32720         * modules/unistr/u32-strmbtouc: Likewise.
32721         * modules/unistr/u32-strncat: Likewise.
32722         * modules/unistr/u32-strncmp: Likewise.
32723         * modules/unistr/u32-strncpy: Likewise.
32724         * modules/unistr/u32-strnlen: Likewise.
32725         * modules/unistr/u32-strpbrk: Likewise.
32726         * modules/unistr/u32-strrchr: Likewise.
32727         * modules/unistr/u32-strspn: Likewise.
32728         * modules/unistr/u32-strstr: Likewise.
32729         * modules/unistr/u32-strtok: Likewise.
32730         * modules/unistr/u32-to-u16: Likewise.
32731         * modules/unistr/u32-to-u8: Likewise.
32732         * modules/unistr/u32-uctomb: Likewise.
32733         * modules/uniwbrk/u8-wordbreaks: Likewise.
32734         * modules/uniwbrk/u16-wordbreaks: Likewise.
32735         * modules/uniwbrk/u32-wordbreaks: Likewise.
32736         * modules/uniwbrk/ulc-wordbreaks: Likewise.
32737         * modules/uniwbrk/wordbreak-property: Likewise.
32738         * modules/uniwidth/u8-strwidth: Likewise.
32739         * modules/uniwidth/u8-width: Likewise.
32740         * modules/uniwidth/u16-strwidth: Likewise.
32741         * modules/uniwidth/u16-width: Likewise.
32742         * modules/uniwidth/u32-strwidth: Likewise.
32743         * modules/uniwidth/u32-width: Likewise.
32744         * modules/uniwidth/width: Likewise.
32745         * modules/unicase/cased-tests (Makefile.am): Link all test programs
32746         with $(LIBUNISTRING).
32747         * modules/unicase/ignorable-tests: Likewise.
32748         * modules/unicase/locale-language-tests: Likewise.
32749         * modules/unicase/tolower-tests: Likewise.
32750         * modules/unicase/totitle-tests: Likewise.
32751         * modules/unicase/toupper-tests: Likewise.
32752         * modules/unicase/u8-casecmp-tests: Likewise.
32753         * modules/unicase/u8-casecoll-tests: Likewise.
32754         * modules/unicase/u8-casefold-tests: Likewise.
32755         * modules/unicase/u8-is-cased-tests: Likewise.
32756         * modules/unicase/u8-is-casefolded-tests: Likewise.
32757         * modules/unicase/u8-is-lowercase-tests: Likewise.
32758         * modules/unicase/u8-is-titlecase-tests: Likewise.
32759         * modules/unicase/u8-is-uppercase-tests: Likewise.
32760         * modules/unicase/u8-tolower-tests: Likewise.
32761         * modules/unicase/u8-totitle-tests: Likewise.
32762         * modules/unicase/u8-toupper-tests: Likewise.
32763         * modules/unicase/u16-casecmp-tests: Likewise.
32764         * modules/unicase/u16-casecoll-tests: Likewise.
32765         * modules/unicase/u16-casefold-tests: Likewise.
32766         * modules/unicase/u16-is-cased-tests: Likewise.
32767         * modules/unicase/u16-is-casefolded-tests: Likewise.
32768         * modules/unicase/u16-is-lowercase-tests: Likewise.
32769         * modules/unicase/u16-is-titlecase-tests: Likewise.
32770         * modules/unicase/u16-is-uppercase-tests: Likewise.
32771         * modules/unicase/u16-tolower-tests: Likewise.
32772         * modules/unicase/u16-totitle-tests: Likewise.
32773         * modules/unicase/u16-toupper-tests: Likewise.
32774         * modules/unicase/u32-casecmp-tests: Likewise.
32775         * modules/unicase/u32-casecoll-tests: Likewise.
32776         * modules/unicase/u32-casefold-tests: Likewise.
32777         * modules/unicase/u32-is-cased-tests: Likewise.
32778         * modules/unicase/u32-is-casefolded-tests: Likewise.
32779         * modules/unicase/u32-is-lowercase-tests: Likewise.
32780         * modules/unicase/u32-is-titlecase-tests: Likewise.
32781         * modules/unicase/u32-is-uppercase-tests: Likewise.
32782         * modules/unicase/u32-tolower-tests: Likewise.
32783         * modules/unicase/u32-totitle-tests: Likewise.
32784         * modules/unicase/u32-toupper-tests: Likewise.
32785         * modules/unicase/ulc-casecmp-tests: Likewise.
32786         * modules/unicase/ulc-casecoll-tests: Likewise.
32787         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
32788         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
32789         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
32790         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
32791         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
32792         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
32793         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
32794         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
32795         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
32796         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
32797         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
32798         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
32799         * modules/unictype/bidicategory-byname-tests: Likewise.
32800         * modules/unictype/bidicategory-name-tests: Likewise.
32801         * modules/unictype/bidicategory-of-tests: Likewise.
32802         * modules/unictype/bidicategory-test-tests: Likewise.
32803         * modules/unictype/block-list-tests: Likewise.
32804         * modules/unictype/block-of-tests: Likewise.
32805         * modules/unictype/block-test-tests: Likewise.
32806         * modules/unictype/category-C-tests: Likewise.
32807         * modules/unictype/category-Cc-tests: Likewise.
32808         * modules/unictype/category-Cf-tests: Likewise.
32809         * modules/unictype/category-Cn-tests: Likewise.
32810         * modules/unictype/category-Co-tests: Likewise.
32811         * modules/unictype/category-Cs-tests: Likewise.
32812         * modules/unictype/category-L-tests: Likewise.
32813         * modules/unictype/category-Ll-tests: Likewise.
32814         * modules/unictype/category-Lm-tests: Likewise.
32815         * modules/unictype/category-Lo-tests: Likewise.
32816         * modules/unictype/category-Lt-tests: Likewise.
32817         * modules/unictype/category-Lu-tests: Likewise.
32818         * modules/unictype/category-M-tests: Likewise.
32819         * modules/unictype/category-Mc-tests: Likewise.
32820         * modules/unictype/category-Me-tests: Likewise.
32821         * modules/unictype/category-Mn-tests: Likewise.
32822         * modules/unictype/category-N-tests: Likewise.
32823         * modules/unictype/category-Nd-tests: Likewise.
32824         * modules/unictype/category-Nl-tests: Likewise.
32825         * modules/unictype/category-No-tests: Likewise.
32826         * modules/unictype/category-P-tests: Likewise.
32827         * modules/unictype/category-Pc-tests: Likewise.
32828         * modules/unictype/category-Pd-tests: Likewise.
32829         * modules/unictype/category-Pe-tests: Likewise.
32830         * modules/unictype/category-Pf-tests: Likewise.
32831         * modules/unictype/category-Pi-tests: Likewise.
32832         * modules/unictype/category-Po-tests: Likewise.
32833         * modules/unictype/category-Ps-tests: Likewise.
32834         * modules/unictype/category-S-tests: Likewise.
32835         * modules/unictype/category-Sc-tests: Likewise.
32836         * modules/unictype/category-Sk-tests: Likewise.
32837         * modules/unictype/category-Sm-tests: Likewise.
32838         * modules/unictype/category-So-tests: Likewise.
32839         * modules/unictype/category-Z-tests: Likewise.
32840         * modules/unictype/category-Zl-tests: Likewise.
32841         * modules/unictype/category-Zp-tests: Likewise.
32842         * modules/unictype/category-Zs-tests: Likewise.
32843         * modules/unictype/category-and-not-tests: Likewise.
32844         * modules/unictype/category-and-tests: Likewise.
32845         * modules/unictype/category-byname-tests: Likewise.
32846         * modules/unictype/category-name-tests: Likewise.
32847         * modules/unictype/category-none-tests: Likewise.
32848         * modules/unictype/category-of-tests: Likewise.
32849         * modules/unictype/category-or-tests: Likewise.
32850         * modules/unictype/category-test-withtable-tests: Likewise.
32851         * modules/unictype/combining-class-tests: Likewise.
32852         * modules/unictype/ctype-alnum-tests: Likewise.
32853         * modules/unictype/ctype-alpha-tests: Likewise.
32854         * modules/unictype/ctype-blank-tests: Likewise.
32855         * modules/unictype/ctype-cntrl-tests: Likewise.
32856         * modules/unictype/ctype-digit-tests: Likewise.
32857         * modules/unictype/ctype-graph-tests: Likewise.
32858         * modules/unictype/ctype-lower-tests: Likewise.
32859         * modules/unictype/ctype-print-tests: Likewise.
32860         * modules/unictype/ctype-punct-tests: Likewise.
32861         * modules/unictype/ctype-space-tests: Likewise.
32862         * modules/unictype/ctype-upper-tests: Likewise.
32863         * modules/unictype/ctype-xdigit-tests: Likewise.
32864         * modules/unictype/decimal-digit-tests: Likewise.
32865         * modules/unictype/digit-tests: Likewise.
32866         * modules/unictype/mirror-tests: Likewise.
32867         * modules/unictype/numeric-tests: Likewise.
32868         * modules/unictype/property-alphabetic-tests: Likewise.
32869         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
32870         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
32871         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
32872         * modules/unictype/property-bidi-block-separator-tests: Likewise.
32873         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
32874         * modules/unictype/property-bidi-common-separator-tests: Likewise.
32875         * modules/unictype/property-bidi-control-tests: Likewise.
32876         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
32877         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
32878         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
32879         * modules/unictype/property-bidi-european-digit-tests: Likewise.
32880         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
32881         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
32882         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
32883         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
32884         * modules/unictype/property-bidi-pdf-tests: Likewise.
32885         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
32886         * modules/unictype/property-bidi-whitespace-tests: Likewise.
32887         * modules/unictype/property-byname-tests: Likewise.
32888         * modules/unictype/property-combining-tests: Likewise.
32889         * modules/unictype/property-composite-tests: Likewise.
32890         * modules/unictype/property-currency-symbol-tests: Likewise.
32891         * modules/unictype/property-dash-tests: Likewise.
32892         * modules/unictype/property-decimal-digit-tests: Likewise.
32893         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
32894         * modules/unictype/property-deprecated-tests: Likewise.
32895         * modules/unictype/property-diacritic-tests: Likewise.
32896         * modules/unictype/property-extender-tests: Likewise.
32897         * modules/unictype/property-format-control-tests: Likewise.
32898         * modules/unictype/property-grapheme-base-tests: Likewise.
32899         * modules/unictype/property-grapheme-extend-tests: Likewise.
32900         * modules/unictype/property-grapheme-link-tests: Likewise.
32901         * modules/unictype/property-hex-digit-tests: Likewise.
32902         * modules/unictype/property-hyphen-tests: Likewise.
32903         * modules/unictype/property-id-continue-tests: Likewise.
32904         * modules/unictype/property-id-start-tests: Likewise.
32905         * modules/unictype/property-ideographic-tests: Likewise.
32906         * modules/unictype/property-ids-binary-operator-tests: Likewise.
32907         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
32908         * modules/unictype/property-ignorable-control-tests: Likewise.
32909         * modules/unictype/property-iso-control-tests: Likewise.
32910         * modules/unictype/property-join-control-tests: Likewise.
32911         * modules/unictype/property-left-of-pair-tests: Likewise.
32912         * modules/unictype/property-line-separator-tests: Likewise.
32913         * modules/unictype/property-logical-order-exception-tests: Likewise.
32914         * modules/unictype/property-lowercase-tests: Likewise.
32915         * modules/unictype/property-math-tests: Likewise.
32916         * modules/unictype/property-non-break-tests: Likewise.
32917         * modules/unictype/property-not-a-character-tests: Likewise.
32918         * modules/unictype/property-numeric-tests: Likewise.
32919         * modules/unictype/property-other-alphabetic-tests: Likewise.
32920         * modules/unictype/property-other-default-ignorable-code-point-tests:
32921         Likewise.
32922         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
32923         * modules/unictype/property-other-id-continue-tests: Likewise.
32924         * modules/unictype/property-other-id-start-tests: Likewise.
32925         * modules/unictype/property-other-lowercase-tests: Likewise.
32926         * modules/unictype/property-other-math-tests: Likewise.
32927         * modules/unictype/property-other-uppercase-tests: Likewise.
32928         * modules/unictype/property-paired-punctuation-tests: Likewise.
32929         * modules/unictype/property-paragraph-separator-tests: Likewise.
32930         * modules/unictype/property-pattern-syntax-tests: Likewise.
32931         * modules/unictype/property-pattern-white-space-tests: Likewise.
32932         * modules/unictype/property-private-use-tests: Likewise.
32933         * modules/unictype/property-punctuation-tests: Likewise.
32934         * modules/unictype/property-quotation-mark-tests: Likewise.
32935         * modules/unictype/property-radical-tests: Likewise.
32936         * modules/unictype/property-sentence-terminal-tests: Likewise.
32937         * modules/unictype/property-soft-dotted-tests: Likewise.
32938         * modules/unictype/property-space-tests: Likewise.
32939         * modules/unictype/property-terminal-punctuation-tests: Likewise.
32940         * modules/unictype/property-test-tests: Likewise.
32941         * modules/unictype/property-titlecase-tests: Likewise.
32942         * modules/unictype/property-unassigned-code-value-tests: Likewise.
32943         * modules/unictype/property-unified-ideograph-tests: Likewise.
32944         * modules/unictype/property-uppercase-tests: Likewise.
32945         * modules/unictype/property-variation-selector-tests: Likewise.
32946         * modules/unictype/property-white-space-tests: Likewise.
32947         * modules/unictype/property-xid-continue-tests: Likewise.
32948         * modules/unictype/property-xid-start-tests: Likewise.
32949         * modules/unictype/property-zero-width-tests: Likewise.
32950         * modules/unictype/scripts-tests: Likewise.
32951         * modules/unictype/syntax-c-ident-tests: Likewise.
32952         * modules/unictype/syntax-c-whitespace-tests: Likewise.
32953         * modules/unictype/syntax-java-ident-tests: Likewise.
32954         * modules/unictype/syntax-java-whitespace-tests: Likewise.
32955         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
32956         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
32957         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
32958         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
32959         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
32960         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
32961         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
32962         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
32963         * modules/uniname/uniname-tests: Likewise.
32964         * modules/uninorm/canonical-decomposition-tests: Likewise.
32965         * modules/uninorm/compat-decomposition-tests: Likewise.
32966         * modules/uninorm/composition-tests: Likewise.
32967         * modules/uninorm/decomposing-form-tests: Likewise.
32968         * modules/uninorm/decomposition-tests: Likewise.
32969         * modules/uninorm/filter-tests: Likewise.
32970         * modules/uninorm/nfc-tests: Likewise.
32971         * modules/uninorm/nfd-tests: Likewise.
32972         * modules/uninorm/nfkc-tests: Likewise.
32973         * modules/uninorm/nfkd-tests: Likewise.
32974         * modules/uninorm/u8-normcmp-tests: Likewise.
32975         * modules/uninorm/u8-normcoll-tests: Likewise.
32976         * modules/uninorm/u16-normcmp-tests: Likewise.
32977         * modules/uninorm/u16-normcoll-tests: Likewise.
32978         * modules/uninorm/u32-normcmp-tests: Likewise.
32979         * modules/uninorm/u32-normcoll-tests: Likewise.
32980         * modules/unistdio/u8-asnprintf-tests: Likewise.
32981         * modules/unistdio/u8-vasnprintf-tests: Likewise.
32982         * modules/unistdio/u8-vasprintf-tests: Likewise.
32983         * modules/unistdio/u8-vsnprintf-tests: Likewise.
32984         * modules/unistdio/u8-vsprintf-tests: Likewise.
32985         * modules/unistdio/u16-asnprintf-tests: Likewise.
32986         * modules/unistdio/u16-vasnprintf-tests: Likewise.
32987         * modules/unistdio/u16-vasprintf-tests: Likewise.
32988         * modules/unistdio/u16-vsnprintf-tests: Likewise.
32989         * modules/unistdio/u16-vsprintf-tests: Likewise.
32990         * modules/unistdio/u32-asnprintf-tests: Likewise.
32991         * modules/unistdio/u32-vasnprintf-tests: Likewise.
32992         * modules/unistdio/u32-vasprintf-tests: Likewise.
32993         * modules/unistdio/u32-vsnprintf-tests: Likewise.
32994         * modules/unistdio/u32-vsprintf-tests: Likewise.
32995         * modules/unistdio/ulc-asnprintf-tests: Likewise.
32996         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
32997         * modules/unistdio/ulc-vasprintf-tests: Likewise.
32998         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
32999         * modules/unistdio/ulc-vsprintf-tests: Likewise.
33000         * modules/unistr/u8-check-tests: Likewise.
33001         * modules/unistr/u8-chr-tests: Likewise.
33002         * modules/unistr/u8-cmp-tests: Likewise.
33003         * modules/unistr/u8-cmp2-tests: Likewise.
33004         * modules/unistr/u8-cpy-alloc-tests: Likewise.
33005         * modules/unistr/u8-cpy-tests: Likewise.
33006         * modules/unistr/u8-mblen-tests: Likewise.
33007         * modules/unistr/u8-mbsnlen-tests: Likewise.
33008         * modules/unistr/u8-mbtouc-tests: Likewise.
33009         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
33010         * modules/unistr/u8-mbtoucr-tests: Likewise.
33011         * modules/unistr/u8-move-tests: Likewise.
33012         * modules/unistr/u8-next-tests: Likewise.
33013         * modules/unistr/u8-prev-tests: Likewise.
33014         * modules/unistr/u8-set-tests: Likewise.
33015         * modules/unistr/u8-stpcpy-tests: Likewise.
33016         * modules/unistr/u8-stpncpy-tests: Likewise.
33017         * modules/unistr/u8-strcat-tests: Likewise.
33018         * modules/unistr/u8-strcmp-tests: Likewise.
33019         * modules/unistr/u8-strcoll-tests: Likewise.
33020         * modules/unistr/u8-strcpy-tests: Likewise.
33021         * modules/unistr/u8-strdup-tests: Likewise.
33022         * modules/unistr/u8-strlen-tests: Likewise.
33023         * modules/unistr/u8-strmblen-tests: Likewise.
33024         * modules/unistr/u8-strmbtouc-tests: Likewise.
33025         * modules/unistr/u8-strncat-tests: Likewise.
33026         * modules/unistr/u8-strncmp-tests: Likewise.
33027         * modules/unistr/u8-strncpy-tests: Likewise.
33028         * modules/unistr/u8-strnlen-tests: Likewise.
33029         * modules/unistr/u8-to-u16-tests: Likewise.
33030         * modules/unistr/u8-to-u32-tests: Likewise.
33031         * modules/unistr/u8-uctomb-tests: Likewise.
33032         * modules/unistr/u16-check-tests: Likewise.
33033         * modules/unistr/u16-chr-tests: Likewise.
33034         * modules/unistr/u16-cmp-tests: Likewise.
33035         * modules/unistr/u16-cmp2-tests: Likewise.
33036         * modules/unistr/u16-cpy-alloc-tests: Likewise.
33037         * modules/unistr/u16-cpy-tests: Likewise.
33038         * modules/unistr/u16-mblen-tests: Likewise.
33039         * modules/unistr/u16-mbsnlen-tests: Likewise.
33040         * modules/unistr/u16-mbtouc-tests: Likewise.
33041         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
33042         * modules/unistr/u16-mbtoucr-tests: Likewise.
33043         * modules/unistr/u16-move-tests: Likewise.
33044         * modules/unistr/u16-next-tests: Likewise.
33045         * modules/unistr/u16-prev-tests: Likewise.
33046         * modules/unistr/u16-set-tests: Likewise.
33047         * modules/unistr/u16-stpcpy-tests: Likewise.
33048         * modules/unistr/u16-stpncpy-tests: Likewise.
33049         * modules/unistr/u16-strcat-tests: Likewise.
33050         * modules/unistr/u16-strcmp-tests: Likewise.
33051         * modules/unistr/u16-strcoll-tests: Likewise.
33052         * modules/unistr/u16-strcpy-tests: Likewise.
33053         * modules/unistr/u16-strdup-tests: Likewise.
33054         * modules/unistr/u16-strlen-tests: Likewise.
33055         * modules/unistr/u16-strmblen-tests: Likewise.
33056         * modules/unistr/u16-strmbtouc-tests: Likewise.
33057         * modules/unistr/u16-strncat-tests: Likewise.
33058         * modules/unistr/u16-strncmp-tests: Likewise.
33059         * modules/unistr/u16-strncpy-tests: Likewise.
33060         * modules/unistr/u16-strnlen-tests: Likewise.
33061         * modules/unistr/u16-to-u32-tests: Likewise.
33062         * modules/unistr/u16-to-u8-tests: Likewise.
33063         * modules/unistr/u16-uctomb-tests: Likewise.
33064         * modules/unistr/u32-check-tests: Likewise.
33065         * modules/unistr/u32-chr-tests: Likewise.
33066         * modules/unistr/u32-cmp-tests: Likewise.
33067         * modules/unistr/u32-cmp2-tests: Likewise.
33068         * modules/unistr/u32-cpy-alloc-tests: Likewise.
33069         * modules/unistr/u32-cpy-tests: Likewise.
33070         * modules/unistr/u32-mblen-tests: Likewise.
33071         * modules/unistr/u32-mbsnlen-tests: Likewise.
33072         * modules/unistr/u32-mbtouc-tests: Likewise.
33073         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
33074         * modules/unistr/u32-mbtoucr-tests: Likewise.
33075         * modules/unistr/u32-move-tests: Likewise.
33076         * modules/unistr/u32-next-tests: Likewise.
33077         * modules/unistr/u32-prev-tests: Likewise.
33078         * modules/unistr/u32-set-tests: Likewise.
33079         * modules/unistr/u32-stpcpy-tests: Likewise.
33080         * modules/unistr/u32-stpncpy-tests: Likewise.
33081         * modules/unistr/u32-strcat-tests: Likewise.
33082         * modules/unistr/u32-strcmp-tests: Likewise.
33083         * modules/unistr/u32-strcoll-tests: Likewise.
33084         * modules/unistr/u32-strcpy-tests: Likewise.
33085         * modules/unistr/u32-strdup-tests: Likewise.
33086         * modules/unistr/u32-strlen-tests: Likewise.
33087         * modules/unistr/u32-strmblen-tests: Likewise.
33088         * modules/unistr/u32-strmbtouc-tests: Likewise.
33089         * modules/unistr/u32-strncat-tests: Likewise.
33090         * modules/unistr/u32-strncmp-tests: Likewise.
33091         * modules/unistr/u32-strncpy-tests: Likewise.
33092         * modules/unistr/u32-strnlen-tests: Likewise.
33093         * modules/unistr/u32-to-u16-tests: Likewise.
33094         * modules/unistr/u32-to-u8-tests: Likewise.
33095         * modules/unistr/u32-uctomb-tests: Likewise.
33096         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
33097         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
33098         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
33099         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
33100         * modules/uniwidth/u8-strwidth-tests: Likewise.
33101         * modules/uniwidth/u8-width-tests: Likewise.
33102         * modules/uniwidth/u16-strwidth-tests: Likewise.
33103         * modules/uniwidth/u16-width-tests: Likewise.
33104         * modules/uniwidth/u32-strwidth-tests: Likewise.
33105         * modules/uniwidth/u32-width-tests: Likewise.
33106         * modules/uniwidth/width-tests: Likewise.
33107
33108 2010-05-18  Richard Jones  <rjones@redhat.com>
33109
33110         doc: users.txt: list hivex
33111         * users.txt: Add hivex.
33112
33113 2010-05-18  Richard Jones  <rjones@redhat.com>
33114
33115         doc: users.txt: list febootstrap
33116         * users.txt: Add febootstrap.
33117
33118 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
33119
33120         bootstrap: fix an error when gnulib is not used as a git submodule
33121         * build-aux/bootstrap (gnulib_path): If its length is zero then
33122         assign "gnulib" to it.
33123         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
33124
33125 2010-05-16  Bruno Haible  <bruno@clisp.org>
33126
33127         Avoid autoconf warnings about AM_ICONV.
33128         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
33129         2.64.
33130
33131 2010-05-16  Bruno Haible  <bruno@clisp.org>
33132
33133         absolute-header: Make the macro usable in more situations.
33134         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
33135         from gl_ABSOLUTE_HEADER.
33136         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
33137
33138 2010-05-16  James Youngman  <jay@gnu.org>
33139
33140         doc: update users.txt
33141         * users.txt: Add CSSC.
33142
33143 2010-05-16  Jim Meyering  <meyering@redhat.com>
33144
33145         init.sh: fix an error in the previous change; add more comments
33146         * tests/init.sh: Compare exit code in loop against 9, not 2.
33147         Patch by Bruno Haible.
33148         Make the two tests more similar by adding an empty "then" clause.
33149         Add comments.
33150
33151         init.sh: avoid unnecessary shell re-exec
33152         * tests/init.sh: Improve the re-exec-required check to first test the
33153         current shell.  If it passes the test, do not search for a shell that
33154         does pass, and do not re-exec.  This test is particularly contorted to
33155         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
33156         of $(...) evokes a syntax error and causes immediate shell exit with
33157         status 2.  Bruno Haible reported that the re-exec made it impossible
33158         to single-step through any init.sh-using script.
33159
33160 2010-05-16  Bruno Haible  <bruno@clisp.org>
33161
33162         Fix collision between gnulib's and libintl's printf replacements.
33163         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
33164         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
33165         (printf): When using GNU C, map the __printf__ function to rpl_printf
33166         via __asm__. When not using GNU C, define rpl_printf instead of
33167         __printf__.
33168         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
33169         commit.
33170         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
33171         commit.
33172         * m4/asm-underscore.m4: New file.
33173         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
33174         * modules/stdio (Files): Add m4/asm-underscore.m4.
33175         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
33176         Reported by Ben Pfaff.
33177
33178 2010-05-16  Bruno Haible  <bruno@clisp.org>
33179
33180         verify: Avoid skipping the test on openSUSE 11.0.
33181         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
33182
33183 2010-05-13  Bruno Haible  <bruno@clisp.org>
33184
33185         Avoid useless warnings from G++.
33186         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
33187         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
33188         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33189
33190 2010-05-11  Jim Meyering  <meyering@redhat.com>
33191
33192         maint.mk: tweak preceding change
33193         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
33194         regexps tighter by anchoring at EOL, and make the new group "shy"
33195         for slightly decreased overhead.
33196
33197 2010-05-11  Eric Blake  <eblake@redhat.com>
33198
33199         maint.mk: gnulib doesn't guarantee NSIG
33200         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
33201
33202 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33203
33204         test-pwrite.c: Remove unused variable declaration.
33205         * tests/test-pwrite.c (main): Remove read_buf declaration.
33206
33207         Remove useless test-pwrite.sh file.
33208         * tests/test-pwrite.sh: Delete file.
33209         * modules/pwrite-tests: Remove references.
33210         Reported by Bruno Haible.
33211
33212 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33213
33214         init.sh: fix a typo
33215         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
33216
33217 2010-05-10  Jim Meyering  <meyering@redhat.com>
33218
33219         maint.mk: avoid using a temporary file in the always-defined-macros check
33220         * top/maint.mk (.re-defmac): Remove rule.
33221         (gl_trap_): Remove definition.
33222         (sc_prohibit_always-defined_macros): Rewrite not to create and
33223         depend on a temporary file.  Instead, depend on GNU grep's ability
33224         to read a list of regular expressions from stdin when given "-f -".
33225
33226 2010-05-09  Bruno Haible  <bruno@clisp.org>
33227
33228         Update to GNU gettext 0.18, part 1.
33229         * m4/gettext.m4: Update to GNU gettext 0.18.
33230         * m4/intl.m4: Likewise.
33231         * m4/po.m4: Likewise.
33232         * modules/gettext (Files): Add m4/fcntl-o.m4.
33233         (configure.ac): Require gettext infrastructure from version 0.18.
33234
33235 2010-05-09  Jim Meyering  <meyering@redhat.com>
33236
33237         init.sh: enable MALLOC_PERTURB_
33238         * tests/init.sh: Enable glibc's malloc-perturbing option.
33239
33240         maint.mk: improve sc_cross_check_PATH_usage_in_tests
33241         With my recent change in init.sh from the two-line form:
33242             -#   : ${srcdir=.}
33243             -#   . "$srcdir/init.sh"; path_prepend_ .
33244             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
33245         I noticed that using the one-line form would cause this test
33246         to fail with a false-positive, or to stop working altogether,
33247         depending on whether help-version changed or all the tests did.
33248         * top/maint.mk (_hv_regex): Remove this definition.
33249         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
33250         (_hv_regex_strong): Use a stronger regex to check for conformance.
33251         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
33252         Give a separate diagnostic for lack of conforming use.
33253
33254         maint.mk: prohibit definition of symbols defined by gnulib
33255         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
33256         definition of symbols defined by gnulib.
33257
33258 2010-05-09  Bruno Haible  <bruno@clisp.org>
33259
33260         acl: Avoid test failure on Cygwin-hosted mingw.
33261         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
33262
33263 2010-05-09  Bruno Haible  <bruno@clisp.org>
33264
33265         error: Use system's fcntl function.
33266         * lib/error.c (fcntl): Undefine.
33267
33268 2010-05-09  Jim Meyering  <meyering@redhat.com>
33269
33270         verify: adjust formatting to be more consistent
33271         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
33272         argument-list '('s, and after one comma.
33273
33274 2010-05-09  Bruno Haible  <bruno@clisp.org>
33275
33276         error: More reliable output on mingw.
33277         * lib/error.c: Include <windows.h>.
33278         (is_open): New function.
33279         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
33280         defined.
33281
33282 2010-05-09  Bruno Haible  <bruno@clisp.org>
33283
33284         vasnprintf: Fix syntax errors in libintl build on mingw.
33285         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
33286         pad_ourselves and prec_ourselves after use.
33287
33288 2010-05-08  Bruno Haible  <bruno@clisp.org>
33289
33290         * lib/config.charset: Update comments for Cygwin 1.7.
33291         * lib/localcharset.c: Likewise.
33292
33293 2010-05-07  Jim Meyering  <meyering@redhat.com>
33294
33295         init.sh: improve comments
33296         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
33297         . "${srcdir=.}/init.sh"; path_prepend_ .
33298         Add a note about path_prepend_ and the alternative of using
33299         TESTS_ENVIRONMENT.
33300
33301 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
33302
33303         exclude: Unescape hashed patterns in wildcard mode.
33304         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
33305         to the hash list.
33306         * tests/test-exclude8.sh: New test case.
33307         * modules/exclude-tests: Add new test.
33308
33309 2010-05-05  Eric Blake  <eblake@redhat.com>
33310
33311         verify: automate tests
33312         * modules/verify-tests: New module.
33313         * tests/test-verify.sh: New file.
33314         * tests/test-verify.c: Guard each negative test with a unique id.
33315         Also avoid warning about unused left hand of comma expressions.
33316
33317 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
33318
33319         Further improvements to verify.h, suggested by Eric Blake.
33320         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
33321         the GL_* versions, to avoid collision with OpenGL.
33322         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
33323         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
33324         than testing merely whether it's defined.
33325
33326         Modify verify.h to pacify gcc -Wredundant_decls.
33327         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
33328         These use the prefix "GL_" since they're likely to be useful elsewhere.
33329         We may need to break them out into a different .h file.
33330         (__COUNTER__): Define to 0 if the compiler doesn't support it.
33331         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
33332         of verify_function__.
33333
33334 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33335
33336         Tests for module pwrite.
33337         * modules/pwrite-tests: New file.
33338         * tests/test-pwrite.sh: New file.
33339         * tests/test-pwrite.c: New file.
33340
33341         New module pwrite.
33342         * lib/unistd.in.h (pwrite): New declaration.
33343         * lib/pwrite.c: New file, from glibc with modifications.
33344         * m4/pwrite.m4: New file.
33345         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
33346         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
33347         REPLACE_PWRITE.
33348         * modules/pwrite: New file.
33349         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
33350         REPLACE_PWRITE.
33351         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
33352         * doc/posix-functions/pwrite.texi: Mention the new module.
33353
33354 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33355
33356         pread: Update documentation.
33357         * doc/posix-functions/pread.texi: Mention the 'pread' module.
33358
33359 2010-05-04  Eric Blake  <eblake@redhat.com>
33360
33361         docs: update cygwin progress
33362         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
33363         this bug.
33364         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
33365         Added in cygwin 1.7.2.
33366         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
33367         Likewise.
33368         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
33369         Likewise.
33370         * doc/glibc-functions/dup3.texi (dup3): Likewise.
33371         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
33372         * doc/glibc-functions/accept4.texi (accept4): Likewise.
33373         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
33374         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
33375         Mention nproc module.
33376         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
33377         bug in cygwin 1.7.5 addition.
33378         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
33379         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
33380         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
33381         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
33382         1.7.5.
33383         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
33384         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
33385         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
33386         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
33387         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
33388         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
33389         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
33390         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
33391         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
33392         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
33393         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
33394         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
33395         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
33396         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
33397         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
33398         Likewise.
33399         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
33400         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
33401         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
33402         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
33403         Likewise.
33404         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
33405         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
33406         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
33407         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
33408         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
33409         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
33410         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
33411         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
33412         Likewise.
33413         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
33414         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
33415         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
33416         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
33417         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
33418         Likewise.
33419         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
33420         Likewise.
33421         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
33422         Likewise.
33423         * doc/glibc-functions/xdrrec_endofrecord.texi
33424         (xdrrec_endofrecord): Likewise.
33425         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
33426         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
33427         Likewise.
33428         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
33429         Likewise.
33430
33431 2010-05-04  Jim Meyering  <meyering@redhat.com>
33432
33433         gendocs.sh: make its "-s FILE" option more useful
33434         * build-aux/gendocs.sh: When honoring the -s FILE option, update
33435         $PACKAGE to reflect the probably-different basename of "FILE".
33436
33437 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
33438
33439         bootstrap: don't ignore download_po_files failure
33440         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
33441         failure.
33442
33443 2010-05-03  Jim Meyering  <meyering@redhat.com>
33444
33445         maint.mk: allow to pass options to gendocs.sh
33446         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
33447         (gendocs_options_): New overridable variable.
33448
33449         gnu-web-doc-update: don't ignore configure or build failure
33450         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
33451
33452         announce-gen: backslash-escape '@'s in --help output
33453         * build-aux/announce-gen: Fix syntax errors.
33454
33455         maint.mk, announce-gen: allow project-specific announcement mail headers
33456         * top/maint.mk (translation_project_): Define default.
33457         (announcement_Cc_, announcement_mail_headers_): Likewise.
33458         (announcement): Invoke announce-gen with new --mail-headers option.
33459         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
33460
33461         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
33462         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
33463         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
33464         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
33465         line in the "err2" output file when running "make check" in verbose
33466         mode (i.e., with set -x enabled).
33467
33468 2010-05-03  Bruno Haible  <bruno@clisp.org>
33469
33470         wctob: Fix for weird platforms.
33471         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
33472         argument value.
33473
33474 2010-05-03  Jim Meyering  <meyering@redhat.com>
33475
33476         maint.mk: prohibit unwarranted use of <strings.h>
33477         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
33478         strings.h in a file that does not also use strcasecmp, strncasecmp,
33479         ffs or ffsll.
33480
33481         maint.mk: remove obsolete comments
33482         * top/maint.mk: Remove stale, commented-out rules.
33483
33484 2010-05-02  Bruno Haible  <bruno@clisp.org>
33485
33486         wcwidth: Declare also when it's aliased.
33487         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
33488         macro.
33489
33490 2010-05-02  Bruno Haible  <bruno@clisp.org>
33491
33492         Fix regression from 2010-04-25.
33493         * gnulib-tool (func_modules_transitive_closure): Check the status of
33494         all modules, not only of the tests that are of the form foo-tests where
33495         foo is a module.
33496
33497 2010-05-02  Bruno Haible  <bruno@clisp.org>
33498
33499         wctob: Work around nasty Cygwin 1.7.2 bug.
33500         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
33501         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
33502
33503 2010-05-01  Bruno Haible  <bruno@clisp.org>
33504
33505         fpurge: Sharper test.
33506         * tests/test-fpurge.c (main): Add one more ftell check.
33507         * modules/fpurge-tests (Depends-on): Add ftell.
33508         Suggested by Eric Blake.
33509
33510 2010-05-01  Bruno Haible  <bruno@clisp.org>
33511
33512         ftello: Another test.
33513         * tests/test-ftello3.c: New file.
33514         * modules/ftello-tests (Files): Add it.
33515         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33516         MOSTLYCLEANFILES.
33517
33518         ftell: Another test.
33519         * tests/test-ftell3.c: New file.
33520         * modules/ftell-tests (Files): Add it.
33521         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33522         MOSTLYCLEANFILES.
33523
33524 2010-05-01  Bruno Haible  <bruno@clisp.org>
33525
33526         ftell, ftello: Work around Solaris bug.
33527         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
33528         * lib/ftello.c: Include stdio-impl.h.
33529         (ftello): On Solaris, when _IOWRT is set, compute the result without
33530         looking at _IOREAD.
33531         * modules/ftello (Files): Add lib/stdio-impl.h.
33532         * doc/posix-functions/ftell.texi: Mention Solaris bug.
33533         * doc/posix-functions/ftello.texi: Likewise.
33534         Reported by Eric Blake.
33535
33536 2010-05-01  Bruno Haible  <bruno@clisp.org>
33537
33538         freading: Adapt to special meaning of _IOREAD flag on Solaris.
33539         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
33540         the _IOWRT flag is also set.
33541
33542 2010-05-01  Bruno Haible  <bruno@clisp.org>
33543
33544         Fix doc about a HP-UX stdio bug.
33545         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
33546         * doc/posix-functions/ftello.texi: Likewise.
33547
33548 2010-05-01  Bruno Haible  <bruno@clisp.org>
33549
33550         lseek test: Fix failure on Solaris.
33551         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
33552         output.
33553
33554 2010-04-30  Jim Meyering  <meyering@redhat.com>
33555
33556         bootstrap: don't ignore failure to generate po*/Makevars
33557         * build-aux/bootstrap (with_gettext): Don't ignore failure
33558         to create po/Makevars or runtime-po/Makevars.
33559
33560 2010-04-29  Eric Blake  <eblake@redhat.com>
33561
33562         headers: relax license to LGPLv2+
33563         * modules/fcntl-h (License): Relax license.
33564         * modules/getopt-posix (License): Likewise.
33565         * modules/locale (License): Likewise.
33566         * modules/math (License): Likewise.
33567         * modules/pty (License): Likewise.
33568         * modules/sched (License): Likewise.
33569         * modules/search (License): Likewise.
33570         * modules/spawn (License): Likewise.
33571         * modules/stdarg (License): Likewise.
33572         * modules/sysexits (License): Likewise.
33573
33574 2010-04-29  Jim Meyering  <meyering@redhat.com>
33575
33576         inttypes: relax license to LGPLv2+
33577         * modules/inttypes (License): Relax license.
33578
33579 2010-04-29  Simon Josefsson  <simon@josefsson.org>
33580
33581         * top/maint.mk (indent): Run twice to produce idempotent results.
33582
33583 2010-04-28  Bruno Haible  <bruno@clisp.org>
33584
33585         getdate: Generate getdate.c in the source directory.
33586         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
33587         MOSTLYCLEANFILES.
33588         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
33589
33590 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
33591
33592         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
33593         is not declared as a const *; avoid warnings in that case.
33594
33595 2010-04-28  Eric Blake  <eblake@redhat.com>
33596
33597         canonicalize-lgpl: avoid compiler warning
33598         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
33599         declaration' / 'extraneous semicolon' warning with some compilers.
33600         Reported by Andreas Gruenbacher.
33601
33602 2010-04-28  Jim Meyering  <meyering@redhat.com>
33603
33604         init.sh: ensure a more reliable exit status when exiting via trap
33605         * tests/init.sh (setup_): Don't rely on $? in signal handler.
33606         Inspired by patches from Dmitry V. Levin.
33607         Also trap on signal 3 (SIGQUIT).
33608
33609 2010-04-27  Bruno Haible  <bruno@clisp.org>
33610
33611         Update doc about utimes().
33612         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
33613         'utimens' module.
33614         Reported by Andreas Gruenbacher <agruen@suse.de>.
33615
33616 2010-04-27  Eric Blake  <eblake@redhat.com>
33617
33618         full-read, full-write: relax license
33619         * modules/full-read (License): Drop to LGPLv2+.
33620         * modules/full-write (License): Likewise.
33621         * modules/safe-read (License): Likewise.
33622         * modules/safe-write (License): Likewise.
33623
33624         pthread: mention library for linking
33625         * modules/pthread (Link): Mention $(LIB_PTHREAD).
33626
33627 2010-04-27  Jim Meyering  <meyering@redhat.com>
33628
33629         maint.mk: fix a bug introduced in last change
33630         * top/maint.mk (gl_assured_headers_): Now that all names are on
33631         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
33632         is not anchored to end of word, it should be adequate.
33633
33634         maint.mk: avoid side-effect in latest syntax-check
33635         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
33636         to run commands via $(shell...), and hence to incur cost only when
33637         the new rule is actually run.
33638
33639         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
33640         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
33641         and use that to create a regexp used to detect all #if HAVE_..._H uses.
33642         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
33643         (gl_assured_headers_, az_, AZ_): Define.
33644         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
33645
33646 2010-04-26  Jim Meyering  <jim@meyering.net>
33647             Bruno Haible  <bruno@clisp.org>
33648
33649         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
33650         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
33651         Prompted by an exchange with Gilles Espinasse.
33652
33653 2010-04-26  Jim Meyering  <meyering@redhat.com>
33654
33655         git-version-gen: aesthetic tweak
33656         * build-aux/git-version-gen: Use "$nl" rather than a literal,
33657         so that the command remains on a single line.
33658
33659 2010-04-26  Eric Blake  <eblake@redhat.com>
33660
33661         git-version-gen: allow use on EBCDIC hosts
33662         * build-aux/git-version-gen (dirty): Use literal rather than tying
33663         ourselves to ascii.
33664         Reported by Steve Goetze.
33665
33666 2010-04-25  Bruno Haible  <bruno@clisp.org>
33667
33668         netdb: Add support for GNULIB_POSIXCHECK.
33669         * lib/netdb.in.h: Include warn-on-use.h.
33670         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
33671         functions are used when GNULIB_POSIXCHECK is defined and the
33672         getaddrinfo module is not in use.
33673         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
33674         freeaddrinfo, gai_strerror, getnameinfo are declared.
33675         * modules/netdb (Depends-on): Add warn-on-use.
33676         (Makefile.am): Include warn-on-use.h in netdb.h.
33677
33678 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
33679
33680         build: avoid "make check" failure without .git/ directory
33681         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
33682         there is no .git/ directory.
33683
33684 2010-04-25  Bruno Haible  <bruno@clisp.org>
33685
33686         ptsname: Fix misuse of ttyname_r.
33687         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
33688         of errno.
33689
33690 2010-04-25  Bruno Haible  <bruno@clisp.org>
33691
33692         ttyname_r: Make it work on Solaris 10.
33693         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
33694         if the system function has the POSIX declaration. Test whether the
33695         function fails if the buffer is less than 128 bytes large.
33696         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
33697         system's ttyname_r function. Provide a reasonably large buffer.
33698         * modules/ttyname_r (Depends-on): Add extensions.
33699         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
33700
33701 2010-04-25  Bruno Haible  <bruno@clisp.org>
33702
33703         Use the 'extensions' module for some more functions on Solaris.
33704         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
33705         module.
33706         * doc/posix-functions/ctime_r.texi: Likewise.
33707         * doc/posix-functions/getgrgid_r.texi: Likewise.
33708         * doc/posix-functions/getgrnam_r.texi: Likewise.
33709         * doc/posix-functions/getpwnam_r.texi: Likewise.
33710         * doc/posix-functions/getpwuid_r.texi: Likewise.
33711         * doc/posix-functions/readdir_r.texi: Likewise.
33712         * doc/posix-functions/sigwait.texi: Likewise.
33713         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
33714         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
33715
33716 2010-04-25  Bruno Haible  <bruno@clisp.org>
33717
33718         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
33719         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
33720         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
33721         * lib/ttyname_r.c: Include <limits.h>.
33722         (ttyname_r): Define using the system's ttyname_r function, if it exists
33723         and not on Solaris.
33724         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
33725         set.
33726         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
33727         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
33728         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
33729         Reported by Simon Josefsson.
33730
33731 2010-04-25  Bruno Haible  <bruno@clisp.org>
33732
33733         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
33734         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
33735         * doc/posix-functions/ctime_r.texi: Likewise.
33736         * doc/posix-functions/getgrgid_r.texi: Likewise.
33737         * doc/posix-functions/getgrnam_r.texi: Likewise.
33738         * doc/posix-functions/getlogin_r.texi: Likewise.
33739         * doc/posix-functions/getpwnam_r.texi: Likewise.
33740         * doc/posix-functions/getpwuid_r.texi: Likewise.
33741         * doc/posix-functions/readdir_r.texi: Likewise.
33742         * doc/posix-functions/sigwait.texi: Likewise.
33743         * doc/posix-functions/ttyname_r.texi: Likewise.
33744         Reported by Simon Josefsson.
33745
33746 2010-04-25  Bruno Haible  <bruno@clisp.org>
33747
33748         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
33749         * gnulib-tool (func_usage): Document that --with-*-tests options apply
33750         also to --create-testdir.
33751         (func_acceptable): Don't consider the status of *-tests modules here.
33752         (func_modules_transitive_closure): Consider it here, before including a
33753         test module.
33754         (func_import, func_create_testdir): Set inc_all_direct_tests,
33755         inc_all_indirect_tests.
33756         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
33757         --create-testdir and --create-megatestdir.
33758
33759 2010-04-25  Bruno Haible  <bruno@clisp.org>
33760
33761         gnulib-tool: Add --without-*-tests options.
33762         * gnulib-tool (func_usage): Document the --without-*-tests options.
33763         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
33764         excl_unportable_tests): New variables.
33765         Fail if they are specified with --import or --update.
33766         (func_acceptable): Respect the excl_*_tests variables.
33767         (func_import): Set the excl_*_tests variables to empty.
33768
33769 2010-04-25  Simon Josefsson  <simon@josefsson.org>
33770             Bruno Haible  <bruno@clisp.org>
33771
33772         Work around a MacOS X 10.4 bug with openpty.
33773         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
33774         * tests/test-openpty.c (main): Close the master side explicitly.
33775
33776 2010-04-25  Bruno Haible  <bruno@clisp.org>
33777
33778         strnlen: Fix a C++ test error on MacOS X and Solaris.
33779         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
33780         the function is not declared.
33781         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
33782         Simon Josefsson.
33783
33784 2010-04-24  Bruno Haible  <bruno@clisp.org>
33785
33786         Avoid a gcc warning.
33787         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
33788         of correct type for %08lx directive.
33789         Reported by Eric Blake.
33790
33791 2010-04-24  Bruno Haible  <bruno@clisp.org>
33792
33793         vasnprintf: Correct errno value in case of out-of-memory.
33794         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
33795         or sprintf. Use the errno value from SNPRINTF or sprintf.
33796         Reported by Ian Beckwith <ianb@erislabs.net>.
33797
33798 2010-04-24  Bruno Haible  <bruno@clisp.org>
33799
33800         ansi-c++-opt: Find correct compiler when cross-compiling.
33801         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
33802         AC_CHECK_PROGS.
33803         Reported by Simon Josefsson.
33804
33805 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
33806
33807         vc-list-files: Add support for subversion
33808         * build-aux/vc-list-files: Use "svn list" to generate the list of
33809         files controlled by subversion.
33810
33811 2010-04-23  Jim Meyering  <meyering@redhat.com>
33812
33813         vc-list-files tests: convert to use init.sh
33814         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
33815         path_prepend_.
33816         Use Exit, not exit.
33817         Use skip_ rather than open coding it.
33818         Remove trap set-up and compare definitions.
33819         * tests/test-vc-list-files-git.sh: Likewise.
33820         * modules/vc-list-files-tests (Files): Add tests/init.sh.
33821
33822 2010-04-22  Simon Josefsson  <simon@josefsson.org>
33823
33824         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
33825         backup files.
33826
33827 2010-04-21  Simon Josefsson  <simon@josefsson.org>
33828
33829         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
33830
33831 2010-04-20  Eric Blake  <eblake@redhat.com>
33832
33833         tests: be robust to ignored SIGPIPE
33834         * tests/test-select-in.sh: Consume all output.
33835         * tests/test-lseek.sh: Check correct exit status, while avoiding
33836         EPIPE.
33837
33838 2010-04-20  Simon Josefsson  <simon@josefsson.org>
33839             Bruno Haible  <bruno@clisp.org>
33840
33841         visibility: Don't use -fvisibility if it leads to a warning.
33842         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
33843         yes, don't pretend that visibility works if it leads to a warning.
33844         Reported by Mike Gran <spk121@yahoo.com>.
33845
33846 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
33847
33848         * build-aux/bootstrap: Use "git -h" for testing for supported options
33849         instead of "git --help".  The short-form option only shows a summary,
33850         and doesn't layout the full man page.  Grep for the full option name
33851         in the summary, too.
33852
33853 2010-04-19  Bruno Haible  <bruno@clisp.org>
33854
33855         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
33856         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
33857         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
33858         mention of RELOCATABLE_STRIP.
33859         Reported by Sylvain Beucler <beuc@beuc.net>.
33860
33861 2010-04-19  Bruno Haible  <bruno@clisp.org>
33862
33863         * lib/diffseq.h: Fix typo in comment.
33864         Reported by Eric Blake.
33865
33866 2010-04-19  Bruno Haible  <bruno@clisp.org>
33867
33868         ioctl: Move autoconf macro to a .m4 file.
33869         * m4/ioctl.m4: New file, extracted from modules/ioctl.
33870         * modules/ioctl (Files): Add it.
33871         (configure.ac): Simply invoke gl_FUNC_IOCTL.
33872         Reported by Ian Beckwith <ianb@erislabs.net>.
33873
33874 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
33875             Bruno Haible  <bruno@clisp.org>
33876
33877         diffseq: Accommodate use-case with abstract arrays.
33878         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
33879         is not defined.
33880         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
33881         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
33882
33883 2010-04-18  Bruno Haible  <bruno@clisp.org>
33884
33885         * doc/posix-headers/stdbool.texi: More precise wording.
33886
33887 2010-04-17  Jim Meyering  <meyering@redhat.com>
33888
33889         maint.mk: use gnu-style indentation in an embedded perl script
33890         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
33891         Rename variable: s/two/last_two_bytes/
33892
33893 2010-04-16  Eric Blake  <eblake@redhat.com>
33894
33895         test-stdbool: skip test that fails with Solaris CC
33896         * tests/test-stdbool.c (f): Skip test that causes compilation
33897         error under buggy C++ compiler.
33898         * lib/stdbool.in.h: Document the limitation.
33899         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
33900
33901         setenv: allow compilation with C++
33902         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
33903         register keyword.
33904
33905         stdint: allow test to pass with C++
33906         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
33907
33908         getopt: allow compilation with C++
33909         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
33910         struct.
33911         * lib/getopt.c (_getopt_internal_r): Use correct type.
33912         Reported by Dagobert Michelson, via Joel E. Denny.
33913
33914 2010-04-16  Bruno Haible  <bruno@clisp.org>
33915
33916         Override netdb.h always.
33917         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
33918         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
33919         Reported by Ludovic Courtès <ludo@gnu.org>.
33920
33921 2010-04-15  Bruno Haible  <bruno@clisp.org>
33922
33923         openpty: Fix mistake from 2010-03-21.
33924         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
33925         Reported by Simon Josefsson.
33926
33927 2010-04-15  Eric Blake  <eblake@redhat.com>
33928
33929         test-forkpty: fix expected signature
33930         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
33931         Reported by Simon Josefsson.
33932
33933 2010-04-15  Jim Meyering  <meyering@redhat.com>
33934
33935         maint.mk: texinfo_suffix_re_: correct the default regexp
33936         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
33937
33938         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
33939         make it configurable via texinfo_suffix_re_.
33940
33941 2010-04-14  Eric Blake  <eblake@redhat.com>
33942
33943         strtok_r: relax license to LGPLv2+
33944         * modules/strtok_r (License): Relax license.
33945         Reported by Matthias Bolte.
33946
33947 2010-04-14  Simon Josefsson  <simon@josefsson.org>
33948
33949         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
33950         version 1.4.4 by default instead of requiring the libgcrypt
33951         version used during build.  This makes it possible to use the
33952         application with older but still binary compatible libgcrypt
33953         versions.
33954
33955 2010-04-13  Eric Blake  <eblake@redhat.com>
33956
33957         getopt-gnu: match recent glibc fixes and posix ruling
33958         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
33959         '+' handling, when requesting extensions.
33960         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
33961         'W;' handling.
33962         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
33963         * doc/posix-functions/getopt.texi (getopt): Document this.
33964         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
33965         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33966         Likewise.
33967
33968         getopt: merge bug fixes from glibc
33969         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
33970         diagnostics.  Honor '+:' correctly.  Reject ';'.
33971
33972         getopt-posix: detect MacOS bug
33973         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
33974         optind when missing a required argument.
33975         * doc/posix-functions/getopt.texi (getopt): Document the bug.
33976         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
33977         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
33978         Likewise.
33979
33980         getopt-posix: avoid spurious failure on Solaris
33981         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
33982         an indicator that setting optind=1 is sufficient for reset.
33983
33984         getopt-posix: avoid spurious failure on FreeBSD
33985         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
33986         in POSIX mode, since the m4 test uses it.
33987
33988         gnulib-tool: silence warning on BSD sh
33989         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
33990
33991 2010-04-13  Jim Meyering  <meyering@redhat.com>
33992
33993         doc: users.txt: GNU patch now uses gnulib
33994         * users.txt: Add patch.
33995
33996 2010-04-12  Jim Meyering  <meyering@redhat.com>
33997
33998         maint.mk: generate more concise timing data for syntax-check rules
33999         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
34000         " done" from each line that reports a syntax-check test duration.
34001
34002 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
34003
34004         git-version-gen: use "git update-index..." rather than "git status"
34005         * build-aux/git-version-gen: Use git update-index --refresh, not
34006         "git status".  With some versions of git, "git status" would fail
34007         to update the index and result in an unwarranted "-dirty" suffix.
34008
34009 2010-04-11  Jim Meyering  <meyering@redhat.com>
34010
34011         openat: correct formatting (no semantic change)
34012         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
34013         Suggested by Bruno Haible.
34014
34015 2010-04-11  Bruno Haible  <bruno@clisp.org>
34016
34017         Stricter declaration checking in testdirs.
34018         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34019         If for_tests is true, augment AM_CPPFLAGS to define
34020         GNULIB_STRICT_CHECKING.
34021         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
34022         GNULIB_STRICT_CHECKING is defined, verify that the function is
34023         declared.
34024
34025 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
34026             Bruno Haible  <bruno@clisp.org>
34027
34028         libunistring: Improve configure output.
34029         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
34030         Don't say "consider installing GNU libunistring" when checking again
34031         with libiconv.
34032
34033 2010-04-11  Bruno Haible  <bruno@clisp.org>
34034
34035         libunistring: Correct value of $LTLIBUNISTRING.
34036         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
34037         correct the value of $LTLIBUNISTRING.
34038
34039 2010-04-11  Bruno Haible  <bruno@clisp.org>
34040
34041         havelib: Add static libraries to LIBS in the right order.
34042         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
34043         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
34044
34045 2010-04-11  Bruno Haible  <bruno@clisp.org>
34046
34047         libunistring: Detect libunistring also when it depends on libiconv.
34048         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
34049         the second AC_LIB_HAVE_LINKFLAGS invocation.
34050
34051 2010-04-11  James Youngman  <jay@gnu.org>
34052
34053         close-stream: declare local scalars to be "const"
34054         * lib/close-stream.c (close_stream): Make boolean variables const
34055         to document the fact that we set but do not change them.
34056
34057 2010-04-11  Bruno Haible  <bruno@clisp.org>
34058
34059         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
34060
34061 2010-04-11  Jim Meyering  <meyering@redhat.com>
34062
34063         maint.mk: don't include dist-check.mk
34064         * top/maint.mk: Remove bogus include directive.
34065
34066         maint.mk: improve empty-line-at-EOF check
34067         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
34068         solution, rather than tail+Perl-based one.  The latter would read
34069         a few kilobytes from the end of each file, and did not handle empty
34070         files properly.
34071
34072         maint.mk: print the elapsed time for each syntax-check rule
34073         * top/maint.mk (sc_m_rules_): Save start time in a file.
34074         (sc_z_rules_): New rules: remove temp file and print elapsed time.
34075         (local-check): Interpose the .z rules
34076
34077 2010-04-11  Jim Meyering  <meyering@redhat.com>
34078
34079         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
34080         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
34081         empty file with one that ends in an empty line.
34082
34083 2010-04-10  Bruno Haible  <bruno@clisp.org>
34084
34085         mkdir: Make it work on mingw64.
34086         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
34087         * lib/mkdir.c: Update comment.
34088         Reported by Roman Donchenko (Роман Ð”онченко) <dxdragon@yandex.ru>.
34089
34090 2010-04-10  Bruno Haible  <bruno@clisp.org>
34091
34092         Don't override improved macro from newer autoconf.
34093         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
34094         autoconf >= 2.62.
34095         Reported by Joel E. Denny <jdenny@clemson.edu>.
34096
34097 2010-04-10  Jim Meyering  <meyering@redhat.com>
34098
34099         maint.mk: new syntax-check rule: prohibit empty lines at end of file
34100         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
34101
34102         maint.mk: correct a diagnostic
34103         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
34104         in diagnostic; now use $prohibit.
34105
34106 2010-04-10  Bruno Haible  <address@hidden>
34107
34108         fchownat: Fix a C++ test error on Solaris 8.
34109         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
34110         the function does not exist.
34111
34112 2010-04-10  Bruno Haible  <bruno@clisp.org>
34113
34114         vasnprintf: Add more tests.
34115         * tests/test-vasnprintf-posix.c: Include <errno.h>.
34116         (test_function): Test converting an invalid wide string.
34117
34118         vasnprintf: Correct handling of unconvertible wide string arguments.
34119         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
34120         VASNPRINTF.
34121         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
34122         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
34123         smaller than the expected maximum need for the directive. Set errno to
34124         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
34125         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
34126         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
34127         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
34128         * modules/vasnprintf (Files): Add m4/printf.m4.
34129         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34130
34131 2010-04-10  Bruno Haible  <bruno@clisp.org>
34132
34133         vasnprintf: Fix crash in %ls directive.
34134         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
34135         string is passed as argument to %ls, with no precision and no width.
34136         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34137
34138 2010-04-10  Bruno Haible  <bruno@clisp.org>
34139
34140         vasnprintf: Fix multiple test failures on mingw.
34141         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
34142         _snprintf, or snwprintf, not _snwprintf.
34143
34144 2010-04-10  Bruno Haible  <bruno@clisp.org>
34145
34146         write: Fix a C++ test error on mingw.
34147         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
34148
34149 2010-04-10  Bruno Haible  <bruno@clisp.org>
34150
34151         vasnprintf test: Reduce code duplication.
34152         * tests/test-vasnprintf.c (test_function): New function, extracted from
34153         test_vasnprintf.
34154         (test_vasnprintf, test_asnprintf): Invoke it.
34155
34156 2010-04-10  Bruno Haible  <bruno@clisp.org>
34157
34158         strnlen: Fix warning in C++ mode on MacOS X.
34159         * lib/string.in.h (strnlen): Use the modern idiom.
34160         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
34161         defining strnlen as a macro already in <config.h>.
34162         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34163         REPLACE_STRNLEN.
34164         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
34165         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34166
34167 2010-04-08  James Youngman  <jay@gnu.org>
34168
34169         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
34170         the example.
34171
34172 2010-04-09  Jim Meyering  <meyering@redhat.com>
34173
34174         maint.mk: print better diagnostic when there is no $(_hv_file)
34175         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
34176         announce that when $(_hv_file) (aka help-version) does not exist.
34177
34178         init.sh: run tr in the "C" locale to avoid multibyte interpretation
34179         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
34180         not try to interpret its random input bytes.  Jarno Rajahalme reported
34181         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
34182         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
34183         (mktempd_): Likewise, just in case.
34184
34185         ftruncate: add two years to projected module removal date: 2012
34186         * m4/ftruncate.m4: Adjust comments.
34187
34188         ftruncate: mark module as obsolete; even MinGW provides it, now
34189         * modules/ftruncate (Status): Obsolete.
34190         (Notice): Say that.
34191         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
34192         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
34193
34194 2010-04-08  Bruno Haible  <bruno@clisp.org>
34195
34196         Fix side effects from tests-related modules.
34197         * modules/dprintf-posix (Comment): New section.
34198         * modules/fprintf-posix (Comment): Likewise.
34199         * modules/obstack-printf-posix (Comment): Likewise.
34200         * modules/printf-posix (Comment): Likewise.
34201         * modules/snprintf-posix (Comment): Likewise.
34202         * modules/sprintf-posix (Comment): Likewise.
34203         * modules/vasnprintf-posix (Comment): Likewise.
34204         * modules/vasprintf-posix (Comment): Likewise.
34205         * modules/vdprintf-posix (Comment): Likewise.
34206         * modules/vfprintf-posix (Comment): Likewise.
34207         * modules/vprintf-posix (Comment): Likewise.
34208         * modules/vsnprintf-posix (Comment): Likewise.
34209         * modules/vsprintf-posix (Comment): Likewise.
34210         * modules/xprintf-posix (Comment): Likewise.
34211         * modules/xvasprintf-posix (Comment): Likewise.
34212         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
34213         * modules/floorf-tests (Depends-on): Likewise.
34214         * modules/round-tests (Depends-on): Likewise.
34215         * modules/roundf-tests (Depends-on): Likewise.
34216         * modules/trunc-tests (Depends-on): Likewise.
34217         * modules/truncf-tests (Depends-on): Likewise.
34218         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
34219         'fprintf-posix' module is not present.
34220         * tests/test-floorf2.c (check): Likewise.
34221         * tests/test-trunc2.c (check): Likewise.
34222         * tests/test-truncf2.c (check): Likewise.
34223         * tests/test-round2.c (equal): Likewise.
34224         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34225
34226 2010-04-07  Karl Berry  <karl@gnu.org>
34227
34228         * config/srclist.txt,
34229         * config/srclistvars.sh,
34230         * config/srclist-update: doc fixes.
34231
34232 2010-04-07  Jim Meyering  <meyering@redhat.com>
34233
34234         maint.mk: add a PATH crosschecking syntax-check rule
34235         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
34236         Useful if you use a test like the one in help-version (coreutils,
34237         diffutils, grep, gzip) that ensures $(VERSION) matches what is
34238         printed by prog --version.
34239
34240 2010-04-06  Bruno Haible  <bruno@clisp.org>
34241
34242         Fix link error on mingw.
34243         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
34244         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
34245
34246 2010-04-06  Bruno Haible  <bruno@clisp.org>
34247
34248         Assume rmdir exists.
34249         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
34250
34251 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
34252
34253         doc: update users.txt
34254         * users.txt: Add gcal.
34255
34256 2010-04-06  Jim Meyering  <meyering@redhat.com>
34257
34258         init.sh: simply unset TMPDIR rather than risking env -i
34259         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
34260         although it probably works fine on all Unix-based systems, some
34261         systems (Cygwin?) cannot tolerate a totally cleared environment.
34262         Suggestion from Eric Blake.
34263
34264 2010-04-06  Jim Meyering  <meyering@redhat.com>
34265
34266         init.sh: portability fix: use env's POSIX-specified -i option not -u
34267         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
34268         than unportable env -u.  Solaris 5.11's env lacks support for -u.
34269
34270 2010-04-05  Bruno Haible  <bruno@clisp.org>
34271
34272         btowc: Work around Cygwin 1.7.2 bug.
34273         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
34274         does not map NUL to 0.
34275         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
34276
34277 2010-04-05  Bruno Haible  <bruno@clisp.org>
34278
34279         Make the multithread modules work on Cygwin 1.7.2.
34280         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
34281         imported symbols can be declared weak, so that it returns "no" on
34282         Cygwin 1.7.2.
34283
34284 2010-04-05  Bruno Haible  <bruno@clisp.org>
34285
34286         Use the module 'strncat'.
34287         * modules/unistr/u8-strncat (Depends-on): Add strncat.
34288
34289         Tests for module 'strncat'.
34290         * modules/strncat-tests: New file.
34291         * tests/test-strncat.c: New file.
34292
34293         New module 'strncat'.
34294         * lib/string.in.h (strncat): New declaration.
34295         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
34296         * m4/strncat.m4: New file, based on m4/memchr.m4.
34297         * modules/strncat: New file.
34298         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
34299         is declared.
34300         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
34301         REPLACE_STRNCAT.
34302         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
34303         REPLACE_STRNCAT.
34304         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
34305         module.
34306         * tests/test-string-c++.cc: Check signature of strncat.
34307
34308 2010-04-05  Jim Meyering  <meyering@redhat.com>
34309
34310         xstrtoumax-tests: convert to use init.sh
34311         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
34312         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34313         Use Exit, not exit.
34314         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34315
34316         xstrtoimax-tests: convert to use init.sh
34317         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
34318         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34319         Use Exit, not exit.
34320         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34321
34322 2010-04-05  Bruno Haible  <bruno@clisp.org>
34323
34324         sys_socket: Avoid #define replacements in C++ mode.
34325         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
34326         warning to the function if possible, rather than #defining the symbol
34327         to a dysfunctional alias.
34328
34329 2010-04-05  Bruno Haible  <bruno@clisp.org>
34330
34331         fseeko: Fix C++ test error on mingw.
34332         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
34333         gl_FUNC_FSEEKO.
34334         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
34335         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
34336         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
34337         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
34338
34339 2010-04-05  Bruno Haible  <bruno@clisp.org>
34340
34341         duplocale: Improve test output.
34342         * tests/test-duplocale.c (main): Print reason for skipped test.
34343
34344 2010-04-05  Bruno Haible  <bruno@clisp.org>
34345
34346         Assume rmdir exists.
34347         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
34348         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
34349
34350 2010-04-05  Bruno Haible  <bruno@clisp.org>
34351
34352         Fix link error on Solaris 8 with cc.
34353         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
34354
34355 2010-04-05  Bruno Haible  <bruno@clisp.org>
34356
34357         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34358         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
34359
34360 2010-04-05  Bruno Haible  <bruno@clisp.org>
34361
34362         vasprintf: Update documentation.
34363         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
34364
34365 2010-04-05  Bruno Haible  <bruno@clisp.org>
34366
34367         ptsname: Improve test.
34368         * tests/test-ptsname.c (main): Also try the various master names of BSD
34369         systems.
34370
34371 2010-04-05  Bruno Haible  <bruno@clisp.org>
34372
34373         memchr: Avoid a possible C++ test error.
34374         * lib/string.in.h (memchr): Provide declaration if function is missing.
34375         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
34376         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
34377         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
34378         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
34379
34380 2010-04-05  Bruno Haible  <bruno@clisp.org>
34381
34382         strtok_r: Improve idiom.
34383         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
34384         AC_LIBOBJ is used.
34385
34386 2010-04-05  Bruno Haible  <bruno@clisp.org>
34387
34388         strdup: Improve idiom.
34389         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
34390         AC_LIBOBJ is used.
34391         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
34392         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
34393         when AC_LIBOBJ is used.
34394
34395 2010-04-05  Bruno Haible  <bruno@clisp.org>
34396
34397         mbsinit, mbrtowc, wcrtomb: Improve idioms.
34398         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
34399         don't set REPLACE_MBSINIT to 1.
34400         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
34401         don't set REPLACE_MBRTOWC to 1.
34402         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
34403         exist, don't set REPLACE_MBSRTOWCS to 1.
34404         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
34405         exist, don't set REPLACE_MBSNRTOWCS to 1.
34406         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
34407         don't set REPLACE_WCRTOMB to 1.
34408         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
34409         exist, don't set REPLACE_WCSRTOMBS to 1.
34410         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
34411         exist, don't set REPLACE_WCSNRTOMBS to 1.
34412
34413 2010-04-05  Bruno Haible  <bruno@clisp.org>
34414
34415         ldexpl: Improve idiom.
34416         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
34417         make sure to set HAVE_DECL_LDEXPL to 0.
34418
34419 2010-04-05  Jim Meyering  <meyering@redhat.com>
34420
34421         xstrtol-tests: convert to use init.sh
34422         * modules/xstrtol-tests (Files): Add tests/init.sh.
34423         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34424         Use Exit, not exit.
34425         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34426
34427         atexit-tests: convert to use init.sh
34428         * modules/atexit-tests (Files): Add tests/init.sh.
34429         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34430         Use Exit, not exit.
34431         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34432
34433         init.sh: fix typo
34434         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
34435
34436         init.sh: make it easier for a test script to write to the tty, ...
34437         when using automake's parallel-tests mode.
34438         * tests/init.sh (stderr_fileno_): Define overridable variable.
34439         (warn_): New function, to use it.
34440         (fail_, skip_, framework_failure_): Use warn_.
34441
34442 2010-04-04  Bruno Haible  <bruno@clisp.org>
34443
34444         btowc: Avoid warning.
34445         * lib/btowc.c: Include <stdlib.h>.
34446         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
34447
34448 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34449             Bruno Haible  <bruno@clisp.org>
34450
34451         wchar: Port to NetBSD 1.5.
34452         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
34453         * lib/wctype.in.h (WEOF): Likewise.
34454
34455 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34456             Bruno Haible  <bruno@clisp.org>
34457
34458         Port extended stdio to NetBSD 1.5.
34459         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
34460         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
34461         older.
34462
34463 2010-04-04  Bruno Haible  <bruno@clisp.org>
34464
34465         string: Remove unused substitution.
34466         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
34467         HAVE_DECL_STRERROR.
34468         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
34469
34470 2010-04-04  Bruno Haible  <bruno@clisp.org>
34471
34472         strtod: Avoid a possible C++ test error.
34473         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
34474         set REPLACE_STRTOD.
34475
34476 2010-04-04  Bruno Haible  <bruno@clisp.org>
34477
34478         strerror: Update documentation.
34479         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
34480
34481 2010-04-04  Bruno Haible  <bruno@clisp.org>
34482
34483         stdio: Fix some C++ test errors on Solaris 8 with GCC.
34484         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
34485         _GL_CXXALIAS_SYS_CAST.
34486
34487 2010-04-04  Bruno Haible  <bruno@clisp.org>
34488
34489         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34490         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
34491         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
34492         REPLACE_FREXPL to 1.
34493         * doc/posix-functions/frexpl.texi: Update documentation.
34494
34495 2010-04-04  Bruno Haible  <bruno@clisp.org>
34496
34497         math: Fix some C++ test errors on Solaris 8 and Cygwin.
34498         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
34499
34500 2010-04-04  Bruno Haible  <bruno@clisp.org>
34501
34502         Implement nanosleep for native Windows.
34503         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
34504
34505 2010-04-04  Bruno Haible  <bruno@clisp.org>
34506
34507         math: Fix some C++ test errors on Solaris 8.
34508         * lib/math.in.h (truncf, trunc): Use simpler idiom.
34509
34510 2010-04-04  Bruno Haible  <bruno@clisp.org>
34511
34512         math: Fix some C++ test errors on Cygwin.
34513         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
34514         truncl): Provide declaration if the system does not have it.
34515         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
34516         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
34517         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
34518         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
34519         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
34520         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
34521         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
34522         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
34523         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
34524         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
34525         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
34526         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
34527         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
34528         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
34529         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
34530         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
34531         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
34532         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34533         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34534         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
34535         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34536         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34537
34538 2010-04-04  Bruno Haible  <bruno@clisp.org>
34539
34540         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
34541         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
34542         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
34543         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
34544         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
34545         * m4/isinf.m4 (gl_ISINF): Likewise.
34546         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
34547
34548 2010-04-04  Bruno Haible  <bruno@clisp.org>
34549
34550         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
34551         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
34552
34553 2010-04-04  Bruno Haible  <bruno@clisp.org>
34554
34555         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
34556         * modules/tmpfile (configure.ac): Update.
34557
34558         tmpfile: Fix C++ test error on mingw.
34559         * lib/stdio.in.h (tmpfile): New declaration.
34560         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
34561         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
34562         * modules/tmpfile (Depends-on): Add stdio.
34563         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
34564         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
34565         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
34566         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
34567         REPLACE_TMPFILE.
34568         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
34569
34570 2010-04-04  Bruno Haible  <bruno@clisp.org>
34571
34572         ioctl: Fix C++ test error on mingw.
34573         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
34574         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
34575         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
34576
34577 2010-04-03  Bruno Haible  <bruno@clisp.org>
34578
34579         wcwidth: Fix C++ test error on mingw.
34580         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
34581         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
34582         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
34583
34584 2010-04-03  Bruno Haible  <bruno@clisp.org>
34585
34586         nanosleep: Fix C++ test error on mingw.
34587         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
34588         * lib/time.in.h (nanosleep): Use modern idiom.
34589         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
34590         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
34591         REPLACE_NANOSLEEP to 1.
34592         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
34593         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
34594
34595 2010-04-03  Bruno Haible  <bruno@clisp.org>
34596
34597         strptime: Fix C++ test error on mingw.
34598         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
34599         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
34600         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
34601         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
34602         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
34603         not REPLACE_STRPTIME.
34604         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
34605         REPLACE_STRPTIME.
34606
34607 2010-04-03  Bruno Haible  <bruno@clisp.org>
34608
34609         timegm: Fix C++ test error on mingw.
34610         * lib/time.in.h (timegm): Use modern idiom.
34611         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
34612         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
34613         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
34614         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
34615
34616 2010-04-03  Bruno Haible  <bruno@clisp.org>
34617
34618         timegm: Assume declaration if function exists.
34619         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
34620         if it exists. Don't clobber ac_cv_func_timegm.
34621
34622 2010-04-03  Bruno Haible  <bruno@clisp.org>
34623
34624         time_r: Fix C++ test error on mingw.
34625         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
34626         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
34627         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
34628         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
34629         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
34630
34631 2010-04-03  Bruno Haible  <bruno@clisp.org>
34632
34633         time_r: Minor updates.
34634         * modules/time_r (Description): Mention the provided functions.
34635         * lib/time_r.c: Don't include <string.h>.
34636         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
34637         * doc/posix-functions/localtime_r.texi: Likewise.
34638
34639 2010-04-03  Bruno Haible  <bruno@clisp.org>
34640
34641         time: Fix regression introduced on 2010-03-08.
34642         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
34643         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
34644
34645 2010-04-03  Jim Meyering  <meyering@redhat.com>
34646
34647         maint.mk: don't silently disable project-specific syntax-check rules
34648         * top/maint.mk (_prohibit_regexp): Define, to help people realize
34649         that they need to convert their project-specific syntax-check rules
34650         to use the new _sc_search_regexp.
34651
34652 2010-04-03  Bruno Haible  <bruno@clisp.org>
34653
34654         fchdir: Fix regression introduced on 2010-03-08.
34655         * lib/unistd.in.h (fchdir): Fix declaration.
34656         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
34657         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
34658         REPLACE_FCHDIR.
34659         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
34660         REPLACE_FCHDIR.
34661
34662 2010-04-03  Bruno Haible  <bruno@clisp.org>
34663
34664         getpagesize: Fix C++ test error on mingw.
34665         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
34666         system does not declare the function.
34667         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
34668         declared.
34669         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34670         HAVE_DECL_GETPAGESIZE.
34671         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
34672
34673 2010-04-03  Bruno Haible  <bruno@clisp.org>
34674
34675         stdio: Make C++ tests work on mingw.
34676         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
34677         does not declare the function.
34678
34679 2010-04-03  Bruno Haible  <bruno@clisp.org>
34680
34681         ftello: Fix C++ test error on mingw.
34682         * lib/stdio.in.h (ftello): Use modern idiom.
34683         * lib/ftello.c (ftello): Renamed from rpl_ftello.
34684         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
34685         is missing and that it needs to be replaced.
34686         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
34687         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
34688         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
34689
34690 2010-04-03  Bruno Haible  <bruno@clisp.org>
34691
34692         fseeko: Fix C++ test error on mingw.
34693         * lib/stdio.in.h (fseeko): Use modern idiom.
34694         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
34695         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
34696         is missing and that it needs to be replaced.
34697         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
34698         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
34699         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
34700
34701 2010-04-03  Bruno Haible  <bruno@clisp.org>
34702
34703         mkstemp: Fix C++ test error on mingw.
34704         * lib/stdlib.in.h (mkstemp): Use modern idiom.
34705         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
34706         function is missing and that it needs to be replaced.
34707         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
34708         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
34709
34710 2010-04-03  Bruno Haible  <bruno@clisp.org>
34711
34712         stpncpy: Fix C++ test error on mingw.
34713         * lib/string.in.h (stpncpy): Use modern idiom.
34714         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
34715         function is missing and that it needs to be replaced.
34716         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34717         REPLACE_STPNCPY.
34718         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
34719
34720 2010-04-03  Bruno Haible  <bruno@clisp.org>
34721
34722         sys_stat: Fix C++ test error on mingw.
34723         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
34724         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
34725
34726 2010-04-03  Bruno Haible  <bruno@clisp.org>
34727
34728         pty: Update doc.
34729         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
34730
34731 2010-04-03  Bruno Haible  <bruno@clisp.org>
34732
34733         unistd: Fix C++ test error on mingw.
34734         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
34735
34736 2010-04-03  Bruno Haible  <bruno@clisp.org>
34737
34738         Update doc regarding mingw.
34739         * doc/glibc-functions/openpty.texi: Update regarding mingw.
34740         * doc/glibc-functions/login_tty.texi: Likewise.
34741         * doc/glibc-functions/forkpty.texi: Likewise.
34742
34743 2010-04-03  Bruno Haible  <bruno@clisp.org>
34744
34745         stdlib: Avoid compilation failure of c-strtold on mingw.
34746         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
34747
34748 2010-04-03  Bruno Haible  <bruno@clisp.org>
34749
34750         locale: Make C++ tests work on Cygwin and mingw.
34751         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
34752         cannot provide the function.
34753         Reported by Simon Josefsson.
34754
34755 2010-04-03  Bruno Haible  <bruno@clisp.org>
34756
34757         localename: Port to MacOS X 10.6.
34758         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
34759         memory layout of the locales in MacOS X 10.6 as well.
34760         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
34761
34762 2010-04-02  Bruno Haible  <bruno@clisp.org>
34763
34764         gnulib-tool: Ensure that long-running tests are executed last.
34765         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
34766         running tests after the one for the other tests.
34767
34768 2010-04-02  Bruno Haible  <bruno@clisp.org>
34769
34770         gnulib-tool: Ensure the tests in the main directory are executed first.
34771         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
34772         start with the current directory.
34773
34774 2010-04-02  Bruno Haible  <bruno@clisp.org>
34775
34776         Tests for module 'havelib', moved here from GNU gettext.
34777         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
34778         modifications.
34779         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
34780         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
34781         with modifications.
34782         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
34783         modifications.
34784         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
34785         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
34786         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
34787         with modifications.
34788         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
34789         with modifications.
34790         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
34791         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
34792         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
34793         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
34794         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
34795         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
34796         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
34797         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
34798         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
34799         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
34800         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
34801         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
34802         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
34803         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
34804         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
34805         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
34806         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
34807         with modifications.
34808         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
34809         with modifications.
34810         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
34811         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
34812         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
34813         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
34814         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
34815         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
34816         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
34817         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
34818         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
34819         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
34820         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
34821         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
34822         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
34823         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
34824         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
34825         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
34826         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
34827         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
34828         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
34829         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
34830         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
34831         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
34832         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
34833         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
34834         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
34835         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
34836         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
34837         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
34838         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
34839         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
34840         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
34841         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
34842         * tests/havelib/rpathx/rpathx.c: New file, from
34843         gettext/autoconf-lib-link.
34844         * tests/havelib/rpathx/Makefile.am: New file, from
34845         gettext/autoconf-lib-link.
34846         * tests/havelib/rpathx/configure.ac: New file, from
34847         gettext/autoconf-lib-link with modifications.
34848         * tests/havelib/rpathy/rpathy.c: New file, from
34849         gettext/autoconf-lib-link.
34850         * tests/havelib/rpathy/Makefile.am: New file, from
34851         gettext/autoconf-lib-link.
34852         * tests/havelib/rpathy/configure.ac: New file, from
34853         gettext/autoconf-lib-link with modifications.
34854         * tests/havelib/rpathz/rpathz.c: New file, from
34855         gettext/autoconf-lib-link.
34856         * tests/havelib/rpathz/Makefile.am: New file, from
34857         gettext/autoconf-lib-link.
34858         * tests/havelib/rpathz/configure.ac: New file, from
34859         gettext/autoconf-lib-link with modifications.
34860         * tests/havelib/rpathlx/usex.c: New file, from
34861         gettext/autoconf-lib-link.
34862         * tests/havelib/rpathlx/Makefile.am: New file, from
34863         gettext/autoconf-lib-link.
34864         * tests/havelib/rpathlx/configure.ac: New file, from
34865         gettext/autoconf-lib-link with modifications.
34866         * tests/havelib/rpathly/usey.c: New file, from
34867         gettext/autoconf-lib-link.
34868         * tests/havelib/rpathly/Makefile.am: New file, from
34869         gettext/autoconf-lib-link.
34870         * tests/havelib/rpathly/configure.ac: New file, from
34871         gettext/autoconf-lib-link with modifications.
34872         * tests/havelib/rpathlz/usez.c: New file, from
34873         gettext/autoconf-lib-link.
34874         * tests/havelib/rpathlz/Makefile.am: New file, from
34875         gettext/autoconf-lib-link.
34876         * tests/havelib/rpathlz/configure.ac: New file, from
34877         gettext/autoconf-lib-link with modifications.
34878         * tests/havelib/rpathlyx/usey.c: New file, from
34879         gettext/autoconf-lib-link.
34880         * tests/havelib/rpathlyx/Makefile.am: New file, from
34881         gettext/autoconf-lib-link.
34882         * tests/havelib/rpathlyx/configure.ac: New file, from
34883         gettext/autoconf-lib-link with modifications.
34884         * tests/havelib/rpathlzyx/usez.c: New file, from
34885         gettext/autoconf-lib-link.
34886         * tests/havelib/rpathlzyx/Makefile.am: New file, from
34887         gettext/autoconf-lib-link.
34888         * tests/havelib/rpathlzyx/configure.ac: New file, from
34889         gettext/autoconf-lib-link with modifications.
34890         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
34891         with modifications.
34892
34893 2010-04-02  Bruno Haible  <bruno@clisp.org>
34894
34895         gnulib-tool: Create distributed built sources also for the tests.
34896         * gnulib-tool (func_create_testdir): Also generate distributed built
34897         sources in the tests directory.
34898
34899 2010-04-02  Bruno Haible  <bruno@clisp.org>
34900
34901         gnulib-tool: Obey user's environment variables.
34902         * gnulib-tool (func_create_testdir): When creating built sources,
34903         respect the environment variables for autoconf, automake, etc. given by
34904         the user.
34905
34906 2010-04-02  Bruno Haible  <bruno@clisp.org>
34907
34908         gnulib-tool: Provide the value of --m4-base to modules.
34909         * gnulib-tool (func_import, func_create_testdir): Emit a definition
34910         of gl_m4_base.
34911
34912 2010-04-02  Eric Blake  <eblake@redhat.com>
34913
34914         maint.mk: fix some fallout
34915         * NEWS: Document the incompatible change, and its effect on cfg.mk.
34916         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
34917
34918 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
34919
34920         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
34921         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
34922         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
34923         (sc_cast_of_x_alloc_return_value): Likewise.
34924         (sc_cast_of_alloca_return_value): Likewise.
34925         (sc_space_tab): Likewise.
34926         (sc_prohibit_atoi_atof): Likewise.
34927         (sc_prohibit_magic_number_exit): Likewise.
34928         (sc_error_exit_success): Likewise.
34929         (sc_file_system): Likewise.
34930         (sc_prohibit_have_config_h): Likewise.
34931         (sc_require_config_h): Likewise.
34932         (sc_prohibit_HAVE_MBRTOWC): Likewise.
34933         (sc_obsolete_symbols): Likewise.
34934         (sc_changelog): Likewise.
34935         (sc_program_name): Likewise.
34936         (sc_the_the): Likewise.
34937         (sc_trailing_blank): Likewise.
34938         (sc_two_space_separator_in_usage): Likewise.
34939         (sc_useless_cpp_parens): Likewise.
34940         (sc_GPL_version): Likewise.
34941         (sc_GFDL_version): Likewise.
34942         (sc_texinfo_acronym): Likewise.
34943         (sc_prohibit_cvs_keyword): Likewise.
34944         (sc_prohibit_stat_st_blocks): Likewise.
34945         (sc_prohibit_S_IS_definition): Likewise.
34946         (sc_redundant_const): Likewise.
34947         (sc_makefile_TAB_only_indentation): Likewise.
34948         (sc_m4_quote_check): Likewise.
34949         (sc_makefile_path_separator_check): Likewise.
34950         (sc_copyright_check): Likewise.
34951         (sc_Wundef_boolean): Likewise.
34952         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
34953
34954         maint.mk: match 0 or more whitespace-before-function-call '('
34955         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
34956         that have zero or two-and-more spaces between the function name
34957         and the open parenthesis.
34958         (sc_error_message_warn_fatal): Likewise.
34959         (sc_error_message_uppercase): Likewise.
34960         (sc_error_message_period): Likewise.
34961
34962 2010-03-31  Eric Blake  <eblake@redhat.com>
34963
34964         maint.mk: check for [ as well as test
34965         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
34966         Based on a libvirt report by Matthias Bolte.
34967
34968         gnumakefile: don't squelch _version output
34969         * top/GNUmakefile (_version): Create one-shot dependency rather
34970         than using $(shell) when version must be regenerated.
34971         (_autoreconf): Run verbosely, by default.
34972
34973         sys_time: avoid compiler warnings
34974         * lib/sys_time.in.h (includes): Ensure gcc pragma is
34975         unconditional, fixing regression from 2010-03-29.
34976         Reported by Simon Josefsson.
34977
34978 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
34979
34980         maint.mk: s/_header_without_use/_sc_header_without_use/
34981         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
34982         (sc_prohibit_assert_without_use): Use the new name.
34983         (sc_prohibit_close_stream_without_use): Likewise.
34984         (sc_prohibit_getopt_without_use): Likewise.
34985         (sc_prohibit_quotearg_without_use): Likewise.
34986         (sc_prohibit_quote_without_use): Likewise.
34987         (sc_prohibit_long_options_without_use): Likewise.
34988         (sc_prohibit_inttostr_without_use): Likewise.
34989         (sc_prohibit_ignore_value_without_use): Likewise.
34990         (sc_prohibit_error_without_use): Likewise.
34991         (sc_prohibit_xalloc_without_use): Likewise.
34992         (sc_prohibit_hash_without_use): Likewise.
34993         (sc_prohibit_hash_pjw_without_use): Likewise.
34994         (sc_prohibit_safe_read_without_use): Likewise.
34995         (sc_prohibit_argmatch_without_use): Likewise.
34996         (sc_prohibit_canonicalize_without_use): Likewise.
34997         (sc_prohibit_root_dev_ino_without_use): Likewise.
34998         (sc_prohibit_openat_without_use): Likewise.
34999         (sc_prohibit_c_ctype_without_use): Likewise.
35000         (sc_prohibit_signal_without_use): Likewise.
35001         (sc_prohibit_intprops_without_use): Likewise.
35002
35003 2010-03-30  Eric Blake  <eblake@redhat.com>
35004
35005         maint: improve module indicators
35006         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
35007         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
35008         columns, and avoid extra macro expansion.
35009
35010         fdopendir: work around FreeBSD bug
35011         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
35012         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
35013         * modules/dirent (Makefile.am): Substitute it.
35014         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
35015         declaration.
35016         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
35017         fix.
35018         Reported by Christian Weisgerber <naddy@mips.inka.de>.
35019
35020 2010-03-29  Bruno Haible  <bruno@clisp.org>
35021
35022         Emit #pragma system_header after the inclusion guard, not before.
35023         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
35024         guard that spans the entire file, not before. This enables an
35025         optimization in GCC's preprocessor.
35026         * lib/ctype.in.h: Likewise.
35027         * lib/dirent.in.h: Likewise.
35028         * lib/errno.in.h: Likewise.
35029         * lib/float.in.h: Likewise.
35030         * lib/getopt.in.h: Likewise.
35031         * lib/iconv.in.h: Likewise.
35032         * lib/langinfo.in.h: Likewise.
35033         * lib/locale.in.h: Likewise.
35034         * lib/math.in.h: Likewise.
35035         * lib/netdb.in.h: Likewise.
35036         * lib/netinet_in.in.h: Likewise.
35037         * lib/pty.in.h: Likewise.
35038         * lib/sched.in.h: Likewise.
35039         * lib/se-selinux.in.h: Likewise.
35040         * lib/search.in.h: Likewise.
35041         * lib/spawn.in.h: Likewise.
35042         * lib/stdarg.in.h: Likewise.
35043         * lib/stdint.in.h: Likewise.
35044         * lib/string.in.h: Likewise.
35045         * lib/strings.in.h: Likewise.
35046         * lib/sys_file.in.h: Likewise.
35047         * lib/sys_ioctl.in.h: Likewise.
35048         * lib/sys_time.in.h: Likewise.
35049         * lib/sys_times.in.h: Likewise.
35050         * lib/sys_utsname.in.h: Likewise.
35051         * lib/sys_wait.in.h: Likewise.
35052         * lib/sysexits.in.h: Likewise.
35053         * lib/wctype.in.h: Likewise.
35054
35055 2010-03-28  James Youngman  <jay@gnu.org>
35056
35057         save-cwd: don't leak a file descriptor when the caller execs.
35058         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
35059         saved file descriptor.
35060         * modules/save-cwd (Depends-on): Depend on cloexec.
35061
35062 2010-03-29  Bruno Haible  <bruno@clisp.org>
35063
35064         Remove vestiges of fts-lgpl module.
35065         * lib/fts_.h: Assume GNULIB_FTS is 1.
35066         * lib/fts.c: Likewise.
35067         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35068
35069 2010-03-28  Bruno Haible  <bruno@clisp.org>
35070
35071         Fix definition of tests witness macro.
35072         * gnulib-tool (func_import): Fix definition of witness macro.
35073
35074 2010-03-28  Bruno Haible  <bruno@clisp.org>
35075
35076         Fix ioctl's protoype on glibc systems.
35077         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
35078         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
35079         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
35080         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
35081         signature. If not, arrange to replace the ioctl function.
35082         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
35083         REPLACE_IOCTL.
35084         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
35085         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
35086         Reported by Ludovic Courtès <ludo@gnu.org>.
35087
35088 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
35089
35090         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
35091         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
35092         made it so grep -r --include=GLOB* ... did not work.
35093
35094 2010-03-26  Jim Meyering  <meyering@redhat.com>
35095             Eric Blake  <eblake@redhat.com>
35096
35097         maint.mk: prohibit use of test's -o and -a operators
35098         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
35099
35100 2010-03-28  Bruno Haible  <bruno@clisp.org>
35101
35102         Remove unused GNULIB_XYZ macro definitions.
35103         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
35104         invocation.
35105
35106 2010-03-28  Bruno Haible  <bruno@clisp.org>
35107
35108         Mark privileged tests modules.
35109         * modules/idpriv-drop-tests (Status): New section.
35110         * modules/idpriv-droptemp-tests (Status): New section.
35111
35112 2010-03-28  Bruno Haible  <bruno@clisp.org>
35113
35114         Split C++ tests into separate tests modules.
35115         * modules/dirent-c++-tests: New file, extracted from
35116         modules/dirent-tests.
35117         * modules/dirent-tests: Depend on it.
35118         * modules/fcntl-h-c++-tests: New file, extracted from
35119         modules/fcntl-h-tests.
35120         * modules/fcntl-h-tests: Depend on it.
35121         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
35122         * modules/glob-tests: Depend on it.
35123         * modules/iconv-h-c++-tests: New file, extracted from
35124         modules/iconv-h-tests.
35125         * modules/iconv-h-tests: Depend on it.
35126         * modules/langinfo-c++-tests: New file, extracted from
35127         modules/langinfo-tests.
35128         * modules/langinfo-tests: Depend on it.
35129         * modules/locale-c++-tests: New file, extracted from
35130         modules/locale-tests.
35131         * modules/locale-tests: Depend on it.
35132         * modules/math-c++-tests: New file, extracted from modules/math-tests.
35133         * modules/math-tests: Depend on it.
35134         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
35135         * modules/pty-tests: Depend on it.
35136         * modules/search-c++-tests: New file, extracted from
35137         modules/search-tests.
35138         * modules/search-tests: Depend on it.
35139         * modules/signal-c++-tests: New file, extracted from
35140         modules/signal-tests.
35141         * modules/signal-tests: Depend on it.
35142         * modules/spawn-c++-tests: New file, extracted from
35143         modules/spawn-tests.
35144         * modules/spawn-tests: Depend on it.
35145         * modules/stdio-c++-tests: New file, extracted from
35146         modules/stdio-tests.
35147         * modules/stdio-tests: Depend on it.
35148         * modules/stdlib-c++-tests: New file, extracted from
35149         modules/stdlib-tests.
35150         * modules/stdlib-tests: Depend on it.
35151         * modules/string-c++-tests: New file, extracted from
35152         modules/string-tests.
35153         * modules/string-tests: Depend on it.
35154         * modules/sys_ioctl-c++-tests: New file, extracted from
35155         modules/sys_ioctl-tests.
35156         * modules/sys_ioctl-tests: Depend on it.
35157         * modules/sys_select-c++-tests: New file, extracted from
35158         modules/sys_select-tests.
35159         * modules/sys_select-tests: Depend on it.
35160         * modules/sys_socket-c++-tests: New file, extracted from
35161         modules/sys_socket-tests.
35162         * modules/sys_socket-tests: Depend on it.
35163         * modules/sys_stat-c++-tests: New file, extracted from
35164         modules/sys_stat-tests.
35165         * modules/sys_stat-tests: Depend on it.
35166         * modules/sys_time-c++-tests: New file, extracted from
35167         modules/sys_time-tests.
35168         * modules/sys_time-tests: Depend on it.
35169         * modules/time-c++-tests: New file, extracted from modules/time-tests.
35170         * modules/time-tests: Depend on it.
35171         * modules/unistd-c++-tests: New file, extracted from
35172         modules/unistd-tests.
35173         * modules/unistd-tests: Depend on it.
35174         * modules/wchar-c++-tests: New file, extracted from
35175         modules/wchar-tests.
35176         * modules/wchar-tests: Depend on it.
35177         * modules/wctype-c++-tests: New file, extracted from
35178         modules/wctype-tests.
35179         * modules/wctype-tests: Depend on it.
35180         Reported by Simon Josefsson.
35181
35182 2010-03-28  Bruno Haible  <bruno@clisp.org>
35183
35184         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
35185         * gnulib-tool (func_exists_module): New function, extracted from
35186         func_verify_module.
35187         (func_verify_module): Use it.
35188         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
35189         'foo' only if 'foo' exists.
35190         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
35191         module.
35192
35193 2010-03-28  Bruno Haible  <bruno@clisp.org>
35194
35195         gnulib-tool: Add support for special categories of tests.
35196         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
35197         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
35198         (func_usage): Document them.
35199         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
35200         inc_unportable_tests, inc_all_tests): New variables.
35201         (func_acceptable): Consider these variables.
35202         (func_modules_transitive_closure): Make it work when the 'Status' field
35203         consists of multiple words.
35204         (func_import): Store and restore the values of inc_cxx_tests,
35205         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
35206         inc_all_tests in gnulib-comp.m4.
35207         (func_create_testdir): Set inc_all_tests to true.
35208         * doc/gnulib.texi (Extra tests modules): New section.
35209         Suggested by Jim Meyering.
35210
35211 2010-03-28  Bruno Haible  <bruno@clisp.org>
35212
35213         ansi-c++-opt: Allow turning off the C++ build by default.
35214         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
35215         gl_CXX_CHOICE_DEFAULT_NO is defined.
35216         Requested by Eric Blake.
35217
35218 2010-03-28  Bruno Haible  <bruno@clisp.org>
35219
35220         unistd: Avoid #define replacements in C++ mode.
35221         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
35222         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
35223         setsockopt, shutdown, select): In C++, attach a warning to the function
35224         if possible, rather than #defining the symbol to a dysfunctional alias.
35225         Reported by John W. Eaton <jwe@gnu.org>.
35226
35227 2010-03-28  Bruno Haible  <bruno@clisp.org>
35228
35229         Fix link errors on mingw.
35230         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
35231         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
35232         $(LIBSOCKET).
35233         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
35234         $(LIBSOCKET).
35235
35236 2010-03-28  Bruno Haible  <bruno@clisp.org>
35237             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35238
35239         lib-ignore: Determine different options for different compilers.
35240         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
35241         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
35242         Add comments.
35243         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
35244         * NEWS: Mention the change.
35245
35246 2010-03-27  Bruno Haible  <bruno@clisp.org>
35247
35248         Remove unused GNULIB_XYZ macro definitions.
35249         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35250         * modules/fseek (configure.ac): Likewise.
35251         * modules/ioctl (configure.ac): Likewise.
35252         * modules/open (configure.ac): Likewise.
35253         * modules/stdlib-safer (configure.ac): Likewise.
35254
35255 2010-03-27  Bruno Haible  <bruno@clisp.org>
35256
35257         Add a remark about certain modules.
35258         * modules/malloc (Comment): New section.
35259         * modules/realloc (Comment): Likewise.
35260         * modules/sigpipe (Comment): Likewise.
35261
35262 2010-03-27  Bruno Haible  <bruno@clisp.org>
35263
35264         Resolve conflict between the two kinds of module indicators.
35265         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
35266         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
35267         * modules/canonicalize (configure.ac): Invoke
35268         gl_MODULE_INDICATOR_FOR_TESTS.
35269         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
35270         GNULIB_XYZ.
35271         * tests/test-dirent-c++.cc: Likewise.
35272         * tests/test-dirent-safer.c: Likewise.
35273         * tests/test-dup2.c: Likewise.
35274         * tests/test-fchdir.c: Likewise.
35275         * tests/test-fcntl-h-c++.cc: Likewise.
35276         * tests/test-getopt.c: Likewise.
35277         * tests/test-getopt.h: Likewise.
35278         * tests/test-langinfo-c++.cc: Likewise.
35279         * tests/test-locale-c++.cc: Likewise.
35280         * tests/test-math-c++.cc: Likewise.
35281         * tests/test-pty-c++.cc: Likewise.
35282         * tests/test-search-c++.cc: Likewise.
35283         * tests/test-signal-c++.cc: Likewise.
35284         * tests/test-spawn-c++.cc: Likewise.
35285         * tests/test-stdio-c++.cc: Likewise.
35286         * tests/test-stdlib-c++.cc: Likewise.
35287         * tests/test-string-c++.cc: Likewise.
35288         * tests/test-sys_ioctl-c++.cc: Likewise.
35289         * tests/test-sys_select-c++.cc: Likewise.
35290         * tests/test-sys_socket-c++.cc: Likewise.
35291         * tests/test-sys_stat-c++.cc: Likewise.
35292         * tests/test-sys_time-c++.cc: Likewise.
35293         * tests/test-time-c++.cc: Likewise.
35294         * tests/test-unistd-c++.cc: Likewise.
35295         * tests/test-wchar-c++.cc: Likewise.
35296         * tests/uninorm/test-u8-nfc.c: Likewise.
35297         * tests/uninorm/test-u8-nfd.c: Likewise.
35298         * tests/uninorm/test-u8-nfkc.c: Likewise.
35299         * tests/uninorm/test-u8-nfkd.c: Likewise.
35300         * tests/uninorm/test-u16-nfc.c: Likewise.
35301         * tests/uninorm/test-u16-nfd.c: Likewise.
35302         * tests/uninorm/test-u16-nfkc.c: Likewise.
35303         * tests/uninorm/test-u16-nfkd.c: Likewise.
35304         * tests/uninorm/test-u32-nfc.c: Likewise.
35305         * tests/uninorm/test-u32-nfc-big.c: Likewise.
35306         * tests/uninorm/test-u32-nfd.c: Likewise.
35307         * tests/uninorm/test-u32-nfd-big.c: Likewise.
35308         * tests/uninorm/test-u32-nfkc.c: Likewise.
35309         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
35310         * tests/uninorm/test-u32-nfkd.c: Likewise.
35311         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
35312         * tests/uninorm/test-u32-normalize-big.c: Likewise.
35313
35314 2010-03-27  Bruno Haible  <bruno@clisp.org>
35315
35316         Distinguish two kinds of module indicators.
35317         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
35318         gl_MODULE_INDICATOR.
35319         (gl_MODULE_INDICATOR): New macro.
35320         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
35321         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
35322         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35323         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35324         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35325         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35326         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35327         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35328         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35329         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35330         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35331         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35332         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35333         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35334         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35335         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35336         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35337         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35338         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35339         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35340         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35341         * modules/cloexec (configure.ac): Likewise.
35342         * modules/getopt-gnu (configure.ac): Likewise.
35343         * modules/uninorm/u8-normalize (configure.ac): Likewise.
35344         * modules/uninorm/u16-normalize (configure.ac): Likewise.
35345         * modules/uninorm/u32-normalize (configure.ac): Likewise.
35346         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
35347
35348 2010-03-27  Bruno Haible  <bruno@clisp.org>
35349
35350         New module description field 'Comment'.
35351         * gnulib-tool: New option --extract-comment.
35352         (func_usage): Document it.
35353         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
35354         (func_get_comment): New function.
35355         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
35356
35357 2010-03-27  Bruno Haible  <bruno@clisp.org>
35358
35359         Addendum to 2010-02-07 commit.
35360         * gnulib-tool (func_usage): Document --extract-applicability option.
35361
35362 2010-03-27  Bruno Haible  <bruno@clisp.org>
35363
35364         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
35365         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
35366         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
35367         rather than link errors.
35368
35369 2010-03-27  Bruno Haible  <bruno@clisp.org>
35370
35371         Avoid side effects from tests-related modules on the compilation of lib.
35372         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
35373         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
35374         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
35375         parameter. Emit into AM_CPPFLAGS a definition of the designated C
35376         macro.
35377         (func_import): Define a witness macro. Assign it a value that depends
35378         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
35379         tests-related modules.
35380         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
35381         Reported by Jim Meyering.
35382
35383 2010-03-27  Bruno Haible  <bruno@clisp.org>
35384
35385         Factorize common .m4 code.
35386         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
35387         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
35388         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
35389         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
35390         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35391         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
35392         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
35393         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35394         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35395         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35396         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
35397         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35398         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35399         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35400         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35401         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
35402         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35403         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35404         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35405         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
35406         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
35407         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35408         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35409         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35410         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35411         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35412         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
35413         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
35414         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
35415         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35416         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35417         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35418
35419 2010-03-27  Bruno Haible  <bruno@clisp.org>
35420
35421         Fix a compilation error on Cygwin with g++ >= 4.3.
35422         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
35423         if it is undefined or if we alias it to chmod.
35424         (lstat): Don't warn about the use of this function if it is undefined
35425         or if we alias it to stat.
35426         Reported by Simon Josefsson.
35427
35428 2010-03-27  Bruno Haible  <bruno@clisp.org>
35429
35430         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
35431         * modules/getlogin (configure.ac): Update.
35432
35433         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
35434         * modules/getlogin_r (configure.ac): Update.
35435
35436         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
35437         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
35438         * modules/inet_ntop (configure.ac): Update.
35439
35440         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
35441         * modules/inet_pton (configure.ac): Update.
35442
35443         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
35444         * modules/mbslen (configure.ac): Update.
35445
35446         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
35447         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
35448         * modules/forkpty (configure.ac): Update.
35449         * modules/openpty (configure.ac): Update.
35450
35451 2010-03-26  Simon Josefsson  <simon@josefsson.org>
35452
35453         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
35454         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
35455
35456 2010-03-25  Eric Blake  <eblake@redhat.com>
35457
35458         maint: use pragma consistently across replacement headers
35459         * lib/ctype.in.h (system_header): Hoist for consistent placement.
35460         * lib/dirent.in.h (system_header): Likewise.
35461         * lib/errno.in.h (system_header): Likewise.
35462         * lib/float.in.h (system_header): Likewise.
35463         * lib/getopt.in.h (system_header): Likewise.
35464         * lib/iconv.in.h (system_header): Likewise.
35465         * lib/inttypes.in.h (system_header): Likewise.
35466         * lib/langinfo.in.h (system_header): Likewise.
35467         * lib/locale.in.h (system_header): Likewise.
35468         * lib/math.in.h (system_header): Likewise.
35469         * lib/netdb.in.h (system_header): Likewise.
35470         * lib/netinet_in.in.h (system_header): Likewise.
35471         * lib/pty.in.h (system_header): Likewise.
35472         * lib/sched.in.h (system_header): Likewise.
35473         * lib/se-selinux.in.h (system_header): Likewise.
35474         * lib/search.in.h (system_header): Likewise.
35475         * lib/spawn.in.h (system_header): Likewise.
35476         * lib/stdarg.in.h (system_header): Likewise.
35477         * lib/stdint.in.h (system_header): Likewise.
35478         * lib/string.in.h (system_header): Likewise.
35479         * lib/strings.in.h (system_header): Likewise.
35480         * lib/sys_file.in.h (system_header): Likewise.
35481         * lib/sys_ioctl.in.h (system_header): Likewise.
35482         * lib/sys_socket.in.h (system_header): Likewise.
35483         * lib/sys_times.in.h (system_header): Likewise.
35484         * lib/sys_utsname.in.h (system_header): Likewise.
35485         * lib/sys_wait.in.h (system_header): Likewise.
35486         * lib/sysexits.in.h (system_header): Likewise.
35487         * lib/unistd.in.h (system_header): Likewise.
35488         * lib/wctype.in.h (system_header): Likewise.
35489
35490         arpa/inet: fix mingw compilation warning
35491         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
35492         Reported by Matthew Bolte.
35493
35494 2010-03-25  Bruno Haible  <bruno@clisp.org>
35495
35496         Avoid collision between gnulib wrapper and libintl wrapper.
35497         * lib/printf.c (printf): Don't define if a printf wrapper is already
35498         defined in intl/printf.c.
35499         Reported by Michel Boaventura <michel@michelboaventura.com>.
35500
35501 2010-03-25  Bruno Haible  <bruno@clisp.org>
35502
35503         Use ANSI C.
35504         * lib/readutmp.h (getutent): Provide ANSI C prototype.
35505
35506 2010-03-25  Bruno Haible  <bruno@clisp.org>
35507
35508         Minor formatting changes.
35509         * lib/acosl.c: Insert space before function argument list.
35510         * lib/argz.c: Likewise.
35511         * lib/asinl.c: Likewise.
35512         * lib/expl.c: Likewise.
35513         * lib/gen-uni-tables.c: Likewise.
35514         * lib/gettext.h: Likewise.
35515         * lib/glthread/lock.h: Likewise.
35516         * lib/tanl.c: Likewise.
35517         * lib/uniname/uniname.c: Likewise.
35518         * tests/test-idpriv-drop.c: Likewise.
35519         * tests/test-idpriv-droptemp.c: Likewise.
35520         * tests/test-lock.c: Likewise.
35521         * tests/test-tls.c: Likewise.
35522         * lib/argp-help.c: Insert space before function-like macro argument
35523         list.
35524         * lib/memcmp.c: Likewise.
35525         * tests/test-base64.c: Likewise.
35526         * lib/localename.c: Insert space before sizeof's argument list.
35527         * lib/safe-alloc.h: Likewise.
35528         * lib/file-set.h: Insert space before macro argument list.
35529         * tests/test-argp.c: Likewise.
35530         * lib/argp-namefrob.h: Insert space before function parameter list.
35531         * lib/getaddrinfo.c: Likewise.
35532         * lib/netdb.in.h: Likewise.
35533         * lib/parse-duration.h: Likewise.
35534         * lib/parse-duration.c: Likewise.
35535         * lib/poll.c: Likewise.
35536         * lib/select.c: Likewise.
35537         * lib/trim.h: Likewise.
35538         * tests/test-usleep.c: Likewise.
35539         * lib/ldexpl.c: Insert space before function parameter list and before
35540         function argument list.
35541         * lib/logl.c: Likewise.
35542         * lib/sqrtl.c: Likewise.
35543         * lib/trim.c: Likewise.
35544         * lib/cosl.c: Use GNU style indentation. Insert space before function
35545         argument list.
35546         * lib/sinl.c: Likewise.
35547         * lib/tsearch.c: Insert space after 'for'.
35548         Reported by Jim Meyering.
35549
35550 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
35551
35552         * maint.mk (sc_Wundef_boolean): Check for the presence of the
35553         config header before grepping, as it's not present before
35554         autoreconf/configure are run.  Reported by Simon Josefsson.
35555
35556 2010-03-23  Bruno Haible  <bruno@clisp.org>
35557
35558         pt_chown: Make it work with automake < 1.11.
35559         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
35560         Reported by Simon Josefsson.
35561
35562 2010-03-23  Bruno Haible  <bruno@clisp.org>
35563
35564         pt_chown: Don't depend on GPLed modules.
35565         * lib/pt_chown.c: Don't include idpriv.h.
35566         (main): Don't drop privileges.
35567         * modules/pt_chown (Depends-on): Remove idpriv-drop.
35568         Reported by Simon Josefsson.
35569
35570 2010-03-24  Simon Josefsson  <simon@josefsson.org>
35571
35572         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
35573         suggestions from karl@freefriends.org (Karl Berry).
35574
35575 2010-03-22  Eric Blake  <eblake@redhat.com>
35576
35577         gethostname: further tweaks
35578         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
35579         are overriding gethostname.
35580         Suggested by Bruno Haible.
35581
35582 2010-03-21  Bruno Haible  <bruno@clisp.org>
35583
35584         Fix comments.
35585         * lib/forkpty.c (rpl_forkpty): Fix comment.
35586         * lib/openpty.c (rpl_openpty): Likewise.
35587         Reported by Eric Blake.
35588
35589 2010-03-22  Eric Blake  <eblake@redhat.com>
35590
35591         gethostname: fix build on mingw
35592         * lib/unistd.in.h (includes): Work around fact that mingw
35593         <winsock2.h> re-includes <unistd.h>, by avoiding any
35594         redeclarations if we are being included by <winsock2.h>.
35595         Reported by Matthias Bolte.
35596
35597 2010-03-21  Bruno Haible  <bruno@clisp.org>
35598
35599         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35600         * lib/forkpty.c (forkpty): New replacement function, from glibc with
35601         modifications.
35602         * lib/pty.in.h (forkpty): Update declaration. Add comments.
35603         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
35604         provide the replacement.
35605         * modules/forkpty (Depends-on): Add openpty, login_tty.
35606         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
35607         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
35608         * doc/glibc-functions/forkpty.texi: More supported platforms.
35609         * config/srclist.txt: Add forkpty.c (commented).
35610
35611 2010-03-21  Bruno Haible  <bruno@clisp.org>
35612
35613         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
35614         (Makefile.am): Verify that PTY_LIB is defined.
35615
35616         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
35617
35618 2010-03-21  Bruno Haible  <bruno@clisp.org>
35619
35620         Tests for module 'login_tty'.
35621         * modules/login_tty-tests: New file.
35622         * tests/test-login_tty.c: New file.
35623
35624         New module 'login_tty'.
35625         * lib/login_tty.c: New file.
35626         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
35627         * modules/login_tty: New file.
35628         * doc/glibc-functions/login_tty.texi: Mention the new module.
35629
35630 2010-03-21  Bruno Haible  <bruno@clisp.org>
35631
35632         login_tty: Documentation.
35633         * doc/glibc-functions/login_tty.texi: New file.
35634         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
35635
35636 2010-03-21  Bruno Haible  <bruno@clisp.org>
35637
35638         pty: Consistent macro naming.
35639         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
35640         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
35641         * modules/pty (configure.ac): Update.
35642
35643 2010-03-21  Bruno Haible  <bruno@clisp.org>
35644
35645         Tests for openpty: Make stricter.
35646         * tests/test-openpty.c (main): Add test of canonical processing and
35647         erase.
35648         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
35649
35650         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35651         * lib/openpty.c (openpty): New replacement function.
35652         * lib/pty.in.h: Include <termios.h>.
35653         (openpty): Update declaration. Add comments.
35654         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
35655         is not declared, arrange to provide the replacement. Check for _getpty
35656         and posix_openpt.
35657         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
35658         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
35659         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
35660         * modules/pty-tests (test_pty_c___LDADD): New variable.
35661         * doc/glibc-functions/openpty.texi: More supported platforms.
35662
35663 2010-03-21  Bruno Haible  <bruno@clisp.org>
35664
35665         setenv: Tweaks.
35666         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
35667         the test program.
35668         * doc/posix-functions/setenv.texi: Update platforms list.
35669
35670 2010-03-21  Bruno Haible  <bruno@clisp.org>
35671
35672         New module 'unlockpt'.
35673         * lib/unlockpt.c: New file, from glibc with modifications.
35674         * m4/unlockpt.m4: New file.
35675         * modules/unlockpt: New file.
35676         * lib/stdlib.in.h (unlockpt): New declaration.
35677         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
35678         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
35679         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
35680         HAVE_UNLOCKPT.
35681         * doc/posix-functions/unlockpt.texi: Mention the new module.
35682         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
35683         * config/srclist.txt: Add unlockpt.c (commented).
35684
35685 2010-03-21  Jim Meyering  <meyering@redhat.com>
35686
35687         maint.mk: prohibit inclusion of "intprops.h" without use
35688         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
35689
35690 2010-03-21  Bruno Haible  <bruno@clisp.org>
35691
35692         New module 'grantpt'.
35693         * lib/grantpt.c: New file, from glibc with modifications.
35694         * m4/grantpt.m4: New file.
35695         * modules/grantpt: New file.
35696         * lib/stdlib.in.h (grantpt): New declaration.
35697         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
35698         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
35699         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
35700         HAVE_GRANTPT.
35701         * doc/posix-functions/grantpt.texi: Mention the new module.
35702         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
35703         * config/srclist.txt: Add grantpt.c (commented).
35704
35705 2010-03-21  Bruno Haible  <bruno@clisp.org>
35706
35707         New module 'pt_chown'.
35708         * lib/pt_chown.c: New file, from glibc with modifications.
35709         * lib/pty-private.h: New file, from glibc with modifications.
35710         * modules/pt_chown: New file.
35711         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
35712
35713 2010-03-21  Bruno Haible  <bruno@clisp.org>
35714
35715         Tests for module 'ptsname'.
35716         * modules/ptsname-tests: New file.
35717         * tests/test-ptsname.c: New file.
35718
35719         New module 'ptsname'.
35720         * lib/ptsname.c: New file, from glibc with modifications.
35721         * m4/ptsname.m4: New file.
35722         * modules/ptsname: New file.
35723         * lib/stdlib.in.h (ptsname): New declaration.
35724         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
35725         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
35726         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
35727         HAVE_PTSNAME.
35728         * doc/posix-functions/ptsname.texi: Mention the new module.
35729         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
35730         * config/srclist.txt: Add ptsname.c (commented).
35731
35732 2010-03-21  Bruno Haible  <bruno@clisp.org>
35733
35734         Tests for module 'ttyname_r'.
35735         * modules/ttyname_r-tests: New file.
35736         * tests/test-ttyname_r.c: New file.
35737
35738         New module 'ttyname_r'.
35739         * lib/ttyname_r.c: New file.
35740         * m4/ttyname_r.m4: New file.
35741         * modules/ttyname_r: New file.
35742         * lib/unistd.in.h (ttyname_r): New declaration.
35743         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
35744         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
35745         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
35746         HAVE_TTYNAME_R.
35747         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
35748         * doc/posix-functions/ttyname_r.texi: Mention the new module.
35749
35750 2010-03-20  Bruno Haible  <bruno@clisp.org>
35751
35752         signal: Undefine macro definitions in C++ mode.
35753         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
35754         sigfillset): Undefine macro definitions from the system header in C++
35755         mode.
35756         Reported by John W. Eaton <jwe@gnu.org>.
35757
35758 2010-03-20  Bruno Haible  <bruno@clisp.org>
35759
35760         Ensure no #include statements inside extern "C" { ... }.
35761         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
35762         contain #include statements.
35763         * lib/time.in.h: Likewise.
35764
35765 2010-03-20  Bruno Haible  <bruno@clisp.org>
35766
35767         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
35768         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
35769         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
35770         Reported by John W. Eaton <jwe@gnu.org>.
35771
35772 2010-03-20  Bruno Haible  <bruno@clisp.org>
35773
35774         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
35775         Reported by Jim Meyering.
35776
35777 2010-03-20  Bruno Haible  <bruno@clisp.org>
35778
35779         pipe: Set errno upon failure.
35780         * lib/pipe.h: Specify that when -1 is returned, errno is set.
35781         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
35782         errno value in error message.
35783
35784 2010-03-20  Bruno Haible  <bruno@clisp.org>
35785             Jim Meyering  <meyering@redhat.com>
35786
35787         lchown: Avoid "unused variable" warning.
35788         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
35789
35790 2010-03-20  Bruno Haible  <bruno@clisp.org>
35791
35792         Work around unlink() bug on MacOS X 10.5.6.
35793         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
35794         attempting to unlink a parent directory.
35795         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
35796         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
35797         activate for the replacement function.
35798         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
35799
35800 2010-03-20  Bruno Haible  <bruno@clisp.org>
35801
35802         Fix link errors on Solaris 8.
35803         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
35804         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
35805
35806 2010-03-19  Jim Meyering  <meyering@redhat.com>
35807
35808         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
35809         The _LIBC implementation of build_range_exp correctly honors the
35810         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
35811         However, the non-_LIBC implementation would ignore that syntax-bit
35812         flag and return REG_ERANGE unconditionally.
35813         This change makes it honor that flag.
35814         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
35815         Make two pointer parameters "const".
35816         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
35817         (parse_bracket_exp): Update caller.
35818
35819         regex.m4: correct the reversed range endpoint ([b-a]) test
35820         * m4/regex.m4: When requiring that [b-a] evoke failure,
35821         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
35822         test pass once again for x86-based systems.
35823
35824 2010-03-19  Bruno Haible  <bruno@clisp.org>
35825
35826         scandir: Fix link error on Solaris 8.
35827         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
35828         macros.
35829
35830 2010-03-19  Bruno Haible  <bruno@clisp.org>
35831
35832         getusershell: Fix documentation.
35833         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
35834         module.
35835         * doc/glibc-functions/setusershell.texi: Likewise.
35836
35837         getusershell: Provide declaration, missing on Solaris 9.
35838         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
35839         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
35840         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
35841         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
35842         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
35843         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
35844         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
35845         HAVE_GETUSERSHELL.
35846         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
35847
35848 2010-03-19  Bruno Haible  <bruno@clisp.org>
35849
35850         wctype: Provide iswblank function.
35851         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
35852         exists and is fine.
35853         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
35854         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
35855         * tests/test-wctype.c (main): Re-enable the iswblank tests.
35856         * doc/posix-functions/iswblank.texi: Update.
35857
35858 2010-03-19  Bruno Haible  <bruno@clisp.org>
35859
35860         Tests of module 'pty' in C++ mode.
35861         * modules/pty-tests: New file.
35862         * tests/test-pty-c++.cc: New file.
35863         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
35864
35865 2010-03-19  Eric Blake  <eblake@redhat.com>
35866
35867         logb: fix documentation
35868         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
35869         1.5 declaration bug.
35870
35871         forkpty, openpty: prefer glibc's const-safe prototype
35872         * lib/forkpty.c (rpl_forkpty): New file.
35873         * lib/openpty.c (rpl_openpty): Likewise.
35874         * modules/forkpty (Files): Distribute it.
35875         * modules/openpty (Files): Likewise.
35876         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
35877         check...
35878         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
35879         replacement for for non-const BSD signature.
35880         * modules/pty (Makefile.am): Substitute witnesses.
35881         * lib/pty.in.h (forkpty, openpty): Declare replacements.
35882         * tests/test-forkpty.c: Update signature check.
35883         * tests/test-openpty.c: Likewise.
35884         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
35885         * doc/glibc-functions/openpty.texi (openpty): Likewise.
35886
35887         forkpty, openpty: split functions into new modules
35888         * modules/pty (Makefile.am): Substitute new witnesses.
35889         (Libraries): Move library detection...
35890         * modules/forkpty: ...into new module.
35891         * modules/openpty: Another new module.
35892         * modules/pty-tests: Rename and split...
35893         * modules/forkpty-tests: ...to this...
35894         * modules/openpty-tests: ...and this.
35895         * tests/test-pty.c: Rename and split...
35896         * tests/test-forkpty.c: ...to this...
35897         * tests/test-openpty.c: ...and this.
35898         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
35899         (gl_PTY): Split library searching...
35900         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
35901         (gl_FORKPTY, gl_OPENPTY): New macros.
35902         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
35903         * NEWS: Mention the split.
35904         * MODULES.html.sh (Misc): Document the modules.
35905         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
35906         * doc/glibc-functions/openpty.texi (openpty): Likewise.
35907
35908         pty: improve replacement header
35909         * lib/pty.in.h: New file.
35910         * modules/pty (Files): Ship it.
35911         (Makefile.am): Always build replacement.
35912         * m4/pty.m4: Rename...
35913         * m4/pty_h.m4: ...to this.
35914         (gl_PTY): Modernize setting of witness macros; update check of
35915         forkpty to take proper advantage of cache.
35916         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
35917
35918         getopt: avoid compiler warning
35919         * lib/getopt.c (attribute_hidden): Remove unused macro.
35920
35921 2010-03-18  Bruno Haible  <bruno@clisp.org>
35922
35923         Fix link errors on Solaris 8.
35924         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
35925         * modules/search-tests (test_search_c___LDADD): Likewise.
35926         * modules/signal-tests (test_signal_c___LDADD): Likewise.
35927         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
35928         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
35929         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
35930         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
35931         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
35932         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
35933
35934 2010-03-18  Bruno Haible  <bruno@clisp.org>
35935
35936         Fix bug introduced on 2010-03-14.
35937         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
35938         (gl_SPAWN_H): Require it.
35939         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
35940         Reported by Simon Josefsson.
35941
35942 2010-03-18  Bruno Haible  <bruno@clisp.org>
35943
35944         Fix typo introduced on 2009-12-31.
35945         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
35946         posix_spawn_file_actions_adddup2.
35947
35948 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
35949         and Eric Blake  <eblake@redhat.com>
35950
35951         test-vc-list-files-git: make more robust
35952         * tests/test-vc-list-files-git.sh: Unset problematic environment
35953         variables.  Chain commands together.
35954
35955 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
35956
35957         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
35958         `AC_CHECK_DECL' invocation.
35959
35960 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
35961
35962         * lib/inttostr.c (inttostr): Make sure the invocation of verify
35963         appears before executable statements. Suggested by Petr Sumbera
35964         <Petr.Sumbera@Sun.COM>.
35965
35966 2010-03-14  Bruno Haible  <bruno@clisp.org>
35967
35968         * tests/test-flock.c (test_exclusive): Comment out a test that causes
35969         portability problems. Instead use a simpler test.
35970         (main): Check that invalid arguments are rejected only on Linux.
35971
35972 2010-03-14  Bruno Haible  <bruno@clisp.org>
35973
35974         Fix bug introduced on 2009-12-31.
35975         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
35976         gl_PREREQ_SYS_H_WINSOCK2 always.
35977         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
35978         SYS_SOCKET_H variable.
35979         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
35980         Update comments.
35981         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
35982         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
35983         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
35984         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
35985         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
35986
35987 2010-03-14  Bruno Haible  <bruno@clisp.org>
35988
35989         Fix values returned by sinl, cosl.
35990         * lib/trigl.h: Add specification comments.
35991         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
35992         that combines the values from the precomputed table with the values of
35993         the Chebyshev polynomials.
35994
35995 2010-03-14  Bruno Haible  <bruno@clisp.org>
35996
35997         Fix compilation error when modules 'posix_spawn[p]' are not used.
35998         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
35999         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
36000
36001 2010-03-14  Bruno Haible  <bruno@clisp.org>
36002
36003         Fix compilation error on mingw when module 'time_r' is not used.
36004         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
36005         is 1.
36006         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
36007         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36008         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
36009         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
36010
36011 2010-03-14  Bruno Haible  <bruno@clisp.org>
36012
36013         Fix compilation error with Sun C.
36014         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
36015         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
36016         instead of GCC specific ULONG_LONG_MAX.
36017         * lib/xstrtoll.c: Likewise.
36018         * lib/xstrtoull.c: Likewise.
36019
36020 2010-03-13  Bruno Haible  <bruno@clisp.org>
36021
36022         Allow the user to disable C++ code and tests.
36023         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
36024         (gl_PROG_ANSI_CXX): Require it.
36025
36026 2010-03-13  Bruno Haible  <bruno@clisp.org>
36027
36028         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
36029         cases.
36030
36031 2010-03-13  Bruno Haible  <bruno@clisp.org>
36032
36033         Test that gnulib does not break the standard C++ headers.
36034         * tests/test-locale-c++2.cc: New file.
36035         * modules/locale-tests (Files): Add it.
36036         (Makefile.am): Compile it for test-locale-c++.
36037         * tests/test-math-c++2.cc: New file.
36038         * modules/math-tests (Files): Add it.
36039         (Makefile.am): Compile it for test-math-c++.
36040         * tests/test-signal-c++2.cc: New file.
36041         * modules/signal-tests (Files): Add it.
36042         (Makefile.am): Compile it for test-signal-c++.
36043         * tests/test-stdio-c++2.cc: New file.
36044         * modules/stdio-tests (Files): Add it.
36045         (Makefile.am): Compile it for test-stdio-c++.
36046         * tests/test-stdlib-c++2.cc: New file.
36047         * modules/stdlib-tests (Files): Add it.
36048         (Makefile.am): Compile it for test-stdlib-c++.
36049         * tests/test-string-c++2.cc: New file.
36050         * modules/string-tests (Files): Add it.
36051         (Makefile.am): Compile it for test-string-c++.
36052         * tests/test-time-c++2.cc: New file.
36053         * modules/time-tests (Files): Add it.
36054         (Makefile.am): Compile it for test-time-c++.
36055         Reported by John W. Eaton <jwe@gnu.org>.
36056
36057 2010-03-13  Bruno Haible  <bruno@clisp.org>
36058
36059         * gnulib-tool (func_usage): Clarify which options are available for
36060         --create-testdir and --create-megatestdir.
36061
36062 2010-03-13  Bruno Haible  <bruno@clisp.org>
36063
36064         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
36065         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
36066         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
36067         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
36068         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
36069         when appropriate.
36070         Reported by Jim Meyering.
36071
36072 2010-03-12  Simon Josefsson  <simon@josefsson.org>
36073
36074         * gnulib-tool (func_import): Explain origin of code.
36075
36076 2010-03-12  Bruno Haible  <bruno@clisp.org>
36077
36078         Fix problem with automake's definition of CXXLINK.
36079         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
36080         Reported by Simon Josefsson and Ludovic Courtès.
36081
36082 2010-03-12  Bruno Haible  <bruno@clisp.org>
36083
36084         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
36085         stable releases.
36086
36087 2010-03-11  Bruno Haible  <bruno@clisp.org>
36088
36089         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
36090         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
36091         whether the system provides one variant or multiple variants of the
36092         function.
36093         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
36094         C++ compilers.
36095         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
36096         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
36097         Reported by Jim Meyering.
36098
36099 2010-03-09  Simon Josefsson  <simon@josefsson.org>
36100
36101         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
36102
36103 2010-03-08  Bruno Haible  <bruno@clisp.org>
36104
36105         gnulib-tool: Add support for --libtool in --create-testdir.
36106         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
36107         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
36108
36109 2010-03-08  Eric Blake  <eblake@redhat.com>
36110
36111         gnulib-tool.texi: mention possibility of git submodule
36112         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
36113         submodules.
36114         * doc/.gitignore: Ignore another generated file.
36115
36116 2010-03-08  Karl Berry  <karl@gnu.org>
36117
36118         * doc/gnulib-tool.texi (VCS Issues): Mention third option
36119         of committing gnulib files while skipping others.
36120
36121 2010-03-07  Bruno Haible  <bruno@clisp.org>
36122
36123         Tests of module 'wctype' in C++ mode.
36124         * tests/test-wctype-c++.cc: New file.
36125         * modules/wctype-tests (Files): Add it and tests/signature.h.
36126         (Depends-on): Add ansi-c++-opt.
36127         (Makefile.am): Arrange to compile and run test-wctype-c++.
36128
36129         Tests of module 'wchar' in C++ mode.
36130         * tests/test-wchar-c++.cc: New file.
36131         * modules/wchar-tests (Files): Add it and tests/signature.h.
36132         (Depends-on): Add ansi-c++-opt.
36133         (Makefile.am): Arrange to compile and run test-wchar-c++.
36134         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
36135         gl_MODULE_INDICATOR.
36136
36137         Tests of module 'unistd' in C++ mode.
36138         * tests/test-unistd-c++.cc: New file.
36139         * modules/unistd-tests (Files): Add it and tests/signature.h.
36140         (Depends-on): Add ansi-c++-opt.
36141         (Makefile.am): Arrange to compile and run test-unistd-c++.
36142         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
36143         gl_MODULE_INDICATOR.
36144
36145         Tests of module 'time' in C++ mode.
36146         * tests/test-time-c++.cc: New file.
36147         * modules/time-tests (Files): Add it and tests/signature.h.
36148         (Depends-on): Add ansi-c++-opt.
36149         (Makefile.am): Arrange to compile and run test-time-c++.
36150         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36151
36152         Tests of module 'sys_time' in C++ mode.
36153         * tests/test-sys_time-c++.cc: New file.
36154         * modules/sys_time-tests (Files): Add it and tests/signature.h.
36155         (Depends-on): Add ansi-c++-opt.
36156         (Makefile.am): Arrange to compile and run test-sys_time-c++.
36157         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
36158         gl_MODULE_INDICATOR.
36159
36160         Tests of module 'sys_stat' in C++ mode.
36161         * tests/test-sys_stat-c++.cc: New file.
36162         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
36163         (Depends-on): Add ansi-c++-opt.
36164         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
36165         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
36166         gl_MODULE_INDICATOR.
36167
36168         Tests of module 'sys_socket' in C++ mode.
36169         * tests/test-sys_socket-c++.cc: New file.
36170         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
36171         (Depends-on): Add ansi-c++-opt.
36172         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
36173         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
36174         gl_MODULE_INDICATOR.
36175
36176         Tests of module 'sys_select' in C++ mode.
36177         * tests/test-sys_select-c++.cc: New file.
36178         * modules/sys_select-tests (Files): Add it and tests/signature.h.
36179         (Depends-on): Add ansi-c++-opt.
36180         (Makefile.am): Arrange to compile and run test-sys_select-c++.
36181         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
36182         gl_MODULE_INDICATOR.
36183
36184         Tests of module 'sys_ioctl' in C++ mode.
36185         * tests/test-sys_ioctl-c++.cc: New file.
36186         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
36187         (Depends-on): Add ansi-c++-opt.
36188         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
36189         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
36190         gl_MODULE_INDICATOR.
36191
36192         Tests of module 'string' in C++ mode.
36193         * tests/test-string-c++.cc: New file.
36194         * modules/string-tests (Files): Add it and tests/signature.h.
36195         (Depends-on): Add ansi-c++-opt.
36196         (Makefile.am): Arrange to compile and run test-string-c++.
36197         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
36198         gl_MODULE_INDICATOR.
36199
36200         Tests of module 'stdlib' in C++ mode.
36201         * tests/test-stdlib-c++.cc: New file.
36202         * modules/stdlib-tests (Files): Add it and tests/signature.h.
36203         (Depends-on): Add ansi-c++-opt.
36204         (Makefile.am): Arrange to compile and run test-stdlib-c++.
36205         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
36206         gl_MODULE_INDICATOR.
36207
36208         Tests of module 'stdio' in C++ mode.
36209         * tests/test-stdio-c++.cc: New file.
36210         * modules/stdio-tests (Files): Add it and tests/signature.h.
36211         (Depends-on): Add ansi-c++-opt.
36212         (Makefile.am): Arrange to compile and run test-stdio-c++.
36213         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
36214         gl_MODULE_INDICATOR.
36215
36216         Tests of module 'spawn' in C++ mode.
36217         * tests/test-spawn-c++.cc: New file.
36218         * modules/spawn-tests (Files): Add it and tests/signature.h.
36219         (Depends-on): Add ansi-c++-opt.
36220         (Makefile.am): Arrange to compile and run test-spawn-c++.
36221         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
36222         gl_MODULE_INDICATOR.
36223
36224         Tests of module 'signal' in C++ mode.
36225         * tests/test-signal-c++.cc: New file.
36226         * modules/signal-tests (Files): Add it and tests/signature.h.
36227         (Depends-on): Add ansi-c++-opt.
36228         (Makefile.am): Arrange to compile and run test-signal-c++.
36229         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
36230         gl_MODULE_INDICATOR.
36231
36232         Tests of module 'search' in C++ mode.
36233         * tests/test-search-c++.cc: New file.
36234         * modules/search-tests (Files): Add it and tests/signature.h.
36235         (Depends-on): Add ansi-c++-opt.
36236         (Makefile.am): Arrange to compile and run test-search-c++.
36237         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
36238         gl_MODULE_INDICATOR.
36239
36240         Tests of module 'math' in C++ mode.
36241         * tests/test-math-c++.cc: New file.
36242         * modules/math-tests (Files): Add it and tests/signature.h.
36243         (Depends-on): Add ansi-c++-opt.
36244         (Makefile.am): Arrange to compile and run test-math-c++.
36245         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36246
36247         Tests of module 'locale' in C++ mode.
36248         * tests/test-locale-c++.cc: New file.
36249         * modules/locale-tests (Files): Add it and tests/signature.h.
36250         (Depends-on): Add ansi-c++-opt.
36251         (Makefile.am): Arrange to compile and run test-locale-c++.
36252         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
36253         gl_MODULE_INDICATOR.
36254
36255         Tests of module 'langinfo' in C++ mode.
36256         * tests/test-langinfo-c++.cc: New file.
36257         * modules/langinfo-tests (Files): Add it and tests/signature.h.
36258         (Depends-on): Add ansi-c++-opt.
36259         (Makefile.am): Arrange to compile and run test-langinfo-c++.
36260         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
36261         gl_MODULE_INDICATOR.
36262
36263         Tests of module 'iconv-h' in C++ mode.
36264         * tests/test-iconv-h-c++.cc: New file.
36265         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
36266         (Depends-on): Add ansi-c++-opt.
36267         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
36268
36269         Tests of module 'glob' in C++ mode.
36270         * tests/test-glob-c++.cc: New file.
36271         * modules/glob-tests (Files): Add it.
36272         (Depends-on): Add ansi-c++-opt.
36273         (Makefile.am): Arrange to compile and run test-glob-c++.
36274
36275         Tests of module 'fcntl-h' in C++ mode.
36276         * tests/test-fcntl-h-c++.cc: New file.
36277         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
36278         (Depends-on): Add ansi-c++-opt.
36279         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
36280         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
36281         gl_MODULE_INDICATOR.
36282
36283         Tests of module 'dirent' in C++ mode.
36284         * tests/test-dirent-c++.cc: New file.
36285         * modules/dirent-tests (Files): Add it and tests/signature.h.
36286         (Depends-on): Add ansi-c++-opt.
36287         (Makefile.am): Arrange to compile and run test-dirent-c++.
36288         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
36289         gl_MODULE_INDICATOR.
36290
36291         New module 'ansi-c++-opt'.
36292         * modules/ansi-c++-opt: New file.
36293         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
36294
36295         Document C++ namespace mode.
36296         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
36297
36298         wctype: Avoid #define replacements in C++ mode.
36299         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
36300         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
36301         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
36302         In C++, define a namespaced alias symbol.
36303         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
36304         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
36305         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
36306         rule.
36307
36308         wchar: Avoid #define replacements in C++ mode.
36309         * lib/wchar.in.h: Include c++defs.h.
36310         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
36311         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
36312         symbol.
36313         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
36314         * modules/wchar (Depends-on): Add c++defs.
36315         (Makefile.am): Update wchar.h rule.
36316
36317         unistd: Avoid #define replacements in C++ mode.
36318         * lib/unistd.in.h: Include c++defs.h.
36319         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
36320         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
36321         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
36322         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
36323         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
36324         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
36325         symbol.
36326         (environ): Update.
36327         * modules/unistd (Depends-on): Add c++defs.
36328         (Makefile.am): Update unistd.h rule.
36329
36330         time: Avoid #define replacements in C++ mode.
36331         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
36332         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
36333         define a namespaced alias symbol.
36334         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
36335         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
36336         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
36337         * modules/time (Depends-on): Add c++defs, warn-on-use.
36338         (Makefile.am): Update time.h rule.
36339         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36340         * modules/nanosleep (configure.ac): Likewise.
36341         * modules/strptime (configure.ac): Likewise.
36342         * modules/timegm (configure.ac): Likewise.
36343
36344         sys_time: Avoid #define replacements in C++ mode.
36345         * lib/sys_time.in.h: Include c++defs.h.
36346         (gettimeofday): In C++, define a namespaced alias symbol.
36347         * modules/sys_time (Depends-on): Add c++defs.
36348         (Makefile.am): Update sys/time.h rule.
36349
36350         sys_stat: Avoid #define replacements in C++ mode.
36351         * lib/sys_stat.in.h: Include c++defs.h.
36352         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
36353         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
36354         namespaced alias symbol.
36355         In C++, define a namespaced alias symbol.
36356         * modules/sys_stat (Depends-on): Add c++defs.
36357         (Makefile.am): Update sys/stat.h rule.
36358
36359         sys_socket: Avoid #define replacements in C++ mode.
36360         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
36361         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
36362         definitions also when the system has a <sys/socket.h>.
36363         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
36364         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
36365         In C++, define a namespaced alias symbol.
36366         * modules/sys_socket (Depends-on): Add c++defs.
36367         (Makefile.am): Update sys/socket.h rule.
36368
36369         sys_select: Avoid #define replacements in C++ mode.
36370         * lib/sys_select.in.h: Include c++defs.h. Enable the function
36371         definitions also when the system has a <sys/select.h>.
36372         (select): In C++, define a namespaced alias symbol.
36373         * modules/sys_select (Depends-on): Add c++defs.
36374         (Makefile.am): Update sys/select.h rule.
36375
36376         sys_ioctl: Avoid #define replacements in C++ mode.
36377         * lib/sys_ioctl.in.h: Include c++defs.h.
36378         (ioctl): In C++, define a namespaced alias symbol.
36379         * modules/sys_ioctl (Depends-on): Add c++defs.
36380         (Makefile.am): Update sys/ioctl.h rule.
36381
36382         string: Avoid #define replacements in C++ mode.
36383         * lib/string.in.h: Include c++defs.h.
36384         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
36385         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
36386         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
36387         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
36388         strsignal, strverscmp): In C++, define a namespaced alias symbol.
36389         * modules/string (Depends-on): Add c++defs.
36390         (Makefile.am): Update string.h rule.
36391
36392         stdlib: Avoid #define replacements in C++ mode.
36393         * lib/stdlib.in.h: Include c++defs.h.
36394         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
36395         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
36396         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
36397         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
36398         symbol.
36399         * modules/stdlib (Depends-on): Add c++defs.
36400         (Makefile.am): Update stdlib.h rule.
36401
36402         stdio: Avoid #define replacements in C++ mode.
36403         * lib/stdio.in.h: Include c++defs.h.
36404         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
36405         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
36406         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
36407         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
36408         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
36409         namespaced alias symbol.
36410         * modules/stdio (Depends-on): Add c++defs.
36411         (Makefile.am): Update stdio.h rule.
36412
36413         spawn: Avoid #define replacements in C++ mode.
36414         * lib/spawn.in.h: Include c++defs.h.
36415         (posix_spawn, posix_spawnp, posix_spawnattr_init,
36416         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
36417         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
36418         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
36419         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
36420         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
36421         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
36422         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
36423         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
36424         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
36425         In C++, define a namespaced alias symbol.
36426         * modules/spawn (Depends-on): Add c++defs.
36427         (Makefile.am): Update spawn.h rule.
36428
36429         signal: Avoid #define replacements in C++ mode.
36430         * lib/signal.in.h: Include c++defs.h.
36431         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
36432         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
36433         namespaced alias symbol.
36434         * modules/signal (Depends-on): Add c++defs.
36435         (Makefile.am): Update signal.h rule.
36436
36437         search: Avoid #define replacements in C++ mode.
36438         * lib/search.in.h: Include c++defs.h.
36439         (_gl_search_compar_fn, _gl_search_action_fn): New types.
36440         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
36441         symbol.
36442         * modules/search (Depends-on): Add c++defs.
36443         (Makefile.am): Update search.h rule.
36444
36445         math: Avoid #define replacements in C++ mode.
36446         * lib/math.in.h: Include c++defs.h.
36447         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
36448         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
36449         trunc, truncl): In C++, define a namespaced alias symbol.
36450         * modules/math (Depends-on): Add c++defs.
36451         (Makefile.am): Update math.h rule.
36452
36453         locale: Avoid #define replacements in C++ mode.
36454         * lib/locale.in.h: Include c++defs.h.
36455         (duplocale): In C++, define a namespaced alias symbol.
36456         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
36457         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
36458         * modules/locale (Depends-on): Add c++defs.
36459         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
36460
36461         langinfo: Avoid #define replacements in C++ mode.
36462         * lib/langinfo.in.h: Include c++defs.h.
36463         (nl_langinfo): In C++, define a namespaced alias symbol.
36464         * modules/langinfo (Depends-on): Add c++defs.
36465         (Makefile.am): Update langinfo.h rule.
36466
36467         iconv-h: Avoid #define replacements in C++ mode.
36468         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
36469         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
36470         symbol.
36471         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
36472         whenever iconv is present.
36473         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
36474         (Makefile.am): Update iconv.h rule.
36475
36476         glob: Avoid #define replacements in C++ mode.
36477         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
36478         (_gl_glob_errfunc_fn): New type.
36479         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
36480         symbol.
36481         * modules/glob (Depends-on): Add c++defs, warn-on-use.
36482         (Makefile.am): Update glob.h rule.
36483
36484         fcntl-h: Avoid #define replacements in C++ mode.
36485         * lib/fcntl.in.h: Include c++defs.h.
36486         (fcntl, open, openat): In C++, define a namespaced alias symbol.
36487         * modules/fcntl-h (Depends-on): Add c++defs.
36488         (Makefile.am): Update fcntl.h rule.
36489
36490         dirent: Avoid #define replacements in C++ mode.
36491         * lib/dirent.in.h: Include c++defs.h.
36492         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
36493         namespaced alias symbol.
36494         (dirfd): Update declaration.
36495         * modules/dirent (Depends-on): Add c++defs.
36496         (Makefile.am): Update dirent.h rule.
36497
36498         ctype: Make it usable in C++ code.
36499         * lib/ctype.in.h: Include c++defs.h.
36500         (isblank): Declare as extern "C".
36501         * modules/ctype (Depends-on): Add c++defs.
36502         (Makefile.am): Update ctype.h rule.
36503
36504         New module 'c++defs'.
36505         * modules/c++defs: New file.
36506         * build-aux/c++defs.h: New file.
36507         Reported by John W. Eaton <jwe@gnu.org>.
36508
36509 2010-03-07  Bruno Haible  <bruno@clisp.org>
36510
36511         logb: Provide missing declaration for Cygwin.
36512         * lib/math.in.h (logb): New declaration.
36513         * m4/logb.m4: New file.
36514         * modules/logb (Files): Add m4/logb.m4.
36515         (Depends-on): Add math.
36516         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
36517         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
36518         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
36519         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
36520         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
36521
36522 2010-03-07  Bruno Haible  <bruno@clisp.org>
36523
36524         Fix test-cond link error.
36525         * tests/test-cond.c: Include <stdio.h>.
36526
36527 2010-03-07  Bruno Haible  <bruno@clisp.org>
36528
36529         Fix test-dirent-safer link error.
36530         * modules/dirent-safer-tests (Makefile.am): Define
36531         test_dirent_safer_LDADD.
36532
36533 2010-03-07  Bruno Haible  <bruno@clisp.org>
36534
36535         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
36536         among default module list.
36537
36538 2010-03-07  Bruno Haible  <bruno@clisp.org>
36539
36540         Fix link error on platforms with GNU libiconv.
36541         * modules/unistr/u8-strcoll-tests (Makefile): Define
36542         test_u8_strcoll_LDADD.
36543         * modules/unistr/u16-strcoll-tests (Makefile): Define
36544         test_u16_strcoll_LDADD.
36545         * modules/unistr/u32-strcoll-tests (Makefile): Define
36546         test_u32_strcoll_LDADD.
36547
36548 2010-03-07  Bruno Haible  <bruno@clisp.org>
36549
36550         Use POSIX declarations for socket functions.
36551         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
36552         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
36553         rpl_sendto): Change declaration to match POSIX.
36554         * lib/connect.c (rpl_connect): Likewise.
36555         * lib/accept.c (rpl_accept): Likewise.
36556         * lib/bind.c (rpl_bind): Likewise.
36557         * lib/getpeername.c (rpl_getpeername): Likewise.
36558         * lib/getsockname.c (rpl_getsockname): Likewise.
36559         * lib/recv.c (rpl_recv): Likewise.
36560         * lib/send.c (rpl_send): Likewise.
36561         * lib/recvfrom.c (rpl_recvfrom): Likewise.
36562         * lib/sendto.c (rpl_sendto): Likewise.
36563
36564 2010-03-06  Bruno Haible  <bruno@clisp.org>
36565
36566         Clarify access, euidaccess, faccessat.
36567         * doc/posix-functions/faccessat.texi: Mention security problem under
36568         "Other problems", not "Portability problems".
36569         * doc/posix-functions/access.texi: Likewise. Mention a related security
36570         problem.
36571         * doc/glibc-functions/euidaccess.texi: Mention security problems.
36572         * lib/euidaccess.c: Add comments about platforms.
36573         * lib/unistd.in.h (access, euidaccess): Add warnings.
36574
36575 2010-03-07  Bruno Haible  <bruno@clisp.org>
36576
36577         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
36578         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
36579         (POSIX_SPAWN_SETSCHEDULER): Likewise.
36580         (POSIX_SPAWN_USEVFORK): Define in a way that works when
36581         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36582         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
36583         declare when POSIX_SPAWN_SETSCHEDULER is zero.
36584         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
36585         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
36586         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
36587         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
36588         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
36589         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
36590         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
36591         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
36592         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
36593         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
36594         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
36595         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
36596         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
36597         Likewise.
36598         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
36599         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
36600         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
36601         Likewise.
36602         * tests/test-spawn.c (main): Make it work when
36603         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36604
36605 2010-03-07  Bruno Haible  <bruno@clisp.org>
36606
36607         Fix incorrect Makefile.am generation in German locale.
36608         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36609         Execute sed command with character range in C locale.
36610
36611 2010-03-06  Bruno Haible  <bruno@clisp.org>
36612
36613         Tests for module 'iconv-h'.
36614         * modules/iconv-h-tests: New file.
36615         * tests/test-iconv-h.c: New file.
36616
36617         New module 'iconv-h'.
36618         * modules/iconv-h: New file.
36619         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
36620         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
36621         (configure.ac): Remove gl_ICONV_H.
36622         (Makefile.am): Remove rule for iconv.h.
36623
36624 2010-03-06  Bruno Haible  <bruno@clisp.org>
36625
36626         More consistent naming of *.m4 files.
36627         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
36628         * modules/wctype (Files): Update.
36629
36630         More consistent naming of *.m4 files.
36631         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
36632         * modules/wchar (Files): Update.
36633
36634 2010-03-06  Jim Meyering  <meyering@redhat.com>
36635
36636         euidaccess: relax license to LGPLv2+
36637         * modules/euidaccess (License): Relax to LGPLv2+.
36638
36639 2010-03-06  Bruno Haible  <bruno@clisp.org>
36640
36641         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
36642         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
36643         (Makefile.am): Augment lib_SOURCES instead.
36644
36645 2010-03-04  Jim Meyering  <meyering@redhat.com>
36646
36647         utime: remove obsolete module
36648         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
36649         unnecessary for years, and has been marked as obsolete for 10 months.
36650         * modules/utime: Remove file.
36651         * lib/utime.c: Remove file.
36652         * m4/utime.m4: Remove file.
36653         * m4/utimes-null.m4: Remove file.
36654         * doc/posix-functions/utime.texi (utime): Remove reference to
36655         the module.  Move the sole "fixed by gnulib" item into the
36656         "problems not fixed by Gnulib" list.
36657         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
36658
36659 2010-03-05  Simon Josefsson  <simon@josefsson.org>
36660
36661         * modules/exit (License): Relax license to LGPLv2+.
36662         (Status): Mark as obsolete.
36663         * NEWS: Mention deprecated 'exit' module.
36664         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
36665         of now obsolete 'exit'.
36666
36667 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36668
36669         fts-lgpl: remove unused module
36670         * modules/fts-lgpl: Remove.
36671         * MODULES.html.sh (func_all_modules): Adjust.
36672         * check-module (find_included_lib_files): Adjust.
36673         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
36674
36675 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
36676
36677         copy-acl: enhance Solaris ACL error handling
36678         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
36679         * lib/set-mode-acl.c (qset_acl): Likewise.
36680
36681 2010-03-02  Bruno Haible  <bruno@clisp.org>
36682
36683         spawn: Don't override the system defined values on FreeBSD 8.
36684         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
36685         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
36686         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
36687         if HAVE_POSIX_SPAWN is 1.
36688         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
36689
36690 2010-03-01  Bruno Haible  <bruno@clisp.org>
36691
36692         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
36693         regarding Automake.
36694
36695 2010-02-25  Bruno Haible  <bruno@clisp.org>
36696
36697         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
36698         * gnulib-tool: Define 'echo' as a function only before the ksh alias
36699         setting, not afterwards.
36700         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
36701
36702 2010-02-24  Eric Blake  <eblake@redhat.com>
36703
36704         bootstrap, git-version-gen: use timestamp
36705         * build-aux/git-version-gen (scriptversion): Force UTC.
36706         * build-aux/bootstrap (scriptversion): New variable.
36707
36708         bootstrap: allow older git
36709         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
36710         older than 1.6.4.  Requested by the libvirt project.
36711
36712 2010-02-23  Eric Blake  <eblake@redhat.com>
36713
36714         warn-on-use: work with old autoconf
36715         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
36716         AS_VAR semantics of autoconf 2.60.
36717         Reported by Bruno Haible.
36718
36719         bootstrap: improve some comments
36720         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
36721         clarification comments.
36722
36723         gettimeofday: provide correct function
36724         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
36725         when replacement is declared, otherwise provide gettimeofday.
36726         Reported by Michael Goffioul.
36727
36728 2010-02-23  Jim Meyering  <meyering@redhat.com>
36729
36730         lib-ignore: relax license to "unlimited", not LGPLv2+
36731         * modules/lib-ignore (License): Relax to "unlimited".
36732
36733 2010-02-23  Jim Meyering  <meyering@redhat.com>
36734
36735         lib-ignore: relax license to LGPLv2+
36736         * modules/lib-ignore (License): Relax to LGPLv2+.
36737
36738 2010-02-22  Eric Blake  <eblake@redhat.com>
36739
36740         lseek: avoid bash 3.2 broken pipe bug
36741         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
36742         warning from bash 3.2.
36743         Reported by Ben Pfaff, with analysis from Bruno Haible.
36744
36745         bootstrap: support non-FSF copyright holder
36746         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
36747         bootstrap.conf override of COPYRIGHT_HOLDER.
36748         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
36749
36750         bootstrap: interoperate with gettext 0.14.1
36751         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
36752
36753         bootstrap: allow for alternate submodule location
36754         * build-aux/bootstrap (gnulib_path): New variable; use instead of
36755         hardcoding submodule location.
36756         (gnulib_mk): Allow direct use of Makefile.am.
36757
36758         bootstrap: use GNULIB_SRCDIR to reduce disk usage
36759         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
36760         rather than reconfiguring where the submodule points.
36761
36762         gettimeofday: restore support for platforms that lack function
36763         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
36764         replacement if function is missing.
36765         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
36766         * modules/sys_time (Makefile.am): Substitute it.
36767         * lib/sys_time.in.h (gettimeofday): Check it.
36768         Reported by Michael Goffioul.
36769
36770 2010-02-21  Bruno Haible  <bruno@clisp.org>
36771
36772         * lib/stdio.in.h (obstack_printf): Fix typo.
36773
36774 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
36775
36776         vc-list-files: use bzr ls's -R option
36777         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
36778         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
36779
36780 2010-02-21  Jim Meyering  <meyering@redhat.com>
36781
36782         init.sh: fix EXEEXT shims to work also for names like test-prog
36783         * tests/init.sh: Re-exec a better shell, when needed.
36784         If the current shell lacks support for posix $(...), an init.sh-using
36785         test will now try to find a shell that supports that.  If EXEEXT is
36786         nonempty, we also require support for hyphen-in-alias-name and shell
36787         substitutions like ${var#glob}.  Failure to find such a shell results
36788         in a skipped test.
36789
36790 2010-02-21  Bruno Haible  <bruno@clisp.org>
36791
36792         Really work around around "broken pipe" error message from bash 3.2.
36793         * gnulib-tool (func_reset_sigpipe): Remove function.
36794         (echo): In bash 3.2, define to a function that uses printf.
36795         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
36796
36797 2010-02-20  Bruno Haible  <bruno@clisp.org>
36798
36799         Restore support for automake 1.9.6 with autoconf 2.61.
36800         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
36801         Reported by James Youngman <jay@gnu.org>.
36802
36803 2010-02-20  Bruno Haible  <bruno@clisp.org>
36804
36805         Improve *printf warning condition.
36806         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
36807         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
36808         and the function is overridden due to SIGPIPE emulation.
36809
36810 2010-02-20  Bruno Haible  <bruno@clisp.org>
36811
36812         * lib/stdio.in.h: Tweak comments.
36813
36814 2010-02-19  Bruno Haible  <bruno@clisp.org>
36815
36816         Make it easier to find modules. New gnulib-tool option '--find'.
36817         * gnulib-tool: New option --find.
36818         (func_usage): Document it.
36819         (func_sanitize_modulelist): New function, extracted from
36820         func_all_modules.
36821         (func_all_modules): Invoke it.
36822         * doc/gnulib-tool.texi (Which modules?): New node.
36823
36824 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
36825
36826         * lib/sys_select.in.h: Provide select replacement even if
36827         sys/select.h exists on a system, for Interix.
36828
36829 2010-02-18  Jim Meyering  <meyering@redhat.com>
36830
36831         init.sh: don't use $(...) just yet
36832         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
36833         to accommodate e.g., Solaris' /bin/sh.
36834
36835 2010-02-17  Bruno Haible  <bruno@clisp.org>
36836
36837         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
36838         Reported by Ludovic Courtès <ludo@gnu.org>.
36839
36840 2010-02-16  Simon Josefsson  <simon@josefsson.org>
36841
36842         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
36843         linking with -lintl.
36844
36845 2010-02-17  Simon Josefsson  <simon@josefsson.org>
36846
36847         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
36848         if not provided by the system's netdb.h.  Reported by
36849         ludo@gnu.org (Ludovic Courtès).
36850
36851 2010-02-15  Jim Meyering  <meyering@redhat.com>
36852
36853         init.sh: improve portability and efficiency
36854         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
36855         "dummy" in a for loop.
36856         Use '!', not '^' to select the complement of a character set used
36857         in a "case" statement.
36858         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
36859         Suggestions from Eric Blake.
36860
36861         init.sh: automatically accommodate programs with the .exe suffix
36862         Automatically arrange for an invocation of "prog" to execute the
36863         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
36864         may use the simpler "prog", yet still work when built on a system
36865         that requires specifying the added suffix.
36866         Do this by constructing a function named "prog" that invokes
36867         "prog.exe" for each .exe file in selected directories.
36868         * tests/init.sh (find_exe_basenames_): New function.
36869         (create_exe_shim_functions_): New function.
36870         (path_prepend_): Use it.
36871
36872         maint.mk: mark syntax-check sc_*.m rules as .PHONY
36873         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
36874         "make -t syntax-check" doesn't create a ton of sc_*.m files.
36875
36876 2010-02-14  Jim Meyering  <meyering@redhat.com>
36877
36878         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
36879         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
36880         (sc_prohibit_hash_pjw_without_use): New rule.
36881
36882         maint.mk: allow the default upload destination dir to be overridden
36883         * top/maint.mk (upload_dest_dir_): Define with a default that
36884         preserves the status quo.
36885         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
36886         Reported by Peter Simons.
36887
36888         maint.mk: prohibit inclusion of "hash.h" without_use
36889         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
36890
36891 2010-02-10  Jim Meyering  <meyering@redhat.com>
36892
36893         maint.mk: prohibit inclusion of "ignore-value.h" without_use
36894         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
36895
36896 2010-02-09  Eric Blake  <ebb9@byu.net>
36897         and Bruno Haible  <bruno@clisp.org>
36898
36899         obstack-printf-posix: ensure declaration
36900         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
36901         extracted from gl_FUNC_OBSTACK_PRINTF.
36902         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
36903         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
36904         Likewise.
36905         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
36906         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
36907         0.
36908
36909 2010-02-08  Bruno Haible  <bruno@clisp.org>
36910
36911         gnulib-tool: Fix typo in 2010-02-07 commit.
36912         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
36913         Reported by Eric Blake.
36914
36915 2010-02-07  Bruno Haible  <bruno@clisp.org>
36916
36917         gnulib-tool: Fix up caching patches.
36918         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
36919         option --no-cache. Use associative arrays when supported by the shell.
36920         (sed_comments): New variable.
36921         (modcache): Renamed from do_cache.
36922         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
36923         abbreviate unnecessarily.
36924         (have_associative): New variable.
36925         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
36926         way also for ksh and zsh.
36927         (func_init_sed_convert_to_cache_statements): New function, extracted
36928         from func_cache_lookup_module. Add support for associative arrays.
36929         Don't set the c_MODULE_cached variable here. Ignore all lines before
36930         the first field header. Remove only the final newline, not all trailing
36931         newlines. Support empty fields correctly. Limit the use of 'eval' to
36932         assignments.
36933         (func_get_description, func_get_status, func_get_notice,
36934         func_get_applicability, func_get_filelist, func_get_dependencies,
36935         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
36936         func_get_automake_snippet, func_get_include_directive,
36937         func_get_link_directive, func_get_license, func_get_maintainer):
36938         Update documentation. List the unoptimized code first. Add support for
36939         associative arrays. Limit the use of 'eval' to assignments.
36940         (func_get_applicability): Undo stylistic pessimisations.
36941         (func_get_automake_snippet, func_get_include_directive): Reduce code
36942         duplication.
36943         (func_modules_transitive_closure, func_modules_add_dummy,
36944         func_modules_notice, func_modules_to_filelist, func_add_file,
36945         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
36946         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
36947         func_create_testdir, func_create_megatestdir): Update documentation.
36948
36949 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36950
36951         * gnulib-tool (func_cache_lookup_module): Store the module name
36952         belonging to the cache variable; error out if two different
36953         module names map to the same cache variable name.
36954
36955 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36956
36957         gnulib-tool: Make caching optional.
36958         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
36959         Update matching short versions of --no-changelog.
36960         (func_usage): Update.
36961         (sed_extract_cache_prog): Renamed from ...
36962         (sed_extract_prog): ... this; revert to old extraction script.
36963         (func_get_description, func_get_status)
36964         (func_get_notice, func_get_applicability, func_get_filelist)
36965         (func_get_dependencies, func_get_autoconf_early_snippet)
36966         (func_get_autoconf_snippet, func_get_automake_snippet)
36967         (func_get_include_directive, func_get_link_directive)
36968         (func_get_license, func_get_maintainer): If $do_cache is false,
36969         use old, non-caching extraction scripts.
36970         Suggestion by Bruno Haible.
36971
36972 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36973
36974         gnulib-tool: cache module metainformation.
36975         * gnulib-tool (sed_extract_prog): Match newline before each
36976         header, and rewrite header to a shell variable suffix.
36977         (func_cache_var, func_cache_lookup_module): New functions,
36978         to turn a module name into a cache variable prefix, and to
36979         look up and cache module metainformation.
36980         (func_get_description, func_get_status)
36981         (func_get_notice, func_get_applicability, func_get_filelist)
36982         (func_get_dependencies, func_get_autoconf_early_snippet)
36983         (func_get_autoconf_snippet, func_get_automake_snippet)
36984         (func_get_include_directive, func_get_link_directive)
36985         (func_get_license, func_get_maintainer): Use
36986         func_cache_lookup_module.
36987
36988 2010-02-07  Bruno Haible  <bruno@clisp.org>
36989
36990         fnctl: Fix missing dependency.
36991         * modules/fcntl (Depends-on): Add getdtablesize.
36992         Reported by John W. Eaton <jwe@gnu.org>.
36993
36994 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
36995
36996         Argp: fix recognition of short alias options.
36997
36998         * lib/argp-parse.c (convert_options): Fix improper use of
36999         `|' between character values.
37000         * tests/test-argp.c (group1_option): New alias option
37001         --read (-r).
37002         (group1_parser): Special handling for 'r'.
37003         (test15): New test case.
37004         (test_fun): Add test15.
37005         * tests/test-argp-2.sh: Update expected --help and --usage
37006         outputs.
37007
37008 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
37009
37010         * tests/test-argp.c: Fix indentation.
37011
37012 2010-02-04  Eric Blake  <ebb9@byu.net>
37013
37014         gettimeofday: expose type of second argument
37015         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
37016         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
37017         * tests/test-gettimeofday.c: Use it to silence warning.
37018         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
37019         the issue.
37020
37021 2010-02-03  Jim Meyering  <meyering@redhat.com>
37022
37023         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
37024         * lib/regcomp.c (TYPE_SIGNED): Define.
37025         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
37026
37027         regcomp.c: avoid a new -Wshadow warning
37028         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
37029
37030 2010-02-01  Jim Meyering  <meyering@redhat.com>
37031
37032         removing useless parentheses in cpp #define directives
37033         For motivation, see commit c0221df4, "define STREQ(a,b)
37034         consistently, removing useless parentheses"
37035         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
37036         * lib/mountlist.c (MNT_IGNORE): Likewise.
37037         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
37038
37039 2010-02-01  Eric Blake  <ebb9@byu.net>
37040
37041         sys_time: use link-warning
37042         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
37043         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
37044         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
37045         * modules/sys_time (Depends-on): Add warn-on-use.
37046         (Makefile.am): Always build replacement.
37047         (configure.ac): Update substitutions.
37048         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
37049         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
37050         bother with SYS_TIME_H.
37051         * modules/gettimeofday (configure.ac): Declare indicator.
37052         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
37053         in use.
37054
37055         closein-tests: silence compiler warning
37056         * tests/test-closein.c (main): Ignore fread result.
37057         * modules/closein-tests (Depends-on): Add ignore-value.
37058
37059         tests: silence warning about system return
37060         * tests/test-areadlink-with-size.c (main): Ignore system result.
37061         * tests/test-areadlink.c (main): Likewise.
37062         * tests/test-areadlinkat-with-size.c (main): Likewise.
37063         * tests/test-areadlinkat.c (main): Likewise.
37064         * tests/test-canonicalize-lgpl.c (main): Likewise.
37065         * tests/test-canonicalize.c (main): Likewise.
37066         * tests/test-chown.c (main): Likewise.
37067         * tests/test-fchownat.c (main): Likewise.
37068         * tests/test-fdutimensat.c (main): Likewise.
37069         * tests/test-fstatat.c (main): Likewise.
37070         * tests/test-futimens.c (main): Likewise.
37071         * tests/test-lchown.c (main): Likewise.
37072         * tests/test-link.c (main): Likewise.
37073         * tests/test-linkat.c (main): Likewise.
37074         * tests/test-lstat.c (main): Likewise.
37075         * tests/test-mkdir.c (main): Likewise.
37076         * tests/test-mkdirat.c (main): Likewise.
37077         * tests/test-mkfifo.c (main): Likewise.
37078         * tests/test-mkfifoat.c (main): Likewise.
37079         * tests/test-mknod.c (main): Likewise.
37080         * tests/test-readlink.c (main): Likewise.
37081         * tests/test-remove.c (main): Likewise.
37082         * tests/test-rename.c (main): Likewise.
37083         * tests/test-renameat.c (main): Likewise.
37084         * tests/test-rmdir.c (main): Likewise.
37085         * tests/test-symlink.c (main): Likewise.
37086         * tests/test-symlinkat.c (main): Likewise.
37087         * tests/test-unlink.c (main): Likewise.
37088         * tests/test-unlinkat.c (main): Likewise.
37089         * tests/test-utimens.c (main): Likewise.
37090         * tests/test-utimensat.c (main): Likewise.
37091         * modules/areadlink-tests (Depends-on): Add ignore-value.
37092         * modules/areadlink-with-size-tests (Depends-on): Likewise.
37093         * modules/areadlinkat-tests (Depends-on): Likewise.
37094         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
37095         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37096         * modules/canonicalize-tests (Depends-on): Likewise.
37097         * modules/chown-tests (Depends-on): Likewise.
37098         * modules/fdutimensat-tests (Depends-on): Likewise.
37099         * modules/futimens-tests (Depends-on): Likewise.
37100         * modules/lchown-tests (Depends-on): Likewise.
37101         * modules/link-tests (Depends-on): Likewise.
37102         * modules/linkat-tests (Depends-on): Likewise.
37103         * modules/lstat-tests (Depends-on): Likewise.
37104         * modules/mkdir-tests (Depends-on): Likewise.
37105         * modules/mkfifo-tests (Depends-on): Likewise.
37106         * modules/mkfifoat-tests (Depends-on): Likewise.
37107         * modules/mknod-tests (Depends-on): Likewise.
37108         * modules/openat-tests (Depends-on): Likewise.
37109         * modules/readlink-tests (Depends-on): Likewise.
37110         * modules/remove-tests (Depends-on): Likewise.
37111         * modules/rename-tests (Depends-on): Likewise.
37112         * modules/renameat-tests (Depends-on): Likewise.
37113         * modules/rmdir-tests (Depends-on): Likewise.
37114         * modules/symlink-tests (Depends-on): Likewise.
37115         * modules/symlinkat-tests (Depends-on): Likewise.
37116         * modules/unlink-tests (Depends-on): Likewise.
37117         * modules/utimens-tests (Depends-on): Likewise.
37118         * modules/utimensat-tests (Depends-on): Likewise.
37119
37120 2010-01-31  Bruno Haible  <bruno@clisp.org>
37121
37122         Perform the same test for many <math.h> functions.
37123         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
37124         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
37125         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
37126         of gl_MATHFUNC.
37127         * modules/acos (configure.ac): Likewise.
37128         * modules/asin (configure.ac): Likewise.
37129         * modules/atan (configure.ac): Likewise.
37130         * modules/atan2 (configure.ac): Likewise.
37131         * modules/cbrt (configure.ac): Likewise.
37132         * modules/copysign (configure.ac): Likewise.
37133         * modules/cos (configure.ac): Likewise.
37134         * modules/cosh (configure.ac): Likewise.
37135         * modules/erf (configure.ac): Likewise.
37136         * modules/erfc (configure.ac): Likewise.
37137         * modules/exp (configure.ac): Likewise.
37138         * modules/fmod (configure.ac): Likewise.
37139         * modules/hypot (configure.ac): Likewise.
37140         * modules/j0 (configure.ac): Likewise.
37141         * modules/j1 (configure.ac): Likewise.
37142         * modules/jn (configure.ac): Likewise.
37143         * modules/lgamma (configure.ac): Likewise.
37144         * modules/log (configure.ac): Likewise.
37145         * modules/log10 (configure.ac): Likewise.
37146         * modules/log1p (configure.ac): Likewise.
37147         * modules/pow (configure.ac): Likewise.
37148         * modules/remainder (configure.ac): Likewise.
37149         * modules/sin (configure.ac): Likewise.
37150         * modules/sinh (configure.ac): Likewise.
37151         * modules/tan (configure.ac): Likewise.
37152         * modules/tanh (configure.ac): Likewise.
37153         * modules/y0 (configure.ac): Likewise.
37154         * modules/y1 (configure.ac): Likewise.
37155         * modules/yn (configure.ac): Likewise.
37156         Suggested by Paolo Bonzini.
37157
37158 2010-01-31  Bruno Haible  <bruno@clisp.org>
37159
37160         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
37161
37162 2010-01-31  Bruno Haible  <bruno@clisp.org>
37163
37164         Work around getdelim() bug on FreeBSD 8.0.
37165         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
37166         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
37167         not work.
37168         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
37169         is 1.
37170         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
37171         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
37172         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
37173         a non-zero size.
37174         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
37175
37176 2010-01-31  Bruno Haible  <bruno@clisp.org>
37177
37178         Work around getline() bug on FreeBSD 8.0.
37179         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
37180         and a non-zero size.
37181         * tests/test-getline.c (main): Likewise.
37182         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
37183         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
37184
37185 2010-01-28  Eric Blake  <ebb9@byu.net>
37186
37187         regex: fix build failure
37188         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
37189         platforms.
37190
37191 2010-01-28  Jim Meyering  <meyering@redhat.com>
37192
37193         regex: do not ignore memory allocation failure
37194         * lib/regex_internal.c (create_cd_newstate): Detect
37195         re_node_set_init_copy failure.   Extracted from glibc commit
37196         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37197
37198         regex: sync more white-space changes from libc
37199         * lib/regex_internal.c: White-space only changes.
37200         * lib/regexec.c: Likewise.
37201
37202         regex: add many uses of __attribute_warn_unused_result__
37203         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
37204         * lib/regexec.c: Likewise.
37205         Extracted from a messy glibc commit.
37206
37207         regcomp.c: spelling and merge-artifact from glibc
37208         * lib/regcomp.c: Merge remainder of glibc's
37209         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37210
37211         regcomp.c: sync white-space changes from glibc
37212         * lib/regcomp.c: Merge to accommodate white space
37213         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37214
37215         regcomp.c: do not ignore internal return values
37216         * lib/regcomp.c: Do not ignore internal return values.
37217         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
37218         but without its white-space changes and spelling fixes.
37219
37220         regex_internal.h: define __attribute_warn_unused_result__
37221         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
37222
37223         maint: add a syntax-check rule to check for vulnerable Makefile.in
37224         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
37225
37226 2010-01-27  Jim Meyering  <meyering@redhat.com>
37227
37228         ncftpput-ftp: clean up spaces
37229         * build-aux/ncftpput-ftp: Make Copyright line consistent.
37230         Remove trailing blanks.
37231
37232 2010-01-27  Simon Josefsson  <simon@josefsson.org>
37233
37234         * build-aux/git-version-gen: Fix copyright statement.
37235         * build-aux/gnupload: Likewise.
37236         * tests/test-arcfour.c: Likewise.
37237         * tests/test-arctwo.c: Likewise.
37238         * tests/test-count-one-bits.c: Likewise.
37239         * tests/test-crc.c: Likewise.
37240         * tests/test-des.c: Likewise.
37241         * tests/test-gc-arcfour.c: Likewise.
37242         * tests/test-gc-arctwo.c: Likewise.
37243         * tests/test-gc-des.c: Likewise.
37244         * tests/test-gc-hmac-md5.c: Likewise.
37245         * tests/test-gc-hmac-sha1.c: Likewise.
37246         * tests/test-gc-md2.c: Likewise.
37247         * tests/test-gc-md4.c: Likewise.
37248         * tests/test-gc-md5.c: Likewise.
37249         * tests/test-gc-pbkdf2-sha1.c: Likewise.
37250         * tests/test-gc-rijndael.c: Likewise.
37251         * tests/test-gc-sha1.c: Likewise.
37252         * tests/test-gc.c: Likewise.
37253         * tests/test-gethostname.c: Likewise.
37254         * tests/test-gettimeofday.c: Likewise.
37255         * tests/test-hash.c: Likewise.
37256         * tests/test-hmac-md5.c: Likewise.
37257         * tests/test-hmac-sha1.c: Likewise.
37258         * tests/test-md2.c: Likewise.
37259         * tests/test-md4.c: Likewise.
37260         * tests/test-md5.c: Likewise.
37261         * tests/test-memchr.c: Likewise.
37262         * tests/test-memchr2.c: Likewise.
37263         * tests/test-memcmp.c: Likewise.
37264         * tests/test-memmem.c: Likewise.
37265         * tests/test-memrchr.c: Likewise.
37266         * tests/test-rawmemchr.c: Likewise.
37267         * tests/test-read-file.c: Likewise.
37268         * tests/test-rijndael.c: Likewise.
37269         * tests/test-sockets.c: Likewise.
37270         * tests/test-strchrnul.c: Likewise.
37271         * tests/test-strstr.c: Likewise.
37272         * tests/test-strtod.c: Likewise.
37273         * build-aux/ncftpput-ftp: Likewise.
37274
37275 2010-01-26  Eric Blake  <ebb9@byu.net>
37276
37277         ignore-value: update recommended header name
37278         * modules/ignore-value (Include): Only use <> for headers that
37279         exist in glibc.
37280
37281 2010-01-26  Jim Meyering  <meyering@redhat.com>
37282
37283         test-userspec.c: avoid compiler warnings
37284         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
37285         and "initialization discards qualifiers..." warnings.
37286         Put the first "uid" in its own scope, and make char* members "const".
37287
37288 2010-01-25  Bruno Haible  <bruno@clisp.org>
37289
37290         gnulib-tool: Make warning diagnostics consistent.
37291         * gnulib-tool (func_warning): New function.
37292         Use it everywhere where gnulib-tool produces output to stderr and it is
37293         not a fatal error.
37294
37295 2010-01-25  Bruno Haible  <bruno@clisp.org>
37296
37297         Fix test dependencies.
37298         * modules/xstrtol-tests (Depends-on): Add inttypes.
37299         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
37300
37301 2010-01-25 Pádraig Brady <P@draigBrady.com>
37302
37303         syntax-check: detect incorrect boolean macro values in config.h
37304         * modules/maintainer-makefile (configure.ac): Parameterize the location
37305         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
37306         The logic is from Eric Blake and the location indicated by Jim Meyering.
37307         Note the more natural CONFIG_HEADER name is prohibited by automake
37308         for backwards compatibility reasons.
37309         * top/maint.mk (sc_Wundef_boolean): New rule.
37310
37311 2010-01-25  Jim Meyering  <meyering@redhat.com>
37312
37313         bootstrap: detect MacOS 10.6's shasum, too
37314         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
37315         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
37316
37317 2010-01-23  Jim Meyering  <meyering@redhat.com>
37318
37319         xstrtoll: new module
37320         * modules/xstrtoll: New file.
37321         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
37322         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
37323         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
37324         ./configure fails if you use this module and lack "long long".
37325         * modules/xstrtoll-tests: New module.
37326         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
37327         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
37328         new init.sh-based test framework.
37329
37330 2010-01-24  Bruno Haible  <bruno@clisp.org>
37331
37332         Tests for module 'yn'.
37333         * modules/yn-tests: New file.
37334         * tests/test-yn.c: New file.
37335
37336         Tests for module 'y1'.
37337         * modules/y1-tests: New file.
37338         * tests/test-y1.c: New file.
37339
37340         Tests for module 'y0'.
37341         * modules/y0-tests: New file.
37342         * tests/test-y0.c: New file.
37343
37344         Tests for module 'tanh'.
37345         * modules/tanh-tests: New file.
37346         * tests/test-tanh.c: New file.
37347
37348         Tests for module 'tan'.
37349         * modules/tan-tests: New file.
37350         * tests/test-tan.c: New file.
37351
37352         Tests for module 'sqrt'.
37353         * modules/sqrt-tests: New file.
37354         * tests/test-sqrt.c: New file.
37355
37356         Tests for module 'sinh'.
37357         * modules/sinh-tests: New file.
37358         * tests/test-sinh.c: New file.
37359
37360         Tests for module 'sin'.
37361         * modules/sin-tests: New file.
37362         * tests/test-sin.c: New file.
37363
37364         Tests for module 'rint'.
37365         * modules/rint-tests: New file.
37366         * tests/test-rint.c: New file.
37367
37368         Tests for module 'remainder'.
37369         * modules/remainder-tests: New file.
37370         * tests/test-remainder.c: New file.
37371
37372         Tests for module 'pow'.
37373         * modules/pow-tests: New file.
37374         * tests/test-pow.c: New file.
37375
37376         Tests for module 'nextafter'.
37377         * modules/nextafter-tests: New file.
37378         * tests/test-nextafter.c: New file.
37379
37380         Tests for module 'modf'.
37381         * modules/modf-tests: New file.
37382         * tests/test-modf.c: New file.
37383
37384         Tests for module 'logb'.
37385         * modules/logb-tests: New file.
37386         * tests/test-logb.c: New file.
37387
37388         Tests for module 'log1p'.
37389         * modules/log1p-tests: New file.
37390         * tests/test-log1p.c: New file.
37391
37392         Tests for module 'log10'.
37393         * modules/log10-tests: New file.
37394         * tests/test-log10.c: New file.
37395
37396         Tests for module 'log'.
37397         * modules/log-tests: New file.
37398         * tests/test-log.c: New file.
37399
37400         Tests for module 'lgamma'.
37401         * modules/lgamma-tests: New file.
37402         * tests/test-lgamma.c: New file.
37403
37404         Tests for module 'ldexp'.
37405         * modules/ldexp-tests: New file.
37406         * tests/test-ldexp.c: New file.
37407
37408         Tests for module 'jn'.
37409         * modules/jn-tests: New file.
37410         * tests/test-jn.c: New file.
37411
37412         Tests for module 'j1'.
37413         * modules/j1-tests: New file.
37414         * tests/test-j1.c: New file.
37415
37416         Tests for module 'j0'.
37417         * modules/j0-tests: New file.
37418         * tests/test-j0.c: New file.
37419
37420         Tests for module 'hypot'.
37421         * modules/hypot-tests: New file.
37422         * tests/test-hypot.c: New file.
37423
37424         Tests for module 'fmod'.
37425         * modules/fmod-tests: New file.
37426         * tests/test-fmod.c: New file.
37427
37428         Tests for module 'fabs'.
37429         * modules/fabs-tests: New file.
37430         * tests/test-fabs.c: New file.
37431
37432         Tests for module 'exp'.
37433         * modules/exp-tests: New file.
37434         * tests/test-exp.c: New file.
37435
37436         Tests for module 'erfc'.
37437         * modules/erfc-tests: New file.
37438         * tests/test-erfc.c: New file.
37439
37440         Tests for module 'erf'.
37441         * modules/erf-tests: New file.
37442         * tests/test-erf.c: New file.
37443
37444         Tests for module 'cosh'.
37445         * modules/cosh-tests: New file.
37446         * tests/test-cosh.c: New file.
37447
37448         Tests for module 'cos'.
37449         * modules/cos-tests: New file.
37450         * tests/test-cos.c: New file.
37451
37452         Tests for module 'copysign'.
37453         * modules/copysign-tests: New file.
37454         * tests/test-copysign.c: New file.
37455
37456         Tests for module 'cbrt'.
37457         * modules/cbrt-tests: New file.
37458         * tests/test-cbrt.c: New file.
37459
37460         Tests for module 'atan2'.
37461         * modules/atan2-tests: New file.
37462         * tests/test-atan2.c: New file.
37463
37464         Tests for module 'atan'.
37465         * modules/atan-tests: New file.
37466         * tests/test-atan.c: New file.
37467
37468         Tests for module 'asin'.
37469         * modules/asin-tests: New file.
37470         * tests/test-asin.c: New file.
37471
37472         Tests for module 'acos'.
37473         * modules/acos-tests: New file.
37474         * tests/test-acos.c: New file.
37475
37476 2010-01-24  Bruno Haible  <bruno@clisp.org>
37477
37478         Fix tests for common <math.h> functions.
37479         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
37480         code snippet that references the function pointer, rather than merely
37481         calling the function. Substitute the FUNC_LIBM variable.
37482         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
37483         * modules/acos (configure.ac): Likewise.
37484         * modules/asin (configure.ac): Likewise.
37485         * modules/atan (configure.ac): Likewise.
37486         * modules/atan2 (configure.ac): Likewise.
37487         * modules/cbrt (configure.ac): Likewise.
37488         * modules/copysign (configure.ac): Likewise.
37489         * modules/cos (configure.ac): Likewise.
37490         * modules/cosh (configure.ac): Likewise.
37491         * modules/erf (configure.ac): Likewise.
37492         * modules/erfc (configure.ac): Likewise.
37493         * modules/exp (configure.ac): Likewise.
37494         * modules/fabs (configure.ac): Likewise.
37495         * modules/fmod (configure.ac): Likewise.
37496         * modules/hypot (configure.ac): Likewise.
37497         * modules/j0 (configure.ac): Likewise.
37498         * modules/j1 (configure.ac): Likewise.
37499         * modules/jn (configure.ac): Likewise.
37500         * modules/ldexp (configure.ac): Likewise.
37501         * modules/lgamma (configure.ac): Likewise.
37502         * modules/log (configure.ac): Likewise.
37503         * modules/log10 (configure.ac): Likewise.
37504         * modules/log1p (configure.ac): Likewise.
37505         * modules/logb (configure.ac): Likewise.
37506         * modules/modf (configure.ac): Likewise.
37507         * modules/nextafter (configure.ac): Likewise.
37508         * modules/pow (configure.ac): Likewise.
37509         * modules/remainder (configure.ac): Likewise.
37510         * modules/rint (configure.ac): Likewise.
37511         * modules/sin (configure.ac): Likewise.
37512         * modules/sinh (configure.ac): Likewise.
37513         * modules/tan (configure.ac): Likewise.
37514         * modules/tanh (configure.ac): Likewise.
37515         * modules/y0 (configure.ac): Likewise.
37516         * modules/y1 (configure.ac): Likewise.
37517         * modules/yn (configure.ac): Likewise.
37518
37519 2010-01-24  Bruno Haible  <bruno@clisp.org>
37520
37521         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
37522         * tests/test-acosl.c (x): New variable.
37523         (main): Store argument in x and fetch it from x.
37524         * tests/test-asinl.c (x): New variable.
37525         (main): Store argument in x and fetch it from x.
37526         * tests/test-atanl.c (x): New variable.
37527         (main): Store argument in x and fetch it from x.
37528         * tests/test-cosl.c (x): New variable.
37529         (main): Store argument in x and fetch it from x.
37530         * tests/test-expl.c (x): New variable.
37531         (main): Store argument in x and fetch it from x.
37532         * tests/test-logl.c (x): New variable.
37533         (main): Store argument in x and fetch it from x.
37534         * tests/test-sinl.c (x): New variable.
37535         (main): Store argument in x and fetch it from x.
37536         * tests/test-sqrtl.c (x): New variable.
37537         (main): Store argument in x and fetch it from x.
37538         * tests/test-tanl.c (x): New variable.
37539         (main): Store argument in x and fetch it from x.
37540
37541 2010-01-24  Bruno Haible  <bruno@clisp.org>
37542
37543         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
37544         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
37545         assignments to the initial TESTS_ENVIRONMENT.
37546         * doc/gnulib.texi (Unit test modules): Document it.
37547         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
37548         TESTS_ENVIRONMENT.
37549         * modules/btowc-tests (Makefile.am): Likewise.
37550         * modules/c-stack-tests (Makefile.am): Likewise.
37551         * modules/c-strcase-tests (Makefile.am): Likewise.
37552         * modules/copy-file-tests (Makefile.am): Likewise.
37553         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
37554         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
37555         * modules/mbrtowc-tests (Makefile.am): Likewise.
37556         * modules/mbscasecmp-tests (Makefile.am): Likewise.
37557         * modules/mbscasestr-tests (Makefile.am): Likewise.
37558         * modules/mbschr-tests (Makefile.am): Likewise.
37559         * modules/mbscspn-tests (Makefile.am): Likewise.
37560         * modules/mbsinit-tests (Makefile.am): Likewise.
37561         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
37562         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
37563         * modules/mbspbrk-tests (Makefile.am): Likewise.
37564         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
37565         * modules/mbsrchr-tests (Makefile.am): Likewise.
37566         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
37567         * modules/mbsspn-tests (Makefile.am): Likewise.
37568         * modules/mbsstr-tests (Makefile.am): Likewise.
37569         * modules/nl_langinfo-tests (Makefile.am): Likewise.
37570         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
37571         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
37572         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
37573         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
37574         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
37575         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
37576         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
37577         * modules/wcrtomb-tests (Makefile.am): Likewise.
37578         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
37579         * modules/wcsrtombs-tests (Makefile.am): Likewise.
37580         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
37581         assignments from TESTS_ENVIRONMENT.
37582         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
37583         augmentation.
37584         * modules/argp-version-etc-tests (Makefile.am): Likewise.
37585         * modules/atexit-tests (Makefile.am): Likewise.
37586         * modules/binary-io-tests (Makefile.am): Likewise.
37587         * modules/closein-tests (Makefile.am): Likewise.
37588         * modules/dprintf-posix-tests (Makefile.am): Likewise.
37589         * modules/exclude-tests (Makefile.am): Likewise.
37590         * modules/fflush-tests (Makefile.am): Likewise.
37591         * modules/fpending-tests (Makefile.am): Likewise.
37592         * modules/fprintf-posix-tests (Makefile.am): Likewise.
37593         * modules/freadahead-tests (Makefile.am): Likewise.
37594         * modules/freadptr-tests (Makefile.am): Likewise.
37595         * modules/freadseek-tests (Makefile.am): Likewise.
37596         * modules/fseek-tests (Makefile.am): Likewise.
37597         * modules/fseeko-tests (Makefile.am): Likewise.
37598         * modules/ftell-tests (Makefile.am): Likewise.
37599         * modules/ftello-tests (Makefile.am): Likewise.
37600         * modules/idpriv-drop-tests (Makefile.am): Likewise.
37601         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
37602         * modules/lseek-tests (Makefile.am): Likewise.
37603         * modules/parse-duration-tests (Makefile.am): Likewise.
37604         * modules/perror-tests (Makefile.am): Likewise.
37605         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
37606         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
37607         * modules/pipe-tests (Makefile.am): Likewise.
37608         * modules/pread-tests (Makefile.am): Likewise.
37609         * modules/printf-posix-tests (Makefile.am): Likewise.
37610         * modules/select-tests (Makefile.am): Likewise.
37611         * modules/sigpipe-tests (Makefile.am): Likewise.
37612         * modules/tsearch-tests (Makefile.am): Likewise.
37613         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
37614         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
37615         * modules/uniname/uniname-tests (Makefile.am): Likewise.
37616         * modules/uniwidth/width-tests (Makefile.am): Likewise.
37617         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
37618         * modules/version-etc-tests (Makefile.am): Likewise.
37619         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
37620         * modules/vprintf-posix-tests (Makefile.am): Likewise.
37621         * modules/xalloc-die-tests (Makefile.am): Likewise.
37622         * modules/xprintf-posix-tests (Makefile.am): Likewise.
37623         * modules/xstrtoimax-tests (Makefile.am): Likewise.
37624         * modules/xstrtol-tests (Makefile.am): Likewise.
37625         * modules/xstrtoumax-tests (Makefile.am): Likewise.
37626         * modules/yesno-tests (Makefile.am): Likewise.
37627         Suggested by Jim Meyering.
37628
37629 2010-01-24  Bruno Haible  <bruno@clisp.org>
37630
37631         More documentation.
37632         * doc/gnulib.texi (Writing modules): New chapter.
37633         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
37634         the new chapter.
37635
37636 2010-01-24  Jim Meyering  <meyering@redhat.com>
37637
37638         maint.mk: do not prepend "./" after filtering
37639         * top/maint.mk (_prepend_srcdir_prefix): New variable
37640         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
37641         "./" when $(srcdir) is ".".
37642
37643         define STREQ(a,b) consistently, removing useless parentheses
37644         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
37645         since the only risk is that "a" or "b" contains an unparenthesized
37646         comma, but if either did that, STREQ would have 3 or more arguments.
37647         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
37648         * lib/fts.c (STREQ): Remove unnecessary parentheses.
37649         * lib/hash-triple.c (STREQ): Likewise.
37650         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
37651         * lib/getugroups.c (STREQ): Likewise.
37652
37653 2010-01-23  Jim Meyering  <meyering@redhat.com>
37654
37655         maint.mk: fix syntax-check in a non-srcdir build directory
37656         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
37657         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
37658
37659 2010-01-22  Jim Meyering  <meyering@redhat.com>
37660
37661         userspec: add unit tests
37662         * tests/test-userspec.c: New file.
37663         * modules/userspec-tests: Likewise.
37664
37665 2010-01-21  Jim Meyering  <meyering@redhat.com>
37666
37667         maint.mk: handle source file names containing "." robustly
37668         * top/maint.mk (_dot_escaped_srcdir): Define.
37669         (VC_LIST): Use it in LHS of sed substitution.
37670
37671 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
37672
37673         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
37674         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
37675         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
37676         from a non-srcdir build.
37677
37678 2010-01-20  Eric Blake  <ebb9@byu.net>
37679
37680         warn-on-use: use instead of link-warning
37681         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
37682         * modules/unistd (Depends-on, Makefile.am): Likewise.
37683         * modules/arpa_inet (Depends-on): Replace link-warning with
37684         warn-on-use.
37685         (Makefile.am): Update rules accordingly.
37686         * modules/ctype (Depends-on, Makefile.am): Likewise.
37687         * modules/dirent (Depends-on, Makefile.am): Likewise.
37688         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
37689         * modules/inttypes (Depends-on, Makefile.am): Likewise.
37690         * modules/langinfo (Depends-on, Makefile.am): Likewise.
37691         * modules/locale (Depends-on, Makefile.am): Likewise.
37692         * modules/math (Depends-on, Makefile.am): Likewise.
37693         * modules/search (Depends-on, Makefile.am): Likewise.
37694         * modules/signal (Depends-on, Makefile.am): Likewise.
37695         * modules/spawn (Depends-on, Makefile.am): Likewise.
37696         * modules/stdlib (Depends-on, Makefile.am): Likewise.
37697         * modules/string (Depends-on, Makefile.am): Likewise.
37698         * modules/strings (Depends-on, Makefile.am): Likewise.
37699         * modules/sys_file (Depends-on, Makefile.am): Likewise.
37700         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
37701         * modules/sys_select (Depends-on, Makefile.am): Likewise.
37702         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
37703         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
37704         * modules/sys_times (Depends-on, Makefile.am): Likewise.
37705         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
37706         * modules/wchar (Depends-on, Makefile.am): Likewise.
37707         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
37708         should be poisoned.
37709         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
37710         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
37711         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
37712         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
37713         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
37714         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
37715         * m4/math_h.m4 (gl_MATH_H): Likewise.
37716         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
37717         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
37718         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
37719         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
37720         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
37721         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
37722         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
37723         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
37724         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
37725         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
37726         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
37727         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
37728         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
37729         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
37730         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
37731         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
37732         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
37733         GL_LINK_WARNING.
37734         * lib/ctype.in.h: Likewise.
37735         * lib/dirent.in.h: Likewise.
37736         * lib/fcntl.in.h: Likewise.
37737         * lib/inttypes.in.h: Likewise.
37738         * lib/langinfo.in.h: Likewise.
37739         * lib/locale.in.h: Likewise.
37740         * lib/math.in.h: Likewise.
37741         * lib/search.in.h: Likewise.
37742         * lib/signal.in.h: Likewise.
37743         * lib/spawn.in.h: Likewise.
37744         * lib/stdio.in.h: Likewise.
37745         * lib/stdlib.in.h: Likewise.
37746         * lib/string.in.h: Likewise.
37747         * lib/strings.in.h: Likewise.
37748         * lib/sys_file.in.h: Likewise.
37749         * lib/sys_ioctl.in.h: Likewise.
37750         * lib/sys_select.in.h: Likewise.
37751         * lib/sys_socket.in.h: Likewise.
37752         * lib/sys_stat.in.h: Likewise.
37753         * lib/sys_times.in.h: Likewise.
37754         * lib/sys_utsname.in.h: Likewise.
37755         * lib/unistd.in.h: Likewise.
37756         * lib/wchar.in.h: Likewise.
37757
37758 2010-01-20  Bruno Haible  <bruno@clisp.org>
37759
37760         Avoid duplicate -lm.
37761         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
37762         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
37763         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
37764         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
37765         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
37766         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
37767         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
37768         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
37769         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
37770         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
37771         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
37772         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
37773         Reported by Paolo Bonzini.
37774
37775 2010-01-19  Bruno Haible  <bruno@clisp.org>
37776
37777         langinfo, nl_langinfo: Relicense under LGPLv2+.
37778         * modules/langinfo (License): Change to LGPLv2+.
37779         * modules/nl_langinfo (License): Likewise.
37780         Patch by David Lutterkort <lutter@redhat.com>.
37781
37782 2010-01-19  Bruno Haible  <bruno@clisp.org>
37783
37784         Avoid compilation error with cc on OSF/1 5.1.
37785         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
37786         statement, not before.
37787         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37788
37789 2010-01-18  Bruno Haible  <bruno@clisp.org>
37790
37791         Avoid a link error due to the __printf__ symbol.
37792         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
37793         and 2.6.x.
37794         (__format__, __printf__): Remove definitions.
37795         * lib/argp-fmtstream.h: Likewise.
37796         * lib/argp.h: Likewise.
37797         * lib/error.h: Likewise.
37798         * lib/vasnprintf.h: Likewise.
37799         * lib/xprintf.h: Likewise.
37800         * lib/xvasprintf.h: Likewise.
37801         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
37802
37803 2010-01-18  Bruno Haible  <bruno@clisp.org>
37804
37805         Tests for module 'tanl'.
37806         * modules/tanl-tests: New file.
37807         * tests/test-tanl.c: New file.
37808
37809         Tests for module 'sqrtl'.
37810         * modules/sqrtl-tests: New file.
37811         * tests/test-sqrtl.c: New file.
37812
37813         Tests for module 'sinl'.
37814         * modules/sinl-tests: New file.
37815         * tests/test-sinl.c: New file.
37816
37817         Tests for module 'logl'.
37818         * modules/logl-tests: New file.
37819         * tests/test-logl.c: New file.
37820
37821         Tests for module 'expl'.
37822         * modules/expl-tests: New file.
37823         * tests/test-expl.c: New file.
37824
37825         Tests for module 'cosl'.
37826         * modules/cosl-tests: New file.
37827         * tests/test-cosl.c: New file.
37828
37829         Tests for module 'atanl'.
37830         * modules/atanl-tests: New file.
37831         * tests/test-atanl.c: New file.
37832
37833         Tests for module 'asinl'.
37834         * modules/asinl-tests: New file.
37835         * tests/test-asinl.c: New file.
37836
37837         Tests for module 'acosl'.
37838         * modules/acosl-tests: New file.
37839         * tests/test-acosl.c: New file.
37840
37841         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
37842         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
37843         tanl): Use the standard gnulib idiom.
37844         * lib/cosl.c: Don't include trigl.c and sincosl.c.
37845         * lib/sinl.c: Likewise.
37846         * lib/tanl.c: Don't include trigl.c.
37847         (kernel_tanl): Make static.
37848         * lib/sincosl.c: Include trigl.h first.
37849         * lib/trigl.c: Likewise.
37850         * m4/acosl.m4: New file.
37851         * m4/asinl.m4: New file.
37852         * m4/atanl.m4: New file.
37853         * m4/cosl.m4: New file.
37854         * m4/expl.m4: New file.
37855         * m4/logl.m4: New file.
37856         * m4/sinl.m4: New file.
37857         * m4/sqrtl.m4: New file.
37858         * m4/tanl.m4: New file.
37859         * m4/mathl.m4: Remove file.
37860         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
37861         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
37862         Don't initialize GNULIB_MATHL.
37863         * modules/acosl: New file.
37864         * modules/asinl: New file.
37865         * modules/atanl: New file.
37866         * modules/cosl: New file.
37867         * modules/expl: New file.
37868         * modules/logl: New file.
37869         * modules/sinl: New file.
37870         * modules/sqrtl: New file.
37871         * modules/tanl: New file.
37872         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
37873         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
37874         substitute GNULIB_MATHL.
37875         * modules/mathl: Rewritten.
37876         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
37877         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
37878         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
37879         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
37880         * doc/posix-functions/expl.texi: Mention the 'expl' module.
37881         * doc/posix-functions/logl.texi: Mention the 'logl' module.
37882         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
37883         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
37884         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
37885
37886 2010-01-18  Bruno Haible  <bruno@clisp.org>
37887
37888         sqrt: Make gl_FUNC_SQRT requirable.
37889         * m4/sqrt.m4: New file.
37890         * modules/sqrt (Files): Add it.
37891         (configure.ac): Invoke gl_FUNC_SQRT.
37892
37893 2010-01-18  Bruno Haible  <bruno@clisp.org>
37894
37895         New modules for common <math.h> functions.
37896         * m4/mathfunc.m4: New file.
37897         * modules/acos: New file.
37898         * modules/asin: New file.
37899         * modules/atan: New file.
37900         * modules/atan2: New file.
37901         * modules/cbrt: New file.
37902         * modules/copysign: New file.
37903         * modules/cos: New file.
37904         * modules/cosh: New file.
37905         * modules/erf: New file.
37906         * modules/erfc: New file.
37907         * modules/exp: New file.
37908         * modules/fabs: New file.
37909         * modules/fmod: New file.
37910         * modules/hypot: New file.
37911         * modules/j0: New file.
37912         * modules/j1: New file.
37913         * modules/jn: New file.
37914         * modules/ldexp: New file.
37915         * modules/lgamma: New file.
37916         * modules/log: New file.
37917         * modules/log10: New file.
37918         * modules/log1p: New file.
37919         * modules/logb: New file.
37920         * modules/modf: New file.
37921         * modules/nextafter: New file.
37922         * modules/pow: New file.
37923         * modules/remainder: New file.
37924         * modules/rint: New file.
37925         * modules/sin: New file.
37926         * modules/sinh: New file.
37927         * modules/sqrt: New file.
37928         * modules/tan: New file.
37929         * modules/tanh: New file.
37930         * modules/y0: New file.
37931         * modules/y1: New file.
37932         * modules/yn: New file.
37933         * doc/posix-functions/acos.texi: Mention the 'acos' module.
37934         * doc/posix-functions/asin.texi: Mention the 'asin' module.
37935         * doc/posix-functions/atan.texi: Mention the 'atan' module.
37936         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
37937         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
37938         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
37939         * doc/posix-functions/cos.texi: Mention the 'cos' module.
37940         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
37941         * doc/posix-functions/erf.texi: Mention the 'erf' module.
37942         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
37943         * doc/posix-functions/exp.texi: Mention the 'exp' module.
37944         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
37945         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
37946         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
37947         * doc/posix-functions/j0.texi: Mention the 'j0' module.
37948         * doc/posix-functions/j1.texi: Mention the 'j1' module.
37949         * doc/posix-functions/jn.texi: Mention the 'jn' module.
37950         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
37951         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
37952         * doc/posix-functions/log.texi: Mention the 'log' module.
37953         * doc/posix-functions/log10.texi: Mention the 'log10' module.
37954         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
37955         * doc/posix-functions/logb.texi: Mention the 'logb' module.
37956         * doc/posix-functions/modf.texi: Mention the 'modf' module.
37957         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
37958         * doc/posix-functions/pow.texi: Mention the 'pow' module.
37959         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
37960         * doc/posix-functions/rint.texi: Mention the 'rint' module.
37961         * doc/posix-functions/sin.texi: Mention the 'sin' module.
37962         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
37963         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
37964         * doc/posix-functions/tan.texi: Mention the 'tan' module.
37965         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
37966         * doc/posix-functions/y0.texi: Mention the 'y0' module.
37967         * doc/posix-functions/y1.texi: Mention the 'y1' module.
37968         * doc/posix-functions/yn.texi: Mention the 'yn' module.
37969
37970 2010-01-18  Jim Meyering  <meyering@redhat.com>
37971
37972         ignore-value: relax license to LGPLv2+
37973         * modules/ignore-value (License): Relax to LGPLv2+.
37974
37975         getdate: don't leak when TZ contains two or more '"'s
37976         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
37977         double quote in TZ after the first one.
37978
37979         readtokens: do not leak internal token_lengths buffer
37980         * lib/readtokens.c (readtokens): Free the local, lengths,
37981         when the supplied "token_lengths" parameter is NULL.
37982
37983 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37984
37985         Fix a couple of missing LIBTHREAD link failures on AIX.
37986         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
37987         $(LIBTHREAD).
37988         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
37989
37990         Link test-poll against INET_PTON_LIB.
37991         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
37992         for inet_pton on Solaris 10.
37993
37994 2010-01-17  Bruno Haible  <bruno@clisp.org>
37995
37996         unistdio/*-sprintf: Fix typo in module description.
37997         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
37998         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
37999         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
38000         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
38001         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
38002         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
38003         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
38004         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38005
38006 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38007
38008         gnulib-tool: fix filelist for AIX, HP-UX ksh.
38009         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
38010         variables in shell case patterns, for AIX and HP-UX ksh.
38011
38012         Split large sed scripts, for HP-UX sed.
38013         * modules/stdio: Split sed scripts around 50 sed commands,
38014         to avoid HP-UX limit of 99 commands, in the near future.
38015         * modules/string: Likewise.
38016         * modules/unistd: Likewise.
38017
38018         gnulib-tool: avoid writing in the current directory.
38019         * gnulib-tool (func_emit_lib_Makefile_am)
38020         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
38021         not in the current directory, so concurrent gnulib-tool
38022         instances do not interfere.
38023
38024 2010-01-16  Jim Meyering  <meyering@redhat.com>
38025
38026         doc: update users.txt
38027         * users.txt: Add grep.
38028         (diffutils, gzip): Update URLs.
38029
38030 2010-01-12  Bruno Haible  <bruno@clisp.org>
38031
38032         posix_spawn: Avoid test failure on Cygwin.
38033         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
38034         characters.
38035         Reported by Simon Josefsson.
38036
38037 2010-01-12  Bruno Haible  <bruno@clisp.org>
38038
38039         * tests/test-cond.c (main): When skipping the test, show the reason.
38040
38041 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38042
38043         * lib/striconv.c (str_cd_iconv): Avoid if before free.
38044
38045 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38046
38047         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
38048         VC_LIST_ALWAYS_EXCLUDE_REGEX.
38049
38050 2010-01-12  Eric Blake  <ebb9@byu.net>
38051
38052         build: guarantee AS_VAR_IF
38053         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
38054         (gl_AS_VAR_IF): Move...
38055         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
38056         Reported by Simon Josefsson.
38057
38058 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38059
38060         * lib/stdio.in.h: Fix typo.
38061
38062 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38063
38064         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
38065         libgpg-error.
38066
38067 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38068
38069         * tests/test-xalloc-die.sh: Use $EXEEXT.
38070
38071 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38072             Bruno Haible  <bruno@clisp.org>
38073
38074         getlogin, getlogin_r: Avoid test failure.
38075         * tests/test-getlogin.c: Include <stdio.h>.
38076         (main): Skip the test when the function fails because stdin is not a
38077         tty.
38078         * tests/test-getlogin_r.c: Include <stdio.h>.
38079         (main): Skip the test when the function fails because stdin is not a
38080         tty.
38081
38082 2010-01-11  Eric Blake  <ebb9@byu.net>
38083
38084         tests: avoid more large file warnings
38085         * tests/test-fflush.c: Avoid warning about ftell use.
38086         * tests/test-fseek.c: Avoid warning about fseek use.
38087
38088 2010-01-10  Bruno Haible  <bruno@clisp.org>
38089
38090         nproc: Work better on Linux when /proc and /sys are not mounted.
38091         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
38092         as lower bound when, on glibc/Linux systems,
38093         sysconf (_SC_NPROCESSORS_CONF) returns 1.
38094         Suggested by Pádraig Brady <P@draigbrady.com>.
38095         Reported by Dmitry V. Levin <ldv@altlinux.org>.
38096
38097         nproc: Refactor.
38098         * lib/nproc.c (num_processors_via_affinity_mask): New function,
38099         extracted from num_processors.
38100         (num_processors): Call it.
38101
38102 2010-01-11  Jim Meyering  <meyering@redhat.com>
38103
38104         utimecmp: avoid new warning from upcoming gcc-4.5.0
38105         * lib/utimecmp.c (BILLION): Define using #define rather than an
38106         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
38107
38108 2010-01-11  Eric Blake  <ebb9@byu.net>
38109
38110         math: add portability warnings for classification macros
38111         * modules/math (Depends-on): Add warn-on-use.
38112         (Makefile.am): Provide new substitutions.
38113         * m4/math_h.m4 (gl_MATH_H): Require inline.
38114         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
38115         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
38116         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
38117         implement warnings.
38118
38119         unistd: warn on use of environ without module
38120         * modules/unistd (Depends-on): Add warn-on-use.
38121         (Makefile.am): Provide new substitutions.
38122         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
38123         * lib/unistd.in.h (environ): Wrap with a warning helper function.
38124
38125         stdio: warn on suspicious uses
38126         * modules/stdio (Depends-on): Add warn-on-use.
38127         (Makefile.am): Provide new substitutions.
38128         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
38129         fseeko.
38130         * lib/stdio.in.h (gets): Always warn on use.
38131         (fseek, ftell): Adjust when warnings are issued, and honor
38132         _GL_NO_LARGE_FILES as a way to silence the warning.
38133         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
38134         any warning about large file offsets.
38135         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
38136         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
38137         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
38138         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
38139         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
38140         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
38141         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
38142         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
38143
38144         warn-on-use: new module
38145         * modules/warn-on-use: New file.
38146         * build-aux/warn-on-use.h: Likewise.
38147         * m4/warn-on-use.m4: Likewise.
38148         * MODULES.html.sh (Support for building): Mention it.
38149
38150 2010-01-10  Bruno Haible  <bruno@clisp.org>
38151
38152         Tests for module 'unistr/u32-strdup'.
38153         * modules/unistr/u32-strdup-tests: New file.
38154         * tests/unistr/test-u32-strdup.c: New file.
38155
38156         Tests for module 'unistr/u16-strdup'.
38157         * modules/unistr/u16-strdup-tests: New file.
38158         * tests/unistr/test-u16-strdup.c: New file.
38159
38160         Tests for module 'unistr/u8-strdup'.
38161         * modules/unistr/u8-strdup-tests: New file.
38162         * tests/unistr/test-u8-strdup.c: New file.
38163         * tests/unistr/test-strdup.h: New file.
38164
38165         Tests for module 'unistr/u32-strncmp'.
38166         * modules/unistr/u32-strncmp-tests: New file.
38167         * tests/unistr/test-u32-strncmp.c: New file.
38168
38169         Tests for module 'unistr/u16-strncmp'.
38170         * modules/unistr/u16-strncmp-tests: New file.
38171         * tests/unistr/test-u16-strncmp.c: New file.
38172
38173         Tests for module 'unistr/u8-strncmp'.
38174         * modules/unistr/u8-strncmp-tests: New file.
38175         * tests/unistr/test-u8-strncmp.c: New file.
38176         * tests/unistr/test-strncmp.h: New file.
38177
38178         Tests for module 'unistr/u32-strcoll'.
38179         * modules/unistr/u32-strcoll-tests: New file.
38180         * tests/unistr/test-u32-strcoll.c: New file.
38181
38182         Tests for module 'unistr/u16-strcoll'.
38183         * modules/unistr/u16-strcoll-tests: New file.
38184         * tests/unistr/test-u16-strcoll.c: New file.
38185
38186         Tests for module 'unistr/u8-strcoll'.
38187         * modules/unistr/u8-strcoll-tests: New file.
38188         * tests/unistr/test-u8-strcoll.c: New file.
38189
38190         Tests for module 'unistr/u32-strcmp'.
38191         * modules/unistr/u32-strcmp-tests: New file.
38192         * tests/unistr/test-u32-strcmp.c: New file.
38193         * tests/unistr/test-u32-strcmp.h: New file.
38194
38195         Tests for module 'unistr/u16-strcmp'.
38196         * modules/unistr/u16-strcmp-tests: New file.
38197         * tests/unistr/test-u16-strcmp.c: New file.
38198         * tests/unistr/test-u16-strcmp.h: New file.
38199
38200         Tests for module 'unistr/u8-strcmp'.
38201         * modules/unistr/u8-strcmp-tests: New file.
38202         * tests/unistr/test-u8-strcmp.c: New file.
38203         * tests/unistr/test-u8-strcmp.h: New file.
38204         * tests/unistr/test-strcmp.h: New file.
38205
38206         Tests for module 'unistr/u32-strncat'.
38207         * modules/unistr/u32-strncat-tests: New file.
38208         * tests/unistr/test-u32-strncat.c: New file.
38209
38210         Tests for module 'unistr/u16-strncat'.
38211         * modules/unistr/u16-strncat-tests: New file.
38212         * tests/unistr/test-u16-strncat.c: New file.
38213
38214         Tests for module 'unistr/u8-strncat'.
38215         * modules/unistr/u8-strncat-tests: New file.
38216         * tests/unistr/test-u8-strncat.c: New file.
38217         * tests/unistr/test-strncat.h: New file.
38218
38219         Tests for module 'unistr/u32-strcat'.
38220         * modules/unistr/u32-strcat-tests: New file.
38221         * tests/unistr/test-u32-strcat.c: New file.
38222
38223         Tests for module 'unistr/u16-strcat'.
38224         * modules/unistr/u16-strcat-tests: New file.
38225         * tests/unistr/test-u16-strcat.c: New file.
38226
38227         Tests for module 'unistr/u8-strcat'.
38228         * modules/unistr/u8-strcat-tests: New file.
38229         * tests/unistr/test-u8-strcat.c: New file.
38230         * tests/unistr/test-strcat.h: New file.
38231
38232         Tests for module 'unistr/u32-stpncpy'.
38233         * modules/unistr/u32-stpncpy-tests: New file.
38234         * tests/unistr/test-u32-stpncpy.c: New file.
38235
38236         Tests for module 'unistr/u16-stpncpy'.
38237         * modules/unistr/u16-stpncpy-tests: New file.
38238         * tests/unistr/test-u16-stpncpy.c: New file.
38239
38240         Tests for module 'unistr/u8-stpncpy'.
38241         * modules/unistr/u8-stpncpy-tests: New file.
38242         * tests/unistr/test-u8-stpncpy.c: New file.
38243         * tests/unistr/test-stpncpy.h: New file.
38244
38245         Tests for module 'unistr/u32-strncpy'.
38246         * modules/unistr/u32-strncpy-tests: New file.
38247         * tests/unistr/test-u32-strncpy.c: New file.
38248
38249         Tests for module 'unistr/u16-strncpy'.
38250         * modules/unistr/u16-strncpy-tests: New file.
38251         * tests/unistr/test-u16-strncpy.c: New file.
38252
38253         Tests for module 'unistr/u8-strncpy'.
38254         * modules/unistr/u8-strncpy-tests: New file.
38255         * tests/unistr/test-u8-strncpy.c: New file.
38256         * tests/unistr/test-strncpy.h: New file.
38257
38258         Tests for module 'unistr/u32-stpcpy'.
38259         * modules/unistr/u32-stpcpy-tests: New file.
38260         * tests/unistr/test-u32-stpcpy.c: New file.
38261
38262         Tests for module 'unistr/u16-stpcpy'.
38263         * modules/unistr/u16-stpcpy-tests: New file.
38264         * tests/unistr/test-u16-stpcpy.c: New file.
38265
38266         Tests for module 'unistr/u8-stpcpy'.
38267         * modules/unistr/u8-stpcpy-tests: New file.
38268         * tests/unistr/test-u8-stpcpy.c: New file.
38269         * tests/unistr/test-stpcpy.h: New file.
38270
38271         Tests for module 'unistr/u32-strcpy'.
38272         * modules/unistr/u32-strcpy-tests: New file.
38273         * tests/unistr/test-u32-strcpy.c: New file.
38274
38275         Tests for module 'unistr/u16-strcpy'.
38276         * modules/unistr/u16-strcpy-tests: New file.
38277         * tests/unistr/test-u16-strcpy.c: New file.
38278
38279         Tests for module 'unistr/u8-strcpy'.
38280         * modules/unistr/u8-strcpy-tests: New file.
38281         * tests/unistr/test-u8-strcpy.c: New file.
38282         * tests/unistr/test-strcpy.h: New file.
38283
38284         Tests for module 'unistr/u32-strnlen'.
38285         * modules/unistr/u32-strnlen-tests: New file.
38286         * tests/unistr/test-u32-strnlen.c: New file.
38287
38288         Tests for module 'unistr/u16-strnlen'.
38289         * modules/unistr/u16-strnlen-tests: New file.
38290         * tests/unistr/test-u16-strnlen.c: New file.
38291
38292         Tests for module 'unistr/u8-strnlen'.
38293         * modules/unistr/u8-strnlen-tests: New file.
38294         * tests/unistr/test-u8-strnlen.c: New file.
38295         * tests/unistr/test-strnlen.h: New file.
38296
38297         Tests for module 'unistr/u32-strlen'.
38298         * modules/unistr/u32-strlen-tests: New file.
38299         * tests/unistr/test-u32-strlen.c: New file.
38300
38301         Tests for module 'unistr/u16-strlen'.
38302         * modules/unistr/u16-strlen-tests: New file.
38303         * tests/unistr/test-u16-strlen.c: New file.
38304
38305         Tests for module 'unistr/u8-strlen'.
38306         * modules/unistr/u8-strlen-tests: New file.
38307         * tests/unistr/test-u8-strlen.c: New file.
38308
38309         Tests for module 'unistr/u32-prev'.
38310         * modules/unistr/u32-prev-tests: New file.
38311         * tests/unistr/test-u32-prev.c: New file.
38312
38313         Tests for module 'unistr/u16-prev'.
38314         * modules/unistr/u16-prev-tests: New file.
38315         * tests/unistr/test-u16-prev.c: New file.
38316
38317         Tests for module 'unistr/u8-prev'.
38318         * modules/unistr/u8-prev-tests: New file.
38319         * tests/unistr/test-u8-prev.c: New file.
38320
38321         Tests for module 'unistr/u32-next'.
38322         * modules/unistr/u32-next-tests: New file.
38323         * tests/unistr/test-u32-next.c: New file.
38324
38325         Tests for module 'unistr/u16-next'.
38326         * modules/unistr/u16-next-tests: New file.
38327         * tests/unistr/test-u16-next.c: New file.
38328
38329         Tests for module 'unistr/u8-next'.
38330         * modules/unistr/u8-next-tests: New file.
38331         * tests/unistr/test-u8-next.c: New file.
38332
38333         Tests for module 'unistr/u32-strmbtouc'.
38334         * modules/unistr/u32-strmbtouc-tests: New file.
38335         * tests/unistr/test-u32-strmbtouc.c: New file.
38336
38337         Tests for module 'unistr/u16-strmbtouc'.
38338         * modules/unistr/u16-strmbtouc-tests: New file.
38339         * tests/unistr/test-u16-strmbtouc.c: New file.
38340
38341         Tests for module 'unistr/u8-strmbtouc'.
38342         * modules/unistr/u8-strmbtouc-tests: New file.
38343         * tests/unistr/test-u8-strmbtouc.c: New file.
38344
38345         Tests for module 'unistr/u32-strmblen'.
38346         * modules/unistr/u32-strmblen-tests: New file.
38347         * tests/unistr/test-u32-strmblen.c: New file.
38348
38349         Tests for module 'unistr/u16-strmblen'.
38350         * modules/unistr/u16-strmblen-tests: New file.
38351         * tests/unistr/test-u16-strmblen.c: New file.
38352
38353         Tests for module 'unistr/u8-strmblen'.
38354         * modules/unistr/u8-strmblen-tests: New file.
38355         * tests/unistr/test-u8-strmblen.c: New file.
38356
38357         Tests for module 'unistr/u32-cpy-alloc'.
38358         * modules/unistr/u32-cpy-alloc-tests: New file.
38359         * tests/unistr/test-u32-cpy-alloc.c: New file.
38360
38361         Tests for module 'unistr/u16-cpy-alloc'.
38362         * modules/unistr/u16-cpy-alloc-tests: New file.
38363         * tests/unistr/test-u16-cpy-alloc.c: New file.
38364
38365         Tests for module 'unistr/u8-cpy-alloc'.
38366         * modules/unistr/u8-cpy-alloc-tests: New file.
38367         * tests/unistr/test-u8-cpy-alloc.c: New file.
38368         * tests/unistr/test-cpy-alloc.h: New file.
38369
38370         Tests for module 'unistr/u32-mbsnlen'.
38371         * modules/unistr/u32-mbsnlen-tests: New file.
38372         * tests/unistr/test-u32-mbsnlen.c: New file.
38373
38374         Tests for module 'unistr/u16-mbsnlen'.
38375         * modules/unistr/u16-mbsnlen-tests: New file.
38376         * tests/unistr/test-u16-mbsnlen.c: New file.
38377
38378         Tests for module 'unistr/u8-mbsnlen'.
38379         * modules/unistr/u8-mbsnlen-tests: New file.
38380         * tests/unistr/test-u8-mbsnlen.c: New file.
38381
38382         Tests for module 'unistr/u32-chr'.
38383         * modules/unistr/u32-chr-tests: New file.
38384         * tests/unistr/test-u32-chr.c: New file.
38385
38386         Tests for module 'unistr/u16-chr'.
38387         * modules/unistr/u16-chr-tests: New file.
38388         * tests/unistr/test-u16-chr.c: New file.
38389
38390         Tests for module 'unistr/u8-chr'.
38391         * modules/unistr/u8-chr-tests: New file.
38392         * tests/unistr/test-u8-chr.c: New file.
38393         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
38394
38395         Tests for module 'unistr/u32-cmp2'.
38396         * modules/unistr/u32-cmp2-tests: New file.
38397         * tests/unistr/test-u32-cmp2.c: New file.
38398
38399         Tests for module 'unistr/u16-cmp2'.
38400         * modules/unistr/u16-cmp2-tests: New file.
38401         * tests/unistr/test-u16-cmp2.c: New file.
38402
38403         Tests for module 'unistr/u8-cmp2'.
38404         * modules/unistr/u8-cmp2-tests: New file.
38405         * tests/unistr/test-u8-cmp2.c: New file.
38406         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
38407
38408         Tests for module 'unistr/u32-cmp'.
38409         * modules/unistr/u32-cmp-tests: New file.
38410         * tests/unistr/test-u32-cmp.c: New file.
38411
38412         Tests for module 'unistr/u16-cmp'.
38413         * modules/unistr/u16-cmp-tests: New file.
38414         * tests/unistr/test-u16-cmp.c: New file.
38415
38416         Tests for module 'unistr/u8-cmp'.
38417         * modules/unistr/u8-cmp-tests: New file.
38418         * tests/unistr/test-u8-cmp.c: New file.
38419         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
38420
38421         Tests for module 'unistr/u32-set'.
38422         * modules/unistr/u32-set-tests: New file.
38423         * tests/unistr/test-u32-set.c: New file.
38424
38425         Tests for module 'unistr/u16-set'.
38426         * modules/unistr/u16-set-tests: New file.
38427         * tests/unistr/test-u16-set.c: New file.
38428
38429         Tests for module 'unistr/u8-set'.
38430         * modules/unistr/u8-set-tests: New file.
38431         * tests/unistr/test-u8-set.c: New file.
38432         * tests/unistr/test-set.h: New file.
38433
38434         Tests for module 'unistr/u32-move'.
38435         * modules/unistr/u32-move-tests: New file.
38436         * tests/unistr/test-u32-move.c: New file.
38437
38438         Tests for module 'unistr/u16-move'.
38439         * modules/unistr/u16-move-tests: New file.
38440         * tests/unistr/test-u16-move.c: New file.
38441
38442         Tests for module 'unistr/u8-move'.
38443         * modules/unistr/u8-move-tests: New file.
38444         * tests/unistr/test-u8-move.c: New file.
38445         * tests/unistr/test-move.h: New file.
38446
38447         Tests for module 'unistr/u32-cpy'.
38448         * modules/unistr/u32-cpy-tests: New file.
38449         * tests/unistr/test-u32-cpy.c: New file.
38450
38451         Tests for module 'unistr/u16-cpy'.
38452         * modules/unistr/u16-cpy-tests: New file.
38453         * tests/unistr/test-u16-cpy.c: New file.
38454
38455         Tests for module 'unistr/u8-cpy'.
38456         * modules/unistr/u8-cpy-tests: New file.
38457         * tests/unistr/test-u8-cpy.c: New file.
38458         * tests/unistr/test-cpy.h: New file.
38459
38460 2010-01-09  Bruno Haible  <bruno@clisp.org>
38461
38462         Tests for module 'unistr/u32-uctomb'.
38463         * modules/unistr/u32-uctomb-tests: New file.
38464         * tests/unistr/test-u32-uctomb.c: New file.
38465
38466         Tests for module 'unistr/u16-uctomb'.
38467         * modules/unistr/u16-uctomb-tests: New file.
38468         * tests/unistr/test-u16-uctomb.c: New file.
38469
38470         Tests for module 'unistr/u8-uctomb'.
38471         * modules/unistr/u8-uctomb-tests: New file.
38472         * tests/unistr/test-u8-uctomb.c: New file.
38473
38474         Tests for module 'unistr/u32-mbtoucr'.
38475         * modules/unistr/u32-mbtoucr-tests: New file.
38476         * tests/unistr/test-u32-mbtoucr.c: New file.
38477
38478         Tests for module 'unistr/u16-mbtoucr'.
38479         * modules/unistr/u16-mbtoucr-tests: New file.
38480         * tests/unistr/test-u16-mbtoucr.c: New file.
38481
38482         Tests for module 'unistr/u8-mbtoucr'.
38483         * modules/unistr/u8-mbtoucr-tests: New file.
38484         * tests/unistr/test-u8-mbtoucr.c: New file.
38485
38486         Tests for module 'unistr/u32-mbtouc'.
38487         * modules/unistr/u32-mbtouc-tests: New file.
38488         * tests/unistr/test-u32-mbtouc.c: New file.
38489
38490         Tests for module 'unistr/u16-mbtouc'.
38491         * modules/unistr/u16-mbtouc-tests: New file.
38492         * tests/unistr/test-u16-mbtouc.c: New file.
38493
38494         Tests for module 'unistr/u8-mbtouc'.
38495         * modules/unistr/u8-mbtouc-tests: New file.
38496         * tests/unistr/test-u8-mbtouc.c: New file.
38497
38498         Tests for module 'unistr/u32-mbtouc-unsafe'.
38499         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
38500         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
38501         * tests/unistr/test-u32-mbtouc.h: New file.
38502
38503         Tests for module 'unistr/u16-mbtouc-unsafe'.
38504         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
38505         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
38506         * tests/unistr/test-u16-mbtouc.h: New file.
38507
38508         Tests for module 'unistr/u8-mbtouc-unsafe'.
38509         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
38510         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
38511         * tests/unistr/test-u8-mbtouc.h: New file.
38512
38513         Tests for module 'unistr/u32-mblen'.
38514         * modules/unistr/u32-mblen-tests: New file.
38515         * tests/unistr/test-u32-mblen.c: New file.
38516
38517         Tests for module 'unistr/u16-mblen'.
38518         * modules/unistr/u16-mblen-tests: New file.
38519         * tests/unistr/test-u16-mblen.c: New file.
38520
38521         Tests for module 'unistr/u8-mblen'.
38522         * modules/unistr/u8-mblen-tests: New file.
38523         * tests/unistr/test-u8-mblen.c: New file.
38524
38525         Tests for module 'unistr/u32-to-u16'.
38526         * modules/unistr/u32-to-u16-tests: New file.
38527         * tests/unistr/test-u32-to-u16.c: New file.
38528
38529         Tests for module 'unistr/u32-to-u8'.
38530         * modules/unistr/u32-to-u8-tests: New file.
38531         * tests/unistr/test-u32-to-u8.c: New file.
38532
38533         Tests for module 'unistr/u16-to-u32'.
38534         * modules/unistr/u16-to-u32-tests: New file.
38535         * tests/unistr/test-u16-to-u32.c: New file.
38536
38537         Tests for module 'unistr/u16-to-u8'.
38538         * modules/unistr/u16-to-u8-tests: New file.
38539         * tests/unistr/test-u16-to-u8.c: New file.
38540
38541         Tests for module 'unistr/u8-to-u32'.
38542         * modules/unistr/u8-to-u32-tests: New file.
38543         * tests/unistr/test-u8-to-u32.c: New file.
38544
38545         Tests for module 'unistr/u8-to-u16'.
38546         * modules/unistr/u8-to-u16-tests: New file.
38547         * tests/unistr/test-u8-to-u16.c: New file.
38548
38549         Tests for module 'unistr/u32-check'.
38550         * modules/unistr/u32-check-tests: New file.
38551         * tests/unistr/test-u32-check.c: New file.
38552
38553         Tests for module 'unistr/u16-check'.
38554         * modules/unistr/u16-check-tests: New file.
38555         * tests/unistr/test-u16-check.c: New file.
38556
38557         Tests for module 'unistr/u8-check'.
38558         * modules/unistr/u8-check-tests: New file.
38559         * tests/unistr/test-u8-check.c: New file.
38560
38561         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
38562         (category_equals): New function.
38563         (main): Add more tests.
38564         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
38565
38566         * tests/unictype/test-bidi_byname.c (main): Add more tests.
38567
38568 2010-01-10  Bruno Haible  <bruno@clisp.org>
38569
38570         unistr/u*-strcoll: Try harder to distinguish different strings.
38571         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
38572         compare s1 and s2 to see if they are different.
38573
38574 2010-01-10  Bruno Haible  <bruno@clisp.org>
38575
38576         unistr/u*-stpncpy: Fix the return value.
38577         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
38578         description of the return value consistent with stpncpy in glibc.
38579         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
38580         written non-NUL unit.
38581
38582 2010-01-10  Bruno Haible  <bruno@clisp.org>
38583
38584         unistr/u*-next: Add missing dependencies.
38585         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
38586         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
38587         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
38588
38589 2010-01-10  Bruno Haible  <bruno@clisp.org>
38590
38591         unistr/u8-mbsnlen: Fix return value for incomplete character.
38592         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
38593         u8_mblen.
38594         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
38595         Remove unistr/u8-mblen.
38596         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
38597         u16_mblen.
38598         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
38599         Remove unistr/u16-mblen.
38600
38601 2010-01-10  Bruno Haible  <bruno@clisp.org>
38602
38603         wchar: Fix compilation error when <wchar.h> is used from coreutils.
38604         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
38605         Reported by Brian Gough <bjg@gnu.org> and
38606         Chris Clayton <chris2553@googlemail.com> via
38607         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
38608
38609 2010-01-09  Bruno Haible  <bruno@clisp.org>
38610
38611         unistr/u16-to-u32: Reject invalid input.
38612         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
38613         u16_mbtouc.
38614         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
38615         Remove unistr/u16-mbtouc.
38616
38617         unistr/u16-to-u8: Reject invalid input.
38618         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
38619         u16_mbtouc.
38620         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
38621         Remove unistr/u16-mbtouc.
38622
38623         unistr/u8-to-u32: Reject invalid input.
38624         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
38625         u8_mbtouc.
38626         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
38627         Remove unistr/u8-mbtouc.
38628
38629         unistr/u8-to-u16: Reject invalid input.
38630         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
38631         u8_mbtouc.
38632         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
38633         Remove unistr/u8-mbtouc.
38634
38635 2010-01-09  Bruno Haible  <bruno@clisp.org>
38636
38637         Tests for module 'getlogin'.
38638         * modules/getlogin-tests: New file.
38639         * tests/test-getlogin.c: New file.
38640
38641         New module 'getlogin'.
38642         * lib/unistd.in.h (getlogin): New declaration.
38643         * lib/getlogin.c: New file.
38644         * m4/getlogin.m4: New file.
38645         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
38646         HAVE_GETLOGIN.
38647         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
38648         HAVE_GETLOGIN.
38649         * modules/getlogin: New file.
38650         * doc/posix-functions/getlogin.texi: Mention the new module.
38651         Reported by John W. Eaton <jwe@gnu.org>.
38652
38653 2010-01-09  Bruno Haible  <bruno@clisp.org>
38654
38655         getlogin_r: Support for native Windows.
38656         * lib/getlogin_r.c: Include <windows.h>
38657         (getlogin_r): Implement for native Windows.
38658         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
38659         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
38660         via John W. Eaton <jwe@gnu.org>.
38661
38662 2010-01-09  Bruno Haible  <bruno@clisp.org>
38663
38664         getlogin_r: Small fixes.
38665         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
38666         succeeds.
38667         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
38668         before testing whether getlogin_r is declared. No need to set
38669         HAVE_DECL_GETLOGIN_R to 1.
38670         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
38671
38672 2010-01-09  Bruno Haible  <bruno@clisp.org>
38673
38674         * lib/unistd.in.h (getlogin_r): Add comment.
38675
38676 2010-01-09  Bruno Haible  <bruno@clisp.org>
38677
38678         Tests for module 'getlogin_r'.
38679         * modules/getlogin_r-tests: New file.
38680         * tests/test-getlogin_r.c: New file.
38681
38682 2010-01-09  Jim Meyering  <meyering@redhat.com>
38683
38684         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
38685         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
38686         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
38687
38688 2010-01-08  Simon Josefsson  <simon@josefsson.org>
38689
38690         * lib/dup2.c (rpl_dup2): Improve comment.
38691
38692 2010-01-08  Eric Blake  <ebb9@byu.net>
38693
38694         maint.mk: allow packages to add makefile @@ exceptions
38695         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
38696         (sc_makefile_check): Rename...
38697         (sc_makefile_at_at_check): ...to this, and use hook.
38698
38699         dup2: work around mingw bug
38700         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
38701         Reported by Simon Josefsson.
38702
38703 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
38704
38705         glob: Fix C++ compilation.
38706         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
38707         C++.
38708
38709 2010-01-07  Bruno Haible  <bruno@clisp.org>
38710
38711         Fix indentation of wctype.in.h, broken since 2007-01-06.
38712         * lib/wctype.in.h: Fix indentation of preprocessor directives.
38713
38714 2010-01-07  Bruno Haible  <bruno@clisp.org>
38715
38716         mbslen: Avoid collision with system function.
38717         * lib/string.in.h [MirBSD]: Include <wchar.h>.
38718         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
38719         * m4/mbslen.m4: New file.
38720         * modules/mbslen (Files): Add it.
38721         (configure.ac): Invoke gl_MBSLEN.
38722         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
38723         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
38724         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
38725         via Ian Beckwith <ianb@erislabs.net>.
38726
38727 2010-01-07  Bruno Haible  <bruno@clisp.org>
38728
38729         dirent: Document the last fix.
38730         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
38731
38732 2010-01-07  Bruno Haible  <bruno@clisp.org>
38733
38734         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
38735         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
38736         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
38737         va_list are defined.
38738         * doc/posix-headers/stdio.texi: Document the bug of missing types.
38739         Reported by Eric Blake.
38740
38741 2010-01-07  Bruno Haible  <bruno@clisp.org>
38742
38743         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
38744         * modules/xlist (Depends-on): Add 'list',
38745         * modules/xoset (Depends-on): Add 'oset'.
38746         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38747
38748 2010-01-07  Bruno Haible  <bruno@clisp.org>
38749
38750         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
38751         * doc/posix-functions/strncasecmp.texi: Likewise.
38752
38753 2010-01-07  Bruno Haible  <bruno@clisp.org>
38754
38755         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
38756
38757 2010-01-07  John W. Eaton  <jwe@octave.org>
38758
38759         wctype: allow C++ use
38760         * lib/wctype.in.h: Add extern "C" block for C++.
38761
38762 2010-01-06  Eric Blake  <ebb9@byu.net>
38763
38764         maint.mk: detect incorrect GFDL usage
38765         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
38766
38767 2010-01-06  Jim Meyering  <meyering@redhat.com>
38768         and Eric Blake  <ebb9@byu.net>
38769
38770         maint.mk: ignore multi-line copyright in NEWS
38771         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
38772
38773 2010-01-06  Eric Blake  <ebb9@byu.net>
38774
38775         select: add missing dependency
38776         * modules/select-tests (Depends-on): Move sockets dependency...
38777         * modules/select (Depends-on): ...here.
38778         Reported by Ian Beckwith.
38779
38780         doc: regenerate INSTALL
38781         * doc/INSTALL: Reflect recent autoconf update.
38782         * doc/INSTALL.ISO: Likewise.
38783         * doc/INSTALL.UTF-8: Likewise.
38784
38785         pread: fix compilation on glibc
38786         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
38787         Reported by Ralf Wildenhues.
38788
38789         dirent: fix test failure
38790         * lib/dirent.in.h (includes): Guarantee ino_t.
38791         Reported by Ralf Wildenhues.
38792
38793 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
38794
38795         linkat, renameat: avoid bad free
38796         * lib/at-func2.c (at_func2): Fix typo.
38797         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
38798
38799 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38800
38801         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
38802         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
38803         to avoid failure of symlink test later.
38804
38805 2010-01-06  Eric Blake  <ebb9@byu.net>
38806
38807         stdio, unistd: guarantee ssize_t
38808         * lib/unistd.in.h (includes): Ensure that types required by POSIX
38809         2008 are exposed when needed.
38810         * lib/stdio.in.h (includes): Likewise.
38811         Reported by Ralf Wildenhues.
38812
38813 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
38814
38815         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
38816         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
38817         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
38818
38819 2010-01-06  Jim Meyering  <meyering@redhat.com>
38820
38821         readtokens: this module *does* require xalloc.h
38822         It uses only functions that were omitted by the old syntax-check rule.
38823         * lib/readtokens.c: Include "xalloc.h" once again.
38824         * modules/readtokens (Depends-on): Add xalloc.
38825         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
38826
38827 2010-01-05  Eric Blake  <ebb9@byu.net>
38828
38829         maint: support 'make announcement' from a VPATH build
38830         * top/maint.mk (announcement): Look for correct NEWS file.
38831
38832 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
38833
38834         utimens (fdutimens): ignore a negative FD, per contract
38835         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
38836         when we have a valid file descriptor.  Otherwise, using a brand
38837         new glibc (with just-patched futimens that now fails with EBADF)
38838         would cause this function to fail with ENOSYS.
38839         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
38840         See also http://bugzilla.redhat.com/552320.
38841
38842 2010-01-05  Eric Blake  <ebb9@byu.net>
38843
38844         strcase: document what it provides
38845         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
38846         gnulib module.
38847         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
38848         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
38849
38850 2010-01-05  Jim Meyering  <meyering@redhat.com>
38851
38852         maint: remove useless inclusions of "xalloc.h"
38853         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
38854         * lib/readtokens.c: Likewise.
38855         * lib/same.c: Likewise.
38856         * modules/getloadavg (Depends-on): Remove xalloc.
38857         * modules/readtokens: Likewise.
38858         * modules/same: Likewise.
38859
38860         maint.mk: include 4 more function names in alloca.h-checking regexp
38861         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
38862         regexp.  Before, we would give a false-positive (saying alloca.h
38863         is included unnecessarily) when the only uses involved omitted symbols.
38864
38865         xalloc.h: use consistent formatting
38866         * lib/xalloc.h: Move declarations to start in the first column.
38867
38868 2010-01-05  Eric Blake  <ebb9@byu.net>
38869
38870         mkdir: avoid xalloc
38871         * lib/mkdir.c (includes): Drop unused header.
38872         Reported by John W. Eaton.
38873
38874 2010-01-04  Jim Meyering  <meyering@redhat.com>
38875
38876         nl_langinfo: avoid configure-time syntax error
38877         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
38878         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
38879         the empty string.  Don't let that provoke a shell syntax error.
38880
38881         regcomp, regexec, fnmatch: avoid array bounds read error
38882         * lib/regcomp.c (build_equiv_class): From glibc:
38883         Use only the low 24 bits of a findidx return value as an index
38884         into the weights array.  Patch by Ulrich Drepper:
38885         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
38886         * lib/regexec.c (check_node_accept_bytes): Likewise.
38887         * lib/fnmatch_loop.c (FCT): Likewise.
38888
38889         regcomp: skip collseq lookup when there are no rules
38890         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
38891         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
38892
38893         regcomp: recognize ill-formed { } expressions
38894         * lib/regcomp.c (parse_dup_op): From glibc:
38895         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
38896
38897         regcomp: fix typo in comment
38898         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
38899         s/satisfy/satisfies/.
38900
38901         regcomp: sync from glibc: remove dead store
38902         * lib/regcomp.c (duplicate_node_closure): Remove useless
38903         search_duplicated_node call and dead store.
38904
38905         regcomp: sync from glibc; always use nl_langinfo
38906         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
38907         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
38908         * modules/regex (Depends-on): Add nl_langinfo.
38909
38910 2010-01-04  Eric Blake  <ebb9@byu.net>
38911
38912         fdopendir: fix configure test
38913         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
38914
38915 2010-01-01  Bruno Haible  <bruno@clisp.org>
38916
38917         wchar: Remove unused configure check.
38918         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
38919
38920 2010-01-01  Eric Blake  <ebb9@byu.net>
38921
38922         headers: make check of system header explicit
38923         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
38924         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
38925         ourselves.
38926         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
38927         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38928         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
38929         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
38930         internals.
38931         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
38932         missing.
38933         Suggested by Bruno Haible.
38934
38935 2010-01-01  Jim Meyering  <meyering@redhat.com>
38936
38937         ChangeLog: tweak to eliminate unnecessary copyright line
38938         * ChangeLog: Remove a copyright line that was mistakenly updated
38939         by today's update-copyright run.  Reported by Eric Blake.
38940
38941         test-update-copyright: don't let envvar setting cause test failure
38942         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
38943
38944 2010-01-01  Bruno Haible  <bruno@clisp.org>
38945
38946         localename: Avoid gcc warning.
38947         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
38948         function if it is not used.
38949
38950 2010-01-01  Jim Meyering  <meyering@redhat.com>
38951
38952         update nearly all FSF copyright year lists to include 2010
38953         Use the same procedure as for 2009, outlined in
38954         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
38955
38956         version-etc: set COPYRIGHT_YEAR to 2010
38957         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
38958
38959 2009-12-31  Eric Blake  <ebb9@byu.net>
38960
38961         doc: correct availability of cygwin 1.5.x getopt
38962         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
38963         variables.
38964         * doc/posix-functions/opterr.texi (opterr): Likewise.
38965         * doc/posix-functions/optind.texi (optind): Likewise.
38966         * doc/posix-functions/optopt.texi (optopt): Likewise.
38967         * doc/posix-functions/tzname.texi (tzname): Likewise.
38968
38969         openat: update maintainer
38970         * modules/openat (Maintainer): Add myself.
38971
38972         utimens: avoid shadowing warning
38973         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
38974         buffers into one, to avoid shadowing, as well as avoiding a
38975         redundant stat.
38976         Reported by Jim Meyering.
38977
38978         test-dup2: avoid compiler warning
38979         * tests/test-dup2.c (is_inheritable): Only define if used.
38980
38981 2010-01-01  Bruno Haible  <bruno@clisp.org>
38982
38983         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
38984         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
38985         defined, use wctomb instead of wcrtomb.
38986
38987 2010-01-01  Bruno Haible  <bruno@clisp.org>
38988
38989         iconv: Reject native Solaris iconv.
38990         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
38991         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
38992
38993 2009-12-31  Bruno Haible  <bruno@clisp.org>
38994
38995         * tests/test-signal.c (main): Remove test of 'SIG'.
38996
38997 2009-12-31  Bruno Haible  <bruno@clisp.org>
38998
38999         spawn: Fix incomplete fix.
39000         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
39001         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
39002         warnings for GNULIB_POSIXCHECK again.
39003         Reported by Eric Blake.
39004
39005 2009-12-31  Bruno Haible  <bruno@clisp.org>
39006
39007         Avoid namespace pollution on glibc systems.
39008         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
39009         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
39010         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
39011         glibc systems.
39012
39013 2009-12-31  Bruno Haible  <bruno@clisp.org>
39014
39015         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
39016         (gl_REPLACE_WCHAR_H): Turn into a no-op.
39017         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
39018         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
39019         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
39020         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
39021         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
39022
39023 2009-12-31  Bruno Haible  <bruno@clisp.org>
39024
39025         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
39026         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
39027         afterwards.
39028
39029 2009-12-31  Bruno Haible  <bruno@clisp.org>
39030
39031         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
39032         SYS_UTSNAME_H.
39033
39034 2009-12-31  Bruno Haible  <bruno@clisp.org>
39035
39036         spawn: Fix misapplied patch.
39037         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
39038         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
39039         warnings for GNULIB_POSIXCHECK.
39040
39041 2009-12-31  Bruno Haible  <bruno@clisp.org>
39042
39043         times: Update after sys_times changed.
39044         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
39045         * modules/times (Files): Add it.
39046         (configure.ac): Invoke gl_FUNC_TIMES.
39047
39048 2009-12-31  Bruno Haible  <bruno@clisp.org>
39049
39050         Use AC_C_INLINE where necessary.
39051         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
39052         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
39053         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
39054         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
39055         * m4/mbfile.m4 (gl_MBFILE): Likewise.
39056         * m4/mbiter.m4 (gl_MBITER): Likewise.
39057         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
39058         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
39059         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
39060         * modules/u64 (configure.ac): Likewise.
39061
39062 2009-12-31  Bruno Haible  <bruno@clisp.org>
39063
39064         Use AC_C_INLINE instead of module 'inline' where possible.
39065         * modules/inline (Description): Clarify purpose.
39066         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
39067         * modules/count-one-bits (Depends-on): Remove inline.
39068         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
39069         * modules/openat (Depends-on): Remove inline.
39070         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
39071         instead of depending on module 'inline'.
39072         * modules/filevercmp (Depends-on, configure.ac): Likewise.
39073         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
39074         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
39075         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
39076         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
39077         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
39078         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
39079         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
39080         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
39081         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
39082         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
39083         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
39084         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
39085         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
39086         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
39087         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
39088         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
39089         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
39090         Likewise.
39091         * modules/unictype/property-ascii-hex-digit (Depends-on,
39092         configure.ac): Likewise.
39093         * modules/unictype/property-bidi-arabic-digit (Depends-on,
39094         configure.ac): Likewise.
39095         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
39096         configure.ac): Likewise.
39097         * modules/unictype/property-bidi-block-separator (Depends-on,
39098         configure.ac): Likewise.
39099         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
39100         configure.ac): Likewise.
39101         * modules/unictype/property-bidi-common-separator (Depends-on,
39102         configure.ac): Likewise.
39103         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
39104         Likewise.
39105         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
39106         configure.ac): Likewise.
39107         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
39108         configure.ac): Likewise.
39109         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
39110         configure.ac): Likewise.
39111         * modules/unictype/property-bidi-european-digit (Depends-on,
39112         configure.ac): Likewise.
39113         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
39114         configure.ac): Likewise.
39115         * modules/unictype/property-bidi-left-to-right (Depends-on,
39116         configure.ac): Likewise.
39117         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
39118         configure.ac): Likewise.
39119         * modules/unictype/property-bidi-other-neutral (Depends-on,
39120         configure.ac): Likewise.
39121         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
39122         Likewise.
39123         * modules/unictype/property-bidi-segment-separator (Depends-on,
39124         configure.ac): Likewise.
39125         * modules/unictype/property-bidi-whitespace (Depends-on,
39126         configure.ac): Likewise.
39127         * modules/unictype/property-combining (Depends-on, configure.ac):
39128         Likewise.
39129         * modules/unictype/property-composite (Depends-on, configure.ac):
39130         Likewise.
39131         * modules/unictype/property-currency-symbol (Depends-on,
39132         configure.ac): Likewise.
39133         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
39134         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
39135         Likewise.
39136         * modules/unictype/property-default-ignorable-code-point (Depends-on,
39137         configure.ac): Likewise.
39138         * modules/unictype/property-deprecated (Depends-on, configure.ac):
39139         Likewise.
39140         * modules/unictype/property-diacritic (Depends-on, configure.ac):
39141         Likewise.
39142         * modules/unictype/property-extender (Depends-on, configure.ac):
39143         Likewise.
39144         * modules/unictype/property-format-control (Depends-on, configure.ac):
39145         Likewise.
39146         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
39147         Likewise.
39148         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
39149         Likewise.
39150         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
39151         Likewise.
39152         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
39153         Likewise.
39154         * modules/unictype/property-hyphen (Depends-on, configure.ac):
39155         Likewise.
39156         * modules/unictype/property-id-continue (Depends-on, configure.ac):
39157         Likewise.
39158         * modules/unictype/property-id-start (Depends-on, configure.ac):
39159         Likewise.
39160         * modules/unictype/property-ideographic (Depends-on, configure.ac):
39161         Likewise.
39162         * modules/unictype/property-ids-binary-operator (Depends-on,
39163         configure.ac): Likewise.
39164         * modules/unictype/property-ids-trinary-operator (Depends-on,
39165         configure.ac): Likewise.
39166         * modules/unictype/property-ignorable-control (Depends-on,
39167         configure.ac): Likewise.
39168         * modules/unictype/property-iso-control (Depends-on, configure.ac):
39169         Likewise.
39170         * modules/unictype/property-join-control (Depends-on, configure.ac):
39171         Likewise.
39172         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
39173         Likewise.
39174         * modules/unictype/property-line-separator (Depends-on, configure.ac):
39175         Likewise.
39176         * modules/unictype/property-logical-order-exception (Depends-on,
39177         configure.ac): Likewise.
39178         * modules/unictype/property-lowercase (Depends-on, configure.ac):
39179         Likewise.
39180         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
39181         * modules/unictype/property-non-break (Depends-on, configure.ac):
39182         Likewise.
39183         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
39184         Likewise.
39185         * modules/unictype/property-numeric (Depends-on, configure.ac):
39186         Likewise.
39187         * modules/unictype/property-other-alphabetic (Depends-on,
39188         configure.ac): Likewise.
39189         * modules/unictype/property-other-default-ignorable-code-point
39190         (Depends-on, configure.ac): Likewise.
39191         * modules/unictype/property-other-grapheme-extend (Depends-on,
39192         configure.ac): Likewise.
39193         * modules/unictype/property-other-id-continue (Depends-on,
39194         configure.ac): Likewise.
39195         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
39196         Likewise.
39197         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
39198         Likewise.
39199         * modules/unictype/property-other-math (Depends-on, configure.ac):
39200         Likewise.
39201         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
39202         Likewise.
39203         * modules/unictype/property-paired-punctuation (Depends-on,
39204         configure.ac): Likewise.
39205         * modules/unictype/property-paragraph-separator (Depends-on,
39206         configure.ac): Likewise.
39207         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
39208         Likewise.
39209         * modules/unictype/property-pattern-white-space (Depends-on,
39210         configure.ac): Likewise.
39211         * modules/unictype/property-private-use (Depends-on, configure.ac):
39212         Likewise.
39213         * modules/unictype/property-punctuation (Depends-on, configure.ac):
39214         Likewise.
39215         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
39216         Likewise.
39217         * modules/unictype/property-radical (Depends-on, configure.ac):
39218         Likewise.
39219         * modules/unictype/property-sentence-terminal (Depends-on,
39220         configure.ac): Likewise.
39221         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
39222         Likewise.
39223         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
39224         * modules/unictype/property-terminal-punctuation (Depends-on,
39225         configure.ac): Likewise.
39226         * modules/unictype/property-titlecase (Depends-on, configure.ac):
39227         Likewise.
39228         * modules/unictype/property-unassigned-code-value (Depends-on,
39229         configure.ac): Likewise.
39230         * modules/unictype/property-unified-ideograph (Depends-on,
39231         configure.ac): Likewise.
39232         * modules/unictype/property-uppercase (Depends-on, configure.ac):
39233         Likewise.
39234         * modules/unictype/property-variation-selector (Depends-on,
39235         configure.ac): Likewise.
39236         * modules/unictype/property-white-space (Depends-on, configure.ac):
39237         Likewise.
39238         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
39239         Likewise.
39240         * modules/unictype/property-xid-start (Depends-on, configure.ac):
39241         Likewise.
39242         * modules/unictype/property-zero-width (Depends-on, configure.ac):
39243         Likewise.
39244         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
39245         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
39246         Likewise.
39247
39248 2009-12-31  Bruno Haible  <bruno@clisp.org>
39249
39250         Remove unnecessary AC_C_INLINE invocation.
39251         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
39252         since 2009-08-21.
39253
39254 2009-12-31  Jim Meyering  <meyering@redhat.com>
39255
39256         maint.mk: don't require explicit gpg_key_ID in cfg.mk
39257         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
39258         With this change, we can all remove the gpg_key_ID = ... definition
39259         from our respective cfg.mk files.
39260
39261         maint.mk: create announcement template in ~/, not in /tmp
39262         * top/maint.mk (emit_upload_commands): Adjust.
39263         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
39264         Remove temporary file, .ci-msg.
39265
39266 2009-12-31  Eric Blake  <ebb9@byu.net>
39267
39268         link-warning: always build headers with link warnings
39269         * modules/arpa_inet (Makefile.am): Always build replacement
39270         header.
39271         * modules/ctype (Makefile.am): Likewise.
39272         * modules/dirent (Makefile.am): Likewise.
39273         * modules/inttypes (Makefile.am): Likewise.
39274         * modules/langinfo (Makefile.am): Likewise.
39275         * modules/locale (Makefile.am): Likewise.
39276         * modules/spawn (Makefile.am): Likewise.
39277         * modules/sys_file (Makefile.am): Likewise.
39278         * modules/sys_ioctl (Makefile.am): Likewise.
39279         * modules/sys_select (Makefile.am): Likewise.
39280         * modules/sys_socket (Makefile.am): Likewise.
39281         * modules/sys_times (Makefile.am): Likewise.
39282         * modules/sys_utsname (Makefile.am): Likewise.
39283         * modules/sys_wait (Makefile.am): Likewise.
39284         * modules/wchar (Makefile.am): Likewise.
39285         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
39286         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
39287         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
39288         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
39289         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
39290         Likewise.
39291         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
39292         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
39293         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
39294         Likewise.
39295         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
39296         Likewise.
39297         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
39298         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
39299         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
39300         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39301         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
39302         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39303         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39304         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
39305         (gl_WCHAR_H_DEFAULTS): Likewise.
39306
39307 2009-12-31  Eric Blake  <ebb9@byu.net>
39308
39309         signal, spawn: use link warnings
39310         * lib/signal.in.h (sigset_t): Make unconditional.
39311         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
39312         (sigpending, sigprocmask, sigaction): Add link warnings.
39313         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
39314         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
39315         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
39316         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
39317         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
39318         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
39319         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
39320         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
39321         (posix_spawn_file_actions_destroy)
39322         (posix_spawn_file_actions_addopen)
39323         (posix_spawn_file_actions_addclose)
39324         (posix_spawn_file_actions_adddup2): Likewise.
39325         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
39326         * tests/test-signal.c (main): Enhance test.
39327
39328         spawn: improve wrapper support
39329         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
39330         (gl_SPAWN_H_DEFAULTS): New defaults.
39331         * modules/spawn (Makefile.am): Substitute them.
39332         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
39333         Only declare if missing or broken.
39334
39335         sys_times, sys_utsname: use include_next
39336         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
39337         header.
39338         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
39339         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39340         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39341         * modules/sys_times (Depends-on): Add include_next.
39342         (Makefile.am): Substitute additional values.
39343         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
39344         * lib/sys_times.in.h (includes): Include native header, if
39345         available.
39346         * lib/sys_utsname.in.h (includes): Likewise.
39347         * tests/test-sys_times.c (main): Enhance test.
39348
39349         fdutimensat: revert prior patch
39350         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
39351         utimens.h.
39352         Reported by Bruno Haible.
39353
39354 2009-12-30  Eric Blake  <ebb9@byu.net>
39355
39356         sys_wait: drop link-warning dependency
39357         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
39358         link-warning efforts.
39359         * lib/sys_wait.in.h: Likewise.
39360
39361         fdutimensat: remove bogus dependency
39362         * modules/fdutimensat (Depends-on): Drop inline.
39363
39364         unistd: fix typo
39365         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
39366
39367 2009-12-30  Bruno Haible  <bruno@clisp.org>
39368
39369         Fix compilation error with Solaris cc.
39370         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
39371         * lib/unicase/u16-is-invariant.c: Likewise.
39372         * lib/unicase/u32-is-invariant.c: Likewise.
39373         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39374
39375 2009-12-30  Bruno Haible  <bruno@clisp.org>
39376
39377         Fix test crash.
39378         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
39379         locales.
39380         Reported by Simon Josefsson <simon@josefsson.org>.
39381
39382 2009-12-30  Bruno Haible  <bruno@clisp.org>
39383
39384         Fix compilation error on most platforms.
39385         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
39386         Reported by Simon Josefsson <simon@josefsson.org>
39387         and Nelson H. F. Beebe <beebe@math.utah.edu>.
39388
39389 2009-12-30  Eric Blake  <ebb9@byu.net>
39390
39391         futimens, utimensat: work around ntfs-3g bug
39392         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
39393         a ctime bug is present, and expand workaround to cover ntfs-3g.
39394         * lib/utimens.c (fdutimens, lutimens): Likewise.
39395         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
39396         (validate_timespec): Adjust return value.
39397         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
39398         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
39399         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
39400
39401 2009-12-29  Eric Blake  <ebb9@byu.net>
39402
39403         link-warning: make usage consistent
39404         * modules/ctype (Depends-on): Add link-warning.
39405         (Makefile.am): Update rules accordingly.
39406         * modules/langinfo (Depends-on, Makefile.am): Likewise.
39407         * modules/locale (Depends-on, Makefile.am): Likewise.
39408         * modules/sys_file (Makefile.am): Likewise.
39409         * modules/getopt-posix (Makefile.am): Delete unused link warning
39410         efforts.
39411         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
39412         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
39413         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
39414         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
39415
39416         stdio: remove unused variables
39417         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
39418         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
39419         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
39420
39421         tests: test more substitute headers
39422         * modules/ctype-tests: New file.
39423         * modules/dirent-tests: Likewise.
39424         * modules/spawn-tests: Likewise.
39425         * modules/sys_file-tests: Likewise.
39426         * modules/sys_ioctl-tests: Likewise.
39427         * modules/sys_wait-tests: Likewise.
39428         * tests/test-ctype.c: Likewise.
39429         * tests/test-dirent.c: Likewise.
39430         * tests/test-spawn.c: Likewise.
39431         * tests/test-sys_file.c: Likewise.
39432         * tests/test-sys_ioctl.c: Likewise.
39433         * tests/test-sys_wait.c: Likewise.
39434         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
39435         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
39436         whether or not flock is in use.
39437
39438         tests: remove License section from module
39439         * modules/arpa_inet-tests: Remove unneeded section.
39440         * modules/byteswap-tests: Likewise.
39441         * modules/ceilf-tests: Likewise.
39442         * modules/ceill-tests: Likewise.
39443         * modules/crypto/des-tests: Likewise.
39444         * modules/crypto/gc-arcfour-tests: Likewise.
39445         * modules/crypto/gc-arctwo-tests: Likewise.
39446         * modules/crypto/gc-des-tests: Likewise.
39447         * modules/crypto/gc-hmac-md5-tests: Likewise.
39448         * modules/crypto/gc-hmac-sha1-tests: Likewise.
39449         * modules/crypto/gc-md2-tests: Likewise.
39450         * modules/crypto/gc-md4-tests: Likewise.
39451         * modules/crypto/gc-md5-tests: Likewise.
39452         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
39453         * modules/crypto/gc-rijndael-tests: Likewise.
39454         * modules/crypto/gc-sha1-tests: Likewise.
39455         * modules/crypto/gc-tests: Likewise.
39456         * modules/crypto/md2-tests: Likewise.
39457         * modules/crypto/md4-tests: Likewise.
39458         * modules/fcntl-h-tests: Likewise.
39459         * modules/floorf-tests: Likewise.
39460         * modules/floorl-tests: Likewise.
39461         * modules/frexp-nolibm-tests: Likewise.
39462         * modules/frexp-tests: Likewise.
39463         * modules/frexpl-nolibm-tests: Likewise.
39464         * modules/frexpl-tests: Likewise.
39465         * modules/getaddrinfo-tests: Likewise.
39466         * modules/inttypes-tests: Likewise.
39467         * modules/isfinite-tests: Likewise.
39468         * modules/isinf-tests: Likewise.
39469         * modules/ldexpl-tests: Likewise.
39470         * modules/locale-tests: Likewise.
39471         * modules/math-tests: Likewise.
39472         * modules/netdb-tests: Likewise.
39473         * modules/netinet_in-tests: Likewise.
39474         * modules/printf-frexp-tests: Likewise.
39475         * modules/printf-frexpl-tests: Likewise.
39476         * modules/priv-set-tests: Likewise.
39477         * modules/random_r-tests: Likewise.
39478         * modules/round-tests: Likewise.
39479         * modules/roundf-tests: Likewise.
39480         * modules/roundl-tests: Likewise.
39481         * modules/search-tests: Likewise.
39482         * modules/select-tests: Likewise.
39483         * modules/signal-tests: Likewise.
39484         * modules/stdbool-tests: Likewise.
39485         * modules/stddef-tests: Likewise.
39486         * modules/stdint-tests: Likewise.
39487         * modules/stdio-tests: Likewise.
39488         * modules/stdlib-tests: Likewise.
39489         * modules/string-tests: Likewise.
39490         * modules/strings-tests: Likewise.
39491         * modules/sys_select-tests: Likewise.
39492         * modules/sys_socket-tests: Likewise.
39493         * modules/sys_stat-tests: Likewise.
39494         * modules/sys_time-tests: Likewise.
39495         * modules/sys_utsname-tests: Likewise.
39496         * modules/sysexits-tests: Likewise.
39497         * modules/time-tests: Likewise.
39498         * modules/trunc-tests: Likewise.
39499         * modules/truncf-tests: Likewise.
39500         * modules/truncl-tests: Likewise.
39501         * modules/tsearch-tests: Likewise.
39502         * modules/unistd-tests: Likewise.
39503         * modules/wchar-tests: Likewise.
39504         * modules/wctype-tests: Likewise.
39505
39506         tests: fix license on several tests
39507         * tests/test-des.c: Update to GPLv3+.
39508         * tests/test-flock.c: Likewise.
39509         * tests/test-fsync.c: Likewise.
39510         * tests/test-futimens.h: Likewise.
39511         * tests/test-gc-arcfour.c: Likewise.
39512         * tests/test-gc-arctwo.c: Likewise.
39513         * tests/test-gc-des.c: Likewise.
39514         * tests/test-gc-hmac-md5.c: Likewise.
39515         * tests/test-gc-hmac-sha1.c: Likewise.
39516         * tests/test-gc-md2.c: Likewise.
39517         * tests/test-gc-md4.c: Likewise.
39518         * tests/test-gc-md5.c: Likewise.
39519         * tests/test-gc-pbkdf2-sha1.c: Likewise.
39520         * tests/test-gc-rijndael.c: Likewise.
39521         * tests/test-gc-sha1.c: Likewise.
39522         * tests/test-gc.c: Likewise.
39523         * tests/test-getcwd.c: Likewise.
39524         * tests/test-link.c: Likewise.
39525         * tests/test-link.h: Likewise.
39526         * tests/test-lutimens.h: Likewise.
39527         * tests/test-md2.c: Likewise.
39528         * tests/test-md4.c: Likewise.
39529         * tests/test-mkdir.h: Likewise.
39530         * tests/test-rename.c: Likewise.
39531         * tests/test-rename.h: Likewise.
39532         * tests/test-safe-alloc.c: Likewise.
39533         * tests/test-utimens-common.h: Likewise.
39534         * tests/test-utimens.h: Likewise.
39535
39536         maint: sync license texts
39537         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
39538         * doc/gpl-3.0.texi: Revert copyright year update.
39539         * doc/lgpl-3.0.texi: Likewise.
39540
39541 2009-12-29  Jim Meyering  <meyering@redhat.com>
39542
39543         update nearly all FSF copyright year lists to include 2009
39544         The files named by the following are exempted:
39545             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
39546               test -f "$dst" && { echo "$dst"; continue; }
39547               test -d "$dst" || continue
39548               echo "$dst"/$(basename "$src")
39549             done > exempt
39550             git ls-files tests/unictype >> exempt
39551         In the remaining files, convert to all-interval notation if
39552         - there is already at least one year interval like 2000-2003
39553         - the file is maintained by me
39554         - the file is in lib/uni*/, where that style already prevails
39555         Otherwise, use update-copyright's default.
39556
39557 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39558         and Eric Blake  <ebb9@byu.net>
39559
39560         tests: don't require debug system() to pass
39561         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
39562         * tests/test-rmdir.h (test_rmdir_func): Likewise.
39563         * tests/test-unlink.h (test_unlink_func): Likewise.
39564         * tests/test-fstatat.c (main): ...into callers.
39565         * tests/test-lstat.c (main): Likewise.
39566         * tests/test-rmdir.c (main): Likewise.
39567         * tests/test-unlink.c (main): Likewise.
39568         * tests/test-unlinkat.c (main): Likewise.
39569         * tests/test-areadlink-with-size.c (main): Don't require a
39570         debug-only system call to pass, aiding cross-testing to mingw.
39571         * tests/test-areadlink.c (main): Likewise.
39572         * tests/test-areadlinkat-with-size.c (main): Likewise.
39573         * tests/test-areadlinkat.c (main): Likewise.
39574         * tests/test-canonicalize-lgpl.c (main): Likewise.
39575         * tests/test-canonicalize.c (main): Likewise.
39576         * tests/test-chown.c (main): Likewise.
39577         * tests/test-fchownat.c (main): Likewise.
39578         * tests/test-lchown.c (main): Likewise.
39579         * tests/test-fdutimensat.c (main): Likewise.
39580         * tests/test-futimens.c (main): Likewise.
39581         * tests/test-link.c (main): Likewise.
39582         * tests/test-linkat.c (main): Likewise.
39583         * tests/test-mkdir.c (main): Likewise.
39584         * tests/test-mkdirat.c (main): Likewise.
39585         * tests/test-mkfifo.c (main): Likewise.
39586         * tests/test-mkfifoat.c (main): Likewise.
39587         * tests/test-mknod.c (main): Likewise.
39588         * tests/test-readlink.c (main): Likewise.
39589         * tests/test-remove.c (main): Likewise.
39590         * tests/test-rename.c (main): Likewise.
39591         * tests/test-renameat.c (main): Likewise.
39592         * tests/test-symlink.c (main): Likewise.
39593         * tests/test-symlinkat.c (main): Likewise.
39594         * tests/test-utimens.c (main): Likewise.
39595         * tests/test-utimensat.c (main): Likewise.
39596
39597 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39598
39599         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
39600         on $(UNUSED_PARAMETER_H) to avoid build failure.
39601
39602 2009-12-28  Jim Meyering  <meyering@redhat.com>
39603
39604         update-copyright: you may specify a max. line length other than 72
39605         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
39606
39607         maint: use consistent FSF copyright line syntax
39608         * lib/posixtm.c: Add missing comma in FSF copyright line.
39609         * lib/posixtm.h: Likewise.
39610         * lib/getugroups.c: Add missing ", Inc.".
39611
39612         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
39613         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
39614         FSF copyright line.  Remove trailing blanks.
39615
39616 2009-12-28  Eric Blake  <ebb9@byu.net>
39617
39618         test-dup2: reduce dependencies
39619         * modules/cloexec (Configure.ac): Set witness.
39620         * modules/dup2-tests (Depends-on): Drop cloexec.
39621         * tests/test-dup2.c (main): Skip portion of test if cloexec module
39622         not present.
39623         Suggested by Bruno Haible.
39624
39625 2009-12-26  Bruno Haible  <bruno@clisp.org>
39626
39627         Remove an unneeded dependency.
39628         * modules/fseterr (Depends-on): Remove dup2.
39629
39630 2009-12-26  Eric Blake  <ebb9@byu.net>
39631
39632         tests: use macros.h in more places
39633         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
39634         (ASSERT_STREAM): Provide default of stderr.
39635         * tests/test-dirent-safer.c: Include macros.h, using alternate
39636         stream for assertions.
39637         * tests/test-dup-safer.c: Likewise.
39638         * tests/test-freopen-safer.c: Likewise.
39639         * tests/test-getopt.c: Likewise.
39640         * tests/test-openat-safer.c: Likewise.
39641         * tests/test-pipe.c: Likewise.
39642         * tests/test-popen-safer.c: Likewise.
39643         * modules/dirent-safer-tests (Files): Include macros.h.
39644         * modules/unistd-safer-tests (Files): Likewise.
39645         * modules/freopen-safer-tests (Files): Likewise.
39646         * modules/getopt-posix-tests (Files): Likewise.
39647         * modules/openat-safer-tests (Files): Likewise.
39648         * modules/pipe-tests (Files): Likewise.
39649
39650 2009-12-26  Bruno Haible  <bruno@clisp.org>
39651
39652         javacomp: Portability fix.
39653         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
39654         that it also works on Solaris.
39655
39656 2009-12-26  Bruno Haible  <bruno@clisp.org>
39657
39658         localename: Fix storage allocation of gl_locale_name_thread's result.
39659         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
39660         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
39661         all platforms that have 'uselocale'.
39662         (gl_locale_name_thread_unsafe): New function, extracted from
39663         gl_locale_name_thread.
39664         (gl_locale_name_thread): Call struniq on all platforms that have
39665         'uselocale'.
39666         * tests/test-localename.c (test_locale_name_thread): Check that the
39667         resulting strings are permanently allocated.
39668         * modules/localename-tests (Depends-on): Add strdup.
39669
39670 2009-12-26  Bruno Haible  <bruno@clisp.org>
39671
39672         * tests/test-localename.c (categories): Fill in the strings.
39673
39674 2009-12-26  Jim Meyering  <meyering@redhat.com>
39675
39676         isdir: complete the removal of m4/isdir.m4
39677         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
39678
39679         isdir: clean up, since at least grep still uses it
39680         * lib/isdir.c: Include "isdir.h".
39681         (S_ISDIR): Remove now-unneeded definition.
39682         * modules/isdir (Files): Add lib/isdir.h.
39683         * lib/isdir.h: New file, with declaration.
39684         * m4/isdir.m4: Remove file -- unneeded.
39685
39686 2009-12-25  Bruno Haible  <bruno@clisp.org>
39687
39688         selinux-h: Make generated .h files standalone.
39689         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
39690         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
39691         * lib/se-selinux.in.h: Likewise.
39692         * modules/selinux-h (Depends-on): Add unused-parameter.
39693         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
39694         selinux/selinux.h and selinux/context.h.
39695         Suggested by Eric Blake.
39696
39697 2009-12-25  Bruno Haible  <bruno@clisp.org>
39698
39699         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
39700         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
39701         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
39702         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
39703         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
39704
39705 2009-12-24  Bruno Haible  <bruno@clisp.org>
39706
39707         openat: Fix warning.
39708         * lib/openat-proc.c: Include <unistd.h>.
39709
39710 2009-12-24  Bruno Haible  <bruno@clisp.org>
39711
39712         New module 'unused-parameter'.
39713         * build-aux/unused-parameter.h: New file, extracted from earlier
39714         gnulib-common.m4.
39715         * modules/unused-parameter: New file.
39716         * lib/unistr.h: Include unused-parameter.h.
39717         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
39718         _GL_UNUSED.
39719         * modules/unistr/base (Depends-on): Add unused-parameter.
39720
39721 2009-12-24  Bruno Haible  <bruno@clisp.org>
39722
39723         Add missing dependencies to 'extensions' module.
39724         * m4/extensions.m4: Add comment.
39725         * modules/accept4 (Depends-on): Add extensions.
39726         * modules/dup3 (Depends-on): Likewise.
39727         * modules/fcntl (Depends-on): Likewise.
39728         * modules/futimens (Depends-on): Likewise.
39729         * modules/mknod (Depends-on): Likewise.
39730         * modules/pipe2 (Depends-on): Likewise.
39731         * modules/stat-time (Depends-on): Likewise.
39732         * modules/strcasestr-simple (Depends-on): Likewise.
39733         * modules/strsignal (Depends-on): Likewise.
39734         * modules/utimensat (Depends-on): Likewise.
39735         * modules/localcharset (Depends-on): Likewise. Needed because of
39736         gl_FCNTL_O_FLAGS.
39737         * modules/wcrtomb (Depends-on): Likewise. Needed because of
39738         AC_TYPE_MBSTATE_T.
39739         * modules/wcsnrtombs (Depends-on): Likewise.
39740         * modules/wcsrtombs (Depends-on): Likewise.
39741
39742 2009-12-24  Bruno Haible  <bruno@clisp.org>
39743
39744         binary-io: Avoid gcc warning due to SET_BINARY.
39745         * lib/binary-io.h (SET_BINARY): Cast the result to void.
39746         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
39747
39748 2009-12-24  Bruno Haible  <bruno@clisp.org>
39749
39750         Avoid future namespace pollution on glibc systems.
39751         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
39752         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
39753         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
39754         glibc systems.
39755
39756 2009-12-24  Bruno Haible  <bruno@clisp.org>
39757
39758         Refactor common macros used in tests.
39759         * tests/macros.h: New file.
39760         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
39761         and/or <stdlib.h>, if appropriate.
39762         (ASSERT, SIZEOF): Remove macros.
39763         * tests/test-areadlink-with-size.c: Likewise.
39764         * tests/test-areadlinkat.c: Likewise.
39765         * tests/test-areadlinkat-with-size.c: Likewise.
39766         * tests/test-argmatch.c: Likewise.
39767         * tests/test-argv-iter.c: Likewise.
39768         * tests/test-array-mergesort.c: Likewise.
39769         * tests/test-array_list.c: Likewise.
39770         * tests/test-array_oset.c: Likewise.
39771         * tests/test-avltree_list.c: Likewise.
39772         * tests/test-avltree_oset.c: Likewise.
39773         * tests/test-avltreehash_list.c: Likewise.
39774         * tests/test-base64.c: Likewise.
39775         * tests/test-binary-io.c: Likewise.
39776         * tests/test-bitrotate.c: Likewise.
39777         * tests/test-btowc.c: Likewise.
39778         * tests/test-byteswap.c: Likewise.
39779         * tests/test-c-ctype.c: Likewise.
39780         * tests/test-c-stack.c: Likewise.
39781         * tests/test-c-strcasecmp.c: Likewise.
39782         * tests/test-c-strcasestr.c: Likewise.
39783         * tests/test-c-strncasecmp.c: Likewise.
39784         * tests/test-c-strstr.c: Likewise.
39785         * tests/test-canonicalize-lgpl.c: Likewise.
39786         * tests/test-canonicalize.c: Likewise.
39787         * tests/test-carray_list.c: Likewise.
39788         * tests/test-ceilf1.c: Likewise.
39789         * tests/test-ceilf2.c: Likewise.
39790         * tests/test-ceill.c: Likewise.
39791         * tests/test-chown.c: Likewise.
39792         * tests/test-cloexec.c: Likewise.
39793         * tests/test-copy-acl.c: Likewise.
39794         * tests/test-copy-file.c: Likewise.
39795         * tests/test-count-one-bits.c: Likewise.
39796         * tests/test-dprintf-posix.c: Likewise.
39797         * tests/test-dup2.c: Likewise.
39798         * tests/test-dup3.c: Likewise.
39799         * tests/test-duplocale.c: Likewise.
39800         * tests/test-fbufmode.c: Likewise.
39801         * tests/test-fchdir.c: Likewise.
39802         * tests/test-fchownat.c: Likewise.
39803         * tests/test-fcntl-safer.c: Likewise.
39804         * tests/test-fcntl.c: Likewise.
39805         * tests/test-fdopendir.c: Likewise.
39806         * tests/test-fdutimensat.c: Likewise.
39807         * tests/test-fflush2.c: Likewise.
39808         * tests/test-file-has-acl.c: Likewise.
39809         * tests/test-filevercmp.c: Likewise.
39810         * tests/test-flock.c: Likewise.
39811         * tests/test-floorf1.c: Likewise.
39812         * tests/test-floorf2.c: Likewise.
39813         * tests/test-floorl.c: Likewise.
39814         * tests/test-fnmatch.c: Likewise.
39815         * tests/test-fopen.h: Likewise.
39816         * tests/test-fpending.c: Likewise.
39817         * tests/test-fprintf-posix.c: Likewise.
39818         * tests/test-fpurge.c: Likewise.
39819         * tests/test-freadable.c: Likewise.
39820         * tests/test-freadahead.c: Likewise.
39821         * tests/test-freading.c: Likewise.
39822         * tests/test-freadptr.c: Likewise.
39823         * tests/test-freadptr2.c: Likewise.
39824         * tests/test-freadseek.c: Likewise.
39825         * tests/test-freopen.c: Likewise.
39826         * tests/test-frexp.c: Likewise.
39827         * tests/test-frexpl.c: Likewise.
39828         * tests/test-fseek.c: Likewise.
39829         * tests/test-fseeko.c: Likewise.
39830         * tests/test-fstatat.c: Likewise.
39831         * tests/test-fstrcmp.c: Likewise.
39832         * tests/test-fsync.c: Likewise.
39833         * tests/test-ftell.c: Likewise.
39834         * tests/test-ftello.c: Likewise.
39835         * tests/test-func.c: Likewise.
39836         * tests/test-futimens.c: Likewise.
39837         * tests/test-fwritable.c: Likewise.
39838         * tests/test-fwriting.c: Likewise.
39839         * tests/test-getcwd.c: Likewise.
39840         * tests/test-getdate.c: Likewise.
39841         * tests/test-getdelim.c: Likewise.
39842         * tests/test-getdtablesize.c: Likewise.
39843         * tests/test-getgroups.c: Likewise.
39844         * tests/test-getline.c: Likewise.
39845         * tests/test-getndelim2.c: Likewise.
39846         * tests/test-glob.c: Likewise.
39847         * tests/test-hash.c: Likewise.
39848         * tests/test-i-ring.c: Likewise.
39849         * tests/test-iconv-utf.c: Likewise.
39850         * tests/test-iconv.c: Likewise.
39851         * tests/test-idpriv-drop.c: Likewise.
39852         * tests/test-idpriv-droptemp.c: Likewise.
39853         * tests/test-inet_ntop.c: Likewise.
39854         * tests/test-inet_pton.c: Likewise.
39855         * tests/test-isblank.c: Likewise.
39856         * tests/test-isfinite.c: Likewise.
39857         * tests/test-isinf.c: Likewise.
39858         * tests/test-isnan.c: Likewise.
39859         * tests/test-isnand.h: Likewise.
39860         * tests/test-isnanf.h: Likewise.
39861         * tests/test-isnanl.h: Likewise.
39862         * tests/test-lchown.c: Likewise.
39863         * tests/test-ldexpl.c: Likewise.
39864         * tests/test-link.c: Likewise.
39865         * tests/test-linkat.c: Likewise.
39866         * tests/test-linked_list.c: Likewise.
39867         * tests/test-linkedhash_list.c: Likewise.
39868         * tests/test-localename.c: Likewise.
39869         * tests/test-lseek.c: Likewise.
39870         * tests/test-lstat.c: Likewise.
39871         * tests/test-mbmemcasecmp.c: Likewise.
39872         * tests/test-mbmemcasecoll.c: Likewise.
39873         * tests/test-mbrtowc.c: Likewise.
39874         * tests/test-mbscasecmp.c: Likewise.
39875         * tests/test-mbscasestr1.c: Likewise.
39876         * tests/test-mbscasestr2.c: Likewise.
39877         * tests/test-mbscasestr3.c: Likewise.
39878         * tests/test-mbscasestr4.c: Likewise.
39879         * tests/test-mbschr.c: Likewise.
39880         * tests/test-mbscspn.c: Likewise.
39881         * tests/test-mbsinit.c: Likewise.
39882         * tests/test-mbsncasecmp.c: Likewise.
39883         * tests/test-mbsnrtowcs.c: Likewise.
39884         * tests/test-mbspbrk.c: Likewise.
39885         * tests/test-mbspcasecmp.c: Likewise.
39886         * tests/test-mbsrchr.c: Likewise.
39887         * tests/test-mbsrtowcs.c: Likewise.
39888         * tests/test-mbsspn.c: Likewise.
39889         * tests/test-mbsstr1.c: Likewise.
39890         * tests/test-mbsstr2.c: Likewise.
39891         * tests/test-mbsstr3.c: Likewise.
39892         * tests/test-memchr.c: Likewise.
39893         * tests/test-memchr2.c: Likewise.
39894         * tests/test-memcmp.c: Likewise.
39895         * tests/test-memmem.c: Likewise.
39896         * tests/test-memrchr.c: Likewise.
39897         * tests/test-mkdir.c: Likewise.
39898         * tests/test-mkdirat.c: Likewise.
39899         * tests/test-mkfifo.c: Likewise.
39900         * tests/test-mkfifoat.c: Likewise.
39901         * tests/test-mknod.c: Likewise.
39902         * tests/test-nanosleep.c: Likewise.
39903         * tests/test-nl_langinfo.c: Likewise.
39904         * tests/test-obstack-printf.c: Likewise.
39905         * tests/test-open.c: Likewise.
39906         * tests/test-openat.c: Likewise.
39907         * tests/test-pipe-filter-gi1.c: Likewise.
39908         * tests/test-pipe-filter-gi2-main.c: Likewise.
39909         * tests/test-pipe-filter-ii1.c: Likewise.
39910         * tests/test-pipe-filter-ii2-main.c: Likewise.
39911         * tests/test-pipe2.c: Likewise.
39912         * tests/test-popen.h: Likewise.
39913         * tests/test-posixtm.c: Likewise.
39914         * tests/test-pread.c: Likewise.
39915         * tests/test-printf-frexp.c: Likewise.
39916         * tests/test-printf-frexpl.c: Likewise.
39917         * tests/test-printf-posix.c: Likewise.
39918         * tests/test-priv-set.c: Likewise.
39919         * tests/test-quotearg.c: Likewise.
39920         * tests/test-random_r.c: Likewise.
39921         * tests/test-rawmemchr.c: Likewise.
39922         * tests/test-rbtree_list.c: Likewise.
39923         * tests/test-rbtree_oset.c: Likewise.
39924         * tests/test-rbtreehash_list.c: Likewise.
39925         * tests/test-readlink.c: Likewise.
39926         * tests/test-remove.c: Likewise.
39927         * tests/test-rename.c: Likewise.
39928         * tests/test-renameat.c: Likewise.
39929         * tests/test-rmdir.c: Likewise.
39930         * tests/test-round1.c: Likewise.
39931         * tests/test-roundf1.c: Likewise.
39932         * tests/test-roundl.c: Likewise.
39933         * tests/test-safe-alloc.c: Likewise.
39934         * tests/test-sameacls.c: Likewise.
39935         * tests/test-set-mode-acl.c: Likewise.
39936         * tests/test-setenv.c: Likewise.
39937         * tests/test-sigaction.c: Likewise.
39938         * tests/test-signbit.c: Likewise.
39939         * tests/test-sleep.c: Likewise.
39940         * tests/test-snprintf-posix.c: Likewise.
39941         * tests/test-snprintf.c: Likewise.
39942         * tests/test-sprintf-posix.c: Likewise.
39943         * tests/test-stat-time.c: Likewise.
39944         * tests/test-stat.c: Likewise.
39945         * tests/test-strcasestr.c: Likewise.
39946         * tests/test-strchrnul.c: Likewise.
39947         * tests/test-strerror.c: Likewise.
39948         * tests/test-striconv.c: Likewise.
39949         * tests/test-striconveh.c: Likewise.
39950         * tests/test-striconveha.c: Likewise.
39951         * tests/test-strsignal.c: Likewise.
39952         * tests/test-strstr.c: Likewise.
39953         * tests/test-strtod.c: Likewise.
39954         * tests/test-strverscmp.c: Likewise.
39955         * tests/test-symlink.c: Likewise.
39956         * tests/test-symlinkat.c: Likewise.
39957         * tests/test-trunc1.c: Likewise.
39958         * tests/test-trunc2.c: Likewise.
39959         * tests/test-truncf1.c: Likewise.
39960         * tests/test-truncf2.c: Likewise.
39961         * tests/test-truncl.c: Likewise.
39962         * tests/test-uname.c: Likewise.
39963         * tests/test-unlink.c: Likewise.
39964         * tests/test-unlinkat.c: Likewise.
39965         * tests/test-unsetenv.c: Likewise.
39966         * tests/test-usleep.c: Likewise.
39967         * tests/test-utimens.c: Likewise.
39968         * tests/test-utimensat.c: Likewise.
39969         * tests/test-vasnprintf-posix.c: Likewise.
39970         * tests/test-vasnprintf-posix2.c: Likewise.
39971         * tests/test-vasnprintf.c: Likewise.
39972         * tests/test-vasprintf-posix.c: Likewise.
39973         * tests/test-vasprintf.c: Likewise.
39974         * tests/test-vdprintf-posix.c: Likewise.
39975         * tests/test-vfprintf-posix.c: Likewise.
39976         * tests/test-vprintf-posix.c: Likewise.
39977         * tests/test-vsnprintf-posix.c: Likewise.
39978         * tests/test-vsnprintf.c: Likewise.
39979         * tests/test-vsprintf-posix.c: Likewise.
39980         * tests/test-wcrtomb.c: Likewise.
39981         * tests/test-wcsnrtombs.c: Likewise.
39982         * tests/test-wcsrtombs.c: Likewise.
39983         * tests/test-wctype.c: Likewise.
39984         * tests/test-wcwidth.c: Likewise.
39985         * tests/test-xfprintf-posix.c: Likewise.
39986         * tests/test-xmemdup0.c: Likewise.
39987         * tests/test-xprintf-posix.c: Likewise.
39988         * tests/test-xvasprintf.c: Likewise.
39989         * tests/unicase/test-locale-language.c: Likewise.
39990         * tests/unicase/test-mapping-part1.h: Likewise.
39991         * tests/unicase/test-predicate-part1.h: Likewise.
39992         * tests/unicase/test-u8-casecmp.c: Likewise.
39993         * tests/unicase/test-u8-casecoll.c: Likewise.
39994         * tests/unicase/test-u8-casefold.c: Likewise.
39995         * tests/unicase/test-u8-is-cased.c: Likewise.
39996         * tests/unicase/test-u8-is-casefolded.c: Likewise.
39997         * tests/unicase/test-u8-is-lowercase.c: Likewise.
39998         * tests/unicase/test-u8-is-titlecase.c: Likewise.
39999         * tests/unicase/test-u8-is-uppercase.c: Likewise.
40000         * tests/unicase/test-u8-tolower.c: Likewise.
40001         * tests/unicase/test-u8-totitle.c: Likewise.
40002         * tests/unicase/test-u8-toupper.c: Likewise.
40003         * tests/unicase/test-u16-casecmp.c: Likewise.
40004         * tests/unicase/test-u16-casecoll.c: Likewise.
40005         * tests/unicase/test-u16-casefold.c: Likewise.
40006         * tests/unicase/test-u16-is-cased.c: Likewise.
40007         * tests/unicase/test-u16-is-casefolded.c: Likewise.
40008         * tests/unicase/test-u16-is-lowercase.c: Likewise.
40009         * tests/unicase/test-u16-is-titlecase.c: Likewise.
40010         * tests/unicase/test-u16-is-uppercase.c: Likewise.
40011         * tests/unicase/test-u16-tolower.c: Likewise.
40012         * tests/unicase/test-u16-totitle.c: Likewise.
40013         * tests/unicase/test-u16-toupper.c: Likewise.
40014         * tests/unicase/test-u32-casecmp.c: Likewise.
40015         * tests/unicase/test-u32-casecoll.c: Likewise.
40016         * tests/unicase/test-u32-casefold.c: Likewise.
40017         * tests/unicase/test-u32-is-cased.c: Likewise.
40018         * tests/unicase/test-u32-is-casefolded.c: Likewise.
40019         * tests/unicase/test-u32-is-lowercase.c: Likewise.
40020         * tests/unicase/test-u32-is-titlecase.c: Likewise.
40021         * tests/unicase/test-u32-is-uppercase.c: Likewise.
40022         * tests/unicase/test-u32-tolower.c: Likewise.
40023         * tests/unicase/test-u32-totitle.c: Likewise.
40024         * tests/unicase/test-u32-toupper.c: Likewise.
40025         * tests/unicase/test-ulc-casecmp.c: Likewise.
40026         * tests/unicase/test-ulc-casecoll.c: Likewise.
40027         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
40028         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
40029         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
40030         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
40031         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
40032         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
40033         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
40034         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
40035         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
40036         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
40037         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
40038         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
40039         * tests/unictype/test-bidi_byname.c: Likewise.
40040         * tests/unictype/test-bidi_name.c: Likewise.
40041         * tests/unictype/test-bidi_of.c: Likewise.
40042         * tests/unictype/test-bidi_test.c: Likewise.
40043         * tests/unictype/test-block_list.c: Likewise.
40044         * tests/unictype/test-block_of.c: Likewise.
40045         * tests/unictype/test-block_test.c: Likewise.
40046         * tests/unictype/test-categ_and.c: Likewise.
40047         * tests/unictype/test-categ_and_not.c: Likewise.
40048         * tests/unictype/test-categ_byname.c: Likewise.
40049         * tests/unictype/test-categ_name.c: Likewise.
40050         * tests/unictype/test-categ_none.c: Likewise.
40051         * tests/unictype/test-categ_of.c: Likewise.
40052         * tests/unictype/test-categ_or.c: Likewise.
40053         * tests/unictype/test-categ_test_withtable.c: Likewise.
40054         * tests/unictype/test-combining.c: Likewise.
40055         * tests/unictype/test-decdigit.c: Likewise.
40056         * tests/unictype/test-digit.c: Likewise.
40057         * tests/unictype/test-mirror.c: Likewise.
40058         * tests/unictype/test-numeric.c: Likewise.
40059         * tests/unictype/test-pr_byname.c: Likewise.
40060         * tests/unictype/test-pr_test.c: Likewise.
40061         * tests/unictype/test-predicate-part1.h: Likewise.
40062         * tests/unictype/test-scripts.c: Likewise.
40063         * tests/unictype/test-sy_c_ident.c: Likewise.
40064         * tests/unictype/test-sy_java_ident.c: Likewise.
40065         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
40066         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
40067         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
40068         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
40069         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
40070         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
40071         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
40072         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
40073         * tests/uninorm/test-canonical-decomposition.c: Likewise.
40074         * tests/uninorm/test-compat-decomposition.c: Likewise.
40075         * tests/uninorm/test-composition.c: Likewise.
40076         * tests/uninorm/test-decomposing-form.c: Likewise.
40077         * tests/uninorm/test-decomposition.c: Likewise.
40078         * tests/uninorm/test-u8-nfc.c: Likewise.
40079         * tests/uninorm/test-u8-nfd.c: Likewise.
40080         * tests/uninorm/test-u8-nfkc.c: Likewise.
40081         * tests/uninorm/test-u8-nfkd.c: Likewise.
40082         * tests/uninorm/test-u8-normcmp.c: Likewise.
40083         * tests/uninorm/test-u8-normcoll.c: Likewise.
40084         * tests/uninorm/test-u16-nfc.c: Likewise.
40085         * tests/uninorm/test-u16-nfd.c: Likewise.
40086         * tests/uninorm/test-u16-nfkc.c: Likewise.
40087         * tests/uninorm/test-u16-nfkd.c: Likewise.
40088         * tests/uninorm/test-u16-normcmp.c: Likewise.
40089         * tests/uninorm/test-u16-normcoll.c: Likewise.
40090         * tests/uninorm/test-u32-nfc.c: Likewise.
40091         * tests/uninorm/test-u32-nfd.c: Likewise.
40092         * tests/uninorm/test-u32-nfkc.c: Likewise.
40093         * tests/uninorm/test-u32-nfkd.c: Likewise.
40094         * tests/uninorm/test-u32-normalize-big.c: Likewise.
40095         * tests/uninorm/test-u32-normcmp.c: Likewise.
40096         * tests/uninorm/test-u32-normcoll.c: Likewise.
40097         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
40098         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
40099         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
40100         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
40101         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
40102         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
40103         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
40104         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
40105         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
40106         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
40107         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
40108         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
40109         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
40110         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
40111         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
40112         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
40113         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
40114         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
40115         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
40116         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
40117         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
40118         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
40119         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
40120         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
40121         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
40122         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
40123         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
40124         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
40125         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
40126         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
40127         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
40128         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
40129         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
40130         * tests/uniwidth/test-u8-strwidth.c: Likewise.
40131         * tests/uniwidth/test-u8-width.c: Likewise.
40132         * tests/uniwidth/test-u16-strwidth.c: Likewise.
40133         * tests/uniwidth/test-u16-width.c: Likewise.
40134         * tests/uniwidth/test-u32-strwidth.c: Likewise.
40135         * tests/uniwidth/test-u32-width.c: Likewise.
40136         * tests/uniwidth/test-uc_width.c: Likewise.
40137         * tests/uniwidth/test-uc_width2.c: Likewise.
40138         * modules/acl-tests (Files): Add tests/macros.h.
40139         * modules/areadlink-tests (Files): Likewise.
40140         * modules/areadlink-with-size-tests (Files): Likewise.
40141         * modules/areadlinkat-tests (Files): Likewise.
40142         * modules/areadlinkat-with-size-tests (Files): Likewise.
40143         * modules/argmatch-tests (Files): Likewise.
40144         * modules/argv-iter-tests (Files): Likewise.
40145         * modules/array-list-tests (Files): Likewise.
40146         * modules/array-mergesort-tests (Files): Likewise.
40147         * modules/array-oset-tests (Files): Likewise.
40148         * modules/avltree-list-tests (Files): Likewise.
40149         * modules/avltree-oset-tests (Files): Likewise.
40150         * modules/avltreehash-list-tests (Files): Likewise.
40151         * modules/base64-tests (Files): Likewise.
40152         * modules/binary-io-tests (Files): Likewise.
40153         * modules/bitrotate-tests (Files): Likewise.
40154         * modules/btowc-tests (Files): Likewise.
40155         * modules/byteswap-tests (Files): Likewise.
40156         * modules/c-ctype-tests (Files): Likewise.
40157         * modules/c-stack-tests (Files): Likewise.
40158         * modules/c-strcase-tests (Files): Likewise.
40159         * modules/c-strcasestr-tests (Files): Likewise.
40160         * modules/c-strstr-tests (Files): Likewise.
40161         * modules/canonicalize-lgpl-tests (Files): Likewise.
40162         * modules/canonicalize-tests (Files): Likewise.
40163         * modules/carray-list-tests (Files): Likewise.
40164         * modules/ceilf-tests (Files): Likewise.
40165         * modules/ceill-tests (Files): Likewise.
40166         * modules/chown-tests (Files): Likewise.
40167         * modules/cloexec-tests (Files): Likewise.
40168         * modules/copy-file-tests (Files): Likewise.
40169         * modules/count-one-bits-tests (Files): Likewise.
40170         * modules/dprintf-posix-tests (Files): Likewise.
40171         * modules/dup2-tests (Files): Likewise.
40172         * modules/dup3-tests (Files): Likewise.
40173         * modules/duplocale-tests (Files): Likewise.
40174         * modules/fbufmode-tests (Files): Likewise.
40175         * modules/fchdir-tests (Files): Likewise.
40176         * modules/fcntl-safer-tests (Files): Likewise.
40177         * modules/fcntl-tests (Files): Likewise.
40178         * modules/fdopendir-tests (Files): Likewise.
40179         * modules/fdutimensat-tests (Files): Likewise.
40180         * modules/fflush-tests (Files): Likewise.
40181         * modules/filevercmp-tests (Files): Likewise.
40182         * modules/flock-tests (Files): Likewise.
40183         * modules/floorf-tests (Files): Likewise.
40184         * modules/floorl-tests (Files): Likewise.
40185         * modules/fnmatch-tests (Files): Likewise.
40186         * modules/fopen-safer-tests (Files): Likewise.
40187         * modules/fopen-tests (Files): Likewise.
40188         * modules/fpending-tests (Files): Likewise.
40189         * modules/fprintf-posix-tests (Files): Likewise.
40190         * modules/fpurge-tests (Files): Likewise.
40191         * modules/freadable-tests (Files): Likewise.
40192         * modules/freadahead-tests (Files): Likewise.
40193         * modules/freading-tests (Files): Likewise.
40194         * modules/freadptr-tests (Files): Likewise.
40195         * modules/freadseek-tests (Files): Likewise.
40196         * modules/freopen-tests (Files): Likewise.
40197         * modules/frexp-nolibm-tests (Files): Likewise.
40198         * modules/frexp-tests (Files): Likewise.
40199         * modules/frexpl-nolibm-tests (Files): Likewise.
40200         * modules/frexpl-tests (Files): Likewise.
40201         * modules/fseek-tests (Files): Likewise.
40202         * modules/fseeko-tests (Files): Likewise.
40203         * modules/fstrcmp-tests (Files): Likewise.
40204         * modules/fsync-tests (Files): Likewise.
40205         * modules/ftell-tests (Files): Likewise.
40206         * modules/ftello-tests (Files): Likewise.
40207         * modules/func-tests (Files): Likewise.
40208         * modules/futimens-tests (Files): Likewise.
40209         * modules/fwritable-tests (Files): Likewise.
40210         * modules/fwriting-tests (Files): Likewise.
40211         * modules/getcwd-tests (Files): Likewise.
40212         * modules/getdate-tests (Files): Likewise.
40213         * modules/getdelim-tests (Files): Likewise.
40214         * modules/getdtablesize-tests (Files): Likewise.
40215         * modules/getgroups-tests (Files): Likewise.
40216         * modules/getline-tests (Files): Likewise.
40217         * modules/getndelim2-tests (Files): Likewise.
40218         * modules/glob-tests (Files): Likewise.
40219         * modules/hash-tests (Files): Likewise.
40220         * modules/i-ring-tests (Files): Likewise.
40221         * modules/iconv-tests (Files): Likewise.
40222         * modules/iconv_open-utf-tests (Files): Likewise.
40223         * modules/idpriv-drop-tests (Files): Likewise.
40224         * modules/idpriv-droptemp-tests (Files): Likewise.
40225         * modules/inet_ntop-tests (Files): Likewise.
40226         * modules/inet_pton-tests (Files): Likewise.
40227         * modules/isblank-tests (Files): Likewise.
40228         * modules/isfinite-tests (Files): Likewise.
40229         * modules/isinf-tests (Files): Likewise.
40230         * modules/isnan-tests (Files): Likewise.
40231         * modules/isnand-nolibm-tests (Files): Likewise.
40232         * modules/isnand-tests (Files): Likewise.
40233         * modules/isnanf-nolibm-tests (Files): Likewise.
40234         * modules/isnanf-tests (Files): Likewise.
40235         * modules/isnanl-nolibm-tests (Files): Likewise.
40236         * modules/isnanl-tests (Files): Likewise.
40237         * modules/lchown-tests (Files): Likewise.
40238         * modules/ldexpl-tests (Files): Likewise.
40239         * modules/link-tests (Files): Likewise.
40240         * modules/linkat-tests (Files): Likewise.
40241         * modules/linked-list-tests (Files): Likewise.
40242         * modules/linkedhash-list-tests (Files): Likewise.
40243         * modules/localename-tests (Files): Likewise.
40244         * modules/lseek-tests (Files): Likewise.
40245         * modules/lstat-tests (Files): Likewise.
40246         * modules/mbmemcasecmp-tests (Files): Likewise.
40247         * modules/mbmemcasecoll-tests (Files): Likewise.
40248         * modules/mbrtowc-tests (Files): Likewise.
40249         * modules/mbscasecmp-tests (Files): Likewise.
40250         * modules/mbscasestr-tests (Files): Likewise.
40251         * modules/mbschr-tests (Files): Likewise.
40252         * modules/mbscspn-tests (Files): Likewise.
40253         * modules/mbsinit-tests (Files): Likewise.
40254         * modules/mbsncasecmp-tests (Files): Likewise.
40255         * modules/mbsnrtowcs-tests (Files): Likewise.
40256         * modules/mbspbrk-tests (Files): Likewise.
40257         * modules/mbspcasecmp-tests (Files): Likewise.
40258         * modules/mbsrchr-tests (Files): Likewise.
40259         * modules/mbsrtowcs-tests (Files): Likewise.
40260         * modules/mbsspn-tests (Files): Likewise.
40261         * modules/mbsstr-tests (Files): Likewise.
40262         * modules/memchr-tests (Files): Likewise.
40263         * modules/memchr2-tests (Files): Likewise.
40264         * modules/memcmp-tests (Files): Likewise.
40265         * modules/memmem-tests (Files): Likewise.
40266         * modules/memrchr-tests (Files): Likewise.
40267         * modules/mkdir-tests (Files): Likewise.
40268         * modules/mkfifo-tests (Files): Likewise.
40269         * modules/mkfifoat-tests (Files): Likewise.
40270         * modules/mknod-tests (Files): Likewise.
40271         * modules/nanosleep-tests (Files): Likewise.
40272         * modules/nl_langinfo-tests (Files): Likewise.
40273         * modules/obstack-printf-tests (Files): Likewise.
40274         * modules/open-tests (Files): Likewise.
40275         * modules/openat-tests (Files): Likewise.
40276         * modules/pipe-filter-gi-tests (Files): Likewise.
40277         * modules/pipe-filter-ii-tests (Files): Likewise.
40278         * modules/pipe2-tests (Files): Likewise.
40279         * modules/popen-safer-tests (Files): Likewise.
40280         * modules/popen-tests (Files): Likewise.
40281         * modules/posixtm-tests (Files): Likewise.
40282         * modules/pread-tests (Files): Likewise.
40283         * modules/printf-frexp-tests (Files): Likewise.
40284         * modules/printf-frexpl-tests (Files): Likewise.
40285         * modules/printf-posix-tests (Files): Likewise.
40286         * modules/priv-set-tests (Files): Likewise.
40287         * modules/quotearg-tests (Files): Likewise.
40288         * modules/random_r-tests (Files): Likewise.
40289         * modules/rawmemchr-tests (Files): Likewise.
40290         * modules/rbtree-list-tests (Files): Likewise.
40291         * modules/rbtree-oset-tests (Files): Likewise.
40292         * modules/rbtreehash-list-tests (Files): Likewise.
40293         * modules/readlink-tests (Files): Likewise.
40294         * modules/remove-tests (Files): Likewise.
40295         * modules/rename-tests (Files): Likewise.
40296         * modules/renameat-tests (Files): Likewise.
40297         * modules/rmdir-tests (Files): Likewise.
40298         * modules/round-tests (Files): Likewise.
40299         * modules/roundf-tests (Files): Likewise.
40300         * modules/roundl-tests (Files): Likewise.
40301         * modules/safe-alloc-tests (Files): Likewise.
40302         * modules/setenv-tests (Files): Likewise.
40303         * modules/sigaction-tests (Files): Likewise.
40304         * modules/signbit-tests (Files): Likewise.
40305         * modules/sleep-tests (Files): Likewise.
40306         * modules/snprintf-posix-tests (Files): Likewise.
40307         * modules/snprintf-tests (Files): Likewise.
40308         * modules/sprintf-posix-tests (Files): Likewise.
40309         * modules/stat-tests (Files): Likewise.
40310         * modules/stat-time-tests (Files): Likewise.
40311         * modules/strcasestr-tests (Files): Likewise.
40312         * modules/strchrnul-tests (Files): Likewise.
40313         * modules/strerror-tests (Files): Likewise.
40314         * modules/striconv-tests (Files): Likewise.
40315         * modules/striconveh-tests (Files): Likewise.
40316         * modules/striconveha-tests (Files): Likewise.
40317         * modules/strsignal-tests (Files): Likewise.
40318         * modules/strstr-tests (Files): Likewise.
40319         * modules/strtod-tests (Files): Likewise.
40320         * modules/strverscmp-tests (Files): Likewise.
40321         * modules/symlink-tests (Files): Likewise.
40322         * modules/symlinkat-tests (Files): Likewise.
40323         * modules/trunc-tests (Files): Likewise.
40324         * modules/truncf-tests (Files): Likewise.
40325         * modules/truncl-tests (Files): Likewise.
40326         * modules/uname-tests (Files): Likewise.
40327         * modules/unicase/cased-tests (Files): Likewise.
40328         * modules/unicase/ignorable-tests (Files): Likewise.
40329         * modules/unicase/locale-language-tests (Files): Likewise.
40330         * modules/unicase/tolower-tests (Files): Likewise.
40331         * modules/unicase/totitle-tests (Files): Likewise.
40332         * modules/unicase/toupper-tests (Files): Likewise.
40333         * modules/unicase/u8-casecmp-tests (Files): Likewise.
40334         * modules/unicase/u8-casecoll-tests (Files): Likewise.
40335         * modules/unicase/u8-casefold-tests (Files): Likewise.
40336         * modules/unicase/u8-is-cased-tests (Files): Likewise.
40337         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
40338         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
40339         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
40340         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
40341         * modules/unicase/u8-tolower-tests (Files): Likewise.
40342         * modules/unicase/u8-totitle-tests (Files): Likewise.
40343         * modules/unicase/u8-toupper-tests (Files): Likewise.
40344         * modules/unicase/u16-casecmp-tests (Files): Likewise.
40345         * modules/unicase/u16-casecoll-tests (Files): Likewise.
40346         * modules/unicase/u16-casefold-tests (Files): Likewise.
40347         * modules/unicase/u16-is-cased-tests (Files): Likewise.
40348         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
40349         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
40350         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
40351         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
40352         * modules/unicase/u16-tolower-tests (Files): Likewise.
40353         * modules/unicase/u16-totitle-tests (Files): Likewise.
40354         * modules/unicase/u16-toupper-tests (Files): Likewise.
40355         * modules/unicase/u32-casecmp-tests (Files): Likewise.
40356         * modules/unicase/u32-casecoll-tests (Files): Likewise.
40357         * modules/unicase/u32-casefold-tests (Files): Likewise.
40358         * modules/unicase/u32-is-cased-tests (Files): Likewise.
40359         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
40360         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
40361         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
40362         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
40363         * modules/unicase/u32-tolower-tests (Files): Likewise.
40364         * modules/unicase/u32-totitle-tests (Files): Likewise.
40365         * modules/unicase/u32-toupper-tests (Files): Likewise.
40366         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
40367         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
40368         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
40369         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
40370         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
40371         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
40372         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
40373         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
40374         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
40375         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
40376         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
40377         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
40378         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
40379         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
40380         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
40381         * modules/unictype/bidicategory-name-tests (Files): Likewise.
40382         * modules/unictype/bidicategory-of-tests (Files): Likewise.
40383         * modules/unictype/bidicategory-test-tests (Files): Likewise.
40384         * modules/unictype/block-list-tests (Files): Likewise.
40385         * modules/unictype/block-of-tests (Files): Likewise.
40386         * modules/unictype/block-test-tests (Files): Likewise.
40387         * modules/unictype/category-C-tests (Files): Likewise.
40388         * modules/unictype/category-Cc-tests (Files): Likewise.
40389         * modules/unictype/category-Cf-tests (Files): Likewise.
40390         * modules/unictype/category-Cn-tests (Files): Likewise.
40391         * modules/unictype/category-Co-tests (Files): Likewise.
40392         * modules/unictype/category-Cs-tests (Files): Likewise.
40393         * modules/unictype/category-L-tests (Files): Likewise.
40394         * modules/unictype/category-Ll-tests (Files): Likewise.
40395         * modules/unictype/category-Lm-tests (Files): Likewise.
40396         * modules/unictype/category-Lo-tests (Files): Likewise.
40397         * modules/unictype/category-Lt-tests (Files): Likewise.
40398         * modules/unictype/category-Lu-tests (Files): Likewise.
40399         * modules/unictype/category-M-tests (Files): Likewise.
40400         * modules/unictype/category-Mc-tests (Files): Likewise.
40401         * modules/unictype/category-Me-tests (Files): Likewise.
40402         * modules/unictype/category-Mn-tests (Files): Likewise.
40403         * modules/unictype/category-N-tests (Files): Likewise.
40404         * modules/unictype/category-Nd-tests (Files): Likewise.
40405         * modules/unictype/category-Nl-tests (Files): Likewise.
40406         * modules/unictype/category-No-tests (Files): Likewise.
40407         * modules/unictype/category-P-tests (Files): Likewise.
40408         * modules/unictype/category-Pc-tests (Files): Likewise.
40409         * modules/unictype/category-Pd-tests (Files): Likewise.
40410         * modules/unictype/category-Pe-tests (Files): Likewise.
40411         * modules/unictype/category-Pf-tests (Files): Likewise.
40412         * modules/unictype/category-Pi-tests (Files): Likewise.
40413         * modules/unictype/category-Po-tests (Files): Likewise.
40414         * modules/unictype/category-Ps-tests (Files): Likewise.
40415         * modules/unictype/category-S-tests (Files): Likewise.
40416         * modules/unictype/category-Sc-tests (Files): Likewise.
40417         * modules/unictype/category-Sk-tests (Files): Likewise.
40418         * modules/unictype/category-Sm-tests (Files): Likewise.
40419         * modules/unictype/category-So-tests (Files): Likewise.
40420         * modules/unictype/category-Z-tests (Files): Likewise.
40421         * modules/unictype/category-Zl-tests (Files): Likewise.
40422         * modules/unictype/category-Zp-tests (Files): Likewise.
40423         * modules/unictype/category-Zs-tests (Files): Likewise.
40424         * modules/unictype/category-and-not-tests (Files): Likewise.
40425         * modules/unictype/category-and-tests (Files): Likewise.
40426         * modules/unictype/category-byname-tests (Files): Likewise.
40427         * modules/unictype/category-name-tests (Files): Likewise.
40428         * modules/unictype/category-none-tests (Files): Likewise.
40429         * modules/unictype/category-of-tests (Files): Likewise.
40430         * modules/unictype/category-or-tests (Files): Likewise.
40431         * modules/unictype/category-test-withtable-tests (Files): Likewise.
40432         * modules/unictype/combining-class-tests (Files): Likewise.
40433         * modules/unictype/ctype-alnum-tests (Files): Likewise.
40434         * modules/unictype/ctype-alpha-tests (Files): Likewise.
40435         * modules/unictype/ctype-blank-tests (Files): Likewise.
40436         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
40437         * modules/unictype/ctype-digit-tests (Files): Likewise.
40438         * modules/unictype/ctype-graph-tests (Files): Likewise.
40439         * modules/unictype/ctype-lower-tests (Files): Likewise.
40440         * modules/unictype/ctype-print-tests (Files): Likewise.
40441         * modules/unictype/ctype-punct-tests (Files): Likewise.
40442         * modules/unictype/ctype-space-tests (Files): Likewise.
40443         * modules/unictype/ctype-upper-tests (Files): Likewise.
40444         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
40445         * modules/unictype/decimal-digit-tests (Files): Likewise.
40446         * modules/unictype/digit-tests (Files): Likewise.
40447         * modules/unictype/mirror-tests (Files): Likewise.
40448         * modules/unictype/numeric-tests (Files): Likewise.
40449         * modules/unictype/property-alphabetic-tests (Files): Likewise.
40450         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
40451         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
40452         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
40453         Likewise.
40454         * modules/unictype/property-bidi-block-separator-tests (Files):
40455         Likewise.
40456         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
40457         Likewise.
40458         * modules/unictype/property-bidi-common-separator-tests (Files):
40459         Likewise.
40460         * modules/unictype/property-bidi-control-tests (Files): Likewise.
40461         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
40462         Likewise.
40463         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
40464         Likewise.
40465         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
40466         Likewise.
40467         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
40468         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
40469         Likewise.
40470         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
40471         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
40472         Likewise.
40473         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
40474         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
40475         * modules/unictype/property-bidi-segment-separator-tests (Files):
40476         Likewise.
40477         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
40478         * modules/unictype/property-byname-tests (Files): Likewise.
40479         * modules/unictype/property-combining-tests (Files): Likewise.
40480         * modules/unictype/property-composite-tests (Files): Likewise.
40481         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
40482         * modules/unictype/property-dash-tests (Files): Likewise.
40483         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
40484         * modules/unictype/property-default-ignorable-code-point-tests (Files):
40485         Likewise.
40486         * modules/unictype/property-deprecated-tests (Files): Likewise.
40487         * modules/unictype/property-diacritic-tests (Files): Likewise.
40488         * modules/unictype/property-extender-tests (Files): Likewise.
40489         * modules/unictype/property-format-control-tests (Files): Likewise.
40490         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
40491         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
40492         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
40493         * modules/unictype/property-hex-digit-tests (Files): Likewise.
40494         * modules/unictype/property-hyphen-tests (Files): Likewise.
40495         * modules/unictype/property-id-continue-tests (Files): Likewise.
40496         * modules/unictype/property-id-start-tests (Files): Likewise.
40497         * modules/unictype/property-ideographic-tests (Files): Likewise.
40498         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
40499         * modules/unictype/property-ids-trinary-operator-tests (Files):
40500         Likewise.
40501         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
40502         * modules/unictype/property-iso-control-tests (Files): Likewise.
40503         * modules/unictype/property-join-control-tests (Files): Likewise.
40504         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
40505         * modules/unictype/property-line-separator-tests (Files): Likewise.
40506         * modules/unictype/property-logical-order-exception-tests (Files):
40507         Likewise.
40508         * modules/unictype/property-lowercase-tests (Files): Likewise.
40509         * modules/unictype/property-math-tests (Files): Likewise.
40510         * modules/unictype/property-non-break-tests (Files): Likewise.
40511         * modules/unictype/property-not-a-character-tests (Files): Likewise.
40512         * modules/unictype/property-numeric-tests (Files): Likewise.
40513         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
40514         * modules/unictype/property-other-default-ignorable-code-point-tests
40515         (Files): Likewise.
40516         * modules/unictype/property-other-grapheme-extend-tests (Files):
40517         Likewise.
40518         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
40519         * modules/unictype/property-other-id-start-tests (Files): Likewise.
40520         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
40521         * modules/unictype/property-other-math-tests (Files): Likewise.
40522         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
40523         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
40524         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
40525         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
40526         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
40527         * modules/unictype/property-private-use-tests (Files): Likewise.
40528         * modules/unictype/property-punctuation-tests (Files): Likewise.
40529         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
40530         * modules/unictype/property-radical-tests (Files): Likewise.
40531         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
40532         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
40533         * modules/unictype/property-space-tests (Files): Likewise.
40534         * modules/unictype/property-terminal-punctuation-tests (Files):
40535         Likewise.
40536         * modules/unictype/property-test-tests (Files): Likewise.
40537         * modules/unictype/property-titlecase-tests (Files): Likewise.
40538         * modules/unictype/property-unassigned-code-value-tests (Files):
40539         Likewise.
40540         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
40541         * modules/unictype/property-uppercase-tests (Files): Likewise.
40542         * modules/unictype/property-variation-selector-tests (Files): Likewise.
40543         * modules/unictype/property-white-space-tests (Files): Likewise.
40544         * modules/unictype/property-xid-continue-tests (Files): Likewise.
40545         * modules/unictype/property-xid-start-tests (Files): Likewise.
40546         * modules/unictype/property-zero-width-tests (Files): Likewise.
40547         * modules/unictype/scripts-tests (Files): Likewise.
40548         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
40549         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
40550         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
40551         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
40552         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
40553         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
40554         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
40555         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
40556         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
40557         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
40558         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
40559         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
40560         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
40561         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
40562         * modules/uninorm/composition-tests (Files): Likewise.
40563         * modules/uninorm/decomposing-form-tests (Files): Likewise.
40564         * modules/uninorm/decomposition-tests (Files): Likewise.
40565         * modules/uninorm/filter-tests (Files): Likewise.
40566         * modules/uninorm/nfc-tests (Files): Likewise.
40567         * modules/uninorm/nfd-tests (Files): Likewise.
40568         * modules/uninorm/nfkc-tests (Files): Likewise.
40569         * modules/uninorm/nfkd-tests (Files): Likewise.
40570         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
40571         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
40572         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
40573         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
40574         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
40575         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
40576         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
40577         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
40578         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
40579         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
40580         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
40581         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
40582         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
40583         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
40584         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
40585         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
40586         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
40587         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
40588         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
40589         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
40590         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
40591         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
40592         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
40593         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
40594         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
40595         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
40596         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
40597         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
40598         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
40599         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
40600         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
40601         * modules/uniwidth/u8-width-tests (Files): Likewise.
40602         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
40603         * modules/uniwidth/u16-width-tests (Files): Likewise.
40604         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
40605         * modules/uniwidth/u32-width-tests (Files): Likewise.
40606         * modules/uniwidth/width-tests (Files): Likewise.
40607         * modules/unlink-tests (Files): Likewise.
40608         * modules/unsetenv-tests (Files): Likewise.
40609         * modules/usleep-tests (Files): Likewise.
40610         * modules/utimens-tests (Files): Likewise.
40611         * modules/utimensat-tests (Files): Likewise.
40612         * modules/vasnprintf-posix-tests (Files): Likewise.
40613         * modules/vasnprintf-tests (Files): Likewise.
40614         * modules/vasprintf-posix-tests (Files): Likewise.
40615         * modules/vasprintf-tests (Files): Likewise.
40616         * modules/vdprintf-posix-tests (Files): Likewise.
40617         * modules/vfprintf-posix-tests (Files): Likewise.
40618         * modules/vprintf-posix-tests (Files): Likewise.
40619         * modules/vsnprintf-posix-tests (Files): Likewise.
40620         * modules/vsnprintf-tests (Files): Likewise.
40621         * modules/vsprintf-posix-tests (Files): Likewise.
40622         * modules/wcrtomb-tests (Files): Likewise.
40623         * modules/wcsnrtombs-tests (Files): Likewise.
40624         * modules/wcsrtombs-tests (Files): Likewise.
40625         * modules/wctype-tests (Files): Likewise.
40626         * modules/wcwidth-tests (Files): Likewise.
40627         * modules/xmemdup0-tests (Files): Likewise.
40628         * modules/xprintf-posix-tests (Files): Likewise.
40629         * modules/xvasprintf-tests (Files): Likewise.
40630
40631 2009-12-24  Eric Blake  <ebb9@byu.net>
40632
40633         test-nanosleep: fix typo
40634         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
40635         patch.
40636         Reported by Bruno Haible.
40637
40638 2009-12-24  Bruno Haible  <bruno@clisp.org>
40639
40640         Reduce namespace pollution on glibc systems.
40641         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
40642         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
40643         systems.
40644         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
40645         <getopt.h> on glibc systems.
40646         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
40647         systems.
40648         * lib/fcntl.c: Include <unistd.h> here instead.
40649
40650 2009-12-24  Bruno Haible  <bruno@clisp.org>
40651
40652         * lib/stdlib.in.h (includes): Fix typo in today's commit.
40653
40654 2009-12-24  Eric Blake  <ebb9@byu.net>
40655
40656         tests: add signature checks
40657         * tests/signature.h (SIGNATURE_CHECK): New file.
40658         * modules/atexit-tests (Files): Use it.
40659         * modules/btowc-tests (Files): Likewise.
40660         * modules/canonicalize-lgpl-tests (Files): Likewise.
40661         * modules/ceilf-tests (Files): Likewise.
40662         * modules/ceill-tests (Files): Likewise.
40663         * modules/chown-tests (Files): Likewise.
40664         * modules/dprintf-posix-tests (Files): Likewise.
40665         * modules/dup2-tests (Files): Likewise.
40666         * modules/dup3-tests (Files): Likewise.
40667         * modules/duplocale-tests (Files): Likewise.
40668         * modules/fchdir-tests (Files): Likewise.
40669         * modules/fcntl-tests (Files): Likewise.
40670         * modules/fdopendir-tests (Files): Likewise.
40671         * modules/fflush-tests (Files): Likewise.
40672         * modules/flock-tests (Files): Likewise.
40673         * modules/floorf-tests (Files): Likewise.
40674         * modules/floorl-tests (Files): Likewise.
40675         * modules/fnmatch-tests (Files): Likewise.
40676         * modules/fopen-tests (Files): Likewise.
40677         * modules/fprintf-posix-tests (Files): Likewise.
40678         * modules/freopen-tests (Files): Likewise.
40679         * modules/frexp-nolibm-tests (Files): Likewise.
40680         * modules/frexp-tests (Files): Likewise.
40681         * modules/frexpl-nolibm-tests (Files): Likewise.
40682         * modules/frexpl-tests (Files): Likewise.
40683         * modules/fseek-tests (Files): Likewise.
40684         * modules/fseeko-tests (Files): Likewise.
40685         * modules/fsync-tests (Files): Likewise.
40686         * modules/ftell-tests (Files): Likewise.
40687         * modules/ftello-tests (Files): Likewise.
40688         * modules/futimens-tests (Files): Likewise.
40689         * modules/getaddrinfo-tests (Files): Likewise.
40690         * modules/getcwd-tests (Files): Likewise.
40691         * modules/getdelim-tests (Files): Likewise.
40692         * modules/getdtablesize-tests (Files): Likewise.
40693         * modules/getgroups-tests (Files): Likewise.
40694         * modules/gethostname-tests (Files): Likewise.
40695         * modules/getline-tests (Files): Likewise.
40696         * modules/getopt-posix-tests (Files): Likewise.
40697         * modules/gettimeofday-tests (Files): Likewise.
40698         * modules/glob-tests (Files): Likewise.
40699         * modules/iconv-tests (Files): Likewise.
40700         * modules/inet_ntop-tests (Files): Likewise.
40701         * modules/inet_pton-tests (Files): Likewise.
40702         * modules/isblank-tests (Files): Likewise.
40703         * modules/lchown-tests (Files): Likewise.
40704         * modules/ldexpl-tests (Files): Likewise.
40705         * modules/link-tests (Files): Likewise.
40706         * modules/linkat-tests (Files): Likewise.
40707         * modules/lseek-tests (Files): Likewise.
40708         * modules/lstat-tests (Files): Likewise.
40709         * modules/mbrtowc-tests (Files): Likewise.
40710         * modules/mbsinit-tests (Files): Likewise.
40711         * modules/mbsnrtowcs-tests (Files): Likewise.
40712         * modules/mbsrtowcs-tests (Files): Likewise.
40713         * modules/memchr-tests (Files): Likewise.
40714         * modules/memcmp-tests (Files): Likewise.
40715         * modules/memmem-tests (Files): Likewise.
40716         * modules/memrchr-tests (Files): Likewise.
40717         * modules/mkdir-tests (Files): Likewise.
40718         * modules/mkfifo-tests (Files): Likewise.
40719         * modules/mkfifoat-tests (Files): Likewise.
40720         * modules/mknod-tests (Files): Likewise.
40721         * modules/nanosleep-tests (Files): Likewise.
40722         * modules/nl_langinfo-tests (Files): Likewise.
40723         * modules/obstack-printf-tests (Files): Likewise.
40724         * modules/open-tests (Files): Likewise.
40725         * modules/openat-tests (Files): Likewise.
40726         * modules/perror-tests (Files): Likewise.
40727         * modules/pipe2-tests (Files): Likewise.
40728         * modules/poll-tests (Files): Likewise.
40729         * modules/popen-tests (Files): Likewise.
40730         * modules/posix_spawn-tests (Files): Likewise.
40731         * modules/posix_spawnp-tests (Files): Likewise.
40732         * modules/pread-tests (Files): Likewise.
40733         * modules/printf-posix-tests (Files): Likewise.
40734         * modules/pty-tests (Files): Likewise.
40735         * modules/random_r-tests (Files): Likewise.
40736         * modules/rawmemchr-tests (Files): Likewise.
40737         * modules/readlink-tests (Files): Likewise.
40738         * modules/remove-tests (Files): Likewise.
40739         * modules/rename-tests (Files): Likewise.
40740         * modules/renameat-tests (Files): Likewise.
40741         * modules/rmdir-tests (Files): Likewise.
40742         * modules/round-tests (Files): Likewise.
40743         * modules/roundf-tests (Files): Likewise.
40744         * modules/roundl-tests (Files): Likewise.
40745         * modules/select-tests (Files): Likewise.
40746         * modules/setenv-tests (Files): Likewise.
40747         * modules/sigaction-tests (Files): Likewise.
40748         * modules/sleep-tests (Files): Likewise.
40749         * modules/snprintf-posix-tests (Files): Likewise.
40750         * modules/snprintf-tests (Files): Likewise.
40751         * modules/sprintf-posix-tests (Files): Likewise.
40752         * modules/stat-tests (Files): Likewise.
40753         * modules/strcasestr-tests (Files): Likewise.
40754         * modules/strchrnul-tests (Files): Likewise.
40755         * modules/strerror-tests (Files): Likewise.
40756         * modules/strsignal-tests (Files): Likewise.
40757         * modules/strstr-tests (Files): Likewise.
40758         * modules/strtod-tests (Files): Likewise.
40759         * modules/strverscmp-tests (Files): Likewise.
40760         * modules/symlink-tests (Files): Likewise.
40761         * modules/symlinkat-tests (Files): Likewise.
40762         * modules/times-tests (Files): Likewise.
40763         * modules/trunc-tests (Files): Likewise.
40764         * modules/truncf-tests (Files): Likewise.
40765         * modules/truncl-tests (Files): Likewise.
40766         * modules/tsearch-tests (Files): Likewise.
40767         * modules/uname-tests (Files): Likewise.
40768         * modules/unlink-tests (Files): Likewise.
40769         * modules/unsetenv-tests (Files): Likewise.
40770         * modules/usleep-tests (Files): Likewise.
40771         * modules/utimensat-tests (Files): Likewise.
40772         * modules/vasprintf-tests (Files): Likewise.
40773         * modules/vdprintf-posix-tests (Files): Likewise.
40774         * modules/vfprintf-posix-tests (Files): Likewise.
40775         * modules/vprintf-posix-tests (Files): Likewise.
40776         * modules/vsnprintf-posix-tests (Files): Likewise.
40777         * modules/vsnprintf-tests (Files): Likewise.
40778         * modules/vsprintf-posix-tests (Files): Likewise.
40779         * modules/wcrtomb-tests (Files): Likewise.
40780         * modules/wcsnrtombs-tests (Files): Likewise.
40781         * modules/wcsrtombs-tests (Files): Likewise.
40782         * modules/wcwidth-tests (Files): Likewise.
40783         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
40784         * tests/test-isinf.c (isinf): Likewise.
40785         * tests/test-isnan.c (isnan): Likewise.
40786         * tests/test-signbit.c (signbit): Likewise.
40787         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
40788         declaration, either as macro or with correct signature.
40789         (select): Ensure function under test is declared with correct
40790         signature in correct header.
40791         * tests/test-atexit.c (atexit): Likewise.
40792         * tests/test-btowc.c (btowc): Likewise.
40793         * tests/test-canonicalize-lgpl.c (realpath)
40794         (canonicalize_file_name): Likewise.
40795         * tests/test-ceilf1.c (ceilf): Likewise.
40796         * tests/test-ceill.c (ceill): Likewise.
40797         * tests/test-chown.c (chown): Likewise.
40798         * tests/test-dprintf-posix.c (dprintf): Likewise.
40799         * tests/test-dup2.c (dup2): Likewise.
40800         * tests/test-dup3.c (dup3): Likewise.
40801         * tests/test-duplocale.c (duplocale): Likewise.
40802         * tests/test-fchdir.c (fchdir): Likewise.
40803         * tests/test-fchownat.c (fchownat): Likewise.
40804         * tests/test-fcntl.c (fcntl): Likewise.
40805         * tests/test-fdopendir.c (fdopendir): Likewise.
40806         * tests/test-fflush.c (fflush): Likewise.
40807         * tests/test-flock.c (flock): Likewise.
40808         * tests/test-floorf1.c (floorf): Likewise.
40809         * tests/test-floorl.c (floorl): Likewise.
40810         * tests/test-fnmatch.c (fnmatch): Likewise.
40811         * tests/test-fopen.c (fopen): Likewise.
40812         * tests/test-fprintf-posix.c (fprintf): Likewise.
40813         * tests/test-freopen.c (freopen): Likewise.
40814         * tests/test-frexp.c (frexp): Likewise.
40815         * tests/test-frexpl.c (frexpl): Likewise.
40816         * tests/test-fseek.c (fseek): Likewise.
40817         * tests/test-fseeko.c (fseeko): Likewise.
40818         * tests/test-fstatat.c (fstatat): Likewise.
40819         * tests/test-fsync.c (fsync): Likewise.
40820         * tests/test-ftell.c (ftell): Likewise.
40821         * tests/test-ftello.c (ftello): Likewise.
40822         * tests/test-futimens.c (futimens): Likewise.
40823         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
40824         (gai_strerror): Likewise.
40825         * tests/test-getcwd.c (getcwd): Likewise.
40826         * tests/test-getdelim.c (getdelim): Likewise.
40827         * tests/test-getdtablesize.c (getdtablesize): Likewise.
40828         * tests/test-getgroups.c (getgroups): Likewise.
40829         * tests/test-gethostname.c (gethostname): Likewise.
40830         * tests/test-getline.c (getline): Likewise.
40831         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
40832         Likewise.
40833         * tests/test-gettimeofday.c (gettimeofday): Likewise.
40834         * tests/test-glob.c (glob, globfree): Likewise.
40835         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
40836         * tests/test-inet_ntop.c (inet_ntop): Likewise.
40837         * tests/test-inet_pton.c (inet_pton): Likewise.
40838         * tests/test-isblank.c (isblank): Likewise.
40839         * tests/test-lchown.c (lchown): Likewise.
40840         * tests/test-ldexpl.c (ldexpl): Likewise.
40841         * tests/test-link.c (link): Likewise.
40842         * tests/test-linkat.c (linkat): Likewise.
40843         * tests/test-lseek.c (lseek): Likewise.
40844         * tests/test-lstat.c (lstat): Likewise.
40845         * tests/test-mbrtowc.c (mbrtowc): Likewise.
40846         * tests/test-mbsinit.c (mbsinit): Likewise.
40847         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
40848         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
40849         * tests/test-memchr.c (memchr): Likewise.
40850         * tests/test-memcmp.c (memcmp): Likewise.
40851         * tests/test-memmem.c (memmem): Likewise.
40852         * tests/test-memrchr.c (memrchr): Likewise.
40853         * tests/test-mkdir.c (mkdir): Likewise.
40854         * tests/test-mkdirat.c (mkdirat): Likewise.
40855         * tests/test-mkfifo.c (mkfifo): Likewise.
40856         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
40857         * tests/test-mknod.c (mknod): Likewise.
40858         * tests/test-nanosleep.c (nanosleep): Likewise.
40859         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
40860         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
40861         Likewise.
40862         * tests/test-open.c (open): Likewise.
40863         * tests/test-openat.c (openat): Likewise.
40864         * tests/test-perror.c (perror): Likewise.
40865         * tests/test-pipe2.c (pipe2): Likewise.
40866         * tests/test-poll.c (poll): Likewise.
40867         * tests/test-popen.c (popen, pclose): Likewise.
40868         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
40869         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
40870         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
40871         (posix_spawn_file_actions_destroy)
40872         (posix_spawn_file_actions_addclose)
40873         (posix_spawn_file_actions_addopen)
40874         (posix_spawn_file_actions_adddup2): Likewise.
40875         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
40876         * tests/test-pread.c (pread): Likewise.
40877         * tests/test-printf-posix.c (printf): Likewise.
40878         * tests/test-pty.c (openpty, forkpty): Likewise.
40879         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
40880         (random_r): Likewise.
40881         * tests/test-rawmemchr.c (rawmemchr): Likewise.
40882         * tests/test-readlink.c (readlink): Likewise.
40883         * tests/test-remove.c (remove): Likewise.
40884         * tests/test-rename.c (rename): Likewise.
40885         * tests/test-renameat.c (renameat): Likewise.
40886         * tests/test-rmdir.c (rmdir): Likewise.
40887         * tests/test-round1.c (round): Likewise.
40888         * tests/test-roundf1.c (roundf): Likewise.
40889         * tests/test-roundl.c (roundl): Likewise.
40890         * tests/test-setenv.c (setenv): Likewise.
40891         * tests/test-sigaction.c (sigaction): Likewise.
40892         * tests/test-sleep.c (sleep): Likewise.
40893         * tests/test-snprintf.c (snprintf): Likewise.
40894         * tests/test-sprintf-posix.c (sprintf): Likewise.
40895         * tests/test-stat.c (stat): Likewise.
40896         * tests/test-stpncpy.c (stpncpy): Likewise.
40897         * tests/test-strcasestr.c (strcasestr): Likewise.
40898         * tests/test-strchrnul.c (strchrnul): Likewise.
40899         * tests/test-strerror.c (strerror): Likewise.
40900         * tests/test-strsignal.c (strsignal): Likewise.
40901         * tests/test-strstr.c (strstr): Likewise.
40902         * tests/test-strtod.c (strtod): Likewise.
40903         * tests/test-strverscmp.c (strverscmp): Likewise.
40904         * tests/test-symlink.c (symlink): Likewise.
40905         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
40906         * tests/test-times.c (times): Likewise.
40907         * tests/test-trunc1.c (trunc): Likewise.
40908         * tests/test-truncf1.c (truncf): Likewise.
40909         * tests/test-truncl.c (truncl): Likewise.
40910         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
40911         Likewise.
40912         * tests/test-uname.c (uname): Likewise.
40913         * tests/test-unlink.c (unlink): Likewise.
40914         * tests/test-unlinkat.c (unlinkat): Likewise.
40915         * tests/test-unsetenv.c (unsetenv): Likewise.
40916         * tests/test-usleep.c (usleep): Likewise.
40917         * tests/test-utimensat.c (utimensat): Likewise.
40918         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
40919         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
40920         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
40921         * tests/test-vprintf-posix.c (vprintf): Likewise.
40922         * tests/test-vsnprintf.c (vsnprintf): Likewise.
40923         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
40924         * tests/test-wcrtomb.c (wcrtomb): Likewise.
40925         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
40926         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
40927         * tests/test-wcwidth.c (wcwidth): Likewise.
40928
40929         build: pull in conditional headers during GNULIB_POSIXCHECK
40930         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
40931         definitions from any conditionally-included headers.
40932         * lib/stdlib.in.h (includes): Likewise.
40933         * lib/unistd.in.h (includes): Likewise.
40934
40935 2009-12-24  Bruno Haible  <bruno@clisp.org>
40936
40937         * tests/test-argv-iter.c: Include header file being tested immediately
40938         after config.h.
40939         * tests/test-base64.c: Likewise.
40940         * tests/test-flock.c: Likewise.
40941         * tests/test-fsync.c: Likewise.
40942         * tests/test-getdate.c: Likewise.
40943         * tests/test-getndelim2.c: Likewise.
40944         * tests/test-isfinite.c: Likewise.
40945         * tests/test-isinf.c: Likewise.
40946         * tests/test-strerror.c: Likewise.
40947         * tests/test-strsignal.c: Likewise.
40948
40949 2009-12-23  Eric Blake  <ebb9@byu.net>
40950
40951         unistd: work around cygwin bug
40952         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
40953         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
40954         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
40955
40956 2009-12-23  Bruno Haible  <bruno@clisp.org>
40957
40958         localename: More tests.
40959         * tests/test-localename.c (SIZEOF): New macro.
40960         (categories): New variable.
40961         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
40962         test_locale_name_default): Add test w.r.t. thread locale.
40963         (test_locale_name_thread): New function.
40964         (main): Invoke it.
40965
40966         localename: Make aware of thread locale.
40967         * lib/localename.h (gl_locale_name_thread): New declaration.
40968         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
40969         behaviour with respect to thread locale.
40970         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
40971         <langinfo.h>, glthread/lock.h.
40972         (SIZE_BITS): New macro.
40973         (string_hash): New function.
40974         (struct hash_node): New type.
40975         (HASH_TABLE_SIZE): New macro.
40976         (struniq_hash_table, struniq_lock): New variables.
40977         (struniq): New function.
40978         (gl_locale_name_thread): New function.
40979         (gl_locale_name): Invoke it.
40980         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
40981         * modules/localename (Depends-on): Add lock.
40982         Reported by Mike Gran <spk121@yahoo.com>.
40983
40984 2009-12-23  Eric Blake  <ebb9@byu.net>
40985
40986         va-args: new module
40987         * modules/va-args: New file.
40988         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
40989         * MODULES.html.sh (Core language properties): Mention it.
40990
40991         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
40992         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
40993         named alias for __attribute__((__unused__)).
40994         * lib/chown.c: Update client.
40995         * lib/fchmodat.c: Likewise.
40996         * lib/fts.c: Likewise.
40997         * lib/getdate.y: Likewise.
40998         * lib/getgroups.c: Likewise.
40999         * lib/getopt.c: Likewise.
41000         * lib/getugroups.c: Likewise.
41001         * lib/mkdir.c: Likewise.
41002         * lib/mkfifo.c: Likewise.
41003         * lib/mkfifoat.c: Likewise.
41004         * lib/mknod.c: Likewise.
41005         * lib/mknodat.c: Likewise.
41006         * lib/readlink.c: Likewise.
41007         * lib/se-context.in.h: Likewise.
41008         * lib/se-selinux.in.h: Likewise.
41009         * lib/sockets.c: Likewise.
41010         * lib/symlink.c: Likewise.
41011         * lib/symlinkat.c: Likewise.
41012         * lib/unicodeio.c: Likewise.
41013         * lib/unistr.h: Likewise.
41014         * tests/test-areadlink.c: Likewise.
41015         * tests/test-areadlinkat.c: Likewise.
41016         * tests/test-filenamecat.c: Likewise.
41017         * tests/test-fseeko.c: Likewise.
41018         * tests/test-ftello.c: Likewise.
41019         * tests/test-getdate.c: Likewise.
41020         * tests/test-getgroups.c: Likewise.
41021         * tests/test-gethostname.c: Likewise.
41022         * tests/test-quotearg.c: Likewise.
41023         * tests/test-version-etc.c: Likewise.
41024         * tests/test-xalloc-die.c: Likewise.
41025         * tests/test-xfprintf-posix.c: Likewise.
41026         * tests/test-xprintf-posix.c: Likewise.
41027         * tests/test-xvasprintf.c: Likewise.
41028
41029         tests: avoid compiler warnings
41030         * tests/test-fcntl.c (main): Delete unused parameters.
41031         * tests/test-freopen-safer.c (main): Likewise.
41032         * tests/test-xalloc-die.c (main): Mark unused parameters.
41033         * tests/test-fseeko.c (main): Likewise.
41034         * tests/test-ftello.c (main): Likewise.
41035         * tests/test-nanosleep.c (main): Avoid declaration warning.
41036         * tests/test-sleep.c (main): Likewise.
41037         * tests/test-unsetenv.c (main): Silence warning about string
41038         literal.
41039         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
41040
41041 2009-12-23  Bruno Haible  <bruno@clisp.org>
41042
41043         * tests/test-localename.c (test_locale_name): New function, extracted
41044         from main. Also test mixed situations.
41045         (test_locale_name_posix, test_locale_name_environ,
41046         test_locale_name_default): New functions.
41047         (main): Invoke them all.
41048         * modules/localename-tests (configure.ac): Test for newlocale.
41049
41050 2009-12-23  Bruno Haible  <bruno@clisp.org>
41051
41052         unistd: Ensure getcwd gets declared before being overridden.
41053         * lib/unistd.in.h: Conditionally include <io.h>.
41054
41055 2009-12-22  Bruno Haible  <bruno@clisp.org>
41056
41057         wchar: Diagnose broken combination of glibc and gcc versions and flags.
41058         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
41059         (gl_WCHAR_H): Invoke it.
41060         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
41061         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
41062         Reported by Karl Berry <karl@freefriends.org>.
41063
41064 2009-12-22  Eric Blake  <ebb9@byu.net>
41065
41066         math, unistd: avoid redundant includes
41067         * lib/math.in.h (isnan): No need to re-include <math.h>.
41068         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
41069
41070         getsubopt: work around cygwin bug
41071         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
41072         avoid conflicting with system getsubopt.
41073         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
41074         bug.
41075
41076         getopt: synchronize from glibc
41077         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
41078         parameter order.  Adjust all callers.
41079         (_getopt_internal_r, main): Adjust quoting in error messages.
41080         Drop considerations for outdated POSIX 1003.2 error message.
41081         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
41082         callers.
41083         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
41084
41085         test-getopt: test stderr behavior
41086         * modules/getopt-posix-tests (Depends-on): Add dup2.
41087         * tests/test-getopt.c (ASSERT): Avoid stderr.
41088         (main): Move stderr to a temporary file.
41089         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
41090         Instead, add parameter to inform caller if output occurred.
41091         (test_getopt): Adjust all existing tests to expect silence, and
41092         add new tests of leading ":".
41093         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41094         glibc shortcomings with leading "-:" or "+:" in optstring.
41095         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41096         Likewise.
41097         * doc/posix-functions/getopt.texi (getopt): Likewise.
41098
41099         test-getopt: enhance test
41100         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
41101         supports optind=0.
41102         * tests/test-getopt.c (OPTIND_MIN): Move...
41103         * tests/test-getopt.h (OPTIND_MIN): ...here.
41104         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
41105         Require that optind=0 works, since modern BSD supports it in
41106         addition to optreset, and since coreutils expects it.
41107         (test_getopt_long_only): New test.
41108         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41109         glibc shortcomings with 'W;', and enforcement of optind=0.
41110         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41111         Likewise.
41112
41113 2009-12-21  Bruno Haible  <bruno@clisp.org>
41114
41115         localename: Improvements for MacOS X and Cygwin.
41116         * lib/localename.h (gl_locale_name_environ): New declaration.
41117         * lib/localename.c (gl_locale_name_environ): New function, extracted from
41118         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
41119         (gl_locale_name_posix): Invoke it.
41120         (gl_locale_name_default): Add comments. Use Windows native API also on
41121         Cygwin.
41122
41123 2009-12-21  Bruno Haible  <bruno@clisp.org>
41124
41125         Update list of Win32 locale ids.
41126         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
41127         (LANG_SAMI): Renamed from LANG_SAAMI.
41128         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
41129         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
41130         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
41131         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
41132         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
41133         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
41134         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
41135         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
41136         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
41137         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
41138         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
41139         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
41140         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
41141         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
41142         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
41143         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
41144         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
41145         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
41146         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
41147         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
41148         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
41149         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
41150         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
41151         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
41152         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
41153         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
41154         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
41155         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
41156         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
41157         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
41158         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
41159         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
41160         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
41161         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
41162         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
41163         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
41164         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
41165         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
41166         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
41167         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
41168         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
41169         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
41170         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
41171         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
41172         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
41173         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
41174         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
41175         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
41176         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
41177         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
41178         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
41179         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
41180         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
41181         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
41182         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
41183         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
41184         Add more languages and countries for Sami, Sorbian. Add more countries
41185         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
41186         for Pashto. Change country for Syriac, Tswana.
41187
41188 2009-12-21  Eric Blake  <ebb9@byu.net>
41189
41190         test-utimens: avoid spurious failure
41191         * tests/test-chown.h (nap): Factor...
41192         * tests/nap.h: ...into new file.
41193         * tests/test-lchown.h (nap): Avoid duplication.
41194         * tests/test-utimens-common.h (nap): Use shared implementation,
41195         necessary on file systems with 1-second resolution.
41196         * modules/chown-tests (Files): Include new file.
41197         * modules/fdutimensat-tests (Files): Likewise.
41198         * modules/futimens-tests (Files): Likewise.
41199         * modules/lchown-tests (Files): Likewise.
41200         * modules/openat-tests (Files): Likewise.
41201         * modules/utimens-tests (Files): Likewise.
41202         * modules/utimensat-tests (Files): Likewise.
41203
41204 2009-12-19  Eric Blake  <ebb9@byu.net>
41205
41206         futimens, utimensat: work around Linux bug
41207         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
41208         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
41209         * lib/utimensat.c (rpl_utimensat): Work around it.
41210         * lib/futimens.c (rpl_futimens): Adjust comment.
41211
41212         utimens: work around Linux ctime bug
41213         * lib/utimens.c (detect_ctime_bug): New helper function.
41214         (update_timespec): Differentiate between workaround needed for
41215         this bug vs. what is needed for systems that lack utimensat.
41216         (fdutimens, lutimens): Work around bug.
41217
41218         utimens: check for ctime update
41219         * tests/test-utimens-common.h (check_ctime): Define.
41220         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
41221         * tests/test-futimens.h (test_futimens): Likewise.
41222         * tests/test-lutimens.h (test_lutimens): Likewise.
41223         * doc/posix-functions/futimens.texi (futimens): Document the bug.
41224         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41225
41226 2009-12-19  Bruno Haible  <bruno@clisp.org>
41227
41228         dprintf-posix: Check against memory leak fixed on 2009-12-15.
41229         * tests/test-dprintf-posix2.sh: New file.
41230         * tests/test-dprintf-posix2.c: New file.
41231         * modules/dprintf-posix-tests (Files): Add them.
41232         (configure.ac): Check for getrlimit and setrlimit.
41233         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41234
41235 2009-12-19  Bruno Haible  <bruno@clisp.org>
41236
41237         fprintf-posix: Check against memory leak fixed on 2009-12-15.
41238         * tests/test-fprintf-posix3.sh: New file.
41239         * tests/test-fprintf-posix3.c: New file.
41240         * modules/fprintf-posix-tests (Files): Add them.
41241         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41242
41243 2009-12-19  Eric Blake  <ebb9@byu.net>
41244
41245         dirfd: fix prototype
41246         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
41247         * lib/dirfd.c (dirfd): Likewise.
41248
41249         canonicalize: reduce memory usage
41250         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
41251         allocation to size.
41252         Reported by Solar Designer <solar@openwall.com>.
41253
41254 2009-12-19  Bruno Haible  <bruno@clisp.org>
41255
41256         New module attribute 'Applicability'.
41257         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
41258         * gnulib-tool: New option --extract-applicability.
41259         (func_usage): Document it.
41260         (sed_extract_prog): Recognize it.
41261         (func_get_applicability): New function.
41262         (func_import): Generalize handling of 'link-warning' module.
41263         * modules/link-warning (Applicability): New section.
41264         * modules/arg-nonnull (Applicability): New section.
41265         Repoted by Simon Josefsson <simon@josefsson.org>.
41266
41267 2009-12-19  Bruno Haible  <bruno@clisp.org>
41268
41269         fflush: tweak
41270         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
41271         * lib/fseeko.c (rpl_fseeko): Likewise.
41272
41273 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
41274
41275         * lib/gl_list.h: Fix typo in comment.
41276
41277 2009-12-16  Eric Blake  <ebb9@byu.net>
41278
41279         fcntl: use to simplify other modules
41280         * modules/cloexec (Depends-on): Add fcntl.
41281         * modules/fchdir (Depends-on): Likewise.
41282         * modules/fd-safer-flag (Depends-on): Likewise.
41283         * modules/unistd-safer (Depends-on): Likewise.
41284         * modules/dup3 (configure.ac): Set module indicator.
41285         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
41286         missing.
41287         * lib/fchdir.c (_gl_register_dup): Fix comment.
41288         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
41289         * lib/dup-safer.c (dup_safer): Likewise.
41290         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
41291         * lib/dup3.c (dup3): Likewise.
41292         * tests/test-fchdir.c (main): Enhance test.
41293         Fixes a dup_cloexec bug reported by OndÅ™ej Vašík.
41294
41295         fcntl: port portions of fcntl to mingw
41296         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
41297         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
41298         replacement for mingw.
41299         * modules/fcntl (Description): Update.
41300         (Depends-on): Add dup2.
41301         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
41302         * modules/fcntl-h (Makefile.am): Substitute it.
41303         * lib/fcntl.in.h (fcntl): Update declaration.
41304         (F_DUPFD, F_GETFD): New macros, when needed.
41305         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
41306         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
41307         * tests/test-fcntl.c (check_flags, main): Enhance test for items
41308         we now guarantee.
41309
41310         fcntl: work around cygwin bug in F_DUPFD
41311         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
41312         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
41313         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
41314         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
41315         * doc/posix-functions/fcntl.texi (fcntl): Document it.
41316
41317         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
41318         * modules/fcntl (Files): List new files.
41319         (configure.ac): Run a test.
41320         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
41321         * lib/fcntl.c (rpl_fcntl): Likewise.
41322         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
41323         (gl_FCNTL_H): Always replace fcntl.h.
41324         * modules/fcntl-h (Makefile.am): Substitute witnesses.
41325         * lib/fcntl.in.h (fcntl): Declare replacement.
41326         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
41327         needed, plus a witness.
41328         * doc/posix-functions/fcntl.texi (fcntl): Document this.
41329         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
41330         * tests/test-fcntl.c: New file.
41331         * modules/fcntl-tests: Likewise.
41332
41333         binary-io: avoid potential compilation warning
41334         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
41335         directives.
41336
41337         fflush: avoid compilation error on NetBSD
41338         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
41339         between off_t and fpos_t, since the latter is sometimes a struct.
41340         * lib/fseeko.c (rpl_fseeko): Likewise.
41341         Reported by Alexander Nasonov <alnsn@yandex.ru>.
41342
41343 2009-12-15  Eric Blake  <ebb9@byu.net>
41344
41345         fcntl-h, stdio, sys_ioctl: fix declarations
41346         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
41347         function must not take arguments.
41348         * lib/sys_ioctl.in.h (ioctl): Likewise.
41349         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
41350         (open): Add a link warning.
41351
41352 2009-12-15  Jim Meyering  <meyering@redhat.com>
41353
41354         areadlink, areadlink-with-size: relax license to LGPLv2+
41355         * modules/areadlink (License): Relax to LGPLv2+.
41356         * modules/areadlink-with-size (License): Likewise.
41357
41358 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
41359             Bruno Haible  <bruno@clisp.org>
41360
41361         *printf: Fix memory leak.
41362         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
41363         * lib/vfprintf.c (vfprintf): Likewise.
41364         * lib/dprintf.c (dprintf): Likewise.
41365         * lib/vdprintf.c (vdprintf): Likewise.
41366
41367 2009-12-14  Eric Blake  <ebb9@byu.net>
41368
41369         accept4: adjust module dependencies
41370         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
41371
41372         utimens: one more try at avoiding compiler warning
41373         * lib/utimens.c (lutimens): Lower scope of result.
41374
41375 2009-12-13  Bruno Haible  <bruno@clisp.org>
41376
41377         Move the malloc checking from module 'list' to new module 'xlist'.
41378         * modules/xlist: New file.
41379         * lib/gl_xlist.h: New file.
41380         * lib/gl_xlist.c: New file.
41381         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
41382         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
41383         gl_list_add_last, gl_list_add_before, gl_list_add_after,
41384         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
41385         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
41386         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
41387         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
41388         gl_sortedlist_nx_add): New declarations.
41389         (struct gl_list_implementation): Rename and change methods accordingly.
41390         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
41391         (gl_list_nx_create): Renamed from gl_list_create.
41392         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41393         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41394         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41395         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41396         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41397         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41398         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41399         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41400         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
41401         gl_list_create_empty.
41402         (gl_list_nx_create): Renamed from gl_list_create.
41403         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41404         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41405         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41406         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41407         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41408         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41409         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41410         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41411         * lib/gl_array_list.c: Don't include xalloc.h.
41412         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
41413         NULL upon out-of-memory.
41414         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
41415         out-of-memory.
41416         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
41417         Change return type to 'int'.
41418         (gl_array_nx_set_at): Renamed from gl_array_set_at.
41419         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41420         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
41421         upon out-of-memory.
41422         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
41423         upon out-of-memory.
41424         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
41425         upon out-of-memory.
41426         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
41427         upon out-of-memory.
41428         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
41429         out-of-memory.
41430         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
41431         Update.
41432         (gl_array_list_implementation): Update.
41433         * lib/gl_carray_list.c: Don't include xalloc.h.
41434         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
41435         Return NULL upon out-of-memory.
41436         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
41437         out-of-memory.
41438         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
41439         Change return type to 'int'.
41440         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
41441         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41442         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
41443         upon out-of-memory.
41444         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
41445         upon out-of-memory.
41446         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
41447         out-of-memory.
41448         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
41449         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
41450         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
41451         Update.
41452         (gl_carray_list_implementation): Update.
41453         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
41454         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
41455         gl_linked_create_empty. Return NULL upon out-of-memory.
41456         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
41457         out-of-memory.
41458         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
41459         Change return type to 'int'. Return -1 upon out-of-memory.
41460         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
41461         out-of-memory.
41462         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
41463         upon out-of-memory.
41464         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
41465         upon out-of-memory.
41466         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
41467         NULL upon out-of-memory.
41468         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
41469         upon out-of-memory.
41470         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
41471         out-of-memory.
41472         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
41473         Update.
41474         * lib/gl_linked_list.c: Don't include xalloc.h.
41475         (gl_linked_list_implementation): Update.
41476         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
41477         (add_to_bucket): Change return type to 'int'.
41478         (gl_linkedhash_list_implementation): Update.
41479         * lib/gl_anytree_list1.h (free_subtree): New function.
41480         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
41481         gl_tree_create_empty. Return NULL upon out-of-memory.
41482         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
41483         Change return type to 'int'. Return -1 upon out-of-memory.
41484         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
41485         out-of-memory.
41486         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
41487         (gl_tree_remove_node): New function, moved here from
41488         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
41489         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
41490         Update.
41491         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
41492         malloc, 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_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
41507         not xmalloc. Return NULL upon out-of-memory.
41508         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41509         out-of-memory.
41510         (gl_tree_remove_node_from_tree): New function, extracted from
41511         gl_tree_remove_node.
41512         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41513         upon out-of-memory.
41514         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41515         out-of-memory.
41516         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41517         upon out-of-memory.
41518         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41519         upon out-of-memory.
41520         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41521         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
41522         gl_anytree_list1.h before gl_anyavltree_list2.h.
41523         (gl_avltree_list_implementation): Update.
41524         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
41525         gl_anytree_list1.h before gl_anyavltree_list2.h.
41526         (gl_rbtree_list_implementation): Update.
41527         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
41528         Change return type to 'int'. Return -1 upon out-of-memory. Use
41529         __builtin_expect.
41530         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
41531         (gl_avltreehash_list_implementation): Update.
41532         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
41533         (gl_rbtreehash_list_implementation): Update.
41534         * modules/array-list (Depends-on): Remove xalloc.
41535         * modules/carray-list (Depends-on): Likewise.
41536         * modules/linked-list (Depends-on): Likewise.
41537         * modules/linkedhash-list (Depends-on): Likewise.
41538         * modules/avltree-list (Depends-on): Likewise.
41539         * modules/rbtree-list (Depends-on): Likewise.
41540         * modules/avltreehash-list (Depends-on): Likewise.
41541         * modules/rbtreehash-list (Depends-on): Likewise.
41542
41543         * modules/xsublist: New file.
41544         * lib/gl_xsublist.h: New file.
41545         * lib/gl_xsublist.c: New file.
41546         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
41547         (gl_sublist_nx_create): New declaration.
41548         * lib/gl_sublist.c: Don't include xalloc.h.
41549         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
41550         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
41551         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
41552         Change return type to 'int'. Return -1 upon out-of-memory.
41553         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
41554         upon out-of-memory.
41555         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
41556         NULL upon out-of-memory.
41557         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
41558         upon out-of-memory.
41559         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
41560         NULL upon out-of-memory.
41561         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
41562         NULL upon out-of-memory.
41563         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
41564         upon out-of-memory.
41565         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
41566         (gl_sublist_list_implementation): Update.
41567         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
41568         upon out-of-memory.
41569         * modules/sublist (Depends-on): Remove xalloc.
41570
41571         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
41572         * tests/test-carray_list.c: Likewise.
41573         * tests/test-linked_list.c: Likewise.
41574         * tests/test-linkedhash_list.c: Likewise.
41575         * tests/test-avltree_list.c: Likewise.
41576         * tests/test-rbtree_list.c: Likewise.
41577         * tests/test-avltreehash_list.c: Likewise.
41578         * tests/test-rbtreehash_list.c: Likewise.
41579         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
41580         * modules/carray-list-tests (Makefile.am): Likewise.
41581         * modules/linked-list-tests (Makefile.am): Likewise.
41582         * modules/linkedhash-list-tests (Makefile.am): Likewise.
41583         * modules/avltree-list-tests (Makefile.am): Likewise.
41584         * modules/rbtree-list-tests (Makefile.am): Likewise.
41585         * modules/avltreehash-list-tests (Makefile.am): Likewise.
41586         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
41587
41588         * NEWS: Mention the changes.
41589
41590         * lib/clean-temp.c: Include gl_xlist.h.
41591         * modules/clean-temp (Depends-on): Add xlist.
41592
41593         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
41594         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
41595
41596         * tests/test-array_oset.c: Include gl_xlist.h.
41597         * modules/array-oset-tests (Depends-on): Add xlist.
41598
41599         Reported by José E. Marchesi <jemarch@gnu.org>.
41600
41601 2009-12-13  Bruno Haible  <bruno@clisp.org>
41602
41603         Move the malloc checking from module 'oset' to new module 'xoset'.
41604         * modules/xoset: New file.
41605         * lib/gl_xoset.h: New file.
41606         * lib/gl_xoset.c: New file.
41607         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
41608         declarations.
41609         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
41610         (struct gl_oset_implementation): Rename and change methods accordingly.
41611         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
41612         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41613         'int'. Mark as __warn_unused_result__.
41614         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
41615         gl_oset_create_empty.
41616         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41617         'int'.
41618         * lib/gl_array_oset.c: Don't include xalloc.h.
41619         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
41620         malloc, not xmalloc.
41621         (grow): Change return type to 'int'. Don't call xalloc_die.
41622         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
41623         to 'int'.
41624         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
41625         'int'.
41626         (gl_array_oset_implementation): Update.
41627         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
41628         gl_tree_create_empty.
41629         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
41630         'int'.
41631         * lib/gl_avltree_oset.c: Don't include xalloc.h.
41632         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41633         xmalloc.
41634         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41635         not xmalloc.
41636         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41637         xmalloc.
41638         (gl_avltree_oset_implementation): Update.
41639         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
41640         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41641         xmalloc.
41642         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41643         not xmalloc.
41644         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41645         xmalloc.
41646         (gl_rbtree_oset_implementation): Update.
41647         * modules/array-oset (Depends-on): Remove xalloc.
41648         * modules/avltree-oset (Depends-on): Likewise.
41649         * modules/rbtree-oset (Depends-on): Likewise.
41650         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
41651         * tests/test-avltree_oset.c: Likewise.
41652         * tests/test-rbtree_oset.c: Likewise.
41653         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
41654         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
41655         * modules/rbtree-oset-tests (Makefile.am): Likewise.
41656         * NEWS: Mention the change.
41657
41658 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
41659
41660         maint.mk: allow a project to override release-prep commands
41661         * top/maint.mk (alpha, beta, stable): Move release-preparatory
41662         commands into a new rule.
41663         (release-prep): New rule.
41664         (release-prep-hook): New overridable variable.
41665
41666 2009-12-13  Bruno Haible  <bruno@clisp.org>
41667
41668         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
41669
41670 2009-12-13  Jim Meyering  <meyering@redhat.com>
41671
41672         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
41673         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
41674
41675 2009-12-12  Bruno Haible  <bruno@clisp.org>
41676
41677         duplocale: Tweak.
41678         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
41679
41680 2009-12-12  Karl Berry  <karl@gnu.org>
41681
41682         * config/srclist.txt (strtoll.c): tab changes, no more sync.
41683
41684 2009-12-12  Bruno Haible  <bruno@clisp.org>
41685
41686         * m4/po.m4: Undo incorrect untabification.
41687
41688 2009-12-12  Bruno Haible  <bruno@clisp.org>
41689
41690         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
41691         * modules/c-strtod (Depends-on): Add locale.
41692         * modules/c-strtold (Depends-on): Likewise.
41693
41694 2009-12-12  Bruno Haible  <bruno@clisp.org>
41695
41696         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
41697
41698 2009-12-11  Eric Blake  <ebb9@byu.net>
41699
41700         setenv: relax requirement in light of POSIX ruling
41701         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
41702         not NULL.
41703         * tests/test-setenv.c (main): Relax test.
41704         * tests/test-unsetenv.c (main): Likewise.
41705         * doc/posix-functions/setenv.texi (setenv): Document this.
41706         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
41707
41708 2009-12-11  Bruno Haible  <bruno@clisp.org>
41709
41710         New module 'fd-safer-flag'.
41711         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
41712         * lib/dup-safer.c (dup_safer_flag): Remove function.
41713         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
41714         * lib/fd-safer.c (fd_safer_flag): Remove function.
41715         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
41716         * modules/cloexec (configure.ac): Drop indicator macro.
41717         * modules/fd-safer-flag: New file.
41718         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
41719         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
41720         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
41721
41722 2009-12-11  Bruno Haible  <bruno@clisp.org>
41723
41724         Tests for module 'nl_langinfo'.
41725         * modules/nl_langinfo-tests: New file.
41726         * tests/test-nl_langinfo.sh: New file.
41727         * tests/test-nl_langinfo.c: New file.
41728
41729         New module 'nl_langinfo'.
41730         * lib/nl_langinfo.c: New file.
41731         * m4/nl_langinfo.m4: New file.
41732         * modules/nl_langinfo: New file.
41733         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
41734
41735 2009-12-11  Bruno Haible  <bruno@clisp.org>
41736
41737         Tests for module 'langinfo'.
41738         * modules/langinfo-tests: New file.
41739         * tests/test-langinfo.c: New file.
41740
41741         New module 'langinfo'.
41742         * lib/langinfo.in.h: New file.
41743         * m4/langinfo_h.m4: New file.
41744         * modules/langinfo: New file.
41745         * doc/posix-headers/langinfo.texi: Mention the new module.
41746
41747 2009-12-11  Bruno Haible  <bruno@clisp.org>
41748
41749         * lib/config.charset: Untabify.
41750
41751 2009-12-11  Bruno Haible  <bruno@clisp.org>
41752
41753         * modules/unistd-safer (configure.ac): Drop indicator macro.
41754
41755 2009-12-11  Bruno Haible  <bruno@clisp.org>
41756
41757         Move pipe2-safer code to its own file.
41758         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
41759         * lib/pipe-safer.c (pipe2_safer): Remove function.
41760         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
41761         (Makefile.am): Add it to lib_SOURCES.
41762
41763 2009-12-10  Bruno Haible  <bruno@clisp.org>
41764
41765         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
41766
41767 2009-12-10  Bruno Haible  <bruno@clisp.org>
41768
41769         Declare which arguments expect non-NULL values, for GCC and clang.
41770         * build-aux/arg-nonnull.h: New file.
41771         * modules/arg-nonnull: New file.
41772         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
41773         (inet_ntop, inet_pton): Use it.
41774         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
41775         (closedir, dirfd, opendir, scandir, alphasort): Use it.
41776         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
41777         (open, openat): Use it.
41778         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
41779         (fnmatch): Use it.
41780         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
41781         (getopt, getopt_long, getopt_long_only): Use it.
41782         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
41783         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
41784         Use it.
41785         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
41786         (iconv_open): Use it.
41787         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
41788         (strtoimax, strtoumax): Use it.
41789         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
41790         (duplocale): Use it.
41791         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
41792         (frexp, frexpl): Use it.
41793         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
41794         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
41795         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
41796         (tsearch, tfind, tdelete, twalk): Use it.
41797         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
41798         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
41799         sigpending): Use it.
41800         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
41801         (posix_spawn, posix_spawnp, posix_spawnattr_init,
41802         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
41803         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
41804         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
41805         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
41806         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
41807         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
41808         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
41809         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
41810         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
41811         Use it.
41812         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
41813         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
41814         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
41815         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
41816         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
41817         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
41818         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
41819         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
41820         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
41821         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
41822         strtoull, unsetenv): Use it.
41823         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
41824         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
41825         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
41826         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
41827         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
41828         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
41829         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
41830         (strcasecmp, strncasecmp): Use it.
41831         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
41832         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
41833         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
41834         rpl_setsockopt): Use it.
41835         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
41836         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
41837         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
41838         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
41839         (gettimeofday): Use it.
41840         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
41841         (times): Use it.
41842         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
41843         (uname): Use it.
41844         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
41845         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
41846         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
41847         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
41848         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
41849         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
41850         unlinkat, write): Use it.
41851         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
41852         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
41853         * lib/argv-iter.h: Include arg-nonnull.h.
41854         (_ATTRIBUTE_NONNULL_): Remove macro.
41855         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
41856         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
41857         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
41858         optimization.
41859         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
41860         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
41861         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
41862         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
41863         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
41864         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
41865         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
41866         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
41867         * modules/arpa_inet (Depends-on): Add arg-nonnull.
41868         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
41869         * modules/dirent (Depends-on): Add arg-nonnull.
41870         (Makefile.am): Insert arg-nonnull.h into dirent.h.
41871         * modules/fcntl-h (Depends-on): Add arg-nonnull.
41872         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
41873         * modules/fnmatch (Depends-on): Add arg-nonnull.
41874         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
41875         * modules/getopt-posix (Depends-on): Add arg-nonnull.
41876         (Makefile.am): Insert arg-nonnull.h into getopt.h.
41877         * modules/glob (Depends-on): Add arg-nonnull.
41878         (Makefile.am): Insert arg-nonnull.h into glob.h.
41879         * modules/iconv_open (Depends-on): Add arg-nonnull.
41880         (Makefile.am): Insert arg-nonnull.h into iconv.h.
41881         * modules/inttypes (Depends-on): Add arg-nonnull.
41882         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
41883         * modules/locale (Depends-on): Add arg-nonnull.
41884         (Makefile.am): Insert arg-nonnull.h into locale.h.
41885         * modules/math (Depends-on): Add arg-nonnull.
41886         (Makefile.am): Insert arg-nonnull.h into math.h.
41887         * modules/netdb (Depends-on): Add arg-nonnull.
41888         (Makefile.am): Insert arg-nonnull.h into netdb.h.
41889         * modules/search (Depends-on): Add arg-nonnull.
41890         (Makefile.am): Insert arg-nonnull.h into search.h.
41891         * modules/signal (Depends-on): Add arg-nonnull.
41892         (Makefile.am): Insert arg-nonnull.h into signal.h.
41893         * modules/spawn (Depends-on): Add arg-nonnull.
41894         (Makefile.am): Insert arg-nonnull.h into spawn.h.
41895         * modules/stdio (Depends-on): Add arg-nonnull.
41896         (Makefile.am): Insert arg-nonnull.h into stdio.h.
41897         * modules/stdlib (Depends-on): Add arg-nonnull.
41898         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
41899         * modules/string (Depends-on): Add arg-nonnull.
41900         (Makefile.am): Insert arg-nonnull.h into string.h.
41901         * modules/strings (Depends-on): Add arg-nonnull.
41902         (Makefile.am): Insert arg-nonnull.h into strings.h.
41903         * modules/sys_socket (Depends-on): Add arg-nonnull.
41904         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
41905         * modules/sys_stat (Depends-on): Add arg-nonnull.
41906         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
41907         * modules/sys_time (Depends-on): Add arg-nonnull.
41908         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
41909         * modules/sys_times (Depends-on): Add arg-nonnull.
41910         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
41911         * modules/sys_utsname (Depends-on): Add arg-nonnull.
41912         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
41913         * modules/time (Depends-on): Add arg-nonnull.
41914         (Makefile.am): Insert arg-nonnull.h into time.h.
41915         * modules/unistd (Depends-on): Add arg-nonnull.
41916         (Makefile.am): Insert arg-nonnull.h into unistd.h.
41917         * modules/wchar (Depends-on): Add arg-nonnull.
41918         (Makefile.am): Insert arg-nonnull.h into wchar.h.
41919         * modules/argv-iter (Depends-on): Add arg-nonnull.
41920         * tests/test-canonicalize.c (null_ptr): New function.
41921         (main): Use it.
41922         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
41923         (main): Use it.
41924         * tests/test-memmem.c (null_ptr): New function.
41925         (main): Use it.
41926         Reported by Jim Meyering.
41927
41928 2009-12-10  Bruno Haible  <bruno@clisp.org>
41929
41930         Use spaces for indentation, not tabs.
41931         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
41932         * m4/*.m4: Untabify.
41933         * build-aux/*.h: Untabify.
41934         * tests/**/*.[hc]: Untabify.
41935         * README: New section "Indent with spaces, not TABs", based on
41936         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
41937         * NEWS: Mention the change.
41938
41939 2009-12-10  Bruno Haible  <bruno@clisp.org>
41940
41941         pty test: Fix link error.
41942         * modules/pty-tests (Makefile.am): Add the default LDADD value to
41943         test_pty_LDADD.
41944
41945 2009-12-07  Simon Josefsson  <simon@josefsson.org>
41946
41947         * modules/pty: New file.
41948         * modules/pty-tests: New file.
41949         * m4/pty.m4: New file.
41950         * tests/test-pty.c: New file.
41951         * doc/glibc-headers/pty.texi: Modified.
41952         * doc/glibc-functions/forkpty.texi: Modified.
41953         * doc/glibc-functions/openpty.texi: Modified.
41954
41955 2009-12-10  Bruno Haible  <bruno@clisp.org>
41956
41957         Avoid syntax error in C++ mode.
41958         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
41959
41960 2009-12-10  Bruno Haible  <bruno@clisp.org>
41961
41962         Use sed with option -e.
41963         * gnulib-tool (func_version, func_emit_copyright_notice,
41964         func_emit_initmacro_end, func_import, func_create_testdir): Pass
41965         option -e to sed.
41966         * modules/link-warning (Makefile.am): Likewise.
41967
41968 2009-12-10  Jim Meyering  <meyering@redhat.com>
41969
41970         mgetgroups: do not write bytes beyond end of malloc'd buffer
41971         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
41972         username, we call getgroups with a one-element-shorter buffer,
41973         but still told it the length was original, max_n_groups.
41974
41975 2009-12-09  Eric Blake  <ebb9@byu.net>
41976
41977         cloexec: relax license
41978         * modules/cloexec (Maintainer): Add myself.
41979         (License): Use LGPL, not GPL.
41980
41981         link-warning: optimize generation
41982         * modules/link-warning (Makefile.am): Reduce process usage.
41983
41984 2009-12-09  Bruno Haible  <bruno@clisp.org>
41985
41986         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
41987         workaround was added on 2009-11-17.
41988
41989 2009-12-09  Jim Meyering  <meyering@redhat.com>
41990             Bruno Haible  <bruno@clisp.org>
41991
41992         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
41993         * modules/link-warning (Makefile.am): Make the comment-removing sed
41994         command more robust in the face of bootstrap-prepended comment lines.
41995
41996 2009-12-09  Bruno Haible  <bruno@clisp.org>
41997
41998         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
41999         most one group.
42000
42001 2009-12-09  Simon Josefsson <simon@josefsson.org>
42002             Bruno Haible  <bruno@clisp.org>
42003
42004         * build-aux/link-warning.h: Add copyright notice.
42005         * modules/link-warning (Makefile.am): Generate link-warning.h from
42006         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
42007         * NEWS: Mention change in link-warning module.
42008         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
42009         * modules/dirent (Makefile.am): Add dependency to dirent.h.
42010         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
42011         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
42012         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
42013         * modules/math (Makefile.am): Add dependency to math.h.
42014         * modules/search (Makefile.am): Add dependency to search.h.
42015         * modules/signal (Makefile.am): Add dependency to signal.h.
42016         * modules/spawn (Makefile.am): Add dependency to spawn.h.
42017         * modules/stdio (Makefile.am): Add dependency to stdio.h.
42018         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
42019         * modules/string (Makefile.am): Add dependency to string.h.
42020         * modules/strings (Makefile.am): Add dependency to strings.h.
42021         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
42022         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
42023         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
42024         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
42025         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
42026         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
42027         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
42028         * modules/unistd (Makefile.am): Add dependency to unistd.h.
42029         * modules/wchar (Makefile.am): Add dependency to wchar.h.
42030
42031 2009-12-09  Bruno Haible  <bruno@clisp.org>
42032
42033         fchdir: Optimize away rpl_fstat when possible.
42034         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
42035         REPLACE_OPEN_DIRECTORY.
42036         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
42037
42038 2009-12-09  Bruno Haible  <bruno@clisp.org>
42039
42040         * lib/fchdir.c: Update comment.
42041
42042 2009-12-09  Bruno Haible  <bruno@clisp.org>
42043
42044         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
42045
42046 2009-12-08  Eric Blake  <ebb9@byu.net>
42047
42048         fchdir: avoid memory leak on re-registration.
42049         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
42050
42051 2009-12-08  Jim Meyering  <meyering@redhat.com>
42052
42053         init.sh: avoid Solaris 10 /bin/sh portability problem
42054         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
42055         sourced script:
42056           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
42057           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
42058           bar
42059         tests/init.sh relied on that, accepting a --set-path=DIR argument,
42060         and two tests used that idiom.
42061         * tests/init.sh: Update suggested usage comments.
42062         (path_prepend_): New function, to be used in place
42063         of the --src-path=DIR option.
42064         (setup_): Move PATH-prepending code into path_prepend_.
42065         * tests/test-pread.sh: Adapt to new usage.
42066         * tests/test-xalloc-die.sh: Likewise.
42067
42068 2009-12-08  Simon Josefsson  <simon@josefsson.org>
42069
42070         * doc/gnulib.texi (Glibc pty.h): Add.
42071         * doc/glibc-functions/forkpty.texi: Add.
42072         * doc/glibc-functions/openpty.texi: Add.
42073         Suggested by Bruno Haible.
42074
42075 2009-12-08  Eric Blake  <ebb9@byu.net>
42076
42077         fchdir: fix logic bugs
42078         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
42079         * tests/test-fchdir.c (main): Enhance test.
42080         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
42081         is in use.
42082
42083         dup2: fix logic bugs
42084         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
42085         REPLACE_DUP2 to decide when rpl_dup2 is needed.
42086         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
42087         exists.
42088         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
42089
42090 2009-12-07  Eric Blake  <ebb9@byu.net>
42091
42092         unlink: fix m4 detection
42093         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
42094
42095         unistd-safer: add unit test
42096         * modules/unistd-safer-tests: New file.
42097         * tests/test-dup-safer.c: Likewise.
42098         * tests/test-cloexec.c (setmode): Avoid compiler warning.
42099         * tests/test-dup2.c (setmode): Likewise.
42100         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
42101
42102         cloexec: preserve text vs. binary across dup_cloexec
42103         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
42104         mode.
42105         * modules/dup2-tests (Depends-on): Add binary-io.
42106         * modules/cloexec-tests (Depends-on): Likewise.
42107         * tests/test-dup2.c (setmode, is_mode): New helpers.
42108         (main): Add tests that translation mode is preserved.
42109         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
42110         Reported by Bruno Haible.
42111
42112         mgetgroups: reduce duplicate listings
42113         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
42114         resulting array.
42115         * tests/test-chown.h (test_chown): Simplify client.
42116         * tests/test-lchown.h (test_lchown): Likewise.
42117
42118 2009-12-06  Bruno Haible  <bruno@clisp.org>
42119
42120         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
42121         value.
42122
42123 2009-12-06  Bruno Haible  <bruno@clisp.org>
42124
42125         * lib/progname.c: Include stdio.h, stdlib.h.
42126         (set_program_name): Reject a NULL argument.
42127
42128 2009-12-05  Eric Blake  <ebb9@byu.net>
42129
42130         pipe2-safer: new module
42131         * modules/pipe2-safer: New file.
42132         * lib/unistd-safer.h (pipe2_safer): New prototype.
42133         * lib/unistd--.h (pipe2): New wrapper.
42134         * lib/pipe-safer.c (pipe2_safer): New function.
42135         * modules/pipe (Depends-on): Add pipe2-safer.
42136         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
42137
42138         stdlib-safer: preserve cloexec flag for mkostemp[s]
42139         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
42140         fd_safer_flag.
42141
42142         unistd-safer: allow preservation of cloexec status via flag
42143         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
42144         prototypes.
42145         * lib/dup-safer.c (dup_safer_flag): New function.
42146         * lib/fd-safer.c (fd_safer_flag): Likewise.
42147         * modules/cloexec (configure.ac): Set witness.
42148
42149         test-dup2: enhance test
42150         * modules/dup2-tests (Depends-on): Add cloexec.
42151         * tests/test-dup2.c (main): Enhance test.
42152
42153         cloexec: add dup_cloexec
42154         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
42155         header and comments.
42156         * lib/cloexec.c (set_cloexec_flag): Add comments.
42157         (dup_cloexec): New function, with mingw implementation borrowed
42158         from...
42159         * lib/w32spawn.h (dup_noinherit): ...here.
42160         * modules/execute (Depends-on): Add cloexec.
42161         * modules/pipe (Depends-on): Likewise.
42162         * modules/cloexec (Depends-on): Add dup2.
42163         * modules/cloexec-tests (Files): New file.
42164         * tests/test-cloexec.c: Likewise.
42165
42166         test-xalloc-die: fix test for mingw
42167         * modules/xalloc-die-tests (Files): Add tests/init.sh.
42168         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
42169         directory and .exe suffix off argv[0] output.
42170
42171         test-fseeko: fix test for mingw
42172         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
42173         than undefining fseek, so test will pass on mingw.
42174
42175 2009-12-05  Bruno Haible  <bruno@clisp.org>
42176
42177         * lib/progname.h (set_program_name): Clarify specification.
42178         * lib/progname.c (set_program_name): Likewise.
42179         Reported by Jim Meyering.
42180
42181 2009-12-05  Jim Meyering  <meyering@redhat.com>
42182
42183         maint.mk: backslash-escape parens in default regexp
42184         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
42185         backslash-escape the literal parentheses.
42186
42187         maint.mk: news-date-check: use grep -E
42188         * top/maint.mk (today): Define a Make variable, not a...
42189         (news-date-check): ...shell variable.
42190         (news-date-regexp): Use the Make variable.
42191         Use grep's -E option.  Change the failing diagnostic to mention
42192         the variable, $(news-date-regexp).
42193
42194 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
42195
42196         maintainer-makefile: allow customization of NEWS entry format
42197         * top/maint.mk (news-date-regexp): New overridable variable.
42198         (news-date-check): Use it.
42199
42200 2009-12-04  Eric Blake  <ebb9@byu.net>
42201
42202         mgetgroups: add xgetgroups, and avoid ENOSYS failures
42203         * lib/mgetgroups.h (xgetgroups): New prototype.
42204         * lib/mgetgroups.c (xgetgroups): New wrapper.
42205         (mgetgroups): Handle ENOSYS.
42206         * modules/mgetgroups (Depends-on): Add realloc.
42207         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
42208
42209         mgetgroups: avoid argument promotion issues with -1
42210         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
42211         for invalid gid_t.
42212         * tests/test-chown.h (getegid, test_chown): Likewise.
42213         * tests/test-lchown.h (getegid, test_lchown): Likewise.
42214
42215 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
42216
42217         exclude: Fix header file problems.
42218         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
42219
42220 2009-12-01  Jim Meyering  <meyering@redhat.com>
42221
42222         fts: fts_open: do not let an empty string cause immediate failure
42223         This is required in support of GNU rm, for which the command
42224         "rm A '' B" must process and remove both A and B, in spite of
42225         the empty string argument.
42226         * lib/fts.c (fts_open): Do not let the presence of an empty string
42227         cause fts_open to fail immediately.  Most fts-using tools must be
42228         able to process all arguments, in order, and can be expected to
42229         diagnose such arguments themselves.
42230
42231 2009-11-30  Eric Blake  <ebb9@byu.net>
42232
42233         utimens: fix compilation error
42234         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
42235         Declare variable at right scope.
42236
42237 2009-11-29  Jim Meyering  <meyering@redhat.com>
42238
42239         bootstrap: handle perl-5.11's changed --version output
42240         * build-aux/bootstrap (get_version): Handle perl separately,
42241         since perl-5.11's --version output is different.
42242
42243 2009-11-28  Jim Meyering  <meyering@redhat.com>
42244
42245         userspec: depend on the inttostr module, too
42246         * modules/userspec (Depends-on): Add inttostr.
42247
42248         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
42249         * lib/userspec.c (parse_with_separator): Do not accept a user ID
42250         number of MAXUID when it evaluates to (uid_t) -1.
42251         Likewise for group ID.  Reported by Matt McCutchen in
42252         <http://savannah.gnu.org/bugs/?28113>
42253
42254         userspec: reformat to use spaces, not TABs
42255         * lib/userspec.c: Expand TABs to spaces.
42256         Add Emacs' "indent-tabs-mode: nil" hint.
42257
42258 2009-11-27  Eric Blake  <ebb9@byu.net>
42259
42260         getopt-gnu: flush out another BSD bug
42261         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
42262         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
42263         flush out BSD bug.
42264         * tests/test-getopt.h (test_getopt): End lists with NULL.
42265         * tests/test-getopt_long.h (test_getopt_long): Likewise.
42266         (test_getopt_long_posix): Enhance test.
42267         * modules/getopt-posix-tests (Depends-on): Add stdbool.
42268         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
42269         getopt-gnu.
42270         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
42271         Likewise.
42272
42273 2009-11-27  Simon Josefsson  <simon@josefsson.org>
42274
42275         * modules/idpriv-droptemp-tests (Notice): Fix text.
42276
42277 2009-11-27  Jim Meyering  <meyering@redhat.com>
42278
42279         test-xalloc-die: avoid spurious failure due to libtool argv difference
42280         In a libtool-enabled project, this test would fail due to a difference
42281         in the emitted program name, e.g.,
42282         -test-xalloc-die: memory exhausted
42283         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
42284         Use program to avoid that.
42285         * modules/xalloc-die-tests (Depends-on): Add progname.
42286         * tests/test-xalloc-die.c: Include progname.h".
42287         (program_name): Remove decl.
42288         (main): Call set_program_name.
42289         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
42290
42291 2009-11-26  Richard Jones  <rjones@redhat.com>
42292
42293         w32sock: leave win32 error in place.
42294         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
42295
42296 2009-11-26  Eric Blake  <ebb9@byu.net>
42297
42298         init.sh: suggest to use skip_ and fail_ functions in comments
42299         * tests/init.sh: Add a sentence.
42300
42301 2009-11-25  Bruno Haible  <bruno@clisp.org>
42302
42303         init.sh: add documentation in comments
42304         * tests/init.sh: Add some developer and user documentation.
42305
42306 2009-11-26  Jim Meyering  <meyering@redhat.com>
42307
42308         init.sh: accommodate even those who specify bogus srcdir manually
42309         * tests/init.sh: Normally, srcdir is guaranteed by automake and
42310         configure-time tests to be sanitized, so that there is no need to
42311         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
42312         (with no double quotes) suffices.  However, since tests may be
42313         invoked manually, and since you may explicitly set srcdir to the
42314         name of a directory containing spaces, do quote its uses here.
42315         * tests/test-pread.sh: Likewise.
42316         Suggested by Bruno Haible.
42317
42318         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
42319         * tests/test-pread.sh: Write no data into the pipe, because
42320         test-pread actually reads none.  This avoids a diagnostic,
42321         "bash: echo: write error: Broken pipe", that arises in the unusual
42322         event something is ignoring SIGPIPE, and might be interpreted
42323         as some sort of failure.  Reported by Bruno Haible.
42324
42325 2009-11-25  Jim Meyering  <meyering@redhat.com>
42326
42327         test-pread: cover failure with ESPIPE and EINVAL
42328         * tests/test-pread.c (main): Test for failure, too.
42329         * tests/test-pread.sh: Invoke with stdin on a pipe.
42330         Suggested by Eric Blake.
42331
42332         pread: improvement and fix
42333         * modules/pread (Depends-on): Depend on lseek, for portability to
42334         e.g., mingw.  Suggested by Eric Blake.
42335         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
42336
42337         unistd.in.h: correct declaration of pread
42338         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
42339         Reported by Richard W.M. Jones.
42340
42341         test-pread.sh: distribute the test script
42342         * modules/pread-tests (Files): Include test-pread.sh.
42343
42344         test-pread.sh: clean up
42345         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
42346         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
42347         That is unnecessary, since it's always ".".
42348         Suggestion from Eric Blake.
42349
42350         test-pread.sh: make executable
42351         * tests/test-pread.sh: Set executable bit.
42352         Reported by Eric Blake.
42353
42354         correct typo in test-pread.sh
42355         * tests/test-pread.sh: Add #! line.
42356
42357         test pread
42358         * tests/test-pread.c: New file.
42359         * tests/test-pread.sh: Likewise.
42360         * modules/pread-tests: Likewise.
42361
42362         pread: new module
42363         * modules/pread: New file.
42364         * lib/unistd.in.h (pread): Define/declare.
42365         * lib/pread.c (pread): New file.
42366         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
42367         * modules/unistd (Makefile.am): Substitute witnesses.
42368         * doc/posix-functions/pread.texi (pread): Update.
42369         * MODULES.html.sh: Add pread.
42370
42371 2009-11-25  Jim Meyering  <meyering@redhat.com>
42372
42373         tests/init.sh: new file to be used via most *.sh tests
42374         * tests/init.sh: New file.
42375
42376 2009-11-25  Eric Blake  <ebb9@byu.net>
42377
42378         utimens: work around older Linux failure with symlinks
42379         * lib/utimens.c (lutimensat_works_really): New variable.
42380         (fdutimens, lutimens): Use it to manage kernels that support
42381         nanosecond times on files, but not on symlinks.
42382         Reported by OndÅ™ej Vašík.
42383
42384         utimes: fix configure grammar
42385         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
42386
42387 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
42388
42389         regex: Fix fastmap for multibyte character ranges.
42390         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
42391         characters when a multibyte character range is included.
42392
42393 2009-11-22  Andy Wingo  <wingo@pobox.com>
42394
42395         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
42396         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
42397
42398 2009-11-24  Bruno Haible  <bruno@clisp.org>
42399
42400         doc: Most *_l functions exist in MacOS X 10.5.
42401         * doc/posix-functions/duplocale.texi: Update platforms list.
42402         * doc/posix-functions/freelocale.texi: Likewise.
42403         * doc/posix-functions/newlocale.texi: Likewise.
42404         * doc/posix-functions/uselocale.texi: Likewise.
42405         * doc/posix-functions/isalnum_l.texi: Likewise.
42406         * doc/posix-functions/isalpha_l.texi: Likewise.
42407         * doc/posix-functions/isblank_l.texi: Likewise.
42408         * doc/posix-functions/iscntrl_l.texi: Likewise.
42409         * doc/posix-functions/isdigit_l.texi: Likewise.
42410         * doc/posix-functions/isgraph_l.texi: Likewise.
42411         * doc/posix-functions/islower_l.texi: Likewise.
42412         * doc/posix-functions/isprint_l.texi: Likewise.
42413         * doc/posix-functions/ispunct_l.texi: Likewise.
42414         * doc/posix-functions/isspace_l.texi: Likewise.
42415         * doc/posix-functions/isupper_l.texi: Likewise.
42416         * doc/posix-functions/iswalnum_l.texi: Likewise.
42417         * doc/posix-functions/iswalpha_l.texi: Likewise.
42418         * doc/posix-functions/iswblank_l.texi: Likewise.
42419         * doc/posix-functions/iswcntrl_l.texi: Likewise.
42420         * doc/posix-functions/iswctype_l.texi: Likewise.
42421         * doc/posix-functions/iswdigit_l.texi: Likewise.
42422         * doc/posix-functions/iswgraph_l.texi: Likewise.
42423         * doc/posix-functions/iswlower_l.texi: Likewise.
42424         * doc/posix-functions/iswprint_l.texi: Likewise.
42425         * doc/posix-functions/iswpunct_l.texi: Likewise.
42426         * doc/posix-functions/iswspace_l.texi: Likewise.
42427         * doc/posix-functions/iswupper_l.texi: Likewise.
42428         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42429         * doc/posix-functions/isxdigit_l.texi: Likewise.
42430         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
42431         * doc/posix-functions/strcasecmp_l.texi: Likewise.
42432         * doc/posix-functions/strcoll_l.texi: Likewise.
42433         * doc/posix-functions/strfmon_l.texi: Likewise.
42434         * doc/posix-functions/strftime_l.texi: Likewise.
42435         * doc/posix-functions/strncasecmp_l.texi: Likewise.
42436         * doc/posix-functions/strxfrm_l.texi: Likewise.
42437         * doc/posix-functions/tolower_l.texi: Likewise.
42438         * doc/posix-functions/toupper_l.texi: Likewise.
42439         * doc/posix-functions/towctrans_l.texi: Likewise.
42440         * doc/posix-functions/towlower_l.texi: Likewise.
42441         * doc/posix-functions/towupper_l.texi: Likewise.
42442         * doc/posix-functions/wcscoll_l.texi: Likewise.
42443         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42444         * doc/posix-functions/wctrans_l.texi: Likewise.
42445         * doc/posix-functions/wctype_l.texi: Likewise.
42446         * doc/glibc-functions/strptime_l.texi: Likewise.
42447         * doc/glibc-functions/strtod_l.texi: Likewise.
42448         * doc/glibc-functions/strtof_l.texi: Likewise.
42449         * doc/glibc-functions/strtol_l.texi: Likewise.
42450         * doc/glibc-functions/strtold_l.texi: Likewise.
42451         * doc/glibc-functions/strtoll_l.texi: Likewise.
42452         * doc/glibc-functions/strtoul_l.texi: Likewise.
42453         * doc/glibc-functions/strtoull_l.texi: Likewise.
42454         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42455         * doc/glibc-functions/wcstod_l.texi: Likewise.
42456         * doc/glibc-functions/wcstof_l.texi: Likewise.
42457         * doc/glibc-functions/wcstol_l.texi: Likewise.
42458         * doc/glibc-functions/wcstold_l.texi: Likewise.
42459         * doc/glibc-functions/wcstoll_l.texi: Likewise.
42460         * doc/glibc-functions/wcstoul_l.texi: Likewise.
42461         * doc/glibc-functions/wcstoull_l.texi: Likewise.
42462
42463 2009-11-24  Bruno Haible  <bruno@clisp.org>
42464
42465         duplocale: Fix logic bug.
42466         * lib/duplocale.c: Don't include <langinfo.h>.
42467         (_NL_LOCALE_NAME): Remove macro.
42468         (rpl_duplocale): Use setlocale instead of nl_langinfo.
42469         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
42470
42471 2009-11-23  Jim Meyering  <meyering@redhat.com>
42472
42473         test-update-copyright: don't hard-code /usr/bin/perl
42474         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
42475         perl to print the current year.  Gilles Espinasse reported that
42476         the replaced use of perl was hard-coded as /usr/bin/perl.
42477
42478 2009-11-23  Bruno Haible  <bruno@clisp.org>
42479
42480         duplocale: Add support for glibc 2.3.x.
42481         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
42482
42483 2009-11-22  Bruno Haible  <bruno@clisp.org>
42484
42485         vasnprintf: Tiny optimization.
42486         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
42487         MacOS X.
42488
42489 2009-11-22  Bruno Haible  <bruno@clisp.org>
42490
42491         Tests for module 'duplocale'.
42492         * modules/duplocale-tests: New file.
42493         * tests/test-duplocale.c: New file.
42494
42495         New module 'duplocale'.
42496         * m4/duplocale.m4: New file.
42497         * lib/locale.in.h (duplocale): New declaration.
42498         * lib/duplocale.c: New file.
42499         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
42500         gl_LOCALE_H_DEFAULTS): New macros.
42501         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
42502         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
42503         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
42504         REPLACE_DUPLOCALE.
42505         * modules/duplocale: New file.
42506         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
42507
42508 2009-11-22  Bruno Haible  <bruno@clisp.org>
42509
42510         * modules/locale-tests (configure.ac): Test for newlocale function.
42511         * tests/test-locale.c: When the system has extended locale functions,
42512         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
42513
42514         locale: Make locale_t available when possible.
42515         * lib/locale.in.h: Include <xlocale.h> when it exists.
42516         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
42517         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
42518         * modules/locale (Depends-on): Add extensions.
42519         (Makefile.am): Also substitute HAVE_XLOCALE_H.
42520         * doc/posix-headers/locale.texi: Document the problem with locale_t.
42521
42522 2009-11-22  Bruno Haible  <bruno@clisp.org>
42523
42524         Add comments.
42525         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
42526         invocation.
42527         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
42528         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
42529         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
42530
42531 2009-11-22  Bruno Haible  <bruno@clisp.org>
42532
42533         error: account for the possibility of freopen (stdout).
42534         * lib/error.c: Include <unistd.h>.
42535         (flush_stdout): New function, extracted from error and error_at_line.
42536         Determine stdout's fd dynamically.
42537         (error, error_at_line): Invoke flush_stdout.
42538         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
42539         * modules/error (Depends-on): Add unistd.
42540
42541 2009-11-22  Bruno Haible  <bruno@clisp.org>
42542
42543         diffseq: Add comment.
42544         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
42545
42546 2009-11-22  Jim Meyering  <meyering@redhat.com>
42547
42548         c-stack: avoid defining an unused static function
42549         * lib/c-stack.c (find_stack_direction): Do not define this function
42550         when it will not be used.
42551
42552         diffseq: avoid spurious gcc warnings
42553         * lib/diffseq.h (IF_LINT2): Define.
42554         (compareseq): Use it to initialize two members of "part".
42555         This avoids two used-uninitialized warnings.
42556
42557 2009-11-21  Jim Meyering  <meyering@redhat.com>
42558
42559         c-stack: avoid "ignoring return value of `write'" warning
42560         * lib/c-stack.c: Include "ignore-value.h".
42561         (die): Explicitly ignore each write return value.
42562         * modules/c-stack (Depends-on): Add ignore-value.
42563
42564 2009-11-21  Bruno Haible  <bruno@clisp.org>
42565
42566         diffseq: reduce scope of variable 'best'.
42567         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
42568         variable, earlier used for two different purposes.
42569
42570 2009-11-21  Jim Meyering  <meyering@redhat.com>
42571
42572         diffseq: remove useless assignment to "best"
42573         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
42574         assignment.  At that point "best" is already guaranteed to be zero.
42575
42576 2009-11-20  Eric Blake  <ebb9@byu.net>
42577
42578         build: mention ftp redirector in release announcements
42579         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
42580         values that used to come from cfg.mk; mention FTP redirect URL.
42581         * build-aux/announce-gen: Mention the mirror list.
42582         Suggested by Karl Berry.
42583
42584         nanosleep: improve port to mingw
42585         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
42586         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
42587         LIB_NANOSLEEP, but only when needed.
42588         * modules/select (Link): Document LIBSOCKET.
42589         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
42590         enough.
42591
42592         nanosleep: work around cygwin bug
42593         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
42594         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
42595         bug.
42596         (getnow): Delete, not needed.
42597         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
42598         LIB_CLOCK_GETTIME.
42599         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
42600         clock-time, gettime.
42601         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
42602         bug.
42603         * modules/nanosleep-tests: New test.
42604         * tests/test-nanosleep.c: New file.
42605
42606         sleep: work around cygwin bug
42607         * lib/sleep.c (rpl_sleep): Work around the bug.
42608         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
42609         (gl_PREREQ_SLEEP): Delete unused macro.
42610         * modules/sleep (Depends-on): Add verify.
42611         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
42612         * modules/unistd (Makefile.am): Substitute witness.
42613         * lib/unistd.in.h (sleep): Update prototype.
42614         * doc/posix-functions/sleep.texi (sleep): Document the bug.
42615         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
42616         * modules/sleep-tests (Depends-on): Check for alarm.
42617
42618 2009-11-20  Jim Meyering  <meyering@redhat.com>
42619
42620         maint.mk: improve sc_prohibit_magic_number_exit
42621         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
42622         so it does not match uses like System.exit(1).
42623         Add comments showing how to correct all offenders.
42624
42625 2009-11-19  Eric Blake  <ebb9@byu.net>
42626
42627         xalloc-die-tests: add missing library
42628         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
42629
42630         test-xvasprintf: silence compiler warnings
42631         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
42632         empty string from gcc.
42633
42634 2009-11-19  Jim Meyering  <meyering@redhat.com>
42635
42636         xfreopen: new module, from coreutils
42637         * modules/xfreopen: New module.
42638         * lib/xfreopen.c: New file.
42639         * lib/xfreopen.h: New file.
42640         * MODULES.html.sh (File stream based Input/Output"): Add it.
42641
42642 2009-11-19  Eric Blake  <ebb9@byu.net>
42643
42644         manywarnings: depend on warnings
42645         * modules/manywarnings (Depends-on): Add warnings.
42646
42647         build: avoid compiler warnings
42648         * lib/select.c (rpl_select): Delete unused variable.
42649         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
42650
42651 2009-11-18  Eric Blake  <ebb9@byu.net>
42652
42653         tests: avoid false negative with --with-packager
42654         * tests/test-version-etc.sh: Discard packager information.
42655         * tests/test-argp-version-etc-1.sh: Likewise.
42656         Reported by Mike Frysinger.
42657
42658         utimens: fix regression on Solaris
42659         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
42660         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
42661         can only change fd timestamps via futimesat.  Instead, use an
42662         additional witness macro to avoid BSD bug.
42663         Reported by Jim Meyering.
42664
42665 2009-11-17  Eric Blake  <ebb9@byu.net>
42666
42667         usleep: use it to simplify tests
42668         * modules/stat-time-tests (Depends-on): Add usleep.
42669         (configure.ac): Drop usleep check.
42670         * modules/chown-tests (Depends-on, configure.ac): Likewise.
42671         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
42672         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
42673         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
42674         * modules/openat-tests (Depends-on, configure.ac): Likewise.
42675         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
42676         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
42677         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
42678         Likewise.
42679         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
42680         * tests/test-lchown.h (nap): Likewise.
42681         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
42682         * tests/test-stat-time.c (nap): Likewise.
42683         * tests/test-utimens-common.h (nap): Update comments.
42684
42685         usleep: new module
42686         * modules/usleep: New file.
42687         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
42688         * lib/usleep.c (usleep): Likewise.
42689         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
42690         * modules/unistd (Makefile.am): Substitute witnesses.
42691         * lib/unistd.in.h (usleep): Add declaration.
42692         * doc/pastposix-functions/usleep.texi (usleep): Document this.
42693         * MODULES.html.sh (Date and time): Likewise.
42694         * modules/usleep-tests (Depends-on): New test.
42695         * tests/test-usleep.c: New file.
42696
42697         chown: work around OpenBSD bug
42698         * lib/chown.c (rpl_chown): Work around the bug.
42699         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
42700         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
42701         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
42702         * modules/chown (Depends-on): Add stdbool.
42703         * modules/lchown (Depends-on): Likewise.
42704         * doc/posix-functions/chown.texi (chown): Document the bug.
42705         * doc/posix-functions/lchown.texi (lchown): Likewise.
42706         * tests/test-lchown.h (test_chown): Relax test.
42707
42708         mkstemp: avoid conflict with C++ keyword template
42709         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
42710         * lib/mkostemp.c (mkostemp): Likewise.
42711         * lib/mkostemps.c (mkostemps): Likewise.
42712         * lib/mkstemp.c (mkstemp): Likewise.
42713         * lib/mkstemps.c (mkstemps): Likewise.
42714
42715         xalloc-die-tests: optimize
42716         * tests/test-xalloc-die.sh: Reduce number of processes.
42717
42718 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42719
42720         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
42721         patch from ludo@gnu.org (Ludovic Courtès).
42722
42723 2009-11-17  Jim Meyering  <meyering@redhat.com>
42724
42725         version-etc: use proper license string
42726         * modules/version-etc (License): Use LGPL, not LGPLv3+.
42727         * modules/version-etc-fsf: Likewise.
42728
42729 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42730
42731         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
42732         printed to stdout.  Deal with EOL differences.
42733
42734 2009-11-17  Eric Blake  <ebb9@byu.net>
42735
42736         unsetenv: work around Solaris bug
42737         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
42738         * lib/unsetenv.c (rpl_unsetenv): Work around it.
42739         Reported by Jim Meyering.
42740
42741         vasnprintf: avoid compiler warnings
42742         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
42743         variables.
42744         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
42745
42746 2009-11-17  Simon Josefsson  <simon@josefsson.org>
42747
42748         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
42749         settings since xalloc-die is no longer the self test,
42750         xalloc-die.sh is.
42751
42752 2009-11-17  Jim Meyering  <meyering@redhat.com>
42753
42754         test-xalloc-die.sh: make the code agree with the commit log
42755         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
42756         at the end, just in case you happen to have a test-xalloc-die
42757         program in some other PATH directory.
42758
42759         test-xalloc-die.sh: fix a portability bug
42760         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
42761         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
42762         Otherwise, argv[0] (as often seen in diagnostics) would be too
42763         system-dependent, sometimes with, and sometimes without the leading "./".
42764
42765         version-etc-fsf: relax license to LGPLv3+
42766         * modules/version-etc-fsf (License): Relax license.
42767
42768 2009-11-16  Eric Blake  <ebb9@byu.net>
42769
42770         xalloc-die-tests: avoid printing null pointer
42771         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
42772         shell script.
42773         * tests/test-xalloc-die.c (program_name): Declare.
42774         * tests/test-xalloc-die.sh (tmpfiles): New file.
42775
42776         setenv, unsetenv: work around various bugs
42777         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
42778         (setenv) [HAVE_SETENV]: Work around bugs.
42779         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
42780         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
42781         for bugs.
42782         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
42783         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
42784         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
42785         * modules/stdlib (Makefile.am): Update substitutions.
42786         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
42787         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
42788         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
42789         * modules/setenv-tests: New test.
42790         * modules/unsetenv-tests: Likewise.
42791         * tests/test-setenv.c: New file.
42792         * tests/test-unsetenv.c: Likewise.
42793
42794 2009-11-16  Jim Meyering  <meyering@redhat.com>
42795
42796         version-etc: relax license to LGPLv3+
42797         * modules/version-etc (License): Relax license.
42798
42799         better AC_REQUIRE expanded-before-required-warning avoidance
42800         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
42801         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
42802         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
42803         which is no longer needed.
42804
42805 2009-11-16  Eric Blake  <ebb9@byu.net>
42806
42807         test-freading: clean up temporary file
42808         * tests/test-freading.c (main): Remove file on success, and use
42809         ASSERT more liberally.
42810         Reported by Jim Meyering.
42811
42812 2009-11-16  Jim Meyering  <meyering@redhat.com>
42813
42814         avoid new AC_REQUIRE expanded-before-required warnings
42815         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
42816         merely using it.
42817         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
42818         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
42819
42820 2009-11-15  Simon Josefsson  <simon@josefsson.org>
42821
42822         * tests/test-xalloc-die.c: New file.
42823         * modules/xalloc-die-tests: New file.
42824         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
42825         XFAIL_TESTS so it can be appended by modules.
42826
42827 2009-11-15  Simon Josefsson  <simon@josefsson.org>
42828
42829         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
42830         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
42831
42832 2009-11-14  Eric Blake  <ebb9@byu.net>
42833
42834         fnmatch: avoid compiler warning
42835         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
42836         to silence compiler warning about mismatch signedness in ?:.
42837         Reported by Robert Millan.
42838
42839         intprops: add double-inclusion guard
42840         * lib/intprops.h: Allow idempotent includes.
42841         Suggested by Bruce Korb.
42842
42843         openat: detect Solaris fchownat bug
42844         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
42845         penalizing glibc chownat when only lchownat is broken.
42846         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
42847         trailing slash bugs.
42848         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
42849         * modules/openat-tests (Files): Include more files.
42850         (Depends-on): Add mgetgroups, sleep, stat-time.
42851         (configure.ac): Add additional checks.
42852         (Makefile.am): Build new test.
42853         * tests/test-fchownat.c: New file.
42854
42855         lchown: detect Solaris and FreeBSD bug
42856         * lib/lchown.c (rpl_lchown): Work around bug.
42857         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
42858         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42859         * modules/unistd (Makefile.am): Populate it.
42860         * lib/unistd.in.h (lchown): Update declaration.
42861         * doc/posix-functions/lchown.texi (lchown): Document the bug.
42862         * modules/lchown-tests: New file.
42863         * tests/test-lchown.h (test_lchown): Likewise.
42864         * tests/test-lchown.c (main): Likewise.
42865
42866         chown: detect Solaris and FreeBSD bug
42867         * lib/chown.c (rpl_chown): Work around bug.
42868         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
42869         (gl_PREREQ_CHOWN): Delete.
42870         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
42871         * modules/unistd (Makefile.am): Populate it.
42872         * lib/unistd.in.h (chown): Update declaration.
42873         * lib/lchown.c (chown): Update client.
42874         * modules/lchown (Depends-on): Add lstat.
42875         * doc/posix-functions/chown.texi (chown): Document the bug.
42876         * doc/posix-functions/getgroups.texi (getgroups): Document
42877         getgroups pitfall.
42878         * modules/chown-tests: New file.
42879         * tests/test-chown.h (test_chown): Likewise.
42880         * tests/test-chown.c (main): Likewise.
42881
42882 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
42883
42884         gnulib-tool: correctly detect absence of m4 directories
42885         * gnulib-tool: Avoid extra newline on data passed to wc -l.
42886
42887 2009-11-14  Jim Meyering  <meyering@redhat.com>
42888
42889         maint.mk: Prohibit inclusion of "xalloc.h" without use.
42890         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
42891
42892 2009-11-14  John W. Eaton  <jwe@gnu.org>
42893
42894         strftime.h: wrap function declaration in extern "C" block
42895         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
42896
42897 2009-11-13  Eric Blake  <ebb9@byu.net>
42898
42899         getgroups: avoid compiler warning
42900         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
42901
42902         getgroups: work around FreeBSD bug
42903         * lib/getgroups.c (rpl_getgroups): Work around the bug.
42904         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
42905         * doc/posix-functions/getgroups.texi (getgroups): Document it.
42906         * tests/test-getgroups.c (main): Fix buffer overrun.
42907
42908         getgroups: avoid compilation failure
42909         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
42910         * modules/getgroups (Depends-on): Add stdint.
42911
42912 2009-11-13  Jim Meyering  <meyering@redhat.com>
42913
42914         test-getgroups: avoid compilation failure
42915         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
42916
42917 2009-11-13  Eric Blake  <ebb9@byu.net>
42918
42919         mgetgroups: new module, taken from coreutils
42920         * modules/mgetgroups: New file.
42921         * lib/mgetgroups.h: Likewise.
42922         * lib/mgetgroups.c (mgetgroups): Likewise.
42923         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
42924         * MODULES.html.sh (Users and groups): Mention it.
42925
42926         getgroups: don't expose GETGROUPS_T to user
42927         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
42928         an element at a time if GETGROUPS_T is wrong size.
42929         * lib/getugroups.h (getugroups): Change signature.
42930         * lib/unistd.in.h (getgroups): Likewise.
42931         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
42932         signature needs fixing.
42933         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
42934         AC_TYPE_GETGROUPS.
42935         * modules/group-member (Depends-on): Add getgroups.
42936         * lib/group-member.c (group_info, get_group_info): Use gid_t.
42937         (group_member): Rely on getgroups replacement.
42938         * lib/getugroups.c (getugroups): Use gid_t.
42939         * tests/test-getgroups.c (main): Likewise.
42940         * NEWS: Mention the signature change.
42941         * doc/posix-functions/getgroups.texi (getgroups): Mention the
42942         problem with signature.
42943         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
42944         GETGROUPS_T is still useful for setgroups.
42945
42946         getgroups, getugroups: provide stubs for mingw
42947         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
42948         * lib/getugroups.c (getugroups): Likewise.
42949         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
42950         function.  Modernize replacement scheme.
42951         (gl_PREREQ_GETGROUPS): Delete.
42952         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
42953         * modules/getgroups (configure.ac): Declare witness.
42954         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
42955         * modules/unistd (Depends-on): Substitute witness.
42956         * lib/unistd.in.h (getgroups): Declare replacement.
42957
42958         getgroups: avoid calling exit
42959         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
42960         drop xalloc.
42961         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
42962         dependencies.
42963         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
42964         exiting, in the rare case of malloc failure.
42965
42966         getgroups: fix logic error
42967         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
42968         has more than 20 groups.
42969         * modules/getgroups-tests: New test.
42970         * tests/test-getgroups.c: New file.
42971
42972 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42973
42974         * tests/test-base64.c: Improve.
42975
42976 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42977
42978         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
42979         Blake <ebb9@byu.net>.
42980
42981 2009-11-13  Simon Josefsson  <simon@josefsson.org>
42982
42983         * tests/test-xvasprintf.c: Add %s%s related checks.
42984
42985 2009-11-12  Eric Blake  <ebb9@byu.net>
42986
42987         version-etc: match standards.texi style
42988         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
42989         and use <> only for URLs.
42990
42991 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
42992
42993         fts: do not fail on a submount during traversal
42994         * lib/fts.c (fts_build): Read the stat info again after opening
42995         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
42996         Original report at http://bugzilla.redhat.com/501848.
42997
42998 2009-11-12  Jim Meyering  <meyering@redhat.com>
42999
43000         bootstrap: sync from coreutils
43001         * build-aux/bootstrap (bootstrap_epilogue): New function.
43002         Use git_modules_config in one more place.  This make bootstrap's
43003         --gnulib-srcdir option more useful for testing.
43004
43005         bootstrap: generalize autoheader check
43006         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
43007         AC_CONFIG_HEADERS.
43008
43009 2009-11-11  Eric Blake  <ebb9@byu.net>
43010
43011         mkfifoat: use new modules for Solaris and BSD bugs
43012         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
43013         * lib/mkfifoat.c (mknodat): Split...
43014         * lib/mknodat.c (mknodat): ...into new file.
43015         * modules/mkfifoat (Files): Ship new file.
43016         (Depends-on): Add mkfifo, mknod.
43017         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
43018         (Depends-on): Add symlink.
43019         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
43020         redundant with test_mkfifo.h.
43021         (do_mkfifoat, do_mknodat): New helpers.
43022
43023         mknod: new module
43024         * modules/mknod: New file.
43025         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
43026         * lib/mknod.c (mknod): Likewise.
43027         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
43028         defaults.
43029         * modules/sys_stat (Makefile.am): Substitute them.
43030         * lib/sys_stat.in.h (mknod): Declare replacement.
43031         * MODULES.html.sh (Support for systems lacking POSIX:2008):
43032         Document it.
43033         * doc/posix-functions/mknod.texi (mknod): Likewise.
43034         * modules/mknod-tests: New test.
43035         * tests/test-mknod.c: Likewise.
43036
43037         mkfifo: new module
43038         * modules/mkfifo: New file.
43039         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
43040         * lib/mkfifo.c (mkfifo): Likewise.
43041         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
43042         defaults.
43043         * modules/sys_stat (Makefile.am): Substitute them.
43044         * lib/sys_stat.in.h (mkfifo): Declare replacement.
43045         * MODULES.html.sh (Support for systems lacking POSIX:2008):
43046         Document it.
43047         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
43048         * modules/mkfifo-tests: New test.
43049         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
43050         from test-mkfifoat.c.
43051         * tests/test-mkfifo.c: New file.
43052
43053         readlink: detect FreeBSD bug
43054         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
43055         slash on symlink.
43056         * doc/posix-functions/readlink.texi (readlink): Document the bug.
43057         * tests/test-readlink.h (test_readlink): Enhance test.
43058
43059         symlink: detect FreeBSD bug
43060         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
43061         slash on symlink.
43062         * doc/posix-functions/symlink.texi (symlink): Document the bug.
43063         * tests/test-symlink.h (test_symlink): Enhance test.
43064
43065 2009-11-10  Eric Blake  <ebb9@byu.net>
43066
43067         link: detect FreeBSD bug
43068         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
43069         symlink.
43070         * doc/posix-functions/link.texi (link): Document the bug.
43071         * tests/test-link.h (test_link): Enhance test.
43072         * tests/test-linkat.c (main): Update caller.
43073
43074         unlink, remove: detect FreeBSD bug
43075         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
43076         slash on symlink.
43077         * doc/posix-functions/unlink.texi (unlink): Document the bug.
43078         * doc/posix-functions/remove.texi (remove): Likewise.
43079         * tests/test-unlink.h (test_unlink): Enhance test.
43080         * tests/test-remove.c (main): Likewise.
43081
43082 2009-11-09  Eric Blake  <ebb9@byu.net>
43083
43084         rename: detect FreeBSD bug
43085         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
43086         slash on symlink.
43087         * modules/renameat-tests (Depends-on): Add filenamecat.
43088         * tests/test-rename.h (test_rename): Allow one more errno.
43089         * tests/test-renameat.c (main): Likewise.
43090         * doc/posix-functions/rename.texi (rename): Document the bug.
43091
43092         open: detect FreeBSD bug
43093         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
43094         symlink.
43095         * doc/posix-functions/open.texi (open): Document the bug.
43096         * doc/posix-functions/utimes.texi (utimes): Likewise.
43097         * tests/test-open.h (test_open): Add parameters, and test symlink
43098         handling.
43099         * tests/test-open.c (main): Adjust caller.
43100         * tests/test-fcntl-safer.c (main): Likewise.
43101         * modules/open-tests (Depends-on): Add stdbool, symlink.
43102         * modules/fcntl-safer-tests (Depends-on): Likewise.
43103         * tests/test-openat.c (main): Add test-open tests.
43104
43105         stat: detect FreeBSD bug
43106         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
43107         symlink.
43108         * doc/posix-functions/stat.texi (stat): Document the bug.
43109         * tests/test-stat.h (test_stat_func): Add argument.
43110         * tests/test-stat.c (main): Adjust caller.
43111         * tests/test-fstatat.c (main): Likewise.
43112         * modules/stat-tests (Depends-on): Add stdbool, symlink.
43113         Reported by Jim Meyering.
43114
43115 2009-11-09  James Youngman  <jay@gnu.org>
43116
43117         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
43118         * lib/strftime.c: Correct placement of #include "ignore-value.h".
43119
43120 2009-11-08  Jim Meyering  <meyering@redhat.com>
43121
43122         utimens: remove invalid futimesat call
43123         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
43124         It used the file descriptor of the target file as the DIR_FD
43125         parameter and NULL as the file name.  That caused failure with
43126         errno == EFAULT on FreeBSD-8.0-rc2
43127
43128 2009-11-07  Eric Blake  <ebb9@byu.net>
43129
43130         fflush, freadseek: use fseeko, not fseek
43131         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
43132         (clear_ungetc_buffer): Avoid potential problems on large files.
43133         * lib/freadseek.c (freadseek): Likewise.
43134         * modules/freadseek (Depends-on): Add fseeko.
43135         * modules/fseek (configure.ac): Set a witness.
43136         * tests/test-fflush.c (main): Use fseeko.
43137         * tests/test-fpurge.c (fseek): Disable link warning.
43138         * tests/test-freadable.c (fseek): Likewise.
43139         * tests/test-freading.c (fseek): Likewise.
43140         * tests/test-fseeko.c (fseek): Likewise.
43141         * tests/test-ftell.c (fseek): Likewise.
43142         * tests/test-ftello.c (fseek): Likewise.
43143         * tests/test-fwritable.c (fseek): Likewise.
43144         * tests/test-fwriting.c (fseek): Likewise.
43145
43146 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43147
43148         * modules/memchr (Depends-on): Drop getpagesize dependency.
43149
43150 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43151
43152         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
43153         Reported by Ludovic Courtès.
43154         * build-aux/pmccabe2html: Improve example usage.
43155         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
43156
43157 2009-11-06  Jim Meyering  <meyering@redhat.com>
43158
43159         do-release-commit-and-tag: New module.
43160         Automate the release-commit and tag process.
43161         * build-aux/do-release-commit-and-tag: New script, from coreutils.
43162         * modules/do-release-commit-and-tag: New file.
43163         * MODULES.html.sh (Support for maintaining and releasing): Add it.
43164
43165 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43166
43167         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
43168         because test-select.c uses inet_pton.
43169
43170 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43171
43172         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
43173         GETADDRINFO_LIB.  Bump serial number.
43174         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
43175         Suggested by Eric Blake <ebb9@byu.net>.
43176
43177 2009-11-05  Eric Blake  <ebb9@byu.net>
43178
43179         strtod: detect darwin bug
43180         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
43181         Reported by Leo Davis.
43182
43183         freopen-safer: new module
43184         * modules/freopen-safer: New module.
43185         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
43186         * lib/freopen-safer.c (freopen_safer): New file.
43187         * lib/stdio-safer.h (freopen_safer): New declaration.
43188         * lib/stdio--.h (freopen): New override.
43189         * MODULES.html.sh (File stream based Input/Output): Mention it.
43190         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
43191         freopen-safer module.
43192         * doc/posix-functions/stderr.texi (stderr): Likewise.
43193         * doc/posix-functions/stdin.texi (stdin): Likewise.
43194         * doc/posix-functions/stdout.texi (stdout): Likewise.
43195         * modules/freopen-safer-tests: New test.
43196         * tests/test-reopen-safer.c: New file.
43197
43198 2009-11-05  Jim Meyering  <meyering@redhat.com>
43199
43200         maint.mk: Prohibit inclusion of "close-stream.h" without use.
43201         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
43202
43203 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43204
43205         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
43206
43207 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43208
43209         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
43210
43211 2009-11-05  Simon Josefsson  <simon@josefsson.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
43217 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43218
43219         * tests/test-func.c: Also test value of __func__.
43220
43221 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43222
43223         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
43224         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
43225
43226 2009-11-05  Bruno Haible  <bruno@clisp.org>
43227
43228         Fix link error.
43229         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43230         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43231         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
43232
43233 2009-11-05  Bruno Haible  <bruno@clisp.org>
43234
43235         Tests for module 'inet_pton'.
43236         * modules/inet_pton-tests: New file.
43237         * tests/test-inet_pton.c: New file.
43238
43239 2009-11-05  Bruno Haible  <bruno@clisp.org>
43240
43241         Tests for module 'inet_ntop'.
43242         * modules/inet_ntop-tests: New file.
43243         * tests/test-inet_ntop.c: New file.
43244
43245 2009-11-04  Eric Blake  <ebb9@byu.net>
43246
43247         stdlib-safer: wrap all mkstemp variants
43248         * modules/mkostemp (configure.ac): Set witness.
43249         * modules/mkostemps (configure.ac): Likewise.
43250         * modules/mkstemps (configure.ac): Likewise.
43251         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
43252         (mkstemps_safer): Wrap more functions.
43253         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
43254         wrapping.
43255         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
43256         (mkstemps_safer): Implement the wrappers.
43257
43258         mkstemps, mkostemps: new modules
43259         * modules/mkostemps: New module.
43260         * modules/mkstemps: Likewise.
43261         * lib/mkostemps.c (mkostemps): New file.
43262         * lib/mkstemps.c (mkstemps): Likewise.
43263         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
43264         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
43265         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
43266         * modules/stdlib (Makefile.am): Substitute them.
43267         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
43268         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
43269         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
43270         * doc/gnulib.texi (Glibc stdlib.h): Include them.
43271         * MODULES.html.sh (File system functions): Mention them.
43272
43273         tempname: resync from glibc
43274         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
43275         same values for __GT_FILE as glibc.  Abort even when assertions
43276         are disabled.
43277         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
43278         match its value otherwise.  Allow idempotent inclusion.
43279         * lib/mkdtemp.c (mkdtemp): Adjust caller.
43280         * lib/mkostemp.c (mkostemp): Likewise.
43281         * lib/mkstemp.c (mkstemp): Likewise.
43282         * lib/tmpfile.c (tmpfile): Likewise.
43283         * NEWS: Document this.
43284
43285         utimens: fix use of futimens on older Linux
43286         * lib/utimens.c (fdutimens): Use updated, rather than original,
43287         timespec to avoid bug in older Linux kernel.
43288         Reported by Simon Josefsson.
43289
43290 2009-11-04  Bruno Haible  <bruno@clisp.org>
43291
43292         Make num_processors more flexible and consistent.
43293         * lib/nproc.h (enum nproc_query): New type.
43294         (num_processors): Add a 'query' argument.
43295         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
43296         (num_processors): Add a 'query' argument. Test the value of the
43297         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
43298         mingw, count the number of CPUs available for the current process.
43299         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
43300         Check for sched_getaffinity and sched_getaffinity_np.
43301         * modules/nproc (Depends-on): Add c-ctype, extensions.
43302         * NEWS: Mention the change.
43303
43304 2009-11-03  Bruno Haible  <bruno@clisp.org>
43305
43306         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
43307
43308 2009-11-03  Jim Meyering  <meyering@redhat.com>
43309
43310         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
43311         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
43312         if it is defined.
43313
43314 2009-11-02  Eric Blake  <ebb9@byu.net>
43315
43316         mktime, timegm: share common declaration
43317         * lib/mktime-internal.h: New file.
43318         * lib/mktime.c: Use it rather than open-coding a declaration.
43319         * lib/timegm.c: Likewise.
43320         * modules/mktime (Files): Ship it.
43321         * modules/timegm (Files): Likewise.
43322         Suggested by Bruno Haible.
43323
43324         test-update-copyright: update test to match script changes
43325         * tests/test-update-copyright.sh: Avoid hard-coding perl
43326         location.  Don't update *.bak created by earlier runs.
43327
43328 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
43329             Simon Josefsson  <simon@josefsson.org>
43330             Bruno Haible  <bruno@clisp.org>
43331
43332         Fix link error on Solaris 8.
43333         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
43334         also in libnsl. Define also INET_PTON_LIB.
43335         * modules/inet_pton (Link): New section.
43336
43337 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43338             Bruno Haible  <bruno@clisp.org>
43339
43340         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
43341         * modules/inet_ntop (Link): New section.
43342         Reported by Boyan Kasarov <bkasarov@gmail.com>.
43343
43344 2009-11-02  Eric Blake  <ebb9@byu.net>
43345
43346         maint: avoid compiler warnings in m4 macros
43347         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
43348         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
43349
43350 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43351
43352         * m4/pmccabe2html.m4: Remove file.
43353         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
43354         function.  Change maintainer.
43355         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
43356         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
43357         Courtès).
43358
43359 2009-10-31  Eric Blake  <ebb9@byu.net>
43360
43361         fseeko: fix m4 regression
43362         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
43363         regression from 2009-10-27.
43364         Reported by Ralf Wildenhues.
43365
43366 2009-10-31  Jim Meyering  <meyering@redhat.com>
43367
43368         inttostr: aesthetics and improved (compile-time) safety
43369         Define inttype_is_signed rather than inttype_is_unsigned,
43370         since the sole use is via "#if inttype_is_signed".
43371         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
43372         inttype_is_unsigned.
43373         * lib/offtostr.c (inttype_is_signed): Likewise.
43374         * lib/uinttostr.c (inttype_is_signed): Likewise.
43375         * lib/umaxtostr.c (inttype_is_signed): Likewise.
43376         * lib/inttostr.c (inttostr): Use verify to cross-check the
43377         inttype_is_signed value and the signedness of the actual type.
43378         * modules/inttostr (Depends-on): Add verify.
43379
43380 2009-10-30  Eric Blake  <ebb9@byu.net>
43381
43382         build: avoid compiler warnings
43383         * lib/fchmodat.c (lchmod): Mark unused variables.
43384         * lib/getopt.c (_getopt_initialize): Likewise.
43385         * lib/mktime.c (__mktime_internal): Provide prototype.
43386         * lib/inttostr.c (inttostr): Avoid compiler warning even with
43387         older gcc that do not understand #pragma GCC diagnostic.
43388         * lib/uinttostr.c (inttype_is_unsigned): Define.
43389         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
43390
43391 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
43392
43393         stat: fix compilation on AIX
43394         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
43395         only see struct stat64.
43396
43397 2009-10-30  Eric Blake  <ebb9@byu.net>
43398
43399         exclude: make more robust
43400         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
43401         rather than masking a coding bug.
43402         Suggested by Bruno Haible.
43403
43404 2009-10-30  Jim Meyering  <meyering@redhat.com>
43405
43406         perl scripts: remove #!/usr/bin/perl in favor of more portable...
43407         Rather than putting #!/usr/bin/perl on the first line,
43408         start with a variant of what's recommended by "man perlrun" that
43409         invokes the first "perl" program from your shell's search path.
43410         * build-aux/gitlog-to-changelog: Replace #!... as above.
43411         Add a "Local Variables" perl mode setting.
43412         Prompted by a patch from Ludovic Courtès.
43413         Improved by Eric Blake.
43414         * build-aux/useless-if-before-free: Likewise.
43415         * build-aux/announce-gen: Likewise.
43416         * build-aux/update-copyright: Likewise.
43417
43418 2009-10-29  Eric Blake  <ebb9@byu.net>
43419
43420         filenamecat-lgpl: adjust clients
43421         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
43422         filenamecat.
43423         * modules/renameat (Depends-on): Likewise.
43424
43425         filenamecat: split into filenamecat-lgpl
43426         * modules/filenamecat-lgpl: New module.
43427         * modules/filenamecat (Files): Move library-safe files into
43428         filenamecat-lgpl.
43429         (Depends-on): Add filenamecat-lgpl.
43430         (configure.ac): Declare witness.
43431         * lib/filenamecat.h (file_name_concat): Only declare when using
43432         GPL module.
43433         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
43434         Move...
43435         * lib/filenamecat-lgpl.c: ...into new file.
43436         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
43437         (gl_FILE_NAME_CONCAT): Use it.
43438         * MODULES.html.sh (File system functions): Mention new module.
43439
43440         argp: avoid memory leak
43441         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
43442         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
43443         base_name, since the latter malloc()s and can call exit().
43444         Leak introduced 2006-07-03.
43445
43446         dirname-lgpl: adjust clients that don't need full dirname
43447         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
43448         * modules/filenamecat (Depends-on): Likewise.
43449         * modules/linkat (Depends-on): Likewise.
43450         * modules/mkancesdirs (Depends-on): Likewise.
43451         * modules/mkdir (Depends-on): Likewise.
43452         * modules/openat (Depends-on): Likewise.
43453         * modules/savewd (Depends-on): Likewise.
43454         * modules/rename (Depends-on): Likewise.
43455         (License): Relax license.
43456         * modules/mkdir-tests (Depends-on): Drop progname.
43457         (Makefile.am): Delete unneeded LDADD.
43458         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
43459
43460         dirname: split into dirname-lgpl
43461         * modules/dirname-lgpl: New module.
43462         * modules/dirname (Files): Move library-safe files into
43463         dirname-lgpl.
43464         (Depends-on): Add dirname-lgpl.
43465         (configure.ac): Declare witness.
43466         * modules/double-slash-root (License): Relax license.
43467         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
43468         module.
43469         * lib/dirname.c (dir_len, mdir_name): Move...
43470         * lib/dirname-lgpl.c: ...into new file.
43471         * lib/basename.c (last_component, base_len): Move...
43472         * lib/basename-lgpl.c: ...into new file.
43473         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
43474         (gl_DIRNAME): Use it.
43475         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
43476         Mention new module.
43477         * modules/dirname-tests (Depends-on): Add progname.
43478         * tests/test-dirname.c (program_name): Delete.
43479
43480         mkdir: make safe for libraries
43481         * modules/mkdir (Depends-on): Drop xalloc.
43482         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
43483         exit.
43484
43485         tests: avoid some compiler warnings
43486         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
43487         literals.
43488         * tests/test-memchr.c (main): Avoid type mismatch.
43489         * tests/test-arpa_inet.c (main): Avoid unused parameters.
43490         * tests/test-base64.c (main): Likewise.
43491         * tests/test-getdelim.c (main): Likewise.
43492         * tests/test-gethostname.c (main): Likewise.
43493         * tests/test-getline.c (main): Likewise.
43494         * tests/test-netinet_in.c (main): Likewise.
43495         * tests/test-select.c (open_server_socket, main): Likewise.
43496         * tests/test-select-stdin.c (main): Likewise.
43497         * tests/test-sockets.c (main): Likewise.
43498         * tests/test-strsignal.c (main): Likewise.
43499         * tests/test-sys_select.c (main): Likewise.
43500         * tests/test-sys_socket.c (main): Likewise.
43501         * tests/test-u64.c (main): Likewise.
43502         * tests/test-xfprintf-posix.c (main): Likewise.
43503         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
43504
43505         sockets: avoid compiler warning
43506         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
43507
43508         maint: detect usage(1) and other suspicious exits
43509         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
43510
43511 2009-10-29  Jim Meyering  <meyering@redhat.com>
43512
43513         timespec: long-to-int truncation could make timespec_cmp malfunction
43514         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
43515         a multiple of 2^32 nanoseconds as no difference.
43516
43517 2009-10-28  Jim Meyering  <meyering@redhat.com>
43518
43519         fprintftime: wrap macro code argument in "do {...} while(0)"
43520         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
43521         cpy macro must be a statement that can be followed by a semicolon.
43522         Now that the else clause contains a comment and is hence longer
43523         than one line, I require curly braces.  That in turn requires
43524         that we wrap this code block in the standard do...while(0).
43525
43526         fprintftime: remove stray semicolon from previous change
43527         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
43528
43529         fprintftime: avoid a warning about ignored fwrite return value
43530         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
43531         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
43532         that is unsafe.
43533         * modules/fprintftime (Depends-on): Add ignore-value.
43534
43535         exclude: avoid an unwarranted warning
43536         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
43537
43538 2009-10-27  Eric Blake  <ebb9@byu.net>
43539
43540         fseek: avoid compilation failure when fflush is replaced
43541         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
43542         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
43543         module is in use.
43544         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
43545         module is not in use; since REPLACE_FSEEK worked otherwise.
43546         (GNULIB_FTELLO): Likewise for ftell.
43547         Reported by Ian Beckwith and others.
43548
43549 2009-10-27  Bruno Haible  <bruno@clisp.org>
43550
43551         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
43552         Reported by Jim Meyering.
43553
43554 2009-10-27  Jim Meyering  <jim@meyering.net>
43555             Bruno Haible  <bruno@clisp.org>
43556
43557         Avoid warning despite dropping the return value of fwrite.
43558         * lib/unicodeio.c: Include ignore-value.h.
43559         (fwrite_success_callback): Explicitly ignore fwrite's return value.
43560         * modules/unicodeio (Depends-on): Add ignore-value.
43561
43562 2009-10-26  Eric Blake  <ebb9@byu.net>
43563
43564         areadlinkat: fix fallback path
43565         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
43566         pointer and zero.
43567
43568 2009-10-22  Pádraig Brady  <P@draigBrady.com>
43569
43570         Use a better IO block size for modern systems
43571         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
43572         * lib/md2.c: Likewise.
43573         * lib/md4.c: Likewise.
43574         * lib/md5.c: Likewise.
43575         * lib/sha1.c: Likewise.
43576         * lib/sha256.c: Likewise.
43577         * lib/sha512.c: Likewise.
43578
43579 2009-10-22  Eric Blake  <ebb9@byu.net>
43580
43581         tests: avoid several compiler warnings
43582         * tests/test-getcwd.c (main): Avoid buffer underflow.
43583         * tests/test-getdate.c (main): String literals are not safe with
43584         putenv, so use setenv.  Declare unused argument.
43585         * modules/getdate-tests (Depends-on): Add setenv.
43586         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
43587         problems with string literals in char *.
43588         * tests/test-hash.c (main): Avoid shadowing declaration.
43589         (insert_new): Treat string literals as char const *.
43590         * tests/test-getopt.h (test_getopt): Likewise.
43591         (getopt_loop): Alter types to minimize casting elsewhere.
43592         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
43593         (test_getopt_long_posix): Likewise.
43594         (do_getopt_long): Add wrapper to minimize casting.
43595         * tests/test-atexit.c (clear_temp_file): Use void.
43596         * tests/test-areadlink-with-size.c (main): Declare unused
43597         arguments.
43598         * tests/test-areadlink.c (main): Likewise.
43599         * tests/test-areadlinkat-with-size.c (main): Likewise.
43600         * tests/test-areadlinkat.c (main): Likewise.
43601         * tests/test-canonicalize-lgpl.c (main): Likewise.
43602         * tests/test-canonicalize.c (main): Likewise.
43603         * tests/test-dirent-safer.c (main): Likewise.
43604         * tests/test-dirname.c (main): Likewise.
43605         * tests/test-dup2.c (main): Likewise.
43606         * tests/test-fchdir.c (main): Likewise.
43607         * tests/test-fcntl-h.c (main): Likewise.
43608         * tests/test-fcntl-safer.c (main): Likewise.
43609         * tests/test-fdopendir.c (main): Likewise.
43610         * tests/test-fdutimensat.c (main): Likewise.
43611         * tests/test-fflush.c (main): Likewise.
43612         * tests/test-filenamecat.c (main): Likewise.
43613         * tests/test-filevercmp.c (main): Likewise.
43614         * tests/test-fopen-safer.c (main): Likewise.
43615         * tests/test-fopen.c (main): Likewise.
43616         * tests/test-fpending.c (main): Likewise.
43617         * tests/test-fpurge.c (main): Likewise.
43618         * tests/test-freading.c (main): Likewise.
43619         * tests/test-fstatat.c (main): Likewise.
43620         * tests/test-fsync.c (main): Likewise.
43621         * tests/test-futimens.c (main): Likewise.
43622         * tests/test-getndelim2.c (main): Likewise.
43623         * tests/test-gettimeofday.c (main): Likewise.
43624         * tests/test-getopt.c (main): Likewise.
43625         * tests/test-i-ring.c (main): Likewise.
43626         * tests/test-inttypes.c (main): Likewise.
43627         * tests/test-link.c (main): Likewise.
43628         * tests/test-lstat.c (main): Likewise.
43629         * tests/test-math.c (main): Likewise.
43630         * tests/test-md5.c (main): Likewise.
43631         * tests/test-memchr2.c (main): Likewise.
43632         * tests/test-memrchr.c (main): Likewise.
43633         * tests/test-mkdir.c (main): Likewise.
43634         * tests/test-mkdirat.c (main): Likewise.
43635         * tests/test-mkfifoat.c (main): Likewise.
43636         * tests/test-open.c (main): Likewise.
43637         * tests/test-openat-safer.c (main): Likewise.
43638         * tests/test-openat.c (main): Likewise.
43639         * tests/test-quotearg.c (main): Likewise.
43640         * tests/test-rawmemchr.c (main): Likewise.
43641         * tests/test-readlink.c (main): Likewise.
43642         * tests/test-remove.c (main): Likewise.
43643         * tests/test-rename.c (main): Likewise.
43644         * tests/test-renameat.c (main): Likewise.
43645         * tests/test-rmdir.c (main): Likewise.
43646         * tests/test-sha1.c (main): Likewise.
43647         * tests/test-signal.c (main): Likewise.
43648         * tests/test-sigaction.c (main): Likewise.
43649         * tests/test-stat.c (main): Likewise.
43650         * tests/test-stat-time.c (main): Likewise.
43651         * tests/test-stddef.c (main): Likewise.
43652         * tests/test-stdint.c (main): Likewise.
43653         * tests/test-stdio.c (main): Likewise.
43654         * tests/test-stdlib.c (main): Likewise.
43655         * tests/test-strchrnul.c (main): Likewise.
43656         * tests/test-strerror.c (main): Likewise.
43657         * tests/test-string.c (main): Likewise.
43658         * tests/test-strtod.c (main): Likewise.
43659         * tests/test-strverscmp.c (main): Likewise.
43660         * tests/test-symlink.c (main): Likewise.
43661         * tests/test-symlinkat.c (main): Likewise.
43662         * tests/test-sys_stat.c (main): Likewise.
43663         * tests/test-sys_time.c (main): Likewise.
43664         * tests/test-time.c (main): Likewise.
43665         * tests/test-unistd.c (main): Likewise.
43666         * tests/test-unlink.c (main): Likewise.
43667         * tests/test-unlinkat.c (main): Likewise.
43668         * tests/test-utimens.c (main): Likewise.
43669         * tests/test-utimensat.c (main): Likewise.
43670         * tests/test-version-etc.c (main): Likewise.
43671         * tests/test-wchar.c (main): Likewise.
43672         * tests/test-wctype.c (main): Likewise.
43673         * tests/test-xprintf-posix.c (main): Likewise.
43674         * tests/test-posixtm.c (main): Likewise.
43675         (STREQ): Delete unused macro.
43676         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
43677         shadowed variables.
43678         * tests/test-memchr.c (main): Likewise.
43679
43680 2009-10-21  Eric Blake  <ebb9@byu.net>
43681
43682         areadlinkat: avoid failure on older glibc
43683         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
43684         rather than mis-comparing 0 against FUNC_RESULT of char*.
43685
43686 2009-10-21  Bruno Haible  <bruno@clisp.org>
43687
43688         * modules/stpncpy (License): Relicense under LGPLv2+.
43689         Reported by David Lutterkort <lutter@redhat.com>.
43690
43691 2009-10-20  Eric Blake  <ebb9@byu.net>
43692
43693         utimensat: work around Solaris 9 bug
43694         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
43695         has trailing slash bugs.
43696         * tests/test-lutimens.h (test_lutimens): Enhance test.
43697         * tests/test-utimens.h (test_utimens): Likewise.
43698         * doc/posix-functions/utime.texi (utime): Enhance documentation.
43699         * doc/posix-functions/utimes.texi (utimes): Likewise.
43700         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43701         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
43702         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
43703         * doc/posix-functions/futimens.texi (futimens): Likewise.
43704
43705         fdutimensat: new module
43706         * modules/fdutimensat: New file.
43707         * lib/fdutimensat.c (fdutimensat): Likewise.
43708         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
43709         * MODULES.html.sh (File system functions): Mention module.
43710         * modules/fdutimensat-tests: New test.
43711         * tests/test-fdutimensat.c: Likewise.
43712
43713         doc: regenerate INSTALL
43714         * doc/INSTALL: Reflect recent autoconf update.
43715         * doc/INSTALL.ISO: Likewise.
43716         * doc/INSTALL.UTF-8: Likewise.
43717
43718 2009-10-20  Pádraig Brady  <P@draigBrady.com>
43719
43720         acl: warn if ACL support is not detected
43721         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
43722
43723 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
43724
43725         * lib/nproc.h: Add extern "C" block for C++.
43726
43727 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
43728             Bruno Haible  <bruno@clisp.org>
43729
43730         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
43731         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
43732         * doc/posix-functions/isalpha.texi: Likewise.
43733         * doc/posix-functions/isblank.texi: Likewise.
43734         * doc/posix-functions/iscntrl.texi: Likewise.
43735         * doc/posix-functions/isdigit.texi: Likewise.
43736         * doc/posix-functions/isgraph.texi: Likewise.
43737         * doc/posix-functions/islower.texi: Likewise.
43738         * doc/posix-functions/isprint.texi: Likewise.
43739         * doc/posix-functions/ispunct.texi: Likewise.
43740         * doc/posix-functions/isspace.texi: Likewise.
43741         * doc/posix-functions/isupper.texi: Likewise.
43742         * doc/posix-functions/isxdigit.texi: Likewise.
43743
43744 2009-10-18  Bruno Haible  <bruno@clisp.org>
43745
43746         Tests for module 'isblank'.
43747         * modules/isblank-tests: New file.
43748         * tests/test-isblank.c: New file.
43749
43750         New module 'isblank'.
43751         * lib/isblank.c: New file.
43752         * m4/isblank.m4: New file.
43753         * modules/isblank: New file.
43754         * doc/posix-functions/isblank.texi: Mention the new module.
43755
43756 2009-10-18  Bruno Haible  <bruno@clisp.org>
43757
43758         New module 'ctype'.
43759         * lib/ctype.in.h: New file.
43760         * m4/ctype.m4: New file.
43761         * modules/ctype: New file.
43762         * doc/posix-headers/ctype.texi: Mention the new module.
43763
43764 2009-10-18  Jim Meyering  <meyering@redhat.com>
43765
43766         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
43767         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
43768         right after its initialization, rather than farther down.
43769         Keeping these in close proximity makes it easier to ensure
43770         that each such variable is initialized.  E.g.,
43771
43772             LIB_CLOCK_GETTIME=
43773             AC_SUBST([LIB_CLOCK_GETTIME])
43774
43775         This change also increments these serial numbers.
43776         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
43777         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
43778         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43779
43780 2009-10-18  Bruno Haible  <bruno@clisp.org>
43781
43782         Don't let environment variables perturb build.
43783         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
43784         (gl_PREREQ_GETHRXTIME): ... not here.
43785
43786 2009-10-18  Bruno Haible  <bruno@clisp.org>
43787
43788         Avoid symlink attack in localcharset module.
43789         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
43790         (O_NOFOLLOW): Define fallback.
43791         (get_charset_aliases): Don't open the file if it is a symbolic link.
43792         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
43793         gl_FCNTL_H.
43794         (gl_FCNTL_H): Require it.
43795         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
43796         * modules/localcharset (Files): Add m4/fcntl_h.m4.
43797         Reported by Fergal Glynn <fglynn@veracode.com>.
43798
43799 2009-10-18  Bruno Haible  <bruno@clisp.org>
43800
43801         Implement nproc for mingw.
43802         * lib/nproc.c: Include <windows.h>
43803         (num_processors): On native Windows platforms, try GetSystemInfo.
43804
43805 2009-10-18  Bruno Haible  <bruno@clisp.org>
43806
43807         Implement nproc for IRIX.
43808         * lib/nproc.c: Include <sys/sysmp.h>.
43809         (num_processors): On IRIX systems, try sysmp.
43810         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
43811
43812 2009-10-18  Bruno Haible  <bruno@clisp.org>
43813
43814         Implement nproc for HP-UX.
43815         * lib/nproc.c: Include <sys/pstat.h>
43816         (num_processors): On HP-UX systems, try pstat_getdynamic.
43817         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
43818         pstat_getdynamic.
43819
43820 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
43821             Bruno Haible  <bruno@clisp.org>
43822
43823         Implement nproc for NetBSD, OpenBSD.
43824         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
43825         (ARRAY_SIZE): New macro.
43826         (num_processors): On BSD systems, try sysctl of HW_NCPU.
43827         * m4/nproc.m4: New file.
43828         * modules/nproc (Files): Add m4/nproc.m4.
43829         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
43830         (Makefile.am): Instead, augment lib_SOURCES.
43831
43832 2009-10-18  Bruno Haible  <bruno@clisp.org>
43833
43834         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
43835         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
43836         sys/param.h.
43837
43838 2009-10-16  Eric Blake  <ebb9@byu.net>
43839
43840         utimensat: new module
43841         * modules/utimensat: New file.
43842         * lib/utimensat.c (utimensat): Likewise.
43843         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
43844         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
43845         so we can work around Linux bugs.
43846         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43847         * modules/sys_stat (Makefile.am): Substitute them.
43848         * lib/sys_stat.in.h (utimensat): Declare it.
43849         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43850         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
43851         * modules/utimensat-tests: New test.
43852         * tests/test-utimensat.c: Likewise.
43853
43854         utimens: let lutimens work on non-symlinks
43855         * lib/utimens.c (lutimens): Fall back to utimens rather than
43856         failing with ENOSYS, when file is not a symlink.
43857         (utimens): Reduce redirection.
43858         * tests/test-lutimens.h (test_lutimens): Update test to cover
43859         non-symlinks.
43860         * tests/test-utimens.h (test_utimens): Update test to cover
43861         symlinks.
43862         * tests/test-utimens.c (main): Update caller.
43863
43864         utimens: cache whether utimensat syscall works
43865         * lib/utimens.c (utimensat_works_really): New cache variable.
43866         (fdutimens, lutimens): Use it to avoid failing syscall.
43867
43868         test-stat-time, test-utimens: improve portability
43869         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
43870         ext4 on alpha, and for cygwin.
43871         * tests/test-utimens-common.h: New file.
43872         (nap): Factor delays into single function.
43873         * tests/test-lutimens.h (test_lutimens): Use new header.
43874         * tests/test-futimens.h (test_futimens): Likewise.
43875         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
43876         timestamps to occur from same machine, as was done previously for
43877         test_utimens.
43878         * modules/utimens-tests (Files): Ship new file.
43879         * modules/futimens-tests (Files): Likewise.
43880         Reported in part by Jim Meyering.
43881
43882         sys_stat: sort replacement declarations
43883         * lib/sys_stat.in.h: Sort declarations.
43884         * lib/futimens.c (futimens): Fix typo.
43885
43886 2009-10-15  Jim Meyering  <meyering@redhat.com>
43887
43888         don't let environment settings perturb build
43889         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
43890         could cause a configure-time and/or build-time malfunction.
43891         Typically, a configure-time function-in-library test is performed
43892         via code like this:
43893
43894           LIB_VAR=
43895           AC_SUBST([LIB_VAR])
43896           prefix_saved_LIBS=$LIBS
43897             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
43898                        [test "$ac_cv_search_FUNC" = "none required" ||
43899                         LIB_VAR=$ac_cv_search_FUNC])
43900           LIBS=$prefix_saved_LIBS
43901
43902         However, in each of the files affected by this change, the LIB_VAR=
43903         initialization was omitted.  Thus, when set in the environment, its
43904         value would propagate into generated Makefiles when FUNC is not found
43905         in LIB_NAME.
43906         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
43907         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
43908         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
43909
43910 2009-10-14  Eric Blake  <ebb9@byu.net>
43911
43912         fchdir: avoid infinite recursion in mingw
43913         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
43914         recursing.
43915
43916         test-stat-time: port to mingw
43917         * tests/test-stat-time.c (force_unlink): Return a value.
43918         (test_ctime) [W32]: Fix compilation error.
43919         (nap): Don't call usleep with too large an argument.  Use
43920         force_unlink.
43921         * doc/pastposix-functions/usleep.texi (usleep): Document the
43922         portability issue.
43923
43924 2009-10-13  Jim Meyering  <meyering@redhat.com>
43925
43926         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
43927         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
43928         * modules/pipe-filter-ii: Likewise.
43929         * modules/sys_socket-tests: Likewise.
43930         * modules/tsearch-tests: Likewise.
43931         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
43932         (check): Depend on it.
43933
43934 2009-10-12  Eric Blake  <ebb9@byu.net>
43935
43936         utimens-tests: port to NFS file systems
43937         * tests/test-utimens.h (test_utimens): Refactor utimecmp
43938         comparisons to avoid spurious failures from timestamp drift
43939         between NFS machines.
43940
43941 2009-10-12  Eric Blake  <ebb9@byu.net>
43942
43943         stat-time-tests: minor cleanups
43944         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
43945         * tests/test-stat-time.c (nap): Separate assignment from call.
43946         Suggested by Paolo Bonzini and Bruno Haible.
43947
43948         sys_stat: guarantee struct timespec
43949         * lib/sys_stat.in.h (includes): Always include <time.h>
43950         * modules/sys_stat (Depends-on): Add time.
43951         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
43952         mode_t permission values.
43953         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
43954         get at subsecond timestamps.
43955
43956 2009-10-10  Eric Blake  <ebb9@byu.net>
43957
43958         futimens: new module
43959         * modules/futimens: New file.
43960         * lib/futimens.c (futimens): Likewise.
43961         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
43962         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
43963         we can work around Linux bugs.
43964         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
43965         * modules/sys_stat (Makefile.am): Substitute them.
43966         * lib/sys_stat.in.h (futimens): Declare it.
43967         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
43968         * doc/posix-functions/futimens.texi (futimens): Likewise.
43969         * modules/futimens-tests: New test.
43970         * tests/test-futimens.c: Likewise.
43971
43972         utimens: introduce fdutimens
43973         * lib/utimens.h (fdutimens): New prototype.
43974         * lib/utimens.c (gl_futimens): Move guts...
43975         (fdutimens): ...to new interface.
43976         * tests/test-utimens.c (do_fdutimens): Use it.
43977
43978         utimens: add UTIME_NOW and UTIME_OMIT support
43979         * lib/utimens.c (validate_timespec, update_timespec): New helper
43980         functions.
43981         (gl_futimens, lutimens): Use them.
43982         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
43983         stdbool, sys_stat.
43984         (Link): Mention resulting library dependency.
43985         * modules/utimecmp (Link): Likewise.
43986         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
43987         (Makefile.am): Pick up library dependency.
43988         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
43989         definition.
43990         * tests/test-sys_stat.c: Test the definitions.
43991         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
43992         * NEWS: Document library dependency.
43993
43994         utimecmp: support symlink timestamps
43995         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
43996         hashing when possible.  Use pathconf when available.
43997         (SYSCALL_RESOLUTION): Recognize tighter resolution.
43998         * modules/utimecmp (Depends-on): Add lstat.
43999
44000         utimens: add lutimens interface
44001         * lib/utimens.c (lutimens): New function.
44002         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
44003         * lib/utimens.h (lutimens): Declare new interface.
44004         * tests/test-utimens.c (main): Enhance test.
44005         * tests/test-lutimens.h (test_lutimens): New file.
44006         * modules/utimens-tests (Files): Distribute it.
44007         (Depends-on): Add symlink.
44008         (configure.ac): Check for usleep.
44009
44010         utimens: validate futimens usage
44011         * lib/utimens.c (gl_futimens): Require valid fd up front, using
44012         fewer syscalls on failure later on.  Avoid compiler warning on
44013         mingw.
44014         * modules/utimens (Depends-on): Add dup2.
44015
44016         utimens: add test
44017         * modules/utimens-tests: New test.
44018         * tests/test-utimens.h: New file.
44019         * tests/test-futimens.h: Likewise.
44020         * tests/test-utimens.c: Likewise.
44021
44022         doc: mention timestamp portability issues
44023         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
44024         instead.
44025         * doc/posix-functions/utime.texi (utime): Likewise.
44026         * doc/posix-functions/utimes.texi (utimes): Likewise.
44027         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
44028         instead.
44029         * doc/posix-functions/futimens.texi (futimens): Mention utimens
44030         module.
44031         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44032         Mention weakness with symlink timestamps.
44033         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
44034         to utimensat/futimens instead.
44035         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
44036
44037         test-dup2: enhance test
44038         * tests/test-dup2.c (main): Also check AT_FDCWD.
44039
44040         test-stat-time: avoid more spurious failures
44041         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
44042         xfs; and avoid race if the two timestamps cross quantization edge.
44043
44044         relocatable: prefer 'file system' over 'filesystem'
44045         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
44046         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
44047         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
44048         * doc/relocatable.texi (Enabling Relocatability): Likewise.
44049         * lib/relocatable.c (compute_curr_prefix): Likewise.
44050
44051 2009-10-10  Jim Meyering  <meyering@redhat.com>
44052
44053         stat-time-tests: check for the usleep function
44054         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
44055
44056 2009-10-10  Bruno Haible  <bruno@clisp.org>
44057
44058         * modules/xnanosleep: Put the Link section after the Include section.
44059
44060 2009-10-09  Eric Blake  <ebb9@byu.net>
44061
44062         dup2: work around FreeBSD 6.1 bug
44063         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
44064         * doc/posix-functions/dup2.texi (dup2): Document it.
44065         Reported by Nelson H. F. Beebe and Jim Meyering.
44066
44067         test-stat-time: port to buggy NFS clients
44068         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
44069         (test_ctime): Also skip test if mtime and ctime are skewed.
44070
44071         maint: prefer 'file system' over 'filesystem'
44072         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
44073         * doc/posix-functions/lstat.texi (lstat): Likewise.
44074         * lib/file-has-acl.c (file_has_acl): Likewise.
44075         * lib/fwriteerror.c [TEST]: Likewise.
44076         * tests/test-areadlink.h (test_areadlink): Likewise.
44077         * tests/test-areadlinkat-with-size.c (main): Likewise.
44078         * tests/test-areadlinkat.c (main): Likewise.
44079         * tests/test-canonicalize-lgpl.c (main): Likewise.
44080         * tests/test-canonicalize.c (main): Likewise.
44081         * tests/test-fstatat.c (main): Likewise.
44082         * tests/test-linkat.c (main): Likewise.
44083         * tests/test-lstat.h (test_lstat_func): Likewise.
44084         * tests/test-mkdir.h (test_mkdir): Likewise.
44085         * tests/test-readlink.h (test_readlink): Likewise.
44086         * tests/test-remove.c (main): Likewise.
44087         * tests/test-rename.h (test_rename): Likewise.
44088         * tests/test-renameat.c (main): Likewise.
44089         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44090         * tests/test-symlink.h (test_symlink): Likewise.
44091         * tests/test-symlinkat.c (main): Likewise.
44092         * tests/test-unlink.h (test_unlink_func): Likewise.
44093         * tests/test-unlinkat.c (main): Likewise.
44094
44095         maint: make realtime library usage explicit
44096         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
44097         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
44098         * modules/settime (Link): Likewise.
44099         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
44100
44101         test-stat-time: speed up execution
44102         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
44103         warning on mingw.
44104         (nap): New helper function.
44105         (prepare_test): Use it to reduce sleep time.
44106         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
44107         execution.
44108         * modules/stat-time-tests (configure.ac): Check for usleep.
44109
44110 2009-10-09  Jim Meyering  <meyering@redhat.com>
44111
44112         selinux-h: always use getfilecon wrappers
44113         * lib/getfilecon.c: New file.
44114         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
44115         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
44116         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
44117         (fgetfilecon): Provide a stub.
44118         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
44119         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
44120         file unconditionally.
44121         When <selinux/selinux.h> is found, arrange to use wrappers.
44122         * modules/selinux-h (Files): Add getfilecon.c.
44123         (Makefile.am): Substitute include-next-related bits
44124         into the now-always-generated selinux/selinux.h file.
44125         * doc/glibc-functions/lgetfilecon.texi: New file.
44126         * doc/glibc-functions/fgetfilecon.texi: New file.
44127         * doc/glibc-functions/getfilecon.texi: New file.
44128         * doc/glibc-functions/getfilecon-desc.texi: New file.
44129         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
44130         which to pull in the new files.
44131         * MODULES.html.sh (Misc): Add selinux-h.
44132
44133 2009-10-08  Jim Meyering  <meyering@redhat.com>
44134
44135         unistd: fix comment typo
44136         * lib/unistd.in.h (euidaccess): Fix a comment typo.
44137
44138 2009-10-08  Eric Blake  <ebb9@byu.net>
44139
44140         areadlink: use SIZE_MAX consistently
44141         * modules/areadlink (Depends-on): Add stdint.
44142         * modules/areadlink-with-size (Depends-on): Likewise.
44143         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
44144         gives NULL; drop sys/types, since unistd gives size_t; and add
44145         stdint for SIZE_MAX.
44146         (SIZE_MAX): Rely on headers.
44147         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
44148         and add stdint.
44149         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
44150         (SIZE_MAX): Likewise.
44151         (INITIAL_BUF_SIZE): Turn into enum.
44152         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
44153
44154 2009-10-08  Jim Meyering  <meyering@redhat.com>
44155
44156         areadlinkat: avoid compilation failure
44157         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
44158         Fix typo in comment.
44159
44160 2009-10-07  Eric Blake  <ebb9@byu.net>
44161
44162         areadlinkat-with-size: new module
44163         * modules/areadlinkat-with-size: New module.
44164         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
44165         * lib/areadlink.h (areadlinkat): Declare it.
44166         * MODULES.html.sh (File system functions): Mention it.
44167         * modules/areadlinkat-with-size-tests: New test.
44168         * tests/test-areadlinkat-with-size.c: New file.
44169
44170         xreadlinkat: new module
44171         * modules/xreadlinkat: New module.
44172         * lib/xreadlinkat.c (xreadlinkat): New file.
44173         * lib/xreadlink.h (xreadlinkat): Declare it.
44174         * MODULES.html.sh (File system functions): Mention it.
44175
44176         areadlinkat: new module
44177         * lib/at-func.c (FUNC_FAIL): New define.
44178         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
44179         * modules/areadlinkat: New module.
44180         * lib/linkat.c (areadlinkat): Move...
44181         * lib/areadlinkat.c (areadlinkat): ...to new file.
44182         * lib/areadlink.h (areadlinkat): Declare it.
44183         * modules/linkat (Depends-on): Add areadlinkat.
44184         * MODULES.html.sh (File system functions): Mention it.
44185         * modules/areadlinkat-tests: New test.
44186         * tests/test-areadlinkat.c: New file.
44187
44188         areadlink, areadlink-with-size: add tests
44189         * modules/areadlink-tests: New test.
44190         * modules/areadlink-with-size-tests: Likewise.
44191         * tests/test-areadlink.h: New file.
44192         * tests/test-areadlink.c: Likewise.
44193         * tests/test-areadlink-with-size.c: Likewise.
44194
44195         maint: minor cleanups
44196         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
44197         _UNUSED_PARAMETER_ instead.
44198         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
44199         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
44200         * modules/linkat-tests (Files): Distribute test-link.h.
44201
44202         openat, utimens: whitespace cleanup
44203         * lib/openat.c: Prefer space throughout, rather than mix of 8
44204         spaces vs. tabs.
44205         * lib/at-func.c: Likewise.
44206         * lib/utimens.c: Likewise.
44207
44208         openat: avoid using wrong fd
44209         * lib/openat.c (openat_permissive): Reject user's fd if saving the
44210         working directory chooses same fd.
44211         * lib/at-func.c (AT_FUNC_NAME): Likewise.
44212
44213         mkdir, mkdirat: fix cygwin 1.5.x bug
44214         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
44215         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
44216         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
44217         bug.
44218         (gl_PREREQ_MKDIR): Delete unused macro.
44219         * modules/mkdir (Files): Track file rename.
44220         (configure.ac): Update macro name.
44221         * modules/openat (Depends-on): Add mkdir.
44222         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
44223
44224         mkdir, mkdirat: add tests
44225         * modules/mkdir-tests: New test.
44226         * tests/test-mkdir.h: New file.
44227         * tests/test-mkdir.c: Likewise.
44228         * tests/test-mkdirat.c: Likewise.
44229         * modules/openat-tests (Files): Add new files.
44230         (Makefile.am): Run new test.
44231
44232 2009-10-06  Eric Blake  <ebb9@byu.net>
44233
44234         doc: tweak *at function documentation
44235         * doc/posix-functions/faccessat.texi (faccessat): Mention
44236         known issue with replacement.
44237         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
44238         * doc/posix-functions/linkat.texi (linkat): Likewise.
44239         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
44240         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
44241         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44242         * doc/posix-functions/renameat.texi (renameat): Likewise.
44243         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
44244
44245         openat: fix GNU/Hurd bug in unlinkat
44246         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
44247         broken.
44248         * doc/posix-functions/unlink.texi (unlink): Document this.
44249         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
44250
44251         fdopendir: fix GNU/Hurd bug
44252         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
44253         allowing non-directory fds.
44254         * lib/fdopendir.c (rpl_fdopendir): Work around it.
44255         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
44256         * modules/dirent (Makefile.am): Substitute it.
44257         * lib/dirent.in.h (fdopendir): Declare replacement.
44258         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
44259         * tests/test-fdopendir.c (main): Test something other than
44260         /dev/null, since on Hurd that behaves like a directory.
44261
44262         test-symlink: port to GNU/Hurd
44263         * tests/test-symlink.h (test_symlink): Relax expected errno.
44264
44265         doc: tweak more cygwin information
44266         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
44267         now compatible with glibc.
44268         * doc/posix-functions/getopt.texi (getopt): Likewise.
44269
44270         getopt-gnu: add another test
44271         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
44272         guarantee behavior relied on by m4.
44273         * tests/test-getopt.c (main): Use it.
44274         * modules/getopt-posix-tests (Depends-on): Add setenv.
44275         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
44276
44277         getopt: fix compilation on darwin
44278         * lib/getopt.in.h (includes): Leave breadcrumbs during system
44279         include.
44280         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
44281         Reported by Ludovic Courtès.
44282
44283 2009-10-06  Bruno Haible  <bruno@clisp.org>
44284
44285         * modules/size_max (Description): Discourage its use.
44286         Reported by Simon Josefsson.
44287
44288 2009-10-06  Jim Meyering  <meyering@redhat.com>
44289
44290         linkat: avoid compilation failure
44291         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
44292
44293 2009-10-05  Eric Blake  <ebb9@byu.net>
44294
44295         linkat: support Linux 2.6.17
44296         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
44297         linkat on Linux, but allow cache variable override.
44298         * lib/linkat.c (rpl_linkat): Define override.
44299         * modules/linkat (Depends-on): Add symlinkat.
44300         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
44301         * modules/unistd (Makefile.am): Substitute it.
44302         * lib/unistd.in.h (linkat): Declare replacement.
44303         Reported by Pádraig Brady.
44304
44305         quotearg: port test to systems with C.UTF-8 locale
44306         * tests/test-quotearg.c (struct result_strings): Add another
44307         member, differentiating between C.ASCII and C.UTF-8 handling.
44308         (compare_strings): Add parameter.
44309         (main): Adjust all callers.
44310
44311         getopt: avoid clash with FreeBSD _getopt_internal
44312         * lib/getopt.in.h (_getopt_internal): Override the name.
44313         * lib/getopt_int.h (includes): Pick up any overrides.
44314         Reported by Reuben Thomas.
44315
44316         hash: allow C89 compilation
44317         * lib/hash.c (check_tuning): Move declaration before statement.
44318         Reported by Reuben Thomas.
44319
44320 2009-10-05  Karl Berry  <karl@gnu.org>
44321
44322         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
44323
44324 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
44325             Bruno Haible  <bruno@clisp.org>
44326
44327         * lib/uname.c (uname): Use a table-driven algorithm to compute
44328         Windows NT versions.
44329
44330 2009-10-04  Bruno Haible  <bruno@clisp.org>
44331
44332         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
44333         program_invocation_short_name.
44334         * modules/progname (configure.ac): Test for presence of
44335         program_invocation_short_name.
44336         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
44337
44338 2009-10-04  Bruno Haible  <bruno@clisp.org>
44339
44340         * lib/progname.c (set_program_name): Fix comment.
44341         Reported by Jim Meyering.
44342
44343 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44344             Bruno Haible  <bruno@clisp.org>
44345
44346         * lib/uname.c: Include <string.h>.
44347         (uname): Do only one call to GetVersionEx in the common case.
44348
44349 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44350             Bruno Haible  <bruno@clisp.org>
44351
44352         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
44353         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
44354         (uname): Add support for Windows CE and various non-x86 CPU types.
44355
44356 2009-10-03  Bruno Haible  <bruno@clisp.org>
44357
44358         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
44359         invocation to tests/configure.ac.
44360         Reported by Ian Beckwith <ianb@erislabs.net>.
44361
44362 2009-10-02  Eric Blake  <ebb9@byu.net>
44363
44364         fchdir: avoid compiler warning
44365         * lib/fchdir.c (canonicalize_file_name)
44366         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
44367
44368         test-open: support mingw errno values
44369         * tests/test-open.h (test_open): Relax test.
44370         * tests/test-fopen.h (test_fopen): Likewise.
44371         * tests/test-openat-safer.c (main): Likewise.
44372
44373         open: fix opening directory on mingw
44374         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
44375
44376         test-open: on GNU/Hurd, /dev/null is a directory
44377         * tests/test-fopen.h (main): Rename...
44378         (test_fopen): ...to this.  Use a guaranteed non-directory when
44379         confirming open behavior on trailing slash.
44380         * tests/test-openat-safer.c (main): Likewise.
44381         * tests/test-open.h (main): Likewise....
44382         (test_open): ...to this.
44383         * tests/test-fopen.c (main): Adjust caller.
44384         * tests/test-fopen-safer.c (main): Likewise.
44385         * tests/test-open.c (main): Likewise.
44386         * tests/test-fcntl-safer.c (main): Likewise.
44387         Reported by Samuel Thibault.
44388
44389         rename, fchdir: don't ignore chdir failure
44390         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
44391         * lib/rename.c (rpl_rename) [W32]: Likewise.
44392         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
44393         an empty destination directory if source cannot be renamed,
44394         although there is still possibility for failure.
44395         * doc/posix-functions/rename.texi (rename): Document the race.
44396         Reported by Jim Meyering.
44397
44398         maint: cleanup whitespace in recent commits
44399         * lib/rename.c (rpl_rename): Remove tabs.
44400         * tests/test-link.h (test_link): Likewise.
44401         * lib/fchdir.c (get_name): Likewise.
44402         Reported by Jim Meyering.
44403
44404 2009-10-02  Ben Pfaff  <blp@gnu.org>
44405
44406         relocatable-prog-wrapper: Add missing dependency on
44407         double-slash-root.
44408         * modules/relocatable-prog-wrapper: Add dependency.
44409         Reported by Ian Beckwith <ianb@erislabs.net>.
44410
44411 2009-10-02  Eric Blake  <ebb9@byu.net>
44412
44413         renameat: fix Solaris bugs
44414         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
44415         needed fixing.
44416         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
44417         * modules/stdio (Makefile.am): Substitute it.
44418         * lib/stdio.in.h (renameat): Declare replacement.
44419         * lib/renameat.c (rpl_renameat): Implement fix.
44420
44421         renameat: new module
44422         * modules/renameat: New file.
44423         * lib/renameat.c (renameat): Likewise.
44424         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
44425         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44426         * modules/stdio (Makefile.am): Substitute them.
44427         * lib/stdio.in.h (renameat): Declare it.
44428         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44429         * doc/posix-functions/renameat.texi (renameat): Likewise.
44430         * modules/renameat-tests: New test.
44431         * tests/test-renameat.c: Likewise.
44432
44433         rename: fix mingw bugs
44434         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
44435         directory overwrite bugs.
44436
44437         rename: fix another cygwin 1.5 bug
44438         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
44439         checks.
44440         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
44441         unnecessary cygwin workarounds.  Also work around bug with moving
44442         full directory onto an empty one.
44443         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
44444
44445         rename-dest-slash: merge into rename module
44446         * modules/rename-dest-slash (Status): Mark obsolete.
44447         (Depends-on): Add rename.
44448         (Files): Let rename do it all.
44449         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
44450         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
44451         * m4/rename-dest-slash.m4: ...so this file can be deleted.
44452         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
44453         * lib/rename.c (rpl_rename): Update comments.
44454
44455         rename: fix cygwin 1.5.x bugs
44456         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
44457         * lib/rename.c (rpl_rename): Work around them.
44458         * modules/rename (Depends-on): Add same-inode.
44459
44460         rename: fix Solaris 10 bug
44461         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44462         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
44463         was the only bug.
44464
44465         rename: fix Solaris 9 bug
44466         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
44467         on non-directory.  Avoid calling exit.
44468         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
44469         strdup.
44470         * modules/rename-tests (Depends-on): Drop lstat.
44471         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44472         (gl_PREREQ_RENAME): Delete unused macro.
44473
44474         rename-dest-slash: fix NetBSD bug
44475         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
44476         links.
44477         * modules/rename-dest-slash (Depends-on): Add same-inode.
44478
44479         rename-tests: new test, exposes several platform bugs
44480         * modules/rename-tests: New file.
44481         * tests/test-rename.h: Likewise.
44482         * tests/test-rename.c: Likewise.
44483         * doc/posix-functions/rename.texi (rename): Improve documentation,
44484         including bugs that will eventually be fixed in gnulib.
44485
44486 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
44487
44488         * lib/uname.c: Include <stdlib.h>
44489         (uname): Assume version info is available.
44490
44491 2009-10-02  Jim Meyering  <meyering@redhat.com>
44492
44493         gnu-web-doc-update: correct --help output
44494         * build-aux/gnu-web-doc-update: Make --help output relevant.
44495
44496         gnu-web-doc-update: add standard options
44497         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
44498
44499         gnu-web-doc-update: New module.
44500         Use this script to automatically update the on-line web documentation
44501         for your GNU project at http://www.gnu.org/software/$pkg/manual/
44502         * modules/gnu-web-doc-update: New file, from coreutils.
44503         * build-aux/gnu-web-doc-update: New script.
44504
44505 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
44506
44507         link: LoadLibrary is not needed.
44508         * lib/link.c: Use GetModuleHandle.
44509
44510 2009-10-01  Eric Blake  <ebb9@byu.net>
44511
44512         getopt: bump serial number
44513         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
44514         change.
44515
44516         tests: tighten link, rmdir, and remove tests
44517         * tests/test-link.h (includes): No need to use <config.h> here.
44518         Clean up if directory hard link was created, otherwise test for
44519         trailing '.'.
44520         * tests/test-linkat.c (main): Simplify.
44521         * tests/test-remove.c (main): Enhance test for trailing '.'.
44522         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44523
44524 2009-10-01  Jim Meyering  <meyering@redhat.com>
44525
44526         maint.mk: requiring "make major" was annoying, for a "minor" release.
44527         What is intended is "stable", to contrast with alpha and beta,
44528         so require "make stable", not "make major".
44529         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
44530         (get_tool_versions): Likewise.
44531         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
44532
44533 2009-09-30  Ben Pfaff  <blp@gnu.org>
44534
44535         Fix broken build of replacement for Windows tmpfile().
44536         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
44537         flags argument added along with the 'mkostemp' module.
44538
44539 2009-09-28  Bruno Haible  <bruno@clisp.org>
44540
44541         Avoid identifier clash with POSIX function 'remove' defined as a macro.
44542         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
44543         to 'remove_elt'.
44544         (gl_list_remove): Update.
44545         * lib/gl_list.c (gl_list_remove): Update.
44546         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
44547         to 'remove_elt'.
44548         (gl_oset_remove): Update.
44549         * lib/gl_list.c (gl_oset_remove): Update.
44550         Reported by Eric Blake.
44551
44552 2009-09-28  Eric Blake  <ebb9@byu.net>
44553
44554         doc: mention yet more cygwin 1.7 status
44555         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
44556         cygwin.
44557         * doc/glibc-functions/execvpe.texi (execvpe): New file.
44558         * doc/gnulib.texi (Glibc unistd.h): Mention it.
44559
44560         argp: fix test failure
44561         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
44562         that are not upper-case.  Pass correct range to tolower.
44563
44564 2009-09-27  Jim Meyering  <meyering@redhat.com>
44565
44566         test-yesno: work around sparc-dash here-document infelicity
44567         Without this change, the literal \177 byte in a here document
44568         would make dash 0.5.5.1-3 access uninitialized memory.
44569         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
44570         Instead, use a marker, "@", and filter through tr to create the desired
44571         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
44572
44573 2009-09-27  Bruno Haible  <bruno@clisp.org>
44574
44575         Disable untested support for new flavours of ACLs on AIX.
44576         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
44577         progress.
44578         * lib/set-mode-acl.c (qset_acl): Likewise.
44579
44580 2008-12-07  Bruno Haible  <bruno@clisp.org>
44581
44582         Add support for new flavours of ACLs on AIX. (Untested.)
44583         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
44584         (file_has_acl): Add support for newer AIX.
44585         * lib/set-mode-acl.c (qset_acl): Likewise.
44586         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
44587         Rainer Tammer <tammer@tammer.net>.
44588
44589 2009-09-26  Eric Blake  <ebb9@byu.net>
44590
44591         argp: fix compilation of getopt
44592         * lib/getopt.in.h (includes): Use different guard than glibc.
44593         Reported by Sergey Poznyakoff.
44594
44595         doc: mention more cygwin 1.7 status
44596         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
44597         bug.
44598         * doc/posix-functions/execl.texi (execl): Likewise.
44599         * doc/posix-functions/execle.texi (execle): Likewise.
44600         * doc/posix-functions/execlp.texi (execlp): Likewise.
44601         * doc/posix-functions/execv.texi (execv): Likewise.
44602         * doc/posix-functions/execve.texi (execve): Likewise.
44603         * doc/posix-functions/execvp.texi (execvp): Likewise.
44604         * doc/glibc-functions/canonicalize_file_name.texi
44605         (canonicalize_file_name): Cygwin 1.7 now provides this.
44606         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
44607         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
44608         on AT_SYMLINK_NOFOLLOW.
44609
44610 2009-09-24  Eric Blake  <ebb9@byu.net>
44611
44612         test-linkat: make test more robust
44613         * tests/test-linkat.c (main): Avoid collision with EEXIST.
44614
44615         getopt: fix inclusion guards for cygwin
44616         * modules/getopt-posix (Depends-on): Add include-next.
44617         (Makefile.am): Substitute more items in replacement header.
44618         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
44619         <getopt.h>.
44620         * lib/getopt.in.h (includes): Use split inclusion guard, and
44621         prefer <getopt.h> over include <unistd.h> when one is present.
44622         (option): Also override name of 'struct option'.
44623
44624         same-inode: revert prior change; it is not yet ready
44625         * NEWS: Undo mention of this change.
44626         * lib/same-inode.h (same-inode.h): Undo tri-state change.
44627         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44628         * lib/cycle-check.c (cycle_check): Likewise.
44629         * lib/same.c (same_name): Likewise.
44630         * lib/at-func2.c (at_func2): Likewise.
44631
44632 2009-09-23  Eric Blake  <ebb9@byu.net>
44633
44634         linkat: new module
44635         * modules/linkat: New file.
44636         * lib/at-func2.c (at_func2): Likewise.
44637         * lib/linkat.c (linkat): Likewise.
44638         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
44639         * lib/openat-priv.h (at_func2): Add declaration.
44640         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44641         * modules/unistd (Makefile.am): Substitute them.
44642         * lib/unistd.in.h (linkat): Declare it.
44643         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44644         * doc/posix-functions/linkat.texi (linkat): Likewise.
44645         * doc/posix-functions/link.texi (link): Tweak wording.
44646         * tests/test-link.c (main): Move guts...
44647         * tests/test-link.h (test_link): ...into new file.
44648         * modules/linkat-tests: New test.
44649         * tests/test-linkat.c: Likewise.
44650         * modules/link-tests (Files): Ship new file.
44651         (Depends-on): Add stdbool.
44652
44653         dirname: add library-safe mdir_name
44654         * lib/dirname.h (mdir_name): New prototype.
44655         * lib/dirname.c (dir_name): Move guts...
44656         (mdir_name): ...to new function that avoids xalloc_die.
44657
44658         fchdir: another mingw fix
44659         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
44660         * lib/fchdir.c (get_name): New helper method; skips canonicalize
44661         on mingw (where it has not yet been ported), and make it optional
44662         elsewhere.
44663         (_gl_register_fd): Use it.
44664
44665         same-inode: make SAME_INODE tri-state, to port to mingw
44666         * NEWS: Mention this change.
44667         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
44668         st_ino always being 0.
44669         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44670         * lib/cycle-check.c (cycle_check): Likewise.
44671         * lib/same.c (same_name): Likewise.
44672
44673         lstat: avoid mingw compilation error
44674         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
44675         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
44676         lstat ourselves.
44677         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
44678         was adequate.
44679         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
44680         the checks for lstat.
44681         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
44682
44683         link: fix test failure on Solaris 9
44684         * lib/link.c (rpl_link): Don't assume link will catch bogus
44685         trailing slash on source.
44686
44687         test-symlinkat: enhance test
44688         * tests/test-readlink.c (main): Move guts...
44689         * tests/test-readlink.h (test_readlink): ...into new file.
44690         * tests/test-symlink.c (main): Move guts...
44691         * tests/test-symlink.h (test_symlink): ...into new file.
44692         * tests/test-symlinkat.c (main): Use new files for further
44693         coverage.
44694         (do_symlink, do_readlink): New helper functions.
44695         * modules/symlink-tests (Files): Ship new file.
44696         (Depends-on): Add stdbool.
44697         * modules/readlink-tests (Files): Ship new file.
44698         (Depends-on): Add stdbool.
44699         * modules/symlinkat-tests (Files): Use new files.
44700
44701 2009-09-23  Eric Blake  <ebb9@byu.net>
44702
44703         readlink: document portability issue with symlink length
44704         * doc/posix-functions/lstat.texi (lstat): Mention that some file
44705         systems have bogus st_size on symlinks, and mention the
44706         areadlink-with-size module.
44707         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
44708         * doc/posix-functions/readlink.texi (readlink): Mention the
44709         areadlink module, and ERANGE failure.
44710         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44711         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
44712
44713         readlink: fix Solaris 9 bug with trailing slash
44714         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
44715         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
44716         * doc/posix-functions/readlink.texi (readlink): Document this.
44717         * modules/readlink-tests: New test.
44718         * tests/test-readlink.c: Likewise.
44719
44720         readlink: fix cygwin 1.5.x bug with return type
44721         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
44722         * lib/unistd.in.h (readlink): Use ssize_t.
44723         * lib/readlink.c (readlink): Likewise.
44724         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44725         * modules/unistd (Makefile.am): Substitute it.
44726         * lib/unistd.in.h (readlink): Declare replacement.
44727         * doc/posix-functions/readlink.texi (readlink): Document this.
44728
44729         symlink: use throughout gnulib
44730         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
44731         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
44732         symlink is not used.
44733         * modules/symlinkat (Depends-on): Add symlink.
44734         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
44735         * modules/canonicalize-tests (Depends-on): Likewise.
44736         * modules/lstat-tests (Depends-on): Likewise.
44737         * modules/openat-tests (Depends-on): Likewise.
44738         * modules/remove-tests (Depends-on): Likewise.
44739         * modules/rmdir-tests (Depends-on): Likewise.
44740         * modules/unlink-tests (Depends-on): Likewise.
44741         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
44742         * tests/test-canonicalize.c (symlink): Likewise.
44743         * tests/test-fstatat.c (symlink): Likewise.
44744         * tests/test-lstat.c (symlink): Likewise.
44745         * tests/test-remove.c (symlink): Likewise.
44746         * tests/test-rmdir.c (symlink): Likewise.
44747         * tests/test-unlink.c (symlink): Likewise.
44748         * tests/test-unlinkat.c (symlink): Likewise.
44749
44750         symlink: new module, for Solaris 9 bug
44751         * modules/symlink: New file.
44752         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
44753         * lib/symlink.c: Likewise.
44754         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
44755         * modules/unistd (Makefile.am): Substitute them.
44756         * lib/unistd.in.h (symlink): Declare replacement.
44757         * MODULES.html.sh (File system functions): Mention it.
44758         * doc/posix-functions/symlink.texi (symlink): Likewise.
44759         * modules/symlink-tests: New test.
44760         * tests/test-symlink.c: Likewise.
44761
44762 2009-09-23  Bruno Haible  <bruno@clisp.org>
44763
44764         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
44765         when needed.
44766         Test case: gnulib-tool --import --with-tests atexit inttypes.
44767         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
44768
44769 2009-09-23  Bruno Haible  <bruno@clisp.org>
44770
44771         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
44772         subcommand, not in a subshell.
44773
44774 2009-09-22  Eric Blake  <ebb9@byu.net>
44775
44776         unistd: sort replacement declarations
44777         * lib/unistd.in.h: Sort declarations.
44778
44779         open, openat: minor optimization
44780         * lib/open.c (open): If open succeeded, len is non-zero.
44781         * lib/openat.c (rpl_openat): Likewise.
44782
44783         link-follow: ensure correct result
44784         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
44785         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
44786         distinguish between possible failures.
44787
44788 2009-09-21  Eric Blake  <ebb9@byu.net>
44789
44790         fts: avoid compiler warning
44791         * lib/fts.c (dirent_inode_sort_may_be_useful)
44792         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
44793
44794 2009-09-19  Bruno Haible  <bruno@clisp.org>
44795
44796         * lib/progreloc.c (canonicalize_file_name): New declaration.
44797
44798 2009-09-19  Eric Blake  <ebb9@byu.net>
44799
44800         link: fix quoting
44801         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
44802
44803         openat: fix openat bugs on Solaris 9
44804         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
44805         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
44806         * modules/openat (Depends-on): Add open.
44807         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
44808         * modules/fcntl-h (Makefile.am): Substitute it.
44809         * lib/fcntl.in.h (openat): Declare replacement.
44810         * doc/posix-functions/openat.texi (openat): Document this.
44811
44812         openat: move fstatat and unlinkat into correct files
44813         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
44814         compiled.
44815         * lib/openat.c (fstatat, unlinkat): Move...
44816         * lib/fstatat.c (fstatat): ...into correct files.
44817         * lib/unlinkat.c (unlinkat): Likewise.
44818
44819         openat: fix unlinkat bugs on Solaris 9
44820         * lib/unlinkat.c (unlinkat): New file.
44821         * modules/openat (Depends-on): Add unlink.
44822         (Files): Distribute it.
44823         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
44824         trailing slash behavior is broken.
44825         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
44826         * modules/unistd (Makefile.am): Substitute it.
44827         * lib/unistd.in.h (unlinkat): Declare replacement.
44828         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
44829
44830         openat: fix fstatat bugs on Solaris 9
44831         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
44832         stat.
44833         * doc/posix-functions/fstatat.texi (fstatat): Document this.
44834
44835         test-unlinkat: enhance test, to expose Solaris 9 bug
44836         * tests/test-unlink.c (main): Factor guts...
44837         * tests/test-unlink.h (test_rmdir_func): ...into new file.
44838         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
44839         * tests/test-rmdir.c (main): Adjust caller.
44840         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
44841         (unlinker): New helper function.
44842         (rmdirat): Enhance check.
44843         * modules/rmdir-tests (Depends-on): Add stdbool.
44844         * modules/unlink-tests (Depends-on): Likewise.
44845         (Files): Add test-unlink.h.
44846         * modules/openat-tests (Files): Likewise.
44847         (Depends-on): Add unlinkdir.
44848
44849         test-fstatat: new test, to expose Solaris 9 bugs
44850         * tests/test-stat.c (main): Factor guts...
44851         * tests/test-stat.h (test_stat_func): ...into new file.
44852         * tests/test-lstat.c (main): Factor guts...
44853         * tests/test-lstat.h (test_lstat_func): ...into new file.
44854         * tests/test-fstatat.c: New file.
44855         * modules/stat-tests (Files): Add test-stat.h.
44856         * modules/lstat-tests (Files): Add test-lstat.h.
44857         (Depends-on): Add stdbool.
44858         * modules/openat-tests (Depends-on): Add pathmax.
44859         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
44860         (Makefile.am): Run new test.
44861
44862         remove: new module, for mingw and Solaris 9 bugs
44863         * modules/remove: New file.
44864         * lib/remove.c: Likewise.
44865         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
44866         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44867         * modules/stdio (Makefile.am): Use them.
44868         * lib/stdio.in.h (remove): Declare replacement.
44869         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44870         * doc/posix-functions/remove.texi (remove): Likewise.
44871         * modules/remove-tests: New test.
44872         * tests/test-remove.c: Likewise.
44873
44874         unlink: new module, for Solaris 9 bug
44875         * modules/unlink: New file.
44876         * lib/unlink.c: Likewise.
44877         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
44878         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44879         * modules/unistd (Makefile.am): Use them.
44880         * lib/unistd.in.h (stat): Declare replacement.
44881         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44882         * doc/posix-functions/unlink.texi (unlink): Likewise.
44883         * modules/unlink-tests: New test.
44884         * tests/test-unlink.c: Likewise.
44885
44886         lstat: fix Solaris 9 bug
44887         * lib/lstat.c (lstat): Also check for trailing slash on
44888         non-symlink, non-directories.  Use stat module to simplify logic.
44889         * doc/posix-functions/lstat.texi (lstat): Document it.
44890         * modules/lstat-tests (Depends-on): Add errno, same-inode.
44891         (configure.ac): Check for symlink.
44892         * tests/test-lstat.c (main): Add more tests.
44893
44894         stat: add as dependency to other modules
44895         * modules/chown (Depends-on): Add stat.
44896         * modules/euidaccess (Depends-on): Likewise.
44897         * modules/fchdir (Depends-on): Likewise.
44898         * modules/isdir (Depends-on): Likewise.
44899         * modules/link (Depends-on): Likewise.
44900         * modules/lstat (Depends-on): Likewise.
44901         * modules/mkdir-p (Depends-on): Likewise.
44902         * modules/modechange (Depends-on): Likewise.
44903         * modules/open (Depends-on): Likewise.
44904         * modules/readlink (Depends-on): Likewise.
44905         * modules/same (Depends-on): Likewise.
44906
44907         stat: fix Solaris 9 bug
44908         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
44909         slash.
44910         * lib/stat.c (rpl_stat): Work around it.
44911         * doc/posix-functions/stat.texi (stat): Update documentation.
44912
44913         stat: new module, for mingw bug
44914         * modules/stat: New file.
44915         * lib/stat.c: Likewise.
44916         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
44917         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44918         * modules/sys_stat (Makefile.am): Use them.
44919         * lib/sys_stat.in.h (stat): Declare replacement.
44920         * lib/openat.c (fstatat): Deal with lstat and stat being function
44921         macros.
44922         * modules/openat (Depends-on): Add inline.
44923         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44924         * doc/posix-functions/stat.texi (stat): Likewise.
44925         * modules/stat-tests: New test.
44926         * tests/test-stat.c: Likewise.
44927
44928 2009-09-19  Jim Meyering  <meyering@redhat.com>
44929
44930         syntax-check: detect unnecessary inclusion of canonicalize.h
44931         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
44932
44933 2009-09-19  Eric Blake  <ebb9@byu.net>
44934
44935         canonicalize-lgpl: adjust clients to use correct header
44936         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
44937         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
44938         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
44939         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
44940         * lib/progreloc.c (includes): Likewise.
44941
44942 2009-09-19  Jim Meyering  <meyering@redhat.com>
44943
44944         test-posixtm.c: correct a comment
44945         * tests/test-posixtm.c: Correct first-line comment.
44946         Spotted by Eric Blake.
44947
44948 2009-09-16  Jim Meyering  <meyering@redhat.com>
44949
44950         posixtm-tests: make T const-correct; add a test case
44951         * tests/test-posixtm.c (T): Declare const.
44952         Add a test for -(2^31+1).
44953         Remove useless can-succeed-only-in-2002 test.
44954
44955         posixtm-tests: adjust the sole failing test
44956         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
44957         expected output matches what mktime now produces.  Cross-checked via
44958         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
44959
44960         posixtm: move #ifdef'd tests into a new module
44961         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
44962         * tests/test-posixtm.c: ... this new file.
44963         * modules/posixtm-tests: New module.
44964
44965 2009-09-19  Eric Blake  <ebb9@byu.net>
44966
44967         openat: simplify use of at-func.c
44968         * lib/at-func.c (includes): Include prerequisites here, to
44969         simplify requirements on client files.
44970         * lib/openat-priv.h: Add double-inclusion guard.
44971         * lib/faccessat.c (includes): Simplify.
44972         * lib/fchmodat.c (includes): Likewise.
44973         * lib/fchownat.c (includes): Likewise.
44974         * lib/mkdirat.c (includes): Likewise.
44975         * lib/mkfifoat.c (includes): Likewise.
44976         * lib/symlinkat.c (includes): Likewise.
44977
44978         openat: allow return of fd 0
44979         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
44980         * modules/save-cwd (Depends-on): Replace fcntl-safer with
44981         unistd-safer.
44982         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
44983         <fcntl.h>; this module does not leak fds.
44984         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
44985         must be allowed to return 0, leaving openat_safer to add the
44986         safety.
44987         (openat_permissive): Avoid writing to just-opened fd 2 if
44988         restoring the current directory fails.
44989         * lib/openat-die.c (openat_restore_fail): Add comment.
44990         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
44991         (save_cwd): Guarantee safe fd, but without use of open_safer.
44992         * tests/test-openat.c: New test.
44993         * modules/openat-tests (Files, Makefile.am): Distribute and build
44994         new file.
44995
44996         relocatable-prog-wrapper: fix build
44997         * modules/relocatable-prog-wrapper (Files): Update name of
44998         canonicalize m4 file, broken on 2009-09-17.
44999         Reported by emad hajjar <aleppos@hotmail.com>.
45000
45001 2009-09-19  Bruno Haible  <bruno@clisp.org>
45002
45003         * lib/safe-alloc.h: Use the standard header with GPL copyright.
45004         * lib/safe-alloc.c: Likewise.
45005         Reported by Ian Beckwith <ianb@erislabs.net>.
45006
45007 2009-09-18  Bruno Haible  <bruno@clisp.org>
45008
45009         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
45010         Reported by <erobles@sensacd.com.mx>.
45011
45012 2009-09-17  Eric Blake  <ebb9@byu.net>
45013
45014         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
45015         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
45016         slashes when checking if last component is missing.
45017         * tests/test-canonicalize.c (main): Test this.
45018
45019         canonicalize, canonicalize-lgpl: honor // if distinct from /
45020         * modules/canonicalize (Files): Add double-slash-root.m4.
45021         * modules/canonicalize-lgpl (Files): Likewise.
45022         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
45023         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
45024         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
45025         fallback definition.
45026         (canonicalize_filename_mode): Use it to protect //.
45027         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
45028         (__realpath): Likewise.
45029         * tests/test-canonicalize.c (main): Test this.
45030         * tests/test-canonicalize-lgpl.c (main): Likewise.
45031         * modules/canonicalize-tests (Depends-on): Add same-inode.
45032         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
45033
45034         canonicalize-lgpl: fix glibc bug with trailing slash
45035         * m4/canonicalize-lgpl.m4: Move contents...
45036         * m4/canonicalize.m4: ...here.
45037         (gl_CANONICALIZE_LGPL): Factor realpath check...
45038         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
45039         glibc 2.3.5 bug, fixed 2005-04-27.
45040         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
45041         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
45042         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
45043         * modules/canonicalize-lgpl (Files): Manage file rename.
45044         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45045         * modules/stdlib (Makefile.am): Substitute witness.
45046         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
45047         is needed.
45048         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
45049         replacement is required.
45050         * lib/canonicalize.c (canonicalize_file_name): Likewise.
45051         * doc/glibc-functions/canonicalize_file_name.texi
45052         (canonicalize_file_name): Document this.
45053         * doc/posix-functions/realpath.texi (realpath): Likewise.
45054
45055         canonicalize-lgpl: reject non-directory with trailing slash
45056         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
45057         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
45058         catches failures in glibc 2.3.5.
45059         * tests/test-canonicalize.c (main): Likewise.
45060
45061         canonicalize-lgpl: use native realpath if it works
45062         * lib/canonicalize-lgpl.c (realpath): Guard with
45063         FUNC_REALPATH_WORKS.
45064         * lib/stdlib.in.h (realpath): Make declaration optional based on
45065         HAVE_REALPATH.
45066         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
45067         native realpath works.
45068         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45069         * modules/stdlib (Makefile.am): Substitute witness.
45070
45071         canonicalize, canonicalize-lgpl: use <stdlib.h>
45072         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
45073         (Include): Mention <stdlib.h>.
45074         (configure.ac): Mention functions we provide.
45075         * modules/canonicalize (configure.ac): Likewise.
45076         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
45077         realpath if canonicalize_file_name is missing.
45078         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
45079         * modules/stdlib (Makefile.am): Substitute witnesses.
45080         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
45081         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
45082         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
45083         * NEWS: Document this.
45084         * doc/glibc-functions/canonicalize_file_name.texi
45085         (canonicalize_file_name): Likewise.
45086         * doc/posix-functions/realpath.texi (realpath): Likewise.
45087         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
45088
45089         test-canonicalize: consolidate into single C program
45090         * tests/test-canonicalize.sh: Delete; move setup into...
45091         * tests/test-canonicalize.c (main): ...the program, making it
45092         easier to run in debugger.  Add some tests.
45093         * modules/canonicalize-tests (Files): Remove unused file.
45094         (Depends-on): Add progname.
45095         (configure.ac, Makefile.am): Simplify.
45096
45097         test-canonicalize-lgpl: consolidate into single C program
45098         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
45099         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
45100         easier to run in debugger.  Add some tests.
45101         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
45102         (configure.ac, Makefile.am): Simplify.
45103
45104         canonicalize: avoid resolvepath
45105         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
45106         unnecessary checks.
45107         * lib/canonicalize.c (includes): Simplify.
45108         (canonicalize_file_name): Drop resolvepath implementation.
45109         * modules/canonicalize (Depends-on): Drop filenamecat.
45110
45111         canonicalize: don't lose errno
45112         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
45113         over calls to free.
45114
45115         canonicalize: simplify errno handling
45116         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
45117         assignment.
45118
45119         canonicalize, canonicalize-lgpl: update module dependencies
45120         * modules/canonicalize (Depends-on): Add extensions, lstat,
45121         pathmax, stdlib.
45122         (Files): Drop pathmax.h.
45123         (configure.ac): Adjust macro name.
45124         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
45125         lstat, stdlib, sys_stat.
45126         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
45127         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
45128         extensions.
45129         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
45130         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
45131         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
45132         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
45133         declaration, if available.
45134         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
45135         we can rely on the readlink module.
45136         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
45137         (includes): Use <unistd.h> unconditionally.
45138
45139 2009-09-17  Eric Blake  <ebb9@byu.net>
45140
45141         maint: make Include sections of modules consistent
45142         * modules/alloca: Use only header name; no need to list #include.
45143         * modules/alloca-opt: Likewise.
45144         * modules/arpa_inet: Likewise.
45145         * modules/canon-host: Likewise.
45146         * modules/configmake: Likewise.
45147         * modules/dirent: Likewise.
45148         * modules/eealloc: Likewise.
45149         * modules/environ: Likewise.
45150         * modules/fchdir: Likewise.
45151         * modules/fcntl: Likewise.
45152         * modules/fcntl-h: Likewise.
45153         * modules/gethrxtime: Likewise.
45154         * modules/gettime: Likewise.
45155         * modules/ignore-value: Likewise.
45156         * modules/inet_ntop: Likewise.
45157         * modules/inet_pton: Likewise.
45158         * modules/inttypes: Likewise.
45159         * modules/isnand-nolibm: Likewise.
45160         * modules/isnanf-nolibm: Likewise.
45161         * modules/mbchar: Likewise.
45162         * modules/mbfile: Likewise.
45163         * modules/mbiter: Likewise.
45164         * modules/mbuiter: Likewise.
45165         * modules/netdb: Likewise.
45166         * modules/netinet_in: Likewise.
45167         * modules/nproc: Likewise.
45168         * modules/pagealign_alloc: Likewise.
45169         * modules/poll: Likewise.
45170         * modules/printf-frexp: Likewise.
45171         * modules/pthread: Likewise.
45172         * modules/putenv: Likewise.
45173         * modules/random_r: Likewise.
45174         * modules/relocatable-prog: Likewise.
45175         * modules/search: Likewise.
45176         * modules/select: Likewise.
45177         * modules/selinux-h: Likewise.
45178         * modules/settime: Likewise.
45179         * modules/signal: Likewise.
45180         * modules/size_max: Likewise.
45181         * modules/socklen: Likewise.
45182         * modules/ssize_t: Likewise.
45183         * modules/stdarg: Likewise.
45184         * modules/stdbool: Likewise.
45185         * modules/stddef: Likewise.
45186         * modules/stdint: Likewise.
45187         * modules/stdio: Likewise.
45188         * modules/stdlib: Likewise.
45189         * modules/string: Likewise.
45190         * modules/strings: Likewise.
45191         * modules/sys_file: Likewise.
45192         * modules/sys_ioctl: Likewise.
45193         * modules/sys_select: Likewise.
45194         * modules/sys_socket: Likewise.
45195         * modules/sys_stat: Likewise.
45196         * modules/sys_time: Likewise.
45197         * modules/sys_times: Likewise.
45198         * modules/sys_utsname: Likewise.
45199         * modules/sys_wait: Likewise.
45200         * modules/sysexits: Likewise.
45201         * modules/time: Likewise.
45202         * modules/times: Likewise.
45203         * modules/tmpfile: Likewise.
45204         * modules/trim: Likewise.
45205         * modules/unistd: Likewise.
45206         * modules/wchar: Likewise.
45207         * modules/wctype: Likewise.
45208
45209 2009-09-17  Bruno Haible  <bruno@clisp.org>
45210
45211         Make getdate.y compile on QNX and NetBSD 5 / i386.
45212         * m4/getdate.m4 (gl_GETDATE): Conditionally define
45213         TIME_T_FITS_IN_LONG_INT.
45214         * lib/getdate.y (long_time_t): New type.
45215         (relative_time): Change type of 'seconds' field to long_time_t.
45216         (get_date): Update types of local variables. Check against overflow
45217         during conversion from long_time_t to time_t.
45218         Reported by Matt Kraai <kraai@ftbfs.org>
45219         and Hasso Tepper <hasso@netbsd.org>.
45220
45221 2009-09-17  Bruno Haible  <bruno@clisp.org>
45222
45223         * modules/COPYING: Update copyright years.
45224         * modules/README: Likeiwse.
45225         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
45226         Reported by Ian Beckwith <ianb@erislabs.net>.
45227
45228 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45229
45230         * users.txt: Update references for gnuit package.
45231
45232 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45233
45234         * m4/getdelim.m4: Fix typo in copyright line.
45235
45236 2009-09-17  Bruno Haible  <bruno@clisp.org>
45237
45238         * lib/atoll.c: Use the standard header with GPL copyright.
45239         * lib/argz.in.h: Likewise.
45240         * lib/glob.c: Likewise.
45241         * lib/glob-libc.h: Likewise.
45242         * lib/random_r.c: Likewise.
45243         * lib/siglist.h: Likewise.
45244         * lib/strsignal.c: Likewise.
45245         Reported by Ian Beckwith <ianb@erislabs.net>.
45246
45247 2009-09-17  Eric Blake  <ebb9@byu.net>
45248
45249         rmdir: ensure correct dependency order
45250         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
45251
45252 2009-09-17  Bruno Haible  <bruno@clisp.org>
45253
45254         Disable assertion that fails on NetBSD 5 / i386.
45255         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
45256         Reported by Sam Steingold <sds@gnu.org>
45257         and Hasso Tepper <hasso@netbsd.org>.
45258
45259 2009-09-16  Eric Blake  <ebb9@byu.net>
45260
45261         unlinkdir: port to mingw
45262         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
45263         on which no one can unlink a directory.
45264
45265         stdlib: sort witness names
45266         * modules/stdlib (Makefile.am): Sort replacements.
45267         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
45268         * lib/stdlib.in.h: Likewise.
45269
45270         parse-duration-tests: avoid link failure
45271         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
45272         LIBINTL.
45273         Reported by Tom G. Christensen.
45274
45275         openat-tests: ensure unlinkat behaves like rmdir
45276         * tests/test-rmdir.c (main): Factor guts...
45277         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
45278         * modules/rmdir-tests (Files): Ship new file.
45279         * modules/openat-tests: New test.
45280         * tests/test-unlinkat.c: Likewise.
45281
45282         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
45283         * modules/rmdir-errno (Status, Notice): Now obsolete.
45284
45285         rmdir: work around cygwin 1.5.x and mingw bugs
45286         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
45287         * lib/rmdir.c (rmdir): Work around it.
45288         * modules/rmdir (Status, Notice): No longer obsolete.
45289         (Files): Add dos.m4.
45290         (Depends-on): Add unistd.
45291         (configure.ac): Set witnesses.
45292         (License): Relax to LGPLv2+.
45293         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
45294         * modules/unistd (Makefile.am): Substitute witnesses.
45295         * lib/unistd.in.h (rmdir): Declare replacement.
45296         * doc/posix-functions/rmdir.texi (rmdir): Document this.
45297         * modules/rmdir-tests: New tests.
45298         * tests/test-rmdir.c: Likewise.
45299
45300 2009-09-15  Eric Blake  <ebb9@byu.net>
45301
45302         fchdir: improve use of replacement functions
45303         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
45304         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
45305         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
45306         REPLACE_CLOSEDIR.
45307         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
45308         * modules/sys_stat (Makefile.am): Substitute correct witness.
45309         * modules/dirent (Makefile.am): Likewise.
45310         * modules/unistd (Makefile.am): Likewise.
45311         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
45312         * lib/unistd.in.h (dup): Likewise.
45313         * lib/sys_stat.in.h (fstat): Likewise.
45314
45315         maint: ignore gnulib-tool temp files
45316         * .gitignore: Ignore files created during gnulib-tool --test.
45317
45318 2009-09-13  Jim Meyering  <meyering@redhat.com>
45319
45320         posixtm: don't reject a time that specify "60" as the number of seconds
45321         * lib/posixtm.c (posixtime): The code to reject invalid dates
45322         would also reject a time specified with the .60 suffix.
45323         But POSIX allows that, in order to accommodate leap seconds.
45324         So don't reject it.
45325         (main): Adjust tests accordingly.
45326         * modules/posixtm (Depends-on): Add stpcpy.
45327
45328 2009-09-11  Jim Meyering  <meyering@redhat.com>
45329
45330         announce-gen: include [$release_type] in emitted Subject:
45331         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
45332         e.g., [stable] in the emitted Subject: line.
45333
45334 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45335
45336         Remove obsolete macros from several modules.
45337         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
45338         obsolete Autoconf macros with their modern counterparts.
45339         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
45340         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
45341         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
45342         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
45343         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
45344         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45345         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
45346         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
45347         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
45348         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
45349         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
45350         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
45351         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
45352         * m4/sockets.m4 (gl_SOCKETS): Likewise.
45353         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
45354         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
45355         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
45356         * m4/time_r.m4 (gl_TIME_R): Likewise.
45357         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
45358         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
45359         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
45360
45361         Fix copyright header in build-aux scripts.
45362         * build-aux/git-version-gen: Fix copyright header to match GPLv3
45363         recommendation.
45364         * build-aux/ncftpput-ftp: Likewise.
45365         * build-aux/update-copyright: Likewise.
45366
45367 2009-09-09  Eric Blake  <ebb9@byu.net>
45368
45369         test-link: allow Linux choice of errno
45370         * tests/test-link.c (main): Relax test for alternate error.
45371
45372         strndup: fix improper m4 caching
45373         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
45374         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
45375         (gl_PREREQ_STRNDUP): Delete.
45376         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
45377         * modules/string (Makefile.am): Substitute it.
45378         * lib/string.in.h (strndup): Modernize prototype.
45379
45380         getcwd: port to mingw
45381         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
45382         different from the POSIX assumptions made throughout the getcwd
45383         module; fortunately, the mingw getcwd does not need replacement.
45384         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
45385         * modules/getcwd-tests: New test.
45386         * tests/test-getcwd.c: Likewise.
45387
45388         link: fix platform bugs
45389         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
45390         * lib/link.c (link): Work around them.  Fix related mingw bug.
45391         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
45392         * modules/unistd (Makefile.am): Substitute it.
45393         * lib/unistd.in.h (link): Declare replacement.
45394         * doc/posix-functions/link.texi (link): Document this.
45395         * modules/link (Depends-on): Add strdup-posix, sys_stat.
45396
45397         test-link: consolidate into single C program, test more cases
45398         * tests/test-link.sh: Delete.
45399         * tests/test-link.c: Test more error conditions.  Exposes bugs on
45400         at least Cygwin and Solaris.
45401         * modules/link-tests (Files): Remove unused file.
45402         (Depends-on): Add errno, sys_stat.
45403         (Makefile.am): Simplify.
45404
45405 2009-09-08  Bruno Haible  <bruno@clisp.org>
45406
45407         Work around towlower, towupper bug on mingw.
45408         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
45409         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
45410         * doc/posix-functions/towlower.texi: Mention the mingw bug.
45411         * doc/posix-functions/towupper.texi: Likewise.
45412         Reported by Eric Blake.
45413
45414 2009-09-08  Jim Meyering  <meyering@redhat.com>
45415
45416         build: don't try to run autoheader if we don't use it
45417         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
45418         is not used in configure.ac.
45419
45420 2009-09-08  Eric Blake  <ebb9@byu.net>
45421
45422         euidaccess: fix compilation error
45423         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
45424
45425         rawmemchr: relax license
45426         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
45427         okay.
45428         Reported by Jim Meyering.
45429
45430         mkfifoat: new module
45431         * modules/mkfifoat: New file.
45432         * lib/mkfifoat.c: Likewise.
45433         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
45434         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
45435         * modules/sys_stat (Makefile.am): Use them.
45436         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
45437         * MODULES.html.sh (File system functions): Mention module.
45438         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
45439         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
45440         * modules/mkfifoat-tests: New test.
45441         * tests/test-mkfifoat.c: Likewise.
45442
45443         strchrnul: relax license
45444         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
45445         okay.
45446         Reported by Jim Meyering.
45447
45448 2009-09-08  Eric Blake  <ebb9@byu.net>
45449
45450         fstatat: fix compilation on Solaris
45451         * lib/fstatat.c (includes): Add fcntl.h.
45452         Reported by Pádraig Brady.
45453
45454 2009-09-07  Eric Blake  <ebb9@byu.net>
45455
45456         rename: modernize replacement
45457         * modules/rename (Depends-on): Add stdio.
45458         (configure.ac): Declare witness.
45459         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
45460         stdio take care of replacement.
45461         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
45462         * modules/stdio (Makefile.am): Substitute them.
45463         * lib/stdio.in.h (rename): Declare replacement.
45464         * lib/rename.c (includes): Allow cross-compilation to non-windows
45465         machines.
45466         * doc/posix-functions/rename.texi (rename): Improve
45467         documentation.
45468
45469         stdio: sort witness names
45470         * modules/stdio (Makefile.am): Sort replacements.
45471         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
45472         * lib/stdio.in.h: Likewise.
45473
45474         getcwd: minor cleanups
45475         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
45476         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
45477
45478         openat: provide more convenience names
45479         * modules/faccessat (configure.ac): Add C witness.
45480         * lib/unistd.in.h (readlinkat): Fix typo.
45481         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
45482         convenience wrappers.
45483         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
45484         wrappers in syntax checks.
45485
45486 2009-09-06  Eric Blake  <ebb9@byu.net>
45487
45488         doc: fix comments in recent patches
45489         * lib/faccessat.c: Mention correct function.
45490         * lib/fchmodat.c: Likewise.
45491         * lib/fchownat.c: Likewise.
45492         * lib/symlinkat.c: Likewise.
45493         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
45494         constants.
45495
45496         faccessat, symlinkat: continue cleanup of previous patch
45497         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
45498         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45499         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
45500         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
45501         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
45502         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
45503         set.
45504
45505 2009-09-06  Bruno Haible  <bruno@clisp.org>
45506
45507         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
45508         (fstatat): Declare if GNULIB_FSTATAT is set.
45509         (mkdirat): Declare if GNULIB_MKDIRAT is set.
45510         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
45511         (unlinkat): Declare if GNULIB_UNLINKAT is set.
45512         * modules/fcntl-h (Files): Remove m4/openat.m4.
45513         * modules/sys_stat (Files): Remove m4/openat.m4.
45514         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
45515         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
45516         * modules/unistd (Files): Remove m4/openat.m4.
45517         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
45518         GNULIB_OPENAT.
45519         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
45520         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
45521         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
45522         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
45523         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
45524         gl_OPENAT_DEFAULTS.
45525         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
45526         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
45527         Don't require gl_OPENAT_DEFAULTS.
45528         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
45529         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
45530         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
45531         (gl_OPENAT_DEFAULTS): Remove macro.
45532
45533 2009-09-06  Bruno Haible  <bruno@clisp.org>
45534
45535         * modules/openat (configure.ac): Remove unneeded witness.
45536
45537 2009-09-06  Bruno Haible  <bruno@clisp.org>
45538
45539         Set errno to ENOSYS when a function is entirely unsupported.
45540         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
45541         EOPNOTSUPP.
45542         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
45543         * modules/chown (Depends-on): Remove errno.
45544
45545 2009-09-06  Bruno Haible  <bruno@clisp.org>
45546
45547         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
45548
45549 2009-09-06  Bruno Haible  <bruno@clisp.org>
45550
45551         * lib/sys_stat.in.h: Fix preprocessor command indentation.
45552
45553 2009-09-06  Ben Pfaff  <blp@gnu.org>
45554             Bruno Haible  <bruno@clisp.org>
45555
45556         Work around a glibc bug in strtok_r.
45557         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
45558         Undefine if UNDEFINE_STRTOK_R is set.
45559         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
45560         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
45561         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
45562         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
45563         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
45564         UNDEFINE_STRTOK_R.
45565         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
45566
45567 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
45568
45569         exclude: minor fix
45570         * lib/exclude.c: Include wctype.h
45571
45572 2009-09-06  Akim Demaille  <demaille@gostai.com>
45573
45574         bootstrap: improve error message
45575         * build-aux/bootstrap (find_tool): Upon failure, report the list
45576         of candidates.
45577         Honor the initial value of the envvar.
45578
45579 2009-09-05  Eric Blake  <ebb9@byu.net>
45580
45581         symlinkat: new module
45582         * modules/symlinkat: New file.
45583         * lib/symlinkat.c: Likewise.
45584         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
45585         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45586         * modules/unistd (Makefile.am): Use them.
45587         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
45588         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
45589         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
45590         * MODULES.html.sh (File system functions): Mention module.
45591         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
45592         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
45593         * modules/symlinkat-tests: New test.
45594         * tests/test-symlinkat.c: Likewise.
45595
45596         test-openat-safer: add more checks
45597         * tests/test-openat-safer.c (main): Check more code paths.
45598
45599 2009-09-05  Jim Meyering  <meyering@redhat.com>
45600
45601         syntax-check: detect unnecessary inclusion of openat.h
45602         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
45603
45604 2009-09-05  Bruno Haible  <bruno@clisp.org>
45605
45606         Support towlower, towupper.
45607         * doc/posix-functions/towlower.texi: Mention module wctype.
45608         * doc/posix-functions/towupper.texi: Likewise.
45609         * lib/wctype.in.h (towlower, towupper): New functions.
45610         * tests/test-wctype.c: Include stdio.h, stdlib.h.
45611         (ASSERT): New macro.
45612         (e): New variable.
45613         (main): Test also towlower, towupper. Test WEOF argument.
45614         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45615
45616 2009-09-05  Bruno Haible  <bruno@clisp.org>
45617
45618         Fix conversion behaviour when the input is invalid.
45619         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
45620         mark occurring in first pass of indirect conversion.
45621         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
45622         input.
45623         Found by clang's static analyzer.
45624
45625 2009-09-05  Bruno Haible  <bruno@clisp.org>
45626
45627         * tests/test-striconveh.c (main): Test indirect conversion on platforms
45628         where direct conversion is possible.
45629
45630 2009-09-04  Eric Blake  <ebb9@byu.net>
45631
45632         openat: fail with ENOENT on empty name
45633         * lib/openat-proc.c (openat_proc_name): Special-case the empty
45634         buffer.
45635
45636         link-follow: fix logic bug in prior patch
45637         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
45638         reversed sense of yes and no in prior patch.  Avoid confusing
45639         compilation failure with desired semantics.
45640
45641         link-follow: accommodate mingw and cross-compilation
45642         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
45643         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
45644         cross-compilation results to -1, to make linkat easier to
45645         implement when cross-compiling.  Trivially support mingw.
45646         * modules/link-follow (configure.ac): Call new name.
45647         * NEWS: Mention this.
45648
45649 2009-09-03  Eric Blake  <ebb9@byu.net>
45650
45651         faccessat: compile replacement
45652         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
45653         needed.
45654
45655         fts: fix compilation error
45656         * lib/fts.c (includes): Re-add "openat.h", for
45657         openat_needs_fchdir.
45658
45659         faccessat: new module
45660         * modules/faccessat: New file.
45661         * lib/faccessat.c: Likewise.
45662         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45663         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45664         * modules/unistd (Makefile.am): Use it.
45665         * lib/unistd.in.h (faccessat): Declare it.
45666         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
45667         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
45668         * MODULES.html.sh (File system functions): Mention it.
45669         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
45670         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
45671
45672         euidaccess: prefer POSIX over non-standard implementation
45673         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
45674         * lib/euidaccess.c (euidaccess): Use it if available.
45675
45676         openat: make template easier to use
45677         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
45678         AT_FUNC_F2 to be undefined.
45679         (VALIDATE_FLAG): New macro; use it to reject bad flags.
45680         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
45681         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
45682         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
45683         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
45684         Likewise.
45685         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
45686         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
45687         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
45688         Likewise.
45689
45690         openat: declare in POSIX headers
45691         * NEWS: Mention this.
45692         * modules/openat (configure.ac): Declare witnesses.
45693         (Depends-on): Add fcntl-h, sys_stat, unistd.
45694         (Include): Mention correct headers.
45695         * modules/fcntl-h (Depends-on): Add link-warning.
45696         (Files): Add openat.m4.
45697         (Makefile.am): Substitute witnesses.
45698         * modules/sys_stat (Files, Makefile.am): Likewise.
45699         * modules/unistd (Files, Makefile.am): Likewise.
45700         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
45701         (gl_OPENAT_DEFAULTS): New macro.
45702         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
45703         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
45704         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
45705         (SYS_STAT_H): Remove unused variable.
45706         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
45707         * lib/fcntl--.h (includes): Remove unneeded header.
45708         * lib/openat-safer.c (includes): Likewise.
45709         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
45710         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
45711         appropriate headers.
45712         (__OPENAT_PREFIX): Delete.
45713         * lib/fcntl.in.h (openat): Provide declaration.
45714         (AT_FDCWD): Fix Solaris bug.
45715         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
45716         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
45717         * lib/fchmodat.c (includes):  Adjust to find declaration.
45718         * lib/fchownat.c (includes): Likewise.
45719         * lib/mkdirat.c (includes): Likewise.
45720         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
45721         still visible.
45722
45723 2009-09-02  Eric Blake  <ebb9@byu.net>
45724
45725         errno: use consistently
45726         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
45727         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
45728         * lib/canonicalize.c (ELOOP): Likewise.
45729         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
45730         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
45731         * lib/lchown.c (EOPNOTSUPP): Likewise.
45732         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
45733         * lib/savewd.c (ESTALE): Likewise.
45734         * lib/settime.c (ENOSYS): Likewise.
45735         * lib/utimens.c (ENOSYS): Likewise.
45736         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
45737         * lib/chdir-safer.c (ELOOP): Likewise.
45738         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
45739         * modules/c-stack (Depends-on): Add errno.
45740         * modules/canonicalize (Depends-on): Likewise.
45741         * modules/chdir-safer (Depends-on): Likewise.
45742         * modules/fdopendir (Depends-on): Likewise.
45743         * modules/inet_ntop (Depends-on): Likewise.
45744         * modules/inet_pton (Depends-on): Likewise.
45745         * modules/lchown (Depends-on): Likewise.
45746         * modules/openat (Depends-on): Likewise.
45747         * modules/savewd (Depends-on): Likewise.
45748         * modules/settime (Depends-on): Likewise.
45749         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
45750
45751         fts: avoid leaking fds
45752         * modules/fts (Depends-on): Add cloexec.
45753         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
45754         flag.
45755
45756         fts: make directory fds more robust
45757         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
45758         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
45759
45760         backupfile, chdir-long, fts, savedir: make safer
45761         * lib/backupfile.c (includes): Use "dirent--.h", since
45762         numbered_backup can write to stderr during readdir.
45763         * lib/savedir.c (includes): Likewise.
45764         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
45765         emulation can write to stderr on failure.
45766         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
45767         * lib/getcwd.c: Document why opendir_safer is unused.
45768         * lib/glob.c: Likewise.
45769         * lib/scandir.c: Likewise.
45770         * lib/openat-proc.c: Likewise, for open_safer.
45771         * modules/backupfile (Depends-on): Add dirent-safer.
45772         * modules/savedir (Depends-on): Likewise.
45773         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
45774         * modules/chdir-long (Depends-on): Add openat-safer.
45775
45776         openat-safer: new module
45777         * modules/openat-safer: New file.
45778         * lib/openat-safer.c: Likewise.
45779         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
45780         * lib/fcntl-safer.h (openat_safer): Declare.
45781         * lib/fcntl--.h (openat): Override.
45782         * MODULES.html.sh (File descriptor based I/O): Mention it.
45783         * lib/openat.h: Add double-inclusion guards.
45784         * lib/openat.c (includes): Only include "fcntl-safer.h", not
45785         "fcntl--.h", so we can implement openat.
45786         * modules/openat-safer-tests: New test.
45787         * tests/test-openat-safer.c: New file.
45788
45789         dirent-safer: new module
45790         * modules/dirent-safer: New file.
45791         * lib/dirent--.h: Likewise.
45792         * lib/dirent-safer.h: Likewise.
45793         * lib/opendir-safer.c: Likewise.
45794         * m4/dirent-safer.m4: Likewise.
45795         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
45796         * modules/dirent-safer-tests: New test.
45797         * tests/test-dirent-safer.c: New file.
45798         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
45799
45800         fdopendir: optimize on mingw
45801         * lib/unistd.in.h (_gl_directory_name): New prototype.
45802         * lib/fchdir.c (_gl_directory_name): Implement it.
45803         (fchdir): Use it to simplify implementation.
45804         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
45805         fchdir, when available, to avoid calling [f]chdir().
45806
45807         fdopendir: split into its own module
45808         * lib/openat.c (fdopendir): Move...
45809         * lib/fdopendir.c: ...into new file.
45810         * modules/fdopendir: New module.
45811         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
45812         * modules/openat (Depends-on): Add fdopendir.
45813         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
45814         fdopendir here.
45815         * modules/savedir (Depends-on): Only need fdopendir, not full
45816         openat.
45817         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
45818         * lib/openat.h (fdopendir): Drop prototype.
45819         * lib/dirent.in.h (fdopendir): Provide prototype.
45820         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
45821         * modules/dirent (Makefile.am): Substitute them.
45822         * MODULES.html.sh (File system functions): Mention it.
45823         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
45824         * modules/fdopendir-tests: New file.
45825         * tests/test-fdopendir.c: Likewise.
45826
45827         fchdir: use more consistent macro convention
45828         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
45829         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
45830         REPLACE_FCHDIR, rather than relying on config.h macros.
45831         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
45832         inside a single make-time REPLACE_FCHDIR block, rather than using
45833         the config.h FCHDIR_REPLACEMENT.
45834         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
45835         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
45836         Manage fstat replacement.
45837         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
45838         REPLACE_FCHDIR.
45839         * modules/sys_stat (Files): Add m4/unistd_h.m4.
45840         (Makefile.am): Substitute REPLACE_FCHDIR.
45841         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
45842         FCHDIR_REPLACEMENT.
45843         * lib/dup-safer.c (dup_safer): Likewise.
45844         * lib/dup2.c (rpl_dup2): Likewise.
45845         * lib/dup3.c (rpl_dup3): Likewise.
45846         * lib/open.c (rpl_open): Likewise.
45847
45848         fchdir: simplify error handling, and support dup3
45849         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
45850         stdbool, malloc-posix, realloc-posix.
45851         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
45852         (ensure_dirs_slot): Return false on allocation failure.
45853         (rpl_dup2): Delete.
45854         (_gl_register_dup): New function.
45855         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
45856         (_gl_register_fd): Close fd on allocation failure.
45857         * lib/fcntl.in.h (_gl_register_fd): Update signature.
45858         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
45859         prototype.
45860         (rpl_dup2_fchdir): Delete prototype.
45861         * lib/open.c (open): Update caller.
45862         * lib/dup2.c (dup2): Track fchdir metadata.
45863         * lib/dup3.c (dup3): Likewise.
45864         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
45865         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
45866
45867 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45868
45869         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
45870         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
45871         don't pass arguments to AC_OUTPUT.
45872
45873 2009-09-02  Bruno Haible  <bruno@clisp.org>
45874
45875         * modules/mkdtemp (License): Relicense under LGPLv2+.
45876         Reported by Paolo Bonzini.
45877
45878 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45879
45880         Replace uses of obsolete autoconf macros in Jim's modules.
45881         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
45882         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
45883         can evoke a warning from autoconf when run with -Wobsolete
45884         enabled.  They were declared obsolete for good reasons (see
45885         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
45886         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
45887         should not continue using the deprecated macros.
45888         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
45889         obsolete Autoconf macros with modern counterparts.
45890         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
45891         * m4/dos.m4 (gl_AC_DOS): Likewise.
45892         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
45893         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
45894         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
45895         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
45896         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
45897         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
45898         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
45899         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
45900         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
45901         Likewise.
45902         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
45903         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
45904         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
45905         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
45906         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
45907         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
45908
45909 2009-09-01  Eric Blake  <ebb9@byu.net>
45910
45911         fchdir: fix off-by-one bug in previous patch
45912         * lib/fchdir.c (rpl_fstat): Use correct bounds.
45913         (_gl_unregister_fd): Delete useless if.
45914
45915 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
45916
45917         maint.mk: sort the list of syntax-check rules
45918         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
45919         easier to get a sense of progress when the rules are run sequentially
45920         and take a long time.
45921
45922 2009-09-01  Simon Josefsson  <simon@josefsson.org>
45923
45924         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
45925         * modules/netinet_in: Likewise.
45926         * modules/sys_file: Likewise.
45927         * modules/sys_ioctl: Likewise.
45928         * modules/sys_select: Likewise.
45929         * modules/sys_socket: Likewise.
45930         * modules/sys_stat: Likewise.
45931         * modules/sys_time: Likewise.
45932         * modules/sys_times: Likewise.
45933         * modules/sys_utsname: Likewise.
45934         * modules/sys_wait: Likewise.
45935
45936 2009-09-01  Jim Meyering  <meyering@redhat.com>
45937
45938         fts: help ensure that return values are not ignored
45939         * lib/fts_.h (__GNUC_PREREQ): Define.
45940         (__attribute_warn_unused_result__): Define.
45941         (fts_children, fts_close, fts_open, fts_read): Declare with
45942         __attribute_warn_unused_result__.
45943
45944         fts: fts_close now fails also when closing a dir file descriptor fails
45945         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
45946         and propagate to caller, along with errno.
45947
45948         announce-gen: correct formatting in --help output
45949         * build-aux/announce-gen (usage): Move the one-line description in
45950         --help output "up", to where it belongs, just after Usage:.
45951
45952 2009-08-31  Eric Blake  <ebb9@byu.net>
45953
45954         fchdir: port to mingw
45955         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
45956         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
45957         opened, then use a substitute.
45958         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
45959         replacement.
45960         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
45961         (_gl_register_fd): No need to check stat if open already filters
45962         all directories.
45963         (fchdir): Fix error condition to match POSIX.
45964         * modules/fchdir (Depends-on): Add sys_stat.
45965         * doc/posix-functions/open.texi (open): Document the limitation.
45966         * modules/fchdir-tests: New file.
45967         * tests/test-fchdir.c: Likewise.
45968
45969         canonicalize: allow cross-testing from cygwin to mingw
45970         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
45971         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
45972         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
45973         Likewise.
45974         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
45975         target does not support symlinks.
45976         * tests/test-canonicalize-lgpl.sh: Likewise.
45977
45978         chown: avoid compilation warning on mingw
45979         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
45980         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
45981         mingw.
45982         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
45983         * modules/chown (Depends-on): Add errno.
45984
45985 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
45986
45987         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
45988         command.
45989
45990 2009-08-31  Jim Meyering  <meyering@redhat.com>
45991
45992         canonicalize: remove useless initialization
45993         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
45994         initialization of local, "end".
45995
45996 2009-08-30  Bruno Haible  <bruno@clisp.org>
45997
45998         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
45999         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
46000         ENOSYS.
46001
46002 2009-08-30  Bruno Haible  <bruno@clisp.org>
46003
46004         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
46005         /usr/xpg4/bin/tr when it exists.
46006         * tests/test-pipe-filter-gi1.sh: Likewise.
46007
46008 2009-08-30  Bruno Haible  <bruno@clisp.org>
46009
46010         Work around deficient /usr/bin/id program on Solaris.
46011         * tests/test-file-has-acl.sh (ID): New variable.
46012         * tests/test-set-mode-acl.sh (ID): Likewise.
46013         * tests/test-copy-acl.sh (ID): Likewise.
46014         * tests/test-copy-file.sh (ID): Likewise.
46015
46016 2009-08-30  Bruno Haible  <bruno@clisp.org>
46017
46018         New module 'xstriconveh'.
46019         * lib/xstriconveh.h: New file.
46020         * lib/xstriconveh.c: New file.
46021         * modules/xstriconveh: New file.
46022
46023 2009-08-30  Bruno Haible  <bruno@clisp.org>
46024
46025         Make it easier to use mem_cd_iconveh.
46026         * lib/striconveh.h (iconveh_t): New type.
46027         (iconveh_open, iconveh_close): New declarations.
46028         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
46029         with a single 'const iconveh_t *' argument.
46030         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
46031         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
46032         with a single 'const iconveh_t *' argument.
46033         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
46034         * tests/test-striconveh.c (main): Update.
46035         * NEWS: Mention the change.
46036
46037 2009-08-30  Bruno Haible  <bruno@clisp.org>
46038
46039         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
46040         problem.
46041
46042 2009-08-30  Bruno Haible  <bruno@clisp.org>
46043
46044         Work around iconv_open problem on Solaris.
46045         * lib/iconv_open-solaris.gperf: New file.
46046         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
46047         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
46048         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
46049         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
46050         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
46051         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
46052
46053 2009-08-29  Jim Meyering  <meyering@redhat.com>
46054
46055         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
46056         * top/maint.mk (cvs-check): Remove target; it was just an alias
46057         to the better-named vc-diff-check.
46058         (maintainer-distcheck): Remove rule.  It was used only from
46059         the (alpha/beta/major) target, and all of its commands but one
46060         were coreutils-specific.
46061         (vc-dist): Remove rule.
46062         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
46063         Run vc-diff-check, not vc-dist.
46064         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
46065
46066 2009-08-27  Bruno Haible  <bruno@clisp.org>
46067
46068         * tests/test-bitrotate.c (main): Remove test that uses a shift count
46069         of 0.
46070
46071 2009-08-27  Bruno Haible  <bruno@clisp.org>
46072
46073         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
46074         compilers.
46075         * doc/func.texi: Document the SunPRO C bug.
46076
46077 2009-08-27  Bruno Haible  <bruno@clisp.org>
46078
46079         Fix link error on Solaris.
46080         * tests/test-parse-duration.c (xstrdup): Remove function.
46081
46082 2009-08-26  Pádraig Brady  <P@draigbrady.com>
46083
46084         ignore-value: handle pointer types, too
46085         * lib/ignore-value.h (__attribute__): Remove definition.
46086         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
46087         of a more concise and more-often effective "(void) i" statement.
46088         (ignore_ptr): New function to suppress warnings from functions that
46089         return pointers, and to make it explicit that one function doesn't
46090         handle all cases.
46091
46092 2009-08-25  Bruno Haible  <bruno@clisp.org>
46093
46094         dup2: work around a Linux bug.
46095         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
46096         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
46097         * doc/posix-functions/dup2.texi: Mention the Linux bug.
46098         Reported by Simon Josefsson.
46099
46100 2009-08-25  Jim Meyering  <meyering@redhat.com>
46101
46102         libguestfs uses gnulib
46103         * users.txt: Add libguestfs.
46104
46105 2009-08-24  Eric Blake  <ebb9@byu.net>
46106
46107         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
46108         * lib/pipe2.c (includes): Add binary-io.h.
46109         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
46110
46111 2009-08-24  Bruno Haible  <bruno@clisp.org>
46112
46113         Tolerate declared but missing accept4 syscall.
46114         * lib/accept4.c (accept4): Invoke original accept4 function first, if
46115         available.
46116         * lib/sys_socket.in.h (accept4): If the function is already present,
46117         override it.
46118         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
46119         * modules/accept4 (Makefile.am): Compile accept4.c always.
46120         Reported by Paolo Bonzini and Eric Blake.
46121
46122 2009-08-23  Bruno Haible  <bruno@clisp.org>
46123
46124         New module 'accept4'.
46125         * lib/sys_socket.in.h (accept4): New declaration.
46126         * lib/accept4.c: New file.
46127         * m4/accept4.m4: New file.
46128         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
46129         GNULIB_ACCEPT4, HAVE_ACCEPT4.
46130         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
46131         HAVE_ACCEPT4.
46132         * modules/accept4: New file.
46133         * doc/glibc-functions/accept4.texi: Mention the new module.
46134
46135 2009-08-24  Jim Meyering  <meyering@redhat.com>
46136
46137         progname: also set global program_invocation_name, when possible
46138         Before this change, a libtool-enabled program that calls glibc's
46139         error function would report the program name as
46140         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
46141         * modules/progname (configure.ac): Check for a declaration of
46142         program_invocation_name.
46143         * lib/progname.c:  Include <errno.h>.
46144         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
46145         Set program_invocation_name.
46146
46147 2009-08-23  Bruno Haible  <bruno@clisp.org>
46148
46149         * lib/dup3.c: Include <string.h>.
46150
46151 2009-08-23  Bruno Haible  <bruno@clisp.org>
46152
46153         * lib/dup3.c (dup3): Test only once whether the system actually exists.
46154         * lib/pipe2.c (pipe2): Likewise.
46155         Suggested by Eric Blake.
46156
46157 2009-08-23  Bruno Haible  <bruno@clisp.org>
46158
46159         Tolerate declared but missing dup3 syscall.
46160         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
46161         * lib/unistd.in.h (dup3): If the function is already present,
46162         override it.
46163         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
46164         * modules/dup3 (Makefile.am): Compile dup3.c always.
46165         Reported by Paolo Bonzini.
46166
46167 2009-08-23  Bruno Haible  <bruno@clisp.org>
46168
46169         Tolerate declared but missing pipe2 syscall.
46170         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
46171         available.
46172         * lib/unistd.in.h (pipe2): If the function is already present,
46173         override it.
46174         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
46175         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
46176         Reported by Paolo Bonzini.
46177
46178 2009-08-23  Bruno Haible  <bruno@clisp.org>
46179
46180         * lib/pipe2.c (pipe2): Move #ifs inside function.
46181
46182 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46183
46184         quotearg: document limitations of quote_these_too
46185         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
46186         those limitations are created.
46187         * lib/quotearg.h (set_char_quoting): Document that digits and
46188         letters that are special after backslash are not permitted.
46189         (quotearg_char): Cross-reference set_char_quoting documentation.
46190
46191 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
46192
46193         quotearg: implement custom_quoting_style
46194         * lib/quotearg.c: (struct quoting_options): Add left_quote and
46195         right_quote fields.
46196         (set_custom_quoting): New public function.
46197         (quotearg_buffer_restyled): Add left_quote and right_quote
46198         arguments, handle them very much like locale quoting, and update
46199         all uses.
46200         (quotearg_n_custom): New public function.
46201         (quotearg_n_custom_mem): New public function.
46202         (quotearg_custom): New public function.
46203         (quotearg_custom_mem): New public function.
46204         * lib/quotearg.h: Prototype and document new public functions.
46205         (enum quoting_style): For escape_quoting_style and
46206         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
46207         ignored even though they're otherwise like c_quoting_style.
46208         Add custom_quoting_style member and document with comparison to
46209         clocale_quoting_style.
46210         * tests/test-quotearg.c (custom_quotes): New array.
46211         (custom_results): New array.
46212         (main): Extend to test custom quoting.
46213
46214 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46215
46216         quotearg: fix right quote escaping when it's in quote_these_too
46217         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
46218         quote, be sure to prepend only one backslash.
46219         * tests/test-quotearg.c (use_quote_double_quotes): New function.
46220         (main): Test it.
46221
46222 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46223
46224         quotearg-tests: test escaping of embedded locale quotes
46225         * tests/test-quotearg.c (struct result_strings): Add member for
46226         new input.
46227         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
46228         (inputs): Add new input.
46229         (results_g): Add expected results.
46230         (flag_results): Likewise.
46231         (locale_results): Likewise.
46232         (compare_strings): Check those.
46233
46234 2009-08-23  Bruno Haible  <bruno@clisp.org>
46235
46236         Tests for module 'dup3'.
46237         * modules/dup3-tests: New file.
46238         * tests/test-dup3.c: New file.
46239
46240         New module 'dup3'.
46241         * lib/unistd.in.h (dup3): New declaration.
46242         * lib/dup3.c: New file.
46243         * m4/dup3.m4: New file.
46244         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
46245         HAVE_DUP3.
46246         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
46247         * modules/dup3: New file.
46248         * doc/glibc-functions/dup3.texi: Mention the new module.
46249
46250 2009-08-23  Bruno Haible  <bruno@clisp.org>
46251
46252         Tweak the dup2 test.
46253         * tests/test-dup2.c (main): Create the test file empty. Verify that an
46254         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
46255         the test file is still empty. Fix argument order of lseek.
46256
46257 2009-08-23  Bruno Haible  <bruno@clisp.org>
46258
46259         Avoid test link errors when the modules getopt-gnu, gettext are used.
46260         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
46261         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46262
46263 2009-08-23  Bruno Haible  <bruno@clisp.org>
46264
46265         Fix getdtablesize() on mingw.
46266         * lib/getdtablesize.c (getdtablesize): Implement differently.
46267         * lib/unistd.in.h (getdtablesize): Improve comment.
46268
46269 2009-08-23  Bruno Haible  <bruno@clisp.org>
46270
46271         New module 'mkostemp'.
46272         Based on Ulrich Drepper's 2007-08-10 change in glibc.
46273         * lib/stdlib.in.h (mksotemp): New declaration.
46274         * lib/mkostemp.c: New file, from glibc with modifications.
46275         * lib/tempname.h (GT_FILE): Remove outdated comment.
46276         (gen_tempname): Add flags argument.
46277         * lib/tempname.c (__GT_BIGFILE): Remove macro.
46278         (__GT_FILE): Map to 1.
46279         (small_open, large_open): Remove macros.
46280         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
46281         * lib/mkstemp.c (mkstemp): Update.
46282         * lib/mkdtemp.c (mkdtemp): Likewise.
46283         * m4/mkostemp.m4: New file.
46284         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
46285         HAVE_MKOSTEMP.
46286         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
46287         HAVE_MKOSTEMP.
46288         * modules/mkostemp: New file, based on modules/mkstemp.
46289         * doc/glibc-functions/mkostemp.texi: Mention the new module.
46290         * NEWS: Mention the change.
46291
46292 2009-08-23  Bruno Haible  <bruno@clisp.org>
46293
46294         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
46295         Reported by Eric Blake.
46296
46297 2009-08-23  Bruno Haible  <bruno@clisp.org>
46298
46299         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
46300         Reported by Eric Blake.
46301
46302 2009-08-23  Bruno Haible  <bruno@clisp.org>
46303
46304         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
46305         * modules/pipe2 (Depends-on): Likewise.
46306
46307 2009-08-23  Eric Blake  <ebb9@byu.net>
46308
46309         fcntl-h: add O_TTY_INIT support
46310         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
46311         * tests/test-fcntl-h.c (o): Test it.
46312         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46313
46314         fcntl-h: rename from fcntl, in preparation for fcntl(2)
46315         * modules/fcntl: Move <fcntl.h> header replacement...
46316         * modules/fcntl-h: ...to new name, so as not to collide with
46317         like-named function.
46318         * tests/test-fcntl.c: Rename...
46319         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
46320         * modules/fcntl-tests: Rename...
46321         * modules/fcntl-h-tests: ...to this.  Update test file name.
46322         * modules/chdir-long (Depends-on): Update clients.
46323         * modules/chdir-safer (Depends-on): Likewise.
46324         * modules/fcntl-safer (Depends-on): Likewise.
46325         * modules/fts (Depends-on): Likewise.
46326         * modules/mkancesdirs (Depends-on): Likewise.
46327         * modules/mkdir-p (Depends-on): Likewise.
46328         * modules/open (Depends-on): Likewise.
46329         * modules/savewd (Depends-on): Likewise.
46330         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
46331         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46332
46333 2009-08-22  Bruno Haible  <bruno@clisp.org>
46334
46335         * modules/binary-io (License): Relicense under LGPL.
46336         * modules/pipe2 (License): Likewise.
46337
46338 2009-08-22  Bruno Haible  <bruno@clisp.org>
46339
46340         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
46341         return value.
46342         * lib/pipe-filter-gi.c (filter_init): Likewise.
46343         Reported by Eric Blake.
46344
46345 2009-08-22  Bruno Haible  <bruno@clisp.org>
46346
46347         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
46348         * modules/pipe (Depends-on): Add pipe2.
46349
46350 2009-08-22  Bruno Haible  <bruno@clisp.org>
46351
46352         Tests for module 'pipe2'.
46353         * modules/pipe2-tests: New file.
46354         * tests/test-pipe2.c: New file.
46355
46356         New module 'pipe2'.
46357         * lib/unistd.in.h (pipe2): New declaration.
46358         * lib/pipe2.c: New file.
46359         * m4/pipe2.m4: New file.
46360         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
46361         HAVE_PIPE2.
46362         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
46363         * modules/pipe2: New file.
46364         * doc/glibc-functions/pipe2.texi: Mention the new module.
46365
46366 2009-08-22  Bruno Haible  <bruno@clisp.org>
46367
46368         Reference some new glibc functions.
46369         * doc/glibc-functions/accept4.texi: New file.
46370         * doc/glibc-functions/dup3.texi: New file.
46371         * doc/glibc-functions/mkostemp.texi: New file.
46372         * doc/glibc-functions/pipe2.texi: New file.
46373         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
46374         (Glibc sys/socket.h): Refer to accept4.
46375         (Glibc unistd.h): Refer to dup3, pipe2.
46376         Reported by Eric Blake.
46377
46378 2009-08-22  Jim Meyering  <meyering@redhat.com>
46379             Bruno Haible  <bruno@clisp.org>
46380
46381         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
46382         This makes it so packages using automake-1.11's silent-rules option
46383         can print e.g., a single "GEN    configmake.h" line, rather than
46384         the 30+ statements that perform the job.  If you want to see the
46385         actual commands, you can still run "make V=1".
46386         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
46387         so that make output is abbreviated when those variables are defined
46388         appropriately.
46389         * modules/argz: Likewise.
46390         * modules/arpa_inet: Likewise.
46391         * modules/byteswap: Likewise.
46392         * modules/configmake: Likewise.
46393         * modules/dirent: Likewise.
46394         * modules/errno: Likewise.
46395         * modules/fcntl: Likewise.
46396         * modules/float: Likewise.
46397         * modules/fnmatch: Likewise.
46398         * modules/getopt-posix: Likewise.
46399         * modules/glob: Likewise.
46400         * modules/iconv_open: Likewise.
46401         * modules/inttypes: Likewise.
46402         * modules/localcharset: Likewise.
46403         * modules/locale: Likewise.
46404         * modules/math: Likewise.
46405         * modules/netdb: Likewise.
46406         * modules/netinet_in: Likewise.
46407         * modules/poll: Likewise.
46408         * modules/posix_spawnp-tests: Likewise.
46409         * modules/sched: Likewise.
46410         * modules/search: Likewise.
46411         * modules/selinux-h: Likewise.
46412         * modules/signal: Likewise.
46413         * modules/spawn: Likewise.
46414         * modules/stdarg: Likewise.
46415         * modules/stdbool: Likewise.
46416         * modules/stddef: Likewise.
46417         * modules/stdint: Likewise.
46418         * modules/stdio: Likewise.
46419         * modules/stdlib: Likewise.
46420         * modules/string: Likewise.
46421         * modules/strings: Likewise.
46422         * modules/sys_file: Likewise.
46423         * modules/sys_ioctl: Likewise.
46424         * modules/sys_select: Likewise.
46425         * modules/sys_socket: Likewise.
46426         * modules/sys_stat: Likewise.
46427         * modules/sys_time: Likewise.
46428         * modules/sys_times: Likewise.
46429         * modules/sys_utsname: Likewise.
46430         * modules/sys_wait: Likewise.
46431         * modules/sysexits: Likewise.
46432         * modules/time: Likewise.
46433         * modules/unistd: Likewise.
46434         * modules/wchar: Likewise.
46435         * modules/wctype: Likewise.
46436
46437 2009-08-22  Jim Meyering  <meyering@redhat.com>
46438
46439         announce-gen: detect write failure
46440         * build-aux/announce-gen: Add Coda at end.
46441         Remove equivalent-but-more-verbose block at top.
46442
46443 2009-08-19  Akim Demaille  <demaille@gostai.com>
46444
46445         bootstrap: --help to stdout.
46446         * bootstrap (usage): Don't send --help to stderr.
46447         Use a here doc instead of a long string.
46448
46449 2009-08-21  Eric Blake  <ebb9@byu.net>
46450
46451         test-popen-safer: split from test-popen
46452         * tests/test-popen.c (main): Move...
46453         * tests/test-popen.h: ...into new file.
46454         * tests/test-popen-safer2.c: New file.
46455         * modules/popen-tests (Files): Add test-popen.h.
46456         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
46457         Suggested by Bruno Haible.
46458
46459         test-fcntl-safer: split from test-open
46460         * tests/test-open.c (main): Move...
46461         * tests/test-open.h: ...into new file.
46462         * tests/test-fcntl-safer.c: New file.
46463         * modules/open-tests (Files): Add test-open.h.
46464         * modules/fcntl-safer-tests: New file.
46465         Suggested by Bruno Haible.
46466
46467         test-fopen-safer: split from test-fopen
46468         * tests/test-fopen.c (main): Move...
46469         * tests/test-fopen.h: ...into new file.
46470         * tests/test-fopen-safer.c: New file.
46471         * modules/fopen-tests (Files): Add test-fopen.h.
46472         * modules/fopen-safer-tests: New file.
46473         Suggested by Bruno Haible.
46474
46475 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46476
46477         popen-safer: test O_CLOEXEC at run-time.
46478         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
46479
46480 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46481
46482         fcntl: move more flags to the header
46483         * lib/cloexec.c: Do not define FD_CLOEXEC here.
46484         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
46485         * lib/fcntl.in.h: Do both things here.
46486
46487 2009-08-21  Jim Meyering  <meyering@redhat.com>
46488
46489         consistently remove $@-t before redirecting to it
46490         * modules/argz: Remove $@-t and $@ before redirecting to the former.
46491         * modules/alloca-opt: Likewise.
46492         * modules/byteswap: Likewise.
46493         * modules/fnmatch: Likewise.
46494         * modules/getopt-posix: Likewise.
46495         * modules/glob: Likewise.
46496         * modules/poll: Likewise.
46497         * modules/posix_spawnp-tests: Likewise.
46498         * modules/sys_socket: Likewise.
46499         * modules/sysexits: Likewise.
46500
46501 2009-08-21  Eric Blake  <ebb9@byu.net>
46502
46503         popen: simplify access to original popen
46504         * lib/popen.c (rpl_popen): No need to worry about popen being a
46505         macro.
46506         Reported by Bruno Haible.
46507
46508 2009-08-20  Eric Blake  <ebb9@byu.net>
46509
46510         build: avoid some compiler warnings
46511         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
46512         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
46513         type.
46514         (new_exclude_segment, excluded_file_pattern_p)
46515         (excluded_file_name_p): Reduce scope.
46516         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
46517         old-style declaration.
46518
46519 2009-08-20  Simon Josefsson  <simon@josefsson.org>
46520
46521         * tests/test-exclude1.sh: Handle Windows EOL.
46522         * tests/test-exclude2.sh: Likewise.
46523         * tests/test-exclude3.sh: Likewise.
46524         * tests/test-exclude4.sh: Likewise.
46525         * tests/test-exclude5.sh: Likewise.
46526         * tests/test-exclude6.sh: Likewise.
46527         * tests/test-exclude7.sh: Likewise.
46528
46529 2009-08-19  Akim Demaille  <demaille@gostai.com>
46530
46531         bootstrap: find sha1sum when named gsha1sum.
46532         * bootstrap (find_tool): New.
46533         ($SHA1SUM): New.
46534         Use it.
46535
46536 2009-08-20  Jim Meyering  <meyering@redhat.com>
46537
46538         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
46539         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
46540         expression that converts "." in a file name to "\." in the resulting
46541         regexp.  Start with a dummy statement, so that prior shell variable
46542         definitions are expanded portably.  Reported by Simon Josefsson.
46543
46544 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
46545
46546         Fix polling for writeability of a screen buffer.
46547         * lib/poll.c: Distinguish input and screen buffers for the
46548         Win32 implementation.
46549         * lib/select.c: Likewise.
46550
46551 2009-08-19  Eric Blake  <ebb9@byu.net>
46552
46553         popen-safer: prevent popen from clobbering std descriptors
46554         * modules/popen-safer: New file.
46555         * lib/popen-safer.c: Likewise.
46556         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
46557         * lib/stdio--.h (popen): Provide override.
46558         * lib/stdio-safer.h (popen_safer): Provide declaration.
46559         * tests/test-popen.c (includes): Partially test this.
46560         * modules/popen-safer-tests: New file, for more tests.
46561         * tests/test-popen-safer.c: Likewise.
46562         * MODULES.html.sh (file stream based Input/Output): Mention it.
46563
46564         tests: test some of the *-safer modules
46565         * modules/fopen-safer (Depends-on): Add fopen.
46566         * modules/fcntl-safer (Depends-on): Add fcntl.
46567         * modules/stdlib-safer (Depends-on): Add stdlib.
46568         (configure.ac): Set indicator.
46569         * modules/unistd-safer (configure.ac): Likewise.
46570         * modules/tmpfile-safer (configure.ac): Likewise.
46571         (Depends-on): Add tmpfile.
46572         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
46573         active.
46574         * tests/test-fopen.c (includes): Test safer versions when they are
46575         in use.
46576         * tests/test-open.c (includes): Likewise.
46577
46578         popen: fix cygwin 1.5 bug when stdin closed
46579         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
46580         * modules/popen: New file.
46581         * modules/popen-tests: Likewise.
46582         * tests/test-popen.c: Likewise.
46583         * m4/popen.m4: Likewise.
46584         * lib/popen.c: Likewise.
46585         * lib/stdio.in.h (popen): New declaration.
46586         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
46587         * modules/stdio (Makefile.am): Likewise.
46588         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
46589
46590 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
46591
46592         maint.mk: give full control over update-copyright exclusions
46593         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
46594         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
46595         (update-copyright): Don't force inclusion of top-level
46596         ChangeLog.  Don't force exclusion of all COPYING files, but make
46597         them the default exclusion instead.
46598
46599 2009-08-16  Bruno Haible  <bruno@clisp.org>
46600
46601         Fix test failures on Solaris 10.
46602         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
46603         tests when Solaris iconv() is used.
46604         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
46605         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
46606         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
46607         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
46608         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
46609
46610 2009-08-16  Bruno Haible  <bruno@clisp.org>
46611
46612         Fix test failures on Solaris 10.
46613         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
46614         'tr' program and pass it as first argument.
46615         * tests/test-pipe-filter-gi1.sh: Likewise.
46616         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
46617         program as first argument.
46618         * tests/test-pipe-filter-gi1.c (main): Likewise.
46619
46620 2009-08-16  Eric Blake  <ebb9@byu.net>
46621
46622         fpurge: fix previous commits
46623         * modules/fpurge (Makefile.am): Make replacement conditional,
46624         partially reverting 2007-04-29 change; missed in previous
46625         attempt.
46626         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
46627         is missing.
46628
46629 2009-08-16  Bruno Haible  <bruno@clisp.org>
46630
46631         Clarify fpurge's effect on the file position.
46632         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
46633         * tests/test-fpurge.c (main): Make a second pass for checking the file
46634         position.
46635
46636 2009-08-16  Bruno Haible  <bruno@clisp.org>
46637
46638         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
46639         declaration of fpurge is missing.
46640         * tests/test-fpurge.c (main): Check that the file has not more contents
46641         than expected. Close the file before removing it.
46642
46643 2009-08-15  Eric Blake  <ebb9@byu.net>
46644
46645         fpurge: don't wrap working cygwin implementation
46646         * lib/fpurge.c (fpurge): Fix comment typo.
46647         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
46648         1.7 to avoid replacement.
46649         * tests/test-fpurge.c (main): Enhance test.
46650
46651 2009-08-15  Eric Blake  <ebb9@byu.net>
46652         and Jim Meyering  <meyering@redhat.com>
46653
46654         test-update-copyright: skip if perl is insufficient
46655         * tests/test-update-copyright.sh: Failure to run maintainer tool
46656         should not cause testsuite failure on cygwin 1.5.
46657
46658 2009-08-14  Eric Blake  <ebb9@byu.net>
46659
46660         doc: mention more functions added in cygwin 1.7.0
46661         * doc/posix-headers/limits.texi (limits.h): Update for recent
46662         cygwin additions.
46663         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
46664         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
46665         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
46666         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
46667         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
46668
46669 2009-08-14  Eric Blake  <ebb9@byu.net>
46670
46671         maint.mk: simplify update-copyright rule
46672         * top/maint.mk (update-copyright-local): Delete, and document how
46673         to do it in cfg.mk instead.
46674         (update-copyright-exclude-regexp): Delete, and document how to do
46675         it in .x-update-copyright instead.
46676         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
46677         exclude ChangeLog.
46678
46679 2009-08-14  Bruno Haible  <bruno@clisp.org>
46680
46681         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
46682
46683 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46684
46685         maint.mk: support update-copyright-env
46686         * top/maint.mk (update-copyright-env): Define place-holder.
46687         (update-copyright): Expand $(update-copyright-env) before
46688         invoking update-copyright.
46689
46690 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46691
46692         update-copyright: implement forced reformatting
46693         * build-aux/update-copyright: Implement and document
46694         UPDATE_COPYRIGHT_FORCE.
46695         * tests/test-update-copyright.sh: Test it.
46696
46697 2009-08-14  Eric Blake  <ebb9@byu.net>
46698         and Bruno Haible  <bruno@clisp.org>
46699
46700         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
46701         * tests/test-locale.c: Revert previous patch related to NULL.
46702         * tests/test-stdio.c: Likewise.
46703         * tests/test-stdlib.c: Likewise.
46704         * tests/test-string.c: Likewise.
46705         * tests/test-unistd.c: Likewise.
46706         * modules/time-tests (Depends-on): Add verify.
46707         * modules/wchar-tests (Depends-on): Likewise.
46708         * tests/test-time.c: Test for NULL compliance.
46709         * tests/test-wchar.c: Likewise.
46710         * modules/locale (Depends-on): Add stddef.
46711         * modules/stdio (Depends-on): Likewise.
46712         * modules/stdlib (Depends-on): Likewise.
46713         * modules/string (Depends-on): Likewise.
46714         * modules/time (Depends-on): Likewise.
46715         * modules/unistd (Depends-on): Likewise.
46716         * modules/wchar (Depends-on): Likewise.
46717         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
46718         * lib/stdlib.in.h (includes): Likewise.
46719         * lib/string.in.h (includes): Likewise.
46720         * lib/time.in.h (includes): Likewise.
46721         * lib/unistd.in.h (includes): Likewise.
46722         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
46723         replaced.
46724         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
46725         * m4/stddef_h.m4: New file.
46726         * modules/stddef: Likewise.
46727         * lib/stddef.in.h: Likewise.
46728         * modules/stddef-tests: Likewise.
46729         * tests/test-stddef.c: Likewise.
46730         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
46731         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
46732         * doc/posix-headers/locale.texi (locale.h): Likewise.
46733         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
46734         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
46735         * doc/posix-headers/string.texi (string.h): Likewise.
46736         * doc/posix-headers/time.texi (time.h): Likewise.
46737         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
46738         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
46739
46740 2009-08-14  Eric Blake  <ebb9@byu.net>
46741
46742         doc: improve git diff of texinfo files
46743         * .gitattributes: Add rule for *.texi files, with hint on how to
46744         use it.
46745         Copied from m4, and based on a report by Bruno Haible.
46746
46747 2009-08-14  Bruno Haible  <bruno@clisp.org>
46748
46749         Disable multithread support by default on Cygwin 1.5.x for real.
46750         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
46751
46752 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46753
46754         update-copyright: much ado about intervals
46755         * build-aux/update-copyright: Implement and document
46756         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
46757         of copyright year intervals.
46758         Also, document UPDATE_COPYRIGHT_YEAR.
46759         * tests/test-update-copyright.sh: Test it.
46760
46761         update-copyright: convert 2-digit to 4-digit years
46762         * build-aux/update-copyright: Implement and document.
46763         * tests/test-update-copyright.sh: Update.
46764
46765 2009-08-14  Jim Meyering  <meyering@redhat.com>
46766
46767         test-exclude: avoid coreutils "make check" failure
46768         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
46769         just as in test-argmatch.c.
46770
46771 2009-08-13  Eric Blake  <ebb9@byu.net>
46772
46773         test-dup2: fix bad assumption
46774         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
46775         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
46776
46777         test-version-etc: fix CRLF portability issue
46778         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
46779         recognize \r.
46780         * tests/test-argp-version-etc-1.sh: Likewise.
46781
46782         getopt: update client modules
46783         * modules/argp (Depends-on): Use getopt-gnu.
46784         * modules/git-merge-changelog (Depends-on): Likewise.
46785         * modules/long-options (Depends-on): Likewise.
46786         * modules/xstrtol (Depends-on): Likewise.
46787
46788 2009-08-13  Simon Josefsson  <simon@josefsson.org>
46789
46790         * tests/test-version-etc.sh: Don't fail on different
46791         project/version.  Don't fail on CRLF differences.  Rewrite to use
46792         multiple -e instead of multiple sed forks, suggested by Eric Blake
46793         <ebb9@byu.net>.
46794         * tests/test-argp-version-etc-1.sh: Likewise.
46795
46796 2009-08-13  Simon Josefsson  <simon@josefsson.org>
46797
46798         * tests/test-version-etc.sh: Don't fail on different
46799         project/version.
46800
46801 2009-08-12  Bruno Haible  <bruno@clisp.org>
46802
46803         Tests for modules 'getopt-posix', 'getopt-gnu'.
46804         * modules/getopt-posix-tests: New file.
46805         * tests/test-getopt.c: New file.
46806         * tests/test-getopt.h: New file.
46807         * tests/test-getopt_long.h: New file.
46808
46809         New modules 'getopt-posix', 'getopt-gnu'.
46810         * modules/getopt-gnu: New file, renamed from modules/getopt.
46811         * modules/getopt-posix: New file.
46812         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
46813         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
46814         (gl_GETOPT): Remove macro.
46815         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
46816         Disable the test against BSD systems that declare optreset. Test
46817         against mingw bug. Test against lack of support of optional arguments
46818         on many platforms.
46819         * doc/glibc-headers/getopt.texi: Update module name and list of
46820         relevant platforms.
46821         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
46822         'getopt-gnu' and more portability problems.
46823         * NEWS: Mention the changes.
46824
46825 2009-08-12  Bruno Haible  <bruno@clisp.org>
46826
46827         Ensure that optarg etc. get declared by <unistd.h>.
46828         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
46829         AC_USE_SYSTEM_EXTENSIONS.
46830         * modules/getopt (Depends-on): Add 'extensions'.
46831
46832 2009-08-12  Bruno Haible  <bruno@clisp.org>
46833
46834         Avoid test link errors.
46835         * modules/pipe-filter-ii-tests (Makefile.am): Define
46836         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
46837         * modules/pipe-filter-gi-tests (Makefile.am): Define
46838         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
46839         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46840
46841 2009-08-12  Bruno Haible  <bruno@clisp.org>
46842
46843         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
46844         gl_GETOPT_SUBSTITUTE before.
46845         (gl_GETOPT): Use it.
46846         * m4/argp.m4 (gl_ARGP): Update.
46847         Reported by Sergey Poznyakoff.
46848
46849         * m4/getopt.m4: Reorder macros.
46850         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
46851         (gl_GETOPT_SUBSTITUTE): Remove macro.
46852
46853 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46854
46855         Minor improvement in gitlog-to-changelog
46856
46857         * build-aux/gitlog-to-changelog: New option `--format' makes
46858         output format string configurable.
46859
46860 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
46861
46862         Optimize exclude: use hash tables for non-wildcard patterns.
46863
46864         * lib/exclude.c: Include hash.h and mbuiter.h
46865         (struct exclude_pattern, exclude_segment): New data types.
46866         (struct exclude): Rewrite.
46867         (fnmatch_pattern_has_wildcards): New function.
46868         (new_exclude_segment, free_exclude_segment): New functions.
46869         (excluded_file_pattern_p, excluded_file_name_p): New functions.
46870         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
46871         * lib/exclude.h (is_fnmatch_pattern): New prototype.
46872         * modules/exclude: Depend on hash and mbuiter.
46873
46874         * modules/exclude-tests: New file.
46875         * tests/test-exclude.c: New file.
46876         * tests/test-exclude1.sh: New file.
46877         * tests/test-exclude2.sh: New file.
46878         * tests/test-exclude3.sh: New file.
46879         * tests/test-exclude4.sh: New file.
46880         * tests/test-exclude5.sh: New file.
46881         * tests/test-exclude6.sh: New file.
46882         * tests/test-exclude7.sh: New file.
46883
46884 2009-08-12  Bruno Haible  <bruno@clisp.org>
46885
46886         Ensure that getopt() gets declared by <unistd.h>.
46887         * lib/unistd.in.h: Conditionally include getopt.h.
46888         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
46889         Set GNULIB_UNISTD_H_GETOPT.
46890         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46891         GNULIB_UNISTD_H_GETOPT.
46892         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
46893
46894 2009-08-12  Bruno Haible  <bruno@clisp.org>
46895
46896         Clarify logic.
46897         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
46898         gl_replace_getopt instead of GETOPT_H.
46899
46900 2009-08-12  Bruno Haible  <bruno@clisp.org>
46901
46902         * m4/getopt.m4: Add comments.
46903
46904 2009-08-12  Bruno Haible  <bruno@clisp.org>
46905
46906         Disable multithread support by default on Cygwin 1.5.x.
46907         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
46908         set gl_use_threads=no if not specified otherwise.
46909
46910 2009-08-11  Bruno Haible  <bruno@clisp.org>
46911
46912         Avoid compilation error on NetBSD 5.0.
46913         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
46914         * tests/test-stdio.c: Likewise.
46915         * tests/test-stdlib.c: Likewise.
46916         * tests/test-string.c: Likewise.
46917         * tests/test-unistd.c: Likewise.
46918         Reported by Greg Troxel <gdt@ir.bbn.com>
46919         at <https://savannah.gnu.org/support/?106973>.
46920
46921 2009-08-11  Bruno Haible  <bruno@clisp.org>
46922
46923         * modules/dup2-tests (Depends-on): Remove close.
46924
46925         Undo 2009-07-19 commit.
46926         * modules/acl-tests (Depends-on): Remove close.
46927         * modules/binary-io-tests (Depends-on): Likewise.
46928         * modules/closein-tests (Depends-on): Likewise.
46929         * modules/flock-tests (Depends-on): Likewise.
46930         * modules/fsync-tests (Depends-on): Likewise.
46931         * modules/lseek-tests (Depends-on): Likewise.
46932         * modules/pipe-tests (Depends-on): Likewise.
46933         * modules/posix_spawn-tests (Depends-on): Likewise.
46934         * modules/posix_spawnp-tests (Depends-on): Likewise.
46935         * modules/stat-time-tests (Depends-on): Likewise.
46936         * modules/yesno-tests (Depends-on): Likewise.
46937
46938 2009-08-10  Bruno Haible  <bruno@clisp.org>
46939
46940         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
46941
46942 2009-08-10  Bruno Haible  <bruno@clisp.org>
46943
46944         Fix a gcc warning.
46945         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
46946
46947 2009-08-10  Bruno Haible  <bruno@clisp.org>
46948
46949         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
46950         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
46951         not only the first time.
46952         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
46953         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
46954         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
46955         is 1, not only the the first time.
46956
46957 2009-08-10  Bruno Haible  <bruno@clisp.org>
46958
46959         Make it possible to use module 'gethostname' without module 'close'.
46960         * lib/unistd.in.h (close): Evoke a link error only if
46961         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
46962         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
46963         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46964         * modules/unistd (Makefile.am): Substitute
46965         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46966         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
46967         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
46968         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
46969         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46970         * modules/sys_ioctl (Makefile.am): Substitute
46971         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46972         * modules/socket (configure.ac): On native Windows, set
46973         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
46974         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
46975         Reported by Sam Steingold <sds@gnu.org>.
46976
46977 2009-08-10  Bruno Haible  <bruno@clisp.org>
46978
46979         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
46980         * modules/ioctl (configure.ac): Likewise.
46981
46982 2009-08-10  Bruno Haible  <bruno@clisp.org>
46983
46984         Avoid collision between gnulib wrapper and libintl wrapper.
46985         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
46986         already defined in intl/printf.c.
46987         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
46988         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
46989
46990 2009-08-09  Bruno Haible  <bruno@clisp.org>
46991
46992         Make <sys/select.h> really self-contained, also on Solaris 10.
46993         * lib/sys_select.in.h: Include <string.h>.
46994         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
46995         Solaris 10 problem.
46996         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
46997         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
46998         Reported by Jim Meyering.
46999
47000 2009-08-09  Bruno Haible  <bruno@clisp.org>
47001
47002         Avoid warnings from 'aclocal' that are due to a use of macro name
47003         AM_XGETTEXT_OPTION that is not defined in automake.
47004         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
47005         automake.
47006         * modules/error (configure.ac): Likewise.
47007         * modules/propername (configure.ac): Likewise.
47008         * modules/vasprintf (configure.ac): Likewise.
47009         * modules/verror (configure.ac): Likewise.
47010         * modules/xprintf (configure.ac): Likewise.
47011         * modules/xvasprintf (configure.ac): Likewise.
47012
47013 2009-08-08  Bruno Haible  <bruno@clisp.org>
47014
47015         Avoid compilation error in C++ mode.
47016         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
47017         Reported by Sam Steingold <sds@gnu.org>.
47018
47019 2009-08-08  Bruno Haible  <bruno@clisp.org>
47020
47021         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
47022         for the various Unix platforms.
47023         * doc/posix-headers/limits.texi: Update platforms list regarding
47024         HOST_NAME_MAX.
47025         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47026
47027 2009-08-07  Jim Meyering  <meyering@redhat.com>
47028
47029         selinux-at: fix typo in a comment
47030         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
47031         Spotted by Paolo Bonzini.
47032
47033         selinux-at: remove redundant m4 code, add documentation
47034         * modules/selinux-at (configure.ac): Remove redundant code.
47035         LIB_SELINUX is already set via the dependent module, selinux-h.
47036         (Include): Add quotes around selinux-at.h.
47037         * lib/selinux-at.h: Add documentation.
47038         Reported by Bruno Haible in
47039         http://marc.info/?l=gnulib-bug&m=124958988300749
47040
47041 2009-08-07  Bruno Haible  <bruno@clisp.org>
47042
47043         Avoid link error on MacOS X 10.3 and 10.4.
47044         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
47045         on non-ELF systems.
47046         * lib/argp-pv.c (argp_program_version): Likewise.
47047         Reported by Simon Josefsson.
47048
47049 2009-08-07  Simon Josefsson  <simon@josefsson.org>
47050
47051         * tests/test-version-etc.sh: Use $EXEEXT.
47052
47053 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
47054
47055         update-copyright: update documentation to point to maint.mk
47056         * build-aux/update-copyright: Here.
47057
47058 2009-08-06  Jim Meyering  <meyering@redhat.com>
47059
47060         maint.mk: support update-copyright-local
47061         * top/maint.mk (update-copyright-local): Define place-holder.
47062         (update-copyright): Depend on $(update-copyright-local).
47063
47064 2009-08-06  Jim Meyering  <meyering@redhat.com>
47065
47066         selinux-at: new module
47067         Initially written for coreutils, this module will soon be
47068         used by findutils, too.
47069         * MODULES.html.sh [Misc]: Add selinux-at.
47070         * lib/selinux-at.h: New file, from coreutils.
47071         * lib/selinux-at.c: Likewise.
47072         * modules/selinux-at: Likewise.
47073         (License): Change from LGPL to GPL, since it depends
47074         on the GPL'd openat module.
47075
47076         doc: update README
47077         * README: Remove references to cogito.
47078         Remove cvs-repo-updating instructions from 2007.
47079         Don't imply that CVS is better if you have limited disk space.
47080
47081 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47082
47083         update-copyright: support C-style comments
47084         * build-aux/update-copyright: Implement and document.
47085         * tests/test-update-copyright.sh: Test.
47086
47087 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47088
47089         update-copyright: support omitted "(C)"
47090         * build-aux/update-copyright: Implement and document.  Also,
47091         allow variable whitespace before "(C)".
47092         * tests/test-update-copyright.sh: Test.
47093
47094 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47095
47096         update-copyright: don't trip on non-FSF copyright statements
47097         * build-aux/update-copyright: Fix so that the first correctly
47098         formatted FSF copyright statement is recognized no matter what
47099         appears before it.  Update documentation.
47100         * tests/test-update-copyright.sh: Test that.
47101
47102 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47103
47104         update-copyright: clean up code a little
47105         * build-aux/update-copyright: Append "_re" to the name of any
47106         variable holding a regular expression.
47107         Replace "old" and "new" with "stmt" in variable names.
47108         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
47109         handled correctly.
47110         Format code more consistently.
47111
47112 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47113
47114         update-copyright-tests: improve portability
47115         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
47116         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
47117
47118 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47119
47120         update-copyright: support @copyright{} and &copy;
47121         * build-aux/update-copyright: Implement and document.
47122         * tests/test-update-copyright.sh: Test.
47123
47124 2009-08-04  Jim Meyering  <meyering@redhat.com>
47125
47126         update-copyright-tests: correctly test EOL=\r\n handling
47127         * tests/test-update-copyright.sh: Put \r at the end of some lines
47128         for the dos-eol tests.  Based on a patch by Joel E. Denny.
47129
47130         maint.mk: make update-copyright exclusion list more configurable
47131         * top/maint.mk (update-copyright): Default to excluding COPYING,
47132         but allow an override, in case someone does want to update that file.
47133
47134         maint.mk: don't update copyright date in COPYING
47135         * top/maint.mk (update-copyright): Exclude COPYING.
47136
47137         maint.mk: add a copyright-updating rule
47138         * top/maint.mk (update-copyright): New rule.
47139         Derived from coreutils/Makefile.am.
47140
47141         update-copyright: rename some variables
47142         * build-aux/update-copyright: Rename a few variables for clarity.
47143         Tweak syntax.  List Joel E. Denny as coauthor.
47144
47145 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47146
47147         update-copyright: fix bug for 2-digit last year and add tests
47148         * build-aux/update-copyright: Fix bug.
47149         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
47150         specified.
47151         * modules/update-copyright-tests: New
47152         * tests/test-update-copyright.sh: New.
47153
47154 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47155
47156         update-copyright: handle leading tabs in line prefix
47157         * build-aux/update-copyright: Count leading tabs as 8 spaces
47158         when computing margin.  This helps with the formatting of
47159         ChangeLogs, for example.
47160         Fix documentation a little.
47161
47162 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47163
47164         update-copyright: support EOL=\r\n
47165         * build-aux/update-copyright: Implement that.
47166
47167 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47168
47169         update-copyright: automatically format copyright statements
47170         * build-aux/update-copyright: Implement that.
47171         Also, be a little more predictable and safer by always failing
47172         when the full copyright format is not perfectly recognized as an
47173         unbroken whole.  Discussed at
47174         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
47175         Rewrite documentation.
47176
47177 2009-08-03  Bruno Haible  <bruno@clisp.org>
47178
47179         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
47180
47181 2009-08-02  Bruno Haible  <bruno@clisp.org>
47182
47183         Tests for module 'uname'.
47184         * modules/uname-tests: New file.
47185         * tests/test-uname.c: New file.
47186
47187         New module 'uname'.
47188         * lib/uname.c: New file.
47189         * m4/uname.m4: New file.
47190         * modules/uname: New file.
47191         * doc/posix-functions/uname.texi: Mention the new module.
47192
47193 2009-08-02  Bruno Haible  <bruno@clisp.org>
47194
47195         Tests for module 'sys_utsname'.
47196         * modules/sys_utsname-tests: New file.
47197         * tests/test-sys_utsname.c: New file.
47198
47199         New module 'sys_utsname'.
47200         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
47201         * m4/sys_utsname_h.m4: New file.
47202         * modules/sys_utsname: New file.
47203         * doc/posix-headers/sys_utsname.texi: Mention the new module.
47204
47205 2009-08-02  Bruno Haible  <bruno@clisp.org>
47206
47207         Implicitly initialize the sockets library.
47208         * lib/gethostname.c: Include sockets.h.
47209         (rpl_gethostname): Invoke gl_sockets_startup.
47210         * lib/socket.c: Include sockets.h.
47211         (rpl_socket): Invoke gl_sockets_startup.
47212         * modules/gethostname (Depends-on): Add sockets.
47213         * modules/socket (Depends-on): Likewise.
47214         * tests/test-poll.c: Don't include sockets.h.
47215         (main): Don't invoke gl_sockets_startup.
47216         * tests/test-select.c: Don't include sockets.h.
47217         (main): Don't invoke gl_sockets_startup.
47218
47219 2009-08-02  Bruno Haible  <bruno@clisp.org>
47220
47221         Allow multiple calls to gl_sockets_startup.
47222         * lib/sockets.c (initialized_sockets_version): New variable.
47223         (gl_sockets_startup): Do nothing if already called for this or a higher
47224         version.
47225         (gl_sockets_cleanup): Reset initialized_sockets_version.
47226
47227 2009-08-03  Simon Josefsson  <simon@josefsson.org>
47228
47229         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
47230         different project/version.
47231
47232 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
47233             Bruno Haible  <bruno@clisp.org>
47234
47235         Tests for module 'pipe-filter-gi'.
47236         * modules/pipe-filter-gi-tests: New file.
47237         * tests/test-pipe-filter-gi1.sh: New file.
47238         * tests/test-pipe-filter-gi1.c: New file.
47239         * tests/test-pipe-filter-gi2.sh: New file.
47240         * tests/test-pipe-filter-gi2-main.c: New file.
47241         * tests/test-pipe-filter-gi2-child.c: New file.
47242
47243         New module 'pipe-filter-gi'.
47244         * lib/pipe-filter-gi.c: New file.
47245         * modules/pipe-filter-gi: New file.
47246
47247 2009-08-02  Bruno Haible  <bruno@clisp.org>
47248             Paolo Bonzini  <bonzini@gnu.org>
47249
47250         Tests for module 'pipe-filter-ii'.
47251         * modules/pipe-filter-ii-tests: New file.
47252         * tests/test-pipe-filter-ii1.sh: New file.
47253         * tests/test-pipe-filter-ii1.c: New file.
47254         * tests/test-pipe-filter-ii2.sh: New file.
47255         * tests/test-pipe-filter-ii2-main.c: New file.
47256         * tests/test-pipe-filter-ii2-child.c: New file.
47257
47258         New module 'pipe-filter-ii'.
47259         * lib/pipe-filter.h: New file.
47260         * lib/pipe-filter-ii.c: New file.
47261         * lib/pipe-filter-aux.h: New file.
47262         * modules/pipe-filter-ii: New file.
47263
47264 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47265
47266         * lib/gc-libgcrypt.c: Change copyright to FSF.
47267         * lib/gc-gnulib.c: Likewise.
47268
47269 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
47270
47271         * lib/gethostname.c: Include limits.h.
47272
47273 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47274             Bruno Haible  <bruno@clisp.org>
47275
47276         Ensure HOST_NAME_MAX as part of the gethostname module.
47277         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
47278         define also HOST_NAME_MAX.
47279         * tests/test-gethostname.c: Include <limits.h>.
47280         (main): Check also HOST_NAME_MAX.
47281         * doc/posix-headers/limits.texi: Document the mingw problem.
47282
47283 2009-08-02  Bruno Haible  <bruno@clisp.org>
47284
47285         * lib/gethostname.c (gethostname): Fix handling of large len argument.
47286         Add comments.
47287
47288 2009-03-31  Simon Josefsson  <simon@josefsson.org>
47289
47290         * lib/gethostname.c: Add Windows wrapper.
47291         * m4/gethostname.m4: Look for gethostname in -lws2_32.
47292         * modules/gethostname: Depend on sys_socket & errno, for also
47293         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
47294         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
47295
47296 2009-07-31  Jim Meyering  <meyering@redhat.com>
47297
47298         getloadavg: fix symbol name in comment
47299         * lib/getloadavg.c: Correct a typo I introduced when adding
47300         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
47301         Matt Kraai spotted the problem.
47302
47303 2009-07-29  Matt Kraai  <mkraai@beckman.com>
47304
47305         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
47306         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
47307         code also if ! defined N_NAME_POINTER.
47308         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
47309         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
47310         but the n_name member is a 12-byte array.
47311
47312 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
47313
47314         update-copyright: generalize comment handling
47315         * build-aux/update-copyright: Handle copyright statements
47316         within more comment styles.
47317         Document usage.
47318         Report any file with an external copyright holder or parse failure.
47319
47320 2009-07-29  Jim Meyering  <meyering@redhat.com>
47321
47322         mktime: correct setting of REPLACE_MKTIME
47323         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
47324
47325         update-copyright: new module
47326         * modules/update-copyright: New file.
47327         * build-aux/update-copyright: New file.
47328         * MODULES.html.sh (maint+release support): Add update-copyright.
47329
47330 2009-07-27  Bruno Haible  <bruno@clisp.org>
47331
47332         Fix compilation error when <ctime> is used and mktime is replaced.
47333         * lib/time.in.h (mktime): New declaration.
47334         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
47335         REPLACE_MKTIME instead of defining mktime in config.h.
47336         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
47337         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
47338         Reported by Ross McFarland <rwmcfa1@neces.com>.
47339
47340 2009-07-27  Bruno Haible  <bruno@clisp.org>
47341
47342         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
47343         Reported by Matt Kraai <mkraai@beckman.com>.
47344
47345 2009-07-25  Jim Meyering  <meyering@redhat.com>
47346
47347         maint.mk: avoid warnings about missing files
47348         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
47349         diagnostic when .prev-version does not exist.
47350         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
47351         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
47352         nonexistent cfg.mk.
47353         Suggestions from Simon Josefsson.
47354
47355 2009-07-25  Bruno Haible  <bruno@clisp.org>
47356
47357         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
47358         defined as macros. Needed on QNX 6.4.1.
47359         Reported by Matt Kraai <mkraai@beckman.com>.
47360
47361 2009-07-23  Jim Meyering  <meyering@redhat.com>
47362
47363         maint.mk: invoke "make dist" with a working value of XZ_OPT
47364         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
47365
47366 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
47367
47368         Make fseeko.c compile on QNX.
47369         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
47370
47371 2009-07-22  Peter Simons  <simons@cryp.to>
47372
47373         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
47374         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
47375         * lib/md4.h: Likewise.
47376         * lib/md5.h: Likewise.
47377         * lib/sha1.h: Likewise.
47378         * lib/sha256.h: Likewise.
47379         * lib/sha512.h: Likewise.
47380
47381         tests-sha1: don't assign literal string to 'char *' variable
47382         * tests/test-sha1.c (main): Declare locals with "const" to match
47383         attributes of the right hand side.
47384
47385 2009-07-21  Eric Blake  <ebb9@byu.net>
47386
47387         dup2: fix more mingw problems
47388         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
47389         fd to itself.
47390         * doc/posix-functions/dup2.texi (dup2): Document the bug.
47391         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
47392         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
47393         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
47394         care of mingw bugs.
47395
47396 2009-07-21  Jim Meyering  <meyering@redhat.com>
47397
47398         vc-list-files: avoid failure when /bin/sh is dash
47399         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
47400         On some Debian based systems, /bin/sh is a symlink to dash, and running
47401         this command would omit the "/" following each 'tests' prefix:
47402           dash -x build-aux/vc-list-files -C . tests
47403         That is because bash and dash work differently:
47404           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
47405           bash ok
47406           dash odd
47407
47408 2009-07-21  Eric Blake  <ebb9@byu.net>
47409
47410         dup2-tests: test previous patch
47411         * modules/dup2-tests: New file.
47412         * tests/test-dup2.c: Likewise.
47413         * tests/test-open.c (main): Avoid unspecified behavior.
47414         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
47415         test.
47416
47417         dup2: work around mingw and cygwin 1.5 bug
47418         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
47419         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
47420         * modules/unistd (Makefile.am): Substitute it.
47421         * lib/unistd.in.h (dup2): Declare the replacement.
47422         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
47423         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
47424         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
47425         * modules/execute (Depends-on): Add dup2.
47426         * modules/fseterr (Depends-on): Likewise.
47427         * modules/pipe (Depends-on): Likewise.
47428         * modules/posix_spawn-internal (Depends-on): Likewise.
47429
47430 2009-07-21  Bruno Haible  <bruno@clisp.org>
47431
47432         * modules/.gitattributes: New file.
47433
47434 2009-07-20  Bruno Haible  <bruno@clisp.org>
47435
47436         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
47437         (main): Use it.
47438
47439 2009-07-20  Eric Blake  <ebb9@byu.net>
47440
47441         test-pipe: make a bit more robust.
47442         * tests/test-pipe.c (myerr): Allow error messages regardless of
47443         what we do to stderr.
47444         (test_pipe): Rearrange to avoid deadlock.
47445         (child_main): Try a larger read, to ensure we avoided deadlock.
47446         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
47447         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
47448         if misused.
47449
47450 2009-07-19  Jim Meyering  <meyering@redhat.com>
47451
47452         fts: avoid false-positive cycle-detection
47453         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
47454         for each new command line argument.
47455
47456 2009-07-19  Bruno Haible  <bruno@clisp.org>
47457
47458         Fix build error on mingw with the modules sys_select and unistd.
47459         * modules/acl-tests (Depends-on): Add close.
47460         * modules/binary-io-tests (Depends-on): Likewise.
47461         * modules/closein-tests (Depends-on): Likewise.
47462         * modules/flock-tests (Depends-on): Likewise.
47463         * modules/fsync-tests (Depends-on): Likewise.
47464         * modules/lseek-tests (Depends-on): Likewise.
47465         * modules/pipe-tests (Depends-on): Likewise.
47466         * modules/posix_spawn-tests (Depends-on): Likewise.
47467         * modules/posix_spawnp-tests (Depends-on): Likewise.
47468         * modules/stat-time-tests (Depends-on): Likewise.
47469         * modules/yesno-tests (Depends-on): Likewise.
47470
47471 2009-07-19  Bruno Haible  <bruno@clisp.org>
47472
47473         Unify conditionals.
47474         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
47475         macros, not at the compiler macros.
47476         * lib/pipe.c: Likewise.
47477         * lib/execute.c: Likewise.
47478         * lib/spawni.c: Likewise.
47479
47480 2009-07-19  Bruno Haible  <bruno@clisp.org>
47481
47482         Fix handling of closed stdin/stdout/stderr on mingw.
47483         * lib/w32spawn.h: Include unistd.h.
47484         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
47485         file descriptor with O_NOINHERIT flag.
47486         (fd_safer_noinherit): New function, based on fd-safer.c.
47487         (dup_safer_noinherit): New function, based on dup-safer.c.
47488         (undup_safer_noinherit): New function.
47489         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
47490         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
47491         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
47492         instead of fd_safer.
47493         * tests/test-pipe.c: Include <windows.h>.
47494         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
47495         result.
47496
47497         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
47498         from main.
47499         (test_pipe): Pass an extra argument for disambiguation.
47500         (main): Invoke parent_main or child_main.
47501
47502         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
47503         consistently.
47504
47505 2009-07-18  Eric Blake  <ebb9@byu.net>
47506
47507         test-pipe: fix mingw build
47508         * tests/test-pipe.c (main): Avoid fcntl on mingw.
47509
47510 2009-07-18  Bruno Haible  <bruno@clisp.org>
47511
47512         * modules/pipe-tests (Makefile.am): Fix typo.
47513
47514 2009-07-18  Eric Blake  <ebb9@byu.net>
47515
47516         error: fix mingw build
47517         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
47518         Reported by Bruno Haible.
47519
47520         error: avoid undefined use of stdout
47521         * lib/error.c (error, error_at_line): Check that fd 1 is open
47522         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
47523         is handling faults and the close_stdout module wants to report the
47524         detection of closed stdout as an error.
47525
47526 2009-07-17  Eric Blake  <ebb9@byu.net>
47527
47528         pipe: be robust in face of closed fds
47529         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
47530         should cause child to misbehave.
47531         * modules/pipe-tests: New module.
47532         * tests/test-pipe.c: New file.
47533         * tests/test-pipe.sh: New file.
47534         Reported by Akim Demaille.
47535
47536 2009-07-14  Bruno Haible  <bruno@clisp.org>
47537
47538         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
47539         Reported by anonymous kc.
47540
47541 2009-07-07  Jim Meyering  <meyering@redhat.com>
47542
47543         maint.mk: don't look for translatable strings in *.m4 or *.mk
47544         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
47545         when searching for translatable strings.
47546
47547 2009-07-05  Jim Meyering  <meyering@redhat.com>
47548
47549         remove superfluous parentheses in STREQ definition
47550         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
47551         * lib/getugroups.c (STREQ): Likewise.
47552         * lib/fnmatch.c (STREQ): Likewise.
47553         Spotted by Bruno Haible.
47554
47555 2009-07-04  Jim Meyering  <meyering@redhat.com>
47556
47557         argv-iter: new module
47558         * MODULES.html.sh: Add argv-iter.
47559         * lib/argv-iter.c, lib/argv-iter.h: New files.
47560         * modules/argv-iter: New file.
47561         * modules/argv-iter-tests: New file.
47562         * tests/test-argv-iter.c: Test it.
47563
47564 2009-07-04  Bruno Haible  <bruno@clisp.org>
47565
47566         Fix assertion.
47567         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
47568         contains more exact copies of a given entry than file2, leave the extra
47569         copies unpaired rather than aborting.
47570         Reported by Eric Blake.
47571
47572 2009-07-02  Bruno Haible  <bruno@clisp.org>
47573
47574         Speedup git-merge-changelog for git cherry-pick.
47575         * lib/git-merge-changelog.c (struct entries_mapping): New type.
47576         (entries_mapping_get): New function, extracted from compute_mapping.
47577         (entries_mapping_reverse_get): New function.
47578         (compute_mapping): Add a 'full' argument. Return the result in a
47579         'struct entries_mapping'.
47580         (main): Update. Access the mappings through entries_mapping_get.
47581         Reported by Eric Blake.
47582
47583 2009-07-02  Bruno Haible  <bruno@clisp.org>
47584
47585         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
47586         best_i.
47587
47588 2009-07-02  Bruno Haible  <bruno@clisp.org>
47589
47590         Speed up approximate search for matching ChangeLog entries.
47591         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
47592         argument. Call fstrcmp_bounded instead of fstrcmp.
47593         (compute_mapping, try_split_merged_entry, main): Update callers.
47594
47595 2009-07-02  Bruno Haible  <bruno@clisp.org>
47596
47597         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
47598
47599 2009-06-30  Bruno Haible  <bruno@clisp.org>
47600
47601         Reduce the number of uc_is_cased calls.
47602         * lib/unicase.h (casing_suffix_context_t): Add
47603         'first_char_except_ignorable' field.
47604         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
47605         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
47606         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
47607         Update initializer.
47608         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
47609         case-ignorable characters.
47610         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
47611         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
47612         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
47613         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
47614         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
47615
47616 2009-06-30  Bruno Haible  <bruno@clisp.org>
47617
47618         Tests for module 'unicase/ignorable'.
47619         * modules/unicase/ignorable-tests: New file.
47620         * tests/unicase/test-ignorable.c: New file, generated by
47621         gen-uni-tables.
47622
47623         Tests for module 'unicase/cased'.
47624         * modules/unicase/cased-tests: New file.
47625         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
47626         * tests/unicase/test-predicate-part1.h: New file, derived from
47627         tests/unictype/test-predicate-part1.h.
47628         * tests/unicase/test-predicate-part2.h: New file, same as
47629         tests/unictype/test-predicate-part2.h.
47630
47631         Fix evaluation of "Before C" condition of FINAL_SIGMA.
47632         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
47633         (output_casing_properties): New function.
47634         (main): Call it.
47635         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
47636         * lib/unicase/cased.c: Include unictype/bitmap.h.
47637         (uc_is_cased): Define through a bitmap lookup.
47638         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
47639         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
47640         (uc_is_case_ignorable): Define through a bitmap lookup.
47641         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
47642         lib/unictype/bitmap.h.
47643         (Depends-on): Add inline. Clean up.
47644         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
47645         lib/unictype/bitmap.h.
47646         (Depends-on): Add inline. Clean up.
47647         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
47648         recognition.
47649         * tests/unicase/test-u16-tolower.c (main): Likewise.
47650         * tests/unicase/test-u32-tolower.c (main): Likewise.
47651
47652 2009-06-30  Bruno Haible  <bruno@clisp.org>
47653
47654         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
47655         * lib/unicase/u16-casemap.c: Likewise.
47656         * lib/unicase/u32-casemap.c: Likewise.
47657
47658 2009-06-29  Bruno Haible  <bruno@clisp.org>
47659
47660         Define u32_casefold as a wrapper around u32_ct_casefold.
47661         * lib/unicase/u32-casefold.c: Update.
47662         * modules/unicase/u32-casefold (Depends-on): Add
47663         unicase/u32-ct-casefold, unicase/empty-prefix-context,
47664         unicase/empty-suffix-context. Clean up.
47665
47666         Define u16_casefold as a wrapper around u16_ct_casefold.
47667         * lib/unicase/u16-casefold.c: Update.
47668         * modules/unicase/u16-casefold (Depends-on): Add
47669         unicase/u16-ct-casefold, unicase/empty-prefix-context,
47670         unicase/empty-suffix-context. Clean up.
47671
47672         Define u8_casefold as a wrapper around u8_ct_casefold.
47673         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
47674         * lib/unicase/u8-casefold.c: Update.
47675         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
47676         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47677
47678         Define u32_totitle as a wrapper around u32_ct_totitle.
47679         * lib/unicase/u32-totitle.c: Update.
47680         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
47681         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47682
47683         Define u16_totitle as a wrapper around u16_ct_totitle.
47684         * lib/unicase/u16-totitle.c: Update.
47685         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
47686         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47687
47688         Define u8_totitle as a wrapper around u8_ct_totitle.
47689         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
47690         functions.
47691         (FUNC): Delegate to U_CT_TOTITLE.
47692         * lib/unicase/u8-totitle.c: Update.
47693         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
47694         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47695
47696         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
47697         invocation.
47698         * modules/unicase/u32-tolower (Depends-on): Add
47699         unicase/empty-prefix-context, unicase/empty-suffix-context.
47700
47701         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
47702         invocation.
47703         * modules/unicase/u16-tolower (Depends-on): Add
47704         unicase/empty-prefix-context, unicase/empty-suffix-context.
47705
47706         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
47707         * modules/unicase/u8-tolower (Depends-on): Add
47708         unicase/empty-prefix-context, unicase/empty-suffix-context.
47709
47710         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
47711         invocation.
47712         * modules/unicase/u32-toupper (Depends-on): Add
47713         unicase/empty-prefix-context, unicase/empty-suffix-context.
47714
47715         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
47716         invocation.
47717         * modules/unicase/u16-toupper (Depends-on): Add
47718         unicase/empty-prefix-context, unicase/empty-suffix-context.
47719
47720         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
47721         * modules/unicase/u8-toupper (Depends-on): Add
47722         unicase/empty-prefix-context, unicase/empty-suffix-context.
47723
47724         New module 'unicase/u32-ct-casefold'.
47725         * lib/unicase/u32-ct-casefold.c: New file.
47726         * modules/unicase/u32-ct-casefold: New file.
47727
47728         New module 'unicase/u16-ct-casefold'.
47729         * lib/unicase/u16-ct-casefold.c: New file.
47730         * modules/unicase/u16-ct-casefold: New file.
47731
47732         New module 'unicase/u8-ct-casefold'.
47733         * lib/unicase/u8-ct-casefold.c: New file.
47734         * lib/unicase/u-ct-casefold.h: New file, derived from
47735         lib/unicase/u-casefold.h.
47736         * modules/unicase/u8-ct-casefold: New file.
47737
47738         New module 'unicase/u32-ct-totitle'.
47739         * lib/unicase/u32-ct-totitle.c: New file.
47740         * modules/unicase/u32-ct-totitle: New file.
47741
47742         New module 'unicase/u16-ct-totitle'.
47743         * lib/unicase/u16-ct-totitle.c: New file.
47744         * modules/unicase/u16-ct-totitle: New file.
47745
47746         New module 'unicase/u8-ct-totitle'.
47747         * lib/unicase/u8-ct-totitle.c: New file.
47748         * lib/unicase/u-ct-totitle.h: New file, derived from
47749         lib/unicase/u-totitle.h.
47750         * modules/unicase/u8-ct-totitle: New file.
47751
47752         New module 'unicase/u32-ct-tolower'.
47753         * lib/unicase/u32-ct-tolower.c: New file.
47754         * modules/unicase/u32-ct-tolower: New file.
47755
47756         New module 'unicase/u16-ct-tolower'.
47757         * lib/unicase/u16-ct-tolower.c: New file.
47758         * modules/unicase/u16-ct-tolower: New file.
47759
47760         New module 'unicase/u8-ct-tolower'.
47761         * lib/unicase/u8-ct-tolower.c: New file.
47762         * modules/unicase/u8-ct-tolower: New file.
47763
47764         New module 'unicase/u32-ct-toupper'.
47765         * lib/unicase/u32-ct-toupper.c: New file.
47766         * modules/unicase/u32-ct-toupper: New file.
47767
47768         New module 'unicase/u16-ct-toupper'.
47769         * lib/unicase/u16-ct-toupper.c: New file.
47770         * modules/unicase/u16-ct-toupper: New file.
47771
47772         New module 'unicase/u8-ct-toupper'.
47773         * lib/unicase/u8-ct-toupper.c: New file.
47774         * modules/unicase/u8-ct-toupper: New file.
47775
47776         Add context arguments to u*_casemap functions.
47777         * lib/unicase/unicasemap.h: Include unicase.h.
47778         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
47779         suffix_context arguments.
47780         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
47781         functions.
47782         (FUNC): Add prefix_context and suffix_context arguments. Use
47783         uc_is_cased and uc_is_case_ignorable.
47784         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
47785         * lib/unicase/u16-casemap.c: Likewise.
47786         * lib/unicase/u32-casemap.c: Likewise.
47787         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
47788         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47789         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
47790         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47791         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
47792         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
47793
47794         New module 'unicase/u32-suffix-context'.
47795         * lib/unicase/u32-suffix-context.c: New file.
47796         * modules/unicase/u32-suffix-context: New file.
47797
47798         New module 'unicase/u16-suffix-context'.
47799         * lib/unicase/u16-suffix-context.c: New file.
47800         * modules/unicase/u16-suffix-context: New file.
47801
47802         New module 'unicase/u8-suffix-context'.
47803         * lib/unicase/u8-suffix-context.c: New file.
47804         * lib/unicase/u-suffix-context.h: New file.
47805         * modules/unicase/u8-suffix-context: New file.
47806
47807         New module 'unicase/empty-suffix-context'.
47808         * lib/unicase/empty-suffix-context.c: New file.
47809         * modules/unicase/empty-suffix-context: New file.
47810
47811         New module 'unicase/u32-prefix-context'.
47812         * lib/unicase/u32-prefix-context.c: New file.
47813         * modules/unicase/u32-prefix-context: New file.
47814
47815         New module 'unicase/u16-prefix-context'.
47816         * lib/unicase/u16-prefix-context.c: New file.
47817         * modules/unicase/u16-prefix-context: New file.
47818
47819         New module 'unicase/u8-prefix-context'.
47820         * lib/unicase/u8-prefix-context.c: New file.
47821         * lib/unicase/u-prefix-context.h: New file.
47822         * lib/unicase/context.h: New file.
47823         * modules/unicase/u8-prefix-context: New file.
47824
47825         New module 'unicase/empty-prefix-context'.
47826         * lib/unicase/empty-prefix-context.c: New file.
47827         * modules/unicase/empty-prefix-context: New file.
47828
47829         New module 'unicase/ignorable'.
47830         * lib/unicase/ignorable.c: New file.
47831         * modules/unicase/ignorable: New file.
47832
47833         New module 'unicase/cased'.
47834         * lib/unicase/caseprop.h: New file.
47835         * lib/unicase/cased.c: New file.
47836         * modules/unicase/cased: New file.
47837
47838         New functions for case mapping of substrings.
47839         * lib/unicase.h (casing_prefix_context_t): New type.
47840         (unicase_empty_prefix_context): New variable.
47841         (u8_casing_prefix_context, u16_casing_prefix_context,
47842         u32_casing_prefix_context, u8_casing_prefixes_context,
47843         u16_casing_prefixes_context, u32_casing_prefixes_context): New
47844         declarations.
47845         (casing_suffix_context_t): New type.
47846         (unicase_empty_suffix_context): New variable.
47847         (u8_casing_suffix_context, u16_casing_suffix_context,
47848         u32_casing_suffix_context, u8_casing_suffixes_context,
47849         u16_casing_suffixes_context, u32_casing_suffixes_context,
47850         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
47851         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
47852         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
47853         declarations.
47854
47855 2009-06-28  Jim Meyering  <meyering@redhat.com>
47856
47857         boostrap: indent only with spaces
47858         * build-aux/bootstrap: Indent only with spaces, never TABs.
47859
47860         bootstrap: split long lines
47861         * build-aux/bootstrap: Keep line length < 80.
47862
47863         bootstrap: sync from coreutils
47864         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
47865         just as autoreconf does.  Verify a list of prerequisite
47866         package-name,version-number pairs if defined in bootstrap.conf.
47867         Refer to README-prereq, if prerequisites are not satisfied.
47868
47869 2009-06-27  Eric Blake  <ebb9@byu.net>
47870
47871         tests: add test for bogus NULL definition
47872         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
47873         * tests/test-stdlib.c: Likewise.
47874         * tests/test-string.c: Likewise.
47875         * tests/test-locale.c: Likewise.
47876         * tests/test-unistd.c: Likewise.
47877         * modules/stdio-tests (Depends-on): Add verify.
47878         * modules/stdlib-tests (Depends-on): Likewise.
47879         * modules/string-tests (Depends-on): Likewise.
47880         * modules/locale-tests (Depends-on): Likewise.
47881         * modules/unistd-tests (Depends-on): Likewise.
47882
47883 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
47884
47885         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
47886         self-explaining comment.
47887         * m4/selinux-selinux-h: Update serial.
47888         (gl_LIBSELINUX): New macro, adding a warning for missing development
47889         packages to code extracted from...
47890         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
47891         Add warning for missing development packages here, too.
47892
47893 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
47894
47895         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
47896
47897 2009-06-25  Eric Blake  <ebb9@byu.net>
47898
47899         version-etc: fix regression
47900         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
47901         gcc.
47902         (version_etc): Use it, to catch bugs with trailing NULL.
47903         * lib/version-etc.c (version_etc_arn): Delete unused argument.
47904         (version_etc_va): Fix logic bug.
47905         * modules/version-etc-tests: Add test.
47906         * tests/test-version-etc.c: New file.
47907         * tests/test-version-etc.sh: Likewise.
47908
47909 2009-06-25  Sam Steingold  <sds@gnu.org>
47910
47911         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
47912         mbtowc declaration.
47913
47914 2009-06-25  Eric Blake  <ebb9@byu.net>
47915
47916         fpurge: migrate into <stdio.h>
47917         * lib/fpurge.h: Delete...
47918         * lib/stdio.in.h (fpurge): ...and declare here, instead.
47919         * lib/fpurge.c (fpurge): Change declaring header.
47920         * modules/fpurge (Files): Drop deleted file.
47921         (Depends-on): Add stdio.
47922         (configure.ac): Set witness.
47923         * modules/stdio (Makefile.am): Support fpurge macros.
47924         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
47925         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
47926         * lib/fflush.c: Update client.
47927         * tests/test-fpurge.c: Likewise.
47928         * NEWS: Mention the change.
47929
47930 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47931
47932         * lib/argp-version-etc.c (program_authors): Add const
47933         qualifier.
47934         * lib/version-etc.c: Fix typos in the comments.
47935         * modules/argp-version-etc: Depends on version-etc.
47936
47937 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47938
47939         argp-version-etc: new module.
47940
47941         * lib/argp-version-etc.c: New file.
47942         * lib/argp-version-etc.h: New file.
47943         * modules/argp-version-etc: New file.
47944         * modules/argp-version-etc-tests: New file.
47945         * tests/test-argp-version-etc.c: New test.
47946         * tests/test-argp-version-etc-1.sh: New test.
47947
47948 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
47949
47950         Provide additional interfaces and documentation for version-etc
47951         module.
47952
47953         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
47954         interfaces.
47955         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
47956         prototypes.
47957
47958 2009-06-24  Bruno Haible  <bruno@clisp.org>
47959
47960         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
47961         HAVE_LIB${NAME} macro.
47962         Reported by Sam Steingold <sds@gnu.org>.
47963
47964 2009-06-23  Simon Josefsson  <simon@josefsson.org>
47965
47966         * modules/hash-tests (test_hash_LDADD): Link to libintl when
47967         needed.
47968
47969 2009-06-21  Bruno Haible  <bruno@clisp.org>
47970
47971         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
47972         work.
47973         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
47974         together with LIB${NAME}, LTLIB${NAME}.
47975         Reported by Sam Steingold <sds@gnu.org>.
47976
47977 2009-06-20  Jim Meyering  <meyering@redhat.com>
47978
47979         tests: make sc_require_test_exit_idiom more generic
47980         * top/maint.mk (Exit_witness_file): New overridable variable.
47981         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
47982         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
47983
47984 2009-06-19  Jim Meyering  <meyering@redhat.com>
47985
47986         hash: reverse order of src/dst parameters in an internal interface
47987         * lib/hash.c (transfer_entries): Reverse order of parameters to
47988         put DST before SRC.  Adjust callers.
47989
47990         tests: test-hash: avoid wholesale duplication
47991         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
47992         Instead, use a loop and add a single conditional.
47993
47994         tests: test-hash: allow seed selection via a command line argument
47995         * tests/test-hash.c (get_seed): New function.
47996         (main): Use it.
47997
47998 2009-06-19  Eric Blake  <ebb9@byu.net>
47999
48000         hash: avoid memory leak on allocation failure
48001         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
48002         failure.  Factor repeated algorithm...
48003         (transfer_entries): ...into new helper routine.
48004         (hash_delete): React to hash_rehash return value.
48005
48006         hash: reduce memory pressure in hash_rehash no-op case
48007         * lib/hash.c (next_prime): Avoid overflow.
48008         (hash_initialize): Factor bucket size computation...
48009         (compute_bucket_size): ...into new helper function.
48010         (hash_rehash): Use new function and open coding to reduce memory
48011         pressure, and avoid a memory leak in USE_OBSTACK code.
48012         Reported by Jim Meyering.
48013
48014 2009-06-18  Eric Blake  <ebb9@byu.net>
48015
48016         hash: make rotation more obvious
48017         * modules/hash (Depends-on): Add bitrotate and stdint.
48018         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
48019         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
48020         (SIZE_MAX): Rely on headers for definition.
48021         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
48022         (raw_hasher): Use rotr_sz.
48023         Suggested by Jim Meyering.
48024
48025         hash: fix memory leak in last patch
48026         * lib/hash.c (hash_rehash): Avoid memory leak.
48027
48028         hash: avoid no-op rehashing
48029         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
48030
48031         hash: provide default callback functions
48032         * lib/hash.c (raw_hasher, raw_comparator): New functions.
48033         (hash_initialize): Use them as defaults.
48034         * tests/test-hash.c (main): Test this.
48035
48036         hash: minor optimization
48037         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
48038         when possible.
48039         (hash_initialize): Document this promise.
48040         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
48041         * tests/test-hash.c (hash_compare_strings): Test this.
48042
48043 2009-06-18  Bruno Haible  <bruno@clisp.org>
48044
48045         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
48046         going to be replaced anyway.
48047
48048 2009-06-18  Bruno Haible  <bruno@clisp.org>
48049
48050         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
48051         in one place.
48052         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
48053         be replaced anyway.
48054
48055 2009-06-18  Eric Blake  <ebb9@byu.net>
48056
48057         hash: check for resize before insertion
48058         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
48059         threshold before insertion, so that a pathological hash_rehash
48060         that fills every bucket can still trigger another rehash.
48061
48062 2009-06-18  Jim Meyering  <meyering@redhat.com>
48063
48064         hash-tests: add a loop around the small tests
48065         * tests/test-hash.c (main): Repeat small tests with selected
48066         small initial table sizes.
48067
48068 2009-06-17  Eric Blake  <ebb9@byu.net>
48069
48070         hash: minor cleanups
48071         * lib/hash.h (hash_entry): Make opaque, by moving...
48072         * lib/hash.c (hash_entry): ...here.
48073         (hash_insert): Clarify restrictions on what can be inserted.
48074         (hash_get_next): Clarify when it is safe to remove an element
48075         during traversal.
48076         (check_tuning): Skip verification when tuning is known safe.
48077         (hash_initialize): Clarify restrictions on tuning.
48078
48079 2009-06-17  Jim Meyering  <jim@meyering.net>
48080         and Eric Blake  <ebb9@byu.net>
48081
48082         hash-tests: new module
48083         * modules/hash-tests: New file.
48084         * tests/test-hash.c: New file.
48085
48086 2009-06-17  Eric Blake  <ebb9@byu.net>
48087
48088         strstr-simple: document new module
48089         * MODULES.html.sh: Document new module.
48090
48091         strstr, strcasestr: replace on platforms with broken memchr
48092         * modules/strstr: Split into...
48093         * modules/strstr-simple: ...new module that does not care about
48094         performance, but does care about glibc bug.
48095         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
48096         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
48097         if platform memchr is broken, per Debian bug 521737.
48098         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
48099         memchr.
48100         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
48101         * doc/posix-functions/strstr.texi (strstr): Document the fix.
48102         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
48103         * modules/mountlist (Depends-on): Add strstr-simple.
48104         * modules/gen-uni-tables (Depends-on): Likewise.
48105         * modules/argz (Depends-on): Add strstr.
48106
48107 2009-06-17  Bruno Haible  <bruno@clisp.org>
48108
48109         * modules/posix_spawn-internal (Depends-on): Add errno.
48110
48111 2009-06-17  Bruno Haible  <bruno@clisp.org>
48112
48113         Define missing ESTALE on Interix 3.5.
48114         * lib/errno.in.h (ESTALE): Assign a value if missing.
48115         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
48116         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
48117         missing.
48118         * doc/posix-headers/errno.texi: Mention the Interix bug.
48119         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
48120
48121 2009-06-15  Eric Blake  <ebb9@byu.net>
48122
48123         memchr, memchr2: add valgrind exception
48124         * lib/memchr.valgrind: New file.
48125         * lib/memchr2.valgrind: New file.
48126         * modules/memchr (Files): Distribute valgrind file.
48127         * modules/memchr2 (Files): Likewise.
48128
48129         docs: memchr is no longer obsolete
48130         * MODULES.html.sh: Move memchr from obsolete to string.h section.
48131         * lib/string.in.h (memchr): Simplify logic.
48132
48133 2009-06-14  Jim Meyering  <meyering@redhat.com>
48134
48135         link-follow: fix the "checking..." message to not mention trailing slash
48136         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
48137         never considered trailing slashes.
48138
48139 2009-06-14  Bruno Haible  <bruno@clisp.org>
48140
48141         * m4/memchr.m4: Mention also the bug on IA-64.
48142         * doc/posix-functions/memchr.texi: Likewise.
48143
48144 2009-06-12  Eric Blake  <ebb9@byu.net>
48145
48146         memchr: detect broken x86_64 and alpha implementations
48147         * modules/memchr-tests (Depends-on): Move mmap detection...
48148         * modules/memchr (Depends-on): ...here.
48149         (configure.ac): Set indicator.
48150         * lib/string.in.h (memchr): Declare replacement.
48151         * modules/string (Makefile.am): Trigger replacement.
48152         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
48153         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
48154         bugs.
48155         * doc/posix-functions/memchr.texi (memchr): Document the bug.
48156         * modules/getpagesize (License): Relax license.
48157
48158 2009-06-11  Bruno Haible  <bruno@clisp.org>
48159
48160         * lib/idpriv.h: Add more references.
48161
48162 2009-06-08  Bruno Haible  <bruno@clisp.org>
48163
48164         Tests for module 'idpriv-droptemp'.
48165         * modules/idpriv-droptemp-tests: New file.
48166         * tests/test-idpriv-droptemp.sh: New file.
48167         * tests/test-idpriv-droptemp.su.sh: New file.
48168         * tests/test-idpriv-droptemp.c: New file.
48169
48170         New module 'idpriv-droptemp'.
48171         * lib/idpriv-droptemp.c: New file.
48172         * modules/idpriv-droptemp: New file.
48173
48174 2009-06-08  Bruno Haible  <bruno@clisp.org>
48175
48176         Tests for module 'idpriv-drop'.
48177         * modules/idpriv-drop-tests: New file.
48178         * tests/test-idpriv-drop.sh: New file.
48179         * tests/test-idpriv-drop.su.sh: New file.
48180         * tests/test-idpriv-drop.c: New file.
48181
48182         New module 'idpriv-drop'.
48183         * lib/idpriv.h: New file.
48184         * lib-idpriv-drop.c: New file.
48185         * m4/idpriv.m4: New file.
48186         * modules/idpriv-drop: New file.
48187
48188 2009-06-08  Bruno Haible  <bruno@clisp.org>
48189
48190         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
48191         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48192         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48193         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48194         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48195         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48196         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48197
48198 2009-06-08  Eric Blake  <ebb9@byu.net>
48199
48200         test-strstr: use memory fence, when possible
48201         * tests/test-strstr.c (main): Use memory fence, in order to be
48202         more likely to trigger Debian bug 521737.
48203         * modules/strstr-tests (Files): Pull in additional files.
48204
48205         memchr: no longer obsolete, for wider field testing
48206         * modules/memchr (Status, Notice): Delete, this module is no
48207         longer obsolete.
48208         * modules/vasnprintf (Depends-on): Add memchr.
48209
48210 2009-06-07  Jim Meyering  <meyering@redhat.com>
48211
48212         hash: declare some functions with the warn_unused_result attribute
48213         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
48214
48215 2009-06-07  Bruno Haible  <bruno@clisp.org>
48216
48217         * tests/test-alignof.c: Don't test int64_t if it does not exist.
48218         Reported by Eric Blake.
48219
48220 2009-06-06  Eric Blake  <ebb9@byu.net>
48221
48222         test-alignof: fix typo with long double
48223         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
48224         compiler error.
48225
48226 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
48227
48228         Escape non-texinfo { and }s.
48229         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
48230         markup error.
48231
48232 2009-06-04  Jim Meyering  <meyering@redhat.com>
48233
48234         gitlog-to-changelog: don't infloop on an empty commit log
48235         * build-aux/gitlog-to-changelog: Warn about an empty log message.
48236         Reported by Boris Petersen <transacid@centerim.org>.
48237
48238 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
48239
48240         version-etc: extend for packagers
48241         Add three new configure options, intended for packagers:
48242           --with-packager="packager name"
48243           --with-packager-version="packager-specific version"
48244           --with-packager-bug-reports="packager bug reporting"
48245         An example with coreutils:
48246           $ ./configure \
48247             --with-packager=Gentoo \
48248             --with-packager-bug-report=http://bugs.gentoo.org/ \
48249             --with-packager-version="patchset 1.6"
48250           $ ./src/ls --version | head -n2
48251           ls (GNU coreutils) 7.1-dirty
48252           Packaged by Gentoo (patchset 1.6)
48253         Note that the bug reporting info via --help doesn't show up because
48254         coreutils uses its own custom emit_bug_reporting_address() implementation
48255         in src/system.h.  If it didn't, it'd look like:
48256           $ ./src/ls --help | tail -n4
48257           Report bugs to <bug-coreutils@gnu.org>.
48258           Report Gentoo bugs to <http://bugs.gentoo.org/>.
48259           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
48260           General help using GNU software: <http://www.gnu.org/gethelp/>.
48261         * lib/version-etc.c: Print new information, if provided.
48262         * m4/version-etc.m4: New file.
48263         * modules/version-etc (Files): Add m4/version-etc.m4.
48264         (configure.ac): Add gl_VERSION_ETC.
48265
48266 2009-05-31  Bruno Haible  <bruno@clisp.org>
48267
48268         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
48269         and 'int64_t'.
48270         * modules/alignof-tests (Dependencies): Add stdint.
48271         Reported by Eric Blake.
48272
48273 2009-05-31  Bruno Haible  <bruno@clisp.org>
48274
48275         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
48276         restriction due to compiler bugs.
48277         Reported by Eric Blake.
48278
48279 2009-05-31  Simon Josefsson  <simon@josefsson.org>
48280             Bruno Haible  <bruno@clisp.org>
48281
48282         Fix test-alignof failure.
48283         * lib/alignof.h (alignof_slot): New macro.
48284         (alignof_type): New macro, with the same semantics as the previous
48285         'alignof'.
48286         (alignof): Alias to alignof_slot.
48287         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
48288         check that the results are usable as constant expressions.
48289
48290 2009-05-31  Bruno Haible  <bruno@clisp.org>
48291
48292         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
48293         * tests/test-memchr.c (main): Check that memchr does not read past the
48294         first occurrence of the byte.
48295         * tests/test-strstr.c (main): Update comment.
48296         Suggested by Eric Blake.
48297
48298 2009-05-30  Bruno Haible  <bruno@clisp.org>
48299
48300         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
48301         detail how to use dumpbin.
48302         Reported by David Byron <dbyron@dbyron.com>.
48303
48304 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48305
48306         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
48307
48308 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48309
48310         * m4/manywarnings.m4: Add GCC 4.4 warnings.
48311
48312 2009-05-28  Bruno Haible  <bruno@clisp.org>
48313
48314         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
48315         build-aux/ files.
48316
48317 2009-05-28  Simon Josefsson  <simon@josefsson.org>
48318
48319         * gnulib-tool (func_import): Transform license on build-aux/ files too.
48320
48321 2009-05-27  Simon Josefsson  <simon@josefsson.org>
48322
48323         * gnulib-tool (sed_transform_main_lib_file)
48324         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
48325         regexps.
48326
48327 2009-05-26  Simon Josefsson  <simon@josefsson.org>
48328
48329         * tests/test-strstr.c: Add another self-test.
48330         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
48331         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
48332
48333 2009-05-23  Bruno Haible  <bruno@clisp.org>
48334
48335         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
48336         change.
48337
48338 2009-05-21  Bruno Haible  <bruno@clisp.org>
48339
48340         Simplify use of mode_t varargs.
48341         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
48342         uses 'mode_t' or 'int'.
48343         * lib/openat.c (openat): Likewise.
48344         * lib/open-safer.c (open_safer): Likewise.
48345         * m4/mode_t.m4: New file.
48346         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
48347         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
48348         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
48349         * modules/open (Files): Add m4/mode_t.m4.
48350         * modules/openat (Files): Likewise.
48351         * modules/fcntl-safer (Files): Likewise.
48352         Suggested by Eric Blake.
48353
48354 2009-05-21  Pádraig Brady  <P@draigbrady.com>
48355
48356         * doc/glibc-functions/fallocate.texi: New file.
48357         * doc/gnulib.texi: Include it.
48358
48359 2009-05-21  Eric Blake  <ebb9@byu.net>
48360             Bruno Haible  <bruno@clisp.org>
48361
48362         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
48363         invocations.
48364         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48365
48366 2009-05-21  Eric Blake  <ebb9@byu.net>
48367             Bruno Haible  <bruno@clisp.org>
48368
48369         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
48370         include_next. Fix of 2008-11-20 commit.
48371         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
48372         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
48373         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
48374         NEXT_MATH_H.
48375         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
48376         instead of NEXT_MATH_H.
48377
48378 2009-05-21  Bruno Haible  <bruno@clisp.org>
48379
48380         Avoid redefinition warnings for SIZE_MAX.
48381         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
48382         Reported by Simon Josefsson.
48383
48384 2009-05-21  Bruno Haible  <bruno@clisp.org>
48385
48386         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
48387         AC_CACHE_VAL.
48388
48389 2009-05-20  Bruno Haible  <bruno@clisp.org>
48390
48391         Make zeroptr.h work on mingw.
48392         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
48393         mprotect.
48394         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
48395         * modules/memchr2-tests (configure.ac): Likewise.
48396         * modules/memcmp-tests (configure.ac): Likewise.
48397         * modules/memmem-tests (configure.ac): Likewise.
48398         * modules/memrchr-tests (configure.ac): Likewise.
48399         Reported by Simon Josefsson.
48400
48401 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48402
48403         * tests/test-glob.c: Include string.h for strcmp prototype.
48404
48405 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48406
48407         * modules/getdelim (Depends-on): Add explicit stdint, although it
48408         was implicitly already pulled in via realloc-posix.
48409         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
48410
48411 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48412
48413         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
48414         G. Christensen" <tgc@jupiterrise.com>.
48415         * m4/sys_socket_h.m4: Check for sa_family_t.
48416         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
48417         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
48418         * tests/test-sys_socket.c: Check that sa_family_t works.
48419
48420 2009-05-18  Eric Blake  <ebb9@byu.net>
48421
48422         maint.mk: allow gnulib_dir in VPATH build
48423         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
48424
48425 2009-05-15  Jim Meyering  <meyering@redhat.com>
48426
48427         maint.mk: Give gnulib_dir a default definition.
48428         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
48429         Thus, most packages no longer need to specify this variable in cfg.mk
48430
48431 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
48432
48433         rename.m4: fix typos that would make non-mingw cross-configure fail
48434         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
48435
48436 2009-05-13  Eric Blake  <ebb9@byu.net>
48437
48438         mmap-anon: avoid out-of-order autoconf expansion
48439         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
48440         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
48441         * modules/memchr-tests (Depends-on): Add extensions.
48442         * modules/memchr2-tests (Depends-on): Add extensions.
48443         * modules/memcmp-tests (Depends-on): Add extensions.
48444         * modules/memmem-tests (Depends-on): Add extensions.
48445         * modules/memrchr-tests (Depends-on): Add extensions.
48446
48447 2009-05-13  Bruno Haible  <bruno@clisp.org>
48448
48449         Make some tests ISO C 99 compliant.
48450         * tests/zerosize-ptr.h: New file.
48451         * tests/test-memchr.c: Include zerosize-ptr.h.
48452         (main): Use a zero-size object pointer instead of NULL.
48453         * tests/test-memchr2.c: Include zerosize-ptr.h.
48454         (main): Use a zero-size object pointer instead of NULL.
48455         * tests/test-memcmp.c: Include zerosize-ptr.h.
48456         (main): Use a zero-size object pointer instead of NULL.
48457         * tests/test-memmem.c: Include zerosize-ptr.h.
48458         (main): Use a zero-size object pointer instead of NULL.
48459         * tests/test-memrchr.c: Include zerosize-ptr.h.
48460         (main): Use a zero-size object pointer instead of NULL.
48461         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
48462         m4/mmap-anon.m4.
48463         (Depends-on): Add getpagesize.
48464         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48465         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
48466         m4/mmap-anon.m4.
48467         (Depends-on): Add getpagesize.
48468         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48469         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
48470         m4/mmap-anon.m4.
48471         (Depends-on): Add getpagesize.
48472         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48473         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
48474         m4/mmap-anon.m4.
48475         (Depends-on): Add getpagesize.
48476         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48477         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
48478         m4/mmap-anon.m4.
48479         (Depends-on): Add getpagesize.
48480         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48481
48482 2009-05-12  Bruno Haible  <bruno@clisp.org>
48483
48484         Tests for module 'alignof'.
48485         * modules/alignof-tests: New file.
48486         * tests/test-alignof.c: New file.
48487
48488 2009-05-12  Bruno Haible  <bruno@clisp.org>
48489
48490         Fix alignof macro.
48491         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
48492         vendor compilers that are always correct.
48493
48494 2009-05-12  Bruno Haible  <bruno@clisp.org>
48495
48496         Make the MAP_ANONYMOUS detection work on HP-UX 11.
48497         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
48498         not whether its fully works.
48499
48500 2009-05-12  Bruno Haible  <bruno@clisp.org>
48501
48502         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
48503
48504 2009-05-12  Jim Meyering  <meyering@redhat.com>
48505
48506         * top/maint.mk: Adjust backslash alignment.
48507
48508 2009-05-11  Simon Josefsson  <simon@josefsson.org>
48509
48510         * top/maint.mk: Make $(srcdir)/build-aux configurable.
48511
48512 2009-05-11  Eric Blake  <ebb9@byu.net>
48513
48514         argp: avoid undefined behavior
48515         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
48516         macros.
48517
48518 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48519
48520         * tests/test-vc-list-files-git.sh: Do git config of user.email and
48521         user.name to prevent git commit from complaining.
48522
48523 2009-05-10  Bruno Haible  <bruno@clisp.org>
48524
48525         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
48526         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
48527         it rewrites every file name only once.
48528         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
48529
48530 2009-05-08  Bruno Haible  <bruno@clisp.org>
48531
48532         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
48533         instead of 'max'.
48534
48535 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48536
48537         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
48538         sockaddr_storage test.
48539
48540 2009-05-07  Simon Josefsson  <simon@josefsson.org>
48541
48542         * modules/sys_socket (Makefile.am): Substitute
48543         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
48544         * m4/sys_socket_h.m4: Check for sockaddr_storage.
48545         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
48546         * tests/test-sys_socket.c: Check sockaddr_storage.
48547
48548 2009-05-08  Bruno Haible  <bruno@clisp.org>
48549
48550         New module 'alignof'.
48551         * lib/alignof.h: New file.
48552         * modules/alignof: New file.
48553
48554 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48555             Bruno Haible  <bruno@clisp.org>
48556
48557         Fix test-file-has-acl on FreeBSD.
48558         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
48559         mask is implicitly added.
48560         * tests/test-file-has-acl.c: Include <signal.h>.
48561         (main): Terminate the test after 5 seconds.
48562         * modules/acl-tests (configure.ac): Check for alarm function.
48563
48564 2009-05-04  Bruno Haible  <bruno@clisp.org>
48565
48566         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
48567         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
48568         * modules/errno (configure.ac): Drop AC_REQUIRE.
48569         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
48570         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
48571
48572 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48573
48574         * modules/glob-tests: New module.
48575         * tests/test-glob.c: Add.
48576
48577 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48578
48579         * modules/fnmatch-tests: New module.
48580         * tests/test-fnmatch.c: Add.
48581
48582 2009-05-04  Eric Blake  <ebb9@byu.net>
48583
48584         maint: make the new no-submodule-changes rule VPATH-safe
48585         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
48586
48587 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48588             Bruno Haible  <bruno@clisp.org>
48589
48590         acl: Fix infinite loop on FreeBSD.
48591         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
48592         of return value from acl_get_entry.
48593         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
48594         Likewise.
48595
48596 2009-05-03  Bruno Haible  <bruno@clisp.org>
48597
48598         * lib/acl-internal.h (acl_entries): Clarify return value.
48599         * lib/acl_entries.c (acl_entries): Likewise.
48600
48601 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48602
48603         Bug fix in acl module.
48604         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
48605
48606 2009-05-03  Bruno Haible  <bruno@clisp.org>
48607
48608         Create gperf-generated file in the source dir, not in the build dir.
48609         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
48610         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
48611         * modules/unicase/locale-language (unicase/locale-languages.h):
48612         Likewise.
48613         * modules/unicase/special-casing (unicase/special-casing-table.h):
48614         Likewise.
48615         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
48616         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
48617         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
48618         Reported by Ralf Wildenhues.
48619
48620 2009-05-03  Bruno Haible  <bruno@clisp.org>
48621
48622         * modules/fnmatch (Description, configure.ac): Taken from
48623         fnmatch-posix.
48624         * modules/fnmatch-posix: Turn into a symbolic reference to the
48625         'fnmatch' module, and deprecate.
48626         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
48627
48628 2009-05-03  Bruno Haible  <bruno@clisp.org>
48629
48630         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
48631         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
48632         Reported by Ralf Wildenhues.
48633
48634 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48635
48636         * m4/fnmatch.m4: Fix fnmatch re-define.
48637
48638 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48639
48640         priv-set: new module and tests; adapt write-any-file
48641         * lib/priv-set.c: New file.
48642         * lib/priv-set.h: New file.
48643         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
48644         * lib/write-any-file.c: Simplify by using priv-set module.
48645         * m4/priv-set.m4: New file.
48646         * modules/priv-set: New file.
48647         * modules/unlinkdir: Add dependency on priv-set module.
48648         * modules/write-any-file: Likewise.
48649
48650         Tests for module 'priv-set'.
48651         * modules/priv-set-tests: New file.
48652         * tests/test-priv-set.c: New file.
48653
48654 2009-05-03  Jim Meyering  <meyering@redhat.com>
48655             Bruno Haible  <bruno@clisp.org>
48656
48657         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
48658         use the converted UTF-8 variant of the name instead.
48659
48660 2009-05-03  Jim Meyering  <meyering@redhat.com>
48661
48662         tests: tighten some getdate tests
48663         * tests/test-getdate.c (main): Tighten tests: require equality,
48664         not just greater than.  Set TZ envvar to UTC0.
48665
48666 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
48667
48668         getdate: correctly interpret "next monday" when run on a Monday
48669         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
48670         that e.g., "next tues" (when run on a tuesday) results in a date
48671         that is one week in the future, and not today's date.
48672         I.e., add a week when the wday is the same as the current one.
48673         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
48674         and earlier by Martin Bernreuther and Jan Minář.
48675         * tests/test-getdate.c (main): Check that "next DAY" is always in
48676         the future and that "last DAY" is always in the past.
48677
48678 2009-05-02  Jim Meyering  <meyering@redhat.com>
48679
48680         build: ensure that a release build fails when a submodule is unclean
48681         * top/maint.mk (no-submodule-changes): New rule.
48682         (alpha beta major): Depend on it.
48683
48684 2009-05-02  Bruno Haible  <bruno@clisp.org>
48685
48686         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
48687         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
48688         shell variable gl_fnmatch_required to detect which variant is
48689         requested.
48690         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
48691         gl_FUNC_FNMATCH_POSIX.
48692         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
48693         exclude fnmatch-posix.
48694
48695 2009-05-02  Bruno Haible  <bruno@clisp.org>
48696
48697         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
48698         * modules/mbsrtowcs (License): Change to LGPLv2+.
48699         * modules/strnlen1 (License): Likewise.
48700         Reported by Simon Josefsson.
48701
48702 2009-05-02  Bruno Haible  <bruno@clisp.org>
48703
48704         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
48705         "cross".
48706         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
48707         gnulib-tool was called with option --source-base=lib.
48708
48709 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
48710
48711         Use automake *-local hooks without commands, for extensibility.
48712         * modules/localcharset (Makefile.am): Rename install-exec-local
48713         rule to install-exec-localcharset, and make it a prerequisite of
48714         install-exec-local.  Likewise, rename the uninstall-local rule to
48715         uninstall-localcharset, and make it a prerequisite of the former.
48716
48717 2009-05-01  Bruno Haible  <bruno@clisp.org>
48718
48719         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
48720         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
48721         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
48722         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
48723         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
48724         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
48725         m4/locale-zh.m4, m4/codeset.m4.
48726
48727         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
48728         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
48729         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
48730         m4/locale-zh.m4.
48731
48732         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
48733         REPLACE_WCRTOMB if mbstate_t must be replaced.
48734         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
48735         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
48736
48737 2009-05-01  Bruno Haible  <bruno@clisp.org>
48738
48739         Avoid compiler warnings when redefining macros defined by <libintl.h>.
48740         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
48741         dngettext, dcngettext, textdomain, bindtextdomain,
48742         bind_textdomain_codeset): Undefine before redefining.
48743
48744 2009-04-30  Bruno Haible  <bruno@clisp.org>
48745
48746         Fix bug introduced on 2009-04-25.
48747         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
48748         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
48749         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
48750         is defined.
48751         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
48752         is defined.
48753         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
48754         is defined.
48755         Reported by Elbert_Pol <elbert.pol@gmail.com>.
48756
48757 2009-04-28  Bruno Haible  <bruno@clisp.org>
48758
48759         Comment tweaks.
48760         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
48761         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
48762         * lib/unicase.h (u*_casexfrm): Likewise.
48763         Reported by Paolo Bonzini.
48764
48765 2009-04-28  Bruno Haible  <bruno@clisp.org>
48766
48767         Fix a compilation error.
48768         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
48769         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
48770         Reported by Jim Meyering.
48771
48772 2009-04-27  Bruno Haible  <bruno@clisp.org>
48773
48774         New module 'libunistring'.
48775         * modules/libunistring: New file.
48776         * m4/libunistring.m4: New file.
48777         * MODULES.html.sh (Unicode string functions): Add it.
48778
48779 2009-04-27  Eric Blake  <ebb9@byu.net>
48780
48781         maint.mk: allow package-specific header to provide <config.h>
48782         * top/maint.mk (sc_require_config_h): New variable.
48783         (sc_require_config_h, sc_require_config_h_first): Use it.
48784
48785 2009-04-27  Simon Josefsson  <simon@josefsson.org>
48786
48787         * top/maint.mk (sc_avoid_if_before_free): Except
48788         useless-if-before-free script.
48789
48790 2009-04-27  Eric Blake  <ebb9@byu.net>
48791
48792         maintainer-makefile: depend on all required helper scripts
48793         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
48794         useless-if-before-free.
48795         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
48796         version, rather than assuming gnulib checkout is available.
48797         Reported by Simen Josefsson.
48798
48799 2009-04-26  Bruno Haible  <bruno@clisp.org>
48800
48801         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
48802         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
48803         "../" or "..".
48804
48805 2009-04-26  Bruno Haible  <bruno@clisp.org>
48806
48807         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
48808         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
48809         AC_LIB_HAVE_LINKFLAGS.
48810
48811 2009-04-26  Bruno Haible  <bruno@clisp.org>
48812
48813         Simplify calling convention of u*_conv_from_encoding.
48814         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
48815         u32_conv_from_encoding): Expect a resultbuf argument and return the
48816         result directly as a pointer.
48817         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
48818         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
48819         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
48820         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
48821         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
48822         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
48823         Update.
48824         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
48825         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
48826         * lib/vasnprintf.c (VASNPRINTF): Update.
48827         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
48828         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
48829         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
48830         * NEWS: Mention the change.
48831
48832 2009-04-26  Bruno Haible  <bruno@clisp.org>
48833
48834         Simplify calling convention of u*_conv_to_encoding.
48835         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
48836         u32_conv_to_encoding): Expect a resultbuf argument and return the
48837         result directly as a pointer.
48838         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
48839         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
48840         freeing scaled_offsets if mem_iconveha failed.
48841         * lib/unicase/u-casexfrm.h (FUNC): Update.
48842         * lib/uninorm/u-normxfrm.h (FUNC): Update.
48843         * lib/vasnprintf.c (VASNPRINTF): Update.
48844         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
48845         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
48846         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
48847         * NEWS: Mention the change.
48848
48849 2009-04-26  Bruno Haible  <bruno@clisp.org>
48850
48851         Avoid test failures on AIX and OSF/1.
48852         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
48853         malloc(0).
48854         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
48855         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
48856         Likewise.
48857         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
48858         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
48859         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
48860         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
48861         * doc/posix-functions/malloc.texi: Document the portability problem
48862         related to malloc(0).
48863
48864 2009-04-26  Bruno Haible  <bruno@clisp.org>
48865
48866         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
48867         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
48868         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
48869
48870 2009-04-25  Bruno Haible  <bruno@clisp.org>
48871
48872         Avoid link error when creating a namespace clean library.
48873         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
48874         as macro with arguments if already defined as an alias.
48875         * lib/signbitf.c (gl_signbitf): Don't undefine.
48876         * lib/signbitd.c (gl_signbitd): Don't undefine.
48877         * lib/signbitl.c (gl_signbitl): Don't undefine.
48878
48879 2009-04-25  Jim Meyering  <meyering@redhat.com>
48880
48881         vc-list-files: fix another quoting bug
48882         * build-aux/vc-list-files: Avoid sed backslash expansion
48883         of pathological directory names.
48884
48885 2009-04-25  Eric Blake  <ebb9@byu.net>
48886
48887         vc-list-files: fix shell quoting error
48888         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
48889         timestamp.
48890
48891 2009-04-25  Jim Meyering  <meyering@redhat.com>
48892
48893         vc-list-files: restore lost functionality with subdir argument
48894         * build-aux/vc-list-files: When given a non-"." sub-directory
48895         argument, substitute the $dir/ prefix back onto each resulting name.
48896         Otherwise, coreutils' root_tests check would fail.
48897
48898 2009-04-24  Eric Blake  <ebb9@byu.net>
48899
48900         vc-list-files: ignore git symlinks
48901         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
48902         than ls-files, to ignore git symlinks.
48903
48904         maint.mk: import improvements from m4
48905         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
48906         (move_if_change): Delete unused macro.
48907         (news-date-check, vc-diff-check): Support VPATH builds.
48908         (announcement): Likewise.  Split --bootstrap-tools list...
48909         (boostrap-tools): ...into separate list, which can be overridden
48910         in cfg.mk.
48911         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
48912         requiring dependency on useless-if-before-free module.
48913         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
48914         Support VPATH builds.
48915
48916 2009-04-24  Jim Meyering  <meyering@redhat.com>
48917
48918         maint.mk: remove coreutils-specific rules and variables
48919         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
48920         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
48921         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
48922
48923         maint.mk: remove obsolete rule
48924         * top/maint.mk (rel-check): Remove rule.
48925         (WGET, WGETFLAGS): Remove now-unused variables.
48926
48927 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48928
48929         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
48930         consistency.
48931
48932         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
48933         '$(PATH_SEPARATOR)' instead of ':'.
48934
48935 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48936
48937         * lib/getopt1.c (main): Use 'const' for static array.
48938
48939 2009-04-24  Simon Josefsson  <simon@josefsson.org>
48940
48941         * top/maint.mk: Sync with coreutils.
48942         * NEWS: Explain incompatibilities.
48943
48944 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
48945             Bruno Haible  <bruno@clisp.org>
48946
48947         Fix cross-compilation results.
48948         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
48949         statement, as third argument of AC_TRY_RUN.
48950         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
48951         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
48952         Likewise.
48953         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
48954         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
48955         Likewise.
48956         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
48957         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
48958         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
48959
48960 2009-04-20  Bruno Haible  <bruno@clisp.org>
48961
48962         Avoid test failure on mingw.
48963         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
48964
48965 2009-04-20  Bruno Haible  <bruno@clisp.org>
48966
48967         Avoid compilation error on mingw.
48968         * modules/localename-tests (Depends-on): Add locale.
48969
48970 2009-04-19  Bruno Haible  <bruno@clisp.org>
48971
48972         Support for building a shared library on Windows platforms.
48973         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
48974         (main): Test the presence of UNINORM_NFC here.
48975         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
48976         (main): Test the presence of UNINORM_NFD here.
48977         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
48978         (main): Test the presence of UNINORM_NFKC here.
48979         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
48980         (main): Test the presence of UNINORM_NFKD here.
48981
48982 2009-04-19  Bruno Haible  <bruno@clisp.org>
48983
48984         Avoid a compiler warning.
48985         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
48986         Change type of variable 'sequence'.
48987
48988 2009-04-19  Bruno Haible  <bruno@clisp.org>
48989
48990         * modules/configmake (Makefile.am): When the contents of configmake.h
48991         does not change, arrange to preserve its modification time.
48992
48993 2009-04-17  Simon Josefsson  <simon@josefsson.org>
48994
48995         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
48996         gettext domain.
48997
48998 2009-04-16  Jim Meyering  <meyering@redhat.com>
48999
49000         useless-if-before-free: improve conversion code
49001         * build-aux/useless-if-before-free: Adjust code-in-comment to match
49002         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
49003
49004 2009-04-14  Bruno Haible  <bruno@clisp.org>
49005
49006         * modules/fcntl (Depends-on): Add extensions.
49007         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
49008
49009 2009-04-12  Ben Pfaff  <blp@gnu.org>
49010
49011         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
49012         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
49013
49014 2009-03-20  Ben Pfaff  <blp@gnu.org>
49015
49016         Make rename replace existing destinations on Windows.
49017         * m4/rename.m4: Add test for Mingw.
49018         * lib/rename.c: Add rename replacement that uses MoveFileEx with
49019         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
49020         * doc/posix-functions/rename.texi: Document.
49021
49022 2009-04-10  Bruno Haible  <bruno@clisp.org>
49023
49024         New include file "iconveh.h".
49025         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
49026         * lib/striconveh.h: Include it.
49027         (enum iconv_ilseq_handler): Remove definition.
49028         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
49029         striconveh.h.
49030         * lib/striconveha.c: Include striconveh.h.
49031         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
49032         * modules/striconveh (Files): Add lib/iconveh.h.
49033         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
49034         lib/striconveh.h.
49035
49036 2009-04-10  Bruno Haible  <bruno@clisp.org>
49037
49038         * lib/uniconv.h: Update comment.
49039
49040 2009-04-10  Bruno Haible  <bruno@clisp.org>
49041
49042         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
49043         always.
49044         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
49045         * lib/unistr/u16-mbtouc-aux.c: Likewise.
49046         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
49047         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
49048         "unistring-notinline.h", so that the function gets defined always.
49049         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
49050         * lib/unistr/u8-uctomb.c: Likewise.
49051         * lib/unistr/u16-mbtouc.c: Likewise.
49052         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
49053         * lib/unistr/u16-uctomb.c: Likewise.
49054         * lib/unistr/u32-mbtouc.c: Likewise.
49055         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
49056         * lib/unistr/u32-uctomb.c: Likewise.
49057
49058 2009-04-10  Bruno Haible  <bruno@clisp.org>
49059
49060         Mark 'utime' obsolete.
49061         * modules/utime (Status, Notice): New sections.
49062         Suggested by Jim Meyering.
49063
49064         Fix cross-compile guess for utime test.
49065         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
49066         autoconf.
49067         * doc/posix-functions/utime.texi: Give more precisions.
49068         Reported by Jan <ipif@ymail.com>.
49069
49070 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
49071
49072         filevercmp: correct today's change
49073         * lib/filevercmp.c: Also handle coreutils' test inputs.
49074         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
49075
49076         Fix regression in 'filevercmp' module. Thanks Sven Joachim
49077         for reporting it.
49078         * lib/filevercmp.c: Special handle for "", "." and "..".
49079         * tests/test-filevercmp.c: Enlarge the set suite.
49080
49081 2009-04-07  Jim Meyering  <meyering@redhat.com>
49082
49083         useless-if-before-free: show how to remove braced useless free, too
49084         * build-aux/useless-if-before-free: still only in a comment, though.
49085
49086 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
49087
49088         maint.mk: import changes to syntax-check macros from coreutils
49089         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
49090         Use them in the relevant macros.
49091
49092 2009-04-06  Bruno Haible  <bruno@clisp.org>
49093
49094         Fix unportable use of bit-fields.
49095         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
49096         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
49097         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
49098
49099 2009-04-06  Bruno Haible  <bruno@clisp.org>
49100
49101         Avoid test failures on AIX and OSF/1.
49102         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
49103         that malloc(0) = NULL.
49104         * tests/unicase/test-u8-tolower.c (check): Likewise.
49105         * tests/unicase/test-u8-totitle.c (check): Likewise.
49106         * tests/unicase/test-u8-toupper.c (check): Likewise.
49107         * tests/unicase/test-u16-casefold.c (check): Likewise.
49108         * tests/unicase/test-u16-tolower.c (check): Likewise.
49109         * tests/unicase/test-u16-totitle.c (check): Likewise.
49110         * tests/unicase/test-u16-toupper.c (check): Likewise.
49111         * tests/unicase/test-u32-casefold.c (check): Likewise.
49112         * tests/unicase/test-u32-tolower.c (check): Likewise.
49113         * tests/unicase/test-u32-totitle.c (check): Likewise.
49114         * tests/unicase/test-u32-toupper.c (check): Likewise.
49115         * tests/uninorm/test-u8-nfc.c (check): Likewise.
49116         * tests/uninorm/test-u8-nfd.c (check): Likewise.
49117         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
49118         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
49119         * tests/uninorm/test-u16-nfc.c (check): Likewise.
49120         * tests/uninorm/test-u16-nfd.c (check): Likewise.
49121         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
49122         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
49123         * tests/uninorm/test-u32-nfc.c (check): Likewise.
49124         * tests/uninorm/test-u32-nfd.c (check): Likewise.
49125         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
49126         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
49127
49128 2009-04-05  Bruno Haible  <bruno@clisp.org>
49129
49130         Work around an autoconf limitation.
49131         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
49132         comment line if it would be longer than 3 KB.
49133
49134 2009-04-05  Bruno Haible  <bruno@clisp.org>
49135
49136         Avoid test failure with libiconv-1.13.
49137         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
49138         of the expected test results.
49139
49140 2009-04-05  Bruno Haible  <bruno@clisp.org>
49141
49142         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
49143         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
49144         that it should be installed.
49145
49146 2009-04-05  Bruno Haible  <bruno@clisp.org>
49147
49148         * gnulib-tool: New option --copy-file.
49149         (func_usage): Document it.
49150         (func_dest_tmpfilename): Moved out of func_import.
49151         (func_add_file, func_update_file): New functions, extracted from
49152         func_import.
49153         (func_import): Update.
49154
49155 2009-04-05  Karl Berry  <karl@gnu.org>
49156
49157         * README: prominently mention gnulib-tool.
49158         Rearrange sections so getting the code is near the top.
49159
49160 2009-04-05  Bruno Haible  <bruno@clisp.org>
49161
49162         * lib/unicase.h: Mention u*_cmp2.
49163         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49164         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
49165         * lib/unicase/ulc-casecmp.c: Likewise.
49166         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
49167         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
49168         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
49169         unistr/u8-cmp.
49170         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
49171         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
49172         unistr/u16-cmp.
49173         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
49174         unistr/u32-cmp.
49175
49176         * lib/uninorm.h: Mention u*_cmp2.
49177         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49178         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
49179         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
49180         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
49181         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
49182         unistr/u8-cmp.
49183         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
49184         unistr/u16-cmp.
49185         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
49186         unistr/u32-cmp.
49187
49188         New module 'unistr/u32-cmp2'.
49189         * lib/unistr/u32-cmp2.c: New file.
49190         * modules/unistr/u32-cmp2: New file.
49191
49192         New module 'unistr/u16-cmp2'.
49193         * lib/unistr/u16-cmp2.c: New file.
49194         * modules/unistr/u16-cmp2: New file.
49195
49196         New module 'unistr/u8-cmp2'.
49197         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
49198         * lib/unistr/u8-cmp2.c: New file.
49199         * lib/unistr/u-cmp2.h: New file.
49200         * modules/unistr/u8-cmp2: New file.
49201
49202 2009-04-05  Bruno Haible  <bruno@clisp.org>
49203
49204         * lib/unictype.h (uc_property_is_valid): New macro.
49205         * tests/unictype/test-pr_byname.c (main): Use it.
49206
49207         * lib/unistr.h: Doc fixes.
49208         * lib/uniconv.h: Doc fixes.
49209         * lib/unictype.h: Doc fixes.
49210
49211 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
49212
49213         Port coreutils 7.2 to Solaris 8.
49214
49215         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
49216         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
49217         for Solaris 8.  This is a bit of a hack, as it means it's the
49218         caller's responsibility to add -lnsl if needed, but most likely it
49219         won't be needed since only getaddrinfo uses this and getaddrinfo
49220         isn't needed on Solaris 8.
49221
49222         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
49223         problem to Solaris 8 encountered with coreutils 7.2, which
49224         resulted in a message "fnmatch.c:292: warning: passing argument 4
49225         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
49226         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
49227
49228 2009-04-03  Simon Josefsson  <simon@josefsson.org>
49229
49230         * m4/ld-version-script.m4: Add FIXME comment.
49231
49232 2009-04-02  Simon Josefsson  <simon@josefsson.org>
49233
49234         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
49235         SOVERSION variable.
49236
49237 2009-04-02  Bruno Haible  <bruno@clisp.org>
49238
49239         * Makefile (info, html, dvi, pdf): Combine the rules.
49240         Suggested by Jim Meyering.
49241
49242 2009-04-01  Bruno Haible  <bruno@clisp.org>
49243
49244         * Makefile (info, html, dvi, pdf): New targets.
49245         Reported by Reuben Thomas <rrt@sc3d.org>.
49246
49247 2009-04-01  Bruno Haible  <bruno@clisp.org>
49248
49249         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
49250         can be put into PATH.
49251         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
49252
49253 2009-04-01  Bruno Haible  <bruno@clisp.org>
49254
49255         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
49256
49257 2009-04-01  Bruno Haible  <bruno@clisp.org>
49258
49259         Rename module 'visibility'.
49260         * modules/lib-symbol-visibility: Renamed from modules/visibility.
49261         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
49262         * doc/gnulib.texi: Update.
49263         * MODULES.html.sh (Misc): Update.
49264         * NEWS: Mention the change.
49265
49266 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49267
49268         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
49269         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
49270         Eric Blake <ebb9@byu.net> for review.
49271         * MODULES.html.sh: Add lib-msvc-compat.
49272         * doc/gnulib.texi: Link to new section.
49273         * m4/ld-output-def.m4: New file.
49274         * doc/ld-output-def.texi: New file.
49275
49276 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49277
49278         Rename ld-version-script to lib-symbol-versions.  Suggested by
49279         Bruno Haible <bruno@clisp.org>.
49280         * modules/ld-version-script: Renamed to lib-symbol-versions.
49281         * doc/ld-version-script.texi: Fix module name.
49282         * MODULES.html.sh: Add lib-symbol-versions.
49283
49284 2009-03-31  Simon Josefsson  <simon@josefsson.org>
49285
49286         * modules/u64-tests: New file.
49287         * tests/test-u64.c: New file.
49288
49289 2009-03-04  Simon Josefsson  <simon@josefsson.org>
49290
49291         * MODULES.html.sh: Mention u64.
49292         * modules/u64: New module.
49293         * modules/crypto/sha512: Depend on u64 module instead of providing
49294         u64.h.
49295
49296 2009-03-27  Eric Blake  <ebb9@byu.net>
49297
49298         test-strerror: make debugging EAI_SYSTEM easier
49299         * modules/getaddrinfo-tests (Depends-on): Add strerror.
49300         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
49301         failure was EAI_SYSTEM.
49302
49303 2009-03-25  Bruno Haible  <bruno@clisp.org>
49304
49305         Fix a problem with --enable-relocatable on Solaris 7.
49306         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
49307         since 2008-02-24.
49308
49309 2009-03-25  Eric Blake  <ebb9@byu.net>
49310
49311         test-sockets: avoid gcc warning
49312         * tests/test-sockets.c (main): Silence compiler warning.
49313
49314 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
49315
49316         New modules nproc, pthread, contributed by Glen Lenker.
49317
49318         * MODULES.html.sh: Add pthread, nproc.
49319         * lib/nproc.c: New file.
49320         * lib/nproc.h: New file.
49321         * lib/pthread.in.h: New file.
49322         * m4/pthread.m4: New file.
49323         * modules/nproc: New file.
49324         * modules/pthread: New file.
49325
49326 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49327
49328         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
49329         New variable.
49330
49331 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
49332
49333         filevercmp: handle simple~ and numbered.~3~ backup suffixes
49334         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
49335         * tests/test-filevercmp.c: Add tests for backup suffixes.
49336
49337 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49338
49339         * modules/stdlib (Depends-on): Add stdint, needed when defining
49340         struct random_data on, for example, HP-UX 10.20.  Reported by
49341         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49342
49343 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49344
49345         * lib/readline.c (readline): Call fflush on stdout after printing
49346         prompt.
49347
49348 2009-03-20  Bruno Haible  <bruno@clisp.org>
49349
49350         Remove dependency from 'close' module to -lws2_32 on native Windows.
49351         * lib/close-hook.h: New file.
49352         * lib/close-hook.c: New file.
49353         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
49354         w32sock.h.
49355         (_gl_close_fd_maybe_socket): Remove function.
49356         (rpl_close): Invoke execute_all_close_hooks instead of
49357         _gl_close_fd_maybe_socket.
49358         * lib/sockets.c: Include close-hook.h, w32sock.h.
49359         (close_fd_maybe_socket): New function, essentially from lib/close.c.
49360         (close_sockets_hook): New variable.
49361         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
49362         (gl_sockets_cleanup): Unregister it.
49363         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
49364         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
49365         * modules/close-hook: New file.
49366         * modules/close (Files): Remove lib/w32sock.h.
49367         (Depends-on): Add close-hook.
49368         (Link): Remove section.
49369         * modules/sockets (Files): Add lib/w32sock.h.
49370         (Depends-on): Add close-hook.
49371         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
49372         invocation.
49373         * NEWS: Mention that LIB_CLOSE is gone.
49374
49375 2009-03-23  Eric Blake  <ebb9@byu.net>
49376
49377         signal-tests: test previous patch
49378         * tests/test-signal.c: New file.
49379         * modules/signal-tests: Likewise.
49380
49381         signal.h: always support 'volatile sig_atomic_t'
49382         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
49383         (gl_SIGNAL_H_DEFAULTS): Add a default.
49384         * modules/signal (Makefile.am): Substitute if needed.
49385         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
49386         users can blindly add volatile.
49387         * doc/posix-headers/signal.texi (signal.h): Document it.
49388         Reported by Matthew Woehlke.
49389
49390 2009-03-23  Jim Meyering  <meyering@redhat.com>
49391
49392         pathmax: PATH_MAX: use pathconf only when available
49393         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
49394         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
49395         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
49396         This avoids a link failure in a PSP cross-compilation environment
49397         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
49398
49399         * lib/vasnprintf.c (divide): Fix typo in comment.
49400
49401 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49402
49403         * gnulib-tool (func_filter_filelist): Fix comment.
49404
49405 2009-03-20  Bruno Haible  <bruno@clisp.org>
49406
49407         Make sockets.h self-contained.
49408         * lib/sockets.c: Include sockets.h first.
49409         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
49410
49411 2009-03-19  Eric Blake  <ebb9@byu.net>
49412
49413         doc: mention more functions added in cygwin 1.7.0
49414         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
49415         addition.
49416         * doc/posix-functions/log2f.texi: Likewise.
49417
49418 2009-03-19  Jim Meyering  <meyering@redhat.com>
49419
49420         fsusage: avoid syntax error due to statement-before-declaration
49421         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
49422         after all declarations.  Reported by Matthew Woehlke in
49423         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
49424
49425 2009-03-18  Eric Blake  <ebb9@byu.net>
49426
49427         build-aux/compile: sync from automake
49428         * build-aux/compile: New file, from automake.
49429         * config/srclist.txt: Mention build-aux/compile.
49430
49431 2009-03-17  Bruno Haible  <bruno@clisp.org>
49432
49433         * lib/git-merge-changelog.c: Fix typo in comment.
49434         Reported by Reuben Thomas <rrt@sc3d.org>.
49435
49436 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
49437
49438         * m4/regex.m4: update and improve help for
49439         --without-included-regex.
49440
49441 2009-03-17  Simon Josefsson  <simon@josefsson.org>
49442
49443         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
49444         failure on missing include files.
49445
49446 2009-03-17  Eric Blake  <ebb9@byu.net>
49447
49448         doc: mention more functions added in cygwin 1.7.0
49449         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
49450         addition.
49451         * doc/posix-functions/fwscanf.texi: Likewise.
49452         * doc/posix-functions/swprintf.texi: Likewise.
49453         * doc/posix-functions/swscanf.texi: Likewise.
49454         * doc/posix-functions/vfwprintf.texi: Likewise.
49455         * doc/posix-functions/vfwscanf.texi: Likewise.
49456         * doc/posix-functions/vswprintf.texi: Likewise.
49457         * doc/posix-functions/vswscanf.texi: Likewise.
49458         * doc/posix-functions/vwprintf.texi: Likewise.
49459         * doc/posix-functions/vwscanf.texi: Likewise.
49460         * doc/posix-functions/wcscasecmp.texi: Likewise.
49461         * doc/posix-functions/wcsdup.texi: Likewise.
49462         * doc/posix-functions/wcsftime.texi: Likewise.
49463         * doc/posix-functions/wcsncasecmp.texi: Likewise.
49464         * doc/posix-functions/wprintf.texi: Likewise.
49465         * doc/posix-functions/wscanf.texi: Likewise.
49466         * doc/glibc-functions/gethostbyname2.texi: Likewise.
49467
49468 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49469
49470         maint.mk: really add $(AM_MAKEFLAGS)
49471         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
49472         was inadvertently omitted in the last commit.
49473         Spotted by Bruno Haible.
49474
49475         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
49476         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
49477         $(AM_MAKEFLAGS)' rather than plain `make'.
49478
49479         gnulib-tool: execute $MAKE not make
49480         * gnulib-tool: Default $MAKE to 'make'.
49481         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
49482         than make.  Initialize $MAKE in the do-autobuild script.
49483
49484         gnulib-tool: use $MAKE not make in generated files
49485         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
49486         make, in generated files.  Initialize $MAKE in the do-autobuild
49487         script.
49488
49489         * top/GNUmakefile (_have-git-version-gen): Fix typo.
49490
49491         GNUmakefile: disable parallelism only for multiple, recursive targets
49492         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
49493         additions in the Makefile.
49494         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
49495         by Automake.
49496         (.NOTPARALLEL): Only disable parallel builds if multiple targets
49497         are listed on the command line and at least one of them is
49498         listed in $(ALL_RECURSIVE_TARGETS).
49499
49500 2009-03-14  Bruno Haible  <bruno@clisp.org>
49501
49502         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
49503         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
49504         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
49505         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
49506         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
49507         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
49508         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
49509         unistr/u8-uctomb.
49510         * modules/unistr/u8-strchr (Depends-on): Likewise.
49511         * modules/unistr/u8-strrchr (Depends-on): Likewise.
49512         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
49513         unistr/u16-uctomb.
49514         * modules/unistr/u16-strchr (Depends-on): Likewise.
49515         * modules/unistr/u16-strrchr (Depends-on): Likewise.
49516
49517 2009-03-12  Bruno Haible  <bruno@clisp.org>
49518
49519         Work around select() bug on Interix 3.5.
49520         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
49521         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
49522         * m4/select.m4: New file.
49523         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
49524         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
49525         * modules/select (Files): Add m4/select.m4.
49526         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
49527         * modules/nanosleep (Depends-on): Add select.
49528         * modules/poll (Depends-on): Likewise.
49529         * doc/posix-functions/select.texi: Mention the Interix bug.
49530         Reported by Markus Duft <mduft@gentoo.org>.
49531
49532         * lib/select.c: Renamed from lib/winsock-select.c.
49533         * modules/select (Files): Add lib/select.c, remove
49534         lib/winsock-select.c.
49535         (configure.ac): Update.
49536
49537 2009-03-12  Jim Meyering  <meyering@redhat.com>
49538
49539         avoid gcc warnings about unused macro definitions
49540         * lib/readtokens.c (STREQ): Remove unused definition.
49541         * lib/xmalloc.c (SIZE_MAX): Likewise.
49542         * lib/openat-die.c (N_): Likewise.
49543         * lib/mountlist.c (SIZE_MAX): Remove definition.
49544         Instead, include <stdint.h>.
49545         * lib/readutmp.c: Likewise.
49546         * modules/readutmp (Depends-on): Add stdint.
49547         * modules/mountlist (Depends-on): Add stdint.
49548         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
49549
49550 2009-03-10  Bruno Haible  <bruno@clisp.org>
49551
49552         Tests for module 'mbmemcasecoll'.
49553         * modules/mbmemcasecoll-tests: New file.
49554         * tests/test-mbmemcasecoll1.sh: New file.
49555         * tests/test-mbmemcasecoll2.sh: New file.
49556         * tests/test-mbmemcasecoll3.sh: New file.
49557         * tests/test-mbmemcasecoll.c: New file.
49558
49559         New module 'mbmemcasecoll'.
49560         * lib/mbmemcasecoll.h: New file.
49561         * lib/mbmemcasecoll.c: New file.
49562         * modules/mbmemcasecoll: New file.
49563
49564         * tests/test-mbmemcasecmp.h: New file, extracted from
49565         tests/test-mbmemcasecmp.c.
49566         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
49567         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
49568         (main): Update.
49569         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
49570
49571 2009-03-09  Bruno Haible  <bruno@clisp.org>
49572
49573         Tests for module 'mbmemcasecmp'.
49574         * modules/mbmemcasecmp-tests: New file.
49575         * tests/test-mbmemcasecmp1.sh: New file.
49576         * tests/test-mbmemcasecmp2.sh: New file.
49577         * tests/test-mbmemcasecmp3.sh: New file.
49578         * tests/test-mbmemcasecmp.c: New file.
49579
49580         New module 'mbmemcasecmp'.
49581         * lib/mbmemcasecmp.h: New file.
49582         * lib/mbmemcasecmp.c: New file.
49583         * modules/mbmemcasecmp: New file.
49584
49585 2009-03-09  Bruno Haible  <bruno@clisp.org>
49586
49587         Tests for module 'unicase/ulc-casecoll'.
49588         * modules/unicase/ulc-casecoll-tests: New file.
49589         * tests/unicase/test-ulc-casecoll1.sh: New file.
49590         * tests/unicase/test-ulc-casecoll2.sh: New file.
49591         * tests/unicase/test-ulc-casecoll.c: New file.
49592
49593         New module 'unicase/ulc-casecoll'.
49594         * lib/unicase.h (ulc_casecoll): New declaration.
49595         * lib/unicase/ulc-casecoll.c: New file.
49596         * modules/unicase/ulc-casecoll: New file.
49597
49598         New module 'unicase/ulc-casexfrm'.
49599         * lib/unicase.h (ulc_casexfrm): New declaration.
49600         * lib/unicase/ulc-casexfrm.c: New file.
49601         * modules/unicase/ulc-casexfrm: New file.
49602
49603 2009-03-09  Bruno Haible  <bruno@clisp.org>
49604
49605         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
49606         invocations.
49607
49608         * m4/mbscasecmp.m4: Remove file.
49609         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
49610         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
49611
49612         * m4/mbscasestr.m4: Remove file.
49613         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
49614         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
49615
49616         * m4/mbschr.m4: Remove file.
49617         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
49618         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
49619
49620         * m4/mbscspn.m4: Remove file.
49621         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
49622         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
49623
49624         * m4/mbslen.m4: Remove file.
49625         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
49626         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
49627
49628         * m4/mbsncasecmp.m4: Remove file.
49629         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
49630         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
49631
49632         * m4/mbsnlen.m4: Remove file.
49633         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
49634         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
49635
49636         * m4/mbspbrk.m4: Remove file.
49637         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
49638         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
49639
49640         * m4/mbspcasecmp.m4: Remove file.
49641         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
49642         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
49643
49644         * m4/mbsrchr.m4: Remove file.
49645         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
49646         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
49647
49648         * m4/mbssep.m4: Remove file.
49649         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
49650         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
49651
49652         * m4/mbsspn.m4: Remove file.
49653         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
49654         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
49655
49656         * m4/mbsstr.m4: Remove file.
49657         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
49658         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
49659
49660         * m4/mbstok_r.m4: Remove file.
49661         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
49662         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
49663
49664         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
49665
49666         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
49667         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
49668
49669         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
49670
49671 2009-03-08  Bruno Haible  <bruno@clisp.org>
49672
49673         Tests for module 'unicase/ulc-casecmp'.
49674         * modules/unicase/ulc-casecmp-tests: New file.
49675         * tests/unicase/test-ulc-casecmp1.sh: New file.
49676         * tests/unicase/test-ulc-casecmp2.sh: New file.
49677         * tests/unicase/test-ulc-casecmp.c: New file.
49678
49679         New module 'unicase/ulc-casecmp'.
49680         * lib/unicase.h (ulc_casecmp): New declaration.
49681         * lib/unicase/ulc-casecmp.c: New file.
49682         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
49683         'const SRC_UNIT *'.
49684         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
49685         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
49686         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
49687         * modules/unicase/ulc-casecmp: New file.
49688
49689         Tests for module 'unicase/u32-is-cased'.
49690         * modules/unicase/u32-is-cased-tests: New file.
49691         * tests/unicase/test-u32-is-cased.c: New file.
49692
49693         Tests for module 'unicase/u16-is-cased'.
49694         * modules/unicase/u16-is-cased-tests: New file.
49695         * tests/unicase/test-u16-is-cased.c: New file.
49696
49697         Tests for module 'unicase/u8-is-cased'.
49698         * modules/unicase/u8-is-cased-tests: New file.
49699         * tests/unicase/test-u8-is-cased.c: New file.
49700         * tests/unicase/test-is-cased.h: New file.
49701
49702         New module 'unicase/u32-is-cased'.
49703         * lib/unicase/u32-is-cased.c: New file.
49704         * modules/unicase/u32-is-cased: New file.
49705
49706         New module 'unicase/u16-is-cased'.
49707         * lib/unicase/u16-is-cased.c: New file.
49708         * modules/unicase/u16-is-cased: New file.
49709
49710         New module 'unicase/u8-is-cased'.
49711         * lib/unicase/u8-is-cased.c: New file.
49712         * lib/unicase/u-is-cased.h: New file.
49713         * modules/unicase/u8-is-cased: New file.
49714
49715         Tests for module 'unicase/u32-is-casefolded'.
49716         * modules/unicase/u32-is-casefolded-tests: New file.
49717         * tests/unicase/test-u32-is-casefolded.c: New file.
49718
49719         Tests for module 'unicase/u16-is-casefolded'.
49720         * modules/unicase/u16-is-casefolded-tests: New file.
49721         * tests/unicase/test-u16-is-casefolded.c: New file.
49722
49723         Tests for module 'unicase/u8-is-casefolded'.
49724         * modules/unicase/u8-is-casefolded-tests: New file.
49725         * tests/unicase/test-u8-is-casefolded.c: New file.
49726         * tests/unicase/test-is-casefolded.h: New file.
49727
49728         New module 'unicase/u32-is-casefolded'.
49729         * lib/unicase/u32-is-casefolded.c: New file.
49730         * modules/unicase/u32-is-casefolded: New file.
49731
49732         New module 'unicase/u16-is-casefolded'.
49733         * lib/unicase/u16-is-casefolded.c: New file.
49734         * modules/unicase/u16-is-casefolded: New file.
49735
49736         New module 'unicase/u8-is-casefolded'.
49737         * lib/unicase/u8-is-casefolded.c: New file.
49738         * modules/unicase/u8-is-casefolded: New file.
49739
49740         Tests for module 'unicase/u32-is-titlecase'.
49741         * modules/unicase/u32-is-titlecase-tests: New file.
49742         * tests/unicase/test-u32-is-titlecase.c: New file.
49743
49744         Tests for module 'unicase/u16-is-titlecase'.
49745         * modules/unicase/u16-is-titlecase-tests: New file.
49746         * tests/unicase/test-u16-is-titlecase.c: New file.
49747
49748         Tests for module 'unicase/u8-is-titlecase'.
49749         * modules/unicase/u8-is-titlecase-tests: New file.
49750         * tests/unicase/test-u8-is-titlecase.c: New file.
49751         * tests/unicase/test-is-titlecase.h: New file.
49752
49753         New module 'unicase/u32-is-titlecase'.
49754         * lib/unicase/u32-is-titlecase.c: New file.
49755         * modules/unicase/u32-is-titlecase: New file.
49756
49757         New module 'unicase/u16-is-titlecase'.
49758         * lib/unicase/u16-is-titlecase.c: New file.
49759         * modules/unicase/u16-is-titlecase: New file.
49760
49761         New module 'unicase/u8-is-titlecase'.
49762         * lib/unicase/u8-is-titlecase.c: New file.
49763         * modules/unicase/u8-is-titlecase: New file.
49764
49765         Tests for module 'unicase/u32-is-lowercase'.
49766         * modules/unicase/u32-is-lowercase-tests: New file.
49767         * tests/unicase/test-u32-is-lowercase.c: New file.
49768
49769         Tests for module 'unicase/u16-is-lowercase'.
49770         * modules/unicase/u16-is-lowercase-tests: New file.
49771         * tests/unicase/test-u16-is-lowercase.c: New file.
49772
49773         Tests for module 'unicase/u8-is-lowercase'.
49774         * modules/unicase/u8-is-lowercase-tests: New file.
49775         * tests/unicase/test-u8-is-lowercase.c: New file.
49776         * tests/unicase/test-is-lowercase.h: New file.
49777
49778         New module 'unicase/u32-is-lowercase'.
49779         * lib/unicase/u32-is-lowercase.c: New file.
49780         * modules/unicase/u32-is-lowercase: New file.
49781
49782         New module 'unicase/u16-is-lowercase'.
49783         * lib/unicase/u16-is-lowercase.c: New file.
49784         * modules/unicase/u16-is-lowercase: New file.
49785
49786         New module 'unicase/u8-is-lowercase'.
49787         * lib/unicase/u8-is-lowercase.c: New file.
49788         * modules/unicase/u8-is-lowercase: New file.
49789
49790         Tests for module 'unicase/u32-is-uppercase'.
49791         * modules/unicase/u32-is-uppercase-tests: New file.
49792         * tests/unicase/test-u32-is-uppercase.c: New file.
49793
49794         Tests for module 'unicase/u16-is-uppercase'.
49795         * modules/unicase/u16-is-uppercase-tests: New file.
49796         * tests/unicase/test-u16-is-uppercase.c: New file.
49797
49798         Tests for module 'unicase/u8-is-uppercase'.
49799         * modules/unicase/u8-is-uppercase-tests: New file.
49800         * tests/unicase/test-u8-is-uppercase.c: New file.
49801         * tests/unicase/test-is-uppercase.h: New file.
49802
49803         New module 'unicase/u32-is-uppercase'.
49804         * lib/unicase/u32-is-uppercase.c: New file.
49805         * modules/unicase/u32-is-uppercase: New file.
49806
49807         New module 'unicase/u16-is-uppercase'.
49808         * lib/unicase/u16-is-uppercase.c: New file.
49809         * modules/unicase/u16-is-uppercase: New file.
49810
49811         New module 'unicase/u8-is-uppercase'.
49812         * lib/unicase/u8-is-uppercase.c: New file.
49813         * modules/unicase/u8-is-uppercase: New file.
49814
49815         New module 'unicase/u32-is-invariant'.
49816         * lib/unicase/u32-is-invariant.c: New file.
49817         * modules/unicase/u32-is-invariant: New file.
49818
49819         New module 'unicase/u16-is-invariant'.
49820         * lib/unicase/u16-is-invariant.c: New file.
49821         * modules/unicase/u16-is-invariant: New file.
49822
49823         New module 'unicase/u8-is-invariant'.
49824         * lib/unicase/u8-is-invariant.c: New file.
49825         * lib/unicase/invariant.h: New file.
49826         * lib/unicase/u-is-invariant.h: New file.
49827         * modules/unicase/u8-is-invariant: New file.
49828
49829         Tests for module 'unicase/u32-casecoll'.
49830         * modules/unicase/u32-casecoll-tests: New file.
49831         * tests/unicase/test-u32-casecoll.c: New file.
49832
49833         Tests for module 'unicase/u16-casecoll'.
49834         * modules/unicase/u16-casecoll-tests: New file.
49835         * tests/unicase/test-u16-casecoll.c: New file.
49836
49837         Tests for module 'unicase/u8-casecoll'.
49838         * modules/unicase/u8-casecoll-tests: New file.
49839         * tests/unicase/test-u8-casecoll.c: New file.
49840
49841         New module 'unicase/u32-casecoll'.
49842         * lib/unicase/u32-casecoll.c: New file.
49843         * modules/unicase/u32-casecoll: New file.
49844
49845         New module 'unicase/u16-casecoll'.
49846         * lib/unicase/u16-casecoll.c: New file.
49847         * modules/unicase/u16-casecoll: New file.
49848
49849         New module 'unicase/u8-casecoll'.
49850         * lib/unicase/u8-casecoll.c: New file.
49851         * lib/unicase/u-casecoll.h: New file.
49852         * modules/unicase/u8-casecoll: New file.
49853
49854         New module 'unicase/u32-casexfrm'.
49855         * lib/unicase/u32-casexfrm.c: New file.
49856         * modules/unicase/u32-casexfrm: New file.
49857
49858         New module 'unicase/u16-casexfrm'.
49859         * lib/unicase/u16-casexfrm.c: New file.
49860         * modules/unicase/u16-casexfrm: New file.
49861
49862         New module 'unicase/u8-casexfrm'.
49863         * lib/unicase/u8-casexfrm.c: New file.
49864         * lib/unicase/u-casexfrm.h: New file.
49865         * modules/unicase/u8-casexfrm: New file.
49866
49867         Tests for module 'unicase/u32-casecmp'.
49868         * modules/unicase/u32-casecmp-tests: New file.
49869         * tests/unicase/test-u32-casecmp.c: New file.
49870
49871         Tests for module 'unicase/u16-casecmp'.
49872         * modules/unicase/u16-casecmp-tests: New file.
49873         * tests/unicase/test-u16-casecmp.c: New file.
49874
49875         Tests for module 'unicase/u8-casecmp'.
49876         * modules/unicase/u8-casecmp-tests: New file.
49877         * tests/unicase/test-u8-casecmp.c: New file.
49878         * tests/unicase/test-casecmp.h: New file.
49879
49880         New module 'unicase/u32-casecmp'.
49881         * lib/unicase/u32-casecmp.c: New file.
49882         * modules/unicase/u32-casecmp: New file.
49883
49884         New module 'unicase/u16-casecmp'.
49885         * lib/unicase/u16-casecmp.c: New file.
49886         * modules/unicase/u16-casecmp: New file.
49887
49888         New module 'unicase/u8-casecmp'.
49889         * lib/unicase/u8-casecmp.c: New file.
49890         * lib/unicase/u-casecmp.h: New file.
49891         * modules/unicase/u8-casecmp: New file.
49892
49893         Tests for module 'unicase/u32-casefold'.
49894         * modules/unicase/u32-casefold-tests: New file.
49895         * tests/unicase/test-u32-casefold.c: New file.
49896
49897         Tests for module 'unicase/u16-casefold'.
49898         * modules/unicase/u16-casefold-tests: New file.
49899         * tests/unicase/test-u16-casefold.c: New file.
49900
49901         Tests for module 'unicase/u8-casefold'.
49902         * modules/unicase/u8-casefold-tests: New file.
49903         * tests/unicase/test-u8-casefold.c: New file.
49904
49905         New module 'unicase/u32-casefold'.
49906         * lib/unicase/u32-casefold.c: New file.
49907         * modules/unicase/u32-casefold: New file.
49908
49909         New module 'unicase/u16-casefold'.
49910         * lib/unicase/u16-casefold.c: New file.
49911         * modules/unicase/u16-casefold: New file.
49912
49913         New module 'unicase/u8-casefold'.
49914         * lib/unicase/u8-casefold.c: New file.
49915         * lib/unicase/u-casefold.h: New file.
49916         * modules/unicase/u8-casefold: New file.
49917
49918         New module 'unicase/tocasefold'.
49919         * lib/unicase/casefold.h: New file.
49920         * lib/unicase/tocasefold.c: New file.
49921         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
49922         * modules/unicase/tocasefold: New file.
49923
49924         Tests for module 'unicase/u32-totitle'.
49925         * modules/unicase/u32-totitle-tests: New file.
49926         * tests/unicase/test-u32-totitle.c: New file.
49927
49928         Tests for module 'unicase/u16-totitle'.
49929         * modules/unicase/u16-totitle-tests: New file.
49930         * tests/unicase/test-u16-totitle.c: New file.
49931
49932         Tests for module 'unicase/u8-totitle'.
49933         * modules/unicase/u8-totitle-tests: New file.
49934         * tests/unicase/test-u8-totitle.c: New file.
49935
49936         New module 'unicase/u32-totitle'.
49937         * lib/unicase/u32-totitle.c: New file.
49938         * modules/unicase/u32-totitle: New file.
49939
49940         New module 'unicase/u16-totitle'.
49941         * lib/unicase/u16-totitle.c: New file.
49942         * modules/unicase/u16-totitle: New file.
49943
49944         New module 'unicase/u8-totitle'.
49945         * lib/unicase/u8-totitle.c: New file.
49946         * lib/unicase/u-totitle.h: New file.
49947         * modules/unicase/u8-totitle: New file.
49948
49949         Tests for module 'unicase/u32-tolower'.
49950         * modules/unicase/u32-tolower-tests: New file.
49951         * tests/unicase/test-u32-tolower.c: New file.
49952
49953         Tests for module 'unicase/u16-tolower'.
49954         * modules/unicase/u16-tolower-tests: New file.
49955         * tests/unicase/test-u16-tolower.c: New file.
49956
49957         Tests for module 'unicase/u8-tolower'.
49958         * modules/unicase/u8-tolower-tests: New file.
49959         * tests/unicase/test-u8-tolower.c: New file.
49960
49961         New module 'unicase/u32-tolower'.
49962         * lib/unicase/u32-tolower.c: New file.
49963         * modules/unicase/u32-tolower: New file.
49964
49965         New module 'unicase/u16-tolower'.
49966         * lib/unicase/u16-tolower.c: New file.
49967         * modules/unicase/u16-tolower: New file.
49968
49969         New module 'unicase/u8-tolower'.
49970         * lib/unicase/u8-tolower.c: New file.
49971         * modules/unicase/u8-tolower: New file.
49972
49973         Tests for module 'unicase/u32-toupper'.
49974         * modules/unicase/u32-toupper-tests: New file.
49975         * tests/unicase/test-u32-toupper.c: New file.
49976
49977         Tests for module 'unicase/u16-toupper'.
49978         * modules/unicase/u16-toupper-tests: New file.
49979         * tests/unicase/test-u16-toupper.c: New file.
49980
49981         Tests for module 'unicase/u8-toupper'.
49982         * modules/unicase/u8-toupper-tests: New file.
49983         * tests/unicase/test-u8-toupper.c: New file.
49984
49985         New module 'unicase/u32-toupper'.
49986         * lib/unicase/u32-toupper.c: New file.
49987         * modules/unicase/u32-toupper: New file.
49988
49989         New module 'unicase/u16-toupper'.
49990         * lib/unicase/u16-toupper.c: New file.
49991         * modules/unicase/u16-toupper: New file.
49992
49993         New module 'unicase/u8-toupper'.
49994         * lib/unicase/u8-toupper.c: New file.
49995         * modules/unicase/u8-toupper: New file.
49996
49997         New module 'unicase/u32-casemap'.
49998         * lib/unicase/u32-casemap.c: New file.
49999         * modules/unicase/u32-casemap: New file.
50000
50001         New module 'unicase/u16-casemap'.
50002         * lib/unicase/u16-casemap.c: New file.
50003         * modules/unicase/u16-casemap: New file.
50004
50005         New module 'unicase/u8-casemap'.
50006         * lib/unicase/unicasemap.h: New file.
50007         * lib/unicase/u8-casemap.c: New file.
50008         * lib/unicase/u-casemap.h: New file.
50009         * modules/unicase/u8-casemap: New file.
50010
50011         New module 'unicase/special-casing'.
50012         * lib/unicase/special-casing.h: New file.
50013         * lib/unicase/special-casing.c: New file.
50014         * lib/unicase/special-casing-table.gperf: New file, generated by
50015         gen-uni-tables.c.
50016         * modules/unicase/special-casing: New file.
50017
50018         Tests for module 'unicase/locale-language'.
50019         * modules/unicase/locale-language-tests: New file.
50020         * tests/unicase/test-locale-language.sh: New file.
50021         * tests/unicase/test-locale-language.c: New file.
50022
50023         New module 'unicase/locale-language'.
50024         * lib/unicase/locale-language.c: New file.
50025         * lib/unicase/locale-languages.gperf: New file.
50026         * modules/unicase/locale-language: New file.
50027
50028         Generate more tables for case conversion and case folding.
50029         * lib/gen-uni-tables.c (SCC_*): New enum items.
50030         (struct special_casing_rule): New type.
50031         (casing_rules, num_casing_rules, allocated_casing_rules): New
50032         variables.
50033         (add_casing_rule, fill_casing_rules): New functions.
50034         (struct casefold_rule): New type.
50035         (casefolding_rules, num_casefolding_rules,
50036         allocated_casefolding_rules): New variables.
50037         (fill_casefolding_rules): New function.
50038         (unicode_casefold): New variable.
50039         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
50040         sort_casing_rules, output_casing_rules): New functions.
50041         (main): Accept to more arguments: SpecialCasing.txt and
50042         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
50043         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
50044         Output mapping for casefolding.
50045
50046         * lib/unicase.h: Include stdbool.h, uninorm.h.
50047         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
50048         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
50049         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
50050         arguments.
50051         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
50052         resultp arguments.
50053         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
50054         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
50055         resultp arguments.
50056         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
50057         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
50058         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
50059         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
50060         declarations.
50061         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
50062
50063 2009-03-08  Bruno Haible  <bruno@clisp.org>
50064
50065         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50066         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
50067         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
50068         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50069
50070 2009-03-07  Bruno Haible  <bruno@clisp.org>
50071
50072         Adjust u*_normcmp, u*_normcoll API.
50073         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50074         u16_normcoll, u32_normcoll): Change failure conventions.
50075         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
50076         errno and return -1.
50077         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50078
50079 2009-03-07  Bruno Haible  <bruno@clisp.org>
50080
50081         Tests for module 'uninorm/u32-normcoll'.
50082         * modules/uninorm/u32-normcoll-tests: New file.
50083         * tests/uninorm/test-u32-normcoll.c: New file.
50084
50085         Tests for module 'uninorm/u16-normcoll'.
50086         * modules/uninorm/u16-normcoll-tests: New file.
50087         * tests/uninorm/test-u16-normcoll.c: New file.
50088
50089         Tests for module 'uninorm/u8-normcoll'.
50090         * modules/uninorm/u8-normcoll-tests: New file.
50091         * tests/uninorm/test-u8-normcoll.c: New file.
50092
50093 2009-03-07  Bruno Haible  <bruno@clisp.org>
50094
50095         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
50096         tests/uninorm/test-u32-normcmp.c.
50097         * tests/uninorm/test-u32-normcmp.c: Include it.
50098         (test_nonascii): New function, extracted from main. Add some more
50099         tests.
50100         (main): Invoke test_ascii and test_nonascii.
50101         * modules/uninorm/u32-normcmp-tests (Files): Add
50102         tests/uninorm/test-u32-normcmp.h.
50103         (Depends-on): Remove uninorm/u32-normcmp.
50104
50105         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
50106         tests/uninorm/test-u16-normcmp.c.
50107         * tests/uninorm/test-u16-normcmp.c: Include it.
50108         (test_nonascii): New function, extracted from main. Add some more
50109         tests.
50110         (main): Invoke test_ascii and test_nonascii.
50111         * modules/uninorm/u16-normcmp-tests (Files): Add
50112         tests/uninorm/test-u16-normcmp.h.
50113         (Depends-on): Remove uninorm/u16-normcmp.
50114
50115         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
50116         tests/uninorm/test-u8-normcmp.c.
50117         * tests/uninorm/test-u8-normcmp.c: Include it.
50118         (test_nonascii): New function, extracted from main. Add some more
50119         tests.
50120         (main): Invoke test_ascii and test_nonascii.
50121         * modules/uninorm/u8-normcmp-tests (Files): Add
50122         tests/uninorm/test-u8-normcmp.h.
50123         (Depends-on): Remove uninorm/u8-normcmp.
50124
50125 2009-03-07  Bruno Haible  <bruno@clisp.org>
50126
50127         New module 'uninorm/u32-normcoll'.
50128         * lib/uninorm/u32-normcoll.c: New file.
50129         * modules/uninorm/u32-normcoll: New file.
50130
50131         New module 'uninorm/u16-normcoll'.
50132         * lib/uninorm/u16-normcoll.c: New file.
50133         * modules/uninorm/u16-normcoll: New file.
50134
50135         New module 'uninorm/u8-normcoll'.
50136         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
50137         declarations.
50138         * lib/uninorm/u8-normcoll.c: New file.
50139         * lib/uninorm/u-normcoll.h: New file.
50140         * modules/uninorm/u8-normcoll: New file.
50141
50142         New module 'uninorm/u32-normxfrm'.
50143         * lib/uninorm/u32-normxfrm.c: New file.
50144         * modules/uninorm/u32-normxfrm: New file.
50145
50146         New module 'uninorm/u16-normxfrm'.
50147         * lib/uninorm/u16-normxfrm.c: New file.
50148         * modules/uninorm/u16-normxfrm: New file.
50149
50150         New module 'uninorm/u8-normxfrm'.
50151         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
50152         declarations.
50153         * lib/uninorm/u8-normxfrm.c: New file.
50154         * lib/uninorm/u-normxfrm.h: New file.
50155         * modules/uninorm/u8-normxfrm: New file.
50156
50157 2009-03-07  Bruno Haible  <bruno@clisp.org>
50158
50159         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
50160         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
50161         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
50162
50163 2009-03-07  Bruno Haible  <bruno@clisp.org>
50164
50165         New module 'memxfrm'.
50166         * lib/memxfrm.h: New file.
50167         * lib/memxfrm.c: New file.
50168         * modules/memxfrm: New file.
50169
50170 2009-03-07  Bruno Haible  <bruno@clisp.org>
50171
50172         New module 'memcmp2'.
50173         * lib/memcmp2.h: New file.
50174         * lib/memcmp2.c: New file.
50175         * modules/memcmp2: New file.
50176
50177 2009-03-07  Bruno Haible  <bruno@clisp.org>
50178
50179         Tests for module 'uninorm/decomposing-form'.
50180         * modules/uninorm/decomposing-form-tests: New file.
50181         * tests/uninorm/test-decomposing-form.c: New file.
50182
50183         New module 'uninorm/decomposing-form'.
50184         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
50185         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
50186         Add 'decomposing_variant' field.
50187         * lib/uninorm/decomposing-form.c: New file.
50188         * lib/uninorm/nfc.c (uninorm_nfc): Update.
50189         * lib/uninorm/nfd.c (uninorm_nfd): Update.
50190         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
50191         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
50192         * modules/uninorm/decomposing-form: New file.
50193         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
50194         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
50195
50196 2009-03-07  Bruno Haible  <bruno@clisp.org>
50197
50198         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
50199         strings.
50200
50201 2009-03-06  Bruno Haible  <bruno@clisp.org>
50202
50203         Tests for module 'uninorm/u32-normcmp'.
50204         * tests/uninorm/test-u32-normcmp.c: New file.
50205         * modules/uninorm/u32-normcmp-tests: New file.
50206
50207         Tests for module 'uninorm/u16-normcmp'.
50208         * tests/uninorm/test-u16-normcmp.c: New file.
50209         * modules/uninorm/u16-normcmp-tests: New file.
50210
50211         Tests for module 'uninorm/u8-normcmp'.
50212         * tests/uninorm/test-u8-normcmp.c: New file.
50213         * modules/uninorm/u8-normcmp-tests: New file.
50214
50215         New module 'uninorm/u32-normcmp'.
50216         * lib/uninorm/u32-normcmp.c: New file.
50217         * modules/uninorm/u32-normcmp: New file.
50218
50219         New module 'uninorm/u16-normcmp'.
50220         * lib/uninorm/u16-normcmp.c: New file.
50221         * modules/uninorm/u16-normcmp: New file.
50222
50223         New module 'uninorm/u8-normcmp'.
50224         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
50225         declarations.
50226         * lib/uninorm/u8-normcmp.c: New file.
50227         * lib/uninorm/u-normcmp.h: New file.
50228         * modules/uninorm/u8-normcmp: New file.
50229
50230 2009-03-06  Bruno Haible  <bruno@clisp.org>
50231
50232         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
50233         Reported by Eric Blake.
50234
50235 2009-03-06  Eric Blake  <ebb9@byu.net>
50236             Bruno Haible  <bruno@clisp.org>
50237
50238         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
50239         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
50240         condition.
50241         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50242         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
50243         condition.
50244         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50245
50246 2009-03-06  Eric Blake  <ebb9@byu.net>
50247
50248         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
50249         to avoid compiler warnings.
50250         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
50251
50252 2009-03-05  Bruno Haible  <bruno@clisp.org>
50253
50254         * tests/test-ftell.c (main): Disable test beyond end of file on
50255         FreeMiNT.
50256         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50257
50258 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
50259
50260         * lib/filevercmp.c: Move hidden files up in ordering.
50261         * tests/test-filevercmp.c: Add tests for hidden files.
50262
50263 2009-03-04  Bruno Haible  <bruno@clisp.org>
50264
50265         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
50266         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
50267         AM_CFLAGS.
50268         Reported by Simon Josefsson.
50269
50270 2009-03-03  Bruno Haible  <bruno@clisp.org>
50271
50272         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
50273         Reported by Simon Josefsson.
50274
50275         * doc/ld-version-script.texi: Update node reference.
50276
50277 2009-03-03  Bruno Haible  <bruno@clisp.org>
50278
50279         * modules/visibility (License): Change to 'unlimited'.
50280         Suggested by Simon Josefsson.
50281
50282 2009-03-03  Jim Meyering  <meyering@redhat.com>
50283
50284         unlinkdir: cannot_unlink_dir may modify process state
50285         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
50286         it's neither thread-safe nor appropriate for use in a library.
50287
50288 2009-03-03  Eric Blake  <ebb9@byu.net>
50289
50290         test-closein: silence test under Darwin
50291         * tests/test-closein.sh: Ignore stderr from cat, since we don't
50292         care if it dies from EPIPE or EBADF.
50293
50294 2009-03-03  Bruno Haible  <bruno@clisp.org>
50295
50296         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
50297         earlier.
50298         * doc/visibility.texi: Fix @node and @section.
50299
50300 2009-03-03  Simon Josefsson  <simon@josefsson.org>
50301
50302         * doc/gnulib.texi: Link to sections for ld version script and
50303         visibility.
50304         * doc/visibility.texi: Add @node and @section.
50305         * modules/ld-version-script: New module.
50306         * m4/ld-version-script.m4: New file.
50307         * doc/ld-version-script.texi: New file.
50308
50309 2009-03-02  David Lutterkort  <lutter@redhat.com>
50310
50311         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
50312         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50313
50314 2009-03-02  Bruno Haible  <bruno@clisp.org>
50315
50316         * doc/visibility.texi: Mention libtool's -export-symbols option.
50317
50318 2009-03-02  Jim Meyering  <meyering@redhat.com>
50319
50320         announce-gen: new option: --no-print-checksums
50321         * build-aux/announce-gen (usage): Describe it.
50322         (print_checksums): Print a newline here, not in the [*] footnote.
50323         (main): Honor it.
50324
50325 2009-03-01  Bruno Haible  <bruno@clisp.org>
50326
50327         Use socklen_t in the native Windows replacements prototypes.
50328         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
50329         instead of 'int'.
50330         * lib/getsockopt.c (rpl_getsockopt): Likewise.
50331         * lib/setsockopt.c (rpl_setsockopt): Likewise.
50332         * modules/getsockopt (Depends-on): Add socklen.
50333         * modules/setsockopt (Depends-on): Add socklen.
50334
50335 2009-03-01  Bruno Haible  <bruno@clisp.org>
50336
50337         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
50338         least 4.2.
50339
50340 2009-03-01  Eric Blake  <ebb9@byu.net>
50341             Bruno Haible  <bruno@clisp.org>
50342
50343         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
50344         error messages.
50345         * lib/wait-process.c (wait_subprocess): Omit error message about
50346         deadly signal sent to the child of termsigp != NULL.
50347
50348 2009-03-01  Eric Blake  <ebb9@byu.net>
50349
50350         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
50351
50352 2009-03-01  Bruno Haible  <bruno@clisp.org>
50353
50354         Avoid a gcc warning.
50355         * tests/test-sched.c (b): Make global.
50356         Reported by Eric Blake.
50357
50358 2009-01-19  Martin Lambers  <marlam@marlam.de>
50359
50360         Provide POSIX semantics for socket timeout options on W32.
50361         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
50362         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
50363         * modules/setsockopt: Depend on sys_time module for struct timeval.
50364         * modules/getsockopt: Depend on sys_time module for struct timeval.
50365
50366 2009-03-01  Simon Josefsson  <simon@josefsson.org>
50367
50368         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
50369         __USE_GNU, for consistency with netdb.in.h.
50370         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50371
50372 2009-03-01  Bruno Haible  <bruno@clisp.org>
50373
50374         More support for FreeMiNT.
50375         * lib/fseeko.c (rpl_fseeko): Complete last commit.
50376         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50377
50378 2009-03-01  Bruno Haible  <bruno@clisp.org>
50379
50380         More support for FreeMiNT.
50381         * lib/fpurge.c (fpurge): Correct last commit.
50382         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50383
50384 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50385
50386         Fix unportable awk script in vc-list-files.
50387         * build-aux/vc-list-files: In the replacement awk script, use
50388         substr with a second argument of 1, not zero.
50389         Report by Simon Josefsson.
50390
50391 2009-02-28  Bruno Haible  <bruno@clisp.org>
50392
50393         More support for FreeMiNT.
50394         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
50395         to FreeMiNT today.
50396         * lib/fwriting.c (fwriting): Likewise.
50397         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
50398
50399 2009-02-28  Bruno Haible  <bruno@clisp.org>
50400
50401         * tests/test-freadseek.c (main): Disable test beyond end of file on
50402         FreeMiNT.
50403         * tests/test-ftello.c (main): Likewise.
50404         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50405
50406 2009-02-28  Bruno Haible  <bruno@clisp.org>
50407
50408         Add tentative support for FreeMiNT.
50409         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
50410         * lib/fpurge.c (fpurge): Likewise.
50411         * lib/freadable.c (freadable): Likewise.
50412         * lib/freading.c (freading): Likewise.
50413         * lib/freadptr.c (freadptr): Likewise.
50414         * lib/freadseek.c (freadptrinc): Likewise.
50415         * lib/fseeko.c (rpl_fseeko): Likewise.
50416         * lib/fseterr.c (fseterr): Likewise.
50417         * lib/fwritable.c (fwritable): Likewise.
50418         * lib/fwriting.c (fwriting): Likewise.
50419         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
50420         Hourihane.
50421         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50422
50423 2009-02-28  Bruno Haible  <bruno@clisp.org>
50424
50425         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
50426         SIGCHLD.
50427         Reported by Jim Meyering.
50428
50429 2009-02-28  Bruno Haible  <bruno@clisp.org>
50430
50431         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
50432         Mention the results of these tests on various platforms.
50433         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
50434         order.
50435         * doc/posix-functions/printf.texi: Likewise.
50436         * doc/posix-functions/snprintf.texi: Likewise.
50437         * doc/posix-functions/sprintf.texi: Likewise.
50438         * doc/posix-functions/vfprintf.texi: Likewise.
50439         * doc/posix-functions/vprintf.texi: Likewise.
50440         * doc/posix-functions/vsnprintf.texi: Likewise.
50441         * doc/posix-functions/vsprintf.texi: Likewise.
50442         * doc/glibc-functions/obstack_printf.texi: Likewise.
50443         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
50444
50445 2009-02-28  Bruno Haible  <bruno@clisp.org>
50446
50447         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
50448         Reported by Loïc Minier <lool@dooz.org>.
50449
50450 2009-02-27  Bruno Haible  <bruno@clisp.org>
50451
50452         * gnulib-tool (func_import): Make the sed expression used to create the
50453         sed script for updating the .gitignore file POSIX compliant.
50454         Reported by Eric Blake.
50455
50456 2009-02-27  Bruno Haible  <bruno@clisp.org>
50457
50458         * gnulib-tool (sed): Don't alias as "sed --posix".
50459         Reported by Eric Blake.
50460
50461 2009-02-27  Bruno Haible  <bruno@clisp.org>
50462
50463         Avoid test link errors.
50464         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
50465         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
50466         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
50467         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
50468         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50469
50470 2009-02-27  Bruno Haible  <bruno@clisp.org>
50471
50472         Avoid spurious "(cached)" in configure output.
50473         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
50474         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
50475         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
50476         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
50477         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
50478         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
50479         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
50480         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
50481         Reported by Eric Blake.
50482
50483 2009-02-27  Eric Blake  <ebb9@byu.net>
50484
50485         printf: fix regression in previous patch
50486         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
50487
50488 2009-02-27  Bruno Haible  <bruno@clisp.org>
50489
50490         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
50491         value.
50492         * lib/stdint.in.h: Likewise.
50493         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
50494
50495 2009-02-27  Eric Blake  <ebb9@byu.net>
50496
50497         doc: mention more functions added in cygwin 1.7.0
50498         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
50499         addition.
50500         * doc/posix-functions/open_wmemstream.texi: Likewise.
50501         * doc/posix-functions/wcsnlen.texi: Likewise.
50502         * doc/posix-functions/wcsnrtombs.texi: Likewise.
50503         * doc/posix-functions/wcstod.texi: Likewise.
50504         * doc/posix-functions/wcstof.texi: Likewise.
50505         * doc/posix-functions/wcstoimax.texi: Likewise.
50506         * doc/posix-functions/wcstok.texi: Likewise.
50507         * doc/posix-functions/wcstoumax.texi: Likewise.
50508
50509         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
50510         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
50511         * doc/posix-functions/fprintf.texi: Update.
50512         * doc/posix-functions/printf.texi: Update.
50513         * doc/posix-functions/snprintf.texi: Update.
50514         * doc/posix-functions/sprintf.texi: Update.
50515         * doc/posix-functions/vfprintf.texi: Update.
50516         * doc/posix-functions/vprintf.texi: Update.
50517         * doc/posix-functions/vsnprintf.texi: Update.
50518         * doc/posix-functions/vsprintf.texi: Update.
50519         * doc/glibc-functions/obstack_printf.texi: Update.
50520         * doc/glibc-functions/obstack_vprintf.texi: Update.
50521
50522 2009-02-26  Eric Blake  <ebb9@byu.net>
50523
50524         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
50525         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
50526         compilation bug by using runtime conversion.
50527         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
50528         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
50529         * modules/ceill-tests (Files): Use nan.h.
50530         * modules/floorl-tests (Files): Likewise.
50531         * modules/frexpl-tests (Files): Likewise.
50532         * modules/isnanl-tests (Files): Likewise.
50533         * modules/ldexpl-tests (Files): Likewise.
50534         * modules/roundl-tests (Files): Likewise.
50535         * modules/truncl-tests (Files): Likewise.
50536         * tests/test-ceill.c (main): Use a working NaN.
50537         * tests/test-floorl.c (main): Likewise.
50538         * tests/test-frexpl.c (main): Likewise.
50539         * tests/test-isnan.c (test_long_double): Likewise.
50540         * tests/test-isnanl.h (main): Likewise.
50541         * tests/test-ldexpl.h (main): Likewise.
50542         * tests/test-roundl.h (main): Likewise.
50543         * tests/test-truncl.h (main): Likewise.
50544         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
50545
50546 2009-02-26  Eric Blake  <ebb9@byu.net>
50547             Bruno Haible  <bruno@clisp.org>
50548
50549         Work around a *printf bug with %ls on Solaris.
50550         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
50551         precision is specified, sprintf stops converting the wide string
50552         argument when the number of bytes that have been produced by this
50553         conversion equals or exceeds the precision.
50554         * doc/posix-functions/fprintf.texi: Update.
50555         * doc/posix-functions/printf.texi: Update.
50556         * doc/posix-functions/snprintf.texi: Update.
50557         * doc/posix-functions/sprintf.texi: Update.
50558         * doc/posix-functions/vfprintf.texi: Update.
50559         * doc/posix-functions/vprintf.texi: Update.
50560         * doc/posix-functions/vsnprintf.texi: Update.
50561         * doc/posix-functions/vsprintf.texi: Update.
50562         * doc/glibc-functions/obstack_printf.texi: Update.
50563         * doc/glibc-functions/obstack_vprintf.texi: Update.
50564
50565 2009-02-26  Eric Blake  <ebb9@byu.net>
50566
50567         stdlib: favor compiler check of random.h
50568         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
50569         to avoid an ObjC random.h installed by Swarm.
50570
50571 2009-02-26  Bruno Haible  <bruno@clisp.org>
50572
50573         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
50574         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
50575         Reported by Gary V. Vaughan <gary@gnu.org>.
50576
50577 2009-02-26  Bruno Haible  <bruno@clisp.org>
50578
50579         Fix *printf behaviour regarding the %ls directive.
50580         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
50581         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
50582         NEED_PRINTF_DIRECTIVE_LS.
50583         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
50584         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
50585         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50586         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
50587         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
50588         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
50589         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
50590         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50591         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50592         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50593         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50594         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
50595         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50596         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50597         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50598         * doc/posix-functions/fprintf.texi: Update.
50599         * doc/posix-functions/printf.texi: Update.
50600         * doc/posix-functions/snprintf.texi: Update.
50601         * doc/posix-functions/sprintf.texi: Update.
50602         * doc/posix-functions/vfprintf.texi: Update.
50603         * doc/posix-functions/vprintf.texi: Update.
50604         * doc/posix-functions/vsnprintf.texi: Update.
50605         * doc/posix-functions/vsprintf.texi: Update.
50606         * doc/glibc-functions/obstack_printf.texi: Update.
50607         * doc/glibc-functions/obstack_vprintf.texi: Update.
50608         Reported by Eric Blake.
50609
50610 2009-02-25  Bruno Haible  <bruno@clisp.org>
50611
50612         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
50613         with known value.
50614         Reported by Gary V. Vaughan <gary@gnu.org>.
50615
50616 2009-02-25  Bruno Haible  <bruno@clisp.org>
50617
50618         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
50619         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
50620         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
50621         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
50622         Reported by Gary V. Vaughan <gary@gnu.org>.
50623
50624 2009-02-25  Bruno Haible  <bruno@clisp.org>
50625
50626         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
50627         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
50628         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
50629         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
50630         Reported by Gary V. Vaughan <gary@gnu.org>.
50631
50632 2009-02-25  Eric Blake  <ebb9@byu.net>
50633
50634         tests: skip fseek/ftell tests if ungetc is broken
50635         * m4/ungetc.m4: New file.
50636         * modules/fseek-tests: Split test, so ungetc dependency is
50637         separate from rest of test.
50638         * modules/fseeko-tests: Likewise.
50639         * modules/ftell-tests: Likewise.
50640         * modules/ftello-tests: Likewise.
50641         * tests/test-fseek.c (main): Isolate ungetc dependency.
50642         * tests/test-fseeko.c (main): Likewise.
50643         * tests/test-ftell.c (main): Likewise.
50644         * tests/test-ftello.c (main): Likewise.
50645         * tests/test-fseek2.sh: New file.
50646         * tests/test-fseeko2.sh: Likewise.
50647         * tests/test-ftell2.sh: Likewise.
50648         * tests/test-ftello2.sh: Likewise.
50649
50650 2009-02-25  OndÅ™ej Vašík  <ovasik@redhat.com>
50651
50652         test-getaddrinfo: fix usage of skip return code 77
50653         * tests/test-gettaddrinfo.c: Return skip code 77 only
50654         for first occurrence of skip (4x77 is not 77)
50655
50656 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
50657
50658         strtod: avoid C99 decl-after-statement
50659         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
50660
50661 2009-02-24  Eric Blake  <ebb9@byu.net>
50662
50663         strtod: detect HP-UX 11.31 bug
50664         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
50665         Reported by Gary V. Vaughan.
50666
50667 2009-02-23  Bruno Haible  <bruno@clisp.org>
50668
50669         Fix invalid read past end of memory block.
50670         * lib/vasnprintf.c (DCHAR_SET): Define.
50671         (local_wcslen): Define only when needed.
50672         (local_strnlen, local_wcsnlen): New functions.
50673         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
50674         directives that involve a conversion ourselves.
50675         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
50676         wcsnlen, mbrtowc, wcrtomb.
50677         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
50678         * tests/test-vasprintf-posix.c (test_function): Likewise.
50679         * tests/test-snprintf-posix.h (test_function): Likewise.
50680         * tests/test-sprintf-posix.h (test_function): Likewise.
50681         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50682
50683 2009-02-22  Bruno Haible  <bruno@clisp.org>
50684
50685         Implement new clarified decomposition of Hangul syllables.
50686         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
50687         of type LTV, return only a pairwise decomposition.
50688         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
50689         Likewise.
50690         * tests/uninorm/test-decomposition.c (main): Updated expected result.
50691         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
50692         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
50693
50694 2009-02-22  Bruno Haible  <bruno@clisp.org>
50695
50696         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
50697         zero-length results and shrink excess allocated memory.
50698         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
50699         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
50700         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
50701         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
50702         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
50703         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
50704         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
50705         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
50706         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
50707         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
50708         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
50709         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
50710
50711 2009-02-21  Bruno Haible  <bruno@clisp.org>
50712
50713         * doc/gnulib.texi: Include safe-alloc.texi earlier.
50714         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
50715         spaces after a period. Put a space between a macro name and its
50716         argument list. Trivial rewordings.
50717         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
50718         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
50719         (main): Return 0 explicitly.
50720
50721 2009-02-21  Bruno Haible  <bruno@clisp.org>
50722
50723         Tests for module 'uninorm/filter'.
50724         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
50725         * modules/uninorm/filter-tests: New file.
50726
50727         New module 'uninorm/filter'.
50728         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
50729         uninorm_filter_flush, uninorm_filter_free): New declarations.
50730         * lib/uninorm/uninorm-filter.c: New file.
50731         * modules/uninorm/filter: New file.
50732
50733 2009-02-21  Bruno Haible  <bruno@clisp.org>
50734
50735         Tests for module 'uninorm/nfkc'.
50736         * tests/uninorm/test-nfkc.c: New file.
50737         * tests/uninorm/test-u8-nfkc.c: New file.
50738         * tests/uninorm/test-u16-nfkc.c: New file.
50739         * tests/uninorm/test-u32-nfkc.c: New file.
50740         * tests/uninorm/test-u32-nfkc-big.sh: New file.
50741         * tests/uninorm/test-u32-nfkc-big.c: New file.
50742         * modules/uninorm/nfkc-tests: New file.
50743
50744         New module 'uninorm/nfkc'.
50745         * lib/uninorm/nfkc.c: New file.
50746         * modules/uninorm/nfkc: New file.
50747
50748         Tests for module 'uninorm/nfkd'.
50749         * tests/uninorm/test-nfkd.c: New file.
50750         * tests/uninorm/test-u8-nfkd.c: New file.
50751         * tests/uninorm/test-u16-nfkd.c: New file.
50752         * tests/uninorm/test-u32-nfkd.c: New file.
50753         * tests/uninorm/test-u32-nfkd-big.sh: New file.
50754         * tests/uninorm/test-u32-nfkd-big.c: New file.
50755         * modules/uninorm/nfkd-tests: New file.
50756
50757         New module 'uninorm/nfkd'.
50758         * lib/uninorm/nfkd.c: New file.
50759         * modules/uninorm/nfkd: New file.
50760
50761         Tests for module 'uninorm/nfc'.
50762         * tests/uninorm/test-nfc.c: New file.
50763         * tests/uninorm/test-u8-nfc.c: New file.
50764         * tests/uninorm/test-u16-nfc.c: New file.
50765         * tests/uninorm/test-u32-nfc.c: New file.
50766         * tests/uninorm/test-u32-nfc-big.sh: New file.
50767         * tests/uninorm/test-u32-nfc-big.c: New file.
50768         * modules/uninorm/nfc-tests: New file.
50769
50770         New module 'uninorm/nfc'.
50771         * lib/uninorm/nfc.c: New file.
50772         * modules/uninorm/nfc: New file.
50773
50774         Tests for module 'uninorm/nfd'.
50775         * tests/uninorm/test-nfd.c: New file.
50776         * tests/uninorm/test-u8-nfd.c: New file.
50777         * tests/uninorm/test-u16-nfd.c: New file.
50778         * tests/uninorm/test-u32-nfd.c: New file.
50779         * tests/uninorm/test-u32-nfd-big.sh: New file.
50780         * tests/uninorm/test-u32-nfd-big.c: New file.
50781         * tests/uninorm/test-u32-normalize-big.h: New file.
50782         * tests/uninorm/test-u32-normalize-big.c: New file.
50783         * tests/uninorm/NormalizationTest.txt: New file, created from
50784         Unicode 5.1.0 NormalizationTest.txt.
50785         * modules/uninorm/nfd-tests: New file.
50786
50787         New module 'uninorm/nfd'.
50788         * lib/uninorm/nfd.c: New file.
50789         * modules/uninorm/nfd: New file.
50790
50791         New module 'uninorm/u32-normalize'.
50792         * lib/uninorm/u32-normalize.c: New file.
50793         * modules/uninorm/u32-normalize: New file.
50794
50795         New module 'uninorm/u16-normalize'.
50796         * lib/uninorm/u16-normalize.c: New file.
50797         * modules/uninorm/u16-normalize: New file.
50798
50799         New module 'uninorm/u8-normalize'.
50800         * lib/uninorm/u8-normalize.c: New file.
50801         * lib/uninorm/normalize-internal.h: New file.
50802         * lib/uninorm/u-normalize-internal.h: New file.
50803         * modules/uninorm/u8-normalize: New file.
50804
50805         New module 'uninorm/decompose-internal'.
50806         * lib/uninorm/decompose-internal.c: New file.
50807         * modules/uninorm/decompose-internal: New file.
50808
50809         Tests for module 'uninorm/composition'.
50810         * tests/uninorm/test-composition.c: New file.
50811         * modules/uninorm/composition-tests: New file.
50812
50813         New module 'uninorm/composition'.
50814         * lib/uninorm/composition.c: New file.
50815         * lib/uninorm/composition-table.gperf: New file, generated by
50816         gen-uni-tables.
50817         * modules/uninorm/composition: New file.
50818
50819         Tests for module 'uninorm/compat-decomposition'.
50820         * tests/uninorm/test-compat-decomposition.c: New file.
50821         * modules/uninorm/compat-decomposition-tests: New file.
50822
50823         New module 'uninorm/compat-decomposition'.
50824         * lib/uninorm/decompose-internal.h: New file.
50825         * lib/uninorm/compat-decomposition.c: New file.
50826         * modules/uninorm/compat-decomposition: New file.
50827
50828         Tests for module 'uninorm/canonical-decomposition'.
50829         * tests/uninorm/test-canonical-decomposition.c: New file.
50830         * modules/uninorm/canonical-decomposition-tests: New file.
50831
50832         New module 'uninorm/canonical-decomposition'.
50833         * lib/uninorm/canonical-decomposition.c: New file.
50834         * modules/uninorm/canonical-decomposition: New file.
50835
50836         Tests for module 'uninorm/decomposition'.
50837         * tests/uninorm/test-decomposition.c: New file.
50838         * modules/uninorm/decomposition-tests: New file.
50839
50840         New module 'uninorm/decomposition'.
50841         * lib/uninorm/decomposition.c: New file.
50842         * modules/uninorm/decomposition: New file.
50843
50844         New module 'uninorm/decomposition-table'.
50845         * lib/uninorm/decomposition-table.h: New file.
50846         * lib/uninorm/decomposition-table.c: New file.
50847         * lib/uninorm/decomposition-table1.h: New file, generated by
50848         gen-uni-tables.
50849         * lib/uninorm/decomposition-table2.h: New file, generated by
50850         gen-uni-tables.
50851         * modules/uninorm/decomposition-table: New file.
50852
50853         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
50854         (UC_DECOMP_*): New enumeration items.
50855         (get_decomposition): New function.
50856         (struct decomp_table): New type.
50857         (output_decomposition, output_decomposition_tables): New functions.
50858         (unicode_composition_exclusions): New variable.
50859         (fill_composition_exclusions, debug_output_composition_tables): New
50860         functions.
50861         (main): Accept one more argument. Invoke fill_composition_exclusions.
50862         Output decomposition and composition tables.
50863
50864         New module 'uninorm/base'.
50865         * lib/uninorm.h: New file.
50866         * lib/unictype.h: Update comment.
50867         * modules/uninorm/base: New file.
50868
50869 2009-02-21  David Lutterkort  <lutter@redhat.com>
50870
50871         Tests for module 'safe-alloc'.
50872         * tests/test-safe-alloc.c: New file.
50873         * modules/safe-alloc-tests: New file.
50874
50875         New module 'safe-alloc'.
50876         * lib/safe-alloc.h: New file.
50877         * lib/safe-alloc.c: New file.
50878         * m4/safe-alloc.m4: New file.
50879         * modules/safe-alloc: New file.
50880         * doc/safe-alloc.texi: New file.
50881         * doc/gnulib.texi: Include it.
50882         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
50883         safe-alloc.
50884
50885 2009-02-18  Bruno Haible  <bruno@clisp.org>
50886
50887         Fix link error on non-glibc systems.
50888         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
50889         variable.
50890         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50891
50892 2009-02-18  Jim Meyering  <meyering@redhat.com>
50893
50894         fts: avoid used-uninitialized error due to recent change
50895         * lib/fts.c (fts_read): Guard uses of the new member,
50896         parent->fts_n_dirs_remaining, since it's not relevant for
50897         the parent of a directory specified on the command-line.
50898
50899 2009-02-17  James Youngman  <jay@gnu.org>
50900             Bruno Haible  <bruno@clisp.org>
50901
50902         * m4/include_next.m4: Reformulate comment.
50903
50904 2009-02-16  Jim Meyering  <meyering@redhat.com>
50905
50906         fts: add #if guards so that the fts_lgpl module still builds
50907         * lib/fts.c: Guard just-added hash-table-using parts with
50908         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
50909         Reported by Simon Josefsson.
50910
50911 2009-02-15  Bruno Haible  <bruno@clisp.org>
50912
50913         * modules/array-mergesort-tests: New file.
50914         * tests/test-array-mergesort.c: New file.
50915
50916         New module 'array-mergesort'.
50917         * modules/array-mergesort: New file.
50918         * lib/array-mergesort.h: New file.
50919
50920 2009-02-15  Bruno Haible  <bruno@clisp.org>
50921
50922         Fix 2009-02-07 commit.
50923         * lib/gen-uni-tables.c (output_predicate, output_category,
50924         output_combclass, output_bidi_category, output_decimal_digit,
50925         output_digit, output_numeric, output_mirror, output_scripts,
50926         output_ident_category, output_simple_mapping): Fix format directives.
50927         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
50928
50929 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
50930
50931         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
50932         fixes are available from IBM.
50933
50934 2009-02-13  Jim Meyering  <meyering@redhat.com>
50935
50936         fts: arrange not to stat non-directories in more cases
50937         This makes GNU find (when it doesn't need to stat each file)
50938         *much* more efficient at traversing reiserfs file systems.
50939         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
50940         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
50941         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
50942         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
50943         (leaf_optimization_applies): New function.
50944         (LCO_hash, LCO_compare): New helper functions.
50945         (link_count_optimize_ok): New function.
50946         (fts_stat): Initialize new member (if dir).
50947         (fts_read): Decrement parent's fts_n_dirs_remaining count if
50948         we've just stat'ed a directory.  Skip the stat call when possible.
50949         ---
50950         Note this AFS-related exchange:
50951         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
50952         and note find's pioctl call in find/fstype.c.
50953         But that is necessary only if you want to enable the
50954         optimization for AFS, and for now, I don't.
50955
50956         fts: move a function definition "up" (no semantic change)
50957         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
50958         "up" to precede upcoming use of a related function.
50959
50960 2009-02-11  Jim Meyering  <meyering@redhat.com>
50961
50962         fts: correct internal computation of nlinks (optimization-related)
50963         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
50964         whether the current entry is a directory, so don't test it.
50965
50966 2009-02-10  Bruno Haible  <bruno@clisp.org>
50967
50968         Tests for module 'uniwbrk/ulc-wordbreaks'.
50969         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
50970         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
50971         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
50972
50973         Tests for module 'uniwbrk/u32-wordbreaks'.
50974         * modules/uniwbrk/u32-wordbreaks-tests: New file.
50975         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
50976
50977         Tests for module 'uniwbrk/u16-wordbreaks'.
50978         * modules/uniwbrk/u16-wordbreaks-tests: New file.
50979         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
50980
50981         Tests for module 'uniwbrk/u8-wordbreaks'.
50982         * modules/uniwbrk/u8-wordbreaks-tests: New file.
50983         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
50984
50985 2009-02-10  Bruno Haible  <bruno@clisp.org>
50986
50987         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
50988         property.
50989         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
50990         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
50991         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
50992
50993 2009-02-10  Simon Josefsson  <simon@josefsson.org>
50994
50995         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
50996         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
50997
50998 2009-02-10  Bruno Haible  <bruno@clisp.org>
50999
51000         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
51001         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
51002         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
51003         * lib/unilbrk/u8-possible-linebreaks.c: Update.
51004         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
51005         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
51006
51007 2009-02-09  Simon Josefsson  <simon@josefsson.org>
51008
51009         * lib/sockets.h (gl_fd_to_handle): New function.
51010
51011         * tests/test-sockets.c: Call gl_fd_to_handle.
51012
51013 2009-02-09  Bruno Haible  <bruno@clisp.org>
51014
51015         * doc/havelib.texi: Document the conventions on bi-arch systems.
51016
51017 2009-02-08  Bruno Haible  <bruno@clisp.org>
51018
51019         Document the AC_LIB_LINKFLAGS macro.
51020         * doc/havelib.texi: New file, mostly written on 2005-05-24.
51021         * doc/gnulib.texi: Include it.
51022
51023 2009-02-08  Bruno Haible  <bruno@clisp.org>
51024
51025         Fix wrong order of sections, compared to TOC.
51026         * doc/gnulib.texi: Include relocatable-maint.texi after the
51027         "Regular expressions" node, not before.
51028
51029 2009-02-08  Bruno Haible  <bruno@clisp.org>
51030
51031         Tests for module 'unicase/totitle'.
51032         * modules/unicase/totitle-tests: New file.
51033
51034         Tests for module 'unicase/tolower'.
51035         * modules/unicase/tolower-tests: New file.
51036
51037         Tests for module 'unicase/toupper'.
51038         * modules/unicase/toupper-tests: New file.
51039         * tests/unicase/test-mapping-part1.h: New file.
51040         * tests/unicase/test-mapping-part2.h: New file.
51041
51042         New module 'unicase/totitle'.
51043         * modules/unicase/totitle: New file.
51044         * lib/unicase/totitle.c: New file.
51045
51046         New module 'unicase/tolower'.
51047         * modules/unicase/tolower: New file.
51048         * lib/unicase/tolower.c: New file.
51049
51050         New module 'unicase/toupper'.
51051         * modules/unicase/toupper: New file.
51052         * lib/unicase/toupper.c: New file.
51053         * lib/unicase/simple-mapping.h: New file.
51054
51055         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
51056         (mapping_table): New structure.
51057         (output_simple_mapping): New function.
51058         (main): Invoke output_simple_mapping_test and output_simple_mapping.
51059         * modules/gen-uni-tables (Description): Update.
51060         * lib/unicase/toupper.h: New file, automatically generated by
51061         gen-uni-tables.
51062         * lib/unicase/tolower.h: New file, automatically generated by
51063         gen-uni-tables.
51064         * lib/unicase/totitle.h: New file, automatically generated by
51065         gen-uni-tables.
51066         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
51067         gen-uni-tables.
51068         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
51069         gen-uni-tables.
51070         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
51071         gen-uni-tables.
51072
51073         New module 'unicase/base'.
51074         * modules/unicase/base: New file.
51075         * lib/unicase.h: New file.
51076
51077 2009-02-08  Bruno Haible  <bruno@clisp.org>
51078
51079         New module 'uniwbrk/ulc-wordbreaks'.
51080         * modules/uniwbrk/ulc-wordbreaks: New file.
51081         * lib/uniwbrk/ulc-wordbreaks.c: New file.
51082
51083         New module 'uniwbrk/u32-wordbreaks'.
51084         * modules/uniwbrk/u32-wordbreaks: New file.
51085         * lib/uniwbrk/u32-wordbreaks.c: New file.
51086
51087         New module 'uniwbrk/u16-wordbreaks'.
51088         * modules/uniwbrk/u16-wordbreaks: New file.
51089         * lib/uniwbrk/u16-wordbreaks.c: New file.
51090
51091         New module 'uniwbrk/u8-wordbreaks'.
51092         * modules/uniwbrk/u8-wordbreaks: New file.
51093         * lib/uniwbrk/u8-wordbreaks.c: New file.
51094         * lib/uniwbrk/u-wordbreaks.h: New file.
51095
51096         New module 'uniwbrk/table'.
51097         * modules/uniwbrk/table: New file.
51098         * lib/uniwbrk/wbrktable.h: New file.
51099         * lib/uniwbrk/wbrktable.c: New file.
51100
51101         New module 'uniwbrk/wordbreak-property'.
51102         * modules/uniwbrk/wordbreak-property: New file.
51103         * lib/uniwbrk/wordbreak-property.c: New file.
51104
51105         * lib/gen-uni-tables.c (WBP_*): New enum items.
51106         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
51107         (unicode_org_wbp): New variable.
51108         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
51109         New functions.
51110         (wbp_table): New structure.
51111         (output_wbp, output_wbrk_tables): New functions.
51112         (main): Accept additional argument. Invoke fill_org_wbp,
51113         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
51114         output_wbrk_tables.
51115         * modules/gen-uni-tables (Description): Update.
51116         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
51117         gen-uni-tables.
51118
51119         New module 'uniwbrk/base'.
51120         * modules/uniwbrk/base: New file.
51121         * lib/uniwbrk.h: New file.
51122
51123 2009-02-08  Bruno Haible  <bruno@clisp.org>
51124
51125         Update to Unicode 5.1.0.
51126         * lib/gen-uni-tables.c (is_property_alphabetic): Include
51127         U+2185..U+2188.
51128         (is_property_default_ignorable_code_point): Don't include characters
51129         of category Cc or Cs and not-a-characters.
51130         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
51131         U+0D79, U+109E, U+109F, U+A60C.
51132         * lib/unictype/bidi_of.h: Regenerated.
51133         * lib/unictype/blocks.h: Regenerated.
51134         * lib/unictype/categ_C.h: Regenerated.
51135         * lib/unictype/categ_Cf.h: Regenerated.
51136         * lib/unictype/categ_Cn.h: Regenerated.
51137         * lib/unictype/categ_L.h: Regenerated.
51138         * lib/unictype/categ_Ll.h: Regenerated.
51139         * lib/unictype/categ_Lm.h: Regenerated.
51140         * lib/unictype/categ_Lo.h: Regenerated.
51141         * lib/unictype/categ_Lu.h: Regenerated.
51142         * lib/unictype/categ_M.h: Regenerated.
51143         * lib/unictype/categ_Mc.h: Regenerated.
51144         * lib/unictype/categ_Me.h: Regenerated.
51145         * lib/unictype/categ_Mn.h: Regenerated.
51146         * lib/unictype/categ_N.h: Regenerated.
51147         * lib/unictype/categ_Nd.h: Regenerated.
51148         * lib/unictype/categ_Nl.h: Regenerated.
51149         * lib/unictype/categ_No.h: Regenerated.
51150         * lib/unictype/categ_P.h: Regenerated.
51151         * lib/unictype/categ_Pd.h: Regenerated.
51152         * lib/unictype/categ_Pe.h: Regenerated.
51153         * lib/unictype/categ_Pf.h: Regenerated.
51154         * lib/unictype/categ_Pi.h: Regenerated.
51155         * lib/unictype/categ_Po.h: Regenerated.
51156         * lib/unictype/categ_Ps.h: Regenerated.
51157         * lib/unictype/categ_S.h: Regenerated.
51158         * lib/unictype/categ_Sk.h: Regenerated.
51159         * lib/unictype/categ_Sm.h: Regenerated.
51160         * lib/unictype/categ_So.h: Regenerated.
51161         * lib/unictype/categ_of.h: Regenerated.
51162         * lib/unictype/combining.h: Regenerated.
51163         * lib/unictype/ctype_alnum.h: Regenerated.
51164         * lib/unictype/ctype_alpha.h: Regenerated.
51165         * lib/unictype/ctype_graph.h: Regenerated.
51166         * lib/unictype/ctype_lower.h: Regenerated.
51167         * lib/unictype/ctype_print.h: Regenerated.
51168         * lib/unictype/ctype_punct.h: Regenerated.
51169         * lib/unictype/ctype_upper.h: Regenerated.
51170         * lib/unictype/decdigit.h: Regenerated.
51171         * lib/unictype/digit.h: Regenerated.
51172         * lib/unictype/mirror.h: Regenerated.
51173         * lib/unictype/numeric.h: Regenerated.
51174         * lib/unictype/pr_alphabetic.h: Regenerated.
51175         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
51176         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
51177         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
51178         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
51179         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
51180         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
51181         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
51182         * lib/unictype/pr_combining.h: Regenerated.
51183         * lib/unictype/pr_dash.h: Regenerated.
51184         * lib/unictype/pr_decimal_digit.h: Regenerated.
51185         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
51186         * lib/unictype/pr_deprecated.h: Regenerated.
51187         * lib/unictype/pr_diacritic.h: Regenerated.
51188         * lib/unictype/pr_extender.h: Regenerated.
51189         * lib/unictype/pr_format_control.h: Regenerated.
51190         * lib/unictype/pr_grapheme_base.h: Regenerated.
51191         * lib/unictype/pr_grapheme_extend.h: Regenerated.
51192         * lib/unictype/pr_grapheme_link.h: Regenerated.
51193         * lib/unictype/pr_id_continue.h: Regenerated.
51194         * lib/unictype/pr_id_start.h: Regenerated.
51195         * lib/unictype/pr_ideographic.h: Regenerated.
51196         * lib/unictype/pr_ignorable_control.h: Regenerated.
51197         * lib/unictype/pr_lowercase.h: Regenerated.
51198         * lib/unictype/pr_math.h: Regenerated.
51199         * lib/unictype/pr_numeric.h: Regenerated.
51200         * lib/unictype/pr_other_alphabetic.h: Regenerated.
51201         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
51202         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
51203         * lib/unictype/pr_other_id_continue.h: Regenerated.
51204         * lib/unictype/pr_other_lowercase.h: Regenerated.
51205         * lib/unictype/pr_other_math.h: Regenerated.
51206         * lib/unictype/pr_punctuation.h: Regenerated.
51207         * lib/unictype/pr_sentence_terminal.h: Regenerated.
51208         * lib/unictype/pr_soft_dotted.h: Regenerated.
51209         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
51210         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
51211         * lib/unictype/pr_unified_ideograph.h: Regenerated.
51212         * lib/unictype/pr_uppercase.h: Regenerated.
51213         * lib/unictype/pr_xid_continue.h: Regenerated.
51214         * lib/unictype/pr_xid_start.h: Regenerated.
51215         * lib/unictype/pr_zero_width.h: Regenerated.
51216         * lib/unictype/scripts.h: Regenerated.
51217         * lib/unictype/scripts_byname.gperf: Regenerated.
51218         * lib/unictype/sy_java_ident.h: Regenerated.
51219         * lib/unilbrk/lbrkprop1.h: Regenerated.
51220         * lib/unilbrk/lbrkprop2.h: Regenerated.
51221         * tests/unictype/test-categ_C.c: Regenerated.
51222         * tests/unictype/test-categ_Cf.c: Regenerated.
51223         * tests/unictype/test-categ_Cn.c: Regenerated.
51224         * tests/unictype/test-categ_L.c: Regenerated.
51225         * tests/unictype/test-categ_Ll.c: Regenerated.
51226         * tests/unictype/test-categ_Lm.c: Regenerated.
51227         * tests/unictype/test-categ_Lo.c: Regenerated.
51228         * tests/unictype/test-categ_Lu.c: Regenerated.
51229         * tests/unictype/test-categ_M.c: Regenerated.
51230         * tests/unictype/test-categ_Mc.c: Regenerated.
51231         * tests/unictype/test-categ_Me.c: Regenerated.
51232         * tests/unictype/test-categ_Mn.c: Regenerated.
51233         * tests/unictype/test-categ_N.c: Regenerated.
51234         * tests/unictype/test-categ_Nd.c: Regenerated.
51235         * tests/unictype/test-categ_Nl.c: Regenerated.
51236         * tests/unictype/test-categ_No.c: Regenerated.
51237         * tests/unictype/test-categ_P.c: Regenerated.
51238         * tests/unictype/test-categ_Pd.c: Regenerated.
51239         * tests/unictype/test-categ_Pe.c: Regenerated.
51240         * tests/unictype/test-categ_Pf.c: Regenerated.
51241         * tests/unictype/test-categ_Pi.c: Regenerated.
51242         * tests/unictype/test-categ_Po.c: Regenerated.
51243         * tests/unictype/test-categ_Ps.c: Regenerated.
51244         * tests/unictype/test-categ_S.c: Regenerated.
51245         * tests/unictype/test-categ_Sk.c: Regenerated.
51246         * tests/unictype/test-categ_Sm.c: Regenerated.
51247         * tests/unictype/test-categ_So.c: Regenerated.
51248         * tests/unictype/test-ctype_alnum.c: Regenerated.
51249         * tests/unictype/test-ctype_alpha.c: Regenerated.
51250         * tests/unictype/test-ctype_graph.c: Regenerated.
51251         * tests/unictype/test-ctype_lower.c: Regenerated.
51252         * tests/unictype/test-ctype_print.c: Regenerated.
51253         * tests/unictype/test-ctype_punct.c: Regenerated.
51254         * tests/unictype/test-ctype_upper.c: Regenerated.
51255         * tests/unictype/test-decdigit.h: Regenerated.
51256         * tests/unictype/test-digit.h: Regenerated.
51257         * tests/unictype/test-numeric.h: Regenerated.
51258         * tests/unictype/test-pr_alphabetic.c: Regenerated.
51259         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
51260         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
51261         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
51262         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
51263         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
51264         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
51265         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
51266         * tests/unictype/test-pr_combining.c: Regenerated.
51267         * tests/unictype/test-pr_dash.c: Regenerated.
51268         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
51269         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
51270         * tests/unictype/test-pr_deprecated.c: Regenerated.
51271         * tests/unictype/test-pr_diacritic.c: Regenerated.
51272         * tests/unictype/test-pr_extender.c: Regenerated.
51273         * tests/unictype/test-pr_format_control.c: Regenerated.
51274         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
51275         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
51276         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
51277         * tests/unictype/test-pr_id_continue.c: Regenerated.
51278         * tests/unictype/test-pr_id_start.c: Regenerated.
51279         * tests/unictype/test-pr_ideographic.c: Regenerated.
51280         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
51281         * tests/unictype/test-pr_lowercase.c: Regenerated.
51282         * tests/unictype/test-pr_math.c: Regenerated.
51283         * tests/unictype/test-pr_numeric.c: Regenerated.
51284         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
51285         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
51286         Regenerated.
51287         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
51288         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
51289         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
51290         * tests/unictype/test-pr_other_math.c: Regenerated.
51291         * tests/unictype/test-pr_punctuation.c: Regenerated.
51292         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
51293         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
51294         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
51295         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
51296         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
51297         * tests/unictype/test-pr_uppercase.c: Regenerated.
51298         * tests/unictype/test-pr_xid_continue.c: Regenerated.
51299         * tests/unictype/test-pr_xid_start.c: Regenerated.
51300         * tests/unictype/test-pr_zero_width.c: Regenerated.
51301
51302         Update to Unicode 5.1.0.
51303         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
51304         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
51305         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
51306         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
51307         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
51308         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
51309         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
51310         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
51311         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
51312         (nonspacing_table_ind): Update.
51313         * tests/uniwidth/test-uc_width2.sh: Update expected result.
51314
51315         Update to Unicode 5.1.0.
51316         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
51317         code transform.
51318         * lib/uniname/uniname.c (unicode_character_name,
51319         unicode_name_character): Add the range 0x1Fxxx to the code transform.
51320         * lib/uniname/uninames.h: Regenerated.
51321         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
51322
51323 2009-02-07  Bruno Haible  <bruno@clisp.org>
51324
51325         Merge gen-ctype and gen-lbrk into a single program.
51326         * lib/gen-uni-tables.c: New file, incorporating
51327         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
51328         Add directory prefixes to the names of the generated files.
51329         * lib/unictype/gen-ctype.c: Remove file.
51330         * lib/unilbrk/gen-lbrk.c: Remove file.
51331         * modules/gen-uni-tables: New file.
51332         * modules/unictype/gen-ctype: Remove file.
51333         * modules/unilbrk/gen-lbrk: Remove file.
51334
51335 2009-02-07  Bruno Haible  <bruno@clisp.org>
51336
51337         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
51338
51339         New module 'unistr/u32-strcoll'.
51340         * modules/unistr/u32-strcoll: New file.
51341         * lib/unistr/u32-strcoll.c: New file.
51342
51343         New module 'unistr/u16-strcoll'.
51344         * modules/unistr/u16-strcoll: New file.
51345         * lib/unistr/u16-strcoll.c: New file.
51346
51347         New module 'unistr/u8-strcoll'.
51348         * modules/unistr/u8-strcoll: New file.
51349         * lib/unistr/u8-strcoll.c: New file.
51350         * lib/unistr/u-strcoll.h: New file.
51351
51352 2009-02-07  Bruno Haible  <bruno@clisp.org>
51353
51354         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
51355         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51356         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51357         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
51358         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
51359         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
51360
51361 2009-02-07  Bruno Haible  <bruno@clisp.org>
51362
51363         Make 64-bit clean.
51364         * lib/unictype/gen-ctype.c (output_predicate, output_category,
51365         output_combclass, output_bidi_category, output_decimal_digit,
51366         output_digit, output_numeric, output_mirror, output_scripts,
51367         output_ident_category): Use proper width specifier in format strings.
51368
51369 2009-02-07  Bruno Haible  <bruno@clisp.org>
51370
51371         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
51372         failure behaviour.
51373
51374 2009-02-07  Jim Meyering  <meyering@redhat.com>
51375
51376         regex: avoid compilation failure with upcoming gcc-4.4
51377         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
51378         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
51379         "... error: integer overflow in preprocessor expression".
51380
51381 2009-02-05  Ben Pfaff  <blp@gnu.org>
51382
51383         Fix link errors on Windows when close module is used.
51384         * modules/close: Add $(LIB_CLOSE) to Link section.
51385         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
51386         $(LIB_CLOSE) on Windows.
51387
51388 2009-02-05  Jim Meyering  <meyering@redhat.com>
51389
51390         still avoid unused-parameter warnings, but do it cleanly
51391         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
51392         (get_fs_usage): Cast to void instead.
51393         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
51394         (dev_from_mount_options, read_file_system_list): Cast to void.
51395         Prompted by Bruno Haible.
51396
51397 2009-02-04  Jim Meyering  <meyering@redhat.com>
51398
51399         fsusage.c: correct copyright year
51400         * lib/fsusage.c: Reflect year in which the change is pushed into
51401
51402         avoid misc. warnings
51403         * lib/fsusage.c (UNUSED_PARAM): Define.
51404         (get_fs_usage): Mark parameter "disk" as unused.
51405         * lib/getugroups.c (getgrent): Use "void" in prototype.
51406         * lib/mountlist.c: Mark unused parameters.
51407         (read_file_system_list): Declare a local with "const".
51408         * lib/nanosleep.c (getnow): Declare static.
51409         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
51410
51411         dirfd: set errno upon failure
51412         * lib/dirfd.c: Include <errno.h>.
51413         Set errno to ENOTSUP when returning -1.
51414         * modules/dirfd (Depends-on): Add errno.
51415         Suggested by John Kodis <kodis@comcast.net>.
51416
51417 2009-02-01  Bruno Haible  <bruno@clisp.org>
51418
51419         Don't assume sizeof (long) >= sizeof (void *).
51420         * lib/memcmp.c: Include stdint.h.
51421         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
51422         srcp2 to 'const byte *'.
51423         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
51424         types to uintptr_t.
51425         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
51426         * modules/memcmp (Depends-on): Add stdint.
51427         Reported by Ozkan Sezer <sezeroz@gmail.com>.
51428
51429 2009-01-30  Eric Blake  <ebb9@byu.net>
51430
51431         fix more require-before-expand issues
51432         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
51433         expand, AC_PROG_AWK.
51434         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
51435
51436 2009-01-28  Eric Blake  <ebb9@byu.net>
51437
51438         version-etc: use consistent URL formatting
51439         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
51440         Improve formatting.  Use fputs for string without %.
51441
51442 2009-01-28  Jim Meyering  <meyering@redhat.com>
51443
51444         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
51445         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
51446         "underquoted definition of NAME" from autoconf-2.59.
51447
51448 2009-01-28  Bruno Haible  <bruno@clisp.org>
51449
51450         * doc/gnulib.texi: Add "Obsolete modules" to index.
51451
51452 2009-01-28  Jim Meyering  <meyering@redhat.com>
51453
51454         useless-if-before-free: recognize more variants
51455         * build-aux/useless-if-before-free: Also recognize e.g.,
51456         if (NULL != p) free (p);
51457
51458 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
51459
51460         test-getaddrinfo: skip (don't fail) this test when there's no network
51461         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
51462         on the presumption that it means you lack network access.
51463
51464 2009-01-26  Jim Meyering  <meyering@redhat.com>
51465
51466         fflush: avoid warnings on modern systems
51467         * lib/fflush.c (rpl_fflush): Move declarations of locals,
51468         pos and result, into scopes where they're used.
51469
51470 2009-01-26  Eric Blake  <ebb9@byu.net>
51471
51472         Silence warning reintroduced by recent extensions patch.
51473         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
51474         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
51475         autoconf.
51476
51477         Backport improved autoconf semantics of AC_DEFUN_ONCE.
51478         * m4/00gnulib.m4: New file.
51479         * gnulib-tool (func_get_filelist): Always use it.
51480         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
51481         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
51482
51483 2009-01-25  Bruno Haible  <bruno@clisp.org>
51484
51485         Make test-quotearg work on MacOS X and AIX.
51486         * tests/test-quotearg.sh: New file.
51487         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
51488         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
51489         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
51490         include <libintl.h>.
51491         (fake_locale): Remove variable.
51492         (gettext, dgettext, dcgettext): Remove functions.
51493         (main): Instead of setting a fake locale, set a real locale. Call
51494         textdomain and bindtextdomain.
51495         * modules/quotearg-tests (Files): Add the new files.
51496         (Depends-on): Add gettext, setenv, unsetenv.
51497         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
51498         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
51499         Augment TESTS_ENVIRONMENT.
51500
51501 2009-01-25  Bruno Haible  <bruno@clisp.org>
51502
51503         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
51504         fr_FR.ISO8859-1 locale on MacOS X.
51505         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
51506         ja_JP.eucJP locale on MacOS X.
51507         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
51508         zh_CN.GB18030 locale on MacOS X.
51509
51510 2009-01-25  Bruno Haible  <bruno@clisp.org>
51511
51512         Avoid link errors on MacOS X 10.3.
51513         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
51514         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
51515
51516 2009-01-25  Bruno Haible  <bruno@clisp.org>
51517
51518         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51519         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
51520         * modules/pipe (Files): Remove m4/posix_spawn.m4.
51521         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51522         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
51523         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51524         posix_spawnattr_init, posix_spawnattr_setsigmask,
51525         posix_spawnattr_setflags, posix_spawnattr_destroy.
51526
51527         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51528         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
51529         * modules/execute (Files): Remove m4/posix_spawn.m4.
51530         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51531         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51532         posix_spawnattr_init, posix_spawnattr_setsigmask,
51533         posix_spawnattr_setflags, posix_spawnattr_destroy.
51534
51535 2009-01-25  Bruno Haible  <bruno@clisp.org>
51536
51537         * lib/glthread/threadlib.c: Include <stdlib.h>.
51538
51539 2009-01-25  Bruno Haible  <bruno@clisp.org>
51540
51541         * lib/glthread/threadlib.c (dummy): New declaration.
51542
51543 2009-01-25  Bruno Haible  <bruno@clisp.org>
51544
51545         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
51546         multibyte characters also for the GB18030 encoding. Don't crash when
51547         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
51548
51549 2009-01-25  Bruno Haible  <bruno@clisp.org>
51550
51551         Avoid redefining 'struct random_data' on OSF/1 5.1.
51552         * lib/stdlib.in.h: Include <random.h> if it exists.
51553         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
51554         HAVE_RANDOM_H. Include <random.h> when testing whether
51555         'struct random_data' exists.
51556         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
51557
51558 2009-01-25  Bruno Haible  <bruno@clisp.org>
51559
51560         Don't install charset.alias on MacOS X >= 10.3.
51561         * lib/localcharset.c (DARWIN7): New macro.
51562         (get_charset_aliases): Hardcode the result for Darwin7.
51563         * modules/localcharset (install-exec-local): Don't install
51564         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
51565
51566 2009-01-25  Bruno Haible  <bruno@clisp.org>
51567
51568         Don't install charset.alias on mingw and Cygwin.
51569         * modules/localcharset (install-exec-local): Don't install
51570         charset.alias on mingw and Cygwin, if the file does not yet exist.
51571         The result for these platforms is hardcoded in localcharset.c.
51572
51573 2009-01-25  Bruno Haible  <bruno@clisp.org>
51574
51575         Make it possible again to use AC_GNU_SOURCE together with gnulib.
51576         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
51577         before requiring AC_USE_SYSTEM_EXTENSIONS.
51578
51579 2009-01-25  Jim Meyering  <meyering@redhat.com>
51580
51581         c-strtod: avoid warnings
51582         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
51583         "assignment discards qualifiers from pointer target type" warnings.
51584
51585 2009-01-24  Bruno Haible  <bruno@clisp.org>
51586
51587         Add support for non-UTF-8 locales on MacOS X.
51588         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
51589         canonical encodings. For Darwin 7 and newer, don't map traditional
51590         encodings to UTF-8.
51591         Reported by Vincent Lefevre <vincent@vinc17.org>
51592         at <http://savannah.gnu.org/bugs/?25235>.
51593
51594 2009-01-24  Bruno Haible  <bruno@clisp.org>
51595
51596         * doc/gnulib.texi (Obsolete modules): New section.
51597         Reported by Mike Frysinger <vapier@gentoo.org>.
51598
51599 2009-01-24  Bruno Haible  <bruno@clisp.org>
51600
51601         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
51602         (%.dvi): New rule.
51603
51604 2009-01-24  Bruno Haible  <bruno@clisp.org>
51605
51606         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
51607         Reported by Eric Blake.
51608
51609 2009-01-24  Bruno Haible  <bruno@clisp.org>
51610
51611         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
51612         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
51613         Reported by Gary V. Vaughan <gary@gnu.org>.
51614
51615 2009-01-24  Bruno Haible  <bruno@clisp.org>
51616
51617         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
51618
51619 2009-01-23  Bruno Haible  <bruno@clisp.org>
51620
51621         Make c-strtod, c-strtold usable in libraries.
51622         * lib/c-strtod.c: Include string.h instead of xalloc.h.
51623         (C_STRTOD): Call strdup instead of xstrdup.
51624         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
51625         * modules/c-strtold (Depends-on): Likewise.
51626         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
51627         * NEWS: Mention the change.
51628         Reported by Michael Gold <mgold@ncf.ca>.
51629
51630 2009-01-23  Jim Meyering  <meyering@redhat.com>
51631
51632         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
51633         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
51634         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
51635
51636 2009-01-23  Simon Josefsson  <simon@josefsson.org>
51637
51638         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
51639         GNU CoreUtils.
51640         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
51641         * modules/version-etc (Description): Update.
51642
51643 2009-01-22  Bruno Haible  <bruno@clisp.org>
51644
51645         Cache the C locale object.
51646         * lib/c-strtod.c (c_locale_cache): New variable.
51647         (c_locale): New function.
51648         (C_STRTOD): Use it, and don't call freelocale.
51649         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
51650         Suggested by Paolo Bonzini.
51651
51652 2009-01-21  Bruno Haible  <bruno@clisp.org>
51653
51654         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
51655         conditions other than overflow.
51656
51657 2009-01-21  Bruno Haible  <bruno@clisp.org>
51658
51659         * lib/c-strtod.c: Include errno.h.
51660         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
51661         value from STRTOD_L and STRTOD.
51662
51663 2009-01-21  Bruno Haible  <bruno@clisp.org>
51664         and Jim Meyering  <meyering@redhat.com>
51665
51666         nanosleep: skip configure test (fail it) for apple universal builds
51667         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
51668         universal builds, assume that nanosleep does not work.
51669         * modules/nanosleep (Depends-on): Add multiarch.
51670
51671         mktime: skip configure test (fail it) for apple universal builds
51672         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
51673         universal builds, assume that mktime does not work.
51674         * modules/mktime (Depends-on): Add multiarch.
51675
51676 2009-01-21  Eric Blake  <ebb9@byu.net>
51677
51678         multiarch: avoid expand-before-require warning
51679         * modules/multiarch (configure.ac): Require, rather than expand,
51680         gl_MULTIARCH.
51681         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
51682         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
51683         enforce that all clients require it.  Partial reversion of
51684         2008-12-29 patch.
51685
51686         error: avoid expand-before-require warning
51687         * modules/errno (configure.ac): Require, rather than expand,
51688         gl_HEADER_ERRNO_H.
51689         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
51690         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
51691         enforce that all clients require it.
51692
51693         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
51694         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
51695         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
51696         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
51697
51698 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
51699
51700         Revert:
51701         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
51702
51703         regex: do not depend on obsolete modules.
51704         * modules/regex: Remove memcmp and memmove.
51705
51706 2009-01-20  Bruno Haible  <bruno@clisp.org>
51707
51708         Make the 'link' module link on Windows NT 4.
51709         * lib/link.c (_WIN32_WINNT): Don't define.
51710         (CreateHardLinkFuncType): New type.
51711         (CreateHardLinkFunc, initialized): New variables.
51712         (initialize): New function.
51713         (link): Invoke CreateHardLink indirectly through the function pointer.
51714
51715 2009-01-20  Bruno Haible  <bruno@clisp.org>
51716
51717         Fix compilation failure on mingw.
51718         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
51719
51720 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
51721
51722         * doc/c-strtod.texi: Mention a couple of restrictions.
51723
51724 2009-01-20  Jim Meyering  <meyering@redhat.com>
51725
51726         gettimeofday: move more declarations out of functions
51727         * lib/gettimeofday.c: Move extern declarations of tzset and
51728         gmtime out of containing functions.  Prompted by Bruno Haible.
51729
51730 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
51731
51732         regex: do not depend on obsolete modules.
51733         * modules/regex: Remove memcmp and memmove.
51734
51735 2009-01-19  Bruno Haible  <bruno@clisp.org>
51736
51737         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
51738         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
51739         gl_BIGENDIAN, not AC_C_BIGENDIAN.
51740         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
51741         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
51742
51743 2009-01-19  Bruno Haible  <bruno@clisp.org>
51744
51745         * tests/test-link.c: Include <errno.h>.
51746         (main): Exit with code 77 when a hard link cannot be created due to
51747         the file system.
51748         * tests/test-link.sh: Skip test when a hard link cannot be created due
51749         to the file system.
51750         Suggested by Eric Blake.
51751
51752 2009-01-19  Martin Lambers  <marlam@marlam.de>
51753
51754         * modules/link-tests: New file.
51755         * tests/test-link.sh: New file.
51756         * tests/test-link.c: New file.
51757
51758 2009-01-19  Eric Blake  <ebb9@byu.net>
51759
51760         doc: mention another function added in cygwin 1.7.0
51761         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
51762         Another new function in cygwin 1.7.
51763
51764 2009-01-19  Bruno Haible  <bruno@clisp.org>
51765
51766         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
51767         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
51768         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
51769         gl_BIGENDIAN, not AC_C_BIGENDIAN.
51770         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
51771         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
51772         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
51773         * m4/md4.m4 (gl_MD4): Likewise.
51774         * m4/md5.m4 (gl_MD5): Likewise.
51775         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
51776         * m4/sha1.m4 (gl_SHA1): Likewise.
51777         * m4/sha256.m4 (gl_SHA256): Likewise.
51778         * m4/sha512.m4 (gl_SHA512): Likewise.
51779
51780 2009-01-19  Bruno Haible  <bruno@clisp.org>
51781
51782         * modules/uniname/uniname-tests (Depends-on): Add progname.
51783         * tests/uniname/test-uninames.c: Include progname.h.
51784         (main): Call set_program_name.
51785
51786         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
51787         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
51788         (main): Call set_program_name.
51789
51790         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
51791         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
51792         (main): Call set_program_name.
51793
51794         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
51795         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
51796         (main): Call set_program_name.
51797
51798         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
51799         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
51800         (main): Call set_program_name.
51801
51802         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
51803         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
51804         (main): Call set_program_name.
51805
51806         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
51807         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
51808         (main): Call set_program_name.
51809
51810         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
51811         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
51812         (main): Call set_program_name.
51813
51814         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
51815         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
51816         (main): Call set_program_name.
51817
51818 2009-01-19  Eric Blake  <ebb9@byu.net>
51819
51820         test-unistd: test previous patch
51821         * tests/test-unistd.c: Test *_FILENO macros.
51822
51823         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
51824         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51825         Guarantee a definition.
51826         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
51827         * modules/unistd-safer (Depends-on): Add dependency on unistd.
51828         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
51829         * lib/dup-safer.c (STDERR_FILENO): Likewise.
51830         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51831         Likewise.
51832         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
51833         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
51834         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
51835         Likewise.
51836         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
51837         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
51838         (STDERR_FILENO): Likewise.
51839         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
51840         (STDERR_FILENO): Likewise.
51841         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
51842         (STDERR_FILENO): Likewise.
51843         Reported by Elbert Pol.
51844
51845 2009-01-19  Eric Blake  <ebb9@byu.net>
51846
51847         doc: mention more functions added in cygwin 1.7.0
51848         * doc/posix-functions/abort.texi (abort): Update wording related
51849         to cygwin.
51850         * doc/posix-functions/daylight.texi (daylight): Likewise.
51851         * doc/posix-functions/optarg.texi (optarg): Likewise.
51852         * doc/posix-functions/optarg.texi (opterr): Likewise.
51853         * doc/posix-functions/optarg.texi (optind): Likewise.
51854         * doc/posix-functions/optarg.texi (optopt): Likewise.
51855         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
51856         worked in 1.5.x, and was withdrawn in 1.7.
51857         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
51858         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
51859         cygwin versions.
51860         * doc/posix-functions/perror.texi (perror): Likewise.
51861         * doc/posix-functions/printf.texi (printf): Likewise.
51862         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
51863         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
51864         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
51865         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
51866         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
51867         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
51868         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
51869         Likewise.
51870         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
51871         Likewise.
51872         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
51873         this function.
51874         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
51875         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
51876         Likewise.
51877         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
51878         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
51879         * doc/posix-functions/confstr.texi (confstr): Likewise.
51880         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
51881         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
51882         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
51883         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
51884         * doc/posix-functions/fputws.texi (fputws): Likewise.
51885         * doc/posix-functions/fwide.texi (fwide): Likewise.
51886         * doc/posix-functions/getwc.texi (getwc): Likewise.
51887         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
51888         * doc/posix-functions/putwc.texi (putwc): Likewise.
51889         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
51890         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
51891         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
51892         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
51893         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
51894         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
51895         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
51896         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
51897         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
51898         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
51899         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
51900
51901 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
51902
51903         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
51904         * lib/ioctl.c: Include <sys/ioctl.h>.
51905
51906 2009-01-19  Simon Josefsson  <simon@josefsson.org>
51907
51908         * modules/getdate-tests (Depends-on): Add progname.
51909         * tests/test-getdate.c: Use progname module, to avoid link errors
51910         on non-glibc systems.
51911
51912 2009-01-18  Simon Josefsson  <simon@josefsson.org>
51913
51914         * modules/filenamecat-tests (Depends-on): Add progname.
51915         * modules/fstrcmp-tests (Depends-on): Likewise.
51916
51917         * tests/test-filenamecat.c: Use progname module, to avoid link
51918         errors on non-glibc systems.
51919         * tests/test-fstrcmp.c: Likewise.
51920
51921 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
51922
51923         gettimeofday: avoid warning: nested extern declaration of 'localtime'
51924         * lib/gettimeofday.c: Move extern declaration out of function.
51925
51926 2009-01-18  Bruno Haible  <bruno@clisp.org>
51927
51928         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
51929         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
51930         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
51931
51932 2009-01-18  Bruno Haible  <bruno@clisp.org>
51933
51934         * lib/strftime.c (MEMPCPY): Remove unused macro.
51935         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
51936
51937 2009-01-18  Martin Lambers  <marlam@marlam.de>
51938
51939         New module 'link'.
51940         * lib/unistd.in.h (link): New declaration.
51941         * lib/link.c: New file.
51942         * m4/link.m4: New file.
51943         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
51944         HAVE_LINK.
51945         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
51946         * modules/link: New file.
51947         * doc/posix-functions/link.texi: Mention the new module.
51948
51949 2009-01-18  Bruno Haible  <bruno@clisp.org>
51950
51951         * tests/test-avltree_list.c (main): Call set_program_name.
51952         * tests/test-avltree_oset.c (main): Likewise.
51953         * tests/test-obstack-printf.c: Include progname.h.
51954         (main): Call set_program_name.
51955         * tests/test-quotearg.c: Include progname.h.
51956         (main): Call set_program_name.
51957         * tests/test-xmemdup0.c: Include progname.h.
51958         (main): Call set_program_name.
51959
51960 2009-01-18  Bruno Haible  <bruno@clisp.org>
51961
51962         New module 'alphasort'.
51963         * lib/dirent.in.h (alphasort): New declaration.
51964         * lib/alphasort.c: New file, from glibc with modifications.
51965         * m4/alphasort.m4: New file.
51966         * modules/alphasort: New file.
51967         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
51968         HAVE_ALPHASORT.
51969         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
51970         HAVE_ALPHASORT.
51971         * doc/posix-functions/alphasort.texi: Mention the new module and the
51972         portability problems.
51973
51974 2009-01-18  Bruno Haible  <bruno@clisp.org>
51975
51976         New module 'scandir'.
51977         * lib/dirent.in.h (scandir): New declaration.
51978         * lib/scandir.c: New file, from glibc with modifications.
51979         * m4/scandir.m4: New file.
51980         * modules/scandir: New file.
51981         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
51982         HAVE_SCANDIR.
51983         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
51984         HAVE_SCANDIR.
51985         * doc/posix-functions/scandir.texi: Mention the new module and the
51986         portability problems.
51987
51988 2009-01-17  Bruno Haible  <bruno@clisp.org>
51989
51990         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
51991         Update documentation.
51992         (func_remove_suffix): Escape all dots in the suffix. Update
51993         documentation.
51994         (func_filter_filelist): Update documentation.
51995         Reported by Ralf Wildenhues.
51996
51997 2009-01-17  Bruno Haible  <bruno@clisp.org>
51998
51999         * modules/dprintf-posix-tests: New file.
52000         * tests/test-dprintf-posix.sh: New file.
52001         * tests/test-dprintf-posix.c: New file.
52002
52003         New modules 'dprintf', 'dprintf-posix'.
52004         * lib/stdio.in.h (dprintf): New declaration.
52005         * lib/dprintf.c: New file.
52006         * m4/dprintf.m4: New file.
52007         * m4/dprintf-posix.m4: New file.
52008         * modules/dprintf: New file.
52009         * modules/dprintf-posix: New file.
52010         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
52011         HAVE_DPRINTF, REPLACE_DPRINTF.
52012         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
52013         HAVE_DPRINTF, REPLACE_DPRINTF.
52014         * doc/posix-functions/dprintf.texi: Mention the new modules.
52015
52016 2009-01-17  Bruno Haible  <bruno@clisp.org>
52017
52018         * modules/vdprintf-posix-tests: New file.
52019         * tests/test-vdprintf-posix.sh: New file.
52020         * tests/test-vdprintf-posix.c: New file.
52021
52022         New modules 'vdprintf', 'vdprintf-posix'.
52023         * lib/stdio.in.h (vdprintf): New declaration.
52024         * lib/vdprintf.c: New file.
52025         * m4/vdprintf.m4: New file.
52026         * m4/vdprintf-posix.m4: New file.
52027         * modules/vdprintf: New file.
52028         * modules/vdprintf-posix: New file.
52029         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
52030         HAVE_VDPRINTF, REPLACE_VDPRINTF.
52031         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
52032         HAVE_VDPRINTF, REPLACE_VDPRINTF.
52033         * doc/posix-functions/vdprintf.texi: Mention the new modules.
52034
52035 2009-01-17  Bruno Haible  <bruno@clisp.org>
52036
52037         Fix replacement of fopen on mingw.
52038         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
52039         mingw.
52040
52041 2009-01-17  Bruno Haible  <bruno@clisp.org>
52042
52043         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
52044         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
52045
52046 2009-01-17  Bruno Haible  <bruno@clisp.org>
52047
52048         Avoid test-fflush2.sh failure on mingw.
52049         * tests/test-fflush2.c: Include binary-io.h.
52050         (main): Put standard input into binary mode.
52051         * modules/fflush-tests (Depends-on): Add binary-io.
52052
52053 2009-01-17  Bruno Haible  <bruno@clisp.org>
52054
52055         * lib/wchar.in.h: In another particular situation, include only the
52056         system's <wchar.h> file.
52057         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
52058         Reported by Albert Chin-A-Young <china@thewrittenword.com>
52059         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
52060
52061 2009-01-17  Bruno Haible  <bruno@clisp.org>
52062
52063         Support for stripping executables in --enable-relocatable.
52064         * build-aux/install-reloc: Expect one more argument, or an environment
52065         variable RELOC_STRIP_PROG. If set, strip the destination program and
52066         its wrapper.
52067         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
52068         RELOC_STRIP_PROG.
52069         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
52070         to set RELOCATABLE_STRIP.
52071         * NEWS: Mention the new Makefile requirement.
52072
52073 2009-01-17  Bruno Haible  <bruno@clisp.org>
52074
52075         * build-aux/install-reloc: Remove debugging information left over by
52076         C compiler on MacOS X.
52077
52078 2009-01-17  Bruno Haible  <bruno@clisp.org>
52079
52080         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
52081         * lib/progreloc.c (find_executable): Fix type of pointer passed to
52082         _NSGetExecutablePath.
52083
52084 2009-01-16  Jim Meyering  <meyering@redhat.com>
52085
52086         strerror: avoid warnings about discarding "const"
52087         * lib/strerror.c (rpl_strerror): Instead of returning a const
52088         string from each and every "case", use a variable, and add a single
52089         cast after the switch.
52090
52091 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
52092
52093         * lib/arpa_inet.in.h: Add extern "C" block for C++.
52094
52095 2009-01-16  Bruno Haible  <bruno@clisp.org>
52096
52097         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
52098         array initializer syntax that also works in C++ mode.
52099         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52100
52101 2009-01-16  Jim Meyering  <meyering@redhat.com>
52102
52103         poll: suppress a warning
52104         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
52105         to ignore "...unsigned expression < 0 is always false" warnings.
52106
52107 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
52108
52109         poll: remove declarations of unused variables
52110         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
52111         sockbuf and optlen.
52112
52113 2009-01-15  Bruno Haible  <bruno@clisp.org>
52114
52115         Make fflush-after-ungetc POSIX compliant on BSD systems.
52116         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
52117         (clear_ungetc_buffer): Implement also for other systems.
52118         (rpl_fflush): On glibc systems, invoke
52119         clear_ungetc_buffer_preserving_position. Otherwise, invoke
52120         clear_ungetc_buffer after fetching the stream's position, not before.
52121
52122 2009-01-15  Bruno Haible  <bruno@clisp.org>
52123
52124         Make fflush-after-ungetc POSIX compliant on glibc systems.
52125         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
52126         after ungetc.
52127         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
52128         (rpl_fflush): On glibc systems, simply call the system's fflush
52129         function after clearing the ungetc buffer.
52130         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
52131         Instead, lseek only to the end of file, then use the system's fseeko
52132         for the rest. On glibc systems, reset the EOF indicator bit.
52133
52134 2009-01-15  Jim Meyering  <meyering@redhat.com>
52135
52136         openmp.m4: revert quote-adding change, for portability to older autoconf
52137         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
52138         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
52139         Simon Josefsson noticed the problem when using autoconf-2.61.
52140
52141 2009-01-15  Bruno Haible  <bruno@clisp.org>
52142
52143         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
52144         * tests/test-fflush2.c (ASSERT): Always fail.
52145         (main): Add two tests for fflush() after ungetc(), taking into account
52146         the Austin Group's clarification.
52147         Suggested by Eric Blake.
52148
52149 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
52150
52151         mktime.m4: remove K&R-style function prototypes
52152         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
52153         for the Sun C++ compiler.
52154
52155 2009-01-14  Bruno Haible  <bruno@clisp.org>
52156
52157         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
52158         while including <wchar.h>.
52159         * lib/wchar.in.h: In two particular situations on HP-UX, include only
52160         the system's <wchar.h> file.
52161         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52162
52163 2009-01-14  Bruno Haible  <bruno@clisp.org>
52164
52165         * m4/csharp.m4: Don't mention gettext on the serial number line.
52166         * m4/csharpexec.m4: Likewise.
52167         * m4/eaccess.m4: Likewise.
52168         * m4/javaexec.m4: Likewise.
52169         * m4/sig_atomic_t.m4: Likewise.
52170         * m4/tmpdir.m4: Likewise.
52171         * m4/intldir.m4: Bump gettext version.
52172         * m4/lib-ld.m4: Likewise.
52173
52174 2009-01-14  Bruno Haible  <bruno@clisp.org>
52175
52176         * lib/progname.c (set_program_name): Add more comments.
52177         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
52178
52179 2009-01-14  Simon Josefsson  <simon@josefsson.org>
52180
52181         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
52182         were sys/stat.h does not define it.
52183
52184 2009-01-14  Jim Meyering  <meyering@redhat.com>
52185
52186         many *.m4 files: improve m4 quoting
52187         99% of this change was performed by running the following commands:
52188         git ls-files | grep '\.m4$' | xargs perl -pi \
52189           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
52190           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52191           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52192           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
52193         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
52194         The remainder were to add Copyright dates, increment serial numbers,
52195         undo some changes in comments, exclude m4/intl.m4, and add quotes
52196         around the "1" in ",1" where the unusual spacing prohibited the
52197         above regexps from doing the job.  For more details, see
52198         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
52199         * m4/acl.m4: Modified.
52200         * m4/afs.m4: Likewise.
52201         * m4/alloca.m4: Likewise.
52202         * m4/argp.m4: Likewise.
52203         * m4/argz.m4: Likewise.
52204         * m4/atexit.m4: Likewise.
52205         * m4/bison-i18n.m4: Likewise.
52206         * m4/bison.m4: Likewise.
52207         * m4/byteswap.m4: Likewise.
52208         * m4/c-stack.m4: Likewise.
52209         * m4/c-strtod.m4: Likewise.
52210         * m4/calloc.m4: Likewise.
52211         * m4/canonicalize-lgpl.m4: Likewise.
52212         * m4/chown.m4: Likewise.
52213         * m4/clock_time.m4: Likewise.
52214         * m4/codeset.m4: Likewise.
52215         * m4/copy-file.m4: Likewise.
52216         * m4/csharp.m4: Likewise.
52217         * m4/csharpcomp.m4: Likewise.
52218         * m4/csharpexec.m4: Likewise.
52219         * m4/d-ino.m4: Likewise.
52220         * m4/d-type.m4: Likewise.
52221         * m4/dirfd.m4: Likewise.
52222         * m4/double-slash-root.m4: Likewise.
52223         * m4/eaccess.m4: Likewise.
52224         * m4/eealloc.m4: Likewise.
52225         * m4/environ.m4: Likewise.
52226         * m4/errno_h.m4: Likewise.
52227         * m4/euidaccess.m4: Likewise.
52228         * m4/execute.m4: Likewise.
52229         * m4/fatal-signal.m4: Likewise.
52230         * m4/fchdir.m4: Likewise.
52231         * m4/fcntl_h.m4: Likewise.
52232         * m4/fileblocks.m4: Likewise.
52233         * m4/filenamecat.m4: Likewise.
52234         * m4/findprog.m4: Likewise.
52235         * m4/flexmember.m4: Likewise.
52236         * m4/fnmatch.m4: Likewise.
52237         * m4/fopen.m4: Likewise.
52238         * m4/fpending.m4: Likewise.
52239         * m4/fprintf-posix.m4: Likewise.
52240         * m4/free.m4: Likewise.
52241         * m4/frexp.m4: Likewise.
52242         * m4/frexpl.m4: Likewise.
52243         * m4/fsusage.m4: Likewise.
52244         * m4/ftruncate.m4: Likewise.
52245         * m4/gc-camellia.m4: Likewise.
52246         * m4/gc-random.m4: Likewise.
52247         * m4/gc.m4: Likewise.
52248         * m4/getaddrinfo.m4: Likewise.
52249         * m4/getcwd-abort-bug.m4: Likewise.
52250         * m4/getcwd-path-max.m4: Likewise.
52251         * m4/getdate.m4: Likewise.
52252         * m4/getdomainname.m4: Likewise.
52253         * m4/getgroups.m4: Likewise.
52254         * m4/gethostname.m4: Likewise.
52255         * m4/gethrxtime.m4: Likewise.
52256         * m4/getline.m4: Likewise.
52257         * m4/getloadavg.m4: Likewise.
52258         * m4/getndelim2.m4: Likewise.
52259         * m4/getpass.m4: Likewise.
52260         * m4/gettext.m4: Likewise.
52261         * m4/gettime.m4: Likewise.
52262         * m4/gettimeofday.m4: Likewise.
52263         * m4/gnulib-common.m4: Likewise.
52264         * m4/group-member.m4: Likewise.
52265         * m4/host-os.m4: Likewise.
52266         * m4/iconv.m4: Likewise.
52267         * m4/iconv_open.m4: Likewise.
52268         * m4/inet_ntop.m4: Likewise.
52269         * m4/inet_pton.m4: Likewise.
52270         * m4/inline.m4: Likewise.
52271         * m4/intldir.m4: Likewise.
52272         * m4/intlmacosx.m4: Likewise.
52273         * m4/intmax.m4: Likewise.
52274         * m4/intmax_t.m4: Likewise.
52275         * m4/inttypes.m4: Likewise.
52276         * m4/inttypes_h.m4: Likewise.
52277         * m4/inttypes-pri.m4: Likewise.
52278         * m4/isapipe.m4: Likewise.
52279         * m4/isnand.m4: Likewise.
52280         * m4/isnanf.m4: Likewise.
52281         * m4/isnanl.m4: Likewise.
52282         * m4/javacomp.m4: Likewise.
52283         * m4/javaexec.m4: Likewise.
52284         * m4/jm-winsz1.m4: Likewise.
52285         * m4/jm-winsz2.m4: Likewise.
52286         * m4/lchown.m4: Likewise.
52287         * m4/lcmessage.m4: Likewise.
52288         * m4/ldexpl.m4: Likewise.
52289         * m4/lib-ld.m4: Likewise.
52290         * m4/lib-link.m4: Likewise.
52291         * m4/libsigsegv.m4: Likewise.
52292         * m4/link-follow.m4: Likewise.
52293         * m4/localcharset.m4: Likewise.
52294         * m4/locale-fr.m4: Likewise.
52295         * m4/locale-ja.m4: Likewise.
52296         * m4/locale-tr.m4: Likewise.
52297         * m4/locale-zh.m4: Likewise.
52298         * m4/lock.m4: Likewise.
52299         * m4/longlong.m4: Likewise.
52300         * m4/ls-mntd-fs.m4: Likewise.
52301         * m4/lstat.m4: Likewise.
52302         * m4/malloc.m4: Likewise.
52303         * m4/mathl.m4: Likewise.
52304         * m4/mbrtowc.m4: Likewise.
52305         * m4/mbstate_t.m4: Likewise.
52306         * m4/mbswidth.m4: Likewise.
52307         * m4/memchr.m4: Likewise.
52308         * m4/memcmp.m4: Likewise.
52309         * m4/memcpy.m4: Likewise.
52310         * m4/memmem.m4: Likewise.
52311         * m4/memmove.m4: Likewise.
52312         * m4/mempcpy.m4: Likewise.
52313         * m4/memrchr.m4: Likewise.
52314         * m4/memset.m4: Likewise.
52315         * m4/minmax.m4: Likewise.
52316         * m4/mkdir-slash.m4: Likewise.
52317         * m4/mkdtemp.m4: Likewise.
52318         * m4/mktime.m4: Likewise.
52319         * m4/mmap-anon.m4: Likewise.
52320         * m4/mountlist.m4: Likewise.
52321         * m4/nanosleep.m4: Likewise.
52322         * m4/nls.m4: Likewise.
52323         * m4/nocrash.m4: Likewise.
52324         * m4/open.m4: Likewise.
52325         * m4/openat.m4: Likewise.
52326         * m4/openmp.m4: Likewise.
52327         * m4/pathmax.m4: Likewise.
52328         * m4/perl.m4: Likewise.
52329         * m4/physmem.m4: Likewise.
52330         * m4/pipe.m4: Likewise.
52331         * m4/po.m4: Likewise.
52332         * m4/poll.m4: Likewise.
52333         * m4/posixtm.m4: Likewise.
52334         * m4/posixver.m4: Likewise.
52335         * m4/printf-frexp.m4: Likewise.
52336         * m4/printf-frexpl.m4: Likewise.
52337         * m4/printf-posix.m4: Likewise.
52338         * m4/printf-posix-rpl.m4: Likewise.
52339         * m4/printf.m4: Likewise.
52340         * m4/progtest.m4: Likewise.
52341         * m4/putenv.m4: Likewise.
52342         * m4/readline.m4: Likewise.
52343         * m4/readlink.m4: Likewise.
52344         * m4/readutmp.m4: Likewise.
52345         * m4/realloc.m4: Likewise.
52346         * m4/regex.m4: Likewise.
52347         * m4/relocatable.m4: Likewise.
52348         * m4/relocatable-lib.m4: Likewise.
52349         * m4/rename-dest-slash.m4: Likewise.
52350         * m4/rename.m4: Likewise.
52351         * m4/rmdir-errno.m4: Likewise.
52352         * m4/rmdir.m4: Likewise.
52353         * m4/roundf.m4: Likewise.
52354         * m4/roundl.m4: Likewise.
52355         * m4/rpmatch.m4: Likewise.
52356         * m4/save-cwd.m4: Likewise.
52357         * m4/selinux-selinux-h.m4: Likewise.
52358         * m4/setenv.m4: Likewise.
52359         * m4/settime.m4: Likewise.
52360         * m4/sig2str.m4: Likewise.
52361         * m4/sig_atomic_t.m4: Likewise.
52362         * m4/signalblocking.m4: Likewise.
52363         * m4/signbit.m4: Likewise.
52364         * m4/sigpipe.m4: Likewise.
52365         * m4/sockets.m4: Likewise.
52366         * m4/sockpfaf.m4: Likewise.
52367         * m4/st_dm_mode.m4: Likewise.
52368         * m4/stat-time.m4: Likewise.
52369         * m4/stdbool.m4: Likewise.
52370         * m4/stdint.m4: Likewise.
52371         * m4/stdint_h.m4: Likewise.
52372         * m4/stpcpy.m4: Likewise.
52373         * m4/stpncpy.m4: Likewise.
52374         * m4/strcase.m4: Likewise.
52375         * m4/strchrnul.m4: Likewise.
52376         * m4/strcspn.m4: Likewise.
52377         * m4/strdup.m4: Likewise.
52378         * m4/strftime.m4: Likewise.
52379         * m4/strndup.m4: Likewise.
52380         * m4/strnlen.m4: Likewise.
52381         * m4/strpbrk.m4: Likewise.
52382         * m4/strptime.m4: Likewise.
52383         * m4/strsep.m4: Likewise.
52384         * m4/strtod.m4: Likewise.
52385         * m4/strtoimax.m4: Likewise.
52386         * m4/strtok_r.m4: Likewise.
52387         * m4/strtol.m4: Likewise.
52388         * m4/strtoll.m4: Likewise.
52389         * m4/strtoul.m4: Likewise.
52390         * m4/strtoull.m4: Likewise.
52391         * m4/strtoumax.m4: Likewise.
52392         * m4/strverscmp.m4: Likewise.
52393         * m4/threadlib.m4: Likewise.
52394         * m4/timegm.m4: Likewise.
52395         * m4/tm_gmtoff.m4: Likewise.
52396         * m4/tmpdir.m4: Likewise.
52397         * m4/tmpfile.m4: Likewise.
52398         * m4/tzset.m4: Likewise.
52399         * m4/uintmax_t.m4: Likewise.
52400         * m4/unlinkdir.m4: Likewise.
52401         * m4/unlocked-io.m4: Likewise.
52402         * m4/uptime.m4: Likewise.
52403         * m4/userspec.m4: Likewise.
52404         * m4/utimbuf.m4: Likewise.
52405         * m4/utime.m4: Likewise.
52406         * m4/utimes-null.m4: Likewise.
52407         * m4/utimes.m4: Likewise.
52408         * m4/vararrays.m4: Likewise.
52409         * m4/vasnprintf.m4: Likewise.
52410         * m4/vfprintf-posix.m4: Likewise.
52411         * m4/vprintf-posix.m4: Likewise.
52412         * m4/wait-process.m4: Likewise.
52413         * m4/wchar_t.m4: Likewise.
52414         * m4/wint_t.m4: Likewise.
52415         * m4/write-any-file.m4: Likewise.
52416         * m4/yield.m4: Likewise.
52417
52418 2009-01-13  Bruno Haible  <bruno@clisp.org>
52419
52420         Avoid test-copy-file.sh failures when ACL support insufficient.
52421         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
52422         TESTS_ENVIRONMENT.
52423         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
52424         Reported by Jim Meyering.
52425
52426 2009-01-13  Bruno Haible  <bruno@clisp.org>
52427
52428         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
52429         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
52430         * modules/unistdio/u8-printf-parse (Files): Likewise.
52431         * modules/unistdio/u32-printf-parse (Files): Likewise.
52432         * modules/unistdio/ulc-printf-parse (Files): Likewise.
52433
52434 2009-01-13  Simon Josefsson  <simon@josefsson.org>
52435
52436         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
52437         and m4/inttypes_h.m4 too.
52438
52439 2009-01-12  Eric Blake  <ebb9@byu.net>
52440
52441         tests: IRIX 6.2 cc can't compile -0.0 into .data
52442         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
52443         rather than at compile-time.
52444         * tests/test-floorl.c (minus_zero): Likewise.
52445         * tests/test-frexpl.c (minus_zero): Likewise.
52446         * tests/test-isnan.c (minus_zerol): Likewise.
52447         * tests/test-isnanl.h (minus_zero): Likewise.
52448         * tests/test-ldexpl.c (minus_zero): Likewise.
52449         * tests/test-roundl.c (minus_zero): Likewise.
52450         * tests/test-signbit.c (minus_zerol): Likewise.
52451         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
52452         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
52453         * tests/test-truncl.c (minus_zero): Likewise.
52454         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
52455         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
52456         Reported by Tom G. Christensen and Nelson H. F. Beebe.
52457
52458 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52459
52460         regex: fix glibc bug 9697
52461         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
52462         handling.
52463
52464 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52465
52466         regex: fix glibc bug 697
52467         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
52468         being NULL also if there are no backreferences.
52469
52470 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52471
52472         regex: merge glibc changes
52473         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
52474         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
52475         re_string_skip_chars, re_string_reconstruct): Likewise.
52476         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
52477
52478 2009-01-07  Jim Meyering  <meyering@redhat.com>
52479
52480         poll: filter through cppi
52481         * lib/poll.c: Indent cpp directives to reflect nesting.
52482
52483 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
52484
52485         poll: don't return uninitialized
52486         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
52487
52488 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
52489
52490         avoid compile failure on AIX 6.1
52491         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
52492         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
52493
52494 2009-01-04  Jim Meyering  <meyering@redhat.com>
52495
52496         remove duplicate inclusion of <stdio.h>
52497         * tests/test-fprintf-posix.c: Likewise.
52498         * tests/test-printf-posix.c: Likewise.
52499         * tests/test-snprintf-posix.c: Likewise.
52500         * tests/test-sprintf-posix.c: Likewise.
52501         * tests/test-vasprintf-posix.c: Likewise.
52502         * tests/test-vfprintf-posix.c: Likewise.
52503         * tests/test-vprintf-posix.c: Likewise.
52504         * tests/test-vsnprintf-posix.c: Likewise.
52505         * tests/test-vsprintf-posix.c: Likewise.
52506
52507 2009-01-03  Jim Meyering  <meyering@redhat.com>
52508
52509         gnulib-tool: fix sed-based filtering
52510         * gnulib-tool (func_filter_filelist): Remove extra backslash
52511         in sed_fff_filter definition.
52512
52513 2009-01-02  Jim Meyering  <meyering@redhat.com>
52514
52515         strftime: avoid compilation failure on Solaris 2.6
52516         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
52517         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
52518         Don't #define mbrlen or mbsinit, since now they're guaranteed to
52519         be available.  Reported by Tom G. Christensen.  Details in
52520         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
52521
52522 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52523             Bruno Haible  <bruno@clisp.org>
52524
52525         Speed up gnulib-tool by doing more string processing through shell
52526         built-ins.
52527         * gnulib-tool (fast_func_append): New variable.
52528         (func_remove_prefix, func_remove_suffix): New functions.
52529         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
52530         (func_filter_filelist): New function.
52531         (func_get_dependencies): Use func_remove_suffix instead of sed.
52532         (func_get_automake_snippet): Use func_filter_filelist instead of a
52533         subshell and sed invocation.
52534
52535 2009-01-01  Bruno Haible  <bruno@clisp.org>
52536
52537         Fix a security bug.
52538         * gnulib-tool (func_import, import, update): Don't allow the characters
52539         '"', '$', '`', '\' in macro arguments that become part of commands that
52540         are evaluated.
52541
52542 2009-01-01  Bruno Haible  <bruno@clisp.org>
52543
52544         * gnulib-tool (func_reset_sigpipe): Add more comments.
52545
52546 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52547
52548         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
52549         func_emit_tests_Makefile_am, func_import): Abort loops early if we
52550         already know the answer.
52551
52552 2009-01-01  Jim Meyering  <meyering@redhat.com>
52553
52554         * lib/version-etc.c (version_etc_va): Update copyright year.
52555
52556 2008-12-30  Bruno Haible  <bruno@clisp.org>
52557
52558         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
52559         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
52560         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
52561
52562 2008-12-29  Eric Blake  <ebb9@byu.net>
52563
52564         multiarch: avoid autoconf AC_REQUIRE bug
52565         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
52566         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
52567         2.63 and older.
52568         Reported by Bruno Haible, and analyzed in
52569         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
52570
52571 2008-12-29  Bruno Haible  <bruno@clisp.org>
52572
52573         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
52574         files in subdirectories correctly.
52575         Reported by Ralf Wildenhues.
52576
52577 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52578
52579         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
52580         rather than 'join FILE -', for Solaris join.
52581
52582 2008-12-29  Bruno Haible  <bruno@clisp.org>
52583
52584         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
52585         quoting.
52586         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
52587         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
52588         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
52589         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
52590         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
52591         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
52592         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
52593         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
52594         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
52595         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
52596         * m4/nls.m4 (AM_NLS): Likewise.
52597         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
52598         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
52599         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
52600         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
52601         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
52602         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
52603         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
52604         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
52605         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
52606         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
52607         * m4/xsize.m4 (gl_XSIZE): Likewise.
52608         Suggested by Jim Meyering.
52609
52610 2008-11-17  Bruce Korb  <bkorb@gnu.org>
52611
52612         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
52613         * lib/parse-duration.c: use a switch instead of cascading if's.
52614
52615 2008-12-29  Eric Blake  <ebb9@byu.net>
52616
52617         wchar.h: supply WEOF on Irix 5.3
52618         * lib/wchar.in.h (wint_t): Also supply WEOF.
52619         * lib/wctype.in.h (wint_t): Likewise.
52620         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
52621         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
52622         Reported by Tom G. Christensen.
52623
52624 2008-12-26  Bruno Haible  <bruno@clisp.org>
52625
52626         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
52627         i486, i586, i686.
52628
52629 2008-12-26  Bruno Haible  <bruno@clisp.org>
52630
52631         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
52632
52633 2008-12-26  Bruno Haible  <bruno@clisp.org>
52634
52635         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
52636         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
52637         not __STDC_CONSTANT_MACROS.
52638         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
52639
52640 2008-12-25  Bruno Haible  <bruno@clisp.org>
52641
52642         Add support for universal builds to vasnprintf.
52643         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
52644         universal builds, guess no.
52645         * modules/vasnprintf-posix (Depends-on): Add multiarch.
52646         * modules/vasprintf-posix (Depends-on): Likewise.
52647         * modules/fprintf-posix (Depends-on): Likewise.
52648         * modules/vfprintf-posix (Depends-on): Likewise.
52649         * modules/snprintf-posix (Depends-on): Likewise.
52650         * modules/vsnprintf-posix (Depends-on): Likewise.
52651         * modules/sprintf-posix (Depends-on): Likewise.
52652         * modules/vsprintf-posix (Depends-on): Likewise.
52653         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
52654         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
52655         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
52656         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
52657         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
52658         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
52659         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
52660
52661         Add support for universal builds to <inttypes.h>.
52662         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
52663         _SCNu64_PREFIX): In Apple
52664         universal builds, define directly, using _LP64.
52665         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
52666         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
52667         * modules/inttypes (Depends-on): Add multiarch.
52668         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52669
52670         Add support for universal builds to <stdint.h>.
52671         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
52672         universal builds, define directly, using _LP64.
52673         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
52674         Apple universal builds, don't test for the size and suffix of ptrdiff_t
52675         and size_t.
52676         * modules/stdint (Depends-on): Add multiarch.
52677         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52678
52679         New module 'multiarch'.
52680         * modules/multiarch: New file.
52681         * m4/multiarch.m4: New file.
52682
52683 2008-12-25  Bruno Haible  <bruno@clisp.org>
52684
52685         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
52686
52687 2008-12-25  Bruno Haible  <bruno@clisp.org>
52688
52689         * modules/btowc (License): Relicense under LGPLv2+.
52690         * modules/mbsinit (License): Likewise.
52691         * modules/mbrtowc (License): Likewise.
52692         * modules/wcrtomb (License): Likewise.
52693         * modules/streq (License): Likewise.
52694         Reported by David Lutterkort <lutter@redhat.com>.
52695
52696 2008-12-23  Bruno Haible  <bruno@clisp.org>
52697
52698         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
52699
52700 2008-12-23  Bruno Haible  <bruno@clisp.org>
52701
52702         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
52703         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
52704         GETADDRINFO_LIB, not in LIBS.
52705         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
52706         * modules/canon-host (Link): Likewise.
52707         * NEWS: Mention the change.
52708         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
52709         GETADDRINFO_LIB.
52710
52711 2008-12-22  Bruno Haible  <bruno@clisp.org>
52712
52713         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
52714         * doc/posix-functions/iswalpha_l.texi: Likewise.
52715         * doc/posix-functions/iswblank_l.texi: Likewise.
52716         * doc/posix-functions/iswcntrl_l.texi: Likewise.
52717         * doc/posix-functions/iswctype_l.texi: Likewise.
52718         * doc/posix-functions/iswdigit_l.texi: Likewise.
52719         * doc/posix-functions/iswgraph_l.texi: Likewise.
52720         * doc/posix-functions/iswlower_l.texi: Likewise.
52721         * doc/posix-functions/iswprint_l.texi: Likewise.
52722         * doc/posix-functions/iswpunct_l.texi: Likewise.
52723         * doc/posix-functions/iswspace_l.texi: Likewise.
52724         * doc/posix-functions/iswupper_l.texi: Likewise.
52725         * doc/posix-functions/iswxdigit_l.texi: Likewise.
52726         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
52727         * doc/posix-functions/open_wmemstream.texi: Likewise.
52728         * doc/posix-functions/swscanf.texi: Likewise.
52729         * doc/posix-functions/towctrans_l.texi: Likewise.
52730         * doc/posix-functions/towlower.texi: Likewise.
52731         * doc/posix-functions/towlower_l.texi: Likewise.
52732         * doc/posix-functions/towupper.texi: Likewise.
52733         * doc/posix-functions/towupper_l.texi: Likewise.
52734         * doc/posix-functions/vfwprintf.texi: Likewise.
52735         * doc/posix-functions/vfwscanf.texi: Likewise.
52736         * doc/posix-functions/vswscanf.texi: Likewise.
52737         * doc/posix-functions/vwprintf.texi: Likewise.
52738         * doc/posix-functions/vwscanf.texi: Likewise.
52739         * doc/posix-functions/wcpcpy.texi: Likewise.
52740         * doc/posix-functions/wcpncpy.texi: Likewise.
52741         * doc/posix-functions/wcscasecmp.texi: Likewise.
52742         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
52743         * doc/posix-functions/wcscoll_l.texi: Likewise.
52744         * doc/posix-functions/wcsdup.texi: Likewise.
52745         * doc/posix-functions/wcsncasecmp.texi: Likewise.
52746         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
52747         * doc/posix-functions/wcsnlen.texi: Likewise.
52748         * doc/posix-functions/wcsnrtombs.texi: Likewise.
52749         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
52750         * doc/posix-functions/wctrans_l.texi: Likewise.
52751         * doc/posix-functions/wctype_l.texi: Likewise.
52752         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
52753         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
52754         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
52755         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
52756         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
52757         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
52758         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
52759         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
52760         * doc/glibc-functions/wcschrnul.texi: Likewise.
52761         * doc/glibc-functions/wcsftime_l.texi: Likewise.
52762         * doc/glibc-functions/wcstod_l.texi: Likewise.
52763         * doc/glibc-functions/wcstof_l.texi: Likewise.
52764         * doc/glibc-functions/wcstol_l.texi: Likewise.
52765         * doc/glibc-functions/wcstold_l.texi: Likewise.
52766         * doc/glibc-functions/wcstoll_l.texi: Likewise.
52767         * doc/glibc-functions/wcstoq.texi: Likewise.
52768         * doc/glibc-functions/wcstoul_l.texi: Likewise.
52769         * doc/glibc-functions/wcstoull_l.texi: Likewise.
52770         * doc/glibc-functions/wcstouq.texi: Likewise.
52771         * doc/glibc-functions/wmempcpy.texi: Likewise.
52772
52773 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
52774             Eric Blake  <ebb9@byu.net>
52775             Paolo Bonzini  <bonzini@gnu.org>
52776             Bruno Haible  <bruno@clisp.org>
52777
52778         Make c-stack work on Haiku.
52779         * lib/c-stack.c (SA_ONSTACK): Define fallback.
52780         (c_stack_action): Use SA_ONSTACK flag.
52781
52782 2008-12-22  Bruno Haible  <bruno@clisp.org>
52783
52784         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
52785
52786 2008-12-22  Bruno Haible  <bruno@clisp.org>
52787
52788         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
52789         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
52790         being overridden.
52791         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
52792         New macros.
52793         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
52794         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
52795         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
52796         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
52797
52798 2008-12-22  Bruno Haible  <bruno@clisp.org>
52799
52800         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
52801         from test code.
52802
52803 2008-12-22  Eric Blake  <ebb9@byu.net>
52804
52805         Avoid gcc warnings on cygwin.
52806         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
52807         Avoid unused variable.
52808         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
52809         Likewise.
52810
52811 2008-12-22  Bruno Haible  <bruno@clisp.org>
52812
52813         Remove HAVE_MBRTOWC conditionals.
52814         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
52815         (mbscasecmp): Assume mbrtowc function.
52816         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
52817         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
52818         * lib/mbschr.c: Include mbuiter.h unconditionally.
52819         (mbschr): Assume mbrtowc function.
52820         * lib/mbscspn.c: Include mbuiter.h unconditionally.
52821         (mbscspn): Assume mbrtowc function.
52822         * lib/mbslen.c: Include mbuiter.h unconditionally.
52823         (mbslen): Assume mbrtowc function.
52824         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
52825         (mbsncasecmp): Assume mbrtowc function.
52826         * lib/mbsnlen.c: Include mbiter.h unconditionally.
52827         (mbsnlen): Assume mbrtowc function.
52828         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
52829         (mbspbrk): Assume mbrtowc function.
52830         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
52831         (mbspcasecmp): Assume mbrtowc function.
52832         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
52833         (mbsrchr): Assume mbrtowc function.
52834         * lib/mbssep.c: Include mbuiter.h unconditionally.
52835         (mbssep): Assume mbrtowc function.
52836         * lib/mbsspn.c: Include mbuiter.h unconditionally.
52837         (mbsspn): Assume mbrtowc function.
52838         * lib/mbsstr.c: Include mbuiter.h unconditionally.
52839         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
52840         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
52841         (mbstok_r): Assume mbrtowc function.
52842         * lib/propername.c: Include mbuiter.h unconditionally.
52843         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
52844         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
52845         (trim2): Assume mbrtowc function.
52846         * lib/mbswidth.c (mbsinit): Remove fallback definition.
52847         (mbsnwidth): Assume mbrtowc function.
52848         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
52849         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
52850         fallback definitions.
52851         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
52852
52853 2008-12-22  Bruno Haible  <bruno@clisp.org>
52854
52855         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
52856
52857 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
52858
52859         * modules/regex: Request emulations for the mb*/wc* functions we need.
52860         * m4/regex.m4: Don't look for those functions here.
52861         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
52862
52863 2008-12-22  Bruno Haible  <bruno@clisp.org>
52864
52865         * modules/fnmatch (Depends-on): Remove duplicated dependency.
52866
52867 2008-12-21  Bruno Haible  <bruno@clisp.org>
52868
52869         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
52870         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
52871         (Include): Remove conditionalization.
52872         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
52873         (Include): Remove conditionalization.
52874         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
52875         (Include): Remove conditionalization.
52876         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
52877         * m4/mbfile.m4 (gl_MBFILE): Likewise.
52878         * NEWS: Mention the change.
52879         Reported by Alan Hourihane <alanh@fairlite.co.uk>
52880         via Sergey Poznyakoff <gray@gnu.org.ua>.
52881
52882 2008-12-21  Bruno Haible  <bruno@clisp.org>
52883
52884         * MODULES.html.sh (Extended multibyte and wide character utilities
52885         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
52886         wcrtomb, wcsrtombs.
52887         (Support for systems lacking POSIX:2008): Add accept, bind, close,
52888         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
52889         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
52890         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
52891
52892 2008-12-21  Bruno Haible  <bruno@clisp.org>
52893
52894         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
52895
52896 2008-12-21  Bruno Haible  <bruno@clisp.org>
52897
52898         * modules/wcsnrtombs-tests: New file.
52899         * tests/test-wcsnrtombs1.sh: New file.
52900         * tests/test-wcsnrtombs2.sh: New file.
52901         * tests/test-wcsnrtombs3.sh: New file.
52902         * tests/test-wcsnrtombs4.sh: New file.
52903         * tests/test-wcsnrtombs.c: New file.
52904
52905         New module 'wcsnrtombs'.
52906         * lib/wchar.in.h (wcsnrtombs): New declaration.
52907         * lib/wcsnrtombs.c: New file.
52908         * lib/wcsrtombs-state.c: New file.
52909         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
52910         (internal_state): Remove variable.
52911         * m4/wcsnrtombs.m4: New file.
52912         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
52913         compilation units.
52914         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
52915         HAVE_WCSNRTOMBS.
52916         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
52917         HAVE_WCSNRTOMBS.
52918         * modules/wcsnrtombs: New file.
52919         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
52920         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
52921
52922 2008-12-21  Bruno Haible  <bruno@clisp.org>
52923
52924         * modules/wcsrtombs-tests: New file.
52925         * tests/test-wcsrtombs1.sh: New file.
52926         * tests/test-wcsrtombs2.sh: New file.
52927         * tests/test-wcsrtombs3.sh: New file.
52928         * tests/test-wcsrtombs4.sh: New file.
52929         * tests/test-wcsrtombs.c: New file.
52930
52931         New module 'wcsrtombs'.
52932         * lib/wchar.in.h (wcsrtombs): New declaration.
52933         * lib/wcsrtombs.c: New file.
52934         * m4/wcsrtombs.m4: New file.
52935         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
52936         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
52937         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
52938         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
52939         * modules/wcsrtombs: New file.
52940         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
52941         bugs.
52942
52943 2008-12-21  Bruno Haible  <bruno@clisp.org>
52944
52945         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
52946         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
52947         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
52948         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
52949         if not correct.
52950         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
52951         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
52952         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
52953         m4/locale-zh.m4, m4/codeset.m4.
52954         * doc/posix-functions/wcrtomb.texi: Document the bug.
52955
52956 2008-12-21  Bruno Haible  <bruno@clisp.org>
52957
52958         Work around a btowc() bug on IRIX 6.5.
52959         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
52960         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
52961         REPLACE_WTOBC if not.
52962         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
52963         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
52964         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
52965
52966 2008-12-21  Bruno Haible  <bruno@clisp.org>
52967
52968         * modules/wcrtomb-tests: New file.
52969         * tests/test-wcrtomb.sh: New file.
52970         * tests/test-wcrtomb.c: New file.
52971
52972         New module 'wcrtomb'.
52973         * lib/wchar.in.h (wcrtomb): New declaration.
52974         * lib/wcrtomb.c: New file.
52975         * m4/wcrtomb.m4: New file.
52976         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
52977         HAVE_WCRTOMB.
52978         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
52979         HAVE_WCRTOMB.
52980         * modules/wcrtomb: New file.
52981         * doc/posix-functions/wcrtomb.texi: Mention the new module.
52982
52983 2008-12-21  Bruno Haible  <bruno@clisp.org>
52984
52985         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
52986         * modules/mbsrtowcs (Files): Likewise.
52987         * modules/wctob (Files): Likewise.
52988         * modules/c-strcase-tests (Files): Likewise.
52989         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
52990         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
52991         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
52992         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
52993         * modules/vasnprintf-posix-tests (Files): Likewise.
52994
52995 2008-12-21  William Pursell  <bill.pursell@gmail.com>
52996
52997         gitlog-to-changelog: pass all command-line arguments to git-log
52998         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
52999         it is sometimes convenient to filter the commits in various ways.
53000         gitlog-to-changelog only allows --since to specify a start date,
53001         but git-log itself supports many other filtering mechanisms.
53002         At the moment, I want to filter by branch name.  Rather than
53003         adding a --branch option to gitlog-to-changelog, it seems more
53004         flexible to simply pass all options directly to git-log and let
53005         git do the work.  Notice that this effectively makes --since a
53006         redundant option for gitlog-to-changelog, but removing it would
53007         require current usage to change since calls would then require
53008         an additional '--'.
53009
53010 2008-12-21  Bruno Haible  <bruno@clisp.org>
53011
53012         * modules/mbsnrtowcs-tests: New file.
53013         * tests/test-mbsnrtowcs1.sh: New file.
53014         * tests/test-mbsnrtowcs2.sh: New file.
53015         * tests/test-mbsnrtowcs3.sh: New file.
53016         * tests/test-mbsnrtowcs4.sh: New file.
53017         * tests/test-mbsnrtowcs.c: New file.
53018
53019         New module 'mbsnrtowcs'.
53020         * lib/wchar.in.h (mbsnrtowcs): New declaration.
53021         * lib/mbsnrtowcs.c: New file.
53022         * lib/mbsrtowcs-state.c: New file.
53023         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
53024         (internal_state): Remove variable.
53025         * m4/mbsnrtowcs.m4: New file.
53026         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
53027         compilation units.
53028         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
53029         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
53030         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
53031         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
53032         * modules/mbsnrtowcs: New file.
53033         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
53034         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
53035         portability problem.
53036
53037 2008-12-21  Bruno Haible  <bruno@clisp.org>
53038
53039         Work around mbsrtowcs bug.
53040         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
53041         (gl_FUNC_MBSRTOWCS): Invoke it.
53042         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53043         m4/locale-zh.m4.
53044         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
53045
53046 2008-12-21  Bruno Haible  <bruno@clisp.org>
53047
53048         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
53049
53050 2008-12-21  Bruno Haible  <bruno@clisp.org>
53051
53052         Update doc for AIX.
53053         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
53054         16-bit wchar_t type.
53055         * doc/posix-functions/btowc.texi: Likewise.
53056         * doc/posix-functions/fgetwc.texi: Likewise.
53057         * doc/posix-functions/fgetws.texi: Likewise.
53058         * doc/posix-functions/fputwc.texi: Likewise.
53059         * doc/posix-functions/fputws.texi: Likewise.
53060         * doc/posix-functions/fwide.texi: Likewise.
53061         * doc/posix-functions/fwprintf.texi: Likewise.
53062         * doc/posix-functions/fwscanf.texi: Likewise.
53063         * doc/posix-functions/getwchar.texi: Likewise.
53064         * doc/posix-functions/getwc.texi: Likewise.
53065         * doc/posix-functions/iswalnum.texi: Likewise.
53066         * doc/posix-functions/iswalpha.texi: Likewise.
53067         * doc/posix-functions/iswblank.texi: Likewise.
53068         * doc/posix-functions/iswcntrl.texi: Likewise.
53069         * doc/posix-functions/iswctype.texi: Likewise.
53070         * doc/posix-functions/iswdigit.texi: Likewise.
53071         * doc/posix-functions/iswgraph.texi: Likewise.
53072         * doc/posix-functions/iswlower.texi: Likewise.
53073         * doc/posix-functions/iswprint.texi: Likewise.
53074         * doc/posix-functions/iswpunct.texi: Likewise.
53075         * doc/posix-functions/iswspace.texi: Likewise.
53076         * doc/posix-functions/iswupper.texi: Likewise.
53077         * doc/posix-functions/iswxdigit.texi: Likewise.
53078         * doc/posix-functions/mbrtowc.texi: Likewise.
53079         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53080         * doc/posix-functions/mbstowcs.texi: Likewise.
53081         * doc/posix-functions/mbtowc.texi: Likewise.
53082         * doc/posix-functions/putwchar.texi: Likewise.
53083         * doc/posix-functions/putwc.texi: Likewise.
53084         * doc/posix-functions/swprintf.texi: Likewise.
53085         * doc/posix-functions/tolower.texi: Likewise.
53086         * doc/posix-functions/toupper.texi: Likewise.
53087         * doc/posix-functions/towctrans.texi: Likewise.
53088         * doc/posix-functions/ungetwc.texi: Likewise.
53089         * doc/posix-functions/vswprintf.texi: Likewise.
53090         * doc/posix-functions/wcrtomb.texi: Likewise.
53091         * doc/posix-functions/wcscat.texi: Likewise.
53092         * doc/posix-functions/wcschr.texi: Likewise.
53093         * doc/posix-functions/wcscmp.texi: Likewise.
53094         * doc/posix-functions/wcscoll.texi: Likewise.
53095         * doc/posix-functions/wcscpy.texi: Likewise.
53096         * doc/posix-functions/wcscspn.texi: Likewise.
53097         * doc/posix-functions/wcsftime.texi: Likewise.
53098         * doc/posix-functions/wcslen.texi: Likewise.
53099         * doc/posix-functions/wcsncat.texi: Likewise.
53100         * doc/posix-functions/wcsncmp.texi: Likewise.
53101         * doc/posix-functions/wcsncpy.texi: Likewise.
53102         * doc/posix-functions/wcspbrk.texi: Likewise.
53103         * doc/posix-functions/wcsrchr.texi: Likewise.
53104         * doc/posix-functions/wcsrtombs.texi: Likewise.
53105         * doc/posix-functions/wcsspn.texi: Likewise.
53106         * doc/posix-functions/wcsstr.texi: Likewise.
53107         * doc/posix-functions/wcstod.texi: Likewise.
53108         * doc/posix-functions/wcstof.texi: Likewise.
53109         * doc/posix-functions/wcstoimax.texi: Likewise.
53110         * doc/posix-functions/wcstok.texi: Likewise.
53111         * doc/posix-functions/wcstold.texi: Likewise.
53112         * doc/posix-functions/wcstoll.texi: Likewise.
53113         * doc/posix-functions/wcstol.texi: Likewise.
53114         * doc/posix-functions/wcstombs.texi: Likewise.
53115         * doc/posix-functions/wcstoull.texi: Likewise.
53116         * doc/posix-functions/wcstoul.texi: Likewise.
53117         * doc/posix-functions/wcstoumax.texi: Likewise.
53118         * doc/posix-functions/wcswidth.texi: Likewise.
53119         * doc/posix-functions/wcsxfrm.texi: Likewise.
53120         * doc/posix-functions/wctob.texi: Likewise.
53121         * doc/posix-functions/wctomb.texi: Likewise.
53122         * doc/posix-functions/wctrans.texi: Likewise.
53123         * doc/posix-functions/wctype.texi: Likewise.
53124         * doc/posix-functions/wcwidth.texi: Likewise.
53125         * doc/posix-functions/wmemchr.texi: Likewise.
53126         * doc/posix-functions/wmemcmp.texi: Likewise.
53127         * doc/posix-functions/wmemcpy.texi: Likewise.
53128         * doc/posix-functions/wmemmove.texi: Likewise.
53129         * doc/posix-functions/wmemset.texi: Likewise.
53130         * doc/posix-functions/wprintf.texi: Likewise.
53131         * doc/posix-functions/wscanf.texi: Likewise.
53132
53133 2008-12-21  Bruno Haible  <bruno@clisp.org>
53134
53135         Update doc for HP-UX 11.11.
53136         * doc/posix-functions/btowc.texi: Clarify that the function is missing
53137         in HP-UX version 11.00, not in all versions of HP-UX 11.
53138         * doc/posix-functions/fwide.texi: Likewise.
53139         * doc/posix-functions/fwprintf.texi: Likewise.
53140         * doc/posix-functions/fwscanf.texi: Likewise.
53141         * doc/posix-functions/inet_ntop.texi: Likewise.
53142         * doc/posix-functions/inet_pton.texi: Likewise.
53143         * doc/posix-functions/mbrlen.texi: Likewise.
53144         * doc/posix-functions/mbrtowc.texi: Likewise.
53145         * doc/posix-functions/mbsinit.texi: Likewise.
53146         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53147         * doc/posix-functions/swprintf.texi: Likewise.
53148         * doc/posix-functions/swscanf.texi: Likewise.
53149         * doc/posix-functions/towctrans.texi: Likewise.
53150         * doc/posix-functions/vfwprintf.texi: Likewise.
53151         * doc/posix-functions/vswprintf.texi: Likewise.
53152         * doc/posix-functions/vwprintf.texi: Likewise.
53153         * doc/posix-functions/wcrtomb.texi: Likewise.
53154         * doc/posix-functions/wcsrtombs.texi: Likewise.
53155         * doc/posix-functions/wcsstr.texi: Likewise.
53156         * doc/posix-functions/wctob.texi: Likewise.
53157         * doc/posix-functions/wctrans.texi: Likewise.
53158         * doc/posix-functions/wmemchr.texi: Likewise.
53159         * doc/posix-functions/wmemcmp.texi: Likewise.
53160         * doc/posix-functions/wmemcpy.texi: Likewise.
53161         * doc/posix-functions/wmemmove.texi: Likewise.
53162         * doc/posix-functions/wmemset.texi: Likewise.
53163         * doc/posix-functions/wprintf.texi: Likewise.
53164         * doc/posix-functions/wscanf.texi: Likewise.
53165
53166 2008-12-21  Bruno Haible  <bruno@clisp.org>
53167
53168         Work around a portability problem.
53169         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
53170         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
53171
53172 2008-12-20  Bruno Haible  <bruno@clisp.org>
53173
53174         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
53175         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
53176         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
53177         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
53178         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
53179
53180         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
53181         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
53182         set.
53183         (GNULIB_defined_mbstate_t): New macro.
53184         (mbsinit): Redefine if REPLACE_MBSINIT is set.
53185         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
53186         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
53187         reuses the system's mbrtowc function but works around the bugs.
53188         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
53189         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
53190         macros.
53191         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
53192         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
53193         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
53194         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
53195         REPLACE_MBSINIT if mbsinit needs to be overridden.
53196         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
53197         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53198         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
53199         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53200         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53201         m4/locale-zh.m4.
53202         (Depends): Add mbsinit.
53203         * modules/mbsinit (Depends): Add mbrtowc.
53204         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
53205
53206 2008-12-20  Bruno Haible  <bruno@clisp.org>
53207
53208         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
53209         so that there are no conversion errors on AIX.
53210         * tests/test-mbsrtowcs.c (main): LIkewise.
53211
53212 2008-12-20  Bruno Haible  <bruno@clisp.org>
53213
53214         Work around wctob bug on Solaris <= 9.
53215         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
53216         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
53217         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
53218         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
53219         * modules/wctob (Files): Add m4/locale-fr.m4.
53220         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
53221
53222 2008-12-20  Bruno Haible  <bruno@clisp.org>
53223
53224         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
53225         /dev/null.
53226         * tests/test-select-in.sh: Likewise.
53227         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
53228
53229 2008-12-20  Bruno Haible  <bruno@clisp.org>
53230
53231         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
53232         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
53233         Cygwin 1.5.x.
53234
53235 2008-12-20  Bruno Haible  <bruno@clisp.org>
53236
53237         Ensure mbstate_t is defined on HP-UX 11.11.
53238         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
53239         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
53240         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
53241         AC_USE_SYSTEM_EXTENSIONS.
53242         * modules/fnmatch (Depends-on): Add extensions.
53243         * modules/mbrlen (Depends-on): Likewise.
53244         * modules/mbrtowc (Depends-on): Likewise.
53245         * modules/mbsinit (Depends-on): Likewise.
53246         * modules/mbsrtowcs (Depends-on): Likewise.
53247         * modules/mbswidth (Depends-on): Likewise.
53248         * modules/quotearg (Depends-on): Likewise.
53249         * modules/strftime (Depends-on): Likewise.
53250
53251 2008-12-20  Bruno Haible  <bruno@clisp.org>
53252
53253         Ensure wctob is declared on IRIX 6.5.
53254         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
53255         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
53256         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
53257         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
53258         of HAVE_WCTOB.
53259         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
53260         HAVE_WCTOB.
53261         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
53262
53263 2008-12-19  Bruno Haible  <bruno@clisp.org>
53264
53265         * modules/mbsrtowcs-tests: New file.
53266         * tests/test-mbsrtowcs1.sh: New file.
53267         * tests/test-mbsrtowcs2.sh: New file.
53268         * tests/test-mbsrtowcs3.sh: New file.
53269         * tests/test-mbsrtowcs4.sh: New file.
53270         * tests/test-mbsrtowcs.c: New file.
53271
53272         New module 'mbsrtowcs'.
53273         * lib/wchar.in.h (mbsrtowcs): New declaration.
53274         * lib/mbsrtowcs.c: New file.
53275         * m4/mbsrtowcs.m4: New file.
53276         * modules/mbsrtowcs: New file.
53277         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
53278         HAVE_MBSRTOWCS.
53279         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
53280         HAVE_MBSRTOWCS.
53281         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
53282
53283 2008-12-19  Bruno Haible  <bruno@clisp.org>
53284
53285         New module 'mbrlen'.
53286         * lib/wchar.in.h (mbrlen): New declaration.
53287         * lib/mbrlen.c: New file.
53288         * m4/mbrlen.m4: New file.
53289         * modules/mbrlen: New file.
53290         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
53291         HAVE_MBRLEN.
53292         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
53293         HAVE_MBRLEN.
53294         * doc/posix-functions/mbrlen.texi: Document the new module.
53295
53296 2008-12-19  Bruno Haible  <bruno@clisp.org>
53297
53298         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
53299         * modules/mbrtowc (Depends-on): Add verify.
53300         Suggested by Paul Eggert.
53301
53302 2008-12-18  Bruno Haible  <bruno@clisp.org>
53303
53304         * modules/mbsinit-tests: New file.
53305         * tests/test-mbsinit.sh: New file.
53306         * tests/test-mbsinit.c: New file.
53307
53308 2008-12-18  Bruno Haible  <bruno@clisp.org>
53309
53310         * modules/mbrtowc-tests: New file.
53311         * tests/test-mbrtowc1.sh: New file.
53312         * tests/test-mbrtowc2.sh: New file.
53313         * tests/test-mbrtowc3.sh: New file.
53314         * tests/test-mbrtowc4.sh: New file.
53315         * tests/test-mbrtowc.c: New file.
53316
53317         New module 'mbrtowc'.
53318         * lib/wchar.in.h (mbstate_t): Override when the system does not have
53319         mbsinit and mbrtowc.
53320         (mbrtowc): New declaration.
53321         * lib/mbrtowc.c: New file.
53322         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
53323         * modules/mbrtowc: New file.
53324         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
53325         HAVE_MBRTOWC.
53326         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
53327         HAVE_MBRTOWC.
53328         * doc/posix-functions/mbrtowc.texi: Document the new module.
53329
53330 2008-12-18  Bruno Haible  <bruno@clisp.org>
53331
53332         New module 'wctob'.
53333         * lib/wchar.in.h (wctob): New declaration.
53334         * lib/wctob.c: New file.
53335         * m4/wctob.m4: New file.
53336         * modules/wctob: New file.
53337         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
53338         HAVE_WCTOB.
53339         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
53340         * doc/posix-functions/wctob.texi: Document the new module.
53341
53342 2008-12-18  Bruno Haible  <bruno@clisp.org>
53343
53344         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
53345         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
53346
53347 2008-12-18  Simon Josefsson  <simon@josefsson.org>
53348
53349         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
53350         G. Christensen" <tgc@jupiterrise.com>.
53351
53352         * lib/flock.c: Need to include errno.h.  Reported by "Tom
53353         G. Christensen" <tgc@jupiterrise.com>.
53354
53355         * lib/flock.c: Need to include string.h.  Reported by "Tom
53356         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
53357         <ebb9@byu.net>.
53358
53359 2008-12-18  Bruno Haible  <bruno@clisp.org>
53360
53361         * m4/locale-ja.m4: New file, from GNU gettext.
53362
53363 2008-12-17  Bruno Haible  <bruno@clisp.org>
53364
53365         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
53366         Suggested by Eric Blake.
53367
53368 2008-12-17  Bruno Haible  <bruno@clisp.org>
53369
53370         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
53371
53372 2008-12-17  Bruno Haible  <bruno@clisp.org>
53373
53374         * lib/mbsinit.c: Include verify.h. Verify an assumption.
53375         * modules/mbsinit (Depends-on): Add verify.
53376         Suggested by Paul Eggert.
53377
53378 2008-12-17  Bruno Haible  <bruno@clisp.org>
53379
53380         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
53381         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
53382         gl_FUNC_MBRTOWC.
53383         * m4/mbiter.m4 (gl_MBITER): LIkewise.
53384         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
53385         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
53386         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
53387         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
53388         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
53389         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
53390         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
53391         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
53392         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
53393         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
53394         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
53395         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
53396         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
53397         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
53398         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
53399         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
53400         * modules/trim (configure.ac): Likewise.
53401
53402 2008-12-17  Bruno Haible  <bruno@clisp.org>
53403
53404         * modules/btowc-tests: New file.
53405         * tests/test-btowc1.sh: New file.
53406         * tests/test-btowc2.sh: New file.
53407         * tests/test-btowc.c: New file.
53408
53409         New module 'btowc'.
53410         * lib/wchar.in.h (btowc): New declaration.
53411         * lib/btowc.c: New file.
53412         * m4/btowc.m4: New file.
53413         * modules/btowc: New file.
53414         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
53415         HAVE_BTOWC.
53416         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
53417         * doc/posix-functions/btowc.texi: Document the new module.
53418
53419 2008-12-17  Bruno Haible  <bruno@clisp.org>
53420
53421         New module 'mbsinit'.
53422         * lib/wchar.in.h (mbsinit): New declaration.
53423         * lib/mbsinit.c: New file.
53424         * m4/mbsinit.m4: New file.
53425         * modules/mbsinit: New file.
53426         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
53427         HAVE_MBSINIT.
53428         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
53429         HAVE_MBSINIT.
53430         * doc/posix-functions/mbsinit.texi: Document the new module.
53431
53432 2008-12-16  Bruno Haible  <bruno@clisp.org>
53433
53434         * lib/unistd.in.h: Add comment.
53435         * tests/test-environ.c: Don't include <stdlib.h>.
53436
53437 2008-12-16  Bruno Haible  <bruno@clisp.org>
53438
53439         * lib/parse-duration.h (parse_duration): Document return value
53440         convention.
53441         * lib/parse-duration.c: Include specification header first. Add
53442         comments.
53443         (_): Remove macro.
53444         (parse_year_month_day, parse_hour_minute_second): Move side effects
53445         outside of strchr call.
53446         (parse_non_iso8601): Move side effects outside of isspace call.
53447         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
53448         call.
53449
53450 2008-12-16  Bruno Haible  <bruno@clisp.org>
53451
53452         * tests/test-parse-duration.sh: Produce no output when the test
53453         succeeds.
53454
53455 2008-12-16  Bruno Haible  <bruno@clisp.org>
53456
53457         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
53458         expressions.
53459
53460 2008-12-15  Bruno Haible  <bruno@clisp.org>
53461
53462         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
53463         * doc/glibc-functions/flistxattr.texi: Likewise.
53464         * doc/glibc-functions/fopencookie.texi: Likewise.
53465         * doc/glibc-functions/fremovexattr.texi: Likewise.
53466         * doc/glibc-functions/fsetxattr.texi: Likewise.
53467         * doc/glibc-functions/getxattr.texi: Likewise.
53468         * doc/glibc-functions/lgetxattr.texi: Likewise.
53469         * doc/glibc-functions/listxattr.texi: Likewise.
53470         * doc/glibc-functions/llistxattr.texi: Likewise.
53471         * doc/glibc-functions/lremovexattr.texi: Likewise.
53472         * doc/glibc-functions/lsetxattr.texi: Likewise.
53473         * doc/glibc-functions/removexattr.texi: Likewise.
53474         * doc/glibc-functions/setxattr.texi: Likewise.
53475         * doc/posix-functions/open_memstream.texi: Likewise.
53476
53477 2008-12-15  Eric Blake  <ebb9@byu.net>
53478
53479         Update doc for cygwin 1.7.
53480         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
53481         functions.
53482         * doc/posix-functions/fchmodat.texi: Likewise.
53483         * doc/posix-functions/fchownat.texi: Likewise.
53484         * doc/posix-functions/fdopendir.texi: Likewise.
53485         * doc/posix-functions/fmemopen.texi: Likewise.
53486         * doc/posix-functions/freeaddrinfo.texi: Likewise.
53487         * doc/posix-functions/fstatat.texi: Likewise.
53488         * doc/posix-functions/futimens.texi: Likewise.
53489         * doc/posix-functions/gai_strerror.texi: Likewise.
53490         * doc/posix-functions/getaddrinfo.texi: Likewise.
53491         * doc/posix-functions/getnameinfo.texi: Likewise.
53492         * doc/posix-functions/if_freenameindex.texi: Likewise.
53493         * doc/posix-functions/if_indextoname.texi: Likewise.
53494         * doc/posix-functions/if_nameindex.texi: Likewise.
53495         * doc/posix-functions/if_nametoindex.texi: Likewise.
53496         * doc/posix-functions/insque.texi: Likewise.
53497         * doc/posix-functions/linkat.texi: Likewise.
53498         * doc/posix-functions/llrint.texi: Likewise.
53499         * doc/posix-functions/llrintf.texi: Likewise.
53500         * doc/posix-functions/llrintl.texi: Likewise.
53501         * doc/posix-functions/lockf.texi: Likewise.
53502         * doc/posix-functions/lrintl.texi: Likewise.
53503         * doc/posix-functions/mkdirat.texi: Likewise.
53504         * doc/posix-functions/mkfifoat.texi: Likewise.
53505         * doc/posix-functions/mknodat.texi: Likewise.
53506         * doc/posix-functions/mq_close.texi: Likewise.
53507         * doc/posix-functions/mq_getattr.texi: Likewise.
53508         * doc/posix-functions/mq_notify.texi: Likewise.
53509         * doc/posix-functions/mq_open.texi: Likewise.
53510         * doc/posix-functions/mq_receive.texi: Likewise.
53511         * doc/posix-functions/mq_send.texi: Likewise.
53512         * doc/posix-functions/mq_setattr.texi: Likewise.
53513         * doc/posix-functions/mq_timedreceive.texi: Likewise.
53514         * doc/posix-functions/mq_timedsend.texi: Likewise.
53515         * doc/posix-functions/mq_unlink.texi: Likewise.
53516         * doc/posix-functions/open_memstream.texi: Likewise.
53517         * doc/posix-functions/openat.texi: Likewise.
53518         * doc/posix-functions/posix_fadvise.texi: Likewise.
53519         * doc/posix-functions/posix_fallocate.texi: Likewise.
53520         * doc/posix-functions/posix_madvise.texi: Likewise.
53521         * doc/posix-functions/posix_memalign.texi: Likewise.
53522         * doc/posix-functions/posix_openpt.texi: Likewise.
53523         * doc/posix-functions/readlinkat.texi: Likewise.
53524         * doc/posix-functions/remque.texi: Likewise.
53525         * doc/posix-functions/renameat.texi: Likewise.
53526         * doc/posix-functions/rintl.texi: Likewise.
53527         * doc/posix-functions/sem_unlink.texi: Likewise.
53528         * doc/posix-functions/shm_open.texi: Likewise.
53529         * doc/posix-functions/shm_unlink.texi: Likewise.
53530         * doc/posix-functions/signgam.texi: Likewise.
53531         * doc/posix-functions/sigset.texi: Likewise.
53532         * doc/posix-functions/stpcpy.texi: Likewise.
53533         * doc/posix-functions/stpncpy.texi: Likewise.
53534         * doc/posix-functions/strerror.texi: Likewise.
53535         * doc/posix-functions/strtod.texi: Likewise.
53536         * doc/posix-functions/symlinkat.texi: Likewise.
53537         * doc/posix-functions/unlinkat.texi: Likewise.
53538         * doc/posix-functions/utimensat.texi: Likewise.
53539         * doc/glibc-functions/bindresvport.texi: Likewise.
53540         * doc/glibc-functions/dn_expand.texi: Likewise.
53541         * doc/glibc-functions/exp10.texi: Likewise.
53542         * doc/glibc-functions/exp10f.texi: Likewise.
53543         * doc/glibc-functions/fgetxattr.texi: Likewise.
53544         * doc/glibc-functions/flistxattr.texi: Likewise.
53545         * doc/glibc-functions/fopencookie.texi: Likewise.
53546         * doc/glibc-functions/freeifaddrs.texi: Likewise.
53547         * doc/glibc-functions/fremovexattr.texi: Likewise.
53548         * doc/glibc-functions/fsetxattr.texi: Likewise.
53549         * doc/glibc-functions/getifaddrs.texi: Likewise.
53550         * doc/glibc-functions/getxattr.texi: Likewise.
53551         * doc/glibc-functions/lgetxattr.texi: Likewise.
53552         * doc/glibc-functions/listxattr.texi: Likewise.
53553         * doc/glibc-functions/llistxattr.texi: Likewise.
53554         * doc/glibc-functions/lremovexattr.texi: Likewise.
53555         * doc/glibc-functions/lsetxattr.texi: Likewise.
53556         * doc/glibc-functions/pow10.texi: Likewise.
53557         * doc/glibc-functions/pow10f.texi: Likewise.
53558         * doc/glibc-functions/rcmd_af.texi: Likewise.
53559         * doc/glibc-functions/removexattr.texi: Likewise.
53560         * doc/glibc-functions/res_init.texi: Likewise.
53561         * doc/glibc-functions/res_mkquery.texi: Likewise.
53562         * doc/glibc-functions/res_query.texi: Likewise.
53563         * doc/glibc-functions/res_querydomain.texi: Likewise.
53564         * doc/glibc-functions/res_send.texi: Likewise.
53565         * doc/glibc-functions/rresvport_af.texi: Likewise.
53566         * doc/glibc-functions/setxattr.texi: Likewise.
53567         * doc/glibc-functions/strcasestr.texi: Likewise.
53568
53569 2008-12-15  Bruno Haible  <bruno@clisp.org>
53570
53571         Fix compilation error on OSF/1 4.0.
53572         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
53573         <sys/time.h>, simply delegate to the system header.
53574         Reported by Daniel Richard G. <oss@teragram.com>.
53575
53576 2008-12-15  Bruno Haible  <bruno@clisp.org>
53577
53578         * doc/posix-functions/openat.texi: Mention the 'openat' module.
53579         * doc/posix-functions/fchmodat.texi: Likewise.
53580         * doc/posix-functions/fchownat.texi: Likewise.
53581         * doc/posix-functions/fdopendir.texi: Likewise.
53582         * doc/posix-functions/fstatat.texi: Likewise.
53583         * doc/posix-functions/mkdirat.texi: Likewise.
53584         * doc/posix-functions/unlinkat.texi: Likewise.
53585
53586 2008-12-14  Bruno Haible  <bruno@clisp.org>
53587
53588         Update doc for POSIX:2008.
53589         * doc/posix-functions/faccessat.texi: New file.
53590         * doc/posix-functions/fchmodat.texi: New file.
53591         * doc/posix-functions/fchownat.texi: New file.
53592         * doc/posix-functions/fdopendir.texi: New file.
53593         * doc/posix-functions/fstatat.texi: New file.
53594         * doc/posix-functions/futimens.texi: New file.
53595         * doc/posix-functions/linkat.texi: New file.
53596         * doc/posix-functions/mkdirat.texi: New file.
53597         * doc/posix-functions/mkfifoat.texi: New file.
53598         * doc/posix-functions/mknodat.texi: New file.
53599         * doc/posix-functions/open_wmemstream.texi: New file.
53600         * doc/posix-functions/openat.texi: New file.
53601         * doc/posix-functions/psiginfo.texi: New file.
53602         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
53603         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
53604         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
53605         * doc/posix-functions/readlinkat.texi: New file.
53606         * doc/posix-functions/renameat.texi: New file.
53607         * doc/posix-functions/strerror_l.texi: New file.
53608         * doc/posix-functions/symlinkat.texi: New file.
53609         * doc/posix-functions/unlinkat.texi: New file.
53610         * doc/posix-functions/utimensat.texi: New file.
53611         * doc/gnulib.texi (Function Substitutes): Add these subsections.
53612
53613 2008-12-14  Bruno Haible  <bruno@clisp.org>
53614
53615         Update doc for POSIX:2008.
53616         * doc/posix-functions/alphasort.texi: Renamed from
53617         doc/glibc-functions/alphasort.texi.
53618         * doc/posix-functions/dirfd.texi: Renamed from
53619         doc/glibc-functions/dirfd.texi.
53620         * doc/posix-functions/dprintf.texi: Renamed from
53621         doc/glibc-functions/dprintf.texi.
53622         * doc/posix-functions/duplocale.texi: Renamed from
53623         doc/glibc-functions/duplocale.texi.
53624         * doc/posix-functions/fexecve.texi: Renamed from
53625         doc/glibc-functions/fexecve.texi.
53626         * doc/posix-functions/fmemopen.texi: Renamed from
53627         doc/glibc-functions/fmemopen.texi.
53628         * doc/posix-functions/freelocale.texi: Renamed from
53629         doc/glibc-functions/freelocale.texi.
53630         * doc/posix-functions/getdate_err.texi: Renamed from
53631         doc/glibc-functions/getdate_err.texi.
53632         * doc/posix-functions/isalnum_l.texi: Renamed from
53633         doc/glibc-functions/isalnum_l.texi.
53634         * doc/posix-functions/isalpha_l.texi: Renamed from
53635         doc/glibc-functions/isalpha_l.texi.
53636         * doc/posix-functions/isblank_l.texi: Renamed from
53637         doc/glibc-functions/isblank_l.texi.
53638         * doc/posix-functions/iscntrl_l.texi: Renamed from
53639         doc/glibc-functions/iscntrl_l.texi.
53640         * doc/posix-functions/isdigit_l.texi: Renamed from
53641         doc/glibc-functions/isdigit_l.texi.
53642         * doc/posix-functions/isgraph_l.texi: Renamed from
53643         doc/glibc-functions/isgraph_l.texi.
53644         * doc/posix-functions/islower_l.texi: Renamed from
53645         doc/glibc-functions/islower_l.texi.
53646         * doc/posix-functions/isprint_l.texi: Renamed from
53647         doc/glibc-functions/isprint_l.texi.
53648         * doc/posix-functions/ispunct_l.texi: Renamed from
53649         doc/glibc-functions/ispunct_l.texi.
53650         * doc/posix-functions/isspace_l.texi: Renamed from
53651         doc/glibc-functions/isspace_l.texi.
53652         * doc/posix-functions/isupper_l.texi: Renamed from
53653         doc/glibc-functions/isupper_l.texi.
53654         * doc/posix-functions/iswalnum_l.texi: Renamed from
53655         doc/glibc-functions/iswalnum_l.texi.
53656         * doc/posix-functions/iswalpha_l.texi: Renamed from
53657         doc/glibc-functions/iswalpha_l.texi.
53658         * doc/posix-functions/iswblank_l.texi: Renamed from
53659         doc/glibc-functions/iswblank_l.texi.
53660         * doc/posix-functions/iswcntrl_l.texi: Renamed from
53661         doc/glibc-functions/iswcntrl_l.texi.
53662         * doc/posix-functions/iswctype_l.texi: Renamed from
53663         doc/glibc-functions/iswctype_l.texi.
53664         * doc/posix-functions/iswdigit_l.texi: Renamed from
53665         doc/glibc-functions/iswdigit_l.texi.
53666         * doc/posix-functions/iswgraph_l.texi: Renamed from
53667         doc/glibc-functions/iswgraph_l.texi.
53668         * doc/posix-functions/iswlower_l.texi: Renamed from
53669         doc/glibc-functions/iswlower_l.texi.
53670         * doc/posix-functions/iswprint_l.texi: Renamed from
53671         doc/glibc-functions/iswprint_l.texi.
53672         * doc/posix-functions/iswpunct_l.texi: Renamed from
53673         doc/glibc-functions/iswpunct_l.texi.
53674         * doc/posix-functions/iswspace_l.texi: Renamed from
53675         doc/glibc-functions/iswspace_l.texi.
53676         * doc/posix-functions/iswupper_l.texi: Renamed from
53677         doc/glibc-functions/iswupper_l.texi.
53678         * doc/posix-functions/iswxdigit_l.texi: Renamed from
53679         doc/glibc-functions/iswxdigit_l.texi.
53680         * doc/posix-functions/isxdigit_l.texi: Renamed from
53681         doc/glibc-functions/isxdigit_l.texi.
53682         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
53683         doc/glibc-functions/mbsnrtowcs.texi.
53684         * doc/posix-functions/mkdtemp.texi: Renamed from
53685         doc/glibc-functions/mkdtemp.texi.
53686         * doc/posix-functions/newlocale.texi: Renamed from
53687         doc/glibc-functions/newlocale.texi.
53688         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
53689         doc/glibc-functions/nl_langinfo_l.texi.
53690         * doc/posix-functions/open_memstream.texi: Renamed from
53691         doc/glibc-functions/open_memstream.texi.
53692         * doc/posix-functions/opterr.texi: Renamed from
53693         doc/glibc-functions/opterr.texi.
53694         * doc/posix-functions/optind.texi: Renamed from
53695         doc/glibc-functions/optind.texi.
53696         * doc/posix-functions/optopt.texi: Renamed from
53697         doc/glibc-functions/optopt.texi.
53698         * doc/posix-functions/psignal.texi: Renamed from
53699         doc/glibc-functions/psignal.texi.
53700         * doc/posix-functions/scandir.texi: Renamed from
53701         doc/glibc-functions/scandir.texi.
53702         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
53703         doc/glibc-functions/sched_get_priority_min.texi.
53704         * doc/posix-functions/signgam.texi: Renamed from
53705         doc/glibc-functions/signgam.texi.
53706         * doc/posix-functions/stpcpy.texi: Renamed from
53707         doc/glibc-functions/stpcpy.texi.
53708         * doc/posix-functions/stpncpy.texi: Renamed from
53709         doc/glibc-functions/stpncpy.texi.
53710         * doc/posix-functions/strcasecmp_l.texi: Renamed from
53711         doc/glibc-functions/strcasecmp_l.texi.
53712         * doc/posix-functions/strcoll_l.texi: Renamed from
53713         doc/glibc-functions/strcoll_l.texi.
53714         * doc/posix-functions/strfmon_l.texi: Renamed from
53715         doc/glibc-functions/strfmon_l.texi.
53716         * doc/posix-functions/strftime_l.texi: Renamed from
53717         doc/glibc-functions/strftime_l.texi.
53718         * doc/posix-functions/strncasecmp_l.texi: Renamed from
53719         doc/glibc-functions/strncasecmp_l.texi.
53720         * doc/posix-functions/strndup.texi: Renamed from
53721         doc/glibc-functions/strndup.texi.
53722         * doc/posix-functions/strnlen.texi: Renamed from
53723         doc/glibc-functions/strnlen.texi.
53724         * doc/posix-functions/strsignal.texi: Renamed from
53725         doc/glibc-functions/strsignal.texi.
53726         * doc/posix-functions/strxfrm_l.texi: Renamed from
53727         doc/glibc-functions/strxfrm_l.texi.
53728         * doc/posix-functions/timer_gettime.texi: Renamed from
53729         doc/glibc-functions/timer_gettime.texi.
53730         * doc/posix-functions/tolower_l.texi: Renamed from
53731         doc/glibc-functions/tolower_l.texi.
53732         * doc/posix-functions/toupper_l.texi: Renamed from
53733         doc/glibc-functions/toupper_l.texi.
53734         * doc/posix-functions/towctrans_l.texi: Renamed from
53735         doc/glibc-functions/towctrans_l.texi.
53736         * doc/posix-functions/towlower_l.texi: Renamed from
53737         doc/glibc-functions/towlower_l.texi.
53738         * doc/posix-functions/towupper_l.texi: Renamed from
53739         doc/glibc-functions/towupper_l.texi.
53740         * doc/posix-functions/uselocale.texi: Renamed from
53741         doc/glibc-functions/uselocale.texi.
53742         * doc/posix-functions/vdprintf.texi: Renamed from
53743         doc/glibc-functions/vdprintf.texi.
53744         * doc/posix-functions/wcpcpy.texi:
53745         Renamed from doc/glibc-functions/wcpcpy.texi.
53746         * doc/posix-functions/wcpncpy.texi: Renamed from
53747         doc/glibc-functions/wcpncpy.texi.
53748         * doc/posix-functions/wcscasecmp.texi: Renamed from
53749         doc/glibc-functions/wcscasecmp.texi.
53750         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
53751         doc/glibc-functions/wcscasecmp_l.texi.
53752         * doc/posix-functions/wcscoll_l.texi: Renamed from
53753         doc/glibc-functions/wcscoll_l.texi.
53754         * doc/posix-functions/wcsdup.texi: Renamed from
53755         doc/glibc-functions/wcsdup.texi.
53756         * doc/posix-functions/wcsncasecmp.texi: Renamed from
53757         doc/glibc-functions/wcsncasecmp.texi.
53758         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
53759         doc/glibc-functions/wcsncasecmp_l.texi.
53760         * doc/posix-functions/wcsnlen.texi: Renamed from
53761         doc/glibc-functions/wcsnlen.texi.
53762         * doc/posix-functions/wcsnrtombs.texi: Renamed from
53763         doc/glibc-functions/wcsnrtombs.texi.
53764         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
53765         doc/glibc-functions/wcsxfrm_l.texi.
53766         * doc/posix-functions/wctrans_l.texi: Renamed from
53767         doc/glibc-functions/wctrans_l.texi.
53768         * doc/posix-functions/wctype_l.texi: Renamed from
53769         doc/glibc-functions/wctype_l.texi.
53770         * doc/gnulib.texi (Function Substitutes): Add these subsections.
53771         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
53772         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
53773         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
53774         these subsections.
53775         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
53776         Remove sections.
53777
53778 2008-12-14  Bruno Haible  <bruno@clisp.org>
53779
53780         Update doc for POSIX:2008.
53781         * doc/posix-functions/*.texi: Update URL of POSIX specification.
53782
53783 2008-12-14  Bruno Haible  <bruno@clisp.org>
53784
53785         Update doc for POSIX:2008.
53786         * doc/pastposix-functions/bcmp.texi: Renamed from
53787         doc/posix-functions/bcmp.texi.
53788         * doc/pastposix-functions/bcopy.texi: Renamed from
53789         doc/posix-functions/bcopy.texi.
53790         * doc/pastposix-functions/bsd_signal.texi: Renamed from
53791         doc/posix-functions/bsd_signal.texi.
53792         * doc/pastposix-functions/bzero.texi: Renamed from
53793         doc/posix-functions/bzero.texi.
53794         * doc/pastposix-functions/ecvt.texi: Renamed from
53795         doc/posix-functions/ecvt.texi.
53796         * doc/pastposix-functions/fcvt.texi: Renamed from
53797         doc/posix-functions/fcvt.texi.
53798         * doc/pastposix-functions/ftime.texi: Renamed from
53799         doc/posix-functions/ftime.texi.
53800         * doc/pastposix-functions/gcvt.texi: Renamed from
53801         doc/posix-functions/gcvt.texi.
53802         * doc/pastposix-functions/getcontext.texi: Renamed from
53803         doc/posix-functions/getcontext.texi.
53804         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
53805         doc/posix-functions/gethostbyaddr.texi.
53806         * doc/pastposix-functions/gethostbyname.texi: Renamed from
53807         doc/posix-functions/gethostbyname.texi.
53808         * doc/pastposix-functions/getwd.texi: Renamed from
53809         doc/posix-functions/getwd.texi.
53810         * doc/pastposix-functions/h_errno.texi: Renamed from
53811         doc/posix-functions/h_errno.texi.
53812         * doc/pastposix-functions/index.texi: Renamed from
53813         doc/posix-functions/index.texi.
53814         * doc/pastposix-functions/makecontext.texi: Renamed from
53815         doc/posix-functions/makecontext.texi.
53816         * doc/pastposix-functions/mktemp.texi: Renamed from
53817         doc/posix-functions/mktemp.texi.
53818         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
53819         doc/posix-functions/pthread_attr_getstackaddr.texi.
53820         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
53821         doc/posix-functions/pthread_attr_setstackaddr.texi.
53822         * doc/pastposix-functions/rindex.texi: Renamed from
53823         doc/posix-functions/rindex.texi.
53824         * doc/pastposix-functions/scalb.texi: Renamed from
53825         doc/posix-functions/scalb.texi.
53826         * doc/pastposix-functions/setcontext.texi: Renamed from
53827         doc/posix-functions/setcontext.texi.
53828         * doc/pastposix-functions/swapcontext.texi: Renamed from
53829         doc/posix-functions/swapcontext.texi.
53830         * doc/pastposix-functions/ualarm.texi: Renamed from
53831         doc/posix-functions/ualarm.texi.
53832         * doc/pastposix-functions/usleep.texi: Renamed from
53833         doc/posix-functions/usleep.texi.
53834         * doc/pastposix-functions/vfork.texi: Renamed from
53835         doc/posix-functions/vfork.texi.
53836         * doc/pastposix-functions/wcswcs.texi: Renamed from
53837         doc/posix-functions/wcswcs.texi.
53838         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
53839         (Function Substitutes): Update.
53840
53841 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53842
53843         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
53844         m4/strerror.m4.
53845
53846 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53847             Bruno Haible  <bruno@clisp.org>
53848
53849         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
53850
53851 2008-12-13  Bruno Haible  <bruno@clisp.org>
53852
53853         * modules/strtoull (Depends-on): Remove unistd.
53854
53855 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53856
53857         * modules/strtoull (Depends-on): Add stdlib.
53858
53859 2008-12-11  Simon Josefsson  <simon@josefsson.org>
53860
53861         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
53862
53863 2008-12-10  Jim Meyering  <meyering@redhat.com>
53864
53865         gl_ASSERT: don't say assertions are disabled when they're not
53866         * m4/assert.m4 (gl_ASSERT): Do not make configure report
53867         "checking whether to enable assertions... no", when they are in
53868         fact enabled.  This is solely a bug in the output of configure.
53869         In spite of saying "no", NDEBUG was not defined in that case.
53870         Also, as noted by Eric Blake, leave assertions enabled upon
53871         --enable-assert=INVALID.
53872
53873 2008-12-10  Bruno Haible  <bruno@clisp.org>
53874
53875         Change MODULES.html to refer to POSIX:2008 where possible.
53876         * MODULES.html.sh (POSIX2008_URL): New variable.
53877         (posix_headers): Remove sys/timeb, ucontext.
53878         (posix2001_headers): New variable.
53879         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
53880         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
53881         index, makecontext, mktemp, pthread_attr_getstackaddr,
53882         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
53883         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
53884         (posix2001_functions): New variable.
53885         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
53886         otherwise.
53887
53888 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53889
53890         add missing include to parse-duration.c
53891         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
53892         * modules/parse-duration (Depends-on): Add xalloc.
53893
53894         fix sed script reading maint.mk
53895         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
53896         (syntax-check-rules): Use it.
53897
53898 2008-12-09  Bruno Haible  <bruno@clisp.org>
53899
53900         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
53901         MacOS X 10.4/PowerPC.
53902         Reported by Simon Josefsson.
53903
53904 2008-12-08  Jim Meyering  <meyering@redhat.com>
53905
53906         work around mingw's lack of some S_IF definitions
53907         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
53908         Reported by Simon Josefsson.
53909
53910 2008-12-08  Bruno Haible  <bruno@clisp.org>
53911
53912         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
53913         applied to variables. Needed on MacOS X 10.4/PowerPC.
53914         Reported by Simon Josefsson.
53915
53916 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
53917         and Eric Blake  <ebb9@byu.net>
53918
53919         assert: honor --enable-assert
53920         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
53921         order to honor --enable-assert, rather than treating it as a
53922         synonym for --disable-assert.
53923
53924 2008-12-08  Jim Meyering  <meyering@redhat.com>
53925
53926         * lib/posixtm.c: Remove now-useless declaration of mktime.
53927
53928         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
53929
53930 2008-12-07  Bruno Haible  <bruno@clisp.org>
53931
53932         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
53933         test_once): Mark functions as static.
53934         * tests/test-tls.c (test_tls): Likewise.
53935
53936 2008-12-07  Bruno Haible  <bruno@clisp.org>
53937
53938         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
53939         iconv_register_autodetect.
53940
53941 2008-12-07  Jim Meyering  <meyering@redhat.com>
53942
53943         posixtm.c: avoid a warning
53944         * lib/posixtm.c (posixtime): Don't initialize tm0.
53945         It's no longer needed to placate gcc4's -Wuninitialized,
53946         and the attempt to placate would elicit a new warning.
53947
53948         unicodeio.c: mark unused parameters
53949         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
53950         (fallback_failure_callback): Likewise.
53951
53952 2008-12-07  Bruno Haible  <bruno@clisp.org>
53953
53954         * gnulib-tool (func_create_testdir): When building the tests
53955         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
53956         Reported by Simon Josefsson.
53957
53958 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53959
53960         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
53961
53962 2008-12-06  Bruno Haible  <bruno@clisp.org>
53963
53964         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
53965         Suggested by Eric Blake.
53966
53967 2008-12-06  Bruno Haible  <bruno@clisp.org>
53968
53969         Fix a c-stack test failure on MacOS X.
53970         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
53971         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
53972         handler for SIGBUS as well.
53973         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
53974         install a signal handler for SIGBUS as well.
53975         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
53976
53977 2008-12-06  Bruno Haible  <bruno@clisp.org>
53978
53979         Advocacy documentation.
53980         * doc/gnulib-intro.texi (Benefits): New section.
53981         * doc/gnulib.texi: Update.
53982
53983 2008-12-06  Bruno Haible  <bruno@clisp.org>
53984
53985         Document the 'manywarnings' module.
53986         * doc/manywarnings.texi: New file.
53987         * doc/gnulib.texi: Include it.
53988
53989 2008-12-05  Eric Blake  <ebb9@byu.net>
53990
53991         tests: silence some gcc warnings
53992         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
53993         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
53994         type mismatches.
53995
53996 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
53997             Bruno Haible  <bruno@clisp.org>
53998
53999         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
54000
54001 2008-11-29  Jim Meyering  <meyering@redhat.com>
54002
54003         unicodeio.c: mark unused parameters
54004         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
54005         (fallback_failure_callback): Likewise.
54006
54007         fts: fix a thinko
54008         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
54009         (set_stat_type): Return S_IF*-valued "type" directly.
54010         Prompted by James Youngman's spotting a related bug.
54011         Confirmed by further testing through find.
54012
54013         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
54014         * lib/fts.c (D_TYPE): Define.
54015         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
54016         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
54017         (s_ifmt_shift_bits): New function.
54018         (set_stat_type): New function.
54019         (fts_build): When not calling fts_stat, call set_stat_type
54020         to propagate dirent.d_type info to fts_read caller.
54021         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
54022         fts_statp->st_mode type information may be valid.
54023
54024 2008-11-28  Simon Josefsson  <simon@josefsson.org>
54025
54026         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
54027         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
54028         <sds@gnu.org>.
54029
54030 2008-11-20  Bruno Haible  <bruno@clisp.org>
54031
54032         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
54033         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
54034         INCLUDE_NEXT.
54035         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
54036         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
54037         * modules/math (Makefile.am): Substitute
54038         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
54039         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54040
54041 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
54042             Bruno Haible  <bruno@clisp.org>
54043
54044         * lib/stdint.in.h: Define all type macros so that their expansion is
54045         a single typedef'ed token. Fixes a compilation failure in Boost which
54046         does "using ::int8_t;".
54047
54048 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54049
54050         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
54051         gl_MANYWARN_ALL_GCC.
54052         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
54053         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
54054         * modules/manywarnings: New file.
54055         * MODULES.html.sh: Mention manywarnings module.
54056
54057 2008-11-18  Bruno Haible  <bruno@clisp.org>
54058
54059         * doc/gnulib-tool.texi (Unit tests): New section.
54060
54061 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54062
54063         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
54064         paths like 'lib/po/foo.po'.
54065
54066 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54067
54068         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
54069         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
54070
54071 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54072
54073         * m4/warnings.m4: Use CPPFLAGS to really check whether the
54074         parameter works.
54075
54076 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54077
54078         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
54079
54080 2008-11-17  Bruce Korb  <bkorb@gnu.org>
54081
54082         * modules/parse-duration-tests: New file.
54083         * tests/test-parse-duration.sh: New file.
54084         * tests/test-parse-duration.c: New file.
54085
54086         New module 'parse-duration'.
54087         * lib/parse-duration.h: New file.
54088         * lib/parse-duration.c: New file.
54089         * modules/parse-duration: New file.
54090
54091 2008-11-17  Bruno Haible  <bruno@clisp.org>
54092
54093         * tests/test-select-out.sh: Comment out the first pipe test.
54094         Reported by Simon Josefsson.
54095
54096 2008-11-17  Bruno Haible  <bruno@clisp.org>
54097
54098         * modules/getaddrinfo (Depends-on): Add servent, hostent.
54099         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
54100         gl_HOSTENT.
54101
54102 2008-11-17  Bruno Haible  <bruno@clisp.org>
54103
54104         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
54105         -lnetwork and -lnet. Needed for Haiku and BeOS.
54106
54107 2008-11-16  Bruno Haible  <bruno@clisp.org>
54108
54109         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
54110
54111 2008-11-16  Bruno Haible  <bruno@clisp.org>
54112
54113         Avoid test failure on Haiku.
54114         * tests/test-fsync.c: Include <errno.h>.
54115         (main): Don't require that fsync (0) fails.
54116
54117 2008-11-15  Bruno Haible  <bruno@clisp.org>
54118
54119         New module 'hostent'.
54120         * modules/hostent: New file.
54121         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
54122
54123 2008-11-15  Bruno Haible  <bruno@clisp.org>
54124
54125         New module 'servent'.
54126         * modules/servent: New file.
54127         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
54128
54129 2008-11-15  Bruno Haible  <bruno@clisp.org>
54130
54131         Avoid generating same test program with two different rules.
54132         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
54133         test-frexp to test-frexp-nolibm.
54134         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
54135         test-frexpl to test-frexpl-nolibm.
54136
54137 2008-11-15  Bruno Haible  <bruno@clisp.org>
54138
54139         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
54140         $(FREXPL_LIBM).
54141
54142 2008-11-15  Bruno Haible  <bruno@clisp.org>
54143
54144         * lib/netdb.in.h: Activate the definitions also when the system's
54145         <netdb.h> has 'struct addrinfo'.
54146         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
54147         EAI_OVERFLOW or AI_NUMERICSERV.
54148         * doc/posix-headers/netdb.texi: Document the problem.
54149
54150 2008-11-15  Bruno Haible  <bruno@clisp.org>
54151
54152         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
54153
54154         Make the 'sched' module work on platforms where <sched.h> exists but
54155         is incomplete (such as Haiku).
54156         * lib/sched.in.h; Include the system's <sched.h> if it exists.
54157         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
54158         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
54159         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
54160         HAVE_STRUCT_SCHED_PARAM.
54161         * modules/sched (Depends-on): Add include_next.
54162         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
54163         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
54164         * doc/posix-headers/sched.texi: Document the issue.
54165
54166 2008-11-13  Jim Meyering  <meyering@redhat.com>
54167
54168         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
54169         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
54170         test would fail due to the difference in the Report bugs to ...
54171         line.  The expected address is empty, "<>", while the actual
54172         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
54173
54174 2008-11-12  Bruno Haible  <bruno@clisp.org>
54175
54176         lstat: don't compile lstat.c on systems lacking lstat
54177         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
54178         which don't have lstat; this is handled by lib/sys_stat.in.h already.
54179         Reported by Daniel P. Berrange via Jim Meyering.
54180
54181 2008-11-12  Jim Meyering  <meyering@redhat.com>
54182
54183         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
54184
54185 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54186
54187         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
54188         instead.
54189
54190 2008-11-12  Bruno Haible  <bruno@clisp.org>
54191
54192         * lib/unicodeio.c: Include unistr.h.
54193         (utf8_wctomb): Remove function.
54194         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
54195
54196 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54197
54198         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
54199         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
54200         <bruno@clisp.org>.
54201         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
54202
54203 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54204
54205         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
54206         * doc/gnulib.texi: Add section for warnings.
54207
54208 2008-11-11  Bruno Haible  <bruno@clisp.org>
54209
54210         * lib/sockets.h: Add a comment.
54211
54212 2008-11-11  Karl Berry  <karl@gnu.org>
54213
54214         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
54215
54216 2008-11-11  Eric Blake  <ebb9@byu.net>
54217
54218         fdl.texi: avoid git symlinks
54219         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
54220
54221 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54222
54223         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
54224
54225 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54226
54227         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
54228         (gl_WARN_ADD): Substitute $2 if literal.
54229
54230 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54231
54232         * m4/warning.m4: Remove.
54233
54234 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54235
54236         * m4/warnings.m4: Almost complete rewrite. :-)
54237
54238 2008-11-10  Simon Josefsson  <simon@josefsson.org>
54239
54240         * modules/warnings: New module.
54241         * m4/warnings.m4: New file.
54242         * MODULES.html.sh: Mention warnings module.
54243         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
54244         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54245
54246 2008-11-10  Eric Blake  <ebb9@byu.net>
54247
54248         fdl.texi: make a symlink to the latest version
54249         * doc/standards.texi: Revert today's earlier change.
54250         * doc/fdl-1.2.texi: Rename from old fdl.texi...
54251         * doc/fdl.texi: ...and replace this with a symlink to the newer
54252         fdl-1.3.texi.
54253
54254 2008-11-10  Bruno Haible  <bruno@clisp.org>
54255
54256         * tests/test-select-fd.c (main): Accept the result file name as fourth
54257         argument.
54258         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
54259         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
54260
54261 2008-11-10  Bruno Haible  <bruno@clisp.org>
54262
54263         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
54264         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
54265         as autoconf-substituted macros.
54266         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
54267         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
54268         gl_NETDB_H_DEFAULTS. Set these variables.
54269         * modules/netdb (Makefile.am): Substitute these variables.
54270
54271 2008-11-10  Eric Blake  <ebb9@byu.net>
54272
54273         standards.texi: include correct file for FDL 1.3
54274         * doc/standards.texi (GNU Free Documentation License): Change
54275         include file to pull in FDL 1.3, not 1.2.
54276
54277         fdl.texi: revert accidental change to license
54278         * doc/fdl.texi: This is FDL 1.2, not 1.3.
54279
54280 2008-11-10  Bruno Haible  <bruno@clisp.org>
54281
54282         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
54283         cross-compiling guesses also when the native compile gives no result.
54284
54285 2008-11-10  Bruno Haible  <bruno@clisp.org>
54286
54287         * lib/spawni.c (__spawni): Force variable into the stack.
54288
54289 2008-11-10  Bruno Haible  <bruno@clisp.org>
54290
54291         Add support for Haiku.
54292         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
54293         glibc and BeOS, but also on Haiku.
54294         * lib/fpurge.c (fpurge): Likewise.
54295         * lib/freadable.c (freadable): Likewise.
54296         * lib/freadahead.c (freadahead): Likewise.
54297         * lib/freading.c (freading): Likewise.
54298         * lib/freadptr.c (freadptr): Likewise.
54299         * lib/freadseek.c (freadptrinc): Likewise.
54300         * lib/fseeko.c (rpl_fseeko): Likewise.
54301         * lib/fseterr.c (fseterr): Likewise.
54302         * lib/fwritable.c (fwritable): Likewise.
54303         * lib/fwriting.c (fwriting): Likewise.
54304         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
54305
54306 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54307
54308         * lib/config.charset: Treat Haiku like BeOS.
54309
54310 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54311
54312         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
54313         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
54314
54315 2008-11-08  Bruno Haible  <bruno@clisp.org>
54316
54317         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
54318         AC_CACHE_CHECK.
54319
54320 2008-11-08  Bruno Haible  <bruno@clisp.org>
54321
54322         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
54323
54324 2008-11-08  Bruno Haible  <bruno@clisp.org>
54325
54326         * tests/test-select-fd.c: New file.
54327         * tests/test-select-in.sh: New file.
54328         * tests/test-select-out.sh: New file.
54329         * tests/test-select-stdin.c: New file.
54330         * modules/select-tests (Files): Add the new files.
54331         (Depends-on): Add gettimeofday.
54332         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
54333         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
54334         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
54335
54336 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
54337             Bruno Haible  <bruno@clisp.org>
54338
54339         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
54340
54341 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
54342
54343         * build-aux/pmccabe2html: Added support for C++ source files.
54344
54345 2008-11-05  Ben Pfaff  <blp@gnu.org>
54346
54347         Fix lib/close.c build on Windows.
54348         * modules/close (Files): Add lib/w32sock.h.
54349
54350 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
54351
54352         Accept Bison's NEWS format.
54353         * build-aux/announce-gen (print_news_deltas): Tweak
54354         $re_prefix.
54355
54356 2008-11-04  Bruno Haible  <bruno@clisp.org>
54357
54358         * modules/random_r (Maintainer): Add glibc.
54359
54360 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54361
54362         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
54363         by karl@freefriends.org (Karl Berry).
54364         * doc/alloca.texi: Likewise.
54365         * doc/c-ctype.texi: Likewise.
54366         * doc/c-strcase.texi: Likewise.
54367         * doc/c-strcaseeq.texi: Likewise.
54368         * doc/c-strcasestr.texi: Likewise.
54369         * doc/c-strstr.texi: Likewise.
54370         * doc/c-strtod.texi: Likewise.
54371         * doc/c-strtold.texi: Likewise.
54372         * doc/ctime.texi: Likewise.
54373         * doc/error.texi: Likewise.
54374         * doc/fdl.texi: Likewise.
54375         * doc/gcd.texi: Likewise.
54376         * doc/getdate.texi: Likewise.
54377         * doc/gnulib-intro.texi: Likewise.
54378         * doc/gnulib-tool.texi: Likewise.
54379         * doc/gnulib.texi: Likewise.
54380         * doc/inet_ntoa.texi: Likewise.
54381         * doc/maintain.texi: Likewise.
54382         * doc/make-stds.texi: Likewise.
54383         * doc/quote.texi: Likewise.
54384         * doc/regexprops-generic.texi: Likewise.
54385         * doc/standards.texi: Likewise.
54386         * doc/verify.texi: Likewise.
54387         * doc/visibility.texi: Likewise.
54388         * doc/gnulib.texi (GNU Free Documentation License): Include
54389         fdl-1.3.texi instead of fdl.texi.
54390
54391 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54392
54393         * doc/fdl-1.3.texi: New file, from
54394         <http://www.gnu.org/licenses/fdl-1.3.texi>.
54395         * modules/fdl-1.3: Add.
54396         * MODULES.html.sh: Add fdl-1.3.
54397
54398 2008-11-03  Bruno Haible  <bruno@clisp.org>
54399
54400         Make determination of absolute name of header file work with AIX xlc.
54401         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
54402         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
54403         preprocessing.
54404         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54405         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
54406
54407 2008-11-03  Simon Josefsson  <simon@josefsson.org>
54408
54409         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
54410         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
54411         <ludo@gnu.org>.
54412
54413 2008-11-02  Bruno Haible  <bruno@clisp.org>
54414
54415         Mark 'strpbrk' obsolete.
54416         * modules/strpbrk (Status, Notice): New sections.
54417         * modules/strtok_r (Depends-on): Add strpbrk.
54418
54419 2008-11-02  Bruno Haible  <bruno@clisp.org>
54420
54421         Mark 'strdup' obsolete.
54422         * modules/strdup (Status, Notice): New sections.
54423         * modules/findprog (Depends-on): Add strdup.
54424         * modules/getaddrinfo (Depends-on): Likewise.
54425         * modules/localename (Depends-on): Likewise.
54426         * modules/relocatable-lib (Depends-on): Likewise.
54427         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
54428         * modules/relocatable-prog (Depends-on): Likewise.
54429         * modules/trim (Depends-on): Likewise.
54430         * modules/unictype/gen-ctype (Depends-on): Likewise.
54431         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54432
54433 2008-11-02  Bruno Haible  <bruno@clisp.org>
54434
54435         Mark 'strcspn' obsolete.
54436         * modules/strcspn (Status, Notice): New sections.
54437
54438 2008-11-02  Bruno Haible  <bruno@clisp.org>
54439
54440         Mark 'rmdir' obsolete.
54441         * modules/rmdir (Status, Notice): New sections.
54442         * modules/clean-temp (Depends-on): Add rmdir.
54443         * modules/openat (Depends-on): Likewise.
54444
54445 2008-11-02  Bruno Haible  <bruno@clisp.org>
54446
54447         Mark 'raise' obsolete.
54448         * modules/raise (Status, Notice): New sections.
54449         (Include): Specify <signal.h>.
54450         * modules/stdio (Depends-on): Add raise.
54451         * modules/write (Depends-on): Likewise.
54452
54453 2008-11-02  Bruno Haible  <bruno@clisp.org>
54454
54455         Mark 'memset' obsolete.
54456         * modules/memset (Status, Notice): New sections.
54457
54458 2008-11-02  Bruno Haible  <bruno@clisp.org>
54459
54460         Mark 'memmove' obsolete.
54461         * modules/memmove (Status, Notice): New sections.
54462         * modules/argp (Depends-on): Add memmove.
54463         * modules/argz (Depends-on): Likewise.
54464         * modules/canonicalize (Depends-on): Likewise.
54465         * modules/canonicalize-lgpl (Depends-on): Likewise.
54466         * modules/fts (Depends-on): Likewise.
54467         * modules/getcwd (Depends-on): Likewise.
54468         * modules/human (Depends-on): Likewise.
54469         * modules/regex (Depends-on): Likewise.
54470         * modules/striconveh (Depends-on): Likewise.
54471         * modules/trim (Depends-on): Likewise.
54472         * modules/unistr/u8-move (Depends-on): Likewise.
54473         * modules/unistr/u16-move (Depends-on): Likewise.
54474         * modules/unistr/u32-move (Depends-on): Likewise.
54475
54476 2008-11-02  Bruno Haible  <bruno@clisp.org>
54477
54478         Mark 'memcpy' obsolete.
54479         * modules/memcpy (Status, Notice): New sections.
54480
54481 2008-11-02  Bruno Haible  <bruno@clisp.org>
54482
54483         Mark 'memcmp' obsolete.
54484         * modules/memcmp (Status, Notice): New sections.
54485         * modules/argmatch (Depends-on): Add memchr.
54486         * modules/backupfile (Depends-on): Likewise.
54487         * modules/c-strcasestr (Depends-on): Likewise.
54488         * modules/crypto/des (Depends-on): Likewise.
54489         * modules/csharpcomp (Depends-on): Likewise.
54490         * modules/fnmatch (Depends-on): Likewise.
54491         * modules/git-merge-changelog (Depends-on): Likewise.
54492         * modules/isnand (Depends-on): Likewise.
54493         * modules/isnand-nolibm (Depends-on): Likewise.
54494         * modules/isnanf (Depends-on): Likewise.
54495         * modules/isnanf-nolibm (Depends-on): Likewise.
54496         * modules/isnanl (Depends-on): Likewise.
54497         * modules/isnanl-nolibm (Depends-on): Likewise.
54498         * modules/mbchar (Depends-on): Likewise.
54499         * modules/memcoll (Depends-on): Likewise.
54500         * modules/quotearg (Depends-on): Likewise.
54501         * modules/regex (Depends-on): Likewise.
54502         * modules/relocatable-prog (Depends-on): Likewise.
54503         * modules/same (Depends-on): Likewise.
54504         * modules/signbit (Depends-on): Likewise.
54505         * modules/strcasestr-simple (Depends-on): Likewise.
54506         * modules/unictype/gen-ctype (Depends-on): Likewise.
54507         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54508         * modules/uniname/uniname (Depends-on): Likewise.
54509         * modules/unistr/u8-cmp (Depends-on): Likewise.
54510
54511 2008-11-02  Bruno Haible  <bruno@clisp.org>
54512
54513         Mark 'memchr' obsolete.
54514         * modules/memchr (Status, Notice): New sections.
54515         * modules/argp (Depends-on): Add memchr.
54516         * modules/base64 (Depends-on): Likewise.
54517         * modules/c-strcasestr (Depends-on): Likewise.
54518         * modules/chdir-long (Depends-on): Likewise.
54519         * modules/fnmatch (Depends-on): Likewise.
54520         * modules/getsubopt (Depends-on): Likewise.
54521         * modules/git-merge-changelog (Depends-on): Likewise.
54522         * modules/glob (Depends-on): Likewise.
54523         * modules/strcasestr-simple (Depends-on): Likewise.
54524         * modules/strnlen (Depends-on): Likewise.
54525
54526 2008-11-02  Bruno Haible  <bruno@clisp.org>
54527
54528         Mark 'atexit' obsolete.
54529         * modules/atexit (Status, Notice): New sections.
54530         * modules/chdir-long (Depends-on): Add atexit.
54531         * modules/wait-process (Depends-on): Likewise.
54532
54533 2008-11-02  Bruno Haible  <bruno@clisp.org>
54534
54535         * gnulib-tool: New option --with-obsolete.
54536         (func_usage): Document it.
54537         (func_modules_transitive_closure): Drop obsolete dependencies if
54538         incobsolete is not true.
54539         (func_import): Read and save the incobsolete variable to the cache.
54540
54541 2008-11-02  Bruno Haible  <bruno@clisp.org>
54542
54543         * modules/TEMPLATE-EXTENDED: New field 'Status'.
54544         * gnulib-tool: New option --extract-status.
54545         (func_usage): Document it.
54546         (sed_extract_prog): Recognize it.
54547         (func_get_status): New function.
54548
54549 2008-10-30  Simon Josefsson  <simon@josefsson.org>
54550
54551         * modules/sockets (License): Change from LGPL to LGPLv2+.
54552
54553 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54554
54555         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
54556
54557 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54558
54559         * MODULES.html.sh (Support for systems lacking POSIX:2001):
54560         Mention times and sys_times.
54561         * modules/sys_times, modules/sys_times-tests: New modules.
54562         * modules/times, modules/times-tests: Likewise
54563         * m4/sys_times_h.m4: New file.
54564         * lib/sys_times.in.h: Likewise
54565         * lib/times.c: Likewise.
54566         * tests/test-sys_times.c: Likewise.
54567         * tests/test-times.c: Likewise.
54568         * doc/posix-headers/sys_times.texi: Update.
54569         * doc/posix-functions/times.texi: Update.
54570
54571 2008-10-28  Jim Meyering  <meyering@redhat.com>
54572
54573         * modules/tempname (Depends-on): Add lstat.
54574
54575         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
54576
54577 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54578
54579         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
54580         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
54581         using idiom used elsewhere in gnulib.
54582
54583 2008-10-27  Jim Meyering  <meyering@redhat.com>
54584
54585         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
54586
54587 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54588
54589         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
54590         TESTS_ENVIRONMENT, for shell scripts that needs to call built
54591         programs.
54592         * tests/test-argp-2.sh: Use $EXEEXT when needed.
54593
54594 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54595
54596         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
54597
54598 2008-10-27  Bruno Haible  <bruno@clisp.org>
54599
54600         * tests/test-lstat.c: Include <stdio.h>.
54601
54602 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54603
54604         * modules/lstat-tests: New module.
54605         * tests/test-lstat.c: New file.
54606
54607 2008-10-26  Jim Meyering  <meyering@redhat.com>
54608
54609         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
54610
54611 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54612             Bruno Haible  <bruno@clisp.org>
54613
54614         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
54615         * modules/configmake (Include): Add a note that the include must come
54616         after all system headers.
54617         * lib/javaversion.c: Include configmake.h after all other includes.
54618
54619 2008-10-26  Bruno Haible  <bruno@clisp.org>
54620
54621         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
54622         HAVE_STRUCT_RANDOM_DATA to 1.
54623         (gl_STDLIB_H): Simplify.
54624
54625 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54626
54627         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
54628         substitute HAVE_STRUCT_RANDOM_DATA.
54629         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
54630         random_data.
54631         * modules/stdlib (Makefile.am): Substitute
54632         HAVE_STRUCT_RANDOM_DATA.
54633
54634 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54635
54636         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
54637         * doc/gnulib-intro.texi (Copyright): Likewise.
54638
54639 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54640
54641         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
54642         findings.
54643
54644 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
54645             Bruno Haible  <bruno@clisp.org>
54646
54647         * lib/unistd.in.h: Include <winsock2.h>.
54648         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
54649         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
54650         Provide dummy declarations.
54651         (gethostname): Override.
54652         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
54653         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
54654         gl_PREREQ_SYS_H_WINSOCK2.
54655         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
54656         * doc/posix-functions/gethostname.texi: More details.
54657
54658 2008-10-25  Bruno Haible  <bruno@clisp.org>
54659
54660         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
54661         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
54662         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
54663
54664         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
54665         here ...
54666         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
54667         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
54668         gl_UNISTD_H_DEFAULTS.
54669
54670 2008-10-25  Eric Blake  <ebb9@byu.net>
54671
54672         signbit: avoid spurious compiler failure
54673         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
54674         declarations inside function.
54675
54676 2008-10-24  Simon Josefsson  <simon@josefsson.org>
54677             Bruno Haible  <bruno@clisp.org>
54678
54679         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
54680         * modules/random_r (Depends-on): Add stdint.
54681
54682 2008-10-24  Bruno Haible  <bruno@clisp.org>
54683
54684         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
54685         Eggert.
54686         * modules/strerror (License): Likewise.
54687
54688 2008-10-24  Jim Meyering  <meyering@redhat.com>
54689
54690         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
54691         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
54692
54693 2008-10-24  Eric Blake  <ebb9@byu.net>
54694
54695         getgroups: fix compilation when getgroups is available
54696         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
54697         but with <config.h> override of getgroups disabled.
54698
54699 2008-10-24  Simon Josefsson  <simon@josefsson.org>
54700
54701         * doc/gnulib.texi (Header files): Add note about C++ problems.
54702         Explained by Bruno Haible <bruno@clisp.org>.
54703
54704 2008-10-23  Bruno Haible  <bruno@clisp.org>
54705
54706         Define a dummy SA_NODEFER macro on Interix.
54707         * lib/signal.in.h (SA_NODEFER): Define fallback.
54708         Reported by Aleksey Cheusov <cheusov@tut.by> via
54709         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
54710
54711 2008-10-23  Bruno Haible  <bruno@clisp.org>
54712
54713         * modules/freadahead (License): Change to LGPLv2+.
54714         Suggested by Simon Josefsson.
54715
54716 2008-10-23  Jim Meyering  <meyering@redhat.com>
54717
54718         random_r: new module
54719         * modules/random_r: New file.
54720         * m4/random_r.m4: New file.
54721         * lib/random_r.c: New file, from glibc.
54722         * modules/random_r-tests: New file.
54723         * tests/test-random_r.c: New file.
54724         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
54725          Declare.
54726         (RAND_MAX): Define.
54727         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
54728         * modules/stdlib: Substitute them, too.
54729         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
54730         * doc/glibc-functions/initstate_r.texi: Mention the new module.
54731         * doc/glibc-functions/random_r.texi: Likewise.
54732         * doc/glibc-functions/setstate_r.texi: Likewise.
54733         * doc/glibc-functions/srandom_r.texi: Likewise.
54734         * config/srclist.txt: Mention it.
54735
54736 2008-10-23  David Lutterkort  <lutter@redhat.com>
54737
54738         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
54739         link requirement
54740
54741 2008-10-23  Jim Meyering  <meyering@redhat.com>
54742
54743         selinux-h: mark parameters of stub functions as intentionally unused
54744         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
54745         * lib/se-context.in.h: Likewise.
54746
54747 2008-10-22  Simon Josefsson  <simon@josefsson.org>
54748
54749         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
54750
54751 2008-10-22  Simon Josefsson  <simon@josefsson.org>
54752
54753         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
54754
54755 2008-10-22  Eric Blake  <ebb9@byu.net>
54756
54757         glthread/thread: avoid compiler warning
54758         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
54759         Add unreachable abort to silence compiler.
54760
54761 2008-10-22  Eric Blake  <ebb9@byu.net>
54762
54763         netdb: also supply struct addrinfo for cygwin 1.5.x
54764         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
54765         older cygwin.
54766         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
54767         cygwin.
54768         * doc/posix-headers/netdb.texi (netdb.h): Document this.
54769
54770 2008-10-22  Bruno Haible  <bruno@clisp.org>
54771
54772         * users.txt: Update entry about pspp.
54773
54774 2008-10-21  Bruno Haible  <bruno@clisp.org>
54775
54776         Simplification.
54777         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
54778         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
54779
54780         Simplification.
54781         * lib/ioctl.c (ioctl): Don't undefine.
54782         * lib/socket.c (socket): Don't undefine.
54783
54784         Remove unused module indicator macros.
54785         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
54786         GNULIB_$1 as a C macro.
54787
54788         * doc/posix-functions/close.texi: Undo last change.
54789         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
54790         Windows platforms.
54791
54792 2008-10-21  Bruno Haible  <bruno@clisp.org>
54793
54794         Add gethostname() declaration to <unistd.h>.
54795         * lib/unistd.in.h (gethostname): New declaration.
54796         * lib/gethostname.c: Include <unistd.h>.
54797         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
54798         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
54799         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
54800         and HAVE_GETHOSTNAME.
54801         * modules/gethostname (Depends-on): Add unistd.
54802         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
54803         (Include): Specify <unistd.h>.
54804         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
54805         HAVE_GETHOSTNAME.
54806         * tests/test-gethostname.c: Include <unistd.h> first.
54807
54808 2008-10-21  Bruno Haible  <bruno@clisp.org>
54809
54810         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
54811         * modules/select-tests (Depends-on): Likewise.
54812         Reported by Simon Josefsson.
54813
54814 2008-10-21  Simon Josefsson  <simon@josefsson.org>
54815
54816         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
54817         * lib/accept.c: New file, based on winsock.c.
54818         * lib/bind.c: New file, based on winsock.c.
54819         * lib/connect.c: New file, based on winsock.c.
54820         * lib/getpeername.c: New file, based on winsock.c.
54821         * lib/getsockname.c: New file, based on winsock.c.
54822         * lib/getsockopt.c: New file, based on winsock.c.
54823         * lib/ioctl.c: New file, based on winsock.c.
54824         * lib/listen.c: New file, based on winsock.c.
54825         * lib/recv.c: New file, based on winsock.c.
54826         * lib/recvfrom.c: New file, based on winsock.c.
54827         * lib/send.c: New file, based on winsock.c.
54828         * lib/sendto.c: New file, based on winsock.c.
54829         * lib/setsockopt.c: New file, based on winsock.c.
54830         * lib/shutdown.c: New file, based on winsock.c.
54831         * lib/socket.c: New file, based on winsock.c.
54832         * lib/w32sock.h: New file, based on winsock.c.
54833         * lib/winsock.c: Remove file.
54834         * modules/accept: Likewise.
54835         * modules/bind: Likewise.
54836         * modules/connect: Likewise.
54837         * modules/getpeername: Likewise.
54838         * modules/getsockname: Likewise.
54839         * modules/getsockopt: Likewise.
54840         * modules/ioctl: Likewise.
54841         * modules/listen: Likewise.
54842         * modules/recv: Likewise.
54843         * modules/recvfrom: Likewise.
54844         * modules/send: Likewise.
54845         * modules/sendto: Likewise.
54846         * modules/setsockopt: Likewise.
54847         * modules/shutdown: Likewise.
54848         * modules/socket: Use socket.c instead of winsock.c.
54849         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
54850         * doc/posix-functions/accept.texi: Doc fix.
54851         * doc/posix-functions/bind.texi: Doc fix.
54852         * doc/posix-functions/close.texi: Doc fix.
54853         * doc/posix-functions/connect.texi: Doc fix.
54854         * doc/posix-functions/getpeername.texi: Doc fix.
54855         * doc/posix-functions/getsockname.texi: Doc fix.
54856         * doc/posix-functions/getsockopt.texi: Doc fix.
54857         * doc/posix-functions/ioctl.texi: Doc fix.
54858         * doc/posix-functions/listen.texi: Doc fix.
54859         * doc/posix-functions/recv.texi: Doc fix.
54860         * doc/posix-functions/recvfrom.texi: Doc fix.
54861         * doc/posix-functions/send.texi: Doc fix.
54862         * doc/posix-functions/sendto.texi: Doc fix.
54863         * doc/posix-functions/setsockopt.texi: Doc fix.
54864         * doc/posix-functions/shutdown.texi: Doc fix.
54865         * doc/posix-functions/socket.texi: Doc fix.
54866
54867 2008-10-20  Bruno Haible  <bruno@clisp.org>
54868
54869         Take into account the role of SIGABRT_COMPAT on Windows 2008.
54870         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
54871         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
54872         as an alias for SIGABRT.
54873         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
54874         (sigaction): Map it to SIGABRT.
54875         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
54876
54877 2008-10-20  Bruno Haible  <bruno@clisp.org>
54878
54879         * lib/fts.c: Don't include lstat.h.
54880         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
54881
54882         Move the lstat() declaration to <sys/stat.h>.
54883         * lib/lstat.h: Remove file.
54884         * lib/sys_stat.in.h: Add special invocation convention.
54885         (lstat): New declaration.
54886         * lib/lstat.c (orig_lstat): New function.
54887         (rpl_lstat): Use orig_lstat instead of lstat.
54888         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
54889         AC_C_INLINE. Set REPLACE_LSTAT.
54890         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
54891         and REPLACE_LSTAT.
54892         * modules/lstat (Files): Remove lib/lstat.h.
54893         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
54894         (Include): Specify <sys/stat.h> instead of lstat.h.
54895         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
54896         REPLACE_LSTAT.
54897         * NEWS: Mention the change.
54898
54899 2008-10-20  Bruno Haible  <bruno@clisp.org>
54900
54901         * modules/posix_spawn-tests: New file.
54902         * tests/test-posix_spawn3.c: New file.
54903
54904 2008-10-20  Bruno Haible  <bruno@clisp.org>
54905
54906         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
54907         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
54908         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
54909         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
54910         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
54911
54912 2008-10-20  Bruno Haible  <bruno@clisp.org>
54913
54914         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
54915         of posix_spawn on AIX 5.3.
54916
54917 2008-10-20  Bruno Haible  <bruno@clisp.org>
54918
54919         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
54920
54921 2008-10-20  Bruno Haible  <bruno@clisp.org>
54922
54923         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
54924         of AC_LANG_PROGRAM.
54925
54926 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54927
54928         * lib/netdb.in.h: Don't define GNU specific constants until they
54929         are supported or needed.  Reported by Bruno Haible
54930         <bruno@clisp.org>.
54931
54932 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54933
54934         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
54935
54936 2008-10-20  Simon Josefsson  <simon@josefsson.org>
54937
54938         * lib/getaddrinfo.h: Remove file.
54939         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
54940         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
54941         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
54942         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
54943         * modules/netdb: Substitute GNULIB_GETADDRINFO.
54944         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
54945         * tests/test-getaddrinfo.c: Likewise.
54946         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
54947         * NEWS: Mention change.
54948
54949 2008-10-19  Bruno Haible  <bruno@clisp.org>
54950
54951         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
54952
54953 2008-10-19  Bruno Haible  <bruno@clisp.org>
54954
54955         * lib/wait-process.c: Include simply <sys/wait.h>.
54956         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
54957         WIFSTOPPED): Remove fallback definitions.
54958         * modules/wait-process (Depends-on): Add sys_wait.
54959
54960         New module 'sys_wait'.
54961         * modules/sys_wait: New file.
54962         * lib/sys_wait.in.h: New file, partially copied from
54963         lib/wait-process.c.
54964         * m4/sys_wait_h.m4: New file.
54965         * doc/posix-headers/sys_wait.texi: Mention the new module.
54966
54967 2008-10-19  Bruno Haible  <bruno@clisp.org>
54968
54969         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
54970
54971 2008-10-19  Bruno Haible  <bruno@clisp.org>
54972
54973         Assume that waitpid() fills an 'int' status, not a 'union wait'.
54974         * lib/wait-process.c (WAIT_T): Remove type.
54975         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
54976         (wait_subprocess): Update.
54977
54978 2008-10-19  Bruno Haible  <bruno@clisp.org>
54979
54980         New module 'atoll'.
54981         * modules/atoll: New file.
54982         * lib/stdlib.in.h (atoll): New declaration.
54983         * lib/atoll.c: New file, from glibc with modifications.
54984         * m4/atoll.m4: New file.
54985         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
54986         HAVE_ATOLL.
54987         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
54988         * doc/posix-functions/atoll.texi: Mention the new module.
54989
54990 2008-10-19  Bruno Haible  <bruno@clisp.org>
54991
54992         Add strtoull() declaration to <stdlib.h>.
54993         * lib/stdlib.in.h (strtoull): New declaration.
54994         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
54995         Set HAVE_STRTOULL.
54996         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
54997         HAVE_STRTOULL.
54998         * modules/strtoull (Depends-on): Add stdlib.
54999         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55000         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
55001         HAVE_STRTOULL.
55002
55003 2008-10-19  Bruno Haible  <bruno@clisp.org>
55004
55005         Add strtoll() declaration to <stdlib.h>.
55006         * lib/stdlib.in.h (strtoll): New declaration.
55007         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
55008         Set HAVE_STRTOLL.
55009         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
55010         HAVE_STRTOLL.
55011         * modules/strtoll (Depends-on): Add stdlib.
55012         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55013         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
55014
55015 2008-10-19  Bruno Haible  <bruno@clisp.org>
55016
55017         * modules/bcopy (Depends-on): Add strings.
55018         (Include): Specify <strings.h>.
55019
55020 2008-10-19  Bruno Haible  <bruno@clisp.org>
55021
55022         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
55023
55024 2008-10-19  Bruno Haible  <bruno@clisp.org>
55025
55026         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
55027         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
55028         mingw.
55029
55030 2008-10-19  Bruno Haible  <bruno@clisp.org>
55031
55032         * lib/atanl.c: Don't include isnanl.h.
55033         * lib/cosl.c: Likewise.
55034         * lib/ldexpl.c: Likewise.
55035         * lib/logl.c: Likewise.
55036         * lib/sinl.c: Likewise.
55037         * lib/sqrtl.c: Likewise.
55038         * lib/tanl.c: Likewise.
55039
55040         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
55041         * lib/isnanf.h: Remove file.
55042         * lib/isnand.h: Remove file.
55043         * lib/isnanl.h: Remove file.
55044         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
55045         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
55046         macros.
55047         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
55048         HAVE_ISNANF, don't define it as a C macro.
55049         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
55050         HAVE_ISNAND, don't define it as a C macro.
55051         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
55052         HAVE_ISNANL, don't define it as a C macro.
55053         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
55054         HAVE_ISNAN[FDL].
55055         * modules/isnanf (Files): Remove lib/isnanf.h.
55056         (Depends-on): Add math.
55057         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55058         (Include): Specify <math.h> instead of isnanf.h.
55059         * modules/isnand (Files): Remove lib/isnand.h.
55060         (Depends-on): Add math.
55061         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55062         (Include): Specify <math.h> instead of isnand.h.
55063         * modules/isnanl (Files): Remove lib/isnanl.h.
55064         (Depends-on): Add math.
55065         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55066         (Include): Specify <math.h> instead of isnanl.h.
55067         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
55068         HAVE_ISNAN[FDL].
55069         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
55070         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
55071         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
55072         * NEWS: Mention the change.
55073
55074 2008-10-18  Bruno Haible  <bruno@clisp.org>
55075
55076         Add getusershell(), setusershell(), endusershell() declarations to
55077         <unistd.h>.
55078         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
55079         declarations.
55080         * lib/getusershell.c: Include unistd.h.
55081         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
55082         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55083         HAVE_GETUSERSHELL.
55084         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
55085         and HAVE_GETUSERSHELL.
55086         * modules/getusershell (Depends-on): Add unistd, extensions.
55087         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55088         (Include): Specify <unistd.h>.
55089         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
55090         HAVE_GETUSERSHELL.
55091
55092 2008-10-18  Bruno Haible  <bruno@clisp.org>
55093
55094         Add a getloadavg() declaration to <stdlib.h>.
55095         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
55096         getloadavg declaration.
55097         (getloadavg): New declaration.
55098         * lib/getloadavg.c: Include <stdlib.h> first.
55099         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
55100         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
55101         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
55102         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
55103         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55104         * modules/getloadavg (Depends-on): Add stdlib, extensions.
55105         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55106         (Include): Specify <stdlib.h>.
55107         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
55108         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55109
55110 2008-10-18  Bruno Haible  <bruno@clisp.org>
55111
55112         * lib/dirchownmod.c: Don't include lchmod.h.
55113
55114         Move the lchmod() declaration to <sys/stat.h>.
55115         * lib/lchmod.h: Remove file.
55116         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
55117         (lchmod): New declaration, moved here from lib/lchown.h.
55118         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
55119         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
55120         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
55121         and HAVE_LCHMOD.
55122         * modules/lchmod (Files): Remove lib/lchmod.h.
55123         (Depends-on): Add sys_stat, extensions.
55124         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
55125         (Include): Specify <sys/stat.h> instead of lchmod.h.
55126         * modules/sys_stat (Depends-on): Add link-warning.
55127         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
55128         definition of GL_LINK_WARNING.
55129         * NEWS: Mention the change.
55130
55131 2008-10-18  Bruno Haible  <bruno@clisp.org>
55132
55133         * lib/fchdir.c: Don't include dirfd.h.
55134         * lib/fts.c: Likewise.
55135         * lib/getcwd.c: Likewise.
55136         * lib/glob.c: Likewise.
55137
55138         Move the dirfd() declaration to <dirent.h>.
55139         * lib/dirfd.h: Remove file.
55140         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
55141         (dirfd): New declaration.
55142         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
55143         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
55144         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
55145         HAVE_DECL_DIRFD.
55146         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
55147         HAVE_DECL_DIRFD.
55148         * modules/dirfd (Files): Remove lib/dirfd.h.
55149         (Depends-on): Add dirent, extensions.
55150         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
55151         (Include): Specify <dirent.h> instead of dirfd.h.
55152         * modules/dirent (Depends-on): Add link-warning.
55153         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
55154         definition of GL_LINK_WARNING.
55155         * NEWS: Mention the change.
55156
55157 2008-10-18  Bruno Haible  <bruno@clisp.org>
55158
55159         Move the euidaccess() declaration to <unistd.h>.
55160         * lib/euidaccess.h: Remove file.
55161         * lib/unistd.in.h (euidaccess): New declaration.
55162         * lib/euidaccess.c: Don't include euidaccess.h.
55163         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
55164         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
55165         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
55166         and HAVE_EUIDACCESS.
55167         * modules/euidaccess (Files): Remove lib/euidaccess.h.
55168         (Depends-on): Add unistd.
55169         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55170         (Include): Specify <unistd.h> instead of euidaccess.h.
55171         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
55172         HAVE_EUIDACCESS.
55173         * NEWS: Mention the change.
55174
55175 2008-10-18  Bruno Haible  <bruno@clisp.org>
55176
55177         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
55178
55179         Move the getdomainname() declaration to <unistd.h>.
55180         * lib/getdomainname.h: Remove file.
55181         * lib/unistd.in.h (getdomainname): New declaration.
55182         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
55183         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
55184         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55185         HAVE_GETDOMAINNAME.
55186         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55187         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
55188         * modules/getdomainname (Files): Remove lib/getdomainname.h.
55189         (Depends-on): Add unistd, extensions.
55190         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55191         (Includes): Specify <unistd.h> instead of getdomainname.h.
55192         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
55193         HAVE_GETDOMAINNAME.
55194         * NEWS: Mention the change.
55195
55196 2008-10-18  Bruno Haible  <bruno@clisp.org>
55197
55198         * modules/dirent: New file.
55199         * m4/dirent_h.m4: New file.
55200         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
55201         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
55202         * modules/fchdir (Files): Remove lib/dirent.in.h.
55203         (Depends-on): Add dirent.
55204         (Makefile.am): Move rules to modules/dirent.
55205         * doc/posix-headers/dirent.texi: Mention the new module.
55206
55207 2008-10-18  Bruno Haible  <bruno@clisp.org>
55208
55209         Avoid -Wunused-parameter warnings in public gnulib header files.
55210         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
55211         macro.
55212         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
55213
55214 2008-10-18  Bruno Haible  <bruno@clisp.org>
55215
55216         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
55217         * doc/glibc-functions/error.texi: Mention the module 'error'.
55218         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
55219         * doc/glibc-functions/getdomainname.texi: Mention the module
55220         'getdomainname'.
55221         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
55222         * doc/glibc-functions/getpagesize.texi: Mention the module
55223         'getpagesize'.
55224         * doc/glibc-functions/getusershell.texi: Mention the module
55225         'getusershell'.
55226         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
55227         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
55228         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
55229         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
55230         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
55231         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
55232         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
55233         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
55234         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
55235         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
55236         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
55237         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
55238         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
55239         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
55240
55241 2008-10-17  Bruno Haible  <bruno@clisp.org>
55242
55243         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
55244         HP-UX and IRIX, use -0.0L.
55245         * tests/test-ceill.c (minus_zero): Likewise.
55246         * tests/test-floorl.c (minus_zero): Likewise.
55247         * tests/test-frexpl.c (minus_zero): Likewise.
55248         * tests/test-isnan.c (minus_zerol): Likewise.
55249         * tests/test-isnanl.h (minus_zero): Likewise.
55250         * tests/test-ldexpl.c (minus_zero): Likewise.
55251         * tests/test-roundl.c (minus_zero): Likewise.
55252         * tests/test-signbit.c (minus_zerol): Likewise.
55253         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
55254         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
55255         * tests/test-truncl.c (minus_zero): Likewise.
55256         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
55257         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
55258         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
55259         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
55260
55261 2008-10-17  Bruno Haible  <bruno@clisp.org>
55262
55263         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
55264         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
55265         that it gets activated only for gcc >= 3.0.
55266         * lib/dirent.in.h: Likewise.
55267         * lib/errno.in.h: Likewise.
55268         * lib/fcntl.in.h: Likewise.
55269         * lib/float.in.h: Likewise.
55270         * lib/iconv.in.h: Likewise.
55271         * lib/inttypes.in.h: Likewise.
55272         * lib/locale.in.h: Likewise.
55273         * lib/math.in.h: Likewise.
55274         * lib/netdb.in.h: Likewise.
55275         * lib/netinet_in.in.h: Likewise.
55276         * lib/search.in.h: Likewise.
55277         * lib/signal.in.h: Likewise.
55278         * lib/spawn.in.h: Likewise.
55279         * lib/stdarg.in.h: Likewise.
55280         * lib/stdint.in.h: Likewise.
55281         * lib/stdio.in.h: Likewise.
55282         * lib/stdlib.in.h: Likewise.
55283         * lib/string.in.h: Likewise.
55284         * lib/strings.in.h: Likewise.
55285         * lib/sys_file.in.h: Likewise.
55286         * lib/sys_ioctl.in.h: Likewise.
55287         * lib/sys_select.in.h: Likewise.
55288         * lib/sys_socket.in.h: Likewise.
55289         * lib/sys_stat.in.h: Likewise.
55290         * lib/sys_time.in.h: Likewise.
55291         * lib/sysexits.in.h: Likewise.
55292         * lib/time.in.h: Likewise.
55293         * lib/unistd.in.h: Likewise.
55294         * lib/wchar.in.h: Likewise.
55295         * lib/wctype.in.h: Likewise.
55296         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55297
55298 2008-10-17  Jim Meyering  <meyering@redhat.com>
55299
55300         ignore-value: don't depend on inline module
55301         * modules/ignore-value (Depends-on): Remove 'inline'.
55302         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
55303         Suggestion from Bruno Haible.
55304
55305 2008-10-17  Bruno Haible  <bruno@clisp.org>
55306
55307         New implementation of condition variables for Win32.
55308         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
55309         (gl_linked_waitqueue_t): New type.
55310         (gl_cond_t): Use it.
55311         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
55312         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
55313         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
55314         (glthread_cond_init_func, glthread_cond_wait_func,
55315         glthread_cond_timedwait_func, glthread_cond_signal_func,
55316         glthread_cond_broadcast_func, glthread_cond_destroy_func):
55317         Reimplemented on the basis of gl_linked_waitqueue_t.
55318         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
55319         gl_waitqueue_t.
55320         (gl_rwlock_t): Update.
55321         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
55322
55323 2008-10-17  Simon Josefsson  <simon@josefsson.org>
55324
55325         * modules/recvfrom (Depends-on): Add dependency on getpeername.
55326         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55327
55328 2008-10-17  Jim Meyering  <meyering@redhat.com>
55329
55330         ignore-value: new module
55331         * modules/ignore-value: New file.
55332         * lib/ignore-value.h: New file.
55333         * MODULES.html.sh (Compiler warning management): New section,
55334         just for this module.  More to come.
55335
55336 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55337
55338         open-safer.c: avoid 'signed and unsigned in conditional...' warning
55339         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
55340         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
55341
55342 2008-10-16  Jim Meyering  <meyering@redhat.com>
55343
55344         openat-die.c: avoid 'no previous prototype' warning
55345         * lib/openat-die.c: Include "openat.h".
55346         Reported by Reuben Thomas <rrt@sc3d.org>.
55347
55348 2008-10-16  Simon Josefsson  <simon@josefsson.org>
55349
55350         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
55351         * lib/netdb.in.h: Fix typo.
55352         Reported by Bruno Haible  <bruno@clisp.org>
55353
55354         * lib/netdb.in.h: Include sys/socket.h for platforms without
55355         netdb.h, to get structures like hostent on MinGW.
55356         * modules/netdb (Depends-on): Add sys_socket.
55357
55358 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55359
55360         * modules/netdb, modules/netdb-tests: New file.
55361         * m4/netdb_h.m4: New file.
55362         * lib/netdb.in.h: Add, currently just an empty file pending
55363         definitions.
55364         * tests/test-netdb.c: New file.
55365         * doc/posix-headers/netdb.texi: Mention that we replace it if
55366         needed.
55367         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55368         netdb.
55369
55370 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55371
55372         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
55373         with code.
55374
55375 2008-10-13  Bruno Haible  <bruno@clisp.org>
55376
55377         * lib/glthread/cond.c (glthread_cond_wait_func,
55378         glthread_cond_timedwait_func): Add a comment.
55379
55380 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55381
55382         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
55383         * tests/test-select.c: Likewise,
55384
55385 2008-10-13  Bruno Haible  <bruno@clisp.org>
55386
55387         * lib/glthread/cond.c (glthread_cond_wait_func,
55388         glthread_cond_timedwait_func): Fix variable name.
55389         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55390
55391 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
55392
55393         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
55394         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
55395         struct sockaddr.sa_len.
55396         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
55397
55398 2008-10-13  Simon Josefsson  <simon@josefsson.org>
55399
55400         * build-aux/pmccabe2html: Add css and css_url parameters.
55401
55402 2008-10-12  Bruno Haible  <bruno@clisp.org>
55403
55404         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
55405         calling aclx_get.
55406         Reported by Rainer Tammer <tammer@tammer.net>.
55407
55408 2008-10-12  Bruno Haible  <bruno@clisp.org>
55409
55410         Use msvcrt aware primitives for creation/termination of Win32 threads.
55411         * lib/glthread/thread.c: Include <process.h>.
55412         (glthread_create_func): Use _beginthreadex instead of CreateThread.
55413         (wrapper_func): Update signature.
55414         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
55415
55416 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55417             Bruno Haible  <bruno@clisp.org>
55418
55419         Provide a Win32 implementation of the 'cond' module.
55420         * lib/glthread/cond.h [USE_WIN32]: New implementation.
55421         * lib/glthread/cond.c (glthread_cond_init_func,
55422         glthread_cond_wait_func, glthread_cond_timedwait_func,
55423         glthread_cond_signal_func, glthread_cond_broadcast_func,
55424         glthread_cond_destroy_func) [USE_WIN32]: New functions.
55425         * modules/cond (Dependencies): Add gettimeofday.
55426
55427 2008-10-11  Bruno Haible  <bruno@clisp.org>
55428
55429         Make sleep work on older versions of mingw.
55430         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
55431         only whether it exists.
55432         * doc/posix-functions/sleep.texi: Mention the problem with older
55433         versions of mingw.
55434
55435 2008-10-11  Bruno Haible  <bruno@clisp.org>
55436
55437         New module 'shutdown'.
55438         * modules/shutdown: New file.
55439         * lib/sys_socket.in.h (shutdown): New declaration.
55440         * lib/winsock.c (shutdown): New function.
55441         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
55442         GNULIB_SHUTDOWN.
55443         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
55444         * doc/posix-functions/shutdown.texi: Document the new module.
55445
55446 2008-10-11  Jim Meyering  <meyering@redhat.com>
55447
55448         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
55449
55450 2008-10-11  Bruno Haible  <bruno@clisp.org>
55451
55452         New module 'fclose'.
55453         * modules/fclose: New file.
55454         * lib/stdio.in.h (fclose): New declaration.
55455         * lib/fclose.c: New file.
55456         * m4/fclose.m4: New file.
55457         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
55458         REPLACE_FCLOSE.
55459         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
55460         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
55461         REPLACE_FCLOSE.
55462         * modules/close (Depends-on): fclose.
55463         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
55464
55465 2008-10-11  Bruno Haible  <bruno@clisp.org>
55466
55467         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
55468         set errno and don't call _close.
55469
55470 2008-10-10  Bruno Haible  <bruno@clisp.org>
55471
55472         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
55473         ACL, not afterwards. Fixes test failure on Cygwin.
55474
55475 2008-10-09  Ben Pfaff  <blp@gnu.org>
55476
55477         * build-aux/announce-gen: Fix gnulib version related part of usage
55478         message.  Die with a useful error message if no tarballs are
55479         found.
55480
55481 2008-10-10  Jim Meyering  <meyering@redhat.com>
55482
55483         bootstrap: use git's --depth=N option only if it's supported
55484         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
55485         recognize the --depth option.  Reported by Pádraig Brady.
55486
55487 2008-10-09  Bruno Haible  <bruno@clisp.org>
55488
55489         New module 'ioctl'.
55490         * modules/ioctl: New file.
55491         * lib/sys_socket.in.h (ioctl): Remove declaration.
55492         * lib/winsock.c: Include <sys/ioctl.h>.
55493         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
55494         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
55495         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
55496         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
55497         * doc/posix-functions/ioctl.texi: Mention the new module.
55498
55499 2008-10-09  Bruno Haible  <bruno@clisp.org>
55500
55501         New module 'sys_ioctl'.
55502         * lib/sys_ioctl.in.h: New file.
55503         * m4/sys_ioctl_h.m4: New file.
55504         * modules/sys_ioctl: New file.
55505         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
55506
55507 2008-10-09  Bruno Haible  <bruno@clisp.org>
55508
55509         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
55510         * lib/winsock.c: Include <stdarg.h>.
55511         (rpl_ioctl): Change to second argument 'int' and then varargs.
55512
55513 2008-10-09  Bruno Haible  <bruno@clisp.org>
55514
55515         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
55516         when the sys_socket module is present and the system has <winsock2.h>.
55517
55518 2008-10-09  Bruno Haible  <bruno@clisp.org>
55519
55520         * doc/posix-functions/close.texi: Mention module 'close' instead of
55521         module 'sys_socket'.
55522
55523 2008-10-09  Bruno Haible  <bruno@clisp.org>
55524
55525         * doc/glibc-headers/sys_ioctl.texi: New file.
55526         * doc/gnulib.texi: Include it.
55527
55528 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55529             Bruno Haible  <bruno@clisp.org>
55530
55531         Combine the two replacements of 'close'.
55532         * lib/sys_socket.in.h (close): Define to a reminder to include
55533         <unistd.h>.
55534         (_gl_close_fd_maybe_socket): New declaration.
55535         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
55536         * lib/winsock.c (close): Remove undefinition.
55537         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
55538         needed for the gnulib module 'close'.
55539         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
55540         define to an error symbol or to a warning, if suitable.
55541         * lib/close.c: Include <sys/socket.h>.
55542         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
55543         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
55544         UNISTD_H_HAVE_WINSOCK2_H.
55545         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
55546         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55547         UNISTD_H_HAVE_WINSOCK2_H.
55548         * modules/sys_socket (Files): Add m4/unistd_h.m4.
55549         (configure.ac): Set a module indicator.
55550         (Makefile.am): Substitute GNULIB_CLOSE.
55551         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
55552         * modules/poll-tests (Depends-on): Add close.
55553         * modules/select-tests (Depends-on): Likewise.
55554
55555 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55556             Bruno Haible  <bruno@clisp.org>
55557
55558         New module 'close'.
55559         * modules/close: New file.
55560         * lib/unistd.in.h (close): Move declaration out of the
55561         FCHDIR_REPLACEMENT scope.
55562         (_gl_unregister_fd): New declaration.
55563         * lib/close.c: New file.
55564         * lib/fchdir.c (rpl_close): Remove function.
55565         * m4/close.m4: New file.
55566         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55567         close.
55568         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
55569         REPLACE_CLOSE.
55570         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
55571         REPLACE_CLOSE.
55572         * modules/fchdir (Depends-on): Add close.
55573
55574 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55575             Bruno Haible  <bruno@clisp.org>
55576
55577         * lib/fcntl.in.h (open): Simplify conditionals.
55578         (_gl_register_fd): New declaration.
55579         * lib/fchdir.c (rpl_open): Remove function.
55580         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
55581         also.
55582         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
55583         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55584         open.
55585
55586 2008-10-09  Jim Meyering  <meyering@redhat.com>
55587
55588         GNUmakefile: use the more name-space-friendly "_version"
55589         * top/GNUmakefile (_dummy): Update.
55590         (_version): Rename from "version".
55591
55592 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55593             Bruno Haible  <bruno@clisp.org>
55594
55595         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
55596         rpl_close.
55597         (_gl_register_fd): New function, extracted from rpl_open.
55598         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
55599         (rpl_open, rpl_opendir): Use _gl_register_fd.
55600
55601 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55602
55603         Fix organization of 'open' replacement.
55604         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
55605         (gl_FUNC_OPEN): Use it.
55606         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
55607
55608 2008-10-08  Bruno Haible  <bruno@clisp.org>
55609
55610         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
55611
55612 2008-10-08  Simon Josefsson  <simon@josefsson.org>
55613
55614         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
55615         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
55616         listen).
55617
55618 2008-10-08  Eric Blake  <ebb9@byu.net>
55619
55620         GNUmakefile: add 'make version' target
55621         * top/GNUmakefile (_curr-ver): Split version update rules...
55622         (version): ...into a target.
55623
55624 2008-10-07  Bruno Haible  <bruno@clisp.org>
55625
55626         Use a more portable replacement expression for -0.0L.
55627         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
55628         instead of -0.0L. Fix m4 quotation.
55629
55630         * tests/test-signbit.c: Include <float.h>.
55631         (minus_zero): New variable.
55632         (test_signbitl): Use minus_zero instead of -zero.
55633         * modules/signbit-tests (Depends-on): Add float.
55634
55635         * tests/test-ceill.c: Include <float.h>.
55636         (zero): Remove variable.
55637         (minus_zero): New variable.
55638         (main): Use minus_zero instead of -zero.
55639         * modules/ceill-tests (Depends-on): Add float.
55640
55641         * tests/test-floorl.c: Include <float.h>.
55642         (zero): Remove variable.
55643         (minus_zero): New variable.
55644         (main): Use minus_zero instead of -zero.
55645         * modules/floorl-tests (Depends-on): Add float.
55646
55647         * tests/test-roundl.c: Include <float.h>.
55648         (zero): Remove variable.
55649         (minus_zero): New variable.
55650         (main): Use minus_zero instead of -zero.
55651         * modules/roundl-tests (Depends-on): Add float.
55652
55653         * tests/test-truncl.c: Include <float.h>.
55654         (zero): Remove variable.
55655         (minus_zero): New variable.
55656         (main): Use minus_zero instead of -zero.
55657         * modules/truncl-tests (Depends-on): Add float.
55658
55659         * tests/test-frexpl.c (zero): Remove variable.
55660         (minus_zero): New variable.
55661         (main): Use minus_zero instead of -zero.
55662         * modules/frexpl-tests (Depends-on): Add float.
55663
55664         * tests/test-isnan.c (zerol): Remove variable.
55665         (minus_zerol): New variable.
55666         (test_long_double): Use minus_zerol instead of -zerol.
55667         * modules/isnan-tests (Depends-on): Add float.
55668
55669         * tests/test-isnanl.h (zero): Remove variable.
55670         (minus_zero): New variable.
55671         (main): Use minus_zero instead of -zero.
55672         * modules/isnanl-nolibm-tests (Depends-on): Add float.
55673         * modules/isnanl-tests (Depends-on): Add float.
55674
55675         * tests/test-ldexpl.c (zero): Remove variable.
55676         (minus_zero): New variable.
55677         (main): Use minus_zero instead of -zero.
55678         * modules/ldexpl-tests (Depends-on): Add float.
55679
55680         * tests/test-snprintf-posix.h (zerol): Remove variable.
55681         (minus_zerol): New variable.
55682         (test_function): Use minus_zerol instead of -zerol.
55683         * modules/snprintf-posix-tests (Depends-on): Add float.
55684         * modules/vsnprintf-posix-tests (Depends-on): Add float.
55685
55686         * tests/test-sprintf-posix.h (zerol): Remove variable.
55687         (minus_zerol): New variable.
55688         (test_function): Use minus_zerol instead of -zerol.
55689         * modules/sprintf-posix-tests (Depends-on): Add float.
55690         * modules/vsprintf-posix-tests (Depends-on): Add float.
55691
55692         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
55693         (minus_zerol): New variable.
55694         (test_function): Use minus_zerol instead of -zerol.
55695         * modules/vasnprintf-posix-tests (Depends-on): Add float.
55696
55697         * tests/test-vasprintf-posix.c (zerol): Remove variable.
55698         (minus_zerol): New variable.
55699         (test_function): Use minus_zerol instead of -zerol.
55700         * modules/vasprintf-posix-tests (Depends-on): Add float.
55701
55702 2008-10-07  Simon Josefsson  <simon@josefsson.org>
55703
55704         * MODULES.html.sh (Support for building documentation): Mention
55705         pmccabe2html.  Sort entries.
55706
55707         Add pmccabe2html module, from gnupdf.
55708         * build-aux/pmccabe.css: New file.
55709         * build-aux/pmccabe2html: New file.
55710         * m4/pmccabe2html.m4: New file.
55711         * modules/pmccabe2html: New file.
55712
55713 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
55714
55715         flock: new module
55716         * MODULES.html.sh: Add to list of modules.
55717         * lib/flock.c: flock implementation for Windows and Unix systems
55718         which have fcntl.
55719         * doc/glibc-functions/flock.texi: Update documentation.
55720         * lib/sys_file.in.h: <sys/file.h> header file.
55721         * m4/flock.m4: M4 macros.
55722         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
55723         * modules/flock: flock module.
55724         * modules/flock-tests: flock tests module.
55725         * modules/sys_file: sys/file.h module.
55726         * tests/test-flock.c: test suite for flock.
55727
55728 2008-10-06  Jim Meyering  <meyering@redhat.com>
55729
55730         bootstrap: check for LT_INIT more portably still ;-)
55731         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
55732         Spotted by Bruno Haible.
55733
55734 2008-10-06  Eric Blake  <ebb9@byu.net>
55735
55736         test-signbit: avoid tripping Irix cc bug on -0.0L
55737         * tests/test-signbit.c (minus_zerol): Delete, and replace with
55738         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
55739         entire testsuite consistent and avoids an Irix 6.2 bug.
55740
55741 2008-10-05  Bruno Haible  <bruno@clisp.org>
55742             Jim Meyering  <jim@meyering.net>
55743
55744         Add an option for ignoring EPIPE during close_stdout.
55745         * lib/closeout.h: Include <stdbool.h>.
55746         (close_stdout_set_ignore_EPIPE): New declaration.
55747         * lib/closeout.c: Include <stdbool.h>.
55748         (ignore_EPIPE): New variable.
55749         (close_stdout_set_ignore_EPIPE): New function.
55750         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
55751         * lib/close-stream.c (close_stream): Mention the possible EPIPE
55752         failure.
55753         * modules/closeout (Depends-on): Add stdbool.
55754
55755 2008-10-05  Bruno Haible  <bruno@clisp.org>
55756
55757         * modules/accept: New file.
55758         * modules/bind: New file.
55759         * modules/connect: New file.
55760         * modules/getpeername: New file.
55761         * modules/getsockname: New file.
55762         * modules/getsockopt: New file.
55763         * modules/listen: New file.
55764         * modules/recv: New file.
55765         * modules/recvfrom: New file.
55766         * modules/send: New file.
55767         * modules/sendto: New file.
55768         * modules/setsockopt: New file.
55769         * modules/socket: New file.
55770         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
55771         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
55772         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
55773         the particular module is requested. Add a link warning when the
55774         particular module is not requested.
55775         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
55776         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
55777         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
55778         the particular module is requested.
55779         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
55780         gl_SYS_SOCKET_H_DEFAULTS): New macros.
55781         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
55782         * modules/sys_socket (Depends-on): Add link-warning.
55783         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
55784         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
55785         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
55786         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
55787         GL_LINK_WARNING.
55788         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
55789         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
55790         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
55791         * doc/posix-functions/getpeername.texi: Mention the new module
55792         'getpeername'.
55793         * doc/posix-functions/getsockname.texi: Mention the new module
55794         'getsockname'.
55795         * doc/posix-functions/getsockopt.texi: Mention the new module
55796         'getsockopt'.
55797         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
55798         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
55799         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
55800         * doc/posix-functions/send.texi: Mention the new module 'send'.
55801         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
55802         * doc/posix-functions/setsockopt.texi: Mention the new module
55803         'setsockopt'.
55804         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
55805         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
55806         listen, connect, accept.
55807         * modules/select-tests (Depends-on): Likewise.
55808
55809 2008-10-05  Bruno Haible  <bruno@clisp.org>
55810
55811         * lib/winsock.c (strerror): Remove unused #undef.
55812         (rpl_close): Remove unused local variable.
55813
55814         * modules/sys_socket (Depends-on); Add errno.
55815
55816 2008-10-05  Bruno Haible  <bruno@clisp.org>
55817
55818         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
55819         (select): Add a link warning when the 'select' module is not used.
55820         * modules/sys_select (Depends-on): Add link-warning.
55821         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
55822         Suggested by Paolo Bonzini.
55823
55824 2008-10-05  Jim Meyering  <meyering@redhat.com>
55825
55826         bootstrap: check for LT_INIT more portably
55827         * build-aux/bootstrap: Avoid using grep -E, since it's not
55828         portable enough.  Suggestion from Bruno Haible.
55829
55830 2008-10-05  Bruno Haible  <bruno@clisp.org>
55831
55832         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
55833         as being fixed by gnulib.
55834
55835 2008-10-05  Bruno Haible  <bruno@clisp.org>
55836
55837         * modules/select-tests: New file, mostly copied from
55838         modules/sys_select-tests.
55839         * tests/test-select.c: New file, mostly copied from
55840         tests/test-sys_select.c.
55841         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
55842         * modules/sys_select-tests (Depends-on): Remove all dependencies.
55843         (Makefile.am): Remove test_sys_select_LDADD.
55844
55845         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
55846         to an undefined symbol, for an error message.
55847         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
55848         (gl_SYS_SELECT_H_DEFAULTS): New macro.
55849         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
55850         winsock-select.c here.
55851         * modules/sys_select (Files): Remove lib/winsock-select.c.
55852         (Depends-on): Remove alloca.
55853         (Makefile.am): Substitute GNULIB_SELECT.
55854         * modules/select: New file.
55855         * doc/posix-functions/select.texi: Update.
55856
55857 2008-10-05  Bruno Haible  <bruno@clisp.org>
55858
55859         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
55860         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
55861         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
55862         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
55863         getdtablesize.
55864         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
55865         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
55866
55867 2008-10-05  Bruno Haible  <bruno@clisp.org>
55868
55869         * modules/getdtablesize-tests: New file.
55870         * tests/test-getdtablesize.c: New file.
55871
55872         New module 'getdtablesize'.
55873         * lib/unistd.in.h (getdtablesize): New declaration.
55874         * lib/getdtablesize.c: New file.
55875         * m4/getdtablesize.m4: New file.
55876         * modules/getdtablesize: New file.
55877         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55878         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
55879         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
55880         HAVE_GETDTABLESIZE.
55881         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
55882
55883 2008-10-05  Bruno Haible  <bruno@clisp.org>
55884
55885         * modules/sched (Makefile.am): Fix typo.
55886         Reported by Simon Josefsson.
55887
55888 2008-10-05  Jim Meyering  <meyering@redhat.com>
55889
55890         bootstrap: check for LT_INIT, too
55891         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
55892         are deprecated.  Suggestion from Ralf Wildenhues.
55893
55894 2008-10-05  Bruno Haible  <bruno@clisp.org>
55895
55896         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
55897         overriding them by ours.
55898         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
55899
55900 2008-10-05  Jim Meyering  <meyering@redhat.com>
55901
55902         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
55903         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
55904         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
55905
55906 2008-10-04  Bruno Haible  <bruno@clisp.org>
55907
55908         * modules/dup2 (License): Change to LGPLv2+.
55909         * modules/sleep (License): Likewise.
55910         * modules/perror (License): Likewise.
55911         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
55912         Blake.
55913         * modules/signal (License): Likewise.
55914         * modules/sigprocmask (License): Likewise.
55915         * modules/raise (License): Change to LGPLv2+, with approval by Jim
55916         Meyering.
55917
55918 2008-10-04  Bruno Haible  <bruno@clisp.org>
55919
55920         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
55921         Reported by Rainer Tammer <tammer@tammer.net>.
55922
55923 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
55924             Bruno Haible  <bruno@clisp.org>
55925
55926         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
55927         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
55928         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
55929
55930 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
55931
55932         filevercmp: new module
55933         * lib/filevercmp.h: New function filevercmp comparing version strings.
55934         * lib/filevercmp.c: Implementation of filevercmp function.
55935         * modules/filevercmp: Module metadata.
55936         * tests/test-filevercmp.c: Unit test for new module.
55937         * modules/filevercmp-tests: Unit test metadata.
55938         * MODULES.html.sh: Add filevercmp module.
55939
55940 2008-10-03  Bruno Haible  <bruno@clisp.org>
55941
55942         * lib/c-ctype.h: Add comment.
55943         Reported by Jim Meyering.
55944
55945 2008-10-02  Bruno Haible  <bruno@clisp.org>
55946
55947         * modules/posix_spawn-internal (Depends-on): Add 'open'.
55948
55949 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55950
55951         * build-aux/bootstrap: Allow renaming bootstrap, and change the
55952         name of bootstrap.conf accordingly.
55953
55954 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55955
55956         * build-aux/bootstrap: Install git-merge-changelog configuration
55957         items into .gitconfig if needed.
55958
55959 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
55960
55961         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
55962         git repository, and initialize/update it accordingly.
55963
55964 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
55965
55966         * modules/fsync-tests: New file.
55967         * tests/test-fsync.c: New file.
55968
55969         New module 'fsync'.
55970         * lib/fsync.c: New file.
55971         * m4/fsync.m4: New file.
55972         * modules/fsync: New file.
55973         * lib/unistd.in.h (fsync): New declaration.
55974         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
55975         GNULIB_FSYNC and HAVE_FSYNC.
55976         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
55977         * MODULES.html.sh (posix_functions): Add fsync.
55978         * doc/posix-functions/fsync.texi: Mention the new module.
55979
55980 2008-10-02  Jim Meyering  <meyering@redhat.com>
55981
55982         fts.c: sync with similar code from coreutils' remove.c
55983         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
55984         Guard also with "#if defined __linux__", since for now at least,
55985         this code is Linux-kernel-specific.
55986
55987 2008-10-02  Jim Meyering  <meyering@redhat.com>
55988
55989         fts: bug fixes
55990         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
55991         Include <sys/vfs.h>, not <sys/statfs.h>.
55992
55993         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
55994         Include <sys/vfs.h>, not <sys/statfs.h>.
55995
55996 2008-10-01  Bruno Haible  <bruno@clisp.org>
55997
55998         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
55999         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
56000         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
56001         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
56002         * doc/posix-functions/posix_spawnp.texi: Likewise.
56003         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
56004         whether posix_spawn actually works.
56005         * m4/pipe.m4 (gl_PIPE): Likewise.
56006         * modules/execute (Files): Add m4/posix_spawn.m4.
56007         * modules/pipe (Files): Add m4/posix_spawn.m4.
56008         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
56009
56010 2008-10-01  Jim Meyering  <meyering@redhat.com>
56011
56012         remove trailing spaces
56013         * NEWS: Likewise.
56014         * lib/poll.c (poll): Likewise.
56015         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
56016         * lib/winsock.c (rpl_close): Likewise.
56017         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
56018         * modules/yield: Likewise.
56019         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
56020         * tests/test-sys_select.c (connect_to_socket): Likewise.
56021
56022         fts.c: adjust a new interface to be more generally useful
56023         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
56024         (fts_build): Adjust caller.
56025
56026 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56027
56028         * modules/cond-tests: New file.
56029         * tests/test-cond.c: New file.
56030
56031 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56032             Bruno Haible  <bruno@clisp.org>
56033
56034         * modules/cond (Dependencies): Add errno, time.
56035         * lib/glthread/cond.h: Include <time.h>.
56036         (gl_cond_define, gl_cond_define_initialized): Use the same definition
56037         across platforms.
56038
56039 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56040             Bruno Haible  <bruno@clisp.org>
56041
56042         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
56043
56044 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56045             Bruno Haible  <bruno@clisp.org>
56046
56047         * modules/tls-tests (Depends-on): Add thread, yield.
56048         (configure.ac): Remove all checks.
56049         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
56050         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56051         gl_thread_self): Remove definitions. Include glthread/thread.h and
56052         glthread/yield.h instead.
56053         (test_tls): Pass an additional NULL argument to gl_thread_join.
56054
56055 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56056             Bruno Haible  <bruno@clisp.org>
56057
56058         * modules/lock-tests (Depends-on): Add thread, yield.
56059         (configure.ac): Remove all checks.
56060         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
56061         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56062         gl_thread_self): Remove definitions. Include glthread/thread.h and
56063         glthread/yield.h instead.
56064         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
56065         additional NULL argument to gl_thread_join.
56066
56067 2008-09-30  Bruno Haible  <bruno@clisp.org>
56068
56069         Fix the Win32 implementation of the 'thread' module.
56070         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
56071         pointer type.
56072         (gl_thread_self): Invoke gl_thread_self_func.
56073         (gl_thread_self_func): New declaration.
56074         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
56075         (do_init_self_key, init_self_key): New functions.
56076         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
56077         Remove some fields.
56078         (running_threads, running_lock): Remove variables.
56079         (get_current_thread_handle): New function.
56080         (gl_thread_self_func, wrapper_func, glthread_create_func,
56081         glthread_join_func, gl_thread_exit_func): Largely rewritten and
56082         simplified.
56083
56084 2008-09-30  Bruno Haible  <bruno@clisp.org>
56085
56086         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
56087         files.
56088
56089 2008-09-30  Jim Meyering  <meyering@redhat.com>
56090
56091         fts.m4: correct the test for statfs.f_type
56092         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
56093         when checking for statfs.f_type.
56094
56095 2008-09-15  Simon Josefsson  <simon@josefsson.org>
56096
56097         tests: avoid some compiler warnings
56098         * tests/test-memchr.c (main): Pass NULL indirectly.
56099         * tests/test-getdate.c (main): Remove unused variable 'ret'.
56100
56101 2008-09-29  OndÅ™ej Vašík  <ovasik@redhat.com>
56102
56103         getdate.y: disallow countable dayshifts like "4 yesterday ago"
56104         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
56105         exactly specified dayshifts.
56106         (dayshift): New rule.
56107         (rel): Add dayshift.
56108         (relative_time_table) [tomorrow, yesterday, today, now]:
56109         Use tDAY_SHIFT in place of tDAY_UNIT.
56110         * tests/test-getdate.c: Add tests for now-disallowed countable
56111         dayshifts, e.g., "4 yesterday ago".
56112
56113 2008-09-29  Bruno Haible  <bruno@clisp.org>
56114
56115         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
56116         * tests/test-posix_spawn1.in.sh: Renamed from
56117         tests/test-posix_spawn.in.sh.
56118         * tests/test-posix_spawn2.c: New file.
56119         * tests/test-posix_spawn2.in.sh: New file.
56120         * modules/posix_spawnp-tests (Files): Update.
56121         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
56122
56123 2008-09-29  Bruno Haible  <bruno@clisp.org>
56124
56125         Propagate effects of putenv/setenv/unsetenv to child processes.
56126         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
56127         * lib/pipe.c (create_pipe): Likewise.
56128
56129 2008-09-29  Bruno Haible  <bruno@clisp.org>
56130
56131         Enable use of shell scripts as executables in mingw.
56132         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
56133         run the program as a shell script.
56134         * lib/pipe.c (create_pipe): Likewise.
56135         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
56136         resulting array.
56137
56138 2008-09-29  Eric Blake  <ebb9@byu.net>
56139
56140         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
56141
56142 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
56143
56144         * doc/posix-functions/accept.texi: Update mingw problems.
56145         * doc/posix-functions/bind.texi: Update mingw problems.
56146         * doc/posix-functions/close.texi: Update mingw problems.
56147         * doc/posix-functions/connect.texi: Update mingw problems.
56148         * doc/posix-functions/getpeername.texi: Update mingw problems.
56149         * doc/posix-functions/getsockname.texi: Update mingw problems.
56150         * doc/posix-functions/getsockopt.texi: Update mingw problems.
56151         * doc/posix-functions/ioctl.texi: Update mingw problems.
56152         * doc/posix-functions/listen.texi: Update mingw problems.
56153         * doc/posix-functions/recv.texi: Update mingw problems.
56154         * doc/posix-functions/recvfrom.texi: Update mingw problems.
56155         * doc/posix-functions/select.texi: Update mingw problems.
56156         * doc/posix-functions/send.texi: Update mingw problems.
56157         * doc/posix-functions/sendto.texi: Update mingw problems.
56158         * doc/posix-functions/setsockopt.texi: Update mingw problems.
56159         * doc/posix-functions/socket.texi: Update mingw problems.
56160
56161 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
56162             Bruno Haible  <bruno@clisp.org>
56163
56164         * lib/sys_select.in.h: Include sys/time.h.
56165         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
56166         * modules/sys_select: Depend on sys_time.
56167         * tests/test-sys_select.c: Test that sys/select.h defines struct
56168         timeval fully.
56169
56170 2008-09-29  Bruno Haible  <bruno@clisp.org>
56171
56172         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
56173         * lib/sys_select.in.h: Likewise.
56174
56175 2008-09-29  Bruno Haible  <bruno@clisp.org>
56176
56177         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
56178
56179 2008-09-29  Bruno Haible  <bruno@clisp.org>
56180
56181         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
56182         Set LIBSOCKET instead of augmenting LIBS.
56183         * modules/sockets (Link): New section.
56184         * modules/sockets-tests (test_sockets_LDADD): New variable.
56185         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
56186         * modules/poll-tests (test_poll_LDADD): New variable.
56187         * NEWS: Document the change.
56188
56189 2008-09-29  Bruno Haible  <bruno@clisp.org>
56190
56191         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
56192         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
56193         ARPA_INET_H directly.
56194         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56195
56196 2008-09-28  Bruno Haible  <bruno@clisp.org>
56197
56198         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
56199         from gl_HEADER_SYS_SOCKET.
56200         (gl_HEADER_SYS_SOCKET): Invoke it.
56201         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56202
56203 2008-09-28  Bruno Haible  <bruno@clisp.org>
56204
56205         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
56206         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
56207         Needed on OSF/1 4.0.
56208
56209 2008-09-28  Bruno Haible  <bruno@clisp.org>
56210
56211         Override open more carefully.
56212         * lib/open.c (orig_open): New function.
56213         (rpl_open): Use orig_open instead of open.
56214         * lib/fcntl.in.h: Add special invocation convention.
56215         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
56216         (gl_FUNC_OPEN): Invoke it.
56217
56218         Override freopen more carefully.
56219         * lib/freopen.c (orig_freopen): New function.
56220         (rpl_freopen): Use orig_freopen instead of freopen.
56221         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
56222         (gl_FUNC_FREOPEN): Invoke it.
56223
56224         Override fopen more carefully.
56225         * lib/fopen.c (orig_fopen): New function.
56226         (rpl_fopen): Use orig_fopen instead of fopen.
56227         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
56228         (gl_FUNC_FOPEN): Invoke it.
56229         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
56230
56231 2008-09-28  Bruno Haible  <bruno@clisp.org>
56232
56233         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
56234         SIGPIPE.
56235
56236 2008-09-28  Bruno Haible  <bruno@clisp.org>
56237
56238         * tests/test-sigaction.c (handler, main): Disable the check whether
56239         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
56240         glibc systems with LinuxThreads.
56241
56242 2008-09-28  Bruno Haible  <bruno@clisp.org>
56243
56244         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
56245
56246         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
56247         with AIX xlc.
56248         * lib/fcntl.in.h (open): Likewise.
56249         Reported by Rainer Tammer <tammer@tammer.net>.
56250
56251 2008-09-28  Bruno Haible  <bruno@clisp.org>
56252
56253         * modules/posix_spawnp-tests: New file.
56254         * tests/test-posix_spawn.c: New file.
56255         * tests/test-posix_spawn.in.sh: New file.
56256
56257         New module 'posix_spawnp'.
56258         * modules/posix_spawnp: New file.
56259         * lib/spawnp.c: New file, from GNU libc with modifications.
56260         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
56261
56262         New module 'posix_spawn'.
56263         * modules/posix_spawn: New file.
56264         * lib/spawn.c: New file, from GNU libc with modifications.
56265         * doc/posix-functions/posix_spawn.texi: Mention the new module.
56266
56267         New module 'posix_spawnattr_destroy'.
56268         * modules/posix_spawnattr_destroy: New file.
56269         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
56270         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
56271         module.
56272
56273         New module 'posix_spawnattr_setsigmask'.
56274         * modules/posix_spawnattr_setsigmask: New file.
56275         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
56276         modifications.
56277         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
56278         new module.
56279
56280         New module 'posix_spawnattr_getsigmask'.
56281         * modules/posix_spawnattr_getsigmask: New file.
56282         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
56283         modifications.
56284         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
56285         new module.
56286
56287         New module 'posix_spawnattr_setsigdefault'.
56288         * modules/posix_spawnattr_setsigdefault: New file.
56289         * lib/spawnattr_setdefault.c: New file, from GNU libc with
56290         modifications.
56291         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
56292         new module.
56293
56294         New module 'posix_spawnattr_getsigdefault'.
56295         * modules/posix_spawnattr_getsigdefault: New file.
56296         * lib/spawnattr_getdefault.c: New file, from GNU libc with
56297         modifications.
56298         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
56299         new module.
56300
56301         New module 'posix_spawnattr_setschedpolicy'.
56302         * modules/posix_spawnattr_setschedpolicy: New file.
56303         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
56304         modifications.
56305         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
56306         new module.
56307
56308         New module 'posix_spawnattr_getschedpolicy'.
56309         * modules/posix_spawnattr_getschedpolicy: New file.
56310         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
56311         modifications.
56312         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
56313         new module.
56314
56315         New module 'posix_spawnattr_setschedparam'.
56316         * modules/posix_spawnattr_setschedparam: New file.
56317         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
56318         modifications.
56319         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
56320         new module.
56321
56322         New module 'posix_spawnattr_getschedparam'.
56323         * modules/posix_spawnattr_getschedparam: New file.
56324         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
56325         modifications.
56326         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
56327         new module.
56328
56329         New module 'posix_spawnattr_setpgroup'.
56330         * modules/posix_spawnattr_setpgroup: New file.
56331         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
56332         modifications.
56333         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
56334         module.
56335
56336         New module 'posix_spawnattr_getpgroup'.
56337         * modules/posix_spawnattr_getpgroup: New file.
56338         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
56339         modifications.
56340         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
56341         module.
56342
56343         New module 'posix_spawnattr_setflags'.
56344         * modules/posix_spawnattr_setflags: New file.
56345         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
56346         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
56347         module.
56348
56349         New module 'posix_spawnattr_getflags'.
56350         * modules/posix_spawnattr_getflags: New file.
56351         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
56352         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
56353         module.
56354
56355         New module 'posix_spawnattr_init'.
56356         * modules/posix_spawnattr_init: New file.
56357         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
56358         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
56359         module.
56360
56361         New module 'posix_spawn_file_actions_destroy'.
56362         * modules/posix_spawn_file_actions_destroy: New file.
56363         * lib/spawn_faction_destroy.c: New file, from GNU libc with
56364         modifications.
56365         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
56366         the new module.
56367
56368         New module 'posix_spawn_file_actions_addopen'.
56369         * modules/posix_spawn_file_actions_addopen: New file.
56370         * lib/spawn_faction_addopen.c: New file, from GNU libc with
56371         modifications.
56372         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
56373         the new module.
56374
56375         New module 'posix_spawn_file_actions_adddup2'.
56376         * modules/posix_spawn_file_actions_adddup2: New file.
56377         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
56378         modifications.
56379         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
56380         the new module.
56381
56382         New module 'posix_spawn_file_actions_addclose'.
56383         * modules/posix_spawn_file_actions_addclose: New file.
56384         * lib/spawn_faction_addclose.c: New file, from GNU libc with
56385         modifications.
56386         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
56387         the new module.
56388
56389         New module 'posix_spawn_file_actions_init'.
56390         * modules/posix_spawn_file_actions_init: New file.
56391         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
56392         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
56393         new module.
56394
56395         New module 'posix_spawn-internal'.
56396         * modules/posix_spawn-internal: New file.
56397         * lib/spawn_int.h: New file, from GNU libc with modifications.
56398         * lib/spawni.c: New file, from GNU libc with modifications.
56399         * m4/posix_spawn.m4: New file.
56400
56401         New module 'spawn'.
56402         * modules/spawn: New file.
56403         * lib/spawn.in.h: New file, from GNU libc with modifications.
56404         * m4/spawn_h.m4: New file.
56405         * doc/posix-headers/spawn.texi: Mention the new module.
56406
56407 2008-09-28  Bruno Haible  <bruno@clisp.org>
56408
56409         * modules/sched-tests: New file.
56410         * tests/test-sched.c: New file.
56411
56412         New module 'sched'.
56413         * modules/sched: New file.
56414         * lib/sched.in.h: New file.
56415         * m4/sched_h.m4: New file.
56416         * doc/posix-headers/sched.texi: Mention the new module.
56417
56418 2008-09-27  Eric Blake  <ebb9@byu.net>
56419
56420         Fix previous patch, and tweak references to $0.
56421         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
56422         (func_version, func_gnulib_dir): Don't call this program
56423         gnulib-tool.
56424         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
56425         with using $0 in function.
56426         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
56427         (func_fatal_error): Reuse the name the user invoked us with.
56428
56429 2008-09-27  Bruno Haible  <bruno@clisp.org>
56430
56431         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
56432         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
56433         (gl_ICONV_H): Not here.
56434         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
56435         instead of assigning ICONV_H directly.
56436
56437         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
56438         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
56439         WCHAR_H directly.
56440
56441 2008-09-27  Bruno Haible  <bruno@clisp.org>
56442
56443         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
56444         * modules/arpa_inet (Depends-on): Add link-warning.
56445         (Makefile.am): Insert the definition of GL_LINK-WARNING.
56446         * modules/unistd (Makefile.am): Likewise.
56447
56448 2008-09-26  Bruno Haible  <bruno@clisp.org>
56449
56450         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
56451         variables.
56452         (func_version): Essentially copied from gnulib-tool.
56453         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
56454         func_readlink): Copied from gnulib-tool.
56455
56456 2008-09-26  Bruno Haible  <bruno@clisp.org>
56457
56458         * gnulib-tool (func_version): Change directory to $gnulib_dir before
56459         invoking git-version-gen.
56460
56461 2008-09-26  Bruno Haible  <bruno@clisp.org>
56462
56463         * posix-modules: Update to directory names changed on 2008-01-19.
56464         Remove commas in output before splitting into words. No more need to
56465         avoid 'ftruncate' since 2007-02-19.
56466
56467 2008-09-26  Bruno Haible  <bruno@clisp.org>
56468
56469         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
56470
56471 2008-09-26  Bruno Haible  <bruno@clisp.org>
56472
56473         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
56474         * modules/fwriteerror (Depends-on): Add errno.
56475
56476 2008-09-26  Bruno Haible  <bruno@clisp.org>
56477
56478         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
56479         * tests/test-vc-list-files-cvs.sh: Likewise.
56480
56481 2008-09-26  Bruno Haible  <bruno@clisp.org>
56482
56483         * doc/posix-headers/sys_resource.texi: Reorder items.
56484
56485 2008-09-26  Jim Meyering  <meyering@redhat.com>
56486
56487         fts: tweak inode comparison function
56488         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
56489         inode numbers, as documented.
56490
56491         fts: sort dirent entries on inode number before traversing
56492         This avoids a quadratic, seek-related performance penalty when
56493         operating on a directory containing many entries (measurable at 10k;
56494         3.5 hours at 2 million entries with a cold cache) on certain types
56495         of file systems, including ext3 and ext4, but not tmpfs.
56496         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
56497         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
56498         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
56499         (fs_handles_readdir_ordered_dirents_efficiently): New function.
56500         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
56501         (fts_build): Set the stat.st_ino member from D_INO.
56502         If it is likely to be useful, sort dirent entries on inode number.
56503
56504         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
56505         and the struct statfs.f_type member.
56506         * modules/fts (Depends-on): Add d-ino.
56507
56508 2008-09-26  Bruno Haible  <bruno@clisp.org>
56509
56510         * modules/sigpipe-die (Depends-on): Add sigpipe.
56511
56512         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
56513         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
56514         and GNULIB_STDIO_H_SIGPIPE are set.
56515         * lib/stdio-write.c: New file.
56516         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
56517         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56518         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56519         REPLACE_STDIO_WRITE_FUNCS.
56520         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
56521         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56522         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56523         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56524         * modules/stdio (Files): Add lib/stdio-write.c.
56525         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
56526         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56527         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56528         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56529         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
56530         REPLACE_FPRINTF_POSIX.
56531         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
56532         REPLACE_PRINTF_POSIX.
56533         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
56534         REPLACE_VFPRINTF_POSIX.
56535         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
56536         REPLACE_VPRINTF_POSIX.
56537         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
56538         SIGPIPE issue.
56539         * doc/posix-functions/fputc.texi: Likewise.
56540         * doc/posix-functions/fputs.texi: Likewise.
56541         * doc/posix-functions/fwrite.texi: Likewise.
56542         * doc/posix-functions/printf.texi: Likewise.
56543         * doc/posix-functions/putc.texi: Likewise.
56544         * doc/posix-functions/putchar.texi: Likewise.
56545         * doc/posix-functions/puts.texi: Likewise.
56546         * doc/posix-functions/vfprintf.texi: Likewise.
56547         * doc/posix-functions/vprintf.texi: Likewise.
56548
56549         * modules/safe-write (Depends-on): Add write.
56550
56551         * modules/sigpipe-tests: New file.
56552         * tests/test-sigpipe.c: New file.
56553         * tests/test-sigpipe.sh: New file.
56554
56555         * modules/write: New file.
56556         * lib/unistd.in.h: Include <sys/types.h>.
56557         (write): New declaration.
56558         * lib/write.c: New file.
56559         * m4/write.m4: New file.
56560         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56561         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
56562         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
56563         GNULIB_WRITE, REPLACE_WRITE.
56564         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
56565         and the SIGPIPE issue.
56566
56567         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
56568         (raise): New declaration.
56569         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
56570         (ext_signal): New function.
56571         (rpl_raise): New function.
56572         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
56573         GNULIB_SIGNAL_H_SIGPIPE.
56574         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
56575         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
56576
56577         * modules/sigpipe: New file.
56578         * m4/sigpipe.m4: New file.
56579
56580 2008-09-25  Derek Price  <derek@ximbiot.com>
56581             Bruno Haible  <bruno@clisp.org>
56582
56583         * gnulib-tool (func_import): Report all license incompatibilities, not
56584         just the first one.
56585
56586 2008-09-25  Bruno Haible  <bruno@clisp.org>
56587
56588         * gnulib-tool (func_import): When computing the edits, consider not
56589         only the Makefile.ams that exist but also those that will be generated.
56590
56591 2008-09-25  Simon Josefsson  <simon@josefsson.org>
56592
56593         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
56594         fixes gnulib-tool --test warning about duplicate dependency.
56595
56596 2008-09-25  Bruno Haible  <bruno@clisp.org>
56597
56598         * gnulib-tool: Don't ask the user to perform edits in the generated
56599         Makefile.ams.
56600         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
56601         apply to the Makefile.am being generated.
56602         (func_emit_tests_Makefile_am): Execute edits that apply to the
56603         Makefile.am being generated.
56604         (func_import): Setup list of Makefile.am edits before emitting the
56605         Makefile.ams, not at the end.
56606         (func_create_testdir): Update.
56607         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56608
56609 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56610
56611         * gnulib-tool (func_import): Store the --tests-base option in the
56612         comment in gnulib-cache.m4.
56613
56614 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
56615
56616         * NEWS: Document increased portability that sys_select now provides.
56617
56618         * lib/sys_select.in.h: Install select wrapper.
56619         * lib/sys_socket.in.h: Use more descriptive name when there is no
56620         select wrapper.
56621         * lib/winsock-select.c: New.
56622         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
56623         Require gl_HEADER_SYS_SOCKET.
56624         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
56625         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
56626         * tests/test-sys_select.c: Add functional tests.
56627
56628 2008-09-24  Eric Blake  <ebb9@byu.net>
56629
56630         open, fopen: close fd leak in last patch
56631         * lib/open.c (rpl_open): Close fd before returning error.
56632         * lib/fopen.c (rpl_fopen): Close fd before returning error.
56633         * doc/posix-functions/open.texi (open): Document that Irix also
56634         has the bug.
56635         * doc/posix-functions/fopen.texi (fopen): Likewise.
56636         Reported by Paolo Bonzini.
56637
56638 2008-09-24  Bruno Haible  <bruno@clisp.org>
56639
56640         Ensure that a filename ending in a slash cannot be used to access a
56641         non-directory.
56642         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
56643         to check whether it's really a directory.
56644         * lib/fopen.c: Include fcntl.h, unistd.h.
56645         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
56646         and fdopen().
56647         * modules/fopen (Depends-on): Add unistd.
56648         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
56649         * tests/test-fopen.c (main): Likewise.
56650         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
56651         * doc/posix-functions/fopen.texi: Likewise.
56652         Reported by Eric Blake.
56653
56654 2008-09-23  Eric Blake  <ebb9@byu.net>
56655
56656         c-stack: avoid compiler optimizations when provoking overflow
56657         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
56658         recursion harder to optimize, to ensure a stack overflow occurs.
56659         * tests/test-c-stack.c (recurse): Likewise.
56660         Borrowed from libsigsegv.
56661
56662         c-stack: work around Irix sigaltstack bug
56663         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
56664         whether sigaltstack uses wrong end of stack_t (copied in part from
56665         libsigsegv).
56666         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
56667         Irix bug, without requiring an over-allocation.
56668         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
56669         bug.
56670
56671         fopen: document mingw bug on directories
56672         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
56673         not allowing a stream visiting a directory, even though reading
56674         from such a stream is not portable.
56675
56676 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56677
56678         * lib/poll.c: Rewrite.
56679         * modules/poll: Depend on alloca.
56680
56681 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56682
56683         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
56684         instead define prototypes for a full set of wrappers.  Ensure
56685         that Cygwin does not use the compatibility code, which is only
56686         for MinGW.
56687         * lib/winsock.c: New.
56688         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
56689         * modules/sys_socket: Add lib/winsock.c.
56690
56691         * modules/poll-tests: Add errno and perror.
56692         * tests/test-poll.c: Use ioctl, not ioctlsocket.
56693
56694 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56695
56696         * tests/test-poll.c: Downgrade minimum needed Winsock version.
56697
56698 2008-09-23  Bruno Haible  <bruno@clisp.org>
56699
56700         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
56701         * doc/glibc-functions/*: Likewise.
56702
56703 2008-09-23  Simon Josefsson  <simon@josefsson.org>
56704
56705         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
56706         success.
56707
56708 2008-09-22  Eric Blake  <ebb9@byu.net>
56709             Bruno Haible  <bruno@clisp.org>
56710
56711         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
56712         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
56713         supply %A but mishandle pseudo-NaN.
56714         Reported by Simon Josefsson.
56715
56716 2008-09-21  Bruno Haible  <bruno@clisp.org>
56717
56718         * tests/test-lock.c (main): Tweak skip message.
56719         * tests/test-tls.c (main): Likewise.
56720
56721 2008-09-21  Bruno Haible  <bruno@clisp.org>
56722
56723         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
56724         whether 'struct sigaction' has sa_sigaction here...
56725         (gl_PREREQ_SIG_HANDLER_H): ... not here.
56726         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
56727
56728 2008-09-21  Bruno Haible  <bruno@clisp.org>
56729
56730         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
56731         section.
56732         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
56733         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
56734         the new section.
56735         (Support for obsolete systems lacking POSIX:2001): New section.
56736         (String handling <string.h>): Move strdup to the new section.
56737         Suggested by Simon Josefsson and Paolo Bonzini.
56738
56739 2008-09-21  Bruno Haible  <bruno@clisp.org>
56740
56741         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
56742         exponents in %e and %g results on 'long double'. Needed for mingw's
56743         improved *printf functions.
56744         * tests/test-vasprintf-posix.c (test_function): Likewise.
56745         * tests/test-snprintf-posix.h (test_function): Likewise.
56746         * tests/test-sprintf-posix.h (test_function): Likewise.
56747         Reported by Eric Blake.
56748
56749 2008-09-21  Bruno Haible  <bruno@clisp.org>
56750
56751         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
56752         * tests/test-sprintf-posix.h (test_function): Likewise.
56753
56754 2008-09-21  Bruno Haible  <bruno@clisp.org>
56755
56756         * modules/getpass (Depends-on): Add strdup-posix.
56757
56758         New module 'strdup-posix'.
56759         * modules/strdup-posix: New file.
56760         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
56761         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
56762         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
56763         REPLACE_STRDUP.
56764         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
56765         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
56766         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
56767         strdup-posix.
56768
56769         * modules/strdup (Depends-on): Remove malloc-posix.
56770
56771 2008-09-20  Bruno Haible  <bruno@clisp.org>
56772
56773         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
56774         Wildenhues.
56775
56776 2008-09-20  Bruno Haible  <bruno@clisp.org>
56777
56778         Ensure that wint_t gets defined on IRIX 5.3.
56779         * lib/wchar.in.h (wint_t): Define if not defined by the system.
56780         * lib/wctype.in.h (wint_t): Likewise.
56781         (__wctype_wint_t): Remove type.
56782         (isw*): Use wint_t instead of __wctype_wint_t.
56783         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
56784         * modules/wchar (Files): Add m4/wint_t.m4.
56785         (Makefile.am): Substitute HAVE_WINT_T.
56786         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
56787         * tests/test-wctype.c: Check that wint_t is defined.
56788         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
56789         * doc/posix-headers/wctype.texi: Likewise.
56790         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
56791
56792 2008-09-18  Bruno Haible  <bruno@clisp.org>
56793
56794         * gnulib-tool (func_exit): Update comment.
56795
56796 2008-09-18  Simon Josefsson  <simon@josefsson.org>
56797
56798         * modules/getaddrinfo (Depends-on): Remove strdup, this module
56799         assumes strdup exists and does not depend on strdup to return
56800         ENOMEM on out of memory conditions.
56801
56802 2008-09-18  Bruno Haible  <bruno@clisp.org>
56803
56804         * lib/vasnprintf.c (VASNPRINTF): When printing Â±0.0L in
56805         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
56806         digits for the exponent.
56807
56808 2008-09-18  Jim Meyering  <meyering@redhat.com>
56809             Bruno Haible  <bruno@clisp.org>
56810
56811         * lib/vasnprintf.c (decimal_point_char): Define also if
56812         NEED_PRINTF_INFINITE_LONG_DOUBLE.
56813
56814 2008-09-16  Bruno Haible  <bruno@clisp.org>
56815         and Eric Blake  <ebb9@byu.net>
56816
56817         vasnprintf: support Irix 5.3
56818         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
56819         that mishandle long double infinity.
56820         Reported by Tom G. Christensen.
56821
56822 2008-09-16  Bruno Haible  <bruno@clisp.org>
56823
56824         * doc/glibc-functions/scandir.texi: Mention the function is missing on
56825         Solaris 9.
56826         * doc/glibc-functions/alphasort.texi: Likewise.
56827         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
56828
56829 2008-09-16  Jim Meyering  <meyering@redhat.com>
56830
56831         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
56832         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
56833         a umask modification leak out of a subshell.  Otherwise, the
56834         opensolaris /bin/sh would be accepted and thus cause unwarranted
56835         failures in the coreutils test suite.
56836
56837 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
56838
56839         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
56840         to succeed.
56841
56842 2008-09-16  Jim Meyering  <meyering@redhat.com>
56843
56844         avoid spurious test failure when library is built without ACL support
56845         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
56846         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
56847         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
56848         * tests/test-copy-acl.sh: Likewise.
56849
56850 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56851
56852         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
56853         based on character occurrence counts.
56854
56855 2008-09-15  Eric Blake  <ebb9@byu.net>
56856
56857         tests: avoid some compiler warnings
56858         * tests/test-memchr.c (main): Pass NULL indirectly.
56859         * tests/test-closein.c (main): Avoid unused variable.
56860
56861 2008-09-15  Bruno Haible  <bruno@clisp.org>
56862
56863         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
56864         are missing on OpenBSD 4.0 individually.
56865         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56866
56867 2008-09-15  Bruno Haible  <bruno@clisp.org>
56868
56869         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
56870         * doc/posix-functions/strerror.texi: Mention also Cygwin.
56871         * doc/posix-functions/perror.texi: Likewise.
56872         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
56873         is missing.
56874         Reported by Eric Blake.
56875
56876         * lib/errno.in.h: Use replacement values >= 2000.
56877         Reported by Eric Blake.
56878
56879 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56880
56881         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
56882         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
56883         limit.
56884         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
56885         compareseq was aborted.
56886
56887 2008-09-14  Bruno Haible  <bruno@clisp.org>
56888
56889         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
56890         yvec_edit_count.
56891         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
56892         (fstrcmp_bounded): Simplify result computation accordingly.
56893
56894 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56895
56896         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
56897         (fstrcmp): Define in terms of fstrcmp_bounded.
56898         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
56899         lower_bound argument.
56900         Return quickly if the result is certainly < lower_bound.
56901         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
56902
56903 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
56904
56905         * lib/diffseq.h (EARLY_ABORT): New macro.
56906         (compareseq): Change return type to bool. Return true when EARLY_ABORT
56907         evaluates to true.
56908
56909 2008-09-14  Bruno Haible  <bruno@clisp.org>
56910
56911         * modules/perror-tests: New file.
56912         * tests/test-perror.sh: New file.
56913         * tests/test-perror.c: New file.
56914
56915         New module 'perror'.
56916         * lib/stdio.in.h (perror): New declaration.
56917         * lib/perror.c: New file.
56918         * m4/perror.m4: New file.
56919         * modules/perror: New file.
56920         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
56921         * doc/posix-functions/perror.texi: Mention the perror module.
56922         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
56923         REPLACE_PERROR.
56924         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
56925         REPLACE_PERROR.
56926
56927 2008-09-14  Bruno Haible  <bruno@clisp.org>
56928
56929         * modules/stdio (Makefile.am): Reorder to match the order in
56930         lib/stdio.in.h.
56931         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
56932
56933 2008-09-13  Bruno Haible  <bruno@clisp.org>
56934
56935         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
56936
56937 2008-09-13  Bruno Haible  <bruno@clisp.org>
56938
56939         Extend strerror to cover the added errno values.
56940         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
56941         (rpl_strerror): Provide error messages for the added errno values and
56942         for the WSA* values.
56943         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
56944         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
56945         strerror.
56946         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
56947         * modules/strerror (Depends-on): Add errno.
56948         * doc/posix-functions/strerror.texi: Document the change.
56949         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
56950         and EOVERFLOW.
56951
56952 2008-09-13  Bruno Haible  <bruno@clisp.org>
56953
56954         * modules/EOVERFLOW: Remove file.
56955         * m4/eoverflow.m4: Remove file.
56956         * modules/EOVERFLOW-tests: Remove file.
56957         * tests/test-EOVERFLOW.c: Remove file.
56958         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
56959         * modules/ftell (Depends-on): Likewise.
56960         * modules/getdelim (Depends-on): Likewise.
56961         * modules/getugroups (Depends-on): Likewise.
56962         * modules/poll (Depends-on): Likewise.
56963         * modules/snprintf (Depends-on): Likewise.
56964         * modules/sprintf-posix (Depends-on): Likewise.
56965         * modules/vasnprintf (Depends-on): Likewise.
56966         * modules/vasprintf (Depends-on): Likewise.
56967         * modules/vfprintf-posix (Depends-on): Likewise.
56968         * modules/vsnprintf (Depends-on): Likewise.
56969         * modules/vsprintf-posix (Depends-on): Likewise.
56970         * modules/xvasprintf (Depends-on): Likewise.
56971         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
56972         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
56973         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
56974         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
56975         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
56976         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
56977         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
56978         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
56979         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
56980         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
56981         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
56982         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
56983         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
56984         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
56985         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
56986         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
56987         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
56988         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
56989         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
56990         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
56991         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
56992         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
56993         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
56994         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
56995         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
56996         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
56997         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
56998         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
56999         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
57000         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
57001         * MODULES.html.sh: Remove EOVERFLOW.
57002         * NEWS: Mention the change.
57003
57004 2008-09-13  Bruno Haible  <bruno@clisp.org>
57005
57006         * modules/errno-tests: New file.
57007         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
57008
57009         * lib/errno.in.h: New file.
57010         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
57011         * modules/errno: New file.
57012         * doc/posix-headers/errno.texi: Update documentation.
57013         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
57014
57015 2008-09-13  Bruno Haible  <bruno@clisp.org>
57016
57017         * tests/test-poll.c: Use #if for native Windows, rather than testing
57018         __MSVCRT__.
57019
57020 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57021             Bruno Haible  <bruno@clisp.org>
57022
57023         * lib/glob.c: Don't include <pwd.h> on native Windows.
57024         (WINDOWS32): New macro.
57025         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
57026
57027 2008-09-13  Bruno Haible  <bruno@clisp.org>
57028
57029         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
57030         (ETIMEDOUT): Remove macro.
57031         (glthread_cond_timedwait_multithreaded): New declaration.
57032         (glthread_cond_timedwait): Use it.
57033         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
57034         (glthread_cond_timedwait_multithreaded): New function.
57035
57036 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57037
57038         * modules/poll-tests: Do not check for io.h.
57039         * tests/test-poll.c: Check for __MSVCRT__ instead.
57040
57041 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57042
57043         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
57044         * modules/poll-tests: Add inet_pton, stdbool, sockets.
57045         * tests/test-poll.c: Use them.  Use _pipe on Windows.
57046
57047 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57048
57049         * modules/poll-tests: New.
57050         * tests/test-poll.c: New.
57051
57052 2008-09-12  Eric Blake  <ebb9@byu.net>
57053
57054         frexp: test for NetBSD failure on -0.0
57055         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
57056         not all, bugs from NetBSD 3.0 have been fixed.
57057         * doc/posix-functions/frexp.texi (frexp): Document bug.
57058         Reported by Thomas Klausner.
57059
57060         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
57061         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
57062         literal -0.0.
57063         Reported by Jonathan C. Patschke <jp@centtech.com>.
57064
57065 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57066
57067         * lib/glthread/cond.h: Use dummy implementation also if
57068         USE_WIN32_THREADS.
57069
57070 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57071
57072         * modules/fnmatch-posix (License): Change to LGPLv2+.
57073         * modules/fnmatch-gnu (License): Likewise.
57074
57075 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57076
57077         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
57078
57079 2008-09-11  Jim Meyering  <meyering@redhat.com>
57080
57081         * users.txt: Add gtk-vnc.
57082
57083 2008-09-08  Simon Josefsson  <simon@josefsson.org>
57084
57085         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
57086         rotate amounts.
57087
57088         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
57089         required for 16-bit and 8-bit rotates.
57090         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
57091         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
57092         UINT8_MAX instead of hard-coded constants.
57093         Suggested by Paul Eggert.
57094
57095 2008-09-07  Bruno Haible  <bruno@clisp.org>
57096
57097         * tests/test-striconveh.c (main): Check behaviour when converting from
57098         UTF-7.
57099
57100         Make striconveh work better with stateful encodings.
57101         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
57102         that iconv does not increment the inptr when returning -1/EINVAL.
57103
57104 2008-09-07  Bruno Haible  <bruno@clisp.org>
57105
57106         * build-aux/config.rpath: Update according to libtool-2.2.6.
57107         * build-aux/config.libpath: Likewise.
57108
57109 2008-09-06  Bruno Haible  <bruno@clisp.org>
57110
57111         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
57112         * lib/freadptr.c (freadptr): Likewise.
57113         * lib/freadseek.c (freadptrinc): Likewise.
57114         Reported by Simon Josefsson.
57115
57116 2008-09-06  Bruno Haible  <bruno@clisp.org>
57117
57118         * modules/freadptr (License): Change to LGPLv2+.
57119         * modules/freadseek (License): Likewise.
57120         Suggested by Eric Blake.
57121
57122         * modules/memchr2 (License): Change to LGPLv2+.
57123         Approved by Eric Blake.
57124
57125 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57126             Bruno Haible  <bruno@clisp.org>
57127
57128         Make gnulib-tool work with native 'sed' on AIX.
57129         * gnulib-tool (sed_noop): New variable.
57130         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
57131         func_add_or_update, func_create_testdir): Use it to initialize sed
57132         script variables.
57133         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
57134
57135 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
57136             Bruno Haible  <bruno@clisp.org>
57137
57138         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
57139         also works after #include directives.
57140
57141 2008-09-04  OndÅ™ej Vašík  <ovasik@redhat.com>
57142
57143         getdate.y: reject an out-of-range timezone value
57144         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
57145         the range [-24...+24].  When specified with only one or two digits,
57146         * tests/test-getdate.c: Tests for the fix.
57147         * doc/getdate.texi: Document this change.
57148
57149 2008-09-03  Bruno Haible  <bruno@clisp.org>
57150
57151         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
57152
57153 2008-09-02  Simon Josefsson  <simon@josefsson.org>
57154
57155         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
57156         <bruce.korb@gmail.com> with ideas from Ben Pfaff
57157         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
57158         Blake <ebb9@byu.net>.
57159
57160         * tests/test-bitrotate.c: Add more test vectors.
57161
57162 2008-09-02  Eric Blake  <ebb9@byu.net>
57163
57164         vasnprintf-posix: handle large precision via %.*d
57165         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
57166         when handling it ourselves.
57167         * tests/test-vasnprintf-posix.c (test_function): Add test.
57168         * tests/test-snprintf-posix.h (test_function): Likewise.
57169         * tests/test-sprintf-posix.h (test_function): Likewise.
57170         * tests/test-vasprintf-posix.c (test_function): Likewise.
57171         Reported by Alain Guibert.
57172
57173 2008-09-01  Eric Blake  <ebb9@byu.net>
57174
57175         c-stack: make configure-time check more robust
57176         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
57177         successful sigaction call.
57178         Reported by Tom G. Christensen.
57179
57180 2008-09-01  Bruno Haible  <bruno@clisp.org>
57181
57182         New module 'findprog-lgpl'.
57183         * modules/findprog-lgpl: New file.
57184         * lib/findprog-lgpl.c: New file.
57185         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
57186         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
57187         to decide whether to use strdup or xstrdup, concatenated_filename or
57188         xconcatenated_filename.
57189
57190 2008-09-01  Bruno Haible  <bruno@clisp.org>
57191
57192         Split module 'concat-filename' into 'concat-filename' (LGPL) and
57193         'xconcat-filename' (GPL).
57194         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
57195         (License): Change to LGPLv2+.
57196         * modules/xconcat-filename: New file.
57197         * lib/concat-filename.h (concatenated_filename): Change specification.
57198         (xconcatenated_filename): New declaration.
57199         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
57200         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
57201         memory situations.
57202         * lib/xconcat-filename.c: New file.
57203         * NEWS: Mention the change.
57204         * lib/findprog.c: Include concat-filename.h, not filename.h.
57205         (find_in_path): Use xconcatenated_filename instead of
57206         concatenated_filename.
57207         * lib/javacomp.c: Include concat-filename.h, not filename.h.
57208         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
57209         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
57210         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
57211         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
57212         instead of concatenated_filename.
57213         * lib/javaexec.c: Include concat-filename.h, not filename.h.
57214         (execute_java_class): Use xconcatenated_filename instead of
57215         concatenated_filename.
57216         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
57217         * modules/javacomp (Depends-on): Likewise.
57218         * modules/javaexec (Depends-on): Likewise.
57219
57220 2008-09-01  Bruno Haible  <bruno@clisp.org>
57221
57222         Split module 'filename' into 'filename' and 'concat-filename'.
57223         * modules/filename: Keep only lib/filename.h.
57224         (License): Change to LGPLv2+.
57225         * modules/concat-filename: New file, extracted from modules/filename.
57226         * lib/filename.h (concatenated_filename): Remove declaration.
57227         * lib/concat-filename.h: New file, extracted from lib/filename.h.
57228         * lib/concat-filename.c: Include concat-filename.h.
57229         * NEWS: Mention the change.
57230
57231 2008-09-01  Simon Josefsson  <simon@josefsson.org>
57232
57233         * lib/bitrotate.h (rotl8, rotr8): Add.
57234
57235         * modules/bitrotate (configure.ac): Need
57236         AC_REQUIRE([AC_C_INLINE]).
57237         (Description): Mention stdint.h.  Reported by Bruno Haible
57238         <bruno@clisp.org>.
57239
57240         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
57241         Paolo Bonzini <bonzini@gnu.org>.
57242
57243 2008-08-31  Bruno Haible  <bruno@clisp.org>
57244
57245         Assume Solaris specific bi-arch conventions on Solaris systems.
57246         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
57247         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
57248         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
57249         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
57250         like acl_libdirstem.
57251         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
57252         acl_libdirstem.
57253         * NEWS: Mention the change.
57254         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
57255
57256 2008-08-31  Jim Meyering  <meyering@redhat.com>
57257
57258         * lib/strftime.h: Add comments describing the two added arguments.
57259
57260         remove duplicate #include directives
57261         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
57262         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
57263
57264 2008-08-31  Bruno Haible  <bruno@clisp.org>
57265
57266         New module 'sigpipe-die'.
57267         * modules/sigpipe-die: New file.
57268         * lib/sigpipe-die.h: New file.
57269         * lib/sigpipe-die.c: New file.
57270         * MODULES.html.sh (Signal handling): Add sigpipe-die.
57271
57272 2008-08-31  Bruno Haible  <bruno@clisp.org>
57273
57274         Don't override previously installed signal handlers.
57275         * lib/fatal-signal.c (saved_sigactions): New variable.
57276         (uninstall_handlers): Reset the signal to the saved handler, not
57277         to SIG_DFL (except when ignored).
57278         (install_handlers): Save the previous handlers.
57279
57280 2008-08-30  Bruno Haible  <bruno@clisp.org>
57281
57282         * gnulib-tool (func_reset_sigpipe): New function.
57283         (func_get_automake_snippet, func_modules_transitive_closure,
57284         func_import): Invoke it before a join command that reads from stdin,
57285         to avoid "echo: write error: Broken pipe" error messages on stderr.
57286         Reported by Sam Steingold <sds@gnu.org>.
57287
57288 2008-08-30  Bruno Haible  <bruno@clisp.org>
57289
57290         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
57291         Code copied from m4/open.m4.
57292         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
57293         access and the filename ends in a slash. Code copied from lib/open.c.
57294         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
57295         * tests/test-fopen.c (main): Check against bug with trailing slash.
57296
57297 2008-08-29  Bruno Haible  <bruno@clisp.org>
57298
57299         Avoid some "gcc -pedantic" warnings.
57300         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
57301         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
57302         * lib/dirent.in.h: Likewise.
57303         * lib/fcntl.in.h: Likewise.
57304         * lib/float.in.h: Likewise.
57305         * lib/iconv.in.h: Likewise.
57306         * lib/inttypes.in.h: Likewise.
57307         * lib/locale.in.h: Likewise.
57308         * lib/math.in.h: Likewise.
57309         * lib/netinet_in.in.h: Likewise.
57310         * lib/search.in.h: Likewise.
57311         * lib/signal.in.h: Likewise.
57312         * lib/stdarg.in.h: Likewise.
57313         * lib/stdint.in.h: Likewise.
57314         * lib/stdio.in.h: Likewise.
57315         * lib/stdlib.in.h: Likewise.
57316         * lib/string.in.h: Likewise.
57317         * lib/strings.in.h: Likewise.
57318         * lib/sys_select.in.h: Likewise.
57319         * lib/sys_socket.in.h: Likewise.
57320         * lib/sys_stat.in.h: Likewise.
57321         * lib/sys_time.in.h: Likewise.
57322         * lib/sysexits.in.h: Likewise.
57323         * lib/time.in.h: Likewise.
57324         * lib/unistd.in.h: Likewise.
57325         * lib/wchar.in.h: Likewise.
57326         * lib/wctype.in.h: Likewise.
57327         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
57328         * modules/fchdir (Makefile.am): Likewise.
57329         * modules/fcntl (Makefile.am): Likewise.
57330         * modules/float (Makefile.am): Likewise.
57331         * modules/iconv_open (Makefile.am): Likewise.
57332         * modules/inttypes (Makefile.am): Likewise.
57333         * modules/locale (Makefile.am): Likewise.
57334         * modules/math (Makefile.am): Likewise.
57335         * modules/netinet_in (Makefile.am): Likewise.
57336         * modules/search (Makefile.am): Likewise.
57337         * modules/signal (Makefile.am): Likewise.
57338         * modules/stdarg (Makefile.am): Likewise.
57339         * modules/stdint (Makefile.am): Likewise.
57340         * modules/stdio (Makefile.am): Likewise.
57341         * modules/stdlib (Makefile.am): Likewise.
57342         * modules/string (Makefile.am): Likewise.
57343         * modules/strings (Makefile.am): Likewise.
57344         * modules/sys_select (Makefile.am): Likewise.
57345         * modules/sys_socket (Makefile.am): Likewise.
57346         * modules/sys_stat (Makefile.am): Likewise.
57347         * modules/sys_time (Makefile.am): Likewise.
57348         * modules/sysexits (Makefile.am): Likewise.
57349         * modules/time (Makefile.am): Likewise.
57350         * modules/unistd (Makefile.am): Likewise.
57351         * modules/wchar (Makefile.am): Likewise.
57352         * modules/wctype (Makefile.am): Likewise.
57353         Reported by Reuben Thomas <rrt@sc3d.org>.
57354
57355 2008-08-29  Bruno Haible  <bruno@clisp.org>
57356
57357         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
57358         any more.
57359
57360 2008-08-29  Simon Josefsson  <simon@josefsson.org>
57361
57362         * MODULES.html.sh (Misc): Add bitrotate.
57363
57364         * modules/bitrotate: New file.
57365
57366         * lib/bitrotate.h: New file.
57367
57368         * modules/bitrotate-tests: New file.
57369
57370         * tests/test-bitrotate.c: New file.
57371
57372         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
57373         on the bitrotate module.
57374
57375         * lib/arctwo.c: Use new bitrotate module.
57376
57377 2008-08-29  Jim Meyering  <meyering@redhat.com>
57378
57379         bootstrap: merge changes from coreutils
57380         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
57381         of copied files.  Remove a kludge, now that this is fixed.
57382         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
57383         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
57384         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
57385
57386 2008-08-29  Bruno Haible  <bruno@clisp.org>
57387
57388         * MODULES.html.sh: Remove --cvs-urls option.
57389
57390 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
57391
57392         maint.mk: adjust to file name change
57393         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
57394
57395 2008-08-28  Jim Meyering  <meyering@redhat.com>
57396
57397         * modules/getndelim2 (License): Relicense to LGPLv2+.
57398         Approved by Richard Stallman for the version of 1995, and by
57399         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
57400
57401 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
57402
57403         * lib/getdelim.c (flockfile, funlockfile): Make all of them
57404         dummy if one is not available.  Do not touch them if
57405         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
57406         (getc_maybe_unlocked): New.
57407         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
57408
57409 2008-08-26  Eric Blake  <ebb9@byu.net>
57410
57411         doc/INSTALL: resync from autoconf
57412         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
57413         (INSTALL_PRELUDE): Delete; this is done more efficiently by
57414         moving...
57415         * install.texi [!autoconf]: ...here.  Resync from autoconf.
57416         * INSTALL: Regenerate.
57417         * INSTALL.ISO: New file.
57418         * INSTALL.UTF-8: Likewise.
57419
57420 2008-08-26  Jim Meyering  <meyering@redhat.com>
57421
57422         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
57423         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
57424         these definitions conditional, so that they may be overridden, too.
57425
57426 2008-08-26  Bruno Haible  <bruno@clisp.org>
57427
57428         Generate INSTALL file variants with prettier quotes.
57429         * doc/Makefile (INSTALL_PRELUDE): New macro.
57430         (INSTALL): Use it.
57431         (INSTALL.ISO, INSTALL.UTF-8): New rules.
57432
57433 2008-08-26  Bruno Haible  <bruno@clisp.org>
57434
57435         Run makeinfo in an English locale.
57436         * doc/Makefile (MAKEINFO): New variable.
57437
57438 2008-08-26  Bruno Haible  <bruno@clisp.org>
57439
57440         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
57441         Suggested by Eric Blake.
57442
57443 2008-08-25  Bruno Haible  <bruno@clisp.org>
57444
57445         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
57446
57447 2008-08-25  Eric Blake  <ebb9@byu.net>
57448
57449         c-stack: test that stack overflow can be caught
57450         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
57451         that platform allows handling stack overflow; at least OS/2 EMX
57452         has sigaltstack, but crashes before transferring control to
57453         handler on stack overflow.
57454         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
57455         check for HAVE_STACK_OVERFLOW_HANDLING.
57456         Reported by Elbert Pol.
57457
57458 2008-08-25  Bruno Haible  <bruno@clisp.org>
57459
57460         * doc/posix-functions/strftime.texi: Fix description of strftime
57461         module.
57462
57463 2008-08-24  Bruno Haible  <bruno@clisp.org>
57464
57465         * tests/uniwidth/test-uc_width2.c: New file.
57466         * tests/uniwidth/test-uc_width2.sh: New file.
57467         * modules/uniwidth/width-tests (Files): Add the new files.
57468         (TESTS): Add uniwidth/test-uc_width2.sh.
57469         (TESTS_ENVIRONMENT): New variable.
57470         (check_PROGRAMS): Add test-uc_width2.
57471         (test_uc_width2_SOURCES): New variable.
57472
57473         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
57474         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
57475         not 0x00AB.
57476         Reported by Alexander V. Lukyanov <lav@netis.ru>.
57477
57478 2008-08-22  Eric Blake  <ebb9@byu.net>
57479
57480         test-lock, test-tls: mention why a test is skipped
57481         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
57482         skipped.
57483         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
57484
57485         count-one-bits: relax license
57486         * modules/count-one-bits (License): Relicense to LGPLv2+.
57487         Suggested by Ludovic Courtès, approved by Ben Pfaff.
57488
57489 2008-08-22  Andreas Schwab  <schwab@suse.de>
57490
57491         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
57492         Remove spurious space in assignment.
57493
57494 2008-08-21  Simon Josefsson  <simon@josefsson.org>
57495
57496         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
57497         Paul Eggert <eggert@CS.UCLA.EDU>.
57498
57499 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
57500
57501         * modules/gettext: Add m4/threadlib.m4.
57502
57503 2008-08-19  Eric Blake  <ebb9@byu.net>
57504
57505         test-c-stack: fix compilation failure on FreeBSD 5.0
57506         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
57507         headers before <sys/resource.h>.
57508         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
57509         the bug.
57510         Reported by Nelson H. F. Beebe.
57511
57512         strverscmp: migrate from "strverscmp.h" to <string.h>
57513         * modules/string (Makefile.am): Add new hooks.
57514         * modules/strverscmp (Files): Remove strverscmp.h.
57515         (Depends-on): Add string.
57516         (configure.ac): Add indicator.
57517         (Include): Mention new header.
57518         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
57519         defaults.
57520         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
57521         results.
57522         * lib/strverscmp.h: Delete.
57523         * lib/string.in.h (strverscmp): Provide declaration, when needed.
57524         * tests/test-strverscmp.c (includes): Adjust client.
57525         * lib/check-version.c (includes): Likewise.
57526         * NEWS: Document the change.
57527
57528         strverscmp: add unit test
57529         * modules/strverscmp-tests: New file.
57530         * tests/test-strverscmp.c: Likewise.
57531
57532 2008-08-19  Simon Josefsson  <simon@josefsson.org>
57533
57534         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
57535         regarding Windows crypto stuff, from Mono.
57536
57537 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
57538
57539         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
57540         if present, for intel RND.  Return error on failures.
57541
57542 2008-08-18  Ben Pfaff  <blp@gnu.org>
57543
57544         gitlog-to-changelog: give better diagnostic for failed pipe-open
57545         * build-aux/gitlog-to-changelog: Improve error message: suggest
57546         that the version of Git may be too old.
57547
57548 2008-08-18  Simon Josefsson  <simon@josefsson.org>
57549
57550         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
57551         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
57552
57553 2008-08-18  Bruno Haible  <bruno@clisp.org>
57554
57555         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
57556         pthread_in_use().
57557
57558 2008-08-18  Bruno Haible  <bruno@clisp.org>
57559
57560         * lib/glthread/threadlib.c: Include <pthread.h>.
57561
57562 2008-08-18  Bruno Haible  <bruno@clisp.org>
57563
57564         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
57565         glthread_recursive_lock_* macros.
57566         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
57567         Fix syntax error.
57568
57569 2008-08-18  Bruno Haible  <bruno@clisp.org>
57570
57571         * lib/glthread/thread.c: Avoid forcing a context switch right after
57572         thread creation.
57573
57574 2008-08-17  Bruno Haible  <bruno@clisp.org>
57575
57576         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
57577         * lib/glthread/thread.h: Provide Win32 specific implementation.
57578         * modules/thread (Files): Add lib/glthread/thread.c.
57579         (Depends-on): Add lock.
57580         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
57581
57582 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57583
57584         New module 'yield'.
57585         * modules/yield: New file.
57586         * lib/glthread/yield.h: New file.
57587         * m4/yield.m4: New file.
57588         * MODULES.html.sh (Multithreading): Add yield.
57589
57590 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57591
57592         New module 'thread'.
57593         * modules/thread: New file.
57594         * lib/glthread/thread.h: New file.
57595         * m4/thread.m4: New file.
57596         * MODULES.html.sh (Multithreading): Add thread.
57597
57598 2008-08-17  Bruno Haible  <bruno@clisp.org>
57599
57600         * lib/glthread/lock.h: Include <stdlib.h> always.
57601         * lib/glthread/tls.h: Likewise.
57602         * lib/glthread/cond.h: Likewise.
57603
57604 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57605
57606         New module 'cond'.
57607         * modules/cond: New file.
57608         * lib/glthread/cond.h: New file.
57609         * lib/glthread/cond.c: New file.
57610         * m4/cond.m4: New file.
57611         * MODULES.html.sh (Multithreading): Add cond.
57612
57613 2008-08-16  Eric Blake  <ebb9@byu.net>
57614
57615         c-stack: fix regression on Irix 5.3 from 2008-06-21
57616         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
57617         sa_sigaction...
57618         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
57619         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
57620         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
57621         * modules/signal (Makefile.am): Use the value.
57622         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
57623         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
57624         * doc/posix-headers/signal.texi (signal.h): Document this
57625         portability issue.
57626         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
57627         Reported by Tom G. Christensen.
57628
57629 2008-08-17  Bruno Haible  <bruno@clisp.org>
57630
57631         New module 'threadlib'.
57632         * modules/threadlib: New file.
57633         * lib/glthread/threadlib.c: New file, extracted from
57634         lib/glthread/lock.c.
57635         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
57636         functions.
57637         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
57638         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
57639         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
57640         macros.
57641         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
57642         (gl_DISABLE_THREADS): Remove macro.
57643         * modules/lock (Files): Remove build-aux/config.rpath.
57644         (Depends-on): Remove havelib. Add threadlib.
57645         (configure.ac-early): Remove section.
57646         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
57647         * modules/tls (Depends-on): Remove lock. Add threadlib.
57648         (Link): New section, copied from threadlib.
57649         * MODULES.html.sh (Multithreading): Add threadlib.
57650
57651 2008-08-14  Bruno Haible  <bruno@clisp.org>
57652
57653         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
57654         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
57655         glthread_rwlock_unlock, glthread_rwlock_destroy,
57656         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
57657         glthread_recursive_lock_destroy): Define as macros always.
57658         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
57659         glthread_lock_lock.
57660         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
57661         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
57662         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
57663         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
57664         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
57665         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
57666         (glthread_recursive_lock_lock_func): Renamed from
57667         glthread_recursive_lock_lock.
57668         (glthread_recursive_lock_unlock_func): Renamed from
57669         glthread_recursive_lock_unlock.
57670         (glthread_recursive_lock_destroy_func): Renamed from
57671         glthread_recursive_lock_destroy.
57672
57673 2008-08-14  Bruno Haible  <bruno@clisp.org>
57674
57675         * lib/glthread/lock.h: Renamed from lib/lock.h.
57676         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
57677         * lib/glthread/tls.h: Renamed from lib/tls.h.
57678         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
57679         * lib/fstrcmp.c: Update includes.
57680         * lib/strsignal.c: Update includes.
57681         * modules/lock (Files, Makefile.am): Update.
57682         (Include): Change to "glthread/lock.h".
57683         * modules/tls (Files, Makefile.am): Update.
57684         (Include): Change to "glthread/tls.h".
57685         * tests/test-lock.c: Update includes.
57686         * tests/test-tls.c: Update includes.
57687         * NEWS: Mention the renamed header files.
57688
57689 2008-08-11  Jim Meyering  <meyering@redhat.com>
57690
57691         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
57692
57693 2008-08-11  Eric Blake  <ebb9@byu.net>
57694
57695         test-c-stack: avoid C99-ism
57696         * tests/test-c-stack.c (main): Fix whitespace, move declaration
57697         before statement.
57698         Reported by Alain Guibert.
57699
57700 2008-08-10  Jim Meyering  <meyering@redhat.com>
57701
57702         ensure that return value of uinttostr et al are not ignored
57703         * lib/inttostr.h (__GNUC_PREREQ): Define.
57704         (__attribute_warn_unused_result__): Define.
57705         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
57706
57707 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
57708
57709         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
57710         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
57711
57712 2008-08-07  Jim Meyering  <meyering@redhat.com>
57713
57714         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
57715
57716         * modules/mkstemp (License): Relicense under LGPLv2+.
57717         * modules/tempname (License): Likewise.
57718
57719 2008-08-06  Bruno Haible  <bruno@clisp.org>
57720
57721         * lib/poll.c (poll): Further micro-optimization.
57722
57723 2008-08-06  Jim Meyering  <meyering@redhat.com>
57724
57725         inet_pton.c: use locale-independent tolower
57726         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
57727         (inet_pton6): Use c_tolower rather than tolower.
57728         * modules/inet_pton (Depends-on): Add c-ctype.
57729
57730 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
57731
57732         * lib/poll.c (poll): Avoid division when timeout is 0, cache
57733         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
57734
57735 2008-08-06  Jim Meyering  <meyering@redhat.com>
57736
57737         * modules/inet_pton (License): Relicense under LGPLv2+.
57738
57739 2008-08-03  Bruno Haible  <bruno@clisp.org>
57740
57741         Additional non-aborting API for lock and tls.
57742         * lib/lock.h: Include <errno.h>.
57743         (glthread_lock_init): New macro/function.
57744         (gl_lock_init): Define as wrapper around glthread_lock_init.
57745         (glthread_lock_lock): New macro/function.
57746         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
57747         (glthread_lock_unlock): New macro/function.
57748         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
57749         (glthread_lock_destroy): New macro/function.
57750         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
57751         (glthread_rwlock_init): New macro/function.
57752         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
57753         (glthread_rwlock_rdlock): New macro/function.
57754         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
57755         (glthread_rwlock_wrlock): New macro/function.
57756         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
57757         (glthread_rwlock_unlock): New macro/function.
57758         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
57759         (glthread_rwlock_destroy): New macro/function.
57760         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
57761         (glthread_recursive_lock_init): New macro/function.
57762         (gl_recursive_lock_init): Define as wrapper around
57763         glthread_recursive_lock_init.
57764         (glthread_recursive_lock_lock): New macro/function.
57765         (gl_recursive_lock_lock): Define as wrapper around
57766         glthread_recursive_lock_lock.
57767         (glthread_recursive_lock_unlock): New macro/function.
57768         (gl_recursive_lock_unlock): Define as wrapper around
57769         glthread_recursive_lock_unlock.
57770         (glthread_recursive_lock_destroy): New macro/function.
57771         (gl_recursive_lock_destroy): Define as wrapper around
57772         glthread_recursive_lock_destroy.
57773         (glthread_once): New macro/function.
57774         (gl_once): Define as wrapper around glthread_once.
57775         Update function declarations.
57776         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
57777         glthread_rwlock_init. Return error code.
57778         (glthread_rwlock_rdlock_multithreaded): Renamed from
57779         glthread_rwlock_rdlock. Return error code.
57780         (glthread_rwlock_wrlock_multithreaded): Renamed from
57781         glthread_rwlock_wrlock. Return error code.
57782         (glthread_rwlock_unlock_multithreaded): Renamed from
57783         glthread_rwlock_unlock. Return error code.
57784         (glthread_rwlock_destroy_multithreaded): Renamed from
57785         glthread_rwlock_destroy. Return error code.
57786         (glthread_recursive_lock_init_multithreaded): Renamed from
57787         glthread_recursive_lock_init. Return error code.
57788         (glthread_recursive_lock_lock_multithreaded): Renamed from
57789         glthread_recursive_lock_lock. Return error code.
57790         (glthread_recursive_lock_unlock_multithreaded): Renamed from
57791         glthread_recursive_lock_unlock. Return error code.
57792         (glthread_recursive_lock_destroy_multithreaded): Renamed from
57793         glthread_recursive_lock_destroy. Return error code.
57794         (glthread_once_call): Make static.
57795         (glthread_once_multithreaded): Renamed from glthread_once.
57796         * lib/tls.h: Include <errno.h>.
57797         (glthread_tls_key_init): New macro/function.
57798         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
57799         (glthread_tls_set): New macro/function.
57800         (gl_tls_set): Define as wrapper around glthread_tls_set.
57801         (glthread_tls_key_destroy): New macro/function.
57802         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
57803         Update function declarations.
57804         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
57805         glthread_tls_get.
57806         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
57807
57808 2008-08-04  Eric Blake  <ebb9@byu.net>
57809
57810         gnumakefile: use space, not TAB, outside of targets
57811         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
57812
57813 2008-08-02  Jim Meyering  <meyering@redhat.com>
57814
57815         getdate.y: avoid locale-dependent date parsing failure
57816         In Turkish locales, getdate would fail to recognize keywords
57817         containing a lowercase "i".  The solution is not to rely on
57818         locale-sensitive case-conversion.
57819         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
57820         (lookup_word): Use c_toupper in place of toupper.
57821         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
57822         Reported by Vefa Bicakci <bicave@superonline.com> in
57823         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
57824         * modules/getdate (Depends-on): Add c-ctype.
57825
57826 2008-08-02  Bruno Haible  <bruno@clisp.org>
57827
57828         * gnulib-tool (func_import): When updating or creating a .gitignore
57829         file, prepend each added line with a slash, and ignore leading slashes
57830         from the existing lines.
57831         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
57832
57833 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57834
57835         Portability fix for GNU make 3.79.1.
57836         * top/GNUmakefile: Avoid 'else COND', which older GNU make
57837         versions do not understand.
57838
57839 2008-08-01  Bruno Haible  <bruno@clisp.org>
57840
57841         Work around bug of HP-UX 10.20 cc with -0.0 literal.
57842         * tests/test-isnanf.h (zero): New variable.
57843         (main): Avoid literal -0.0f.
57844         * tests/test-isnand.h (zero): New variable.
57845         (main): Avoid literal -0.0.
57846         * tests/test-isnanl.h (zero): New variable.
57847         (main): Avoid literal -0.0L.
57848         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
57849         (test_float, test_double, test_long_double): Avoid literals -0.0f,
57850         -0.0, -0.0L.
57851         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
57852         (test_signbitd): Avoid literal -0.0.
57853         (test_signbitl): Avoid literal -0.0L.
57854         * tests/test-ceilf1.c (zero): New variable.
57855         (main): Avoid literal -0.0f.
57856         * tests/test-ceill.c (zero): New variable.
57857         (main): Avoid literal -0.0L.
57858         * tests/test-floorf1.c (zero): New variable.
57859         (main): Avoid literal -0.0f.
57860         * tests/test-floorl.c (zero): New variable.
57861         (main): Avoid literal -0.0L.
57862         * tests/test-roundf1.c (zero): New variable.
57863         (main): Avoid literal -0.0f.
57864         * tests/test-round1.c (zero): New variable.
57865         (main): Avoid literal -0.0.
57866         * tests/test-roundl.c (zero): New variable.
57867         (main): Avoid literal -0.0L.
57868         * tests/test-truncf1.c (zero): New variable.
57869         (main): Avoid literal -0.0f.
57870         * tests/test-trunc1.c (zero): New variable.
57871         (main): Avoid literal -0.0.
57872         * tests/test-truncl.c (zero): New variable.
57873         (main): Avoid literal -0.0L.
57874         * tests/test-frexp.c (zero): New variable.
57875         (main): Avoid literal -0.0.
57876         * tests/test-frexpl.c (zero): New variable.
57877         (main): Avoid literal -0.0L.
57878         * tests/test-ldexpl.c (zero): New variable.
57879         (main): Avoid literal -0.0L.
57880         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
57881         (zerod, zerol): New variables.
57882         (test_function): Avoid literals -0.0, -0.0L.
57883         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
57884         (zerod, zerol): New variables.
57885         (test_function): Avoid literals -0.0, -0.0L.
57886         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
57887         (zerod, zerol): New variables.
57888         (test_function): Avoid literals -0.0, -0.0L.
57889         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
57890         (zerod, zerol): New variables.
57891         (test_function): Avoid literals -0.0, -0.0L.
57892         * tests/test-strtod.c (zero): New variable.
57893         (main): Avoid literal -0.0.
57894         Reported by Jonathan C. Patschke <jp@centtech.com>.
57895
57896 2008-07-31  Jim Meyering  <meyering@redhat.com>
57897
57898         sha256.h: correct definition of SHA224_DIGEST_SIZE
57899         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
57900         Reported by Paulie Pena IV <paulie4@gmail.com>.
57901         Define as 224 / 8, rather than as a literal.
57902         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
57903         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
57904         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
57905
57906 2008-07-31  Bruno Haible  <bruno@clisp.org>
57907
57908         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
57909         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
57910         Reported by Jonathan Patschke <jp@centtech.com>.
57911
57912 2008-07-31  Bruno Haible  <bruno@clisp.org>
57913
57914         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
57915         Reported by Paolo Bonzini <bonzini@gnu.org>.
57916
57917 2008-07-30  Eric Blake  <ebb9@byu.net>
57918
57919         test-strtod: allow compilation without -lm
57920         * tests/test-strtod.c (main): Avoid link dependence on fabs.
57921         Reported by Dennis Clarke <blastwave@gmail.com>.
57922
57923 2008-07-28  Jim Meyering  <meyering@redhat.com>
57924
57925         bootstrap: work also when there are no .po files in po/
57926         * build-aux/bootstrap (update_po_files): Complete the change
57927         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
57928
57929 2008-07-27  Jim Meyering  <meyering@redhat.com>
57930
57931         * users.txt: Add zile.
57932
57933 2008-07-26  Ben Pfaff  <blp@gnu.org>
57934
57935         Add missing dependencies on new m4/exponent[fdl].m4 files.
57936         * modules/isnanf-nolibm: Add m4/exponentf.m4.
57937         * modules/isnand-nolibm: Add m4/exponentd.m4.
57938         * modules/isnanl-nolibm: Add m4/exponentl.m4.
57939         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
57940         m4/isnan[fdl].m4, because the macros actually used moved.
57941         Reported by Jim Meyering.
57942
57943 2008-07-14  Ben Pfaff  <blp@gnu.org>
57944
57945         Add isinf module.
57946         * lib/isinf.c: New file.
57947         * lib/math.in.h: Define isinf macro if we have decided to replace
57948         it.
57949         * m4/isinf.m4: New file.
57950         * m4/math_h.m4: Initialize and substitute variables for isinf
57951         module.
57952         * modules/isinf: New file.
57953         * modules/isinf-tests: New file.
57954         * modules/math: Add substitutions for new module.
57955         * tests/test-isinf.c: New file.
57956         * doc/posix-functions/isinf.texi: Mention new module.
57957         * MODULES.html.sh: Mention new module.
57958
57959 2008-07-14  Ben Pfaff  <blp@gnu.org>
57960
57961         Factor out some macros for use by additional modules.
57962         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
57963         exponentf.m4.
57964         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
57965         exponentd.m4.
57966         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
57967         file exponentl.m4.
57968         * m4/exponentf.m4: New file.
57969         * m4/exponentd.m4: New file.
57970         * m4/exponentl.m4: New file.
57971         * modules/isnanf: Use new file m4/exponentf.m4.
57972         * modules/isnand: Use new file m4/exponentd.m4.
57973         * modules/isnanl: Use new file m4/exponentl.m4.
57974
57975 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
57976
57977         mktime.c: normalize tp->tm_isdst value to -1/0/1.
57978         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
57979         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
57980         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
57981
57982         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
57983         readlink on platforms without PATH_MAX.
57984
57985 2008-07-21  Eric Blake  <ebb9@byu.net>
57986
57987         Warn, not fail, on stale version.
57988         * top/GNUmakefile (_curr-ver): Tone down previous patch.
57989
57990         Don't allow installation with stale devel version number.
57991         * top/GNUmakefile (_is-install-target): New macro.
57992         (_curr-ver): Forbid installation with stale version number.
57993
57994 2008-07-20  Bruno Haible  <bruno@clisp.org>
57995
57996         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
57997         TESTS_ENVIRONMENT.
57998         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
57999
58000 2008-07-20  Bruno Haible  <bruno@clisp.org>
58001
58002         * lib/c-stack.h (c_stack_action): Add documentation.
58003         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
58004
58005 2008-07-20  Bruno Haible  <bruno@clisp.org>
58006
58007         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
58008         * modules/readlink (License): Likewise.
58009
58010 2008-07-17  Eric Blake  <ebb9@byu.net>
58011
58012         * modules/c-stack (Link): Fix typo.
58013
58014         Make c-stack use libsigsegv, when available.
58015         * modules/c-stack (Depends-on): Add libsigsegv.
58016         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
58017         needed.
58018         * lib/c-stack.c (SIGSTKSZ): Define fallback.
58019         (segv_handler, overflow_handler, c_stack_action)
58020         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
58021         implementation when libsigsegv is available, but only when using
58022         the library is necessary.
58023         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
58024         comment, explaining why XSI check fails on Linux.
58025         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
58026         * tests/test-c-stack2.sh: Tweak skip message.
58027         * NEWS: Document new link-time requirements.
58028
58029 2008-07-16  Eric Blake  <ebb9@byu.net>
58030
58031         c-stack: Expose false positives when not using libsigsegv.
58032         * modules/c-stack-tests (Files): Expand test.
58033         * tests/test-c-stack.c (main): Add means to conditionally trigger
58034         non-overflow SIGSEGV.
58035         * tests/test-c-stack2.sh: New file.
58036
58037 2008-07-14  Bruno Haible  <bruno@clisp.org>
58038
58039         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
58040         Reported by Eric Blake.
58041
58042 2008-07-14  Sam Steingold  <sds@gnu.org>
58043             Bruno Haible  <bruno@clisp.org>
58044
58045         New module libsigsegv.
58046         * modules/libsigsegv: New file.
58047         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
58048         modifications.
58049         * MODULES.html.sh (Signal handling): New section.
58050
58051 2008-07-14  Bruno Haible  <bruno@clisp.org>
58052
58053         * modules/unictype/ctype-* (Description): Add the word "function".
58054         Improves the resulting doc in MODULES.html.
58055
58056 2008-07-12  Ben Pfaff  <blp@gnu.org>
58057
58058         Add longlong module.
58059         * modules/longlong: New file.
58060
58061 2008-07-12  Bruno Haible  <bruno@clisp.org>
58062
58063         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
58064         to empty.
58065
58066 2008-07-10  Ben Pfaff  <blp@gnu.org>
58067
58068         Add isnan module.
58069         * doc/posix-functions/isnan.texi: Mention new module.
58070         * lib/math.in.h: Define isnan macro if we have decided to replace
58071         it.
58072         * m4/isnan.m4: New file.
58073         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
58074         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
58075         also.
58076         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
58077         redundancy.
58078         * m4/math_h.m4: Initialize and substitute variables for isnan
58079         module.
58080         * modules/isnan: New file.
58081         * modules/isnan-tests: New file.
58082         * modules/math: Add substitutions for new module.
58083         * tests/test-isnan.c: New file.
58084         * MODULES.html.sh: Mention new module.
58085
58086 2008-07-10  Ben Pfaff  <blp@gnu.org>
58087
58088         Add isnanf module.
58089         * lib/isnanf.m4: New file.
58090         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
58091         (gl_HAVE_ISNANF_IN_LIBM): New macro.
58092         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
58093         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
58094         * modules/isnanf: New file.
58095         * modules/isnanf-tests: New file.
58096         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
58097         files.
58098         * tests/test-isnanf-nolibm.c: factored most of its contents into
58099         new file tests/test-isnanf.h.
58100         * tests/test-isnanf.h: New file.
58101         * tests/test-isnanf.c: New file.
58102         * MODULES.html.sh: Mention new module.
58103         * doc/glibc-functions/isnanf.texi: Mention new module.
58104
58105 2008-07-10  Ben Pfaff  <blp@gnu.org>
58106
58107         Add isnand module.
58108         * lib/isnand.h: New file.
58109         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
58110         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
58111         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
58112         functionality also.
58113         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
58114         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
58115         (gl_HAVE_ISNAND_IN_LIBM): New macro.
58116         * modules/isnand: New file.
58117         * modules/isnand-tests: New file.
58118         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
58119         files.
58120         * tests/test-isnand-nolibm.c: factored most of its contents into
58121         new file tests/test-isnand.h.
58122         * tests/test-isnand.h: New file.
58123         * tests/test-isnand.c: New file.
58124         * MODULES.html.sh: Mention new module.
58125
58126 2008-07-10  Ben Pfaff  <blp@gnu.org>
58127
58128         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
58129         * lib/isnand.h: Rename lib/isnand-nolibm.h.
58130         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
58131         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
58132         * modules/isnanf-nolibm: Update references to renamed files.
58133         * modules/isnand-nolibm: Likewise.
58134         * modules/isnanf-nolibm-tests: Likewise.
58135         * modules/isnand-nolibm-tests: Likewise.
58136         * lib/frexp.c: Likewise.
58137         * lib/isfinite.c: Likewise.
58138         * lib/signbitd.c: Likewise.
58139         * lib/signbitf.c: Likewise.
58140         * lib/vasnprintf.c: Likewise.
58141         * tests/test-ceilf1.c: Likewise.
58142         * tests/test-ceilf2.c: Likewise.
58143         * tests/test-floorf1.c: Likewise.
58144         * tests/test-floorf2.c: Likewise.
58145         * tests/test-frexp.c: Likewise.
58146         * tests/test-round1.c: Likewise.
58147         * tests/test-round2.c: Likewise.
58148         * tests/test-roundf1.c: Likewise.
58149         * tests/test-strtod.c: Likewise.
58150         * tests/test-trunc1.c: Likewise.
58151         * tests/test-trunc2.c: Likewise.
58152         * tests/test-truncf1.c: Likewise.
58153         * tests/test-truncf2.c: Likewise.
58154         * NEWS: Mention the renamed header files.
58155
58156 2008-07-11  Jim Meyering  <meyering@redhat.com>
58157
58158         vc-list-files: make the last-resort awk code more portable
58159         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
58160         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
58161         does not support it.
58162
58163 2008-07-10  Eric Blake  <ebb9@byu.net>
58164
58165         Work with tar's bootstrap.
58166         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
58167         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
58168         an m4 comment.
58169
58170 2008-07-09  Jim Meyering  <meyering@redhat.com>
58171
58172         posix-shell.m4: fix typo that made this test malfunction
58173         * m4/posix-shell.m4: Remove capitalization in variable name.
58174
58175 2008-07-08  Bruno Haible  <bruno@clisp.org>
58176
58177         * m4/onceonly.m4: Update comments.
58178         Reported by Ben Pfaff <blp@cs.stanford.edu>.
58179
58180 2008-07-04  Jim Meyering  <meyering@redhat.com>
58181
58182         * users.txt: Add vc-dwim.
58183         (bison, coreutils): Use the gitweb URL.
58184
58185 2008-07-03  Jim Meyering  <meyering@redhat.com>
58186
58187         * users.txt: Add libffcall.  From Sam Steingold.
58188
58189 2008-07-03  OndÅ™ej Vašík  <ovasik@redhat.com>
58190
58191         getdate.y: do not ignore TZ with relative day, month or year offset
58192         * lib/getdate.y (get_date): Move the tz-handling block to follow the
58193         relative-date-handling, since otherwise, the latter would clobber the
58194         sole output (an updated Start value) of the tz-handling block.
58195         * tests/test-getdate.c: Tests for the fix
58196
58197 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58198
58199         Recognize 'foo_LIBRARIES += libgnu.a'.
58200         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
58201         makefile snippet has already specified an installation location,
58202         also using '+='.
58203
58204 2008-07-02  OndÅ™ej Vašík  <ovasik@redhat.com>
58205
58206         getdate.y: factor out common actions
58207         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
58208         Use them in place of open-coded actions.
58209
58210 2008-07-01  Simon Josefsson  <simon@josefsson.org>
58211
58212         Add self-test for getdate module.
58213         * modules/getdate-tests: New file.
58214         * tests/test-getdate.c: New file.
58215
58216 2008-06-29  Bruno Haible  <bruno@clisp.org>
58217
58218         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
58219         .gitignore.
58220         Reported by Sylvain Beucler <beuc@beuc.net>.
58221
58222 2008-06-29  Bruno Haible  <bruno@clisp.org>
58223
58224         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
58225         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
58226
58227 2008-06-29  Bruno Haible  <bruno@clisp.org>
58228
58229         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
58230         EXTRA_DIST.
58231         Reported by Sylvain Beucler <beuc@beuc.net>.
58232
58233 2008-06-26  Jim Meyering  <meyering@redhat.com>
58234
58235         make several modules depend on the "open" module
58236         This provides slightly increased consistency when opening-for-write
58237         the name of a non-directory spelled with a trailing slash.
58238         * modules/chdir-safer: Likewise.
58239         * modules/chown: Likewise.
58240         * modules/clean-temp: Likewise.
58241         * modules/copy-file: Likewise.
58242         * modules/fchdir: Likewise.
58243         * modules/fcntl-safer: Likewise.
58244         * modules/pipe: Likewise.
58245         * modules/utime: Likewise.
58246         Prompted by Eric Blake and Bruno Haible.
58247
58248 2008-06-24  Andreas Schwab  <schwab@suse.de>
58249
58250         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
58251         literals can be used as initializers for global variables.
58252
58253 2008-06-23  Eric Blake  <ebb9@byu.net>
58254
58255         Make gnulib-cache.m4 easier to diff.
58256         * gnulib-tool (func_import): Allow newlines when reading cached
58257         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
58258
58259 2008-06-23  Bruno Haible  <bruno@clisp.org>
58260
58261         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
58262         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
58263         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
58264         m4/signalblocking.m4.
58265         (gl_PREREQ_SIGACTION): Don't invoke it.
58266         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
58267         gl_PREREQ_SIG_HANDLER_H.
58268         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58269         Don't check for sigaction here.
58270
58271 2008-06-23  Bruno Haible  <bruno@clisp.org>
58272
58273         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
58274         (install_handlers): Don't set the SA_RESETHAND flag.
58275
58276 2008-06-23  Bruno Haible  <bruno@clisp.org>
58277
58278         * m4/sigaction.m4: Comment fixes.
58279         * lib/signal.in.h: Likewise.
58280
58281 2008-06-23  Eric Blake  <ebb9@byu.net>
58282
58283         Fix typo.
58284         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
58285
58286         Avoid SA_ namespace.
58287         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
58288         Reported by Ralf Wildenhues.
58289
58290         Avoid test failure due to SA_RESTORER.
58291         * tests/test-sigaction.c (SA_MASK): New macro.
58292         (main): Avoid failing due to extension flags being set.
58293         Reported by Jim Meyering.
58294
58295         Revert use of sig-handler.h in sigprocmask.c.
58296         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
58297         it requires the existence of struct sigaction.
58298         * lib/sigprocmask.c (handler_t): Restore typedef.
58299         (rpl_signal, old_handlers): Use local type.
58300
58301 2008-06-22  Bruno Haible  <bruno@clisp.org>
58302
58303         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
58304         conditionally.
58305         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
58306
58307 2008-06-22  Bruno Haible  <bruno@clisp.org>
58308
58309         * doc/posix-functions/siginterrupt.texi: Move note.
58310
58311         * lib/signal.in.h (SA_RESTART): New macro.
58312         * lib/sigaction.c: Update comment.
58313
58314         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
58315
58316         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
58317         (gl_PREREQ_SIGPROCMASK): Invoke it.
58318         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
58319
58320         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
58321
58322         * lib/sigprocmask.c: Update a comment.
58323
58324 2008-06-21  Eric Blake  <ebb9@byu.net>
58325
58326         Use sigaction module rather than signal().
58327         * modules/c-stack (Depends-on): Add sigaction.
58328         * modules/fatal-signal (Depends-on): Likewise.
58329         * modules/nanosleep (Depends-on): Likewise.
58330         * modules/sigprocmask (Files): Add sig-handler.h.
58331         * modules/sigaction (Files): Likewise.
58332         * lib/sig-handler.h (get_handler): New file, suggested by Paul
58333         Eggert.
58334         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
58335         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
58336         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
58337         (init_fatal_signals): Likewise.
58338         * lib/nanosleep.c (rpl_nanosleep): Likewise.
58339         (siginterrupt): Delete fallback.
58340         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
58341         instead.
58342         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
58343         siginterrupt.
58344
58345         New module sigaction, for mingw.
58346         * modules/sigaction: New module...
58347         * modules/sigaction-tests: ...and its test.
58348         * m4/sigaction.m4: New file.
58349         * lib/sigaction.c: Likewise.
58350         * tests/test-sigaction.c: Likewise.
58351         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
58352         * modules/signal (Makefile.am): Likewise.
58353         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
58354         needed.
58355         * doc/posix-headers/signal.texi (signal.h): Mention provided
58356         types.
58357         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
58358         that sigaction is preferable.
58359         * doc/posix-functions/sigaction.texi (sigaction): Mention new
58360         module.
58361         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58362         sigaction.
58363
58364         Improve robustness of sigprocmask by overriding signal.
58365         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
58366         is in use.
58367         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
58368         (SIGKILL, SIGSTOP): Provide fallbacks.
58369         (rpl_signal): Implement.
58370         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
58371         signal can be called inside handlers.
58372
58373         Fix nanosleep module on mingw.
58374         * modules/nanosleep (Depends-on): Add sys_select.
58375         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
58376
58377         Fix licensing of sigprocmask.
58378         * modules/raise (License): Relicense as LGPL.
58379
58380 2008-06-21  Bruno Haible  <bruno@clisp.org>
58381
58382         * lib/propername.c (proper_name_utf8): Don't use the transliterated
58383         result if it contains question marks.
58384         Reported by Michael Geng <linux@michaelgeng.de>.
58385
58386 2008-06-19  Bruno Haible  <bruno@clisp.org>
58387
58388         Fix CVS-ism.
58389         * doc/gnulib.texi: Include updated-stamp.texi.
58390         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
58391         (updated-stamp.texi): New rule.
58392         (gnulib.info): Depend on it.
58393         * doc/.gitignore: Add updated-stamp.texi.
58394         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
58395
58396 2008-06-19  Bruno Haible  <bruno@clisp.org>
58397
58398         * doc/Makefile (gnulib.info): Update and simplify dependencies.
58399         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58400
58401 2008-06-19  Eric Blake  <ebb9@byu.net>
58402
58403         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
58404         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
58405         Reported by Stepan Kasal.
58406
58407 2008-06-18  Bruno Haible  <bruno@clisp.org>
58408
58409         * lib/fatal-signal.c (init_fatal_signals): Add comment.
58410         Reported by Eric Blake.
58411
58412 2008-06-18  Eric Blake  <ebb9@byu.net>
58413
58414         Work around cygwin 1.5.25 strsignal bug.
58415         * tests/test-strsignal.c: Allow for const char *.
58416         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
58417
58418 2008-06-18  Simon Josefsson  <simon@josefsson.org>
58419
58420         * users.txt: Update URL to article and add author/date
58421         information.
58422
58423 2008-06-17  Bruno Haible  <bruno@clisp.org>
58424
58425         New macro gl_DISABLE_THREADS.
58426         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
58427         if the user did not pass --enable-threads or --disable-threads option.
58428         (gl_DISABLE_THREADS): New macro.
58429         Reported by Eric Blake <ebb9@byu.net>.
58430
58431 2008-06-17  Bruno Haible  <bruno@clisp.org>
58432
58433         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
58434         when the macro ignores it.
58435         Based on a patch by Eric Blake <ebb9@byu.net>.
58436
58437 2008-06-17  Bruno Haible  <bruno@clisp.org>
58438
58439         * modules/tls (License): Change to LGPLv2+.
58440         Reported by Eric Blake.
58441
58442 2008-06-17  Eric Blake  <ebb9@byu.net>
58443
58444         Simplify c-stack prerequisites.
58445         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
58446         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
58447         no longer requires <ucontext.h> to exist.  Optimize setrlimit
58448         check.
58449         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
58450         <sys/resource.h>.
58451
58452         Move c-stack test into testsuite.
58453         * modules/c-stack-tests: New file.
58454         * lib/c-stack.c [DEBUG]: Move test program...
58455         * tests/test-c-stack.c: ...into this new file.  Skip rather than
58456         fail test if sigaltstack is lacking.
58457         * tests/test-c-stack.sh: New driver file.
58458
58459 2008-06-16  Eric Blake  <ebb9@byu.net>
58460
58461         Use raise module consistently.
58462         * modules/fatal-signal (Depends-on): Add raise.
58463         * modules/sigprocmask (Depends-on): Likewise.
58464         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
58465         * lib/sigprocmask.c (sigprocmask): Likewise.
58466         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58467         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
58468
58469         Fix compliance bug in sigpending.
58470         * lib/sigprocmask.c (sigpending): Return pending array via
58471         parameter, not return value.
58472
58473 2008-06-14  Eric Blake  <ebb9@byu.net>
58474
58475         Improve obstack-printf test code.
58476         * tests/test-obstack-printf.c (test_function): Fix comment, and
58477         simplify usage of obstack_* in macros.  Add a test for coverage.
58478         Reported by Bruno Haible.
58479
58480 2008-06-14  Bruno Haible  <bruno@clisp.org>
58481
58482         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
58483         array size as a constant, not as a const variable.
58484         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
58485         AC_USE_SYSTEM_EXTENSIONS.
58486         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
58487         Test whether the obstack_printf function actually exists.
58488         * modules/obstack-printf (Depends-on): Add extensions.
58489         (Include): Remove obstack.h.
58490         * modules/obstack-printf-posix (Depends-on): Add extensions.
58491         (Include): Remove obstack.h.
58492
58493 2008-06-13  Eric Blake  <ebb9@byu.net>
58494
58495         Add obstack-printf and obstack-printf-posix modules.
58496         * modules/obstack-printf: New file.
58497         * modules/obstack-printf-posix: Likewise.
58498         * MODULES.html.sh (Misc): Mention them.
58499         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
58500         Likewise.
58501         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
58502         Likewise.
58503         * modules/stdio (Makefile.am): Accomodate new modules.
58504         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
58505         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
58506         Declare.
58507         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
58508         functions.
58509         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
58510         (gl_REPLACE_OBSTACK_PRINTF): New macros
58511         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
58512         * tests/test-obstack-printf.c: New file.
58513         * modules/obstack-printf-tests: Likewise.
58514         * modules/obstack-printf-posix-tests: Likewise.
58515
58516 2008-06-11  Bruno Haible  <bruno@clisp.org>
58517
58518         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
58519         * lib/open.c: Include errno.h.
58520         (open): Fail when attempting to write to a file that has a trailing
58521         slash.
58522         * tests/test-open.c (main): Test against trailing slash bug.
58523         * doc/posix-functions/open.texi: Mention the trailing slash bug.
58524
58525 2008-06-10  Bruno Haible  <bruno@clisp.org>
58526
58527         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
58528         for $? to work inside the trap command, with various /bin/sh-s.
58529         * tests/test-vc-list-files-cvs.sh: Likewise.
58530
58531 2008-06-10  Bruno Haible  <bruno@clisp.org>
58532
58533         * lib/acl-internal.h: Don't include gettext.h here.
58534         * lib/set-mode-acl.c: Include gettext.h here.
58535         * lib/copy-acl.c: Likewise.
58536
58537 2008-06-10  Bruno Haible  <bruno@clisp.org>
58538
58539         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
58540         * lib/wait-process.c (wait_subprocess): Likewise.
58541         * lib/execute.h (execute): Add termsigp argument.
58542         * lib/execute.c (execute): Likewise.
58543         * lib/csharpcomp.c (compile_csharp_using_pnet,
58544         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
58545         * lib/csharpexec.c (execute_csharp_using_pnet,
58546         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
58547         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
58548         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
58549         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
58550         is_jikes_present): Update.
58551         * lib/javaexec.c (execute_java_class): Update.
58552         * lib/javaversion.c (execute_and_read_line): Update.
58553         * NEWS: Document the changes.
58554         Reported by Eric Blake.
58555
58556 2008-06-10  Eric Blake  <ebb9@byu.net>
58557
58558         Add missing include.
58559         * tests/test-strstr.c (includes): Add <signal.h>.
58560         * tests/test-strcasestr.c (includes): Likewise.
58561         * tests/test-memmem.c (includes): Likewise.
58562
58563 2008-06-10  Bruno Haible  <bruno@clisp.org>
58564
58565         * lib/wait-process.c (wait_subprocess): Add an assertion.
58566
58567 2008-06-10  Bruno Haible  <bruno@clisp.org>
58568
58569         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
58570
58571 2008-06-10  Bruno Haible  <bruno@clisp.org>
58572
58573         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
58574         using alarm().
58575         * tests/test-strcasestr.c (main): Likewise.
58576         * tests/test-strstr.c (main): Likewise.
58577
58578 2008-06-09  Bruno Haible  <bruno@clisp.org>
58579
58580         Work around the Solaris 10 ACE ACLs ABI change.
58581         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
58582         declare if ACL_NO_TRIVIAL is present.
58583         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
58584         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
58585         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
58586         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
58587         define if ACL_NO_TRIVIAL is present.
58588         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
58589         and use the current ABI.
58590         (file_has_acl): Use same #if condition as elsewhere.
58591         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
58592         in use, and use the current ABI.
58593         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
58594         Reported by Jim Meyering.
58595
58596 2008-06-09  Eric Blake  <ebb9@byu.net>
58597
58598         Work around environments that (stupidly) ignore SIGALRM.
58599         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
58600         before using alarm().
58601         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58602         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
58603         Reported by Ian Beckwith <ianb@erislabs.net>.
58604
58605         Produce autobuild blurb earlier in log.
58606         * modules/autobuild (configure.ac-early): Move AB_INIT here.
58607
58608 2008-06-09  Jim Meyering  <meyering@redhat.com>
58609         and OndÅ™ej Vašík  <ovasik@redhat.com>
58610
58611         utimens.c: correct kernel bug work-around
58612         OndÅ™ej Vašík found that the invalid return value of 280 indicates
58613         failure, not success, and the kernel bug we're trying to work
58614         around affects not just the utimensat call, but also the fallback
58615         futimens call.
58616         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
58617         not success.
58618         [HAVE_FUTIMENS]: Use the same work-around, here.
58619
58620 2008-06-09  Jim Meyering  <meyering@redhat.com>
58621
58622         add more guards around definition of ACE_-related code
58623         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
58624         ALLOW and ACE_OWNER are also defined.
58625
58626 2008-06-08  Bruno Haible  <bruno@clisp.org>
58627
58628         * lib/acl-internal.h: Add me as co-author.
58629         * lib/file-has-acl.c: Likewise.
58630         * lib/set-mode-acl.c: Likewise.
58631         * lib/copy-acl.c: Likewise.
58632
58633 2008-06-08  Bruno Haible  <bruno@clisp.org>
58634
58635         Add support for AIX ACLs.
58636         * lib/acl-internal.h (acl_nontrivial): New declaration.
58637         * lib/file-has-acl.c (acl_nontrivial): New function.
58638         (file_has_acl): Add implementation using AIX 4 ACL API.
58639         * lib/set-mode-acl.c (qset_acl): Likewise.
58640         * lib/copy-acl.c (qcopy_acl): Likewise.
58641
58642 2008-06-08  Bruno Haible  <bruno@clisp.org>
58643
58644         Add support for HP-UX ACLs.
58645         * lib/acl-internal.h (acl_nontrivial): New declaration.
58646         * lib/file-has-acl.c (acl_nontrivial): New function.
58647         (file_has_acl): Add implementation using HP-UX 11 ACL API.
58648         * lib/set-mode-acl.c (qset_acl): Likewise.
58649         * lib/copy-acl.c (qcopy_acl): Likewise.
58650
58651 2008-06-08  Bruno Haible  <bruno@clisp.org>
58652
58653         Add support for Cygwin ACLs.
58654         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
58655         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
58656         the chmod_or_fchmod call.
58657         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
58658
58659 2008-06-08  Bruno Haible  <bruno@clisp.org>
58660
58661         Fix bug with setuid modes in Solaris 10+ code.
58662         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
58663         succeeded, when the mode contains some special bits.
58664
58665 2008-06-08  Bruno Haible  <bruno@clisp.org>
58666
58667         Add support for Solaris 7..10 ACLs.
58668         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
58669         declarations.
58670         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
58671         functions.
58672         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
58673         * lib/set-mode-acl.c (qset_acl): Likewise.
58674         * lib/copy-acl.c (qcopy_acl): Likewise.
58675
58676 2008-06-08  Bruno Haible  <bruno@clisp.org>
58677
58678         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
58679         declaration.
58680         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
58681         (acl_access_nontrivial): Remove MacOS X case.
58682         (file_has_acl): Use acl_extended_nontrivial.
58683         * lib/copy-acl.c (qcopy_acl): Likewise.
58684
58685 2008-06-08  Bruno Haible  <bruno@clisp.org>
58686
58687         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
58688
58689 2008-06-08  Jim Meyering  <meyering@redhat.com>
58690
58691         * modules/acl (Maintainer): Add Bruno Haible.
58692
58693 2008-06-07  Bruno Haible  <bruno@clisp.org>
58694
58695         Improve support for Tru64 ACLs.
58696         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
58697         ACL on OSF/1.
58698
58699 2008-06-07  Bruno Haible  <bruno@clisp.org>
58700
58701         Add support for MacOS X ACLs.
58702         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
58703         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
58704         * lib/set-mode-acl.c (qset_acl): Likewise.
58705         * lib/copy-acl.c (qcopy_acl): Likewise.
58706
58707 2008-06-07  Bruno Haible  <bruno@clisp.org>
58708
58709         Fix memory leak introduced on 2008-05-22.
58710         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
58711         use.
58712
58713 2008-06-07  Bruno Haible  <bruno@clisp.org>
58714
58715         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
58716         to construct an empty ACL.
58717
58718 2008-06-07  Bruno Haible  <bruno@clisp.org>
58719
58720         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
58721         precisely.
58722         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
58723
58724 2008-06-07  Bruno Haible  <bruno@clisp.org>
58725
58726         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
58727         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
58728
58729 2008-06-07  Bruno Haible  <bruno@clisp.org>
58730
58731         * doc/posix-functions/_setjmp.texi: Explain the use of this function
58732         regardless of POSIX.
58733         * doc/posix-functions/_longjmp.texi: Likewise.
58734         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
58735         SystemV platform in this case.
58736
58737 2008-06-06  Eric Blake  <ebb9@byu.net>
58738
58739         Document abort() bugs.
58740         * doc/posix-functions/abort.texi (abort): Mention anomalies.
58741
58742         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
58743         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
58744         sigsetjmp.
58745         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
58746         siglongjmp, but only as a macro.
58747         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
58748         is obsolete.
58749         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
58750
58751         Tweak documentation to cover cygwin argz bugs.
58752         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
58753         argz bug fix; no code change needed since no cygwin releases
58754         occurred between the last fix and the bug being tested.
58755         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
58756         module and recently fixed cygwin bugs.
58757         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
58758         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
58759         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
58760         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
58761         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
58762         Likewise.
58763         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
58764         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
58765         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
58766         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
58767         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
58768         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
58769         Likewise.
58770
58771         Avoid gcc warning on cygwin.
58772         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
58773         !ACL_NO_TRIVIAL]: Avoid unused variable.
58774
58775 2008-06-05  Eric Blake  <ebb9@byu.net>
58776
58777         Be tolerant of UNKNOWN version in gnulib-tool test dir.
58778         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
58779         git-version-gen fails to come up with a version.
58780         Reported by Simon Josefsson.
58781
58782 2008-06-05  Jim Meyering  <meyering@redhat.com>
58783             Paul Eggert  <eggert@cs.ucla.edu>
58784
58785         utimens.c: work around a probable Linux kernel bug
58786         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
58787         appears to be a kernel bug that causes utimensat to return 280
58788         instead of 0, indicating success.
58789
58790 2008-06-04  Bruno Haible  <bruno@clisp.org>
58791
58792         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
58793         2008-06-01 commit.
58794
58795 2008-06-04  Bruno Haible  <bruno@clisp.org>
58796
58797         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
58798         * lib/file-has-acl.c (acl_access_nontrivial): New function.
58799         (file_has_acl): Use it. Save errno afterwards.
58800         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
58801
58802 2008-06-03  Bruno Haible  <bruno@clisp.org>
58803
58804         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
58805         draft code. Simplify #ifs.
58806         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
58807         Put Solaris code after POSIX-draft code. Fix comments regarding
58808         Solaris 10, HP-UX. Mention Cygwin.
58809         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
58810
58811 2008-06-03  Eric Blake  <ebb9@byu.net>
58812
58813         Provide fallback for older kernels.
58814         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
58815         Provide runtime fallback if kernel lacks support.
58816         Reported by Mike Frysinger.
58817
58818 2008-06-02  Bruno Haible  <bruno@clisp.org>
58819
58820         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
58821         it exists.
58822
58823 2008-06-02  Bruno Haible  <bruno@clisp.org>
58824
58825         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
58826         * lib/copy-acl.c (qcopy_acl): Update comment.
58827
58828 2008-06-02  Bruno Haible  <bruno@clisp.org>
58829
58830         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
58831         like ACL APIs.
58832
58833 2008-06-02  Bruno Haible  <bruno@clisp.org>
58834
58835         * tests/test-file-has-acl.sh: Use different code for Cygwin.
58836         * tests/test-set-mode-acl.sh: Likewise.
58837         * tests/test-copy-acl.sh: Likewise.
58838         * tests/test-copy-file.sh: Likewise.
58839
58840 2008-06-02  Bruno Haible  <bruno@clisp.org>
58841
58842         * tests/test-file-has-acl.sh: Remove unused code.
58843
58844 2008-06-01  Bruno Haible  <bruno@clisp.org>
58845
58846         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
58847         (copy_acl): Just a wrapper around qcopy_acl that emits the error
58848         messages.
58849         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
58850
58851 2008-06-01  Bruno Haible  <bruno@clisp.org>
58852
58853         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
58854         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
58855         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
58856         APIs.
58857         * modules/acl-tests (configure.ac): Remove tests now contained in
58858         m4/acl.m4.
58859
58860 2008-06-02  Jim Meyering  <meyering@redhat.com>
58861
58862         announce-gen: use a better key-server host name
58863         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
58864         it may be more consistently reliable.  Suggested by Werner Koch
58865         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
58866
58867 2008-06-01  Bruno Haible  <bruno@clisp.org>
58868
58869         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
58870         Reported by Voroskoi Andras <voroskoi@gmail.com>.
58871
58872 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
58873
58874         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
58875
58876 2008-06-01  Bruno Haible  <bruno@clisp.org>
58877
58878         New ACL tests.
58879         * tests/test-file-has-acl.sh: New file.
58880         * tests/test-file-has-acl.c: New file.
58881         * tests/test-set-mode-acl.sh: New file.
58882         * tests/test-set-mode-acl.c: New file.
58883         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
58884         * tests/test-copy-acl.c: New file.
58885         * modules/acl-tests: New file, based on modules/copy-file-tests.
58886         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
58887         (Depends-on): Add acl-tests.
58888         (configure.ac): Remove checks.
58889         (Makefile.am): Don't create test-sameacls program here any more.
58890
58891 2008-06-01  Bruno Haible  <bruno@clisp.org>
58892
58893         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
58894         * tests/test-sameacls.c: Include progname.h.
58895         (main): Invoke set_program_name. Portability fixes for MacOS X,
58896         Solaris, HP-UX.
58897
58898 2008-06-01  Bruno Haible  <bruno@clisp.org>
58899
58900         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
58901         function.
58902         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
58903
58904 2008-06-01  Bruno Haible  <bruno@clisp.org>
58905
58906         * modules/rpmatch (Depends-on): Add strdup.
58907
58908 2008-06-01  Bruno Haible  <bruno@clisp.org>
58909
58910         * lib/pipe.c: Include unistd-safer.h.
58911         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
58912         * modules/pipe (Depends-on): Add unistd-safer.
58913
58914 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58915
58916         * modules/autobuild (configure.ac): Call AB_INIT.
58917
58918 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58919
58920         * tests/test-getaddrinfo.c: Don't print debug messages by default.
58921         Suggested by Bruno Haible <bruno@clisp.org>.
58922
58923 2008-05-30  Simon Josefsson  <simon@josefsson.org>
58924
58925         * tests/test-base64.c: Cast size_t to unsigned long when invoking
58926         printf.  Use %lu instead of %d.  Reported by Bruno Haible
58927         <bruno@clisp.org>.
58928
58929 2008-05-29  Eric Blake  <ebb9@byu.net>
58930
58931         Prefer new POSIX 200x interfaces over futimesat.
58932         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
58933         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
58934         when available.
58935         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
58936
58937 2008-05-28  Bruno Haible  <bruno@clisp.org>
58938
58939         * modules/stpcpy (License): Change to LGPLv2+.
58940         Requested by David Lutterkort <dlutter@redhat.com>.
58941
58942 2008-05-27  Bruno Haible  <bruno@clisp.org>
58943
58944         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
58945         current mingw.
58946         Reported by Jose E. Marchesi <jemarch@gnu.org>.
58947
58948 2008-05-27  Bruno Haible  <bruno@clisp.org>
58949
58950         * modules/iconv_open (Link): New section, from module 'iconv'.
58951         * modules/striconv (Link): Likewise.
58952         * modules/striconveh (Link): Likewise.
58953         * modules/xstriconv (Link): Likewise.
58954         * modules/unicodeio (Link): Likewise.
58955         * modules/propername (Link): Likewise.
58956         Reported by Jim Meyering.
58957
58958 2008-05-26  Jim Meyering  <meyering@redhat.com>
58959
58960         sha256: do not artificially restrict buffer length to be < 2^32
58961         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
58962         uint32_t to size_t.
58963         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
58964         to match.
58965
58966         avoid unaligned access errors, e.g., on sparc
58967         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
58968         direct access through a possibly-unaligned uint64* pointer.
58969         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
58970         direct access through a possibly-unaligned uint32* pointer.
58971         Prompted by this patch from Tom "spot" Callaway:
58972         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
58973
58974         sha512.c: fix typo in comment
58975         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
58976
58977 2008-05-25  Bruno Haible  <bruno@clisp.org>
58978
58979         * lib/set-mode-acl.c: Renamed from lib/acl.c.
58980         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
58981         (Makefile.am): Update lib_SOURCES.
58982
58983 2008-05-25  Bruno Haible  <bruno@clisp.org>
58984
58985         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
58986
58987 2008-05-25  Jim Meyering  <meyering@redhat.com>
58988
58989         useless-if-before-free: freed expr may have white-space differences
58990         * build-aux/useless-if-before-free: Recognize cases in which the
58991         freed expression differs from the tested one in embedded white
58992         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
58993         $1 was used, so we can't make any regexp shy.  Improved tests now
58994         detect this.
58995
58996         useless-if-before-free: accept white space in the expression.
58997         * build-aux/useless-if-before-free: For now, any white space
58998         in the expression must be identical in the free argument.
58999
59000         useless-if-before-free: efficiency tweak
59001         * build-aux/useless-if-before-free: Make the expression-matching
59002         regexp "shy".
59003         Make the *outer* regexp shy, not the expr-matching one.
59004
59005         update code-in-comment to accept cast of free arg
59006         * build-aux/useless-if-before-free: Update regexp.
59007
59008 2008-05-25  Bruno Haible  <bruno@clisp.org>
59009
59010         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
59011         * modules/copy-file-tests (Files, Makefile.am): Update.
59012         * tests/test-copy-file.c (func_test_copy): Update.
59013
59014 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
59015
59016         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
59017
59018 2008-05-23  Bruno Haible  <bruno@clisp.org>
59019
59020         Improve support for ACLs on OSF/1.
59021         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
59022         Remove fallback for unknown flavors of ACLs.
59023
59024 2008-05-22  Bruno Haible  <bruno@clisp.org>
59025
59026         Add support for ACLs on OSF/1.
59027         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
59028         replacements.
59029         (acl_free_text): New macro fallback.
59030         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
59031         acl_free.
59032         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
59033         acl_free_text function. Require AC_C_INLINE.
59034
59035 2008-05-22  Bruno Haible  <bruno@clisp.org>
59036
59037         Make copy_acl work on MacOS X 10.5.
59038         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
59039         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
59040         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
59041         If MODE_INSIDE_ACL, don't assume that every system has the same text
59042         representation for ACLs as FreeBSD.
59043         * lib/copy-acl.c (copy_acl): Add support for platforms with
59044         !MODE_INSIDE_ACL.
59045         * lib/file-has-acl.c (file_has_acl): Likewise.
59046         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
59047         FreeBSD, MacOS X, or IRIX, respectively.
59048
59049 2008-05-22  Bruno Haible  <bruno@clisp.org>
59050
59051         * lib/acl.h: Don't include <sys/acl.h>.
59052         (GETACLCNT): Move fallback to lib/acl-internal.h.
59053         * lib/acl-internal.h: Include <sys/acl.h> here.
59054         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
59055
59056 2008-05-22  Bruno Haible  <bruno@clisp.org>
59057
59058         Split off copy_acl function to separate file.
59059         * lib/copy-acl.c: New file, extracted from lib/acl.c.
59060         * lib/acl.c (copy_acl): Moved function to separate file.
59061         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
59062         * modules/acl (Files): Add lib/copy-acl.c.
59063         (Makefiles.am): Augment lib_SOURCES.
59064
59065 2008-05-22  Bruno Haible  <bruno@clisp.org>
59066
59067         * modules/copy-file-tests: New file.
59068         * tests/test-copy-file.sh: New file.
59069         * tests/test-copy-file.c: New file.
59070         * tests/test-copy-file-sameacls.c: New file.
59071
59072 2008-05-22  Eric Blake  <ebb9@byu.net>
59073
59074         Avoid gcc warning.
59075         * tests/test-memcmp.c (main): Pass NULL indirectly.
59076
59077 2008-05-21  Bruno Haible  <bruno@clisp.org>
59078
59079         Add reference doc about ACLs.
59080         * doc/acl-resources.txt: New file.
59081         * doc/acl-cygwin.txt: New file.
59082
59083 2008-05-21  Bruno Haible  <bruno@clisp.org>
59084
59085         Avoid one more warning from gcc.
59086         * lib/vasnprintf.c (IF_LINT): Update comments.
59087         (VASNPRINTF): Use it also for the 'prefix' array initializer.
59088
59089 2008-05-21  Jim Meyering  <meyering@redhat.com>
59090
59091         avoid a warning from gcc
59092         * lib/vasnprintf.c (IF_LINT): Define.
59093         (scale10_round_decimal_long_double):
59094         Use it to avoid a "may be used uninitialized" warning.
59095         (scale10_round_decimal_double): Likewise.
59096
59097 2008-05-21  Simon Josefsson  <simon@josefsson.org>
59098
59099         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
59100         declared.
59101
59102 2008-05-20  Bruno Haible  <bruno@clisp.org>
59103
59104         * tests/test-memcmp.c (main): Test also the sign of the result. Test
59105         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
59106
59107 2008-05-20  Simon Josefsson  <simon@josefsson.org>
59108
59109         * modules/memcmp-tests: New file.
59110         * tests/test-memcmp.c: New file.
59111
59112 2008-05-19  Bruno Haible  <bruno@clisp.org>
59113
59114         * modules/propername (Notice, configure.ac): Put quoted "..." into
59115         --keyword option.
59116         * lib/propername.h: Update comments accordingly.
59117         Reported by Eric Blake.
59118
59119 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
59120
59121         * modules/getpass-gnu (Depends-on): Add fseeko.
59122
59123 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59124
59125         * modules/base64-tests: New file.
59126
59127 2008-05-19  Bo Borgerson <gigabo@gmail.com>
59128
59129         * lib/base64.c (base64_decode_ctx): If a decode context structure
59130         was passed in use it to ignore newlines.  If a context structure
59131         was _not_ passed in, continue to treat newlines as garbage (this
59132         is the historical behavior).  Formerly base64_decode.
59133         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
59134         takes a decode context structure.
59135         * lib/base64.h (base64_decode): Macro for four-argument calls.
59136         (base64_decode_alloc): Likewise.
59137         * lib/base64.c (base64_decode_ctx): If a decode context structure
59138         was passed in use it to ignore newlines.  If a context structure
59139         was _not_ passed in, continue to treat newlines as garbage (this
59140         is the historical behavior).  Formerly base64_decode.
59141         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
59142         takes a decode context structure.
59143         * lib/base64.h (base64_decode): Macro for four-argument calls.
59144         (base64_decode_alloc): Likewise.
59145
59146 2008-05-19  Jim Meyering  <meyering@redhat.com>
59147
59148         avoid a warning from gcc
59149         * lib/trim.c (IF_LINT): Define.
59150         (trim2): Use it to avoid a "may be used uninitialized" warning.
59151
59152         Fix doc typo.
59153         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
59154
59155 2008-05-19  Bruno Haible  <bruno@clisp.org>
59156
59157         * doc/glibc-functions/getpass.texi: Document limits of other
59158         implementations.
59159
59160 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59161             Bruno Haible <bruno@clisp.org>
59162
59163         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
59164
59165 2008-05-18  Bruno Haible  <bruno@clisp.org>
59166
59167         * modules/propername: New file, from GNU gettext.
59168         * lib/propername.h: New file, from GNU gettext.
59169         * lib/propername.c: New file, from GNU gettext.
59170         * MODULES.html.sh (Internationalization functions): Add propername.
59171
59172 2008-05-16  Jim Meyering  <meyering@redhat.com>
59173             Bruno Haible  <bruno@clisp.org>
59174
59175         Avoid some warnings from "gcc -Wshadow".
59176         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
59177
59178 2008-05-15  Eric Blake  <ebb9@byu.net>
59179
59180         Extend previous patch to cygwin 1.7.0.
59181         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
59182         fast implementation in cygwin >= 1.7.0.
59183         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59184         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59185
59186 2008-05-15  Bruno Haible  <bruno@clisp.org>
59187
59188         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
59189         implementation in glibc >= 2.9.
59190         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59191         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59192
59193 2008-05-15  Bruno Haible  <bruno@clisp.org>
59194
59195         * MODULES.html.sh (Internationalization functions): Remove linebreak.
59196         (Unicode string functions): Add unilbrk/*.
59197         Reported by Karl Berry.
59198
59199 2008-05-15  Eric Blake  <ebb9@byu.net>
59200
59201         Fix violation of <stdbool.h> replacement in regex.
59202         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
59203         * lib/regexec.c (re_search_internal): Likewise.
59204         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
59205
59206 2008-05-15  Jim Meyering  <meyering@redhat.com>
59207
59208         avoid distracting test output when git or cvs is not found
59209         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
59210         * tests/test-vc-list-files-git.sh: Likewise.
59211
59212 2008-05-15  Eric Blake  <ebb9@byu.net>
59213
59214         Glibc finally accepted the memmem speedup code, bugzilla #5514.
59215         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
59216         glibc version.
59217         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
59218         * doc/posix-functions/strstr.texi (strstr): Likewise.
59219         * lib/str-two-way.h (MAX): Sychronize with glibc.
59220
59221 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
59222
59223         * lib/regcomp.c (optimize_utf8): Add a note on why we test
59224         opr.ctx_type.
59225         (calc_first): Initialize constraint field.
59226         (duplicate_node_closure): Use it instead of special casing ANCHORS.
59227         Fix grammar.
59228         (duplicate_node): Merge constraint field for all node types.
59229         (calc_eclosure_iter): Look at constraint field for all node types.
59230         * lib/regex_internal.c (create_cd_newstate): Don't look at
59231         opr.ctx_type.
59232
59233 2008-05-14  Bruno Haible  <bruno@clisp.org>
59234
59235         Help GCC to do better code generation.
59236         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
59237         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
59238         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
59239         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
59240         Declare with attribute 'malloc' if supported.
59241
59242 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
59243
59244         use "echo STR|wc -c" rather than unportable "expr length STR"
59245         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
59246         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
59247
59248 2008-05-14  Jim Meyering  <meyering@redhat.com>
59249
59250         use dd ibs=$n count=1 ... rather than less-portable head -c$n
59251         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
59252         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
59253         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
59254         via Collin Lasse.
59255
59256 2008-05-14  Eric Blake  <ebb9@byu.net>
59257
59258         Avoid quadratic growth in gl_LIBSOURCES.
59259         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
59260         Suggested by Bruno Haible.
59261
59262         Test xmemdup0.
59263         * modules/xmemdup0-tests: New file.
59264         * tests/test-xmemdup0.c: Likewise.
59265
59266 2008-05-13  Eric Blake  <ebb9@byu.net>
59267
59268         Split xmemdup0 into its own module.
59269         * modules/xmemdup0: New file.
59270         * lib/xmemdup0.h: Likewise.
59271         * lib/xmemdup0.c: Likewise.
59272         * MODULES.html.sh (Memory management functions): Add xmemdup0.
59273         * lib/xalloc.h (xmemdup0): Remove.
59274         * lib/xmalloc.c (xmemdup0): Likewise.
59275
59276 2008-05-13  Eric Blake  <ebb9@byu.net>
59277             Bruno Haible  <bruno@clisp.org>
59278
59279         Reduce number of forks required during autoconf.
59280         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
59281         and gl_LIBSOURCES_DIR.
59282         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
59283         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
59284         m4_syscmd per file.
59285         <m4_foreach_w>: Move...
59286         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
59287
59288 2008-05-13  Eric Blake  <ebb9@byu.net>
59289
59290         * gnulib-tool: Fix various comment typos.
59291
59292 2008-05-12  Bruno Haible  <bruno@clisp.org>
59293
59294         Tailor the linebreaking algorithm.
59295         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
59296
59297 2008-05-12  Bruno Haible  <bruno@clisp.org>
59298
59299         Update to Unicode 5.0.0.
59300         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59301         LBP_JV, LBP_JT. Redistribute values.
59302         (unilbrk_table): Change size.
59303         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
59304         Unicode TR#14 rev. 22.
59305         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59306         LBP_JV, LBP_JT. Redistribute values.
59307         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
59308         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
59309         Update.
59310         * lib/unilbrk/lbrkprop1.h: Regenerated.
59311         * lib/unilbrk/lbrkprop2.h: Regenerated.
59312         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
59313         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
59314         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
59315         Likewise.
59316         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
59317         Likewise.
59318         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
59319         result.
59320         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
59321         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
59322         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
59323         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
59324         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
59325         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
59326
59327 2008-05-11  Bruno Haible  <bruno@clisp.org>
59328
59329         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
59330
59331 2008-05-11  Bruno Haible  <bruno@clisp.org>
59332
59333         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
59334         * modules/unilbrk/gen-lbrk: New file.
59335
59336 2008-05-11  Bruno Haible  <bruno@clisp.org>
59337
59338         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
59339         * m4/sha512.m4 (gl_SHA512): Likewise.
59340
59341 2008-05-11  Jim Meyering  <meyering@redhat.com>
59342
59343         New modules: crypto/sha256, crypto/sha512 (from coreutils)
59344         * modules/crypto/sha256: New file.
59345         * modules/crypto/sha512: Likewise.
59346         * lib/sha256.c: Likewise.
59347         * lib/sha256.h: Likewise.
59348         * lib/sha512.c: Likewise.
59349         * lib/sha512.h: Likewise.
59350         * lib/u64.h: Likewise.
59351         * m4/sha256.m4: Likewise.
59352         * m4/sha512.m4: Likewise.
59353         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
59354
59355 2008-05-10  Bruno Haible  <bruno@clisp.org>
59356
59357         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
59358         (Input/Output <stdio.h>): Add xprintf.
59359         (Signal handling <signal.h>): Add strsignal.
59360         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
59361         (Core language properties): Add func.
59362         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
59363         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
59364         strings.
59365         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
59366         (Input/output): New section.
59367         (File system functions): Add openat-die, stat-macros.
59368         (Networking functions): Add sockets.
59369         (Unicode string functions): Add unictype/*.
59370         (Support for building libraries and executables): Add gperf.
59371         (Support for building documentation): Add agpl-3.0.
59372         (Misc): Add nocrash.
59373
59374 2008-05-10  Bruno Haible  <bruno@clisp.org>
59375
59376         * modules/unictype/gen-ctype: New file.
59377
59378 2008-05-10  Jim Meyering  <meyering@redhat.com>
59379
59380         Make chdir-safer.c more efficient on a system with no symlinks.
59381         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
59382         also if ELOOP is zero.  Suggested by Bruno Haible.
59383
59384         Make chdir-safer.c slightly safer.
59385         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
59386         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
59387
59388         Avoid compile failure on systems without ELOOP (like mingw).
59389         * lib/chdir-safer.c (ELOOP): Define if not already defined.
59390         Reported by Bruno Haible.
59391
59392 2008-05-10  Bruno Haible  <bruno@clisp.org>
59393
59394         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
59395         (is_utf8_encoding): Use a case-insensitive comparison.
59396         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
59397         streq.
59398
59399 2008-05-10  Bruno Haible  <bruno@clisp.org>
59400
59401         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
59402         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
59403         * lib/unilbrk/ulc-common.h (iconv_string_length,
59404         iconv_string_keeping_offsets): Remove declarations.
59405         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
59406         Don't include <iconv.h>, streq.h, xsize.h.
59407         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
59408         conversion.
59409         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
59410         <iconv.h>, streq.h, xsize.h.
59411         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
59412         conversion.
59413         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
59414         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
59415         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
59416         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
59417
59418 2008-05-10  Bruno Haible  <bruno@clisp.org>
59419
59420         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
59421         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
59422
59423         * modules/unilbrk/u32-width-linebreaks-tests: New file.
59424         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
59425
59426         * modules/unilbrk/u16-width-linebreaks-tests: New file.
59427         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
59428
59429         * modules/unilbrk/u8-width-linebreaks-tests: New file.
59430         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
59431
59432         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
59433         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
59434
59435         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
59436         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
59437
59438         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
59439         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
59440
59441         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
59442         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
59443
59444 2008-05-10  Bruno Haible  <bruno@clisp.org>
59445
59446         Split up 'linebreak' module.
59447         * lib/unilbrk.h: New file, based on lib/linebreak.h.
59448         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
59449         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
59450         modifications.
59451         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
59452         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
59453         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
59454         lib/linebreak.c.
59455         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
59456         lib/linebreak.c.
59457         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
59458         lib/linebreak.c.
59459         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
59460         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
59461         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
59462         lib/linebreak.c.
59463         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
59464         lib/linebreak.c.
59465         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
59466         lib/linebreak.c.
59467         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
59468         lib/linebreak.c.
59469         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
59470         lib/linebreak.c.
59471         * modules/unilbrk/base: New file.
59472         * modules/unilbrk/tables: New file.
59473         * modules/unilbrk/u8-possible-linebreaks: New file.
59474         * modules/unilbrk/u16-possible-linebreaks: New file.
59475         * modules/unilbrk/u32-possible-linebreaks: New file.
59476         * modules/unilbrk/ulc-common: New file.
59477         * modules/unilbrk/ulc-possible-linebreaks: New file.
59478         * modules/unilbrk/u8-width-linebreaks: New file.
59479         * modules/unilbrk/u16-width-linebreaks: New file.
59480         * modules/unilbrk/u32-width-linebreaks: New file.
59481         * modules/unilbrk/ulc-width-linebreaks: New file.
59482         * lib/linebreak.h: Remove file.
59483         * lib/linebreak.c: Remove file.
59484         * m4/linebreak.m4: Remove file.
59485         * modules/linebreak: Remove file.
59486         * NEWS: Mention the changes.
59487
59488 2008-05-09  Eric Blake  <ebb9@byu.net>
59489
59490         Add xmemdup0.
59491         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
59492         implementation.
59493         * lib/xmalloc.c (xmemdup0): New C implementation.
59494
59495 2008-05-08  Bruno Haible  <bruno@clisp.org>
59496
59497         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
59498
59499 2008-05-07  Eric Blake  <ebb9@byu.net>
59500
59501         Support cross-compilation of <wctype.h>.
59502         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
59503         AC_CACHE_CHECK.
59504
59505 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
59506
59507         * build-aux/vc-list-files: Add support for bzr.
59508
59509 2008-05-03  Jim Meyering  <meyering@redhat.com>
59510
59511         avoid failed assertion with tight malloc
59512         * tests/test-getndelim2.c: Correct an off-by-one assertion.
59513
59514 2008-05-03  Simon Josefsson  <simon@josefsson.org>
59515
59516         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
59517         are needed from arpa/inet.h.
59518         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
59519         Reported by Bruno Haible.
59520
59521 2008-05-02  Jim Meyering  <meyering@redhat.com>
59522
59523         avoid compilation error on FreeBSD 6
59524         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
59525
59526 2008-05-01  Jim Meyering  <meyering@redhat.com>
59527
59528         useless-if-before-free: correct --help's exit status description
59529         * build-aux/useless-if-before-free (usage): Like grep, exit 0
59530         for one or more matches, etc.  Reported by Bruno Haible.
59531
59532         vc-list-files: make the stand-alone gnulib test work
59533         * modules/vc-list-files-tests (configure.ac):
59534         Define and AC_SUBST abs_aux_dir.
59535         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
59536         $(abs_top_srcdir) to each script and having each of them
59537         duplicate the work of setting PATH, set PATH here, using
59538         the new variable, abs_aux_dir instead.
59539         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
59540         * tests/test-vc-list-files-git.sh: Likewise.
59541         Reported by Bruno Haible.
59542
59543 2008-05-01  Bruno Haible  <bruno@clisp.org>
59544
59545         * lib/getndelim2.c (getndelim2): Fix newsize computation during
59546         reallocation. Rename 'done' to 'found_delimiter'.
59547
59548 2008-05-01  Jim Meyering  <meyering@redhat.com>
59549
59550         vc-list-files: accommodate /bin/sh like the one from Solaris 10
59551         * build-aux/vc-list-files: Use `...`, not $(...).
59552
59553 2008-04-30  Jim Meyering  <meyering@redhat.com>
59554
59555         add tests for vc-list-files
59556         * modules/vc-list-files-tests: New module.
59557         * tests/test-vc-list-files-cvs.sh: New file.
59558         * tests/test-vc-list-files-git.sh: New file.
59559
59560         avoid a warning from gcc
59561         * lib/getndelim2.c (IF_LINT): Define.
59562         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
59563
59564         vc-list-files: work properly with build-aux/cvsu, too
59565         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
59566         to all cvs-based clauses.
59567
59568         vc-list-files: work properly in the CVS+awk case, too
59569         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
59570
59571         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
59572         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
59573         take more than one file argument, so .  Add quotes, just in case $dir
59574         ever contains a shell meta-character.  Prompted by Soren Hansen in
59575         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
59576
59577 2008-04-29  Eric Blake  <ebb9@byu.net>
59578
59579         Optimize getndelim2 to use block operations when possible.
59580         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
59581         freadseek, and memchr2.
59582         * lib/getndelim2.c (getndelim2): Use them for block reads.
59583
59584 2008-04-29  Bruno Haible  <bruno@clisp.org>
59585
59586         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
59587         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59588         * modules/inet_ntop (Depends-on): Add extensions.
59589         * modules/inet_pton (Depends-on): Likewise.
59590         Reported by Simon Josefsson.
59591
59592 2008-04-29  Jim Meyering  <meyering@redhat.com>
59593
59594         When the is more than one match in a block, match all of them.
59595         * build-aux/useless-if-before-free: Iterate through each block
59596         until there are no more matches.
59597
59598         Fix broken useless-if-before-free script.
59599         * build-aux/useless-if-before-free: Fix typo: missing "?" after
59600         the expression to match cast of argument to free-like function.
59601
59602 2008-04-29  Eric Blake  <ebb9@byu.net>
59603
59604         Use new header.
59605         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
59606
59607 2008-04-29  Jim Meyering  <meyering@redhat.com>
59608
59609         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
59610         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
59611         by gnulib to exist and to declare e.g., inet_ntop.
59612         Don't include "inet_ntop.h", now removed.
59613
59614         * m4/arpa_inet_h.m4: Remove trailing blanks.
59615
59616 2008-04-29  Eric Blake  <ebb9@byu.net>
59617
59618         Silence valgrind on safe reads beyond potential array bounds.
59619         * lib/rawmemchr.valgrind: New file.
59620         * lib/strchrnul.valgrind: Likewise.
59621         * modules/rawmemchr (Files): Distribute new file.
59622         * modules/strchrnul (Files): Likewise.
59623         Suggested by Bruno Haible.
59624
59625 2008-04-29  Bruno Haible  <bruno@clisp.org>
59626
59627         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
59628         (inet_ntop, inet_pton): Change portability warning's wording.
59629         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
59630         Invoke gl_CHECK_NEXT_HEADERS.
59631         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
59632         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
59633         set ARPA_INET_H.
59634         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59635         * modules/arpa_inet (Description): No longer only for systems that
59636         lack it.
59637         (Depends-on): Add include_next.
59638         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
59639         HAVE_ARPA_INET_H.
59640
59641 2008-04-29  Jim Meyering  <meyering@redhat.com>
59642
59643         * modules/mkdir (License): Re-license as LGPLv2+.
59644
59645 2008-04-29  Bruno Haible  <bruno@clisp.org>
59646
59647         * modules/rawmemchr (Maintainer): Set to Eric.
59648         * modules/strchrnul (Maintainer): Likewise.
59649
59650 2008-04-29  Simon Josefsson  <simon@josefsson.org>
59651
59652         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
59653         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
59654
59655         * modules/arpa_inet (arpa/inet.h): Use them.
59656
59657 2008-04-28  Eric Blake  <ebb9@byu.net>
59658
59659         Test getndelim2.
59660         * modules/getndelim2-tests: New file.
59661         * tests/test-getndelim2.c: Likewise.
59662         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
59663         stream.
59664         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
59665
59666         * MODULES.html.sh: Document new module.
59667
59668 2008-04-20  Bruno Haible  <bruno@clisp.org>
59669
59670         * lib/c-stack.c (die): Use raise.
59671         * modules/c-stack (Depends-on): Add raise.
59672
59673 2008-04-28  Bruno Haible  <bruno@clisp.org>
59674
59675         Expect rpmatch to be declared.
59676         * lib/yesno.c (rpmatch): Remove declaration.
59677
59678         Declare rpmatch.
59679         * lib/stdlib.in.h (rpmatch): New declaration.
59680         * lib/rpmatch.c: Include <stdlib.h> first.
59681         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
59682         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
59683         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
59684         HAVE_RPMATCH.
59685         * modules/rpmatch (Depends-on): Add stdlib, extensions.
59686         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
59687         (Include): Set to <stdlib.h>.
59688         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
59689         HAVE_RPMATCH.
59690         * NEWS: Document the change.
59691
59692 2008-04-28  Bruno Haible  <bruno@clisp.org>
59693
59694         Change rpmatch to use nl_langinfo when appropriate.
59695         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
59696         (N_): New macro.
59697         (localized_pattern): New function/macro.
59698         (try): Remove match, nomatch arguments. Copy the pattern into safe
59699         memory before caching it.
59700         (rpmatch): Use localized_pattern. Add translator comments.
59701         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
59702         Suggested by Eric Blake.
59703         * modules/rpmatch (Depends-on): Add stdbool.
59704
59705 2008-04-28  Eric Blake  <ebb9@byu.net>
59706
59707         Add rawmemchr module, matching glibc.
59708         * modules/string (Makefile.am): New indicator.
59709         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
59710         * lib/string.in.h (rawmemchr): Declare when appropriate.
59711         * modules/rawmemchr: New file.
59712         * m4/rawmemchr.m4: Likewise.
59713         * lib/rawmemchr.c: Likewise.
59714         * modules/rawmemchr-tests: Likewise.
59715         * tests/test-rawmemchr.c: Likewise.
59716         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
59717         module.
59718         * modules/strchrnul (Depends-on): Add rawmemchr.
59719         * lib/strchrnul.c (strchrnul): Optimize a corner case.
59720
59721         Whitespace cleanup.
59722         * tests/test-strchrnul.c: Reindent.
59723         * lib/strchrnul.c: Likewise.
59724
59725         Optimize and test strchrnul.
59726         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
59727         * modules/strchrnul-tests: New file.
59728         * tests/test-strchrnul.c: Likewise.
59729
59730         Remove intprops dependency.
59731         * modules/memchr (Depends-on): Remove intprops.
59732         * modules/memrchr (Depends-on): Likewise.
59733         * modules/memchr2 (Depends-on): Likewise.
59734         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
59735         * lib/memrchr.c (__memrchr): Likewise.
59736         * lib/memrchr2.c (memchr2): Likewise.
59737         Reported by Simon Josefsson.
59738
59739 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59740
59741         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
59742         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59743
59744 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59745
59746         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
59747
59748         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
59749
59750         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
59751
59752         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
59753         declarations.
59754         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
59755
59756         * m4/inet_pton.m4: Don't check for header files.
59757
59758         * m4/inet_ntop.m4: Don't check for header files.
59759
59760 2008-04-28  Simon Josefsson  <simon@josefsson.org>
59761
59762         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
59763         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
59764         trigger for cygwin).
59765         Reported by Bruno Haible  <bruno@clisp.org>.
59766
59767 2008-04-28  Bruno Haible  <bruno@clisp.org>
59768
59769         * doc/posix-functions/strdup.texi: Mention mingw problem.
59770
59771 2008-04-27  Bruno Haible  <bruno@clisp.org>
59772
59773         * modules/stat-time-tests (Depends-on): Add sleep.
59774         * tests/test-stat-time.c (force_unlink): New function.
59775         (cleanup): Use it.
59776         (test_mtime): Remove the ctime related tests.
59777         (test_ctime): New function, containing the ctime related tests.
59778         (main): Call test_ctime, except on native Windows platforms.
59779
59780 2008-04-27  Bruno Haible  <bruno@clisp.org>
59781
59782         * lib/rpmatch.c (rpmatch): Add some comments.
59783         Reported by James Youngman <jay@gnu.org>.
59784
59785 2008-04-27  Bruno Haible  <bruno@clisp.org>
59786
59787         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
59788         quiet NaNs.
59789
59790 2008-04-27  Bruno Haible  <bruno@clisp.org>
59791
59792         Make test-yesno.sh work on mingw.
59793         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
59794         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
59795         (main): Set stdin to binary mode.
59796         * modules/yesno-tests (Depends-on): Add binary-io.
59797
59798 2008-04-27  Bruno Haible  <bruno@clisp.org>
59799
59800         Fix 'isfinite' on x86, x86_64, ia64 platforms.
59801         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
59802         argument that lie outside the IEEE 854 domain.
59803         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
59804         (gl_ISFINITE): Use it.
59805         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
59806
59807 2008-04-27  Bruno Haible  <bruno@clisp.org>
59808
59809         Allow local renaming in config.h.
59810         * lib/memrchr.c (memrchr): Don't undefine outside libc.
59811
59812 2008-04-27  Bruno Haible  <bruno@clisp.org>
59813
59814         * lib/memchr.c (__memchr): Change type of 'i'.
59815         * lib/memchr2.c (memchr2): Likewise.
59816
59817 2008-04-26  Eric Blake  <ebb9@byu.net>
59818         and Bruno Haible  <bruno@clisp.org>
59819
59820         Optimize and test memrchr.
59821         * modules/memrchr (Depends-on): Add intprops.
59822         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
59823         * modules/memrchr-tests: New file.
59824         * tests/test-memrchr.c: New file.
59825
59826 2008-04-26  Bruno Haible  <bruno@clisp.org>
59827
59828         Add tentative support for DragonFly BSD.
59829         * lib/stdio-impl.h: Add macros for DragonFly BSD.
59830         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
59831         fp.
59832         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
59833         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
59834         * lib/fpurge.c (fpurge): Likewise.
59835         * lib/freadable.c (freaadable): Likewise.
59836         * lib/freadahead.c (freadahead): Likewise.
59837         * lib/freading.c (freading): Likewise.
59838         * lib/freadptr.c (freadptr): Likewise.
59839         * lib/freadseek.c (freadptrinc): Likewise.
59840         * lib/fseeko.c (fseeko): Likewise.
59841         * lib/fseterr.c (fseterr): Likewise.
59842         * lib/fwritable.c (fwritable): Likewise.
59843         * lib/fwriting.c (fwriting): Likewise.
59844
59845 2008-04-26  Bruno Haible  <bruno@clisp.org>
59846
59847         * lib/stdio-impl.h: New file.
59848         * lib/fbufmode.c: Include stdio-impl.h.
59849         (fbufmode): Use fp_, remove redundant #defines.
59850         * lib/fflush.c: Include stdio-impl.h.
59851         (clear_ungetc_buffer): Remove redundant #defines.
59852         * lib/fpurge.c: Include stdio-impl.h.
59853         (fpurge): Remove redundant #defines.
59854         * lib/freadable.c: Include stdio-impl.h.
59855         (freadable): Remove redundant #defines.
59856         * lib/freadahead.c: Include stdio-impl.h.
59857         (freadahead): Remove redundant #defines.
59858         * lib/freading.c: Include stdio-impl.h.
59859         (freading): Remove redundant #defines.
59860         * lib/freadptr.c: Include stdio-impl.h.
59861         (freadptr): Remove redundant #defines.
59862         * lib/freadseek.c: Include stdio-impl.h.
59863         (freadptrinc): Remove redundant #defines.
59864         * lib/fseeko.c: Include stdio-impl.h.
59865         (rpl_fseeko): Remove redundant #defines.
59866         * lib/fseterr.c: Include stdio-impl.h.
59867         (fseterr): Remove redundant #defines.
59868         * lib/fwritable.c: Include stdio-impl.h.
59869         (fwritable: Remove redundant #defines.
59870         * lib/fwriting.c: Include stdio-impl.h.
59871         (fwriting): Remove redundant #defines.
59872         * modules/fbufmode (Files): Add lib/stdio-impl.h.
59873         * modules/fflush (Files): Likewise.
59874         * modules/fpurge (Files): Likewise.
59875         * modules/freadable (Files): Likewise.
59876         * modules/freadahead (Files): Likewise.
59877         * modules/freading (Files): Likewise.
59878         * modules/freadptr (Files): Likewise.
59879         * modules/freadseek (Files): Likewise.
59880         * modules/fseeko (Files): Likewise.
59881         * modules/fseterr (Files): Likewise.
59882         * modules/fwritable (Files): Likewise.
59883         * modules/fwriting (Files): Likewise.
59884
59885 2008-04-26  Bruno Haible  <bruno@clisp.org>
59886
59887         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
59888         restore_seek_optimization, update_fpos_cache): New functions, extracted
59889         from rpl_fflush.
59890         (rpl_fflush): Use them.
59891         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
59892         (gl_REPLACE_FFLUSH): Use it.
59893
59894 2008-04-26  Bruno Haible  <bruno@clisp.org>
59895
59896         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
59897         on Solaris.
59898         * tests/test-xstrtoimax.sh: Likewise.
59899         * tests/test-xstrtoumax.sh: Likewise.
59900         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
59901
59902 2008-04-26  Bruno Haible  <bruno@clisp.org>
59903
59904         * modules/memchr-tests: New file.
59905         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
59906
59907 2008-04-26  Eric Blake  <ebb9@byu.net>
59908             Bruno Haible  <bruno@clisp.org>
59909
59910         * lib/memchr.c: Include intprops.h.
59911         (__memchr): Optimize parallel detection of matching bytes. Rename local
59912         variables. Add explanatory comments.
59913
59914 2008-04-26  Bruno Haible  <bruno@clisp.org>
59915
59916         Fix module 'memchr', broken since 2000-10-28.
59917         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
59918
59919 2008-04-26  Bruno Haible  <bruno@clisp.org>
59920
59921         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
59922         comments.
59923
59924 2008-04-25  Eric Blake  <ebb9@byu.net>
59925
59926         Use native fstatat on cygwin 1.7.0.
59927         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
59928         first.
59929
59930 2008-04-23  Eric Blake  <ebb9@byu.net>
59931
59932         Improve memchr2 performance.
59933         * lib/memchr2.c (memchr2): Further optimize parallel detection of
59934         NUL bytes.
59935         * modules/memchr2 (Depends-on): Use intprops.h.
59936
59937 2008-04-23  Simon Josefsson  <simon@josefsson.org>
59938
59939         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
59940         an inline function instead of a CPP macro.  Patch by Ben Pfaff
59941         <blp@cs.stanford.edu>.
59942
59943 2008-04-23  Simon Josefsson  <simon@josefsson.org>
59944
59945         * lib/arpa_inet.in.h: New file.
59946
59947         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
59948         (Makefile.am): Sed in substitute header file.
59949
59950         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
59951         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
59952
59953         * modules/inet_ntop (configure.ac): Use
59954         gl_ARPA_INET_MODULE_INDICATOR.
59955
59956         * modules/inet_pton (configure.ac): Use
59957         gl_ARPA_INET_MODULE_INDICATOR.
59958
59959 2008-04-22  Jim Meyering  <meyering@redhat.com>
59960
59961         * modules/verify (License): Re-license as LGPLv2+.
59962
59963 2008-04-22  Simon Josefsson  <simon@josefsson.org>
59964
59965         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
59966         parameter to void* as per POSIX standard (MinGW uses char*).
59967
59968 2008-04-21  Bruno Haible  <bruno@clisp.org>
59969
59970         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
59971         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
59972         Define to replacements if REPLACE_ISWCNTRL is 1.
59973         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
59974         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
59975         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
59976         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
59977         what it fixes.
59978         * doc/posix-functions/iswalpha.texi: Likewise.
59979         * doc/posix-functions/iswblank.texi: Likewise.
59980         * doc/posix-functions/iswcntrl.texi: Likewise.
59981         * doc/posix-functions/iswdigit.texi: Likewise.
59982         * doc/posix-functions/iswgraph.texi: Likewise.
59983         * doc/posix-functions/iswlower.texi: Likewise.
59984         * doc/posix-functions/iswprint.texi: Likewise.
59985         * doc/posix-functions/iswpunct.texi: Likewise.
59986         * doc/posix-functions/iswspace.texi: Likewise.
59987         * doc/posix-functions/iswupper.texi: Likewise.
59988         * doc/posix-functions/iswxdigit.texi: Likewise.
59989         Reported by Alain Guibert.
59990
59991 2008-04-21  Bruno Haible  <bruno@clisp.org>
59992
59993         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
59994         Patch by Alain Guibert.
59995
59996 2008-04-21  Bruno Haible  <bruno@clisp.org>
59997
59998         Fix test failures on mingw.
59999         * tests/test-xstrtol.c (print_no_progname): New function.
60000         (main): Install it in error_print_progname hook.
60001         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
60002         * tests/test-xstrtoimax.sh: Likewise.
60003         * tests/test-xstrtoumax.sh: Likewise.
60004
60005 2008-04-21  Bruno Haible  <bruno@clisp.org>
60006
60007         Fix test failure on mingw.
60008         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
60009
60010 2008-04-21  Bruno Haible  <bruno@clisp.org>
60011
60012         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
60013         Actually assign a value.
60014
60015 2008-04-20  Bruno Haible  <bruno@clisp.org>
60016
60017         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
60018         take 2.
60019         * lib/canonicalize.c (canonicalize_file_name): Elide if the
60020         'canonicalize-lgpl' module is also used.
60021         * lib/canonicalize-lgpl.c: Undo last change.
60022         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
60023
60024 2008-04-20  Bruno Haible  <bruno@clisp.org>
60025
60026         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
60027         config.h. Provide _mkdir based fallback for mingw.
60028         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
60029         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
60030         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
60031         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
60032         rather than defining mkdir in config.h.
60033         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
60034         (gl_SYS_STAT_H_DEFAULTS): New macro.
60035         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
60036         HAVE_IO_H any more.
60037         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
60038         HAVE_DECL_MKDIR and HAVE_IO_H.
60039
60040 2008-04-20  Bruno Haible  <bruno@clisp.org>
60041
60042         * lib/isapipe.c: Port to native Windows platforms.
60043
60044 2008-04-20  Bruno Haible  <bruno@clisp.org>
60045
60046         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
60047
60048 2008-04-21  Eric Blake  <ebb9@byu.net>
60049
60050         Work around preprocessors that don't handle UINTMAX_MAX.
60051         * lib/memchr2.c (memchr2): Avoid embedded #if.
60052         Reported by Alain Guibert, fix suggested by Bruno Haible.
60053
60054 2008-04-21  Simon Josefsson  <simon@josefsson.org>
60055
60056         * doc/posix-functions/strftime.texi (strftime): Explain better
60057         Windows incompatibility.  Suggested by Micah Cowan
60058         <micah@cowan.name>.
60059
60060 2008-04-20  Bruno Haible  <bruno@clisp.org>
60061
60062         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
60063         unistr/u8-mblen.
60064
60065 2008-04-20  Bruno Haible  <bruno@clisp.org>
60066
60067         Fix test failure on platforms with non-GNU iconv.
60068         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
60069         (U_TO_U8): Use it, rather than u16_to_u8.
60070         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
60071         units at the end of the input string.
60072         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
60073
60074 2008-04-20  Bruno Haible  <bruno@clisp.org>
60075
60076         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
60077         when the resulting length is 0.
60078         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
60079
60080 2008-04-20  Bruno Haible  <bruno@clisp.org>
60081
60082         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
60083         works.
60084         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
60085
60086 2008-04-20  Bruno Haible  <bruno@clisp.org>
60087
60088         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
60089         * modules/tsearch-tests (configure.ac): Test for initstate function.
60090
60091 2008-04-20  Bruno Haible  <bruno@clisp.org>
60092
60093         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
60094         for nlink_t if missing.
60095         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
60096
60097 2008-04-19  Bruno Haible  <bruno@clisp.org>
60098
60099         Work around snprintf bug on Linux libc5.
60100         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
60101         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
60102         gl_SNPRINTF_SIZE1.
60103         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60104         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
60105         that test failed.
60106         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
60107         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
60108         * modules/snprintf (Files): Add m4/printf.m4.
60109         * modules/vsnprintf (Files): Likewise.
60110         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
60111         * doc/posix-functions/vsnprintf.texi: Likewise.
60112
60113 2008-04-19  Bruno Haible  <bruno@clisp.org>
60114
60115         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
60116         from 0.0058 to less than 10^-7.
60117
60118 2008-04-19  Bruno Haible  <bruno@clisp.org>
60119
60120         Fix rounding when a precision is given.
60121         * lib/vasnprintf.c (is_borderline): New function.
60122         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
60123         9...9x.
60124         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
60125         %e, %g.
60126         * tests/test-vasprintf-posix.c (test_function): Likewise.
60127         * tests/test-snprintf-posix.h (test_function): Likewise.
60128         * tests/test-sprintf-posix.h (test_function): Likewise.
60129         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
60130         * tests/test-printf-posix.h (test_function): Likewise.
60131         * tests/test-printf-posix.output: Update.
60132         Reported by John Darrington <john@darrington.wattle.id.au> via
60133         Ben Pfaff <blp@cs.stanford.edu>.
60134
60135 2008-04-18  Simon Josefsson  <simon@josefsson.org>
60136
60137         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
60138         Suggested by Bruno Haible <bruno@clisp.org>.
60139
60140 2008-04-17  Bruno Haible  <bruno@clisp.org>
60141
60142         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
60143         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
60144         implementation.
60145         Patch by Bruce Merry <bmerry@gmail.com>.
60146
60147 2008-04-17  Simon Josefsson  <simon@josefsson.org>
60148
60149         * doc/posix-functions/strftime.texi (strftime): Mention that %e
60150         doesn't work under Windows.
60151
60152 2008-04-16  Bruno Haible  <bruno@clisp.org>
60153
60154         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
60155         New macros.
60156         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
60157         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
60158         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
60159         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
60160         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
60161         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
60162         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
60163         macros.
60164         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
60165         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
60166         Northern Sotho, Uighur.
60167
60168 2008-04-16  Bruno Haible  <bruno@clisp.org>
60169
60170         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
60171         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
60172         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
60173         Reported by Daniel Bergström <daniel@octocode.com>.
60174
60175 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
60176             Bruno Haible  <bruno@clisp.org>
60177
60178         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
60179         function.
60180         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
60181         New functions, mostly extracted from gl_locale_name_default.
60182         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
60183
60184 2008-04-16  Eric Blake  <ebb9@byu.net>
60185
60186         Adjust strtod detection to catch glibc 2.7 bug.
60187         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
60188         Reported by John Gatewood Ham.
60189
60190 2008-04-16  Bruno Haible  <bruno@clisp.org>
60191
60192         Add tentative support for Linux libc5.
60193         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
60194         * lib/fpurge.c (fpurge): Likewise.
60195         * lib/freadable.c (freadable): Likewise.
60196         * lib/freadahead.c (freadahead): Likewise.
60197         * lib/freading.c (freading): Likewise.
60198         * lib/freadptr.c (freadptr): Likewise.
60199         * lib/freadseek.c (freadptrinc): Likewise.
60200         * lib/fseeko.c (rpl_fseeko): Likewise.
60201         * lib/fseterr.c (fseterr): Likewise.
60202         * lib/fwritable.c (fwritable): Likewise.
60203         * lib/fwriting.c (fwriting): Likewise.
60204         Reported by Alain Guibert <alguibert+bts@free.fr>.
60205
60206 2008-04-15  Bruno Haible  <bruno@clisp.org>
60207
60208         * modules/mathl (configure.ac): Define module indicator.
60209
60210 2008-04-15  Bruno Haible  <bruno@clisp.org>
60211
60212         * lib/logl.c (logl): Remove unused variables.
60213
60214 2008-04-15  Bruno Haible  <bruno@clisp.org>
60215
60216         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
60217         fails.
60218
60219 2008-04-15  Bruno Haible  <bruno@clisp.org>
60220
60221         * lib/trim.c (trim2): Fix argument of isspace() macro.
60222
60223 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
60224
60225         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
60226         to 0.
60227         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
60228
60229 2008-04-14  Bruno Haible  <bruno@clisp.org>
60230
60231         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
60232         AC_LANG_PROGRAM argument.
60233         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
60234         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
60235         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
60236         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
60237         * m4/math_h.m4 (gl_MATH_H): Likewise.
60238         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
60239         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
60240         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
60241         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
60242         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
60243         * m4/regex.m4 (gl_REGEX): Likewise.
60244         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
60245         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
60246         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
60247         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
60248         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
60249         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
60250         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
60251         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
60252
60253 2008-04-14  Jim Meyering  <meyering@redhat.com>
60254
60255         test-strtod: fix typos: s/abs/fabs/
60256         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
60257
60258 2008-04-13  Bruno Haible  <bruno@clisp.org>
60259
60260         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
60261         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
60262         module is also used and while not building the reloc-wrapper.
60263
60264 2008-04-13  Bruno Haible  <bruno@clisp.org>
60265
60266         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
60267
60268 2008-04-13  Bruno Haible  <bruno@clisp.org>
60269
60270         Fix AIX compilation failure introduced on 2008-04-02.
60271         * tests/test-frexp.c (exp): Undefine before redefining.
60272         * tests/test-frexpl.c (exp): Likewise.
60273
60274 2008-04-13  Bruno Haible  <bruno@clisp.org>
60275
60276         Work around a HP-UX stdio bug.
60277         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
60278         * tests/test-ftello.c (main): Likewise.
60279         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
60280         * doc/posix-functions/ftello.texi: Likewise.
60281
60282 2008-04-13  Bruno Haible  <bruno@clisp.org>
60283
60284         Make test-signbit pass on HP-UX/hppa.
60285         * tests/test-signbit.c (minus_zerol): New variable.
60286         (test_signbitl): Use it.
60287
60288 2008-04-13  Bruno Haible  <bruno@clisp.org>
60289
60290         Make truncl work on OSF/1 4.0.
60291         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
60292         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60293         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60294         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
60295         HAVE_DECL_TRUNCL.
60296         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
60297         HAVE_DECL_TRUNCL.
60298         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
60299
60300 2008-04-13  Bruno Haible  <bruno@clisp.org>
60301
60302         * lib/unictype.h: Remove trailing comma from enumeration definitions.
60303
60304 2008-04-13  Bruno Haible  <bruno@clisp.org>
60305
60306         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
60307         expression, so as to avoid HP-UX 11 cc compiler bug.
60308
60309 2008-04-13  Bruno Haible  <bruno@clisp.org>
60310
60311         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
60312
60313 2008-04-13  Bruno Haible  <bruno@clisp.org>
60314
60315         * lib/git-merge-changelog.c: Remove empty declaration outside of
60316         functions.
60317
60318 2008-04-13  Bruno Haible  <bruno@clisp.org>
60319
60320         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
60321
60322 2008-04-13  Bruno Haible  <bruno@clisp.org>
60323
60324         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
60325         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
60326         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
60327         also if it exists but lacks definitions of the SHUT_* macros.
60328         * modules/sys_socket (Description): Update.
60329         Reported by Elbert Pol <e.pol@chello.nl>.
60330
60331 2008-04-13  Bruno Haible  <bruno@clisp.org>
60332
60333         * lib/localcharset.c (OS2): Don't redefine if already defined.
60334         Reported by Elbert Pol <e.pol@chello.nl>.
60335
60336 2008-04-13  Bruno Haible  <bruno@clisp.org>
60337
60338         * lib/binary-io.h [__EMX__]: Include <io.h>.
60339         Reported by Elbert Pol <e.pol@chello.nl>.
60340
60341 2008-04-12  Bruno Haible  <bruno@clisp.org>
60342
60343         * lib/fpucw.h: Enable the definitions also for x86_64.
60344         Needed for NetBSD/x86_64.
60345         Reported by Thomas Klausner <tk@giga.or.at>.
60346
60347 2008-04-12  Bruno Haible  <bruno@clisp.org>
60348
60349         * tests/test-strtod.c: Include isnand.h.
60350         (main): Use isnand instead of isnan.
60351         Reported by Jim Meyering.
60352
60353 2008-04-12  Bruno Haible  <bruno@clisp.org>
60354
60355         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
60356         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
60357
60358 2008-04-12  Jim Meyering  <meyering@redhat.com>
60359
60360         * m4/math_h.m4 (gl_MATH_H): Fix typos.
60361
60362 2008-04-12  Bruno Haible  <bruno@clisp.org>
60363
60364         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
60365         Reported by Elbert Pol <e.pol@chello.nl>.
60366
60367 2008-04-12  Eric Blake  <ebb9@byu.net>
60368
60369         Work around Solaris 10 math.h bug.
60370         * m4/math_h.m4 (gl_MATH_H): Check for bug.
60371         (gl_MATH_H_DEFAULTS): Set up default.
60372         * modules/math (Makefile.am): Replace new indicators.
60373         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
60374         * tests/test-math.c (main): Test this.
60375         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
60376         * doc/posix-headers/math.texi (math.h): Mention bug.
60377         Reported by Nelson H. F. Beebe and Jim Meyering.
60378
60379 2008-04-11  Bruno Haible  <bruno@clisp.org>
60380
60381         Adapt to future versions of Apple GCC.
60382         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
60383         Reported by Peter O'Gorman <peter@pogma.com>.
60384
60385 2008-04-11  Bruno Haible  <bruno@clisp.org>
60386
60387         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
60388
60389 2008-04-11  Bruno Haible  <bruno@clisp.org>
60390
60391         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
60392
60393         * modules/getaddrinfo-tests (Makefile.am): Define
60394         test_getaddrinfo_LDADD.
60395
60396 2008-04-11  Bruno Haible  <bruno@clisp.org>
60397
60398         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
60399         (init): Fix syntax error.
60400         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
60401         is declared.
60402
60403 2008-04-11  Bruno Haible  <bruno@clisp.org>
60404
60405         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
60406         * modules/glob (Depends-on): Add stdbool.
60407
60408 2008-04-11  Bruno Haible  <bruno@clisp.org>
60409
60410         * lib/trim.c: Include <string.h>.
60411
60412 2008-04-11  Eric Blake  <ebb9@byu.net>
60413
60414         Avoid compile failure on OS/2.
60415         * lib/regex_internal.h (internal_function): Disable optimization
60416         on OS/2 (__EMX__), where it caused compiler error.
60417         Reported by Elbert Pol.
60418
60419 2008-04-11  Bruno Haible  <bruno@clisp.org>
60420
60421         Flush the standard error stream before aborting. Needed on mingw.
60422         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
60423         * tests/test-array_list.c (ASSERT): Likewise.
60424         * tests/test-array_oset.c (ASSERT): Likewise.
60425         * tests/test-avltree_list.c (ASSERT): Likewise.
60426         * tests/test-avltree_oset.c (ASSERT): Likewise.
60427         * tests/test-avltreehash_list.c (ASSERT): Likewise.
60428         * tests/test-binary-io.c (ASSERT): Likewise.
60429         * tests/test-byteswap.c (ASSERT): Likewise.
60430         * tests/test-c-ctype.c (ASSERT): Likewise.
60431         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
60432         * tests/test-c-strcasestr.c (ASSERT): Likewise.
60433         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
60434         * tests/test-c-strstr.c (ASSERT): Likewise.
60435         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
60436         * tests/test-canonicalize.c (ASSERT): Likewise.
60437         * tests/test-carray_list.c (ASSERT): Likewise.
60438         * tests/test-ceilf1.c (ASSERT): Likewise.
60439         * tests/test-ceilf2.c (ASSERT): Likewise.
60440         * tests/test-ceill.c (ASSERT): Likewise.
60441         * tests/test-count-one-bits.c (ASSERT): Likewise.
60442         * tests/test-fbufmode.c (ASSERT): Likewise.
60443         * tests/test-fflush2.c (ASSERT): Likewise.
60444         * tests/test-floorf1.c (ASSERT): Likewise.
60445         * tests/test-floorf2.c (ASSERT): Likewise.
60446         * tests/test-floorl.c (ASSERT): Likewise.
60447         * tests/test-fopen.c (ASSERT): Likewise.
60448         * tests/test-fpending.c (ASSERT): Likewise.
60449         * tests/test-fprintf-posix.c (ASSERT): Likewise.
60450         * tests/test-fpurge.c (ASSERT): Likewise.
60451         * tests/test-freadable.c (ASSERT): Likewise.
60452         * tests/test-freadahead.c (ASSERT): Likewise.
60453         * tests/test-freading.c (ASSERT): Likewise.
60454         * tests/test-freadptr.c (ASSERT): Likewise.
60455         * tests/test-freadptr2.c (ASSERT): Likewise.
60456         * tests/test-freadseek.c (ASSERT): Likewise.
60457         * tests/test-freopen.c (ASSERT): Likewise.
60458         * tests/test-frexp.c (ASSERT): Likewise.
60459         * tests/test-frexpl.c (ASSERT): Likewise.
60460         * tests/test-fseek.c (ASSERT): Likewise.
60461         * tests/test-fseeko.c (ASSERT): Likewise.
60462         * tests/test-fstrcmp.c (ASSERT): Likewise.
60463         * tests/test-ftell.c (ASSERT): Likewise.
60464         * tests/test-ftello.c (ASSERT): Likewise.
60465         * tests/test-func.c (ASSERT): Likewise.
60466         * tests/test-fwritable.c (ASSERT): Likewise.
60467         * tests/test-fwriting.c (ASSERT): Likewise.
60468         * tests/test-getdelim.c (ASSERT): Likewise.
60469         * tests/test-getline.c (ASSERT): Likewise.
60470         * tests/test-i-ring.c (ASSERT): Likewise.
60471         * tests/test-iconv-utf.c (ASSERT): Likewise.
60472         * tests/test-iconv.c (ASSERT): Likewise.
60473         * tests/test-isfinite.c (ASSERT): Likewise.
60474         * tests/test-isnand.c (ASSERT): Likewise.
60475         * tests/test-isnanf.c (ASSERT): Likewise.
60476         * tests/test-isnanl.h (ASSERT): Likewise.
60477         * tests/test-ldexpl.c (ASSERT): Likewise.
60478         * tests/test-linked_list.c (ASSERT): Likewise.
60479         * tests/test-linkedhash_list.c (ASSERT): Likewise.
60480         * tests/test-localename.c (ASSERT): Likewise.
60481         * tests/test-lseek.c (ASSERT): Likewise.
60482         * tests/test-mbscasecmp.c (ASSERT): Likewise.
60483         * tests/test-mbscasestr1.c (ASSERT): Likewise.
60484         * tests/test-mbscasestr2.c (ASSERT): Likewise.
60485         * tests/test-mbscasestr3.c (ASSERT): Likewise.
60486         * tests/test-mbscasestr4.c (ASSERT): Likewise.
60487         * tests/test-mbschr.c (ASSERT): Likewise.
60488         * tests/test-mbscspn.c (ASSERT): Likewise.
60489         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
60490         * tests/test-mbspbrk.c (ASSERT): Likewise.
60491         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
60492         * tests/test-mbsrchr.c (ASSERT): Likewise.
60493         * tests/test-mbsspn.c (ASSERT): Likewise.
60494         * tests/test-mbsstr1.c (ASSERT): Likewise.
60495         * tests/test-mbsstr2.c (ASSERT): Likewise.
60496         * tests/test-mbsstr3.c (ASSERT): Likewise.
60497         * tests/test-memchr2.c (ASSERT): Likewise.
60498         * tests/test-memmem.c (ASSERT): Likewise.
60499         * tests/test-open.c (ASSERT): Likewise.
60500         * tests/test-printf-frexp.c (ASSERT): Likewise.
60501         * tests/test-printf-frexpl.c (ASSERT): Likewise.
60502         * tests/test-printf-posix.c (ASSERT): Likewise.
60503         * tests/test-quotearg.c (ASSERT): Likewise.
60504         * tests/test-rbtree_list.c (ASSERT): Likewise.
60505         * tests/test-rbtree_oset.c (ASSERT): Likewise.
60506         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
60507         * tests/test-round1.c (ASSERT): Likewise.
60508         * tests/test-roundf1.c (ASSERT): Likewise.
60509         * tests/test-roundl.c (ASSERT): Likewise.
60510         * tests/test-signbit.c (ASSERT): Likewise.
60511         * tests/test-sleep.c (ASSERT): Likewise.
60512         * tests/test-snprintf-posix.c (ASSERT): Likewise.
60513         * tests/test-snprintf.c (ASSERT): Likewise.
60514         * tests/test-sprintf-posix.c (ASSERT): Likewise.
60515         * tests/test-stat-time.c (ASSERT): Likewise.
60516         * tests/test-strcasestr.c (ASSERT): Likewise.
60517         * tests/test-strerror.c (ASSERT): Likewise.
60518         * tests/test-striconv.c (ASSERT): Likewise.
60519         * tests/test-striconveh.c (ASSERT): Likewise.
60520         * tests/test-striconveha.c (ASSERT): Likewise.
60521         * tests/test-strsignal.c (ASSERT): Likewise.
60522         * tests/test-strstr.c (ASSERT): Likewise.
60523         * tests/test-strtod.c (ASSERT): Likewise.
60524         * tests/test-trunc1.c (ASSERT): Likewise.
60525         * tests/test-trunc2.c (ASSERT): Likewise.
60526         * tests/test-truncf1.c (ASSERT): Likewise.
60527         * tests/test-truncf2.c (ASSERT): Likewise.
60528         * tests/test-truncl.c (ASSERT): Likewise.
60529         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
60530         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
60531         * tests/test-vasnprintf.c (ASSERT): Likewise.
60532         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
60533         * tests/test-vasprintf.c (ASSERT): Likewise.
60534         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
60535         * tests/test-vprintf-posix.c (ASSERT): Likewise.
60536         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
60537         * tests/test-vsnprintf.c (ASSERT): Likewise.
60538         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
60539         * tests/test-wcwidth.c (ASSERT): Likewise.
60540         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
60541         * tests/test-xprintf-posix.c (ASSERT): Likewise.
60542         * tests/test-xvasprintf.c (ASSERT): Likewise.
60543         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
60544         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
60545         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
60546         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
60547         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
60548         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
60549         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
60550         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
60551         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
60552         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
60553         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
60554         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
60555         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
60556         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
60557         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
60558         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
60559         * tests/unictype/test-block_list.c (ASSERT): Likewise.
60560         * tests/unictype/test-block_of.c (ASSERT): Likewise.
60561         * tests/unictype/test-block_test.c (ASSERT): Likewise.
60562         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
60563         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
60564         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
60565         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
60566         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
60567         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
60568         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
60569         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
60570         * tests/unictype/test-combining.c (ASSERT): Likewise.
60571         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
60572         * tests/unictype/test-digit.c (ASSERT): Likewise.
60573         * tests/unictype/test-mirror.c (ASSERT): Likewise.
60574         * tests/unictype/test-numeric.c (ASSERT): Likewise.
60575         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
60576         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
60577         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
60578         * tests/unictype/test-scripts.c (ASSERT): Likewise.
60579         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
60580         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
60581         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
60582         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
60583         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
60584         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
60585         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
60586         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
60587         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
60588         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
60589         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
60590         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
60591         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
60592         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
60593         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
60594         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
60595         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
60596         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
60597         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
60598         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
60599         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
60600         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
60601         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
60602         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
60603         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
60604         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
60605         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
60606         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
60607         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
60608         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
60609         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
60610         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
60611         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
60612         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
60613         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
60614         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
60615         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
60616         Reported by Eric Blake.
60617
60618 2008-04-11  Bruno Haible  <bruno@clisp.org>
60619
60620         * lib/wchar.in.h: Tweak comment.
60621
60622 2008-04-11  Bruno Haible  <bruno@clisp.org>
60623
60624         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
60625         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
60626         gl_COMMON.
60627         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
60628
60629 2008-04-11  Bruno Haible  <bruno@clisp.org>
60630
60631         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
60632
60633 2008-04-11  Simon Josefsson  <simon@josefsson.org>
60634
60635         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
60636         of attempting to use non-existing /dev/*random.  Based on patch
60637         from Adam Strzelecki <ono@java.pl> in
60638         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
60639
60640 2008-04-08  Bruno Haible  <bruno@clisp.org>
60641
60642         Add tentative support for emx+gcc.
60643         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
60644         * lib/fpurge.c (fpurge): Likewise.
60645         * lib/freadable.c (freadable): Likewise.
60646         * lib/freadahead.c (freadahead): Likewise.
60647         * lib/freading.c (freading): Likewise.
60648         * lib/freadptr.c (freadptr): Likewise.
60649         * lib/freadseek.c (freadptrinc): Likewise.
60650         * lib/fseeko.c (rpl_fseeko): Likewise.
60651         * lib/fseterr.c (fseterr): Likewise.
60652         * lib/fwritable.c (fwritable): Likewise.
60653         * lib/fwriting.c (fwriting): Likewise.
60654         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
60655
60656 2008-04-09  Eric Blake  <ebb9@byu.net>
60657
60658         Avoid some autoconf warnings.
60659         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
60660         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
60661         * m4/afs.m4 (gl_AFS): Likewise.
60662         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
60663         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
60664         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
60665         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
60666         (gl_INTEGER_TYPE_SUFFIX): Likewise.
60667         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
60668         (AC_CHECK_DECLS_ONCE): Likewise.
60669         Rename file...
60670         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
60671         gnulib-tool requires autoconf 2.59 or better.
60672         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
60673
60674 2008-04-08  Eric Blake  <ebb9@byu.net>
60675
60676         Use 'git describe --match' if present (added in git 1.5.5).
60677         * build-aux/git-version-gen: Limit result to tags that match 'v*'
60678         if possible.
60679
60680 2008-04-08  Bruno Haible  <bruno@clisp.org>
60681
60682         Add tentative support for OpenServer.
60683         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
60684         _ptr, _cnt.
60685         * lib/fpurge.c (fpurge): Likewise.
60686         * lib/freadable.c (freadable): Likewise.
60687         * lib/freadahead.c (freadahead): Likewise.
60688         * lib/freading.c (freading): Likewise.
60689         * lib/freadptr.c (freadptr): Likewise.
60690         * lib/freadseek.c (freadptrinc): Likewise.
60691         * lib/fseeko.c (rpl_fseeko): Likewise.
60692         * lib/fseterr.c (fseterr): Likewise.
60693         * lib/fwritable.c (fwritable): Likewise.
60694         * lib/fwriting.c (fwriting): Likewise.
60695         Reported by Roger Cornelius <rac@tenzing.org> and
60696         Brian K. White <brian@aljex.com>.
60697
60698 2008-04-06  Jim Meyering  <meyering@redhat.com>
60699
60700         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
60701
60702 2008-04-06  Bruno Haible  <bruno@clisp.org>
60703
60704         Avoid possible error with non-ASCII bytes in UTF-8 locales.
60705         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
60706         * tests/test-printf-posix.sh: Likewise.
60707         * tests/test-vfprintf-posix.sh: Likewise.
60708         * tests/test-vprintf-posix.sh: Likewise.
60709         * tests/test-xprintf-posix.sh: Likewise.
60710
60711 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
60712
60713         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
60714         hide error from 'ls', needed on OS/2.
60715         Report by Elbert Pol <elbert.pol@gmail.com>.
60716
60717 2008-04-04  Eric Blake  <ebb9@byu.net>
60718
60719         Make test-fseeko.c failures meaningful.
60720         * tests/test-fseeko.c: Print line number on failure.
60721         * tests/test-fseek.c: Likewise.
60722         Reported by Nelson H. F. Beebe.
60723
60724         Improve strtod bug detection check.
60725         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
60726         required for Solaris 10.
60727         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
60728
60729 2008-04-04  Bruno Haible  <bruno@clisp.org>
60730
60731         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
60732         by m4/setenv.m4.
60733
60734 2008-04-03  Eric Blake  <ebb9@byu.net>
60735
60736         Ensure sane .version contents.
60737         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
60738         version string.
60739         * build-aux/git-version-gen: Improve documentation.
60740
60741         Make GNU make output nicer.
60742         * top/GNUmakefile [!_have-Makefile]: Add dependency on
60743         MAKECMDGOALS to enforce message for all command line targets.  Set
60744         srcdir for use in maint.mk.
60745
60746         Another maintainer tweak.
60747         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
60748         a target that regenerates version.
60749
60750 2008-04-03  Jim Meyering  <meyering@redhat.com>
60751
60752         vc-list-files: don't cause coreutils "make po-check" failure
60753         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
60754
60755 2008-04-03  Eric Blake  <ebb9@byu.net>
60756
60757         Allow VPATH usage of vc-list-files.
60758         * build-aux/vc-list-files (scriptversion): Add timestamp.
60759         (options): Add --help, --version, -C.
60760         (CVS): Support installed cvsu.
60761
60762 2008-04-02  Bruno Haible  <bruno@clisp.org>
60763
60764         Avoid some "statement with no effect" warnings from gcc.
60765         * tests/test-wctype.c (main): Explicitly ignore unused values.
60766         Reported by Jim Meyering.
60767
60768 2008-04-02  Jim Meyering  <meyering@redhat.com>
60769
60770         Avoid some warnings from "gcc -Wshadow".
60771         * tests/test-frexp.c (exp): Define to a different identifier.
60772         * tests/test-frexpl.c (exp): Likewise.
60773
60774 2008-04-03  Jim Meyering  <meyering@redhat.com>
60775
60776         bootstrap: remove dangling *.[ch] symlinks from lib
60777         * build-aux/bootstrap [dangling symlink removal]: Move find's
60778         -depth option to precede all others, to avoid a warning.
60779         Remove *.[ch] files too, and from "$source_base" (usually lib/).
60780
60781 2008-04-02  Bruno Haible  <bruno@clisp.org>
60782
60783         Avoid some warnings from "gcc -Wshadow".
60784         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
60785         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
60786         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
60787         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
60788         Reported by Jim Meyering.
60789
60790 2008-04-01  Bruno Haible  <bruno@clisp.org>
60791
60792         Fix test to work on IRIX 6.5 with cc.
60793         * tests/test-math.c (numeric_equal): New function.
60794         (main): Use it.
60795
60796 2008-04-01  Bruno Haible  <bruno@clisp.org>
60797
60798         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
60799
60800 2008-04-01  Bruno Haible  <bruno@clisp.org>
60801
60802         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
60803         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60804         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
60805         (Depends-on): Remove math.
60806
60807         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
60808         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60809         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
60810         (Depends-on): Remove math.
60811
60812         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
60813         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60814         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
60815         (Depends-on): Remove math.
60816         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
60817         (Depends-on): Remove math.
60818
60819         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
60820         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
60821         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
60822         (Depends-on): Remove math.
60823         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
60824         (Depends-on): Remove math.
60825
60826         * tests/test-round1.c: Include nan.h.
60827         (main): Use NaNd instead of NAN.
60828         * modules/round-tests (Files): Add tests/nan.h.
60829
60830         * tests/test-trunc1.c: Include nan.h.
60831         (main): Use NaNd instead of NAN.
60832         * modules/trunc-tests (Files): Add tests/nan.h.
60833
60834         * tests/test-roundf1.c: Include nan.h.
60835         (main): Use NaNf instead of NAN.
60836         * modules/roundf-tests (Files): Add tests/nan.h.
60837
60838         * tests/test-truncf1.c: Include nan.h.
60839         (main): Use NaNf instead of NAN.
60840         * modules/truncf-tests (Files): Add tests/nan.h.
60841
60842         * tests/test-ceilf1.c: Include nan.h.
60843         (main): Use NaNf instead of NAN.
60844         * modules/ceilf-tests (Files): Add tests/nan.h.
60845
60846         * tests/test-floorf1.c: Include nan.h.
60847         (main): Use NaNf instead of NAN.
60848         * modules/floorf-tests (Files): Add tests/nan.h.
60849
60850         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
60851         (main): Use NaNf instead of NAN.
60852         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
60853
60854         * tests/test-isnand.c: Include nan.h instead of <math.h>.
60855         (main): Use NaNd instead of NAN.
60856         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
60857
60858         * tests/test-frexp.c: Include nan.h.
60859         (main): Use NaNd instead of NAN.
60860         * modules/frexp-tests (Files): Add tests/nan.h.
60861
60862         * lib/isnan.c: Don't include <math.h>.
60863         (FUNC): Don't use NAN macro.
60864         * modules/isnand-nolibm (Depends-on): Remove math.
60865         * modules/isnanf-nolibm (Depends-on): Remove math.
60866         * modules/isnanl (Depends-on): Remove math.
60867         * modules/isnanl-nolibm (Depends-on): Remove math.
60868
60869         * tests/nan.h: New file.
60870
60871 2008-04-01  Eric Blake  <ebb9@byu.net>
60872
60873         Fix typos.
60874         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
60875         values to be the right type.
60876
60877         For now, cater to gnulib strtod inaccuracies.
60878         * tests/test-strtod.c (main): Allow 1-ulp error on expected
60879         fractional results.  While not as nice from a QoI perspective, it
60880         is a quicker patch than correctly implementing decimal to binary
60881         rounding.
60882
60883 2008-03-31  Eric Blake  <ebb9@byu.net>
60884
60885         Guarantee a definition of NAN.
60886         * lib/math.in.h (NAN): Define if missing.
60887         * tests/test-math.c (main): Test it.
60888         * doc/posix-headers/math.texi (math.h): Document this.
60889         * lib/isnan.c (rpl_isnand): Use it.
60890         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
60891         * tests/test-floorf1.c (NaN): Likewise.
60892         * tests/test-frexp.c (NaN): Likewise.
60893         * tests/test-isnand.c (NaN): Likewise.
60894         * tests/test-isnanf.c (NaN): Likewise.
60895         * tests/test-round1.c (NaN): Likewise.
60896         * tests/test-roundf1.c (NaN): Likewise.
60897         * tests/test-snprintf-posix.h (NaN): Likewise.
60898         * tests/test-sprintf-posix.h (NaN): Likewise.
60899         * tests/test-trunc1.c (NaN): Likewise.
60900         * tests/test-truncf1.c (NaN): Likewise.
60901         * tests/test-vasnprintf-posix.c (NaN): Likewise.
60902         * tests/test-vasprintf-posix.c (NaN): Likewise.
60903         * modules/isnand-nolibm (Depends-on): Add math.
60904         * modules/isnanf-nolibm (Depends-on): Likewise.
60905         * modules/isnanl (Depends-on): Likewise.
60906         * modules/isnanl-nolibm (Depends-on): Likewise.
60907         * modules/snprintf-posix-tests (Depends-on): Likewise.
60908         * modules/sprintf-posix-tests (Depends-on): Likewise.
60909         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
60910         * modules/vsprintf-posix-tests (Depends-on): Likewise.
60911         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
60912         * modules/vasprintf-posix-tests (Depends-on): Likewise.
60913
60914 2008-03-31  Bruno Haible  <bruno@clisp.org>
60915
60916         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
60917         * doc/posix-functions/strtod.texi: Likewise.
60918
60919 2008-03-31  Bruno Haible  <bruno@clisp.org>
60920
60921         * tests/test-strtod.c (main): Don't use C99 syntax.
60922
60923 2008-03-31  Bruno Haible  <bruno@clisp.org>
60924
60925         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
60926         Reported by Eric Blake.
60927
60928 2008-03-31  Jim Meyering  <meyering@redhat.com>
60929
60930         Don't compare actual signbit return values.
60931         * tests/test-strtod.c (main): Rather, compare only their
60932         zero/non-zero nature.
60933
60934 2008-03-31  Eric Blake  <ebb9@byu.net>
60935
60936         More strtod documentation.
60937         * doc/posix-functions/strtod.texi (strtod): Interpret more test
60938         failures as distinct bugs.
60939
60940 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
60941
60942         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
60943         Problem reported by Erik Benada in
60944         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
60945
60946 2008-03-30  Bruno Haible  <bruno@clisp.org>
60947
60948         * tests/test-strtod.c: Add comments about which assertion fails on which
60949         platform.
60950         * doc/posix-functions/strtod.texi: Add info about many more platforms.
60951
60952 2008-03-30  Eric Blake  <ebb9@byu.net>
60953
60954         Test signbit behavior on zeros.
60955         * tests/test-signbit.c (test_signbitf): Add tests for zero.
60956         (test_signbitd, test_signbitl): Likewise.
60957
60958         More strtod touchups.
60959         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
60960         sign of negative underflow, for now.  Use .5, not .1.
60961         * doc/posix-functions/strtod.texi (strtod): Mention these
60962         limitations.
60963         Reported by Jim Meyering.
60964
60965 2008-03-30  Bruno Haible  <bruno@clisp.org>
60966
60967         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
60968         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
60969
60970 2008-03-30  Bruno Haible  <bruno@clisp.org>
60971
60972         Avoid failure when attempting to return empty iconv results on some
60973         platforms.
60974         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
60975         allocation, don't report ENOMEM when the resulting string is empty.
60976
60977 2008-03-30  Bruno Haible  <bruno@clisp.org>
60978
60979         Fix buffer overrun.
60980         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
60981         Don't consider the width for tmp_length. Check count against tmp_length
60982         before doing the padding. Ensure enough allocation during padding.
60983
60984 2008-03-30  Eric Blake  <ebb9@byu.net>
60985
60986         strtod touchups.
60987         * lib/strtod.c (strtod): Avoid compiler warnings.
60988         Reported by Jim Meyering.
60989
60990 2008-03-30  Bruno Haible  <bruno@clisp.org>
60991
60992         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
60993         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
60994         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
60995         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
60996         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
60997         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
60998         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
60999         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
61000
61001         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
61002         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
61003         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
61004         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
61005         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
61006         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
61007         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
61008         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
61009
61010         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
61011         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
61012         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
61013         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
61014         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
61015         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
61016         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
61017         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
61018
61019         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
61020         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
61021
61022         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
61023         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
61024
61025         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
61026         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
61027
61028         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
61029         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
61030         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
61031
61032         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
61033         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
61034         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
61035
61036         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
61037         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
61038         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
61039
61040         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
61041         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
61042         * modules/vasprintf (Depends-on): Add EOVERFLOW.
61043
61044         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
61045         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
61046         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
61047         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
61048         (Depends-on): Add EOVERFLOW.
61049         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
61050         (Depends-on): Add EOVERFLOW.
61051         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61052         (Depends-on): Add EOVERFLOW.
61053         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61054         (Depends-on): Add EOVERFLOW.
61055         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61056         (Depends-on): Add EOVERFLOW.
61057         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61058         (Depends-on): Add EOVERFLOW.
61059         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61060         (Depends-on): Add EOVERFLOW.
61061         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61062         (Depends-on): Add EOVERFLOW.
61063
61064         * lib/sprintf.c (EOVERFLOW): Remove fallback.
61065         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
61066         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
61067
61068         * lib/snprintf.c (EOVERFLOW): Remove fallback.
61069         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
61070         * modules/snprintf (Depends-on): Add EOVERFLOW.
61071
61072         * lib/poll.c (EOVERFLOW): Remove fallback.
61073         * modules/poll (Depends-on): Add EOVERFLOW.
61074
61075         * lib/getugroups.c (EOVERFLOW): Remove fallback.
61076         * modules/getugroups (Depends-on): Add EOVERFLOW.
61077
61078         * lib/getdelim.c (EOVERFLOW): Remove fallback.
61079         * modules/getdelim (Depends-on): Add EOVERFLOW.
61080
61081         * lib/ftell.c (EOVERFLOW): Remove fallback.
61082         * modules/ftell (Depends-on): Add EOVERFLOW.
61083
61084         * lib/fprintf.c (EOVERFLOW): Remove fallback.
61085         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
61086         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
61087
61088         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
61089
61090         * modules/EOVERFLOW-tests: New file.
61091         * tests/test-EOVERFLOW.c: New file.
61092
61093         * modules/EOVERFLOW: New file.
61094         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
61095
61096 2008-03-30  Bruno Haible  <bruno@clisp.org>
61097
61098         Fix bug introduced on 2007-06-10.
61099         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
61100         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
61101
61102 2008-03-30  Bruno Haible  <bruno@clisp.org>
61103
61104         Improve freadseek's efficiency after ungetc.
61105         * lib/freadseek.c: Include freadahead.h.
61106         (freadptrinc): New function, extracted from freadseek.
61107         (freadseek): Use it in a loop. Use freadahead to determine the number
61108         of loop iterations.
61109         * modules/freadseek (Depends-on): Add freadahead.
61110         (configure.ac): Require AC_C_INLINE.
61111
61112 2008-03-30  Bruno Haible  <bruno@clisp.org>
61113
61114         * lib/freadseek.c (freadseek): Don't ignore the return value of
61115         freadptr.
61116
61117 2008-03-29  Eric Blake  <ebb9@byu.net>
61118
61119         Add hex float support.
61120         * modules/strtod (Depends-on): Add c-ctype.
61121         (Link): Mention POW_LIB.
61122         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
61123         whitespace between 'e' and exponent.
61124         * tests/test-strtod.c (main): Enable hex float tests.
61125         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
61126         now provides.
61127
61128         Document various strtod bugs, with some fixes.
61129         * doc/posix-functions/strtod.texi (strtod): Document bugs with
61130         "-0x", "inf", "nan", and hex constants.
61131         * doc/posix-functions/atof.texi (atof): Likewise.
61132         * modules/stdlib (Makefile.am): Support strtod.
61133         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
61134         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
61135         detect additional strtod bugs.
61136         * lib/stdlib.in.h (rpl_strtod): Add declarations.
61137         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
61138         bool where appropriate.  Parse 'inf' and 'nan'.
61139         * tests/test-strtod.c: New file.
61140         * modules/strtod (Depends-on): Add stdbool, stdlib.
61141         (configure.ac): Turn on module indicator.
61142         * modules/strtod-tests: New module.
61143
61144 2008-03-29  Eric Blake  <ebb9@byu.net>
61145
61146         Fix ftell on mingw.
61147         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
61148         * modules/ftell-tests (Depends-on): Add binary-io.
61149         * modules/ftello-tests (Depends-on): Likewise.
61150         * tests/test-ftell.c (main): Enhance test to cover behavior after
61151         ungetc.  Enforce binary mode.
61152         * tests/test-ftello.c (main): Likewise.
61153
61154         Pass test-freadseek on cygwin.
61155         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
61156         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
61157         ungetc buffer.
61158
61159         * tests/test-fflush2.c (main): Fix typo.
61160
61161 2008-03-29  Bruno Haible  <bruno@clisp.org>
61162
61163         * tests/test-fflush2.c (main): Temporarily disable the contents of
61164         this test.
61165         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
61166         Reported by Eric Blake.
61167
61168 2008-03-28  Simon Josefsson  <simon@josefsson.org>
61169
61170         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
61171         (GC_SHA224_DIGEST_SIZE): Add.
61172
61173         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
61174         (gc_hash_digest_length): Likewise.
61175         (gc_hash_buffer): Likewise.
61176
61177 2008-03-25  Bruno Haible  <bruno@clisp.org>
61178
61179         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
61180         detail which gettext release to use.
61181         Reported by Simon Josefsson.
61182
61183 2008-03-26  Jim Meyering  <meyering@redhat.com>
61184
61185         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
61186         * modules/gnumakefile (clean-GNUmakefile): Also, use
61187         test ... && ... || : syntax rather than if-then ... fi.
61188
61189         gnumakefile: Don't double-quote-expand $(VPATH) value.
61190         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
61191
61192 2008-03-24  Eric Blake  <ebb9@byu.net>
61193
61194         Alter GNUmakefile to install into top directory.
61195         * modules/maintainer-makefile: Split, and add dependency...
61196         * modules/gnumakefile: to this new module.
61197         * build-aux/GNUmakefile: Move...
61198         * top/GNUmakefile: ...here.
61199         * build-aux/maint.mk: Move...
61200         * top/maint.mk: ...here.
61201         * MODULES.html.sh (Support for maintaining...): Document new
61202         module.
61203
61204 2008-03-23  Bruno Haible  <bruno@clisp.org>
61205
61206         * gnulib-tool: New options --vc-files, --no-vc-files.
61207         (func_usage): Document them.
61208         (vc_files): New variable.
61209         (func_import): Consider vc_files.
61210         (func_create_testdir): Set vc_files to empty.
61211         Suggested by Jim Meyering and Karl Berry.
61212
61213 2008-03-23  Bruno Haible  <bruno@clisp.org>
61214
61215         Fix regex compilation error on HP-UX 11.
61216         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
61217         * modules/regex (Files): Add m4/mbstate_t.m4.
61218         Reported by Ton Voon <ton.voon@altinity.com>.
61219
61220 2008-03-23  Bruno Haible  <bruno@clisp.org>
61221
61222         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
61223
61224 2008-03-23  Eric Blake  <ebb9@byu.net>
61225             Bruno Haible  <bruno@clisp.org>
61226
61227         Install files from top/ in the destination directory.
61228         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
61229         augmentation also for the files from top/.
61230         (func_import, func_create_testdir): Rewrite file names:
61231         top/filename -> filename.
61232
61233 2008-03-23  Bruno Haible  <bruno@clisp.org>
61234
61235         Tweak "gnulib --version" output.
61236         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
61237
61238 2008-03-23  Bruno Haible  <bruno@clisp.org>
61239
61240         Tweak "gnulib --version" output.
61241         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
61242         rather than contents of ChangeLog, when possible.
61243
61244 2008-03-21  Eric Blake  <ebb9@byu.net>
61245
61246         More --version tweaks.
61247         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
61248         date of last ChangeLog entry.
61249
61250 2008-03-21  Jim Meyering  <meyering@redhat.com>
61251
61252         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
61253
61254 2008-03-20  Eric Blake  <ebb9@byu.net>
61255
61256         VPATH fix.
61257         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
61258
61259 2008-03-20  Simon Josefsson  <simon@josefsson.org>
61260
61261         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
61262         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
61263
61264 2008-03-20  Eric Blake  <ebb9@byu.net>
61265
61266         Sync GNUmakefile with coreutils.
61267         * build-aux/GNUmakefile (have-Makefile): Rename...
61268         (_have-Makefile): ...to this, for namespace consideration.
61269         (GNUmakefile.cfg): Include, if present.
61270         (_autoreconf): Define a default.
61271         (_is-dist-target): New rule for rebuilds to pick up intra-release
61272         version.
61273         (maint-cfg.mk): Rename...
61274         (cfg.mk): ...to this.
61275
61276 2008-03-18  Jim Meyering  <meyering@redhat.com>
61277
61278         New script and module: mktempd
61279         * MODULES.html.sh (maint+release support): Add mktempd.
61280         * build-aux/mktempd: New file.
61281         * modules/mktempd: New file.
61282
61283 2008-03-15  Jim Meyering  <meyering@redhat.com>
61284
61285         Undo last change.
61286         * lib/sha1.c, lib/md5.c: 63 != ~63.
61287         Reported by Andreas Schwab.
61288
61289         sha1.c, md5.c: Hoist a redundant expression.
61290         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
61291         "ctx->buflen" only once, before calling *_process_block.
61292         * lib/md5.c (md5_process_bytes): Likewise.
61293
61294 2008-03-14  Eric Blake  <ebb9@byu.net>
61295
61296         Bump copyright year in files generated by gnulib-tool.
61297         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
61298         gnulib-tool, rather than hard-coding it.
61299
61300         Fix 'gnulib-tool --version' output to work with git.
61301         * gnulib-tool (func_gnulib_dir): New function, extracted from...
61302         (startup): ...here.
61303         (func_version): Use it to invoke git-version-gen, rather than
61304         relying on CVS keyword expansion.  Modernize wording.
61305         (cvsdatestamp, last_checkin_date, version): Kill unused
61306         variables.
61307
61308 2008-03-12  Jim Meyering  <meyering@redhat.com>
61309
61310         Recognize optional cast of the argument to free.
61311         * build-aux/useless-if-before-free: Update regexps.
61312
61313         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
61314
61315 2008-03-11  Bruno Haible  <bruno@clisp.org>
61316
61317         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
61318         by a single package.
61319         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
61320         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
61321         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
61322         Reported by Sam Steingold <sds@gnu.org>.
61323
61324 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
61325
61326         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
61327         repositories.
61328
61329 2008-03-11  Bruno Haible  <bruno@clisp.org>
61330
61331         Avoid conflicts between local macro definitions.
61332         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
61333         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
61334
61335 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
61336             Bruno Haible  <bruno@clisp.org>
61337
61338         Make va_copy work with some version of xlc on AIX 5.1.
61339         * lib/stdarg.in.h: New file.
61340         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
61341         On AIX, use a <stdarg.h> file substitute.
61342         * modules/stdarg (Files): Add lib/stdarg.in.h.
61343         (Depends-on): Add include_next.
61344         (Makefile.am): Build a stdarg.h substitute if requested.
61345         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
61346
61347 2008-03-10  Bruno Haible  <bruno@clisp.org>
61348
61349         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
61350         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
61351         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61352
61353 2008-03-10  Bruno Haible  <bruno@clisp.org>
61354
61355         * modules/stdlib (Depends-on): Add include_next, remove
61356         absolute-header.
61357
61358 2008-03-09  Bruno Haible  <bruno@clisp.org>
61359
61360         * lib/freadahead.h (freadahead): Document more precisely.
61361         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
61362         the sum of both buffer sizes.
61363         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
61364         * NEWS: Document the change.
61365
61366 2008-03-09  Bruno Haible  <bruno@clisp.org>
61367
61368         Extend freadptr to return also the buffer size.
61369         * lib/freadptr.h (freadptr): Add sizep argument.
61370         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
61371         (freadptr): Add sizep argument. Determine buffer size like freadahead
61372         does.
61373         * tests/test-freadptr.c: Don't include freadahead.h.
61374         (main): Adapt for new calling convention of freadptr.
61375         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
61376         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
61377         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
61378         tests/test-freadptr2.sh.
61379         (Depends): Remove freadahead.
61380         (TESTS): Add test-freadptr2.sh.
61381         (check_PROGRAMS): Add test-freadptr2.
61382
61383 2008-03-09  Bruno Haible  <bruno@clisp.org>
61384
61385         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
61386         Report and solution by Simon Josefsson.
61387
61388 2008-03-06  Bruno Haible  <bruno@clisp.org>
61389
61390         Make fflush after ungetc work on BSD platforms.
61391         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
61392         * tests/test-fflush2.c: New file.
61393         * tests/test-fflush2.sh: New file.
61394         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
61395         tests/test-fflush2.c.
61396         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
61397         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
61398
61399 2008-03-06  Eric Blake  <ebb9@byu.net>
61400
61401         Likewise for ftello.
61402         * modules/ftello (Dependencies): Add extensions.
61403         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
61404
61405 2008-03-06  Bruno Haible  <bruno@clisp.org>
61406
61407         * modules/fseeko (Dependencies): Add extensions.
61408         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
61409         Needed on glibc systems.
61410
61411 2008-03-06  Bruno Haible  <bruno@clisp.org>
61412
61413         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
61414         email address.
61415         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61416
61417 2008-03-06  Bruno Haible  <bruno@clisp.org>
61418
61419         * users.txt: Add libgnupdf.
61420
61421 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
61422
61423         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
61424         (Header File Substitutes, Function Substitutes,
61425         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
61426         (Build robot for gnulib): Fix typo.
61427
61428 2008-03-06  Bruno Haible  <bruno@clisp.org>
61429
61430         * doc/gnulib-tool.texi (VCS Issues): Small updates.
61431         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61432
61433 2008-03-06  Bruno Haible  <bruno@clisp.org>
61434
61435         * doc/func.texi: New file, extracted from doc/gnulib.texi.
61436         * doc/gnulib.texi: Include it.
61437
61438 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61439
61440         * modules/func (License): Change license to unlimited; there was
61441         no LGPL parts in the module anyway.
61442
61443 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61444
61445         * modules/__func__: Renamed to modules/func.
61446         * modules/__func__-tests: Renamed to modules/func-tests.
61447         * tests/test-__func__.c: Renamed to tests/test-func.c.
61448         * m4/__func__.m4: Renamed to m4/func.m4.
61449         * doc/gnulib.texi (__func__): Section renamed to func.
61450         Suggested by Eric Blake <ebb9@byu.net>.
61451
61452 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61453
61454         * doc/gnulib.texi (__func__): Use C99 terminology when talking
61455         about __func__.  Make example self-contained.  Suggested by Eric
61456         Blake <ebb9@byu.net>.
61457
61458         * tests/test-__func__.c (main): Avoid extraneous () around __func.
61459         Suggested by Eric Blake <ebb9@byu.net>.
61460
61461 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61462
61463         * modules/__func__: New file.
61464         * modules/__func__-tests: New file.
61465         * tests/test-__func__.c: New file.
61466         * m4/__func__.m4: New file.
61467         * doc/gnulib.texi (__func__): Document __func__ module.
61468
61469 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61470
61471         * modules/byteswap (License): Re-license as LGPLv2+.
61472
61473 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61474
61475         * doc/Makefile: Add pdf target.
61476
61477 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61478
61479         * modules/inline (License): Use 'unlimited', since there are only
61480         *.m4 files in this module.
61481
61482 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61483             Bruno Haible  <bruno@clisp.org>
61484
61485         Add support for HP C 7.1 on OpenVMS 8.3.
61486         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
61487
61488 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61489
61490         Update VMS specifics.
61491         * lib/getopt.c [VMS]: Remove include of unixlib.h.
61492
61493 2008-03-02  Jim Meyering  <meyering@redhat.com>
61494
61495         Remove the last dependency on the "free" module.
61496         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
61497         Reported by Bob Proulx.
61498
61499         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
61500
61501         Remove useless "if" tests before free.  Deprecate "free" module.
61502         * doc/posix-functions/free.texi: Mention that this
61503         module is no longer useful.
61504         * modules/free (Notice): Say this module is obsolete.
61505         * modules/readutmp (Depends-on): Remove free.
61506         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
61507         * lib/putenv.c (putenv): Likewise.
61508         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
61509         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
61510         * tests/test-c-strcasestr.c (main): Likewise.
61511         * tests/test-c-strstr.c (main): Likewise.
61512         * tests/test-mbscasestr1.c (main): Likewise.
61513         * tests/test-mbscasestr2.c (main): Likewise.
61514         * tests/test-mbsstr1.c (main): Likewise.
61515         * tests/test-mbsstr2.c (main): Likewise.
61516         * tests/test-memmem.c (main): Likewise.
61517         * tests/test-strcasestr.c (main): Likewise.
61518         * tests/test-striconv.c (main): Likewise.
61519         * tests/test-striconveh.c (main): Likewise.
61520         * tests/test-striconveha.c (main): Likewise.
61521         * tests/test-strstr.c (main): Likewise.
61522
61523         * build-aux/git-version-gen: Adjust a comment and the Usage string.
61524
61525         bootstrap: sync from coreutils again
61526         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
61527
61528 2008-03-01  Jim Meyering  <meyering@redhat.com>
61529
61530         bootstrap: sync from coreutils
61531         * build-aux/bootstrap (update_po_files): Copy a .po file into place
61532         also when the target doesn't exist.
61533
61534 2008-03-01  Eric Blake  <ebb9@byu.net>
61535
61536         Fix bugs in last patch.
61537         * lib/memchr2.c (memchr2): Fix typo.
61538         * tests/test-memchr2.c: Test previous bug, and don't use GNU
61539         extension.
61540         Reported by Bruce Korb.
61541
61542         New module 'memchr2'.
61543         * modules/memchr2: New file.
61544         * modules/memchr2-tests: Likewise.
61545         * lib/memchr2.h: Likewise.
61546         * lib/memchr2.c: Likewise, based on memchr.c.
61547         * tests/test-memchr2.c: New test.
61548         * MODULES.html.sh (String handling): Add memchr2.
61549
61550 2008-02-29  Bruno Haible  <bruno@clisp.org>
61551
61552         * modules/freadseek-tests: New file.
61553         * tests/test-freadseek.sh: New file.
61554         * tests/test-freadseek.c: New file.
61555
61556         New module 'freadseek'.
61557         * modules/freadseek: New file.
61558         * lib/freadseek.h: New file.
61559         * lib/freadseek.c: New file.
61560         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
61561
61562 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
61563
61564         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
61565         wydawca.
61566
61567         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
61568         program_invocation_name and program_invocation_short_name are
61569         present.
61570
61571 2008-02-28  Bruno Haible  <bruno@clisp.org>
61572
61573         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
61574         * tests/test-freadptr.sh: Also test non-seekable stdin.
61575
61576 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
61577
61578         * build-aux/bootstrap (source_base, m4_base)
61579         (doc_base, tests_base): New variables.
61580         (gnulib_tool_options): Do not hardcode base directories, use
61581         the above variables instead.
61582
61583 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
61584
61585         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
61586
61587 2008-02-28  Bruno Haible  <bruno@clisp.org>
61588
61589         * modules/freadptr-tests: New file.
61590         * tests/test-freadptr.sh: New file.
61591         * tests/test-freadptr.c: New file.
61592
61593         New module 'freadptr'.
61594         * modules/freadptr: New file.
61595         * lib/freadptr.h: New file.
61596         * lib/freadptr.c: New file.
61597         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
61598
61599 2008-02-26  Karl Berry  <karl@freefriends.org>
61600
61601         Sync from Libtool:
61602         * libltdl/argz.c (argz_add, argz_count): New functions.
61603         * libltdl/argz.in.h: Declare them.
61604         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
61605
61606 2008-02-22  Bruno Haible  <bruno@clisp.org>
61607
61608         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
61609         is a pointer type.  Needed for HP-UX 10.
61610         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
61611         * doc/posix-functions/gmtime_r.texi: Likewise.
61612         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61613
61614 2008-02-24  Bruno Haible  <bruno@clisp.org>
61615
61616         * modules/environ-tests: New file.
61617         * tests/test-environ.c: New file.
61618
61619         New module 'environ'.
61620         * modules/environ: New file.
61621         * lib/unistd.in.h (environ): New declaration.
61622         * m4/environ.m4: New file.
61623         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
61624         after use.
61625         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
61626         HAVE_DECL_ENVIRON.
61627         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
61628         HAVE_DECL_ENVIRON.
61629         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
61630         wrong claim that 'environ' is missing on some systems.
61631         * modules/execute (Depends-on): Add environ.
61632         * lib/execute.c (environ): Remove fallback declaration.
61633         * modules/pipe (Depends-on): Add environ.
61634         * lib/pipe.c (environ): Remove fallback declaration.
61635         * modules/setenv (Depends-on): Add environ.
61636         * lib/setenv.c (environ): Remove fallback declaration.
61637         * modules/unsetenv (Depends-on): Add environ.
61638         * lib/unsetenv.c (environ): Remove fallback declaration.
61639         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
61640         m4/environ.m4.
61641         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
61642         (gl_PREREQ_UNSETENV): Likewise.
61643
61644 2008-02-24  Bruno Haible  <bruno@clisp.org>
61645
61646         * doc/posix-functions/environ.texi: Document the MacOS X problem.
61647
61648 2008-02-20  Bob Proulx  <bob@proulx.com>
61649
61650         Enable use of older two part flavor 'git describe'.
61651         * build-aux/git-version-gen: If using the older two part flavor of
61652         git version then recreate the third part now present in the
61653         newer three part flavor of git describe.
61654
61655 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
61656
61657         * lib/fts.c (fts_build): Typo correction to comment.
61658
61659 2008-02-17  Bruno Haible  <bruno@clisp.org>
61660
61661         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
61662         generating no-op conflicts.
61663
61664 2008-02-17  Bruno Haible  <bruno@clisp.org>
61665
61666         Speed up by 10%.
61667         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
61668         result_entries, rather than an index-based loop.
61669
61670 2008-02-17  Bruno Haible  <bruno@clisp.org>
61671
61672         Speed up by 25%.
61673         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
61674         'hashcode_cached'.
61675         (entry_create): New function.
61676         (entry_hashcode): Use the cached hashcode if possible.
61677         (read_changelog_file, try_split_merged_entry): Use entry_create.
61678
61679 2008-02-17  Bruno Haible  <bruno@clisp.org>
61680
61681         Speed up from O(n^2) to O(n) for long ChangeLog files.
61682         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
61683         (read_changelog_file): Change implementation of entries_reversed list
61684         to rbtreehash.
61685         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
61686
61687 2008-02-17  Bruno Haible  <bruno@clisp.org>
61688
61689         New option --split-merged-entry.
61690         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
61691         (find_paragraph_end, try_split_merged_entry): New functions.
61692         (long_options): Add option --split-merged-entry.
61693         (usage): Document option --split-merged-entry.
61694         (main): Implement option --split-merged-entry.
61695         Reported by Eric Blake.
61696
61697 2008-02-17  Bruno Haible  <bruno@clisp.org>
61698
61699         * lib/git-merge-changelog.c: Include c-strstr.h.
61700         (main): Support the "git pull --rebase" situation.
61701         * modules/git-merge-changelog (Depends-on): Add c-strstr.
61702         Reported by Eric Blake.
61703
61704 2008-02-16  Eric Blake  <ebb9@byu.net>
61705
61706         Avoid doubling \ in common case of "c-maybe" quoting style.
61707         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
61708         eliding outer quotes.
61709         * lib/quotearg.h: Document this.
61710         * tests/test-quotearg.c (result_strings, inputs, results_g)
61711         (flag_results, locale_results): Test it by adding a new string to
61712         each test group.
61713         (compare_strings): Test new string.
61714
61715 2008-02-13  Eric Blake  <ebb9@byu.net>
61716
61717         Avoid trigraph quoting in default output.
61718         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
61719         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
61720         unless explicitly requested.
61721         * tests/test-quotearg.c (flag_results, main): Add additional tests.
61722
61723 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
61724
61725         Don't rely on signed integer overflowing to negative value.
61726         * lib/getugroups.c (getugroups): Include <limits.h>.
61727         Instead, compare against INT_MAX, and increment only if the test passes.
61728
61729 2008-02-13  Jim Meyering  <meyering@redhat.com>
61730         and Eric Blake  <ebb9@byu.net>
61731
61732         Avoid shadowing warning and compile errors on Linux.
61733         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
61734         forwarding macros on Linux.
61735         (dcgettext): Define a stub, for Linux.
61736         (results_g, main): Avoid warnings.
61737
61738 2008-02-12  Eric Blake  <ebb9@byu.net>
61739
61740         Silence warning in last patch.
61741         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
61742
61743         Quotearg part 4: add tests, fix c-maybe colon quoting.
61744         * lib/quotearg.h: Improve documentation.
61745         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
61746         escapes when adding outer quotes.  When quoting trigraphs, use
61747         valid C notation.  When quoting NUL, omit extra characters if next
61748         character is not digit.  Alter prototype.
61749         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
61750         callers.
61751         * modules/quotearg-tests: New module.
61752         * tests/test-quotearg.c: New test.
61753
61754 2008-02-07  Eric Blake  <ebb9@byu.net>
61755
61756         Quotearg part 3: add flag to control outer quote elision.
61757         * lib/quotearg.h (c_maybe_quoting_style): New style.
61758         (enum quoting_flags): Better documentation of flags.
61759         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
61760         c-maybe style.
61761         (quotearg_buffer_restyled): Handle new flag to elide outer
61762         quotes.
61763
61764         Quotearg part 2: add flag that can control NUL elision.
61765         * lib/quotearg.h (set_quoting_flags): New prototype.
61766         * lib/quotearg.c (struct quoting_options): Add flag field.
61767         (set_quoting_flags): New function.
61768         (quotearg_buffer_restyled): Add flags parameter.
61769         (quotearg_alloc_mem): Set the flag if length cannot be returned.
61770         (quotearg_n_options): Set the flag, since length cannot be
61771         returned.
61772         (quoting_options_from_style): Default flags correctly.
61773
61774         Quotearg part 1: more wrappers, restore quotearg_char state.
61775         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
61776         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
61777         (quotearg_colon_mem): New wrappers.
61778         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
61779         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
61780         functions.
61781         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
61782         (quotearg_colon_mem): New functions.
61783
61784 2008-02-11  Bruno Haible  <bruno@clisp.org>
61785
61786         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
61787         library in the current directory: it does not work with parallel make.
61788         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
61789
61790 2008-02-11  Bruno Haible  <bruno@clisp.org>
61791
61792         * .gitattributes: New file.
61793
61794 2008-02-11  Jim Meyering  <meyering@redhat.com>
61795
61796         useless-if-before-free: Fix reversed exit values.
61797         * build-aux/useless-if-before-free: Use correct values
61798         for EXIT_MATCH and EXIT_NO_MATCH.
61799
61800         * build-aux/useless-if-before-free: Close stdout carefully.
61801
61802 2008-02-10  Bruno Haible  <bruno@clisp.org>
61803
61804         New module 'git-merge-changelog'.
61805         * modules/git-merge-changelog: New file.
61806         * lib/git-merge-changelog.c: New file.
61807
61808 2008-02-10  Jim Meyering  <meyering@redhat.com>
61809
61810         useless-if-before-free: New option: --list (-l).
61811
61812         useless-if-before-free: Don't exit immediately upon open failure.
61813         * build-aux/useless-if-before-free: Exit 2 for errors.
61814         Upon failure to open a file, don't exit immediately.
61815         Rather, just warn and continue with any remaining files.
61816
61817 2008-02-10  Bruno Haible  <bruno@clisp.org>
61818
61819         New abstract list operation 'node_set_value'.
61820         * lib/gl_list.h (gl_list_node_set_value): New function.
61821         (struct gl_list_implementation): New field node_set_value.
61822         * lib/gl_list.c (gl_list_node_set_value): New function.
61823         * lib/gl_array_list.c (gl_array_node_set_value): New function.
61824         (gl_array_list_implementation): Update.
61825         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
61826         (gl_carray_list_implementation): Update.
61827         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
61828         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
61829         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
61830         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
61831         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
61832         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
61833         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
61834         Update.
61835         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
61836         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
61837         (gl_sublist_list_implementation): Update.
61838
61839 2008-02-10  Bruno Haible  <bruno@clisp.org>
61840
61841         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
61842         Needed when ELEMENT is #defined to 'some_type *'.
61843
61844 2008-02-10  Jim Meyering  <meyering@redhat.com>
61845
61846         New script and module: useless-if-before-free
61847         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
61848         * build-aux/useless-if-before-free: New file.
61849         * modules/useless-if-before-free: New file.
61850
61851         * build-aux/gitlog-to-changelog: Use committer date, not author date.
61852
61853         xstrtol_error: Fix typo.
61854         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
61855         s/exit_failure/exit_status/.
61856
61857 2008-02-09  Jim Meyering  <meyering@redhat.com>
61858
61859         New script and module: gitlog-to-changelog
61860         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
61861         * modules/gitlog-to-changelog: New file.
61862         * build-aux/gitlog-to-changelog: New file.
61863
61864 2008-02-08  Jim Meyering  <meyering@redhat.com>
61865
61866         Avoid two "parameter unused" warnings.
61867         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
61868         Mark "st" as used.
61869
61870         Use "git COMMAND", not "git-COMMAND".
61871         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
61872         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
61873         * build-aux/git-version-gen: Use "git status", not "git-status".
61874
61875 2008-02-07  Bruno Haible  <bruno@clisp.org>
61876
61877         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
61878         Avoids a crash on Windows Vista.
61879         Reported by Adam Strzelecki <ono@java.pl> via
61880         Simon Josefsson <simon@josefsson.org>.
61881
61882 2008-02-06  Bruno Haible  <bruno@clisp.org>
61883
61884         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
61885         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
61886         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
61887         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
61888         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
61889         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
61890         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
61891         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
61892         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
61893         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
61894         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
61895         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
61896         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
61897         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
61898         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
61899         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
61900         left-adjust flag.
61901         * tests/test-snprintf-posix.h (test_function): Likewise.
61902         * tests/test-sprintf-posix.h (test_function): Likewise.
61903         * tests/test-vasprintf-posix.c (test_function): Likewise.
61904         * doc/posix-functions/fprintf.texi: Update.
61905         * doc/posix-functions/printf.texi: Update.
61906         * doc/posix-functions/snprintf.texi: Update.
61907         * doc/posix-functions/sprintf.texi: Update.
61908         * doc/posix-functions/vfprintf.texi: Update.
61909         * doc/posix-functions/vprintf.texi: Update.
61910         * doc/posix-functions/vsnprintf.texi: Update.
61911         * doc/posix-functions/vsprintf.texi: Update.
61912         Reported by Peter Fales <psfales@alcatel-lucent.com>.
61913
61914 2008-02-06  Bruno Haible  <bruno@clisp.org>
61915
61916         Fix bug introduced on 2008-01-26.
61917         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
61918
61919 2008-02-06  Bruno Haible  <bruno@clisp.org>
61920
61921         Fix bug introduced on 2007-06-10.
61922         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
61923         !NEED_PRINTF_FLAG_ZERO.
61924
61925 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
61926
61927         getloadavg: use libperfstat on AIX5
61928         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
61929
61930 2008-02-03  Bruno Haible  <bruno@clisp.org>
61931
61932         * lib/diffseq.h: Add comments about required #includes.
61933         Reported by Michael Biggs <gnulib@doubleplum.net>.
61934
61935 2008-02-01  Bruno Haible  <bruno@clisp.org>
61936
61937         * users.txt: Add gnuit.
61938
61939 2008-01-31  Bruno Haible  <bruno@clisp.org>
61940
61941         * lib/md4.c (set_uint32): Mark as inline.
61942         * lib/md5.c (set_uint32): Likewise.
61943         * lib/sha1.c (set_uint32): Likewise.
61944         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
61945         * m4/md5.m4 (gl_MD5): Likewise.
61946         * m4/sha1.m4 (gl_SHA1): Likewise.
61947
61948 2008-01-31  Jim Meyering  <meyering@redhat.com>
61949
61950         Use "sizeof VAR", rather than a literal "4".
61951         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
61952         * lib/md4.c (md4_read_ctx): Likewise.
61953         * lib/sha1.c (sha1_read_ctx): Likewise.
61954
61955 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61956
61957         * tests/test-sha1.c: New file, based on test-md5.c.
61958
61959         * modules/crypto/sha1-tests: New file.
61960
61961 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61962
61963         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
61964
61965 2008-01-31  Jim Meyering  <meyering@redhat.com>
61966
61967         Prefer "sizeof v" over the equivalent "4".
61968         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
61969         * lib/md5.c (set_uint32): Likewise.
61970         * lib/sha1.c (set_uint32): Likewise.
61971
61972 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61973
61974         * lib/sha1.c (set_uint32): Mark function as static.
61975
61976 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61977
61978         md2: clarify comments to say that alignment is not required.
61979         * lib/md2.h: Remove warning about alignment in comment.
61980         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
61981         never been required.
61982
61983 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61984
61985         md4: adapt alignment constraint fix from sha1.
61986         * lib/md4.c (set_uint32): New function, from sha1.c
61987         (md4_read_ctx): Use it.
61988         (md4_finish_ctx): Doc fix.
61989         * lib/md4.h: Doc fix.
61990
61991 2008-01-31  Simon Josefsson  <simon@josefsson.org>
61992
61993         md5: adapt alignment constraint fix from sha1.
61994         * lib/md5.c (set_uint32): New function, from sha1.c
61995         (md5_read_ctx): Use it.
61996         (md5_finish_ctx): Doc fix.
61997         * lib/md5.h: Doc fix.
61998
61999 2008-01-30  Peter Palfrader  <weasel@debian.org>
62000
62001         sha1: remove the result buffer alignment constraint
62002         * lib/sha1.c (set_uint32): New function.
62003         (sha1_read_ctx): Rewrite to remove the result buffer alignment
62004         constraint.
62005         (sha1_finish_ctx): Remove comment warning about alignment constraint.
62006         * lib/sha1.h: Likewise.
62007
62008 2008-01-30  Andreas Schwab  <schwab@suse.de>
62009             Bruno Haible  <bruno@clisp.org>
62010
62011         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
62012         correct definition of LDBL_MIN_EXP.
62013
62014 2008-01-30  Karl Berry  <karl@gnu.org>
62015
62016         * config/srclist-update: try to preserve x bit on updates.
62017         * config/srclistvars.sh: update for karl.
62018
62019 2008-01-29  Jim Meyering  <meyering@redhat.com>
62020
62021         vasnprintf.c: Avoid warning about unused label
62022         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
62023         "overflow" label definition and associated code with the
62024         same cpp condition that guards the sole use of that label.
62025
62026 2008-01-26  Bruno Haible  <bruno@clisp.org>
62027
62028         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
62029         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
62030         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
62031         * lib/isnanl-nolibm.h (isnanl): Likewise.
62032         Reported by Paul Eggert <eggert@cs.ucla.edu>.
62033
62034 2008-01-26  Bruno Haible  <bruno@clisp.org>
62035
62036         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
62037         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
62038
62039 2008-01-26  Bruno Haible  <bruno@clisp.org>
62040
62041         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
62042         GCC >= 4.0 built-in.
62043         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
62044
62045 2008-01-26  Bruno Haible  <bruno@clisp.org>
62046
62047         Rename isnan, applicable to 'double' only, to isnand.
62048         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
62049         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
62050         (configure.ac): Update.
62051         (Include): Replace "isnan.h" with "isnand.h".
62052         * m4/isnand.m4: Renamed from m4/isnan.m4.
62053         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
62054         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
62055         instead of isnan.c.
62056         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
62057         instead of HAVE_ISNAN_IN_LIBC.
62058         (isnand): Renamed from isnan.
62059         * lib/isnand.c: New file.
62060         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
62061         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
62062         (Makefile.am): Update.
62063         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
62064         Include isnand.h instead of isnan.h.
62065         (main): Test isnand instead of isnan.
62066         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
62067         isnan-nolibm.
62068         * modules/frexp (Depends-on): Likewise.
62069         * modules/frexp-tests (Depends-on): Likewise.
62070         * modules/frexp-nolibm (Depends-on): Likewise.
62071         * modules/frexp-nolibm-tests (Depends-on): Likewise.
62072         * modules/isfinite (Depends-on): Likewise.
62073         * modules/round-tests (Depends-on): Likewise.
62074         * modules/signbit (Depends-on): Likewise.
62075         * modules/signbit-tests (Depends-on): Likewise.
62076         * modules/snprintf-posix (Depends-on): Likewise.
62077         * modules/sprintf-posix (Depends-on): Likewise.
62078         * modules/trunc-tests (Depends-on): Likewise.
62079         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
62080         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
62081         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
62082         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
62083         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
62084         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
62085         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
62086         * modules/vasnprintf-posix (Depends-on): Likewise.
62087         * modules/vasprintf-posix (Depends-on): Likewise.
62088         * modules/vfprintf-posix (Depends-on): Likewise.
62089         * modules/vsnprintf-posix (Depends-on): Likewise.
62090         * modules/vsprintf-posix (Depends-on): Likewise.
62091         * lib/frexp.c: Include isnand.h instead of isnan.h.
62092         (ISNAN): Set to isnand instead of isnan.
62093         * lib/isfinite.c: Include isnand.h instead of isnan.h.
62094         (gl_isfinited): Use isnand instead of isnan.
62095         * lib/signbitd.c: Include isnand.h instead of isnan.h.
62096         (gl_signbitd): Use isnand instead of isnan.
62097         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
62098         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
62099         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
62100         (main): Use isnand instead of isnan.
62101         * tests/test-round1.c: Include isnand.h.
62102         (main): Use isnand instead of isnan.
62103         * tests/test-round2.c: Include isnand.h instead of isnan.h.
62104         (ISNAN): Set to isnand instead of isnan.
62105         * tests/test-trunc1.c: Include isnand.h.
62106         (main): Use isnand instead of isnan.
62107         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
62108         (equal): Use isnand instead of isnan.
62109         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
62110         isnand-nolibm.
62111         * NEWS: Mention the change.
62112
62113 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
62114             Bruno Haible  <bruno@clisp.org>
62115
62116         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
62117         the GCC builtins for signbits are present and set
62118         REPLACE_SIGNBIT_USING_GCC if so.
62119         * lib/math.in.h (signbit): Define using GCC builtins if
62120         REPLACE_SIGNBIT_USING_GCC is set.
62121         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
62122         REPLACE_SIGNBIT_USING_GCC.
62123         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
62124
62125 2008-01-25  Jim Meyering  <meyering@redhat.com>
62126
62127         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
62128         * lib/poll.c: Include <config.h>, not "config.h".
62129         * tests/test-getaddrinfo.c: Likewise.
62130
62131 2008-01-25  Simon Josefsson  <simon@josefsson.org>
62132
62133         * modules/sockets-tests: New file.
62134
62135 2008-01-24  Simon Josefsson  <simon@josefsson.org>
62136
62137         * modules/sockets: New module, can be used to call WSA_Startup and
62138         WSA_Cleanup when needed.
62139
62140         * lib/sockets.h, lib/sockets.c: New files.
62141
62142         * m4/sockets.m4: New file.
62143
62144         * tests/test-sockets.c: New file.
62145
62146 2008-01-19  Bruno Haible  <bruno@clisp.org>
62147
62148         * doc/posix-headers: Renamed from doc/headers.
62149         * doc/posix-functions: Renamed from doc/functions.
62150         * doc/gnulib.texi: Update.
62151
62152 2008-01-19  Bruno Haible  <bruno@clisp.org>
62153
62154         * doc/glibc-functions/strcasestr.texi: Include contents of
62155         doc/functions/strcasestr.texi, fixing the list of platforms.
62156         * doc/functions/strcasestr.texi: Remove file.
62157
62158 2008-01-19  Bruno Haible  <bruno@clisp.org>
62159
62160         * doc/glibc-functions/memmem.texi: Include contents of
62161         doc/functions/memmem.texi.
62162         * doc/functions/memmem.texi: Remove file.
62163
62164 2008-01-18  Bruno Haible  <bruno@clisp.org>
62165
62166         * doc/glibc-functions/*.texi: New files.
62167         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
62168         to use the new files.
62169
62170 2008-01-17  Bruno Haible  <bruno@clisp.org>
62171
62172         * tests/test-gethostname.c (main): Fix printf statement.
62173
62174 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62175
62176         * modules/gethostname-tests: New file.
62177
62178         * tests/test-gethostname.c: New file.
62179
62180 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62181
62182         * lib/gethostname.c: Include string.h unconditionally, strncpy is
62183         used by the UNAME case.  Reported by Bruno Haible
62184         <bruno@clisp.org>.
62185
62186 2008-01-17  Eric Blake  <ebb9@byu.net>
62187
62188         Convert c-strcasestr to be more efficient.
62189         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
62190         (Depends-on): Add c-strcase, remove malloca, strnlen.
62191         * tests/test-c-strcasestr.c (main): Enhance test.
62192         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
62193
62194 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
62195
62196         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
62197         Use it in creating po/Makevars.
62198
62199 2008-01-15  Simon Josefsson  <simon@josefsson.org>
62200
62201         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
62202         Applications that requires it should initialize libgcrypt
62203         manually.
62204
62205 2008-01-16  Simon Josefsson  <simon@josefsson.org>
62206
62207         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
62208
62209 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
62210
62211         Fix problem with getdate on mingw32 reported by Simon Josefsson
62212         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
62213         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
62214         tzname", when deciding whether to declare tzname.
62215         * lib/strftime.c (tzname): Likewise.
62216
62217 2008-01-15  Bruno Haible  <bruno@clisp.org>
62218
62219         Work around a MacOS X 10.5 bug in frexpl().
62220         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
62221         * doc/functions/frexpl.texi: Document the bug.
62222         Reported by Elias Pipping <pipping@gentoo.org>.
62223
62224 2008-01-14  Eric Blake  <ebb9@byu.net>
62225
62226         Touch up previous patch.
62227         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
62228         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
62229
62230         Convert strcasestr module to use Two-Way algorithm.
62231         * modules/strcasestr-simple: New module, based on the old
62232         strcasestr, but with Two-Way rather than KMP.
62233         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
62234         * lib/string.in.h (rpl_strcasestr): Declare.
62235         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
62236         performance.
62237         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
62238         * modules/string (Makefile.am): Support strcasestr.
62239         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
62240         * modules/strcasestr-tests (Depends-on): Check for alarm.
62241         * tests/test-strcasestr.c: Augment test.
62242         * lib/str-two-way.h: Clean up stray macro.
62243         * NEWS: Document new module.
62244         * MODULES.html.sh (string handling): Likewise.
62245         * doc/functions/strcasestr.texi: New file.
62246         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
62247         here, since it is not a POSIX function.
62248
62249 2008-01-14  Colin Watson  <cjwatson@debian.org>
62250             Bruno Haible  <bruno@clisp.org>
62251
62252         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
62253         works fine; if not, set REPLACE_STRSIGNAL.
62254         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
62255         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62256         REPLACE_STRSIGNAL.
62257         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
62258         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
62259         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
62260
62261 2008-01-14  Bruno Haible  <bruno@clisp.org>
62262
62263         * modules/strsignal (Include): Change to <string.h>.
62264
62265 2008-01-14  Colin Watson  <cjwatson@debian.org>
62266
62267         * modules/argp (Notice): Add a notice recommending to change
62268         XGETTEXT_OPTIONS.
62269         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
62270
62271 2008-01-13  Colin Watson  <cjwatson@debian.org>
62272
62273         * modules/strsignal-tests: New file.
62274         * tests/test-strsignal.c: New file.
62275
62276         * lib/strsignal.c: New file, from glibc with modifications.
62277         * lib/siglist.h: New file, from glibc with modifications.
62278         * lib/string.in.h (strsignal): New declaration.
62279         * m4/strsignal.m4: New file.
62280         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62281         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
62282         * modules/strsignal: New file.
62283         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
62284         HAVE_DECL_STRSIGNAL.
62285
62286 2008-01-13  Bruno Haible  <bruno@clisp.org>
62287
62288         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
62289         locale encoding is not ASCII. Needed for OpenBSD 4.0.
62290         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
62291         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62292
62293 2008-01-13  Bruno Haible  <bruno@clisp.org>
62294
62295         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
62296         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
62297         * lib/argp.h (__attribute__): Likewise.
62298         * lib/c-stack.c (__attribute__): Likewise.
62299         * lib/error.h (__attribute__): Likewise.
62300         * lib/fts.c (__attribute__): Likewise.
62301         * lib/openat.h (__attribute__): Likewise.
62302         * lib/stdio.in.h (__attribute__): Likewise.
62303         * lib/string.in.h (__attribute__): Likewise.
62304         * lib/utimens.c (__attribute__): Likewise.
62305         * lib/vasnprintf.h (__attribute__): Likewise.
62306         * lib/xalloc.h (__attribute__): Likewise.
62307         * lib/xprintf.h (__attribute__): Likewise.
62308         * lib/xstrtol.h (__attribute__): Likewise.
62309         * lib/xvasprintf.h (__attribute__): Likewise.
62310
62311 2008-01-12  Bruno Haible  <bruno@clisp.org>
62312
62313         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
62314         * doc/glibc-headers/a.out.texi: New file.
62315         * doc/glibc-headers/aliases.texi: New file.
62316         * doc/glibc-headers/alloca.texi: New file.
62317         * doc/glibc-headers/ar.texi: New file.
62318         * doc/glibc-headers/argp.texi: New file.
62319         * doc/glibc-headers/argz.texi: New file.
62320         * doc/glibc-headers/byteswap.texi: New file.
62321         * doc/glibc-headers/crypt.texi: New file.
62322         * doc/glibc-headers/endian.texi: New file.
62323         * doc/glibc-headers/envz.texi: New file.
62324         * doc/glibc-headers/err.texi: New file.
62325         * doc/glibc-headers/error.texi: New file.
62326         * doc/glibc-headers/execinfo.texi: New file.
62327         * doc/glibc-headers/fpu_control.texi: New file.
62328         * doc/glibc-headers/fstab.texi: New file.
62329         * doc/glibc-headers/fts.texi: New file.
62330         * doc/glibc-headers/getopt.texi: New file.
62331         * doc/glibc-headers/ieee754.texi: New file.
62332         * doc/glibc-headers/ifaddrs.texi: New file.
62333         * doc/glibc-headers/libintl.texi: New file.
62334         * doc/glibc-headers/mcheck.texi: New file.
62335         * doc/glibc-headers/mntent.texi: New file.
62336         * doc/glibc-headers/obstack.texi: New file.
62337         * doc/glibc-headers/paths.texi: New file.
62338         * doc/glibc-headers/printf.texi: New file.
62339         * doc/glibc-headers/pty.texi: New file.
62340         * doc/glibc-headers/resolv.texi: New file.
62341         * doc/glibc-headers/shadow.texi: New file.
62342         * doc/glibc-headers/sysexits.texi: New file.
62343         * doc/glibc-headers/ttyent.texi: New file.
62344
62345 2008-01-12  Jim Meyering  <meyering@redhat.com>
62346
62347         announce-gen: emit Gnulib's git-based version string.
62348         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
62349         New option --gnulib-version=V, where V is expected to be
62350         the output of running git describe in the gnulib directory.
62351         (get_tool_versions): Request feedback on xdelta.  I suspect it's
62352         not useful, and plan to stop publishing an xdelta file with each
62353         coreutils release.
62354
62355         * build-aux/announce-gen: Also check for lzma-compressed files.
62356
62357 2008-01-11  Bruno Haible  <bruno@clisp.org>
62358
62359         * tests/test-memmem.c (main): Increase maximum allowed time.
62360         * tests/test-strstr.c (main): Likewise.
62361
62362 2008-01-11  Bruno Haible  <bruno@clisp.org>
62363
62364         * doc/functions/memmem.texi: Add more precisions about platforms.
62365         * doc/functions/strstr.texi: Likewise.
62366
62367 2008-01-10  Eric Blake  <ebb9@byu.net>
62368
62369         * m4/strstr.m4: Delete cruft from copy-n-paste.
62370         Reported by Bruno Haible.
62371
62372 2008-01-10  Bruno Haible  <bruno@clisp.org>
62373
62374         Make c-strstr rely on strstr.
62375         * lib/c-strstr.c: Don't include str-kmp.h.
62376         (c_strstr): Define in terms of strstr.
62377         * modules/c-strstr (Files): Remove lib/str-kmp.h.
62378         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
62379
62380 2008-01-10  Bruno Haible  <bruno@clisp.org>
62381
62382         * doc/gnulib.texi (String Functions in C Locale): New section.
62383         * doc/c-ctype.texi: New file.
62384         * doc/c-strcase.texi: New file.
62385         * doc/c-strcaseeq.texi: New file.
62386         * doc/c-strcasestr.texi: New file.
62387         * doc/c-strstr.texi: New file.
62388         * doc/c-strtod.texi: New file.
62389         * doc/c-strtold.texi: New file.
62390
62391 2008-01-10  Eric Blake  <ebb9@byu.net>
62392
62393         * lib/relocatable.h: Fix a comment.
62394
62395 2008-01-10  Eric Blake  <ebb9@byu.net>
62396
62397         Share two-way algorithm.
62398         * lib/str-two-way.h: New file, merged from...
62399         * lib/memmem.c: ...here...
62400         * lib/strstr.c: ...and here.
62401         * modules/memmem (Files): Use it.
62402         * modules/strstr (Files): Likewise.
62403
62404         Avoid quadratic strstr implementations.
62405         * lib/strstr.c: New file.
62406         * m4/strstr.m4: Likewise.
62407         * modules/strstr: Likewise.
62408         * modules/strstr-tests: Likewise.
62409         * tests/test-strstr.c: Likewise.
62410         * lib/string.in.h (rpl_strstr): Declare.
62411         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
62412         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
62413         * modules/string (Makefile.am): Likewise.
62414         * MODULES.html.sh (string handling): Mention new module.
62415         * doc/functions/strstr.texi (strstr): Document the bug.
62416
62417 2008-01-10  Bruno Haible  <bruno@clisp.org>
62418
62419         * lib/relocatable.h (relocate): State whether result is freshly
62420         allocated or not.
62421         * lib/relocatable.c (relocate): Return a freshly allocated string
62422         instead of a pointer to a privately held string.
62423         Reported by Sylvain Beucler <beuc@gnu.org>.
62424
62425 2008-01-10  Colin Watson  <cjwatson@debian.org>
62426
62427         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
62428         s/S_ISNLK/S_ISLNK/.
62429
62430 2008-01-09  Bruno Haible  <bruno@clisp.org>
62431
62432         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
62433         and other files.
62434         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
62435         if it's only a guess.
62436         * modules/memmem: Simplify by depending on memmem-simple.
62437
62438 2008-01-09  Bruno Haible  <bruno@clisp.org>
62439
62440         Work around OpenBSD 4.0 tdelete() bug.
62441         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
62442         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
62443         macros and don't redefine the enum values.
62444         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
62445         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
62446         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
62447
62448 2008-01-09  Bruno Haible  <bruno@clisp.org>
62449
62450         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
62451         (main): Don't perform the tests if setlocale did not install a UTF-8
62452         locale. Needed on OpenBSD 4.0.
62453         * modules/wcwidth-tests (Depends-on): Add localcharset.
62454
62455 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62456
62457         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
62458         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
62459         * NEWS: announce this.
62460         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
62461
62462 2008-01-09  Simon Josefsson  <simon@josefsson.org>
62463         and Eric Blake  <ebb9@byu.net>
62464
62465         Add memmem-simple module.
62466         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
62467         (gl_FUNC_MEMMEM): Separate performance from presence checks.
62468         * modules/memmem-simple: New file.
62469         * modules/memmem (Description): Tweak.
62470         * MODULES.html.sh (string handling): Mention new module.
62471         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
62472         addressed by memmem-simple.
62473         * NEWS: Document the difference.
62474
62475 2008-01-09  Eric Blake  <ebb9@byu.net>
62476
62477         Give gcc some memmem optimization hints.
62478         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
62479         (strcasestr): Declare as pure.
62480         * modules/memmem (Maintainer): Claim my implementation.
62481
62482 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62483
62484         Support AIX 6.1 and higher.
62485         * build-aux/config.libpath: Likewise.
62486         * build-aux/config.rpath: Likewise.
62487
62488 2008-01-08  Jim Meyering  <meyering@redhat.com>
62489             Bruno Haible  <bruno@clisp.org>
62490
62491         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
62492         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
62493         Reported by Peter Fales in
62494         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
62495
62496 2008-01-08  Bruno Haible  <bruno@clisp.org>
62497
62498         * modules/unictype/category-of (Depends-on): Add
62499         unictype/category-none.
62500         * modules/unictype/category-and-tests (Depends-on): Add
62501         unictype/category-{L,N,Lu,Nd}.
62502         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
62503         * modules/unictype/category-or-tests (Depends-on): Add
62504         unictype/category-{L,N}.
62505         * modules/unictype/category-name-tests (Depends-on): Add
62506         unictype/category-{Z,Nl}.
62507         Reported by Simon Josefsson.
62508
62509 2008-01-08  Bruno Haible  <bruno@clisp.org>
62510
62511         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
62512         convention better.
62513         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
62514         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
62515         Reported by Peter Miller <millerp@canb.auug.org.au>.
62516
62517 2008-01-08  Eric Blake  <ebb9@byu.net>
62518
62519         Rewrite memmem to guarantee linear complexity without malloc.
62520         * lib/memmem.c (memmem): Use Two-Way rather than
62521         Knuth-Morris-Pratt, to allow O(1) space usage.
62522         (critical_factorization, two_way_short_needle)
62523         (two_way_long_needle): New functions.
62524         (knuth_morris_pratt): Delete.
62525         * modules/memmem (Depends-on): No longer need malloca or stdbool.
62526         Add stdint.
62527         * tests/test-memmem.c (main): Add tests for periodic needle and
62528         sublinear performance.
62529         * doc/functions/memmem.texi (memmem): Document other deficiencies
62530         in cygwin and older glibc.
62531
62532 2008-01-08  Bruno Haible  <bruno@clisp.org>
62533
62534         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
62535         augmentation.
62536
62537 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
62538
62539         Add a configure time option: --disable-acl.
62540         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
62541         AC_ARG_ENABLE(acl).
62542
62543 2008-01-06  Simon Josefsson  <simon@josefsson.org>
62544
62545         * tests/test-localename.c: Don't include obsolete "setenv.h".
62546
62547         * modules/localename-tests (Depends-on): Need unsetenv.
62548
62549 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62550
62551         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
62552
62553 2008-01-06  Colin Watson  <cjwatson@debian.org>
62554
62555         * users.txt: Add man-db.
62556
62557 2008-01-07  Bruno Haible  <bruno@clisp.org>
62558
62559         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
62560         previous section name.
62561
62562 2008-01-07  Bruno Haible  <bruno@clisp.org>
62563
62564         * lib/progname.c (set_program_name): Don't strip off a leading
62565         "lt-" prefix outside a .libs directory.
62566         Suggested by Paul Eggert.
62567
62568 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
62569             Bruno Haible  <bruno@clisp.org>
62570
62571         Improve memory cleanup in 'relocatable' module.
62572         * lib/relocatable.h (compute_curr_prefix): Change return type to
62573         'char *'.
62574         * lib/relocatable.c (compute_curr_prefix): Change return type to
62575         'char *'. Free curr_installdir after use.
62576         (relocate): Free curr_prefix_better after use.
62577         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
62578
62579 2008-01-01  Bruno Haible  <bruno@clisp.org>
62580
62581         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
62582         failure on older glibc systems.
62583         Reported by Peter Fales <psfales@alcatel-lucent.com>.
62584
62585 2008-01-05  Eric Blake  <ebb9@byu.net>
62586
62587         Avoid quadratic system memmem.
62588         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
62589         Reported by Ralf Wildenhues.
62590
62591         Fix memmem test for mingw.
62592         * modules/memmem-tests (configure.ac): Check for alarm.
62593         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
62594         it.
62595         * doc/functions/memmem.texi: New file.
62596         * doc/gnulib.texi (Function Substitutes): Add memmem.
62597         Reported by Bruno Haible.
62598
62599 2008-01-04  Bruno Haible  <bruno@clisp.org>
62600
62601         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
62602         Require gl_HEADER_STRINGS_H_DEFAULTS, not
62603         gl_HEADER_STRING_H_DEFAULTS.
62604
62605 2008-01-04  Eric Blake  <ebb9@byu.net>
62606
62607         Shorten duration of memmem test.
62608         * tests/test-memmem.c (main): Use alarm to declare failure if test
62609         is taking too long.
62610         Reported by Ralf Wildenhues.
62611
62612 2007-12-21  Simon Josefsson  <simon@josefsson.org>
62613
62614         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
62615         string, needed by strerror.
62616
62617 2008-01-03  Colin Watson  <cjwatson@debian.org>
62618             Bruno Haible  <bruno@clisp.org>
62619
62620         * doc/gnulib-tool.texi (Localization): New section.
62621
62622 2008-01-02  Bruno Haible  <bruno@clisp.org>
62623
62624         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
62625         variables to 'unsigned char *' type.
62626         Reported by Paul Eggert.
62627
62628 2008-01-02  Jim Meyering  <jim@meyering.net>
62629
62630         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
62631
62632 2007-12-31  Jim Meyering  <jim@meyering.net>
62633
62634         Avoid use of private FTS type name.
62635         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
62636
62637 2007-12-30  Karl Berry  <karl@gnu.org>
62638
62639         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
62640         work around defect in Texinfo and/or the standalone Info browser.
62641
62642 2007-12-30  Bruno Haible  <bruno@clisp.org>
62643
62644         Unify 5 copies of the KMP code.
62645         * lib/str-kmp.h: New file.
62646         * lib/c-strcasestr.c: Include str-kmp.h.
62647         (knuth_morris_pratt): Remove function.
62648         (c_strcasestr): Update.
62649         * lib/c-strstr.c: Include str-kmp.h.
62650         (knuth_morris_pratt): Remove function.
62651         (c_strcasestr): Update.
62652         * lib/mbscasestr.c: Include str-kmp.h.
62653         (knuth_morris_pratt_unibyte): Remove function.
62654         * lib/mbsstr.c: Include str-kmp.h.
62655         (knuth_morris_pratt_unibyte): Remove function.
62656         * lib/strcasestr.c: Include str-kmp.h.
62657         (knuth_morris_pratt): Remove function.
62658         (strcasestr): Update.
62659         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
62660         * modules/c-strstr (Files): Likewise.
62661         * modules/mbscasestr (Files): Likewise.
62662         * modules/mbsstr (Files): Likewise.
62663         * modules/strcasestr (Files): Likewise.
62664         Suggested by Paul Eggert.
62665
62666 2007-12-30  Bruno Haible  <bruno@clisp.org>
62667
62668         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
62669         defined.
62670
62671 2007-12-30  Bruno Haible  <bruno@clisp.org>
62672
62673         * lib/xmalloca.h: Include xalloc.h.
62674         (xnmalloca): New macro.
62675
62676 2007-12-30  Bruno Haible  <bruno@clisp.org>
62677
62678         * lib/malloca.h (nmalloca): New macro.
62679         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
62680         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
62681         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
62682         knuth_morris_pratt_multibyte): Likewise.
62683         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
62684         knuth_morris_pratt_multibyte): Likewise.
62685         * lib/memmem.c (knuth_morris_pratt): Likewise.
62686         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
62687
62688 2007-12-25  Bruno Haible  <bruno@clisp.org>
62689
62690         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
62691         * lib/glob.c: Don't include openat.h.
62692         (link_exists2_p): Add back the code that deals with the
62693         !GLOB_ALTDIRFUNC case.
62694         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
62695         let it do the filename concatenation.
62696         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
62697         * modules/glob (Depends-on): Remove openat.
62698
62699 2007-12-31  Bruno Haible  <bruno@clisp.org>
62700
62701         * modules/dirfd (License): Change to LGPLv2+.
62702         Approved by Jim Meyering.
62703
62704 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
62705
62706         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
62707         when multiplying M by sizeof (size_t).
62708
62709 2007-12-10  Martin Lambers  <marlam@marlam.de>
62710
62711         Override getpagesize on mingw.
62712         * lib/getpagesize.c: New file.
62713         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
62714         * modules/getpagesize (Files): Add lib/getpagesize.c.
62715         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
62716         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
62717         REPLACE_GETPAGESIZE.
62718         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
62719
62720 2007-12-25  Bruno Haible  <bruno@clisp.org>
62721
62722         * modules/localcharset (Notice): New field.
62723         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
62724         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
62725
62726 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
62727             Bruno Haible  <bruno@clisp.org>
62728
62729         Avoid using the syntax symbol() in formatted documentation.
62730         * MODULES.html.sh (func_module): When replacing symbol() with a
62731         hyperlink, remove the parentheses. Show an error if some remain.
62732         Recognize and render the '...' syntax.
62733         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
62734         Rework. Add paragraph about GCC's inlining.
62735         * doc/alloca.texi: Likewise.
62736         * doc/error.texi: Remove parentheses from symbol reference.
62737         * doc/gnulib-intro.texi: Likewise.
62738         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
62739         * modules/fnmatch (Description): Reword to say "the ... function".
62740         * modules/full-read (Description): Likewise.
62741         * modules/full-write (Description): Likewise.
62742         * modules/safe-read (Description): Likewise.
62743         * modules/safe-write (Description): Likewise.
62744         * modules/strchrnul (Description): Likewise.
62745         * modules/trim (Description): Likewise.
62746         * modules/error (Description): Remove parentheses from symbol
62747         references.
62748         * modules/verror (Description): Likewise.
62749         Reported by Karl Berry.
62750
62751 2007-12-25  Bruno Haible  <bruno@clisp.org>
62752
62753         Fixup after 2007-10-16 commit.
62754         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
62755
62756 2007-12-24  Bruno Haible  <bruno@clisp.org>
62757
62758         Make --enable-relocatable work with DESTDIR.
62759         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
62760         to compute installdir from destprog.
62761         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
62762         also set the RELOC_DESTDIR variable.
62763         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62764
62765 2007-12-24  Bruno Haible  <bruno@clisp.org>
62766
62767         Fix link error due to xalloc_die().
62768         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
62769         of xreadlink.
62770         * lib/relocwrapper.c: Update comments.
62771         * build-aux/install-reloc: Remove xreadlink.c from file list.
62772         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
62773         xreadlink.c.
62774         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62775
62776 2007-12-24  Bruno Haible  <bruno@clisp.org>
62777
62778         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
62779         * lib/setenv.h: Remove file.
62780         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
62781         lib/setenv.h.
62782         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
62783         (Depends-on): Add stdlib.
62784         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
62785         gl_FUNC_UNSETENV.
62786         (Include): Replace setenv.h with <stdlib.h>.
62787         * modules/unsetenv: New file.
62788         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
62789         * lib/unsetenv.c: Include <stdlib.h> first.
62790         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
62791         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
62792         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
62793         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
62794         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
62795         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
62796         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
62797         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
62798         * doc/functions/unsetenv.texi: Update.
62799         * modules/xsetenv (Depends-on): Add unsetenv.
62800         * modules/getdate (Depends-on): Likewise.
62801         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
62802         * lib/xsetenv.c: Don't include setenv.h.
62803         * lib/getdate.y: Likewise.
62804         * lib/relocwrapper.c: Likewise.
62805         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
62806         (Depends-on): Add stdlib.
62807         * NEWS: Mention the changes.
62808         Reported by Ð›ÐµÐ²Ð°ÑˆÐµÐ² Ð˜Ð²Ð°Ð½ <octagram@bluebottle.com>.
62809
62810 2007-12-23  Bruno Haible  <bruno@clisp.org>
62811
62812         * lib/memmem.c (memmem): Use lowercase variable names. Tab
62813         indentation.
62814
62815 2007-12-23  Bruno Haible  <bruno@clisp.org>
62816
62817         * lib/c-strcasestr.c: Add more comments.
62818         * lib/c-strstr.c: Likewise.
62819         * lib/mbscasestr.c: Likewise.
62820         * lib/mbsstr.c: Likewise.
62821         * lib/strcasestr.c: Likewise.
62822         * lib/memmem.c: Likewise.
62823
62824 2007-12-23  Bruno Haible  <bruno@clisp.org>
62825
62826         * tests/test-memmem.c: Include <string.h> first.
62827
62828 2007-12-22  Bruno Haible  <bruno@clisp.org>
62829
62830         * gnulib-tool (func_create_testdir): Change $auxdir while generating
62831         the contents of $testsbase.
62832         Reported by Ralf Wildenhues.
62833
62834 2007-12-22  Bruno Haible  <bruno@clisp.org>
62835
62836         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
62837         two variables local_ldadd_before, local_ldadd_last.
62838
62839 2007-12-20  Eric Blake  <ebb9@byu.net>
62840
62841         Work around circular library issue when cross-compiling.
62842         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
62843         that progname.o does not need to pull in rpl_memcmp.
62844
62845 2007-12-19  Eric Blake  <ebb9@byu.net>
62846
62847         Fix memmem to avoid O(n^2) worst-case complexity.
62848         * lib/memmem.c (knuth_morris_pratt): New function.
62849         (memmem): Use it if first few naive iterations fail.
62850         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
62851         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
62852         * modules/memchr (License): Likewise.
62853         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
62854         malloca.
62855         * tests/test-memmem.c: Rewrite, borrowing ideas from
62856         test-mbsstr1.c; the old version wouldn't even compile!
62857         * modules/memmem-tests: New file.
62858         * lib/string.in.h (rpl_memmem): Add declaration.
62859         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
62860         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
62861         REPLACE_MEMMEM.
62862
62863 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
62864
62865         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
62866         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
62867         before any system include files, and undef after them all.  This
62868         should fix a problem on VMS reported by John E. Malmberg in
62869         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
62870
62871 2007-12-17  Eric Blake  <ebb9@byu.net>
62872
62873         Revert addition of verify, for BSD/OS.
62874         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
62875         can't handle large files, for the sake of obsolete platforms.
62876         * modules/fseeko (Depends-on): Remove verify.
62877         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
62878         * doc/functions/ftello.texi (ftello): Likewise.
62879         * doc/functions/fgetpos.texi (fgetpos): Likewise.
62880         Reported by Larry Jones.
62881
62882 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
62883
62884         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
62885         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
62886
62887 2007-12-17  Jim Meyering  <meyering@redhat.com>
62888
62889         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
62890         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
62891         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
62892         * modules/getcwd (Depends-on): Add openat.
62893         Reported by Petr Salinger.
62894
62895 2007-12-17  Bruno Haible  <bruno@clisp.org>
62896
62897         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
62898         avoid a segmentation fault of the configure test on x86_64 systems.
62899
62900 2007-12-15  Jim Meyering  <meyering@redhat.com>
62901
62902         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
62903
62904 2007-12-13  Eric Blake  <ebb9@byu.net>
62905
62906         Another fseek test.
62907         * tests/test-fseek.c (main): Also test ungetc handling.
62908         * tests/test-fseeko.c (main): Likewise.
62909         * modules/fseeko (Depends-on): Add verify.
62910         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
62911         large.
62912         Reported by Larry Jones.
62913
62914         Fix fseeko on mingw.
62915         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
62916         seek.
62917
62918         Beef up fseek tests.
62919         * tests/test-fseek.c (main): Also test eof handling.
62920         * tests/test-fseeko.c (main): Likewise.
62921         Reported by Larry Jones.
62922
62923 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
62924
62925         Fix fseeko on BSD-based platforms.
62926         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
62927         successful seek.
62928
62929 2007-12-12  Eric Blake  <ebb9@byu.net>
62930
62931         Allow circular dependency of separate libtests.a
62932         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
62933         when use_libtests.
62934
62935 2007-12-11  Eric Blake  <ebb9@byu.net>
62936
62937         Fix bug with -0.0L in previous patch.
62938         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
62939         * tests/test-isnan.c (main): Also test on zeroes.
62940         * tests/test-isnanf.c (main): Likewise.
62941         * tests/test-isnanl.h (main): Likewise.
62942
62943         Detect pseudo-denormals on x86 even when cross-compiling.
62944         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
62945         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
62946         invalid bit patterns that happen to satisfy ==.
62947
62948         Avoid link failures with separate libtests.a.
62949         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
62950         last, to satisfy circular dependencies.
62951
62952 2007-12-11  Eric Blake  <ebb9@byu.net>
62953         and Bruno Haible  <bruno@clisp.org>
62954
62955         Fix OpenBSD 4.0 <float.h> handling of long double.
62956         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
62957         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
62958         * doc/headers/float.texi (float.h): Document OpenBSD bug.
62959
62960 2007-12-11  Jim Meyering  <meyering@redhat.com>
62961
62962         * users.txt: Add libvirt.
62963
62964         Support versions of autoconf prior to 2.59c.
62965         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
62966         if it is not already defined.
62967
62968 2007-12-09  Bruno Haible  <bruno@clisp.org>
62969
62970         Let 'gnulib-tool --import' collect sources needed for the tests in
62971         tests/ rather than in lib/.
62972         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
62973         argument. If true, add rules to generate libtests.a, and put libtests.a
62974         into $(LDADD). Consider source files in subdirectories and set
62975         uses_subdirs.
62976         (func_emit_initmacro_start, func_emit_initmacro_end,
62977         func_emit_initmacro_done): Pass all arguments explicitly.
62978         (func_import): Determine two module lists main_modules,
62979         testsrelated_modules. Determine use_libtests. Determine two variables
62980         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
62981         instead of just sed_transform_lib_file. Determine two variables
62982         main_files and testsrelated_files. Compute 'files' as the union of
62983         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
62984         func_add_or_update. In the generated gnulib-comp.m4, collect the
62985         object files for tests/ in different variables than those for lib/.
62986         Substitute LIBTESTS_LIBDEPS.
62987         (func_create_testdir): Combine the uses_subdirs results from
62988         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
62989
62990 2007-12-09  Bruno Haible  <bruno@clisp.org>
62991
62992         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
62993         the build-aux directory.
62994
62995 2007-12-09  Bruno Haible  <bruno@clisp.org>
62996
62997         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
62998         introduced on 2006-09-09.
62999
63000 2007-12-07  Jim Meyering  <meyering@redhat.com>
63001
63002         Let these macros work also with autoconf-2.59.
63003         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
63004         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
63005         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63006
63007 2007-12-06  Jim Meyering  <meyering@redhat.com>
63008
63009         Avoid a configure-time syntax error in gl_FUNC_ACL.
63010         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
63011         function in each branch, before testing the cache variable.
63012
63013 2007-12-04  Eric Blake  <ebb9@byu.net>
63014
63015         Make scripts executable.
63016         * build-aux/config.guess: Add execute permissions.
63017         * build-aux/config.sub: Likewise.
63018         * build-aux/gendocs.sh: Likewise.
63019
63020         Fix frexp on mingw.
63021         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
63022         cross-compiling.
63023         * doc/functions/frexp.texi (frexp): Document the bug.
63024
63025         Make cygwin fseeko check more reliable.
63026         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
63027         version numbers, rather than unrelated feature check.
63028         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
63029         * doc/functions/ftello.texi (ftello): Likewise.
63030         Reported by Bruno Haible.
63031
63032         * m4/strerror.m4: Bump version number.
63033
63034 2007-12-03  Bruno Haible  <bruno@clisp.org>
63035
63036         * doc/functions/mprotect.texi: Mention the mingw problem.
63037
63038 2007-12-03  Eric Blake  <ebb9@byu.net>
63039
63040         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
63041         REPLACE_STRERROR is initialized before this macro.
63042
63043 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
63044
63045         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
63046         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
63047         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
63048         put -lsec in even for programs other than 'ls'.  This fixes a problem
63049         for gettext reported by Bruno Haible in
63050         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
63051         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
63052         Add support for Solaris 10.  This isn't efficient, but should get the
63053         job done for now.
63054
63055 2007-12-03  James Youngman  <jay@gnu.org>
63056
63057         * doc/regexprops-generic.texi: change "an close-group" to "a
63058         close-group" and "illegal" to "not allowed".
63059
63060 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63061
63062         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
63063         pr_byname.h. Needed for the rare case when the maintainer has done
63064         "make maintainer-clean" in the source directory and then attempts a
63065         build outside the source directory.
63066         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
63067         scripts_byname.h.
63068
63069 2007-12-02  Martin Lambers <marlam@marlam.de>
63070             Bruno Haible  <bruno@clisp.org>
63071
63072         * lib/getpagesize.h: Remove file.
63073         * lib/unistd.in.h: Include declaration of getpagesize here.
63074         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
63075         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
63076         HAVE_SYS_PARAM_H.
63077         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
63078         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63079         * modules/getpagesize (Files): Remove lib/getpagesize.h.
63080         (Depends-on): Add unistd.
63081         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63082         (Include): Use <unistd.h> instead of getpagesize.h.
63083         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
63084         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63085         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
63086         gl_GETPAGESIZE invocation, already handled by module dependency.
63087         * lib/pagealign_alloc.c: Don't include getpagesize.h.
63088
63089 2007-12-02  Bruno Haible  <bruno@clisp.org>
63090
63091         * modules/strings-tests: New file.
63092         * tests/test-strings.c: New file.
63093
63094         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
63095         * lib/strings.in.h: New file.
63096         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
63097         * m4/strings_h.m4: New file.
63098         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
63099         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
63100         * modules/strings: New file.
63101         * modules/string (Makefile.am): Update.
63102         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
63103         Reported by Karl Berry.
63104
63105 2007-12-01  Eric Blake  <ebb9@byu.net>
63106
63107         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
63108         accommodate fix in cygwin 1.5.25.
63109
63110 2007-12-01  Jim Meyering  <meyering@redhat.com>
63111
63112         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
63113         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
63114         that would inhibit utf8-optimization of a regexp containing line-
63115         or buffer-anchors, e.g., `^', `$'.
63116
63117 2007-11-30  Bruno Haible  <bruno@clisp.org>
63118
63119         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
63120         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
63121         glthread_recursive_lock_init.
63122         * lib/lock.c (glthread_recursive_lock_init)
63123         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
63124         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63125
63126 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
63127
63128         New function qset_acl, like set_acl but with syscall semantics.
63129         * lib/acl.h (qset_acl): New decl.
63130         * lib/acl.c (qset_acl): New function.
63131         (set_acl): Use new function.  Use more-consistent diagnostics.
63132
63133 2007-11-28  Jim Meyering  <meyering@redhat.com>
63134
63135         * modules/physmem (License): Change from GPL to LGPLv2+.
63136
63137 2007-11-26  Bruno Haible  <bruno@clisp.org>
63138
63139         * lib/vasnprintf.c (decode_long_double): Don't abort if the
63140         'long double' type has excess precision.
63141         Reported by Jim Meyering in
63142         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
63143
63144 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63145
63146         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
63147         Sync from <http://gnu.org/licenses>.
63148         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
63149         with license text from same location.
63150         * doc/maintain.texi, doc/standards.texi:  Sync from
63151         <http://savannah.gnu.org/projects/gnustandards>.
63152
63153 2007-11-22  OndÅ™ej Vašík  <ovasik@redhat.com>
63154         and Jim Meyering  <meyering@redhat.com>
63155
63156         Adjust getdate' grammar to accept a slightly more regular language.
63157         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
63158         Before, the former was rejected.
63159         * lib/getdate.y (digits_to_date_time): New function, factored
63160         out of ...
63161         (number): ...here.  Just call digits_to_date_time.
63162         (hybrid): New non-terminal to handle an <unsigned number,
63163         signed relative offset> sequence consistently.
63164
63165 2007-11-18  Jim Meyering  <meyering@redhat.com>
63166
63167         Pull my changes from coreutils:
63168         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
63169         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
63170         use of $gnulib_tool_option_extras, so that it's separated from the
63171         preceding argument.
63172
63173         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
63174         * build-aux/bootstrap (cp_mark_as_generated): Create any required
63175         parent destination directories before copying a file into place.
63176
63177 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
63178
63179         bootstrap: work also with 4-argument variant of AC_INIT
63180         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
63181
63182 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
63183
63184         Port test-getaddrinfo to Solaris.
63185         Problem reported by Bruno Haible in
63186         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
63187         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
63188         explanation of setting 'hints'.
63189         Don't reject an implementation merely because it returns EAI_SERVICE.
63190         (EAI_SERVICE): Define to 0 if not defined.
63191
63192 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
63193
63194         The license of gnu-make and posix-shell is now "GPLed build tool".
63195         * modules/gnu-make (License): Likewise.
63196         * modules/posix-shell (License): Likewise.
63197
63198         New module posix-shell, for determining a POSIX shell
63199         or perhaps something that is close enough to a POSIX shell.
63200         * m4/posix-shell.m4: New file.
63201         * modules/posix-shell: New file.
63202
63203         * MODULES.html.sh: Mention new module.
63204
63205         New module gnu-make, for determining whether we're using GNU Make.
63206         * m4/gnu-make.m4: New file.
63207         * modules/gnu-make: New file.
63208         * MODULES.html.sh: Mention new module.
63209
63210 2007-11-14  Jim Meyering  <meyering@redhat.com>
63211
63212         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
63213         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
63214         use this macro to create a function _definition_.
63215         Remove useless "#undef ARGMATCH_DIE".
63216
63217 2007-11-14  Bruno Haible  <bruno@clisp.org>
63218
63219         * lib/config.charset: Update for OpenBSD 4.1.
63220         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
63221
63222 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
63223
63224         Document 64-bit #if problems in stdint.texi.
63225         * doc/headers/stdint.texi (stdint.h): Mention problems with
63226         64-bit-#if, and how to work around them.
63227
63228         Don't insist on 'long long int' support in the preprocessor.  It
63229         breaks too many things.  For example, PRIdMAX still uses a 'long
63230         long int' format with the latest Sun compiler, even though
63231         HAVE_LONG_LONG_INT isn't defined due to that compiler's
63232         preprocessor problem.  This causes the latest coreutils to dump
63233         core on Solaris 10 sparc with the Sun C compiler.
63234         Instead, fix the 2007-10-16 problem in a different way, by evaluating
63235         the troublesome expressions at configure-time, not at #if-time.
63236         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
63237         preprocessor.
63238         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
63239         compile-time C checks, done at 'configure'-time.
63240         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
63241         * modules/inttypes (Makefile): Substitute the new symbols that
63242         gl_INTTYPES_H now generates.
63243         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
63244
63245 2007-11-12  Bruno Haible  <bruno@clisp.org>
63246
63247         Tests for Unicode character classification functions.
63248
63249         * modules/unictype/bidicategory-byname-tests: New file.
63250         * modules/unictype/bidicategory-name-tests: New file.
63251         * modules/unictype/bidicategory-of-tests: New file.
63252         * modules/unictype/bidicategory-test-tests: New file.
63253         * modules/unictype/block-list-tests: New file.
63254         * modules/unictype/block-of-tests: New file.
63255         * modules/unictype/block-test-tests: New file.
63256         * modules/unictype/category-C-tests: New file.
63257         * modules/unictype/category-Cc-tests: New file.
63258         * modules/unictype/category-Cf-tests: New file.
63259         * modules/unictype/category-Cn-tests: New file.
63260         * modules/unictype/category-Co-tests: New file.
63261         * modules/unictype/category-Cs-tests: New file.
63262         * modules/unictype/category-L-tests: New file.
63263         * modules/unictype/category-Ll-tests: New file.
63264         * modules/unictype/category-Lm-tests: New file.
63265         * modules/unictype/category-Lo-tests: New file.
63266         * modules/unictype/category-Lt-tests: New file.
63267         * modules/unictype/category-Lu-tests: New file.
63268         * modules/unictype/category-M-tests: New file.
63269         * modules/unictype/category-Mc-tests: New file.
63270         * modules/unictype/category-Me-tests: New file.
63271         * modules/unictype/category-Mn-tests: New file.
63272         * modules/unictype/category-N-tests: New file.
63273         * modules/unictype/category-Nd-tests: New file.
63274         * modules/unictype/category-Nl-tests: New file.
63275         * modules/unictype/category-No-tests: New file.
63276         * modules/unictype/category-P-tests: New file.
63277         * modules/unictype/category-Pc-tests: New file.
63278         * modules/unictype/category-Pd-tests: New file.
63279         * modules/unictype/category-Pe-tests: New file.
63280         * modules/unictype/category-Pf-tests: New file.
63281         * modules/unictype/category-Pi-tests: New file.
63282         * modules/unictype/category-Po-tests: New file.
63283         * modules/unictype/category-Ps-tests: New file.
63284         * modules/unictype/category-S-tests: New file.
63285         * modules/unictype/category-Sc-tests: New file.
63286         * modules/unictype/category-Sk-tests: New file.
63287         * modules/unictype/category-Sm-tests: New file.
63288         * modules/unictype/category-So-tests: New file.
63289         * modules/unictype/category-Z-tests: New file.
63290         * modules/unictype/category-Zl-tests: New file.
63291         * modules/unictype/category-Zp-tests: New file.
63292         * modules/unictype/category-Zs-tests: New file.
63293         * modules/unictype/category-and-not-tests: New file.
63294         * modules/unictype/category-and-tests: New file.
63295         * modules/unictype/category-byname-tests: New file.
63296         * modules/unictype/category-name-tests: New file.
63297         * modules/unictype/category-none-tests: New file.
63298         * modules/unictype/category-of-tests: New file.
63299         * modules/unictype/category-or-tests: New file.
63300         * modules/unictype/category-test-withtable-tests: New file.
63301         * modules/unictype/combining-class-tests: New file.
63302         * modules/unictype/ctype-alnum-tests: New file.
63303         * modules/unictype/ctype-alpha-tests: New file.
63304         * modules/unictype/ctype-blank-tests: New file.
63305         * modules/unictype/ctype-cntrl-tests: New file.
63306         * modules/unictype/ctype-digit-tests: New file.
63307         * modules/unictype/ctype-graph-tests: New file.
63308         * modules/unictype/ctype-lower-tests: New file.
63309         * modules/unictype/ctype-print-tests: New file.
63310         * modules/unictype/ctype-punct-tests: New file.
63311         * modules/unictype/ctype-space-tests: New file.
63312         * modules/unictype/ctype-upper-tests: New file.
63313         * modules/unictype/ctype-xdigit-tests: New file.
63314         * modules/unictype/decimal-digit-tests: New file.
63315         * modules/unictype/digit-tests: New file.
63316         * modules/unictype/mirror-tests: New file.
63317         * modules/unictype/numeric-tests: New file.
63318         * modules/unictype/property-alphabetic-tests: New file.
63319         * modules/unictype/property-ascii-hex-digit-tests: New file.
63320         * modules/unictype/property-bidi-arabic-digit-tests: New file.
63321         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
63322         * modules/unictype/property-bidi-block-separator-tests: New file.
63323         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
63324         * modules/unictype/property-bidi-common-separator-tests: New file.
63325         * modules/unictype/property-bidi-control-tests: New file.
63326         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
63327         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
63328         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
63329         * modules/unictype/property-bidi-european-digit-tests: New file.
63330         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
63331         * modules/unictype/property-bidi-left-to-right-tests: New file.
63332         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
63333         * modules/unictype/property-bidi-other-neutral-tests: New file.
63334         * modules/unictype/property-bidi-pdf-tests: New file.
63335         * modules/unictype/property-bidi-segment-separator-tests: New file.
63336         * modules/unictype/property-bidi-whitespace-tests: New file.
63337         * modules/unictype/property-byname-tests: New file.
63338         * modules/unictype/property-combining-tests: New file.
63339         * modules/unictype/property-composite-tests: New file.
63340         * modules/unictype/property-currency-symbol-tests: New file.
63341         * modules/unictype/property-dash-tests: New file.
63342         * modules/unictype/property-decimal-digit-tests: New file.
63343         * modules/unictype/property-default-ignorable-code-point-tests: New file.
63344         * modules/unictype/property-deprecated-tests: New file.
63345         * modules/unictype/property-diacritic-tests: New file.
63346         * modules/unictype/property-extender-tests: New file.
63347         * modules/unictype/property-format-control-tests: New file.
63348         * modules/unictype/property-grapheme-base-tests: New file.
63349         * modules/unictype/property-grapheme-extend-tests: New file.
63350         * modules/unictype/property-grapheme-link-tests: New file.
63351         * modules/unictype/property-hex-digit-tests: New file.
63352         * modules/unictype/property-hyphen-tests: New file.
63353         * modules/unictype/property-id-continue-tests: New file.
63354         * modules/unictype/property-id-start-tests: New file.
63355         * modules/unictype/property-ideographic-tests: New file.
63356         * modules/unictype/property-ids-binary-operator-tests: New file.
63357         * modules/unictype/property-ids-trinary-operator-tests: New file.
63358         * modules/unictype/property-ignorable-control-tests: New file.
63359         * modules/unictype/property-iso-control-tests: New file.
63360         * modules/unictype/property-join-control-tests: New file.
63361         * modules/unictype/property-left-of-pair-tests: New file.
63362         * modules/unictype/property-line-separator-tests: New file.
63363         * modules/unictype/property-logical-order-exception-tests: New file.
63364         * modules/unictype/property-lowercase-tests: New file.
63365         * modules/unictype/property-math-tests: New file.
63366         * modules/unictype/property-non-break-tests: New file.
63367         * modules/unictype/property-not-a-character-tests: New file.
63368         * modules/unictype/property-numeric-tests: New file.
63369         * modules/unictype/property-other-alphabetic-tests: New file.
63370         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
63371         * modules/unictype/property-other-grapheme-extend-tests: New file.
63372         * modules/unictype/property-other-id-continue-tests: New file.
63373         * modules/unictype/property-other-id-start-tests: New file.
63374         * modules/unictype/property-other-lowercase-tests: New file.
63375         * modules/unictype/property-other-math-tests: New file.
63376         * modules/unictype/property-other-uppercase-tests: New file.
63377         * modules/unictype/property-paired-punctuation-tests: New file.
63378         * modules/unictype/property-paragraph-separator-tests: New file.
63379         * modules/unictype/property-pattern-syntax-tests: New file.
63380         * modules/unictype/property-pattern-white-space-tests: New file.
63381         * modules/unictype/property-private-use-tests: New file.
63382         * modules/unictype/property-punctuation-tests: New file.
63383         * modules/unictype/property-quotation-mark-tests: New file.
63384         * modules/unictype/property-radical-tests: New file.
63385         * modules/unictype/property-sentence-terminal-tests: New file.
63386         * modules/unictype/property-soft-dotted-tests: New file.
63387         * modules/unictype/property-space-tests: New file.
63388         * modules/unictype/property-terminal-punctuation-tests: New file.
63389         * modules/unictype/property-test-tests: New file.
63390         * modules/unictype/property-titlecase-tests: New file.
63391         * modules/unictype/property-unassigned-code-value-tests: New file.
63392         * modules/unictype/property-unified-ideograph-tests: New file.
63393         * modules/unictype/property-uppercase-tests: New file.
63394         * modules/unictype/property-variation-selector-tests: New file.
63395         * modules/unictype/property-white-space-tests: New file.
63396         * modules/unictype/property-xid-continue-tests: New file.
63397         * modules/unictype/property-xid-start-tests: New file.
63398         * modules/unictype/property-zero-width-tests: New file.
63399         * modules/unictype/scripts-tests: New file.
63400         * modules/unictype/syntax-c-ident-tests: New file.
63401         * modules/unictype/syntax-c-whitespace-tests: New file.
63402         * modules/unictype/syntax-java-ident-tests: New file.
63403         * modules/unictype/syntax-java-whitespace-tests: New file.
63404         * tests/unictype/test-bidi_byname.c: New file.
63405         * tests/unictype/test-bidi_name.c: New file.
63406         * tests/unictype/test-bidi_of.c: New file.
63407         * tests/unictype/test-bidi_test.c: New file.
63408         * tests/unictype/test-block_list.c: New file.
63409         * tests/unictype/test-block_of.c: New file.
63410         * tests/unictype/test-block_test.c: New file.
63411         * tests/unictype/test-categ_and.c: New file.
63412         * tests/unictype/test-categ_and_not.c: New file.
63413         * tests/unictype/test-categ_byname.c: New file.
63414         * tests/unictype/test-categ_name.c: New file.
63415         * tests/unictype/test-categ_none.c: New file.
63416         * tests/unictype/test-categ_of.c: New file.
63417         * tests/unictype/test-categ_or.c: New file.
63418         * tests/unictype/test-categ_test_withtable.c: New file.
63419         * tests/unictype/test-combining.c: New file.
63420         * tests/unictype/test-decdigit.c: New file.
63421         * tests/unictype/test-digit.c: New file.
63422         * tests/unictype/test-mirror.c: New file.
63423         * tests/unictype/test-numeric.c: New file.
63424         * tests/unictype/test-pr_byname.c: New file.
63425         * tests/unictype/test-pr_test.c: New file.
63426         * tests/unictype/test-predicate-part1.h: New file.
63427         * tests/unictype/test-predicate-part2.h: New file.
63428         * tests/unictype/test-scripts.c: New file.
63429         * tests/unictype/test-sy_c_ident.c: New file.
63430         * tests/unictype/test-sy_java_ident.c: New file.
63431
63432         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
63433         for Unicode 5.0.0.
63434         * tests/unictype/test-categ_Cc.c: Likewise.
63435         * tests/unictype/test-categ_Cf.c: Likewise.
63436         * tests/unictype/test-categ_Cn.c: Likewise.
63437         * tests/unictype/test-categ_Co.c: Likewise.
63438         * tests/unictype/test-categ_Cs.c: Likewise.
63439         * tests/unictype/test-categ_L.c: Likewise.
63440         * tests/unictype/test-categ_Ll.c: Likewise.
63441         * tests/unictype/test-categ_Lm.c: Likewise.
63442         * tests/unictype/test-categ_Lo.c: Likewise.
63443         * tests/unictype/test-categ_Lt.c: Likewise.
63444         * tests/unictype/test-categ_Lu.c: Likewise.
63445         * tests/unictype/test-categ_M.c: Likewise.
63446         * tests/unictype/test-categ_Mc.c: Likewise.
63447         * tests/unictype/test-categ_Me.c: Likewise.
63448         * tests/unictype/test-categ_Mn.c: Likewise.
63449         * tests/unictype/test-categ_N.c: Likewise.
63450         * tests/unictype/test-categ_Nd.c: Likewise.
63451         * tests/unictype/test-categ_Nl.c: Likewise.
63452         * tests/unictype/test-categ_No.c: Likewise.
63453         * tests/unictype/test-categ_P.c: Likewise.
63454         * tests/unictype/test-categ_Pc.c: Likewise.
63455         * tests/unictype/test-categ_Pd.c: Likewise.
63456         * tests/unictype/test-categ_Pe.c: Likewise.
63457         * tests/unictype/test-categ_Pf.c: Likewise.
63458         * tests/unictype/test-categ_Pi.c: Likewise.
63459         * tests/unictype/test-categ_Po.c: Likewise.
63460         * tests/unictype/test-categ_Ps.c: Likewise.
63461         * tests/unictype/test-categ_S.c: Likewise.
63462         * tests/unictype/test-categ_Sc.c: Likewise.
63463         * tests/unictype/test-categ_Sk.c: Likewise.
63464         * tests/unictype/test-categ_Sm.c: Likewise.
63465         * tests/unictype/test-categ_So.c: Likewise.
63466         * tests/unictype/test-categ_Z.c: Likewise.
63467         * tests/unictype/test-categ_Zl.c: Likewise.
63468         * tests/unictype/test-categ_Zp.c: Likewise.
63469         * tests/unictype/test-categ_Zs.c: Likewise.
63470         * tests/unictype/test-ctype_alnum.c: Likewise.
63471         * tests/unictype/test-ctype_alpha.c: Likewise.
63472         * tests/unictype/test-ctype_blank.c: Likewise.
63473         * tests/unictype/test-ctype_cntrl.c: Likewise.
63474         * tests/unictype/test-ctype_digit.c: Likewise.
63475         * tests/unictype/test-ctype_graph.c: Likewise.
63476         * tests/unictype/test-ctype_lower.c: Likewise.
63477         * tests/unictype/test-ctype_print.c: Likewise.
63478         * tests/unictype/test-ctype_punct.c: Likewise.
63479         * tests/unictype/test-ctype_space.c: Likewise.
63480         * tests/unictype/test-ctype_upper.c: Likewise.
63481         * tests/unictype/test-ctype_xdigit.c: Likewise.
63482         * tests/unictype/test-decdigit.h: Likewise.
63483         * tests/unictype/test-digit.h: Likewise.
63484         * tests/unictype/test-numeric.h: Likewise.
63485         * tests/unictype/test-pr_alphabetic.c: Likewise.
63486         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
63487         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
63488         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
63489         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
63490         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
63491         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
63492         * tests/unictype/test-pr_bidi_control.c: Likewise.
63493         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
63494         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
63495         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
63496         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
63497         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
63498         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
63499         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
63500         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
63501         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
63502         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
63503         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
63504         * tests/unictype/test-pr_combining.c: Likewise.
63505         * tests/unictype/test-pr_composite.c: Likewise.
63506         * tests/unictype/test-pr_currency_symbol.c: Likewise.
63507         * tests/unictype/test-pr_dash.c: Likewise.
63508         * tests/unictype/test-pr_decimal_digit.c: Likewise.
63509         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
63510         * tests/unictype/test-pr_deprecated.c: Likewise.
63511         * tests/unictype/test-pr_diacritic.c: Likewise.
63512         * tests/unictype/test-pr_extender.c: Likewise.
63513         * tests/unictype/test-pr_format_control.c: Likewise.
63514         * tests/unictype/test-pr_grapheme_base.c: Likewise.
63515         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
63516         * tests/unictype/test-pr_grapheme_link.c: Likewise.
63517         * tests/unictype/test-pr_hex_digit.c: Likewise.
63518         * tests/unictype/test-pr_hyphen.c: Likewise.
63519         * tests/unictype/test-pr_id_continue.c: Likewise.
63520         * tests/unictype/test-pr_id_start.c: Likewise.
63521         * tests/unictype/test-pr_ideographic.c: Likewise.
63522         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
63523         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
63524         * tests/unictype/test-pr_ignorable_control.c: Likewise.
63525         * tests/unictype/test-pr_iso_control.c: Likewise.
63526         * tests/unictype/test-pr_join_control.c: Likewise.
63527         * tests/unictype/test-pr_left_of_pair.c: Likewise.
63528         * tests/unictype/test-pr_line_separator.c: Likewise.
63529         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
63530         * tests/unictype/test-pr_lowercase.c: Likewise.
63531         * tests/unictype/test-pr_math.c: Likewise.
63532         * tests/unictype/test-pr_non_break.c: Likewise.
63533         * tests/unictype/test-pr_not_a_character.c: Likewise.
63534         * tests/unictype/test-pr_numeric.c: Likewise.
63535         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
63536         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
63537         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
63538         * tests/unictype/test-pr_other_id_continue.c: Likewise.
63539         * tests/unictype/test-pr_other_id_start.c: Likewise.
63540         * tests/unictype/test-pr_other_lowercase.c: Likewise.
63541         * tests/unictype/test-pr_other_math.c: Likewise.
63542         * tests/unictype/test-pr_other_uppercase.c: Likewise.
63543         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
63544         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
63545         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
63546         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
63547         * tests/unictype/test-pr_private_use.c: Likewise.
63548         * tests/unictype/test-pr_punctuation.c: Likewise.
63549         * tests/unictype/test-pr_quotation_mark.c: Likewise.
63550         * tests/unictype/test-pr_radical.c: Likewise.
63551         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
63552         * tests/unictype/test-pr_soft_dotted.c: Likewise.
63553         * tests/unictype/test-pr_space.c: Likewise.
63554         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
63555         * tests/unictype/test-pr_titlecase.c: Likewise.
63556         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
63557         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
63558         * tests/unictype/test-pr_uppercase.c: Likewise.
63559         * tests/unictype/test-pr_variation_selector.c: Likewise.
63560         * tests/unictype/test-pr_white_space.c: Likewise.
63561         * tests/unictype/test-pr_xid_continue.c: Likewise.
63562         * tests/unictype/test-pr_xid_start.c: Likewise.
63563         * tests/unictype/test-pr_zero_width.c: Likewise.
63564         * tests/unictype/test-sy_c_whitespace.c: Likewise.
63565         * tests/unictype/test-sy_java_whitespace.c: Likewise.
63566
63567 2007-11-12  Bruno Haible  <bruno@clisp.org>
63568
63569         Unicode character classification functions.
63570         * lib/unictype.h: New file.
63571         * modules/unictype/base: New file.
63572         * modules/unictype/category-L: New file.
63573         * modules/unictype/category-Lu: New file.
63574         * modules/unictype/category-Ll: New file.
63575         * modules/unictype/category-Lt: New file.
63576         * modules/unictype/category-Lm: New file.
63577         * modules/unictype/category-Lo: New file.
63578         * modules/unictype/category-M: New file.
63579         * modules/unictype/category-Mn: New file.
63580         * modules/unictype/category-Mc: New file.
63581         * modules/unictype/category-Me: New file.
63582         * modules/unictype/category-N: New file.
63583         * modules/unictype/category-Nd: New file.
63584         * modules/unictype/category-Nl: New file.
63585         * modules/unictype/category-No: New file.
63586         * modules/unictype/category-P: New file.
63587         * modules/unictype/category-Pc: New file.
63588         * modules/unictype/category-Pd: New file.
63589         * modules/unictype/category-Ps: New file.
63590         * modules/unictype/category-Pe: New file.
63591         * modules/unictype/category-Pi: New file.
63592         * modules/unictype/category-Pf: New file.
63593         * modules/unictype/category-Po: New file.
63594         * modules/unictype/category-S: New file.
63595         * modules/unictype/category-Sm: New file.
63596         * modules/unictype/category-Sc: New file.
63597         * modules/unictype/category-Sk: New file.
63598         * modules/unictype/category-So: New file.
63599         * modules/unictype/category-Z: New file.
63600         * modules/unictype/category-Zs: New file.
63601         * modules/unictype/category-Zl: New file.
63602         * modules/unictype/category-Zp: New file.
63603         * modules/unictype/category-C: New file.
63604         * modules/unictype/category-Cc: New file.
63605         * modules/unictype/category-Cf: New file.
63606         * modules/unictype/category-Cs: New file.
63607         * modules/unictype/category-Co: New file.
63608         * modules/unictype/category-Cn: New file.
63609         * modules/unictype/category-or: New file.
63610         * modules/unictype/category-of: New file.
63611         * modules/unictype/category-test: New file.
63612         * modules/unictype/category-test-withtable: New file.
63613         * modules/unictype/category-byname: New file.
63614         * modules/unictype/category-none: New file.
63615         * modules/unictype/category-and: New file.
63616         * modules/unictype/category-and-not: New file.
63617         * modules/unictype/category-name: New file.
63618         * modules/unictype/combining-class: New file.
63619         * modules/unictype/category-all: New file.
63620         * modules/unictype/bidicategory-all: New file.
63621         * modules/unictype/bidicategory-byname: New file.
63622         * modules/unictype/bidicategory-name: New file.
63623         * modules/unictype/bidicategory-of: New file.
63624         * modules/unictype/bidicategory-test: New file.
63625         * modules/unictype/decimal-digit: New file.
63626         * modules/unictype/digit: New file.
63627         * modules/unictype/numeric: New file.
63628         * modules/unictype/mirror: New file.
63629         * modules/unictype/property-white-space: New file.
63630         * modules/unictype/property-alphabetic: New file.
63631         * modules/unictype/property-other-alphabetic: New file.
63632         * modules/unictype/property-not-a-character: New file.
63633         * modules/unictype/property-default-ignorable-code-point: New file.
63634         * modules/unictype/property-other-default-ignorable-code-point: New
63635         file.
63636         * modules/unictype/property-deprecated: New file.
63637         * modules/unictype/property-logical-order-exception: New file.
63638         * modules/unictype/property-variation-selector: New file.
63639         * modules/unictype/property-private-use: New file.
63640         * modules/unictype/property-unassigned-code-value: New file.
63641         * modules/unictype/property-uppercase: New file.
63642         * modules/unictype/property-other-uppercase: New file.
63643         * modules/unictype/property-lowercase: New file.
63644         * modules/unictype/property-other-lowercase: New file.
63645         * modules/unictype/property-titlecase: New file.
63646         * modules/unictype/property-soft-dotted: New file.
63647         * modules/unictype/property-id-start: New file.
63648         * modules/unictype/property-other-id-start: New file.
63649         * modules/unictype/property-id-continue: New file.
63650         * modules/unictype/property-other-id-continue: New file.
63651         * modules/unictype/property-xid-start: New file.
63652         * modules/unictype/property-xid-continue: New file.
63653         * modules/unictype/property-pattern-white-space: New file.
63654         * modules/unictype/property-pattern-syntax: New file.
63655         * modules/unictype/property-join-control: New file.
63656         * modules/unictype/property-grapheme-base: New file.
63657         * modules/unictype/property-grapheme-extend: New file.
63658         * modules/unictype/property-other-grapheme-extend: New file.
63659         * modules/unictype/property-grapheme-link: New file.
63660         * modules/unictype/property-bidi-control: New file.
63661         * modules/unictype/property-bidi-left-to-right: New file.
63662         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
63663         * modules/unictype/property-bidi-arabic-right-to-left: New file.
63664         * modules/unictype/property-bidi-european-digit: New file.
63665         * modules/unictype/property-bidi-eur-num-separator: New file.
63666         * modules/unictype/property-bidi-eur-num-terminator: New file.
63667         * modules/unictype/property-bidi-arabic-digit: New file.
63668         * modules/unictype/property-bidi-common-separator: New file.
63669         * modules/unictype/property-bidi-block-separator: New file.
63670         * modules/unictype/property-bidi-segment-separator: New file.
63671         * modules/unictype/property-bidi-whitespace: New file.
63672         * modules/unictype/property-bidi-non-spacing-mark: New file.
63673         * modules/unictype/property-bidi-boundary-neutral: New file.
63674         * modules/unictype/property-bidi-pdf: New file.
63675         * modules/unictype/property-bidi-embedding-or-override: New file.
63676         * modules/unictype/property-bidi-other-neutral: New file.
63677         * modules/unictype/property-hex-digit: New file.
63678         * modules/unictype/property-ascii-hex-digit: New file.
63679         * modules/unictype/property-ideographic: New file.
63680         * modules/unictype/property-unified-ideograph: New file.
63681         * modules/unictype/property-radical: New file.
63682         * modules/unictype/property-ids-binary-operator: New file.
63683         * modules/unictype/property-ids-trinary-operator: New file.
63684         * modules/unictype/property-zero-width: New file.
63685         * modules/unictype/property-space: New file.
63686         * modules/unictype/property-non-break: New file.
63687         * modules/unictype/property-iso-control: New file.
63688         * modules/unictype/property-format-control: New file.
63689         * modules/unictype/property-dash: New file.
63690         * modules/unictype/property-hyphen: New file.
63691         * modules/unictype/property-punctuation: New file.
63692         * modules/unictype/property-line-separator: New file.
63693         * modules/unictype/property-paragraph-separator: New file.
63694         * modules/unictype/property-quotation-mark: New file.
63695         * modules/unictype/property-sentence-terminal: New file.
63696         * modules/unictype/property-terminal-punctuation: New file.
63697         * modules/unictype/property-currency-symbol: New file.
63698         * modules/unictype/property-math: New file.
63699         * modules/unictype/property-other-math: New file.
63700         * modules/unictype/property-paired-punctuation: New file.
63701         * modules/unictype/property-left-of-pair: New file.
63702         * modules/unictype/property-combining: New file.
63703         * modules/unictype/property-composite: New file.
63704         * modules/unictype/property-decimal-digit: New file.
63705         * modules/unictype/property-numeric: New file.
63706         * modules/unictype/property-diacritic: New file.
63707         * modules/unictype/property-extender: New file.
63708         * modules/unictype/property-ignorable-control: New file.
63709         * modules/unictype/property-test: New file.
63710         * modules/unictype/property-byname: New file.
63711         * modules/unictype/property-all: New file.
63712         * modules/unictype/scripts: New file.
63713         * modules/unictype/scripts-all: New file.
63714         * modules/unictype/block-of: New file.
63715         * modules/unictype/block-test: New file.
63716         * modules/unictype/block-list: New file.
63717         * modules/unictype/block-all: New file.
63718         * modules/unictype/syntax-c-whitespace: New file.
63719         * modules/unictype/syntax-java-whitespace: New file.
63720         * modules/unictype/syntax-c-ident: New file.
63721         * modules/unictype/syntax-java-ident: New file.
63722         * modules/unictype/ctype-alnum: New file.
63723         * modules/unictype/ctype-alpha: New file.
63724         * modules/unictype/ctype-cntrl: New file.
63725         * modules/unictype/ctype-digit: New file.
63726         * modules/unictype/ctype-graph: New file.
63727         * modules/unictype/ctype-lower: New file.
63728         * modules/unictype/ctype-print: New file.
63729         * modules/unictype/ctype-punct: New file.
63730         * modules/unictype/ctype-space: New file.
63731         * modules/unictype/ctype-upper: New file.
63732         * modules/unictype/ctype-xdigit: New file.
63733         * modules/unictype/ctype-blank: New file.
63734         * lib/unictype/bidi_byname.c: New file.
63735         * lib/unictype/bidi_name.c: New file.
63736         * lib/unictype/bidi_of.c: New file.
63737         * lib/unictype/bidi_test.c: New file.
63738         * lib/unictype/bitmap.h: New file.
63739         * lib/unictype/block_test.c: New file.
63740         * lib/unictype/blocks.c: New file.
63741         * lib/unictype/categ_C.c: New file.
63742         * lib/unictype/categ_Cc.c: New file.
63743         * lib/unictype/categ_Cf.c: New file.
63744         * lib/unictype/categ_Cn.c: New file.
63745         * lib/unictype/categ_Co.c: New file.
63746         * lib/unictype/categ_Cs.c: New file.
63747         * lib/unictype/categ_L.c: New file.
63748         * lib/unictype/categ_Ll.c: New file.
63749         * lib/unictype/categ_Lm.c: New file.
63750         * lib/unictype/categ_Lo.c: New file.
63751         * lib/unictype/categ_Lt.c: New file.
63752         * lib/unictype/categ_Lu.c: New file.
63753         * lib/unictype/categ_M.c: New file.
63754         * lib/unictype/categ_Mc.c: New file.
63755         * lib/unictype/categ_Me.c: New file.
63756         * lib/unictype/categ_Mn.c: New file.
63757         * lib/unictype/categ_N.c: New file.
63758         * lib/unictype/categ_Nd.c: New file.
63759         * lib/unictype/categ_Nl.c: New file.
63760         * lib/unictype/categ_No.c: New file.
63761         * lib/unictype/categ_P.c: New file.
63762         * lib/unictype/categ_Pc.c: New file.
63763         * lib/unictype/categ_Pd.c: New file.
63764         * lib/unictype/categ_Pe.c: New file.
63765         * lib/unictype/categ_Pf.c: New file.
63766         * lib/unictype/categ_Pi.c: New file.
63767         * lib/unictype/categ_Po.c: New file.
63768         * lib/unictype/categ_Ps.c: New file.
63769         * lib/unictype/categ_S.c: New file.
63770         * lib/unictype/categ_Sc.c: New file.
63771         * lib/unictype/categ_Sk.c: New file.
63772         * lib/unictype/categ_Sm.c: New file.
63773         * lib/unictype/categ_So.c: New file.
63774         * lib/unictype/categ_Z.c: New file.
63775         * lib/unictype/categ_Zl.c: New file.
63776         * lib/unictype/categ_Zp.c: New file.
63777         * lib/unictype/categ_Zs.c: New file.
63778         * lib/unictype/categ_and.c: New file.
63779         * lib/unictype/categ_and_not.c: New file.
63780         * lib/unictype/categ_byname.c: New file.
63781         * lib/unictype/categ_name.c: New file.
63782         * lib/unictype/categ_none.c: New file.
63783         * lib/unictype/categ_of.c: New file.
63784         * lib/unictype/categ_or.c: New file.
63785         * lib/unictype/categ_test.c: New file.
63786         * lib/unictype/combining.c: New file.
63787         * lib/unictype/ctype_alnum.c: New file.
63788         * lib/unictype/ctype_alpha.c: New file.
63789         * lib/unictype/ctype_blank.c: New file.
63790         * lib/unictype/ctype_cntrl.c: New file.
63791         * lib/unictype/ctype_digit.c: New file.
63792         * lib/unictype/ctype_graph.c: New file.
63793         * lib/unictype/ctype_lower.c: New file.
63794         * lib/unictype/ctype_print.c: New file.
63795         * lib/unictype/ctype_punct.c: New file.
63796         * lib/unictype/ctype_space.c: New file.
63797         * lib/unictype/ctype_upper.c: New file.
63798         * lib/unictype/ctype_xdigit.c: New file.
63799         * lib/unictype/decdigit.c: New file.
63800         * lib/unictype/digit.c: New file.
63801         * lib/unictype/identsyntaxmap.h: New file.
63802         * lib/unictype/mirror.c: New file.
63803         * lib/unictype/numeric.c: New file.
63804         * lib/unictype/pr_alphabetic.c: New file.
63805         * lib/unictype/pr_ascii_hex_digit.c: New file.
63806         * lib/unictype/pr_bidi_arabic_digit.c: New file.
63807         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
63808         * lib/unictype/pr_bidi_block_separator.c: New file.
63809         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
63810         * lib/unictype/pr_bidi_common_separator.c: New file.
63811         * lib/unictype/pr_bidi_control.c: New file.
63812         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
63813         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
63814         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
63815         * lib/unictype/pr_bidi_european_digit.c: New file.
63816         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
63817         * lib/unictype/pr_bidi_left_to_right.c: New file.
63818         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
63819         * lib/unictype/pr_bidi_other_neutral.c: New file.
63820         * lib/unictype/pr_bidi_pdf.c: New file.
63821         * lib/unictype/pr_bidi_segment_separator.c: New file.
63822         * lib/unictype/pr_bidi_whitespace.c: New file.
63823         * lib/unictype/pr_byname.c: New file.
63824         * lib/unictype/pr_byname.gperf: New file.
63825         * lib/unictype/pr_combining.c: New file.
63826         * lib/unictype/pr_composite.c: New file.
63827         * lib/unictype/pr_currency_symbol.c: New file.
63828         * lib/unictype/pr_dash.c: New file.
63829         * lib/unictype/pr_decimal_digit.c: New file.
63830         * lib/unictype/pr_default_ignorable_code_point.c: New file.
63831         * lib/unictype/pr_deprecated.c: New file.
63832         * lib/unictype/pr_diacritic.c: New file.
63833         * lib/unictype/pr_extender.c: New file.
63834         * lib/unictype/pr_format_control.c: New file.
63835         * lib/unictype/pr_grapheme_base.c: New file.
63836         * lib/unictype/pr_grapheme_extend.c: New file.
63837         * lib/unictype/pr_grapheme_link.c: New file.
63838         * lib/unictype/pr_hex_digit.c: New file.
63839         * lib/unictype/pr_hyphen.c: New file.
63840         * lib/unictype/pr_id_continue.c: New file.
63841         * lib/unictype/pr_id_start.c: New file.
63842         * lib/unictype/pr_ideographic.c: New file.
63843         * lib/unictype/pr_ids_binary_operator.c: New file.
63844         * lib/unictype/pr_ids_trinary_operator.c: New file.
63845         * lib/unictype/pr_ignorable_control.c: New file.
63846         * lib/unictype/pr_iso_control.c: New file.
63847         * lib/unictype/pr_join_control.c: New file.
63848         * lib/unictype/pr_left_of_pair.c: New file.
63849         * lib/unictype/pr_line_separator.c: New file.
63850         * lib/unictype/pr_logical_order_exception.c: New file.
63851         * lib/unictype/pr_lowercase.c: New file.
63852         * lib/unictype/pr_math.c: New file.
63853         * lib/unictype/pr_non_break.c: New file.
63854         * lib/unictype/pr_not_a_character.c: New file.
63855         * lib/unictype/pr_numeric.c: New file.
63856         * lib/unictype/pr_other_alphabetic.c: New file.
63857         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
63858         * lib/unictype/pr_other_grapheme_extend.c: New file.
63859         * lib/unictype/pr_other_id_continue.c: New file.
63860         * lib/unictype/pr_other_id_start.c: New file.
63861         * lib/unictype/pr_other_lowercase.c: New file.
63862         * lib/unictype/pr_other_math.c: New file.
63863         * lib/unictype/pr_other_uppercase.c: New file.
63864         * lib/unictype/pr_paired_punctuation.c: New file.
63865         * lib/unictype/pr_paragraph_separator.c: New file.
63866         * lib/unictype/pr_pattern_syntax.c: New file.
63867         * lib/unictype/pr_pattern_white_space.c: New file.
63868         * lib/unictype/pr_private_use.c: New file.
63869         * lib/unictype/pr_punctuation.c: New file.
63870         * lib/unictype/pr_quotation_mark.c: New file.
63871         * lib/unictype/pr_radical.c: New file.
63872         * lib/unictype/pr_sentence_terminal.c: New file.
63873         * lib/unictype/pr_soft_dotted.c: New file.
63874         * lib/unictype/pr_space.c: New file.
63875         * lib/unictype/pr_terminal_punctuation.c: New file.
63876         * lib/unictype/pr_test.c: New file.
63877         * lib/unictype/pr_titlecase.c: New file.
63878         * lib/unictype/pr_unassigned_code_value.c: New file.
63879         * lib/unictype/pr_unified_ideograph.c: New file.
63880         * lib/unictype/pr_uppercase.c: New file.
63881         * lib/unictype/pr_variation_selector.c: New file.
63882         * lib/unictype/pr_white_space.c: New file.
63883         * lib/unictype/pr_xid_continue.c: New file.
63884         * lib/unictype/pr_xid_start.c: New file.
63885         * lib/unictype/pr_zero_width.c: New file.
63886         * lib/unictype/scripts.c: New file.
63887         * lib/unictype/sy_c_ident.c: New file.
63888         * lib/unictype/sy_c_whitespace.c: New file.
63889         * lib/unictype/sy_java_ident.c: New file.
63890         * lib/unictype/sy_java_whitespace.c: New file.
63891
63892         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
63893         Unicode 5.0.0.
63894         * lib/unictype/blocks.h: Likewise.
63895         * lib/unictype/categ_C.h: Likewise.
63896         * lib/unictype/categ_Cc.h: Likewise.
63897         * lib/unictype/categ_Cf.h: Likewise.
63898         * lib/unictype/categ_Cn.h: Likewise.
63899         * lib/unictype/categ_Co.h: Likewise.
63900         * lib/unictype/categ_Cs.h: Likewise.
63901         * lib/unictype/categ_L.h: Likewise.
63902         * lib/unictype/categ_Ll.h: Likewise.
63903         * lib/unictype/categ_Lm.h: Likewise.
63904         * lib/unictype/categ_Lo.h: Likewise.
63905         * lib/unictype/categ_Lt.h: Likewise.
63906         * lib/unictype/categ_Lu.h: Likewise.
63907         * lib/unictype/categ_M.h: Likewise.
63908         * lib/unictype/categ_Mc.h: Likewise.
63909         * lib/unictype/categ_Me.h: Likewise.
63910         * lib/unictype/categ_Mn.h: Likewise.
63911         * lib/unictype/categ_N.h: Likewise.
63912         * lib/unictype/categ_Nd.h: Likewise.
63913         * lib/unictype/categ_Nl.h: Likewise.
63914         * lib/unictype/categ_No.h: Likewise.
63915         * lib/unictype/categ_P.h: Likewise.
63916         * lib/unictype/categ_Pc.h: Likewise.
63917         * lib/unictype/categ_Pd.h: Likewise.
63918         * lib/unictype/categ_Pe.h: Likewise.
63919         * lib/unictype/categ_Pf.h: Likewise.
63920         * lib/unictype/categ_Pi.h: Likewise.
63921         * lib/unictype/categ_Po.h: Likewise.
63922         * lib/unictype/categ_Ps.h: Likewise.
63923         * lib/unictype/categ_S.h: Likewise.
63924         * lib/unictype/categ_Sc.h: Likewise.
63925         * lib/unictype/categ_Sk.h: Likewise.
63926         * lib/unictype/categ_Sm.h: Likewise.
63927         * lib/unictype/categ_So.h: Likewise.
63928         * lib/unictype/categ_Z.h: Likewise.
63929         * lib/unictype/categ_Zl.h: Likewise.
63930         * lib/unictype/categ_Zp.h: Likewise.
63931         * lib/unictype/categ_Zs.h: Likewise.
63932         * lib/unictype/categ_of.h: Likewise.
63933         * lib/unictype/combining.h: Likewise.
63934         * lib/unictype/ctype_alnum.h: Likewise.
63935         * lib/unictype/ctype_alpha.h: Likewise.
63936         * lib/unictype/ctype_blank.h: Likewise.
63937         * lib/unictype/ctype_cntrl.h: Likewise.
63938         * lib/unictype/ctype_digit.h: Likewise.
63939         * lib/unictype/ctype_graph.h: Likewise.
63940         * lib/unictype/ctype_lower.h: Likewise.
63941         * lib/unictype/ctype_print.h: Likewise.
63942         * lib/unictype/ctype_punct.h: Likewise.
63943         * lib/unictype/ctype_space.h: Likewise.
63944         * lib/unictype/ctype_upper.h: Likewise.
63945         * lib/unictype/ctype_xdigit.h: Likewise.
63946         * lib/unictype/decdigit.h: Likewise.
63947         * lib/unictype/digit.h: Likewise.
63948         * lib/unictype/mirror.h: Likewise.
63949         * lib/unictype/numeric.h: Likewise.
63950         * lib/unictype/pr_alphabetic.h: Likewise.
63951         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
63952         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
63953         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
63954         * lib/unictype/pr_bidi_block_separator.h: Likewise.
63955         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
63956         * lib/unictype/pr_bidi_common_separator.h: Likewise.
63957         * lib/unictype/pr_bidi_control.h: Likewise.
63958         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
63959         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
63960         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
63961         * lib/unictype/pr_bidi_european_digit.h: Likewise.
63962         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
63963         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
63964         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
63965         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
63966         * lib/unictype/pr_bidi_pdf.h: Likewise.
63967         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
63968         * lib/unictype/pr_bidi_whitespace.h: Likewise.
63969         * lib/unictype/pr_combining.h: Likewise.
63970         * lib/unictype/pr_composite.h: Likewise.
63971         * lib/unictype/pr_currency_symbol.h: Likewise.
63972         * lib/unictype/pr_dash.h: Likewise.
63973         * lib/unictype/pr_decimal_digit.h: Likewise.
63974         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
63975         * lib/unictype/pr_deprecated.h: Likewise.
63976         * lib/unictype/pr_diacritic.h: Likewise.
63977         * lib/unictype/pr_extender.h: Likewise.
63978         * lib/unictype/pr_format_control.h: Likewise.
63979         * lib/unictype/pr_grapheme_base.h: Likewise.
63980         * lib/unictype/pr_grapheme_extend.h: Likewise.
63981         * lib/unictype/pr_grapheme_link.h: Likewise.
63982         * lib/unictype/pr_hex_digit.h: Likewise.
63983         * lib/unictype/pr_hyphen.h: Likewise.
63984         * lib/unictype/pr_id_continue.h: Likewise.
63985         * lib/unictype/pr_id_start.h: Likewise.
63986         * lib/unictype/pr_ideographic.h: Likewise.
63987         * lib/unictype/pr_ids_binary_operator.h: Likewise.
63988         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
63989         * lib/unictype/pr_ignorable_control.h: Likewise.
63990         * lib/unictype/pr_iso_control.h: Likewise.
63991         * lib/unictype/pr_join_control.h: Likewise.
63992         * lib/unictype/pr_left_of_pair.h: Likewise.
63993         * lib/unictype/pr_line_separator.h: Likewise.
63994         * lib/unictype/pr_logical_order_exception.h: Likewise.
63995         * lib/unictype/pr_lowercase.h: Likewise.
63996         * lib/unictype/pr_math.h: Likewise.
63997         * lib/unictype/pr_non_break.h: Likewise.
63998         * lib/unictype/pr_not_a_character.h: Likewise.
63999         * lib/unictype/pr_numeric.h: Likewise.
64000         * lib/unictype/pr_other_alphabetic.h: Likewise.
64001         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
64002         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
64003         * lib/unictype/pr_other_id_continue.h: Likewise.
64004         * lib/unictype/pr_other_id_start.h: Likewise.
64005         * lib/unictype/pr_other_lowercase.h: Likewise.
64006         * lib/unictype/pr_other_math.h: Likewise.
64007         * lib/unictype/pr_other_uppercase.h: Likewise.
64008         * lib/unictype/pr_paired_punctuation.h: Likewise.
64009         * lib/unictype/pr_paragraph_separator.h: Likewise.
64010         * lib/unictype/pr_pattern_syntax.h: Likewise.
64011         * lib/unictype/pr_pattern_white_space.h: Likewise.
64012         * lib/unictype/pr_private_use.h: Likewise.
64013         * lib/unictype/pr_punctuation.h: Likewise.
64014         * lib/unictype/pr_quotation_mark.h: Likewise.
64015         * lib/unictype/pr_radical.h: Likewise.
64016         * lib/unictype/pr_sentence_terminal.h: Likewise.
64017         * lib/unictype/pr_soft_dotted.h: Likewise.
64018         * lib/unictype/pr_space.h: Likewise.
64019         * lib/unictype/pr_terminal_punctuation.h: Likewise.
64020         * lib/unictype/pr_titlecase.h: Likewise.
64021         * lib/unictype/pr_unassigned_code_value.h: Likewise.
64022         * lib/unictype/pr_unified_ideograph.h: Likewise.
64023         * lib/unictype/pr_uppercase.h: Likewise.
64024         * lib/unictype/pr_variation_selector.h: Likewise.
64025         * lib/unictype/pr_white_space.h: Likewise.
64026         * lib/unictype/pr_xid_continue.h: Likewise.
64027         * lib/unictype/pr_xid_start.h: Likewise.
64028         * lib/unictype/pr_zero_width.h: Likewise.
64029         * lib/unictype/scripts.h: Likewise.
64030         * lib/unictype/scripts_byname.gperf: Likewise.
64031         * lib/unictype/sy_c_ident.h: Likewise.
64032         * lib/unictype/sy_c_whitespace.h: Likewise.
64033         * lib/unictype/sy_java_ident.h: Likewise.
64034         * lib/unictype/sy_java_whitespace.h: Likewise.
64035
64036         * lib/unictype/Makefile: New file.
64037         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
64038         glibc.
64039         * lib/unictype/3level.h: New file, copied from glibc.
64040         * lib/unictype/3levelbit.h: New file.
64041
64042 2007-11-11  Bruno Haible  <bruno@clisp.org>
64043
64044         * modules/gperf: New file.
64045         * modules/iconv_open (Depends-on): Add it.
64046         (Makefile.am): Remove the GPERF definition.
64047
64048 2007-11-11  Bruno Haible  <bruno@clisp.org>
64049
64050         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
64051         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
64052
64053 2007-11-11  Bruno Haible  <bruno@clisp.org>
64054
64055         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
64056         (usage): Remove function.
64057
64058 2007-11-11  Bruno Haible  <bruno@clisp.org>
64059
64060         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
64061         gl_FUNC_CEILF_LIBS.
64062         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
64063         gl_FUNC_CEIL_LIBS.
64064         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
64065         gl_FUNC_CEILL_LIBS.
64066         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
64067         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
64068         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
64069
64070 2007-11-11  Bruno Haible  <bruno@clisp.org>
64071
64072         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
64073         roundf were declared but do not exist on functions.
64074         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
64075         roundl were declared but do not exist on functions.
64076         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
64077         HAVE_FLOORL_AND_CEILL, respectively.
64078         Needed for Sun C on Solaris 10.
64079
64080 2007-11-11  Bruno Haible  <bruno@clisp.org>
64081
64082         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
64083         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
64084         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
64085         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
64086         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
64087         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
64088         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
64089         HAVE_DECL_ROUNDF.
64090         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
64091         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
64092         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
64093         of HAVE_DECL_ROUND*.
64094         * modules/math (Makefile.am): Update.
64095
64096 2007-11-10  Bruno Haible  <bruno@clisp.org>
64097
64098         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
64099         ptrdiff_t as m4/intl.m4.
64100
64101 2007-11-10  Jim Meyering  <meyering@redhat.com>
64102
64103         Avoid link failure for the argmatch test.
64104         * tests/test-argmatch.c (usage): Define function to avoid a link
64105         failure: argmatch_die requires a usage function.
64106
64107 2007-11-09  Bruno Haible  <bruno@clisp.org>
64108
64109         * doc/functions/snprintf.texi: Mention BeOS deficiency.
64110         * doc/functions/vsnprintf.texi: Likewise.
64111         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
64112         with a size argument < 2.
64113
64114 2007-11-09  Bruno Haible  <bruno@clisp.org>
64115
64116         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
64117         buffer. Fixes an inefficiency introduced on 2007-11-03.
64118
64119 2007-11-09  Bruno Haible  <bruno@clisp.org>
64120
64121         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
64122         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
64123
64124 2007-11-08  Jim Meyering  <meyering@redhat.com>
64125
64126         Change cache variable name prefix "jm_" to "gl_" everywhere.
64127         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
64128         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
64129         * m4/uptime.m4: s/gl_/jm_/
64130
64131 2007-11-07  Bruno Haible  <bruno@clisp.org>
64132
64133         Update to GNU gettext 0.17.
64134         * m4/intl.m4: Update to GNU gettext 0.17.
64135         * m4/po.m4: Likewise.
64136         * modules/gettext (Files): Remove m4/ulonglong.m4.
64137         (configure.ac): Require gettext infrastructure from version 0.17.
64138
64139 2007-11-06  Bruno Haible  <bruno@clisp.org>
64140
64141         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
64142         symbolic values are not defined in a public header.
64143         * lib/freadable.c (freadable) [QNX]: Likewise.
64144         * lib/freadahead.c (freadahead) [QNX]: Likewise.
64145         * lib/freading.c (freading) [QNX]: Likewise.
64146         * lib/fseterr.c (fseterr) [QNX]: Likewise.
64147         * lib/fwritable.c (fwritable) [QNX]: Likewise.
64148         * lib/fwriting.c (fwriting) [QNX]: Likewise.
64149         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
64150         Reported by Alain Magloire.
64151
64152         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
64153
64154 2007-11-05  Bruno Haible  <bruno@clisp.org>
64155
64156         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
64157         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
64158         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
64159         Reported by Eric Blake.
64160
64161 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64162             Bruno Haible  <bruno@clisp.org>
64163
64164         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
64165         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
64166         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
64167         (malloc): Undefine also before including <stdlib.h>.
64168         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
64169         Needed on OSF/1 4.0.
64170
64171 2007-11-05  Jim Meyering  <meyering@redhat.com>
64172
64173         git-version-gen: sync from coreutils.
64174         * build-aux/git-version-gen: Add comments.
64175         Change the first '-' to '.' in the snapshot version string,
64176         e.g., 6.9-377-08144 -> 6.9.377-08144
64177         Remove first parameter.
64178         Don't declare a version "-dirty" merely because a time
64179         stamp has changed.
64180
64181 2007-11-04  Bruno Haible  <bruno@clisp.org>
64182
64183         * lib/lock.h: Protect all macro definitions containing an 'if'
64184         statement through a "do { ... } while (0)".
64185         * lib/tls.h: Likewise.
64186
64187 2007-11-04  Bruno Haible  <bruno@clisp.org>
64188
64189         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
64190
64191 2007-11-04  Bruno Haible  <bruno@clisp.org>
64192
64193         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
64194         * modules/fprintf-posix (Depends-on): Add nocrash.
64195         * modules/snprintf-posix (Depends-on): Likewise.
64196         * modules/sprintf-posix (Depends-on): Likewise.
64197         * modules/vasnprintf-posix (Depends-on): Likewise.
64198         * modules/vasprintf-posix (Depends-on): Likewise.
64199         * modules/vfprintf-posix (Depends-on): Likewise.
64200         * modules/vsnprintf-posix (Depends-on): Likewise.
64201         * modules/vsprintf-posix (Depends-on): Likewise.
64202         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
64203         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
64204         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
64205         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
64206         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
64207         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
64208         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
64209
64210 2007-11-04  Bruno Haible  <bruno@clisp.org>
64211
64212         * modules/nocrash: New file.
64213         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
64214         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
64215
64216 2007-11-04  Bruno Haible  <bruno@clisp.org>
64217
64218         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
64219         precision handling.
64220         * tests/test-vasprintf-posix.c (test_function): Likewise.
64221         * tests/test-snprintf-posix.h (test_function): Likewise.
64222         * tests/test-sprintf-posix.h (test_function): Likewise.
64223
64224         Fix *printf behaviour for large precisions on mingw and BeOS.
64225         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
64226         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
64227         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
64228         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64229         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64230         gl_PRINTF_PRECISION and test its result. Invoke
64231         gl_PREREQ_VASNPRINTF_PRECISION.
64232         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64233         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64234         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64235         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64236         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64237         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64238         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64239         * doc/functions/fprintf.texi: Update.
64240         * doc/functions/printf.texi: Update.
64241         * doc/functions/snprintf.texi: Update.
64242         * doc/functions/sprintf.texi: Update.
64243         * doc/functions/vfprintf.texi: Update.
64244         * doc/functions/vprintf.texi: Update.
64245         * doc/functions/vsnprintf.texi: Update.
64246         * doc/functions/vsprintf.texi: Update.
64247
64248 2007-11-04  Bruno Haible  <bruno@clisp.org>
64249
64250         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
64251
64252 2007-11-04  Bruno Haible  <bruno@clisp.org>
64253
64254         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
64255         Reported by Sylvain Beucler <beuc@gnu.org>.
64256
64257 2007-11-03  Bruno Haible  <bruno@clisp.org>
64258
64259         * tests/test-fprintf-posix2.sh: New file.
64260         * tests/test-fprintf-posix2.c: New file.
64261         * modules/fprintf-posix-tests (Files): Add them.
64262         (TESTS): Add test-fprintf-posix2.sh.
64263         (configure.ac): Check for getrlimit and setrlimit.
64264         (check_PROGRAMS): Add test-fprintf-posix2.
64265
64266         * tests/test-printf-posix2.sh: New file.
64267         * tests/test-printf-posix2.c: New file.
64268         * modules/printf-posix-tests (Files): Add them.
64269         (TESTS): Add test-printf-posix2.sh.
64270         (configure.ac): Check for getrlimit and setrlimit.
64271         (check_PROGRAMS): Add test-printf-posix2.
64272
64273         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
64274         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
64275         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
64276         (decode_double): New function, copied from decode_long_double.
64277         (scale10_round_decimal_decoded): New function, extracted from
64278         scale10_round_decimal_long_double.
64279         (scale10_round_decimal_long_double): Use it.
64280         (scale10_round_decimal_double): New function.
64281         (floorlog10): New function.
64282         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
64283         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
64284         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64285         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64286         gl_PRINTF_ENOMEM and test its result. Invoke
64287         gl_PREREQ_VASNPRINTF_ENOMEM.
64288         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64289         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64290         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64291         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64292         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64293         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64294         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64295         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
64296         * modules/snprintf-posix (Depends-on): Likewise.
64297         * modules/sprintf-posix (Depends-on): Likewise.
64298         * modules/vasnprintf-posix (Depends-on): Likewise.
64299         * modules/vasprintf-posix (Depends-on): Likewise.
64300         * modules/vfprintf-posix (Depends-on): Likewise.
64301         * modules/vsnprintf-posix (Depends-on): Likewise.
64302         * modules/vsprintf-posix (Depends-on): Likewise.
64303         * doc/functions/fprintf.texi: Update.
64304         * doc/functions/printf.texi: Update.
64305         * doc/functions/snprintf.texi: Update.
64306         * doc/functions/sprintf.texi: Update.
64307         * doc/functions/vfprintf.texi: Update.
64308         * doc/functions/vprintf.texi: Update.
64309         * doc/functions/vsnprintf.texi: Update.
64310         * doc/functions/vsprintf.texi: Update.
64311
64312 2007-11-03  Bruno Haible  <bruno@clisp.org>
64313
64314         * modules/frexp-nolibm-tests: New file.
64315
64316         * modules/frexp-nolibm: New file.
64317         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
64318
64319 2007-11-03  Bruno Haible  <bruno@clisp.org>
64320
64321         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
64322         value is C99 compliant.
64323         Needed for OSF/1 5.1.
64324
64325 2007-11-03  Bruno Haible  <bruno@clisp.org>
64326
64327         Fix out-of-memory handling of vasnprintf.
64328         * lib/printf-parse.c: Include <errno.h>.
64329         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
64330         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
64331         is already set.
64332
64333 2007-11-02  Eric Blake  <ebb9@byu.net>
64334
64335         Fix tests on cygwin.
64336         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
64337
64338 2007-11-01  Bruno Haible  <bruno@clisp.org>
64339
64340         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
64341         warning.
64342         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
64343         needed for POSIX compatibility.
64344
64345 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
64346
64347         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
64348         for compatibility with GNU.
64349
64350 2007-11-01  Bruno Haible  <bruno@clisp.org>
64351
64352         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
64353         (putenv): Renamed from rpl_putenv. Change argument type from
64354         'const char *' to 'char *'.
64355         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
64356         of defining putenv in config.h, just set REPLACE_PUTENV.
64357         * modules/putenv (Depends-on): Add stdlib.
64358         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
64359         (Include): Use <stdlib.h>.
64360         * lib/stdlib.in.h (putenv): New declaration.
64361         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
64362         REPLACE_PUTENV.
64363         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
64364         REPLACE_PUTENV.
64365         Needed for MacOS X 10.5.0.
64366         Reported by Peter O'Gorman <peter@pogma.com>.
64367
64368 2007-11-01  Jim Meyering  <meyering@redhat.com>
64369
64370         Treat an empty date string exactly like "0".
64371         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
64372         if the remaining date string (to be parsed) is empty, use "0".
64373         Reported by Mischa Molhoek and discussed in this thread:
64374         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
64375
64376 2007-10-31  Bruno Haible  <bruno@clisp.org>
64377
64378         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
64379         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
64380         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
64381         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
64382         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
64383         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
64384
64385 2007-10-31  Bruno Haible  <bruno@clisp.org>
64386
64387         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
64388         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
64389         (AC_TYPE_LONG_LONG_INT): Use it.
64390         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
64391         it as well.
64392         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
64393         to m4/longlong.m4.
64394         * modules/stdint (Files): Remove m4/ulonglong.m4.
64395         * modules/strtoull (Files): Use m4/longlong.m4 instead of
64396         m4/ulonglong.m4.
64397         * modules/strtoumax (Files): Likewise.
64398
64399 2007-10-30  Bruno Haible  <bruno@clisp.org>
64400
64401         * modules/xvasprintf-posix: New file.
64402         Suggested by Eric Blake.
64403
64404 2007-10-30  Bruno Haible  <bruno@clisp.org>
64405
64406         * modules/xprintf-posix-tests: New file.
64407         * tests/test-xprintf-posix.sh: New file.
64408         * tests/test-xprintf-posix.c: New file.
64409         * tests/test-xfprintf-posix.c: New file.
64410
64411         * modules/xprintf-posix: New file.
64412
64413 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64414
64415         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
64416         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
64417         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
64418
64419 2007-10-29  Bruno Haible  <bruno@clisp.org>
64420
64421         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
64422         contain the special marker '_cv_'.
64423         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
64424         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
64425         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
64426         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
64427         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
64428         Reported by Ralf Wildenhues.
64429
64430 2007-10-29  Bruno Haible  <bruno@clisp.org>
64431
64432         * gnulib-tool (func_import): When --lgpl is not specified, set
64433         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
64434         GPLv3.
64435         Reported by Simon Josefsson.
64436
64437 2007-10-28  Bruno Haible  <bruno@clisp.org>
64438
64439         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
64440         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
64441         HAVE_DECL_ISFINITE.
64442         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64443         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
64444         HAVE_DECL_ISFINITE.
64445
64446 2007-10-28  Bruno Haible  <bruno@clisp.org>
64447
64448         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
64449         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
64450
64451 2007-10-28  Bruno Haible  <bruno@clisp.org>
64452
64453         Fix link errors with Sun C 5.0 on Solaris 10.
64454         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
64455         function is declared but not present in the compiler's libm.
64456         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
64457         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
64458         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
64459         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
64460         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
64461         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
64462         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
64463         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64464         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
64465         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
64466         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
64467         HAVE_DECL_FLOORL.
64468
64469 2007-10-28  Bruno Haible  <bruno@clisp.org>
64470
64471         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
64472         gl_FUNC_FLOORL. Cache the result.
64473         (gl_FUNC_FLOORL): Use it.
64474         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
64475         gl_FUNC_CEILL. Cache the result.
64476         (gl_FUNC_CEILL): Use it.
64477
64478         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
64479         gl_FUNC_FLOOR. Cache the result.
64480         (gl_FUNC_FLOOR): Use it.
64481         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
64482         gl_FUNC_CEIL. Cache the result.
64483         (gl_FUNC_CEIL): Use it.
64484
64485         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
64486         gl_FUNC_FLOORF. Cache the result.
64487         (gl_FUNC_FLOORF): Use it.
64488         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
64489         gl_FUNC_CEILF. Cache the result.
64490         (gl_FUNC_CEILF): Use it.
64491
64492 2007-10-28  Bruno Haible  <bruno@clisp.org>
64493
64494         * gnulib-tool: Allow specifying the LGPL version number through
64495         --lgpl=2 or --lgpl=3.
64496         (func_usage): Document --lgpl with argument.
64497         Handle --lgpl=... arguments.
64498         (func_import): Recognize also gl_LGPL calls with an argument. When
64499         --lgpl=2 is used and the module's license is just LGPL, report an
64500         error. Set sed_transform_lib_file according to the lgpl variable. In
64501         the generated files, use --lgpl or gl_LGPL invocations with argument,
64502         if necessary.
64503         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
64504         an LGPv2+ license.
64505         * doc/gnulib-tool.texi (Modified imports): Update explanation of
64506         gl_LGPL macro.
64507
64508 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64509             Bruno Haible  <bruno@clisp.org>
64510
64511         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
64512         (u16_uctomb_aux): Likewise.
64513         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
64514         !HAVE_INLINE.
64515         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
64516
64517 2007-10-28  Bruno Haible  <bruno@clisp.org>
64518
64519         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
64520         Invoke AM_GETTEXT_OPTION if it exists.
64521         * modules/vasprintf: Likewise.
64522         * modules/verror: Likewise.
64523         * modules/xprintf: Likewise.
64524         * modules/xvasprintf: Likewise.
64525
64526 2007-10-27  Ben Pfaff  <blp@gnu.org>
64527
64528         * lib/math.in.h: Define isfinite macro and prototypes for
64529         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
64530         implementations.
64531         * m4/math_h.m4: New substitutions for isfinite module.
64532         * lib/isfinite.c: New file.
64533         * m4/isfinite.m4: New file.
64534         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
64535         * modules/isfinite: New file.
64536         * modules/isfinite-tests: New file.
64537         * tests/tests-isfinite.c: New file.
64538         * doc/functions/isfinite.texi: Mention isfinite module.
64539         * MODULES.html.sh: Mention new module.
64540
64541 2007-10-27  Ben Pfaff  <blp@gnu.org>
64542
64543         Ralf Wildenhues reported that Tru64 4.0D declares the round
64544         functions but does not have definitions.
64545         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
64546         cannot be found in any library, set the output variable to
64547         "missing" instead of "".
64548         * m4/round.m4: Also use our substitute if we cannot find round in
64549         any library, even if it is declared.
64550         * m4/roundf.m4: Likewise for roundf.
64551         * m4/roundl.m4: Likewise for roundl.
64552         * lib/math.in.h: Undefine roundf, round, roundl before defining
64553         their replacements, to allow for hypothetical systems where these
64554         may be defined as macros but not available in libraries.
64555
64556 2007-10-27  Bruno Haible  <bruno@clisp.org>
64557
64558         * doc/gnulib.texi: Invoke @firstparagraphindent.
64559         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
64560         changes in gnulib.
64561         (Source changes): New section.
64562
64563 2007-10-26  Bruno Haible  <bruno@clisp.org>
64564
64565         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
64566         borrowed from autoconf.
64567
64568 2007-10-26  Bruno Haible  <bruno@clisp.org>
64569
64570         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
64571         strerror returned the empty string. Needed on HP-UX 11.00.
64572
64573 2007-10-24  Micah Cowan  <micah@cowan.name>
64574
64575         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
64576         * build-aux/bootstrap: Remove support for now-unnecessary option,
64577         --cvs-user, and envvars CVS_USER, CVS_RSH.
64578
64579 2007-10-24  Jim Meyering  <meyering@redhat.com>
64580
64581         Avoid diagnostics from sha1sum when there is no cached checksum.
64582         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
64583         if the po.s1 file hasn't been created yet.
64584
64585         * build-aux/bootstrap: Sync from coreutils:
64586         2007-10-24  Jim Meyering  <meyering@redhat.com>
64587         Get gnulib from the git repository, not from an obsolete cvs one.
64588         * build-aux/bootstrap: Suggestion from Micah Cowan.
64589         2007-10-04  Jim Meyering  <jim@meyering.net>
64590         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
64591         (update_po_files): Work also when there are no .po files in po/.
64592
64593 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
64594
64595         * README: Append ".git" to git and cg examples.
64596         Problem reported by Benoit Sigoure.
64597
64598 2007-10-23  Micah Cowan  <micah@cowan.name>
64599
64600         * users.txt: Add wget.
64601
64602 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64603
64604         Fix linking of some unistdio tests on FreeBSD.
64605         * modules/unistdio/u16-vsnprintf-tests
64606         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
64607         * modules/unistdio/u16-vsprintf-tests
64608         (test_u16_vsnprintf1_LDADD): Likewise.
64609         * modules/unistdio/u32-vsnprintf-tests
64610         (test_u32_vsnprintf1_LDADD): Likewise.
64611         * modules/unistdio/u32-vsprintf-tests
64612         (test_u32_vsprintf1_LDADD): Likewise.
64613         * modules/unistdio/u8-vsnprintf-tests
64614         (test_u8_vsnprintf1_LDADD): Likewise.
64615         * modules/unistdio/u8-vsprintf-tests
64616         (test_u8_vsprintf1_LDADD): Likewise.
64617         * modules/unistdio/ulc-vsnprintf-tests
64618         (test_ulc_vsnprintf1_LDADD): Likewise.
64619         * modules/unistdio/ulc-vsprintf-tests
64620         (test_ulc_vsprintf1_LDADD): Likewise.
64621
64622         Fix linking of some uniconv tests on FreeBSD.
64623         * modules/uniconv/u16-conv-from-enc-tests
64624         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
64625         * modules/uniconv/u16-conv-to-enc-tests
64626         (test_u16_conv_to_enc_LDADD): Likewise.
64627         * modules/uniconv/u16-strconv-from-enc-tests
64628         (test_u16_strconv_from_enc_LDADD): Likewise.
64629         * modules/uniconv/u16-strconv-to-enc-tests
64630         (test_u16_strconv_to_enc_LDADD): Likewise.
64631         * modules/uniconv/u32-conv-from-enc-tests
64632         (test_u32_conv_from_enc_LDADD): Likewise.
64633         * modules/uniconv/u32-conv-to-enc-tests
64634         (test_u32_conv_to_enc_LDADD): Likewise.
64635         * modules/uniconv/u32-strconv-from-enc-tests
64636         (test_u32_strconv_from_enc_LDADD): Likewise.
64637         * modules/uniconv/u32-strconv-to-enc-tests
64638         (test_u32_strconv_to_enc_LDADD): Likewise.
64639         * modules/uniconv/u8-conv-from-enc-tests
64640         (test_u8_conv_from_enc_LDADD): Likewise.
64641         * modules/uniconv/u8-conv-to-enc-tests
64642         (test_u8_conv_to_enc_LDADD): Likewise.
64643         * modules/uniconv/u8-strconv-from-enc-tests
64644         (test_u8_strconv_from_enc_LDADD): Likewise.
64645         * modules/uniconv/u8-strconv-to-enc-tests
64646         (test_u8_strconv_to_enc_LDADD): Likewise.
64647
64648 2007-10-22  Bruno Haible  <bruno@clisp.org>
64649
64650         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
64651         size.
64652
64653 2007-10-22  Eric Blake  <ebb9@byu.net>
64654
64655         Tweak x*printf documentation.
64656         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
64657         variable name and comments.
64658         Suggested by Bruno Haible.
64659
64660 2007-10-22  Bruno Haible  <bruno@clisp.org>
64661
64662         * lib/acl.c (copy_acl): Fix file name in comment.
64663
64664 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64665
64666         Fix Tru64 problem with stdbool.h.
64667         * lib/stdbool.in.h (false, true):
64668         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
64669         Don't declare as an enum in this situation; it runs afoul of Tru64.
64670         Problem reported by Steven M. Schweda in
64671         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
64672
64673 2007-10-22  Eric Blake  <ebb9@byu.net>
64674
64675         Also wrap vf?printf.
64676         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
64677         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
64678         (xvprintf, xvfprintf): New functions.
64679
64680 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64681
64682         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
64683         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
64684
64685         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
64686         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
64687
64688 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64689
64690         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
64691         by Bruno Haible.
64692
64693 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64694
64695         * lib/getloadavg.c
64696         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
64697         Undef `sys' after including sys/table.h, for Tru64 4.0D.
64698
64699         * tests/test-i-ring.c: Work for C89.
64700
64701 2007-10-22  Bruno Haible  <bruno@clisp.org>
64702
64703         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
64704         -1u, in preprocessor expression, so that we don't test for the bug
64705         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
64706         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
64707
64708 2007-10-22  Eric Blake  <ebb9@byu.net>
64709
64710         * tests/test-yesno.sh: Silence stderr during test.
64711
64712 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64713
64714         * modules/crypto/gc-camellia: New file.
64715
64716         * m4/gc-camellia.m4: New file.
64717
64718         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
64719
64720         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
64721
64722 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64723
64724         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
64725         --help to stdout.  Reported by sms@antinode.org (Steven
64726         M. Schweda).
64727
64728 2007-10-22  Simon Josefsson  <simon@josefsson.org>
64729
64730         * users.txt: Fix link to libksba.
64731
64732 2007-10-21  Ben Pfaff  <blp@gnu.org>
64733
64734         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
64735         round.c roundf implementation that depends on floorf and ceilf to
64736         be tested unconditionally.
64737
64738 2007-10-21  Ben Pfaff  <blp@gnu.org>
64739
64740         * m4/check-libm-func.m4: Removed.
64741         * m4/check-math-lib.m4: New file.
64742         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
64743         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
64744         definition and lack of AC_LIBOBJ([roundf]).
64745         * m4/roundl.m4: Ditto, and similarly for roundl.
64746         * modules/round: Reference new m4 file.
64747         * modules/roundf: Ditto.
64748         * modules/roundl: Ditto.
64749         * tests/test-round2.c (main): Use ROUND instead of round.
64750         Bug report from Bruno Haible.
64751
64752 2007-10-21  Bruno Haible  <bruno@clisp.org>
64753
64754         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
64755         context.
64756
64757 2007-10-21  Bruno Haible  <bruno@clisp.org>
64758
64759         * tests/test-wcwidth.c (main): Allow negative result for some control
64760         characters.
64761
64762         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
64763         Needed on OSF/1 5.1.
64764
64765 2007-10-21  Bruno Haible  <bruno@clisp.org>
64766
64767         * tests/test-floorf1.c: Include isnanf.h.
64768         (main): Use isnanf() instead of isnan().
64769         * tests/test-ceilf1.c: Include isnanf.h.
64770         (main): Use isnanf() instead of isnan().
64771         * tests/test-truncf1.c: Include isnanf.h.
64772         (main): Use isnanf() instead of isnan().
64773         * tests/test-roundf1.c: Include isnanf.h.
64774         (main): Use isnanf() instead of isnan().
64775
64776 2007-10-21  Eric Blake  <ebb9@byu.net>
64777
64778         * users.txt: Update URL for m4.
64779
64780 2007-10-21  Bruno Haible  <bruno@clisp.org>
64781
64782         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
64783
64784 2007-10-21  Bruno Haible  <bruno@clisp.org>
64785
64786         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
64787         Git's management files if the CVS files are not present.
64788
64789 2007-10-20  Bruno Haible  <bruno@clisp.org>
64790
64791         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
64792         gcc-3.4.x.
64793
64794 2007-10-20  Ben Pfaff  <blp@gnu.org>
64795
64796         * lib/math.in.h: Declare round, roundf, roundl if we are providing
64797         implementations.
64798         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
64799         * lib/round.c: New file.
64800         * lib/roundf.c: New file.
64801         * lib/roundl.c: New file.
64802         * m4/round.m4: New file.
64803         * m4/roundf.m4: New file.
64804         * m4/roundl.m4: New file.
64805         * m4/check-libm-func-m4: New file.
64806         * modules/math: Replace round, roundf, roundl related @VARS@ in
64807         math.in.h.
64808         * modules/round: New file.
64809         * modules/round-tests: New file.
64810         * modules/roundf: New file.
64811         * modules/roundf-tests: New file.
64812         * modules/roundl: New file.
64813         * modules/roundl-tests: New file.
64814         * tests/test-round1.c: New file.
64815         * tests/test-round2.c: New file.
64816         * tests/test-roundf1.c: New file.
64817         * tests/test-roundf2.c: New file.
64818         * tests/test-roundl.c: New file.
64819         * doc/functions/round.texi: Mention round module.
64820         * doc/functions/roundf.texi: Mention roundf module.
64821         * doc/functions/roundl.texi: Mention roundl module.
64822         * MODULES.html.sh: Mention new modules.
64823         Thanks to Bruno Haible for suggestions.
64824
64825 2007-10-20  Jim Meyering  <meyering@redhat.com>
64826
64827         * lib/xprintf.c: Include <config.h> unconditionally.
64828
64829         Change xprintf's license to GPL.
64830         * modules/xprintf (License): s/LGPL/GPL/, since this module
64831         depends on modules (exit and exitfail) which are GPL.
64832         Suggestion from Bruno Haible.
64833
64834         xprintf fixes.
64835         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
64836         Use a clearer diagnostic.
64837         Patch from Bruno Haible.
64838
64839 2007-10-20  Bruno Haible  <bruno@clisp.org>
64840
64841         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
64842         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
64843         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64844
64845 2007-10-20  Bruno Haible  <bruno@clisp.org>
64846
64847         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
64848         precision in the comparison result > x - 1 or similar.
64849         * tests/test-ceilf2.c (correct_result_p): Likewise.
64850         * tests/test-truncf2.c (correct_result_p): Likewise.
64851         * tests/test-trunc2.c (correct_result_p): Likewise.
64852         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
64853
64854 2007-10-20  Bruno Haible  <bruno@clisp.org>
64855
64856         * modules/ceil: New file.
64857         * m4/ceil.m4: New file.
64858         * doc/functions/ceil.texi: Mention the 'ceil' module.
64859
64860 2007-10-20  Bruno Haible  <bruno@clisp.org>
64861
64862         * modules/floor: New file.
64863         * m4/floor.m4: New file.
64864         * doc/functions/floor.texi: Mention the 'floor' module.
64865
64866 2007-10-20  Bruno Haible  <bruno@clisp.org>
64867
64868         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
64869         of %a.
64870         * modules/floorf-tests (Depends-on): Likewise.
64871         * modules/truncf-tests (Depends-on): Likewise.
64872         * modules/trunc-tests (Depends-on): Likewise.
64873         Reported by Ben Pfaff.
64874
64875 2007-10-19  Jim Meyering  <meyering@redhat.com>
64876
64877         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
64878         Don't bother testing specific errno values.  Just test ferror.
64879
64880         New module: xprintf
64881         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
64882
64883 2007-10-19  Bruno Haible  <bruno@clisp.org>
64884
64885         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
64886         syntax.
64887         * modules/javaexec (Makefile.am): Likewise.
64888         * modules/relocatable-prog (Makefile.am): Likewise.
64889         Suggested by Jim Meyering.
64890
64891 2007-10-18  Bruno Haible  <bruno@clisp.org>
64892
64893         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
64894         Reported by Jim Meyering.
64895
64896 2007-10-18  Eric Blake  <ebb9@byu.net>
64897
64898         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
64899
64900 2007-10-18  Bruno Haible  <bruno@clisp.org>
64901
64902         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
64903         the format string into writable memory. Needed in Fortify conditions.
64904
64905 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
64906             Bruno Haible  <bruno@clisp.org>
64907
64908         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
64909         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
64910         * modules/trim (Depends-on): Add mbchar.
64911         (configure.ac): Add gl_FUNC_MBRTOWC.
64912         (Makefile.am): Augment lib_SOURCES.
64913
64914 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
64915
64916         Modify glob.c to use fstatat and dirfd, to simplify it.
64917         Suggested by Eric Blake.
64918         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
64919         Don't include <stdbool.h>; not used.
64920         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
64921         (link_exists_p): Simplify implementation, since we can now assume
64922         dirfd and fstatat.
64923         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
64924
64925 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64926
64927         * gnulib-tool (func_get_dependencies): Fix sed script to
64928         match only tests.
64929
64930 2007-10-17  Bruno Haible  <bruno@clisp.org>
64931
64932         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
64933         allow locale names without encoding suffix.
64934         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
64935         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
64936
64937 2007-10-16  Bruno Haible  <bruno@clisp.org>
64938
64939         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
64940         * lib/getgroups.c (getgroups): Likewise.
64941         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
64942
64943 2007-10-16  Bruno Haible  <bruno@clisp.org>
64944
64945         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
64946         * modules/malloc-posix (License): Likewise.
64947         * modules/realloc-posix (License): Likewise.
64948         * modules/calloc-posix (License): Likewise.
64949         * modules/intprops (License): Change from GPL to LGPL, with
64950         Paul Eggert's approval.
64951
64952 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
64953
64954         Merge glibc changes into lib/glob.c.
64955
64956         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
64957         2007-10-15 04:59:03 UTC.  Here are the changes:
64958
64959         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
64960
64961         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
64962
64963         * lib/glob.c: Add some branch prediction throughout.
64964
64965         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
64966
64967         [BZ #5103]
64968         * lib/glob.c (glob): Recognize patterns starting \/.
64969
64970         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
64971
64972         [BZ #3996]
64973         * lib/glob.c (attribute_hidden): Define if not defined.
64974         (glob): Unescape dirname, filename or username when needed and not
64975         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
64976         is NULL.  Handle unescaped [ in pattern without closing ].
64977         Don't pass GLOB_CHECK down to recursive glob for directories.
64978         (__glob_pattern_type): New function.
64979         (__glob_pattern_p): Implement using __glob_pattern_type.
64980         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
64981         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
64982         Remove unreachable code.
64983
64984         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
64985
64986         * lib/glob.c (glob_in_dir): Add some comments and asserts to
64987         explain why there are no leaks.
64988
64989         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
64990
64991         [BZ #3253]
64992         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
64993         time, rather allocate increasingly bigger arrays of pointers, if
64994         possible with alloca, if too large with malloc.
64995
64996 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
64997
64998         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
64999         Problem reported by H.Merijn Brand in
65000         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
65001         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
65002         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
65003
65004 2007-10-15  Bruno Haible  <bruno@clisp.org>
65005
65006         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
65007         with explicit rpl_ prefix.
65008         * lib/fopen.c (fopen): Likewise.
65009         * lib/freopen.c (freopen): Likewise.
65010         * lib/iconv.c (iconv): Likewise.
65011         * lib/iconv_close.c (iconv_close): Likewise.
65012
65013 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65014
65015         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
65016
65017 2007-10-15  Bruno Haible  <bruno@clisp.org>
65018
65019         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
65020         <stddef.h> instead of <stdlib.h> since we only need NULL.
65021         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65022
65023 2007-10-15  Bruno Haible  <bruno@clisp.org>
65024
65025         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
65026         Replace paragraph talking about LIBOBJS.
65027         Reported by Colin Watson <cjwatson@debian.org>.
65028
65029 2007-10-15  Bruno Haible  <bruno@clisp.org>
65030
65031         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
65032         <stdlib.h> before using NULL.
65033
65034 2007-10-15  Simon Josefsson  <simon@josefsson.org>
65035
65036         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
65037         Reported by Albert Chin <china@thewrittenword.com>.
65038
65039 2007-10-14  Bruno Haible  <bruno@clisp.org>
65040
65041         * modules/iconv_open-utf-tests: New file.
65042         * tests/test-iconv-utf.c: New file.
65043
65044         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
65045         * modules/iconv_open-utf: New file.
65046         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
65047         (iconv, iconv_close): New declarations.
65048         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
65049         be defined.
65050         (iconv_open): Add special handling of conversion between UTF-8 and
65051         UTF-{16,32}{BE,LE}.
65052         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
65053         * lib/iconv_close.c: New file.
65054         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
65055         gl_FUNC_ICONV_OPEN.
65056         (gl_FUNC_ICONV_OPEN): Use it.
65057         (gl_FUNC_ICONV_OPEN_UTF): New macro.
65058         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
65059         and REPLACE_ICONV_UTF.
65060         * modules/iconv_open (Depends-on): Add c-strcase.
65061         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
65062         ICONV_CONST.
65063         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
65064
65065 2007-10-13  Albert Chin  <china@thewrittenword.com>
65066             Bruno Haible  <bruno@clisp.org>
65067
65068         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
65069         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
65070
65071 2007-10-13  Bruno Haible  <bruno@clisp.org>
65072
65073         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
65074         defined, use the ISO C99 inline semantics.
65075         * lib/argp.h (ARGP_EI): Likewise.
65076
65077 2007-10-13  Bruno Haible  <bruno@clisp.org>
65078
65079         Handle 'inline' change in gcc 4.3.0.
65080         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
65081         argp_fmtstream_write, argp_fmtstream_set_lmargin,
65082         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
65083         argp_fmtstream_point): Disable 'extern' declaration if the function
65084         definition is going to be provided inline.
65085         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
65086         semantics, not the ISO C99 inline semantics.
65087         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
65088         'extern' declaration if the function definition is going to be provided
65089         inline.
65090         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
65091         the GNU C inline semantics, not the ISO C99 inline semantics. With
65092         GCC 4.2, avoid a warning.
65093
65094 2007-10-13  Bruno Haible  <bruno@clisp.org>
65095
65096         * lib/freading.h (freading): Enable the use of __freading for
65097         glibc >= 2.7.
65098         * lib/freading.c (freading): Likewise.
65099
65100 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
65101
65102         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
65103         "warning: C99 inline functions are not supported; using GNU89".
65104
65105 2007-10-12  Bruno Haible  <bruno@clisp.org>
65106
65107         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
65108         of 2.
65109         * tests/test-ceilf2.c: New file.
65110         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
65111
65112         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
65113         * modules/ceilf-tests: Update.
65114
65115 2007-10-12  Bruno Haible  <bruno@clisp.org>
65116
65117         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
65118         of 2.
65119         * tests/test-floorf2.c: New file.
65120         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
65121
65122         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
65123         * modules/floorf-tests: Update.
65124
65125 2007-10-12  Bruno Haible  <bruno@clisp.org>
65126
65127         * tests/test-trunc2.c: New file.
65128         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
65129
65130         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
65131         * modules/trunc-tests: Update.
65132
65133 2007-10-12  Bruno Haible  <bruno@clisp.org>
65134
65135         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
65136         of 2.
65137         * tests/test-truncf2.c: New file.
65138         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
65139
65140         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
65141         * modules/truncf-tests: Update.
65142
65143 2007-10-11  Eric Blake  <ebb9@byu.net>
65144
65145         Don't claim strerror is broken on Interix.
65146         * doc/functions/strerror.texi (strerror): Known broken systems are
65147         now Solaris 8, and not Interix.
65148         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
65149         Interix on cross-compile.
65150         Reported by Martin Koeppe in
65151         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
65152
65153 2007-10-11  Bruno Haible  <bruno@clisp.org>
65154
65155         * modules/i-ring-tests: New file.
65156         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
65157         instead of assert.
65158
65159 2007-10-11  Bruno Haible  <bruno@clisp.org>
65160
65161         * modules/filenamecat-tests: New file.
65162         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
65163         * lib/filenamecat.c: Remove test code.
65164
65165 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
65166
65167         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
65168
65169         * lib/strerror.c: Include <string.h> always, to test interface,
65170         and to remove the need for the dummy.
65171         Include intprops.h to compute width instead of doing it ourselves
65172         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
65173         (strerror): Define it to return NULL if there's no system strerror.
65174         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
65175         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
65176         ancient pre-strerror Unix systems well any more.  Saying "unknown
65177         system error" is enough.
65178         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
65179         simpler strerror.c implementation.
65180         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
65181         Simplify the tests to reflect the simpler strerror implementation.
65182         * modules/strerror (Depends-on): Add intprops.
65183
65184 2007-10-09  Eric Blake  <ebb9@byu.net>
65185
65186         Silence test-fpending.
65187         * modules/fpending-tests (Files): Add wrapper script.
65188         * tests/test-fpending.sh: New file.
65189
65190 2007-10-09  Bruno Haible  <bruno@clisp.org>
65191
65192         * MODULES.html.sh (func_module): Don't create a hyperlink for
65193         function names like 'printf_frexp'.
65194         (Misc): Add crc, memxor.
65195         (Characteristics of floating types): New section.
65196         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
65197         isnanf-nolibm, signbit, trunc, truncf, truncl.
65198         (Enhancements for ISO C 99 functions): New subsection Input/output.
65199         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
65200         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
65201         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
65202         (Compatibility checks for POSIX:2001 functions): Add clock-time.
65203         (Enhancements for POSIX:2001 functions): Add chdir-long.
65204         (File system functions): Add areadlink, chdir-safer, read-file.
65205         Remove cycle-check.
65206         (File system as inode set): New section.
65207         (Date and time): Add gethrxtime.
65208         (Multithreading): Add openmp.
65209         (Internationalization functions): Add localename.
65210         (Unicode string functions): Add unistr/u*-mbsnlen.
65211         (Support for maintaining and releasing projects): Add git-version-gen.
65212         (Lone files): Remove directories.
65213
65214 2007-10-08  Ben Pfaff  <blp@gnu.org>
65215
65216         * lib/xmalloca.h: Fix typo in comment.
65217
65218 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
65219
65220         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
65221         when avoiding problems with integer overflow.  Use a portable test
65222         instead.
65223
65224 2007-10-08  Simon Josefsson  <simon@josefsson.org>
65225
65226         * modules/dummy (License): Change to LGPLv2+.
65227         * modules/float (License): Likewise
65228         * modules/realloc (License): Likewise
65229         * modules/stdlib (License): Likewise
65230
65231 2007-10-07  Bruno Haible  <bruno@clisp.org>
65232
65233         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
65234         * floor.c (TWO_MANT_DIG): Likewise.
65235         * ceil.c (TWO_MANT_DIG): Likewise.
65236         Reported by Ben Pfaff.
65237
65238 2007-10-07  Bruno Haible  <bruno@clisp.org>
65239
65240         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
65241         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
65242         * lib/frexp.c (FUNC): Likewise.
65243         * lib/printf-frexp.h (printf_frexp): Likewise.
65244         * lib/printf-frexpl.h (printf_frexpl): Likewise.
65245         * lib/printf-frexp.c (FUNC): Likewise.
65246         Suggested by Jim Meyering.
65247
65248 2007-10-07  Jim Meyering  <meyering@redhat.com>
65249
65250         Make xnanosleep's integer overflow test more robust.
65251         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
65252         so that gcc-4.3.0 doesn't optimize away this test for overflow.
65253
65254 2007-10-07  Bruno Haible  <bruno@clisp.org>
65255
65256         * NEWS: Mention the license change.
65257
65258         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
65259         abbreviations in the modules files.
65260
65261         Change copyright notice from GPLv2+ to GPLv3+.
65262         * README: Change copyright notice.
65263         * MODULES.html.sh: Likewise.
65264         * build-aux/bootstrap.conf: Likewise.
65265         * build-aux/config.libpath: Likewise.
65266         * build-aux/csharpcomp.sh.in: Likewise.
65267         * build-aux/csharpexec.sh.in: Likewise.
65268         * build-aux/install-reloc: Likewise.
65269         * build-aux/javacomp.sh.in: Likewise.
65270         * build-aux/javaexec.sh.in: Likewise.
65271         * build-aux/ldd.sh.in: Likewise.
65272         * build-aux/reloc-ldflags: Likewise.
65273         * build-aux/relocatable.sh.in: Likewise.
65274         * build-aux/x-to-1.in: Likewise.
65275         * check-module: Likewise.
65276         * config/srclistvars.sh: Likewise.
65277         * gnulib-tool: Likewise.
65278         * lib/acl-internal.h: Likewise.
65279         * lib/acl.c: Likewise.
65280         * lib/acl.h: Likewise.
65281         * lib/acl_entries.c: Likewise.
65282         * lib/areadlink-with-size.c: Likewise.
65283         * lib/areadlink.c: Likewise.
65284         * lib/areadlink.h: Likewise.
65285         * lib/argmatch.c: Likewise.
65286         * lib/argmatch.h: Likewise.
65287         * lib/argp-ba.c: Likewise.
65288         * lib/argp-eexst.c: Likewise.
65289         * lib/argp-fmtstream.c: Likewise.
65290         * lib/argp-fmtstream.h: Likewise.
65291         * lib/argp-fs-xinl.c: Likewise.
65292         * lib/argp-help.c: Likewise.
65293         * lib/argp-namefrob.h: Likewise.
65294         * lib/argp-parse.c: Likewise.
65295         * lib/argp-pin.c: Likewise.
65296         * lib/argp-pv.c: Likewise.
65297         * lib/argp-pvh.c: Likewise.
65298         * lib/argp-xinl.c: Likewise.
65299         * lib/argp.h: Likewise.
65300         * lib/at-func.c: Likewise.
65301         * lib/atanl.c: Likewise.
65302         * lib/backupfile.c: Likewise.
65303         * lib/backupfile.h: Likewise.
65304         * lib/basename.c: Likewise.
65305         * lib/binary-io.h: Likewise.
65306         * lib/byteswap.in.h: Likewise.
65307         * lib/c-stack.c: Likewise.
65308         * lib/c-stack.h: Likewise.
65309         * lib/c-strcasestr.c: Likewise.
65310         * lib/c-strcasestr.h: Likewise.
65311         * lib/c-strstr.c: Likewise.
65312         * lib/c-strstr.h: Likewise.
65313         * lib/c-strtod.c: Likewise.
65314         * lib/calloc.c: Likewise.
65315         * lib/canon-host.c: Likewise.
65316         * lib/canon-host.h: Likewise.
65317         * lib/canonicalize-lgpl.c: Likewise.
65318         * lib/canonicalize.c: Likewise.
65319         * lib/canonicalize.h: Likewise.
65320         * lib/ceil.c: Likewise.
65321         * lib/ceilf.c: Likewise.
65322         * lib/ceill.c: Likewise.
65323         * lib/chdir-long.c: Likewise.
65324         * lib/chdir-long.h: Likewise.
65325         * lib/chdir-safer.c: Likewise.
65326         * lib/chdir-safer.h: Likewise.
65327         * lib/chown.c: Likewise.
65328         * lib/classpath.c: Likewise.
65329         * lib/classpath.h: Likewise.
65330         * lib/clean-temp.c: Likewise.
65331         * lib/clean-temp.h: Likewise.
65332         * lib/cloexec.c: Likewise.
65333         * lib/close-stream.c: Likewise.
65334         * lib/closein.c: Likewise.
65335         * lib/closein.h: Likewise.
65336         * lib/closeout.c: Likewise.
65337         * lib/closeout.h: Likewise.
65338         * lib/concat-filename.c: Likewise.
65339         * lib/copy-file.c: Likewise.
65340         * lib/copy-file.h: Likewise.
65341         * lib/count-one-bits.h: Likewise.
65342         * lib/crc.c: Likewise.
65343         * lib/crc.h: Likewise.
65344         * lib/creat-safer.c: Likewise.
65345         * lib/csharpcomp.c: Likewise.
65346         * lib/csharpcomp.h: Likewise.
65347         * lib/csharpexec.c: Likewise.
65348         * lib/csharpexec.h: Likewise.
65349         * lib/cycle-check.c: Likewise.
65350         * lib/cycle-check.h: Likewise.
65351         * lib/diacrit.c: Likewise.
65352         * lib/diacrit.h: Likewise.
65353         * lib/diffseq.h: Likewise.
65354         * lib/dirchownmod.c: Likewise.
65355         * lib/dirent.in.h: Likewise.
65356         * lib/dirfd.c: Likewise.
65357         * lib/dirfd.h: Likewise.
65358         * lib/dirname.c: Likewise.
65359         * lib/dirname.h: Likewise.
65360         * lib/dummy.c: Likewise.
65361         * lib/dup-safer.c: Likewise.
65362         * lib/dup2.c: Likewise.
65363         * lib/eealloc.h: Likewise.
65364         * lib/error.c: Likewise.
65365         * lib/error.h: Likewise.
65366         * lib/euidaccess.c: Likewise.
65367         * lib/exclude.c: Likewise.
65368         * lib/exclude.h: Likewise.
65369         * lib/execute.c: Likewise.
65370         * lib/execute.h: Likewise.
65371         * lib/exitfail.c: Likewise.
65372         * lib/exitfail.h: Likewise.
65373         * lib/expl.c: Likewise.
65374         * lib/fatal-signal.c: Likewise.
65375         * lib/fatal-signal.h: Likewise.
65376         * lib/fbufmode.c: Likewise.
65377         * lib/fbufmode.h: Likewise.
65378         * lib/fchdir.c: Likewise.
65379         * lib/fchmodat.c: Likewise.
65380         * lib/fchownat.c: Likewise.
65381         * lib/fcntl--.h: Likewise.
65382         * lib/fcntl-safer.h: Likewise.
65383         * lib/fcntl.in.h: Likewise.
65384         * lib/fd-safer.c: Likewise.
65385         * lib/fflush.c: Likewise.
65386         * lib/file-has-acl.c: Likewise.
65387         * lib/file-set.c: Likewise.
65388         * lib/file-type.c: Likewise.
65389         * lib/file-type.h: Likewise.
65390         * lib/fileblocks.c: Likewise.
65391         * lib/filemode.c: Likewise.
65392         * lib/filemode.h: Likewise.
65393         * lib/filename.h: Likewise.
65394         * lib/filenamecat.c: Likewise.
65395         * lib/filenamecat.h: Likewise.
65396         * lib/findprog.c: Likewise.
65397         * lib/findprog.h: Likewise.
65398         * lib/float.in.h: Likewise.
65399         * lib/floor.c: Likewise.
65400         * lib/floorf.c: Likewise.
65401         * lib/floorl.c: Likewise.
65402         * lib/fopen-safer.c: Likewise.
65403         * lib/fopen.c: Likewise.
65404         * lib/fpending.c: Likewise.
65405         * lib/fpending.h: Likewise.
65406         * lib/fprintf.c: Likewise.
65407         * lib/fprintftime.h: Likewise.
65408         * lib/fpucw.h: Likewise.
65409         * lib/fpurge.c: Likewise.
65410         * lib/fpurge.h: Likewise.
65411         * lib/freadable.c: Likewise.
65412         * lib/freadable.h: Likewise.
65413         * lib/freadahead.c: Likewise.
65414         * lib/freadahead.h: Likewise.
65415         * lib/freading.c: Likewise.
65416         * lib/freading.h: Likewise.
65417         * lib/free.c: Likewise.
65418         * lib/freopen.c: Likewise.
65419         * lib/frexp.c: Likewise.
65420         * lib/frexpl.c: Likewise.
65421         * lib/fseek.c: Likewise.
65422         * lib/fseterr.c: Likewise.
65423         * lib/fseterr.h: Likewise.
65424         * lib/fstatat.c: Likewise.
65425         * lib/fstrcmp.c: Likewise.
65426         * lib/fstrcmp.h: Likewise.
65427         * lib/fsusage.c: Likewise.
65428         * lib/fsusage.h: Likewise.
65429         * lib/ftell.c: Likewise.
65430         * lib/ftello.c: Likewise.
65431         * lib/fts-cycle.c: Likewise.
65432         * lib/fts.c: Likewise.
65433         * lib/fts_.h: Likewise.
65434         * lib/full-read.c: Likewise.
65435         * lib/full-read.h: Likewise.
65436         * lib/full-write.c: Likewise.
65437         * lib/full-write.h: Likewise.
65438         * lib/fwritable.c: Likewise.
65439         * lib/fwritable.h: Likewise.
65440         * lib/fwriteerror.c: Likewise.
65441         * lib/fwriteerror.h: Likewise.
65442         * lib/fwriting.c: Likewise.
65443         * lib/fwriting.h: Likewise.
65444         * lib/gcd.c: Likewise.
65445         * lib/gcd.h: Likewise.
65446         * lib/getcwd.c: Likewise.
65447         * lib/getdate.h: Likewise.
65448         * lib/getdate.y: Likewise.
65449         * lib/getdomainname.c: Likewise.
65450         * lib/getdomainname.h: Likewise.
65451         * lib/getgroups.c: Likewise.
65452         * lib/gethostname.c: Likewise.
65453         * lib/gethrxtime.c: Likewise.
65454         * lib/gethrxtime.h: Likewise.
65455         * lib/getloadavg.c: Likewise.
65456         * lib/getndelim2.c: Likewise.
65457         * lib/getndelim2.h: Likewise.
65458         * lib/getnline.c: Likewise.
65459         * lib/getnline.h: Likewise.
65460         * lib/getopt.c: Likewise.
65461         * lib/getopt.in.h: Likewise.
65462         * lib/getopt1.c: Likewise.
65463         * lib/getopt_int.h: Likewise.
65464         * lib/getpagesize.h: Likewise.
65465         * lib/getsubopt.c: Likewise.
65466         * lib/gettime.c: Likewise.
65467         * lib/getugroups.c: Likewise.
65468         * lib/getugroups.h: Likewise.
65469         * lib/getusershell.c: Likewise.
65470         * lib/gl_anyavltree_list1.h: Likewise.
65471         * lib/gl_anyavltree_list2.h: Likewise.
65472         * lib/gl_anyhash_list1.h: Likewise.
65473         * lib/gl_anyhash_list2.h: Likewise.
65474         * lib/gl_anylinked_list1.h: Likewise.
65475         * lib/gl_anylinked_list2.h: Likewise.
65476         * lib/gl_anyrbtree_list1.h: Likewise.
65477         * lib/gl_anyrbtree_list2.h: Likewise.
65478         * lib/gl_anytree_list1.h: Likewise.
65479         * lib/gl_anytree_list2.h: Likewise.
65480         * lib/gl_anytree_oset.h: Likewise.
65481         * lib/gl_anytreehash_list1.h: Likewise.
65482         * lib/gl_anytreehash_list2.h: Likewise.
65483         * lib/gl_array_list.c: Likewise.
65484         * lib/gl_array_list.h: Likewise.
65485         * lib/gl_array_oset.c: Likewise.
65486         * lib/gl_array_oset.h: Likewise.
65487         * lib/gl_avltree_list.c: Likewise.
65488         * lib/gl_avltree_list.h: Likewise.
65489         * lib/gl_avltree_oset.c: Likewise.
65490         * lib/gl_avltree_oset.h: Likewise.
65491         * lib/gl_avltreehash_list.c: Likewise.
65492         * lib/gl_avltreehash_list.h: Likewise.
65493         * lib/gl_carray_list.c: Likewise.
65494         * lib/gl_carray_list.h: Likewise.
65495         * lib/gl_linked_list.c: Likewise.
65496         * lib/gl_linked_list.h: Likewise.
65497         * lib/gl_linkedhash_list.c: Likewise.
65498         * lib/gl_linkedhash_list.h: Likewise.
65499         * lib/gl_list.c: Likewise.
65500         * lib/gl_list.h: Likewise.
65501         * lib/gl_oset.c: Likewise.
65502         * lib/gl_oset.h: Likewise.
65503         * lib/gl_rbtree_list.c: Likewise.
65504         * lib/gl_rbtree_list.h: Likewise.
65505         * lib/gl_rbtree_oset.c: Likewise.
65506         * lib/gl_rbtree_oset.h: Likewise.
65507         * lib/gl_rbtreehash_list.c: Likewise.
65508         * lib/gl_rbtreehash_list.h: Likewise.
65509         * lib/gl_sublist.c: Likewise.
65510         * lib/gl_sublist.h: Likewise.
65511         * lib/group-member.c: Likewise.
65512         * lib/group-member.h: Likewise.
65513         * lib/hard-locale.c: Likewise.
65514         * lib/hard-locale.h: Likewise.
65515         * lib/hash-pjw.c: Likewise.
65516         * lib/hash-pjw.h: Likewise.
65517         * lib/hash-triple.c: Likewise.
65518         * lib/hash.c: Likewise.
65519         * lib/hash.h: Likewise.
65520         * lib/human.c: Likewise.
65521         * lib/human.h: Likewise.
65522         * lib/i-ring.c: Likewise.
65523         * lib/i-ring.h: Likewise.
65524         * lib/idcache.c: Likewise.
65525         * lib/imaxabs.c: Likewise.
65526         * lib/imaxdiv.c: Likewise.
65527         * lib/inet_pton.c: Likewise.
65528         * lib/inet_pton.h: Likewise.
65529         * lib/intprops.h: Likewise.
65530         * lib/inttostr.c: Likewise.
65531         * lib/inttostr.h: Likewise.
65532         * lib/inttypes.in.h: Likewise.
65533         * lib/isapipe.c: Likewise.
65534         * lib/isdir.c: Likewise.
65535         * lib/isnan.c: Likewise.
65536         * lib/isnan.h: Likewise.
65537         * lib/isnanf.c: Likewise.
65538         * lib/isnanf.h: Likewise.
65539         * lib/isnanl-nolibm.h: Likewise.
65540         * lib/isnanl.c: Likewise.
65541         * lib/isnanl.h: Likewise.
65542         * lib/javacomp.c: Likewise.
65543         * lib/javacomp.h: Likewise.
65544         * lib/javaexec.c: Likewise.
65545         * lib/javaexec.h: Likewise.
65546         * lib/javaversion.c: Likewise.
65547         * lib/javaversion.h: Likewise.
65548         * lib/javaversion.java: Likewise.
65549         * lib/lbrkprop.h: Likewise.
65550         * lib/lchmod.h: Likewise.
65551         * lib/lchown.c: Likewise.
65552         * lib/ldexpl.c: Likewise.
65553         * lib/linebreak.c: Likewise.
65554         * lib/linebreak.h: Likewise.
65555         * lib/linebuffer.c: Likewise.
65556         * lib/linebuffer.h: Likewise.
65557         * lib/locale.in.h: Likewise.
65558         * lib/logl.c: Likewise.
65559         * lib/long-options.c: Likewise.
65560         * lib/long-options.h: Likewise.
65561         * lib/lstat.c: Likewise.
65562         * lib/lstat.h: Likewise.
65563         * lib/math.in.h: Likewise.
65564         * lib/mbchar.c: Likewise.
65565         * lib/mbchar.h: Likewise.
65566         * lib/mbfile.h: Likewise.
65567         * lib/mbiter.h: Likewise.
65568         * lib/mbscasecmp.c: Likewise.
65569         * lib/mbscasestr.c: Likewise.
65570         * lib/mbschr.c: Likewise.
65571         * lib/mbscspn.c: Likewise.
65572         * lib/mbslen.c: Likewise.
65573         * lib/mbsncasecmp.c: Likewise.
65574         * lib/mbsnlen.c: Likewise.
65575         * lib/mbspbrk.c: Likewise.
65576         * lib/mbspcasecmp.c: Likewise.
65577         * lib/mbsrchr.c: Likewise.
65578         * lib/mbssep.c: Likewise.
65579         * lib/mbsspn.c: Likewise.
65580         * lib/mbsstr.c: Likewise.
65581         * lib/mbstok_r.c: Likewise.
65582         * lib/mbswidth.c: Likewise.
65583         * lib/mbswidth.h: Likewise.
65584         * lib/mbuiter.h: Likewise.
65585         * lib/memcasecmp.c: Likewise.
65586         * lib/memcasecmp.h: Likewise.
65587         * lib/memchr.c: Likewise.
65588         * lib/memcmp.c: Likewise.
65589         * lib/memcoll.c: Likewise.
65590         * lib/memcoll.h: Likewise.
65591         * lib/memcpy.c: Likewise.
65592         * lib/memrchr.c: Likewise.
65593         * lib/mkancesdirs.c: Likewise.
65594         * lib/mkdir-p.c: Likewise.
65595         * lib/mkdir-p.h: Likewise.
65596         * lib/mkdir.c: Likewise.
65597         * lib/mkdirat.c: Likewise.
65598         * lib/mkdtemp.c: Likewise.
65599         * lib/mkstemp-safer.c: Likewise.
65600         * lib/mkstemp.c: Likewise.
65601         * lib/modechange.c: Likewise.
65602         * lib/modechange.h: Likewise.
65603         * lib/mountlist.c: Likewise.
65604         * lib/mountlist.h: Likewise.
65605         * lib/mpsort.c: Likewise.
65606         * lib/nanosleep.c: Likewise.
65607         * lib/obstack.c: Likewise.
65608         * lib/obstack.h: Likewise.
65609         * lib/open-safer.c: Likewise.
65610         * lib/open.c: Likewise.
65611         * lib/openat-die.c: Likewise.
65612         * lib/openat-priv.h: Likewise.
65613         * lib/openat-proc.c: Likewise.
65614         * lib/openat.c: Likewise.
65615         * lib/openat.h: Likewise.
65616         * lib/pagealign_alloc.c: Likewise.
65617         * lib/pagealign_alloc.h: Likewise.
65618         * lib/physmem.c: Likewise.
65619         * lib/physmem.h: Likewise.
65620         * lib/pipe-safer.c: Likewise.
65621         * lib/pipe.c: Likewise.
65622         * lib/pipe.h: Likewise.
65623         * lib/posixtm.c: Likewise.
65624         * lib/posixtm.h: Likewise.
65625         * lib/posixver.c: Likewise.
65626         * lib/printf-frexp.c: Likewise.
65627         * lib/printf-frexp.h: Likewise.
65628         * lib/printf-frexpl.c: Likewise.
65629         * lib/printf-frexpl.h: Likewise.
65630         * lib/printf.c: Likewise.
65631         * lib/progname.c: Likewise.
65632         * lib/progname.h: Likewise.
65633         * lib/progreloc.c: Likewise.
65634         * lib/putenv.c: Likewise.
65635         * lib/quote.c: Likewise.
65636         * lib/quote.h: Likewise.
65637         * lib/quotearg.c: Likewise.
65638         * lib/quotearg.h: Likewise.
65639         * lib/raise.c: Likewise.
65640         * lib/readline.c: Likewise.
65641         * lib/readline.h: Likewise.
65642         * lib/readlink.c: Likewise.
65643         * lib/readtokens.c: Likewise.
65644         * lib/readtokens.h: Likewise.
65645         * lib/readtokens0.c: Likewise.
65646         * lib/readtokens0.h: Likewise.
65647         * lib/readutmp.c: Likewise.
65648         * lib/readutmp.h: Likewise.
65649         * lib/realloc.c: Likewise.
65650         * lib/relocwrapper.c: Likewise.
65651         * lib/rename-dest-slash.c: Likewise.
65652         * lib/rename.c: Likewise.
65653         * lib/rmdir.c: Likewise.
65654         * lib/rpmatch.c: Likewise.
65655         * lib/safe-read.c: Likewise.
65656         * lib/safe-read.h: Likewise.
65657         * lib/safe-write.c: Likewise.
65658         * lib/safe-write.h: Likewise.
65659         * lib/same-inode.h: Likewise.
65660         * lib/same.c: Likewise.
65661         * lib/same.h: Likewise.
65662         * lib/save-cwd.c: Likewise.
65663         * lib/save-cwd.h: Likewise.
65664         * lib/savedir.c: Likewise.
65665         * lib/savedir.h: Likewise.
65666         * lib/savewd.c: Likewise.
65667         * lib/savewd.h: Likewise.
65668         * lib/search.in.h: Likewise.
65669         * lib/setenv.c: Likewise.
65670         * lib/setenv.h: Likewise.
65671         * lib/settime.c: Likewise.
65672         * lib/sh-quote.c: Likewise.
65673         * lib/sh-quote.h: Likewise.
65674         * lib/sig2str.c: Likewise.
65675         * lib/sig2str.h: Likewise.
65676         * lib/signal.in.h: Likewise.
65677         * lib/signbitd.c: Likewise.
65678         * lib/signbitf.c: Likewise.
65679         * lib/signbitl.c: Likewise.
65680         * lib/sigprocmask.c: Likewise.
65681         * lib/sincosl.c: Likewise.
65682         * lib/sleep.c: Likewise.
65683         * lib/sprintf.c: Likewise.
65684         * lib/sqrtl.c: Likewise.
65685         * lib/stat-time.h: Likewise.
65686         * lib/stdio--.h: Likewise.
65687         * lib/stdio-safer.h: Likewise.
65688         * lib/stdlib--.h: Likewise.
65689         * lib/stdlib-safer.h: Likewise.
65690         * lib/stdlib.in.h: Likewise.
65691         * lib/stpcpy.c: Likewise.
65692         * lib/stpncpy.c: Likewise.
65693         * lib/strchrnul.c: Likewise.
65694         * lib/strcspn.c: Likewise.
65695         * lib/strerror.c: Likewise.
65696         * lib/strftime.c: Likewise.
65697         * lib/strftime.h: Likewise.
65698         * lib/striconveh.c: Likewise.
65699         * lib/striconveh.h: Likewise.
65700         * lib/striconveha.c: Likewise.
65701         * lib/striconveha.h: Likewise.
65702         * lib/stripslash.c: Likewise.
65703         * lib/strnlen1.c: Likewise.
65704         * lib/strnlen1.h: Likewise.
65705         * lib/strtod.c: Likewise.
65706         * lib/strtoimax.c: Likewise.
65707         * lib/strtok_r.c: Likewise.
65708         * lib/strtol.c: Likewise.
65709         * lib/strtoll.c: Likewise.
65710         * lib/strtoul.c: Likewise.
65711         * lib/strtoull.c: Likewise.
65712         * lib/sysexits.in.h: Likewise.
65713         * lib/tempname.c: Likewise.
65714         * lib/tempname.h: Likewise.
65715         * lib/timespec.h: Likewise.
65716         * lib/tls.c: Likewise.
65717         * lib/tls.h: Likewise.
65718         * lib/tmpdir.c: Likewise.
65719         * lib/tmpdir.h: Likewise.
65720         * lib/tmpfile-safer.c: Likewise.
65721         * lib/tmpfile.c: Likewise.
65722         * lib/trigl.c: Likewise.
65723         * lib/trigl.h: Likewise.
65724         * lib/trim.c: Likewise.
65725         * lib/trim.h: Likewise.
65726         * lib/trunc.c: Likewise.
65727         * lib/truncf.c: Likewise.
65728         * lib/truncl.c: Likewise.
65729         * lib/tsearch.c: Likewise.
65730         * lib/unicodeio.c: Likewise.
65731         * lib/unicodeio.h: Likewise.
65732         * lib/unistd--.h: Likewise.
65733         * lib/unistd-safer.h: Likewise.
65734         * lib/unistdio/ulc-fprintf.c: Likewise.
65735         * lib/unistdio/ulc-vfprintf.c: Likewise.
65736         * lib/unlinkdir.c: Likewise.
65737         * lib/unlinkdir.h: Likewise.
65738         * lib/unlocked-io.h: Likewise.
65739         * lib/unsetenv.c: Likewise.
65740         * lib/userspec.c: Likewise.
65741         * lib/utime.c: Likewise.
65742         * lib/utimecmp.c: Likewise.
65743         * lib/utimecmp.h: Likewise.
65744         * lib/utimens.c: Likewise.
65745         * lib/verify.h: Likewise.
65746         * lib/verror.c: Likewise.
65747         * lib/verror.h: Likewise.
65748         * lib/version-etc-fsf.c: Likewise.
65749         * lib/version-etc.c: Likewise.
65750         * lib/version-etc.h: Likewise.
65751         * lib/vfprintf.c: Likewise.
65752         * lib/vprintf.c: Likewise.
65753         * lib/vsprintf.c: Likewise.
65754         * lib/w32spawn.h: Likewise.
65755         * lib/wait-process.c: Likewise.
65756         * lib/wait-process.h: Likewise.
65757         * lib/wcwidth.c: Likewise.
65758         * lib/write-any-file.c: Likewise.
65759         * lib/xalloc-die.c: Likewise.
65760         * lib/xalloc.h: Likewise.
65761         * lib/xasprintf.c: Likewise.
65762         * lib/xgetcwd.c: Likewise.
65763         * lib/xgetcwd.h: Likewise.
65764         * lib/xgetdomainname.c: Likewise.
65765         * lib/xgetdomainname.h: Likewise.
65766         * lib/xgethostname.c: Likewise.
65767         * lib/xmalloc.c: Likewise.
65768         * lib/xmalloca.c: Likewise.
65769         * lib/xmalloca.h: Likewise.
65770         * lib/xmemcoll.c: Likewise.
65771         * lib/xnanosleep.c: Likewise.
65772         * lib/xreadlink.c: Likewise.
65773         * lib/xreadlink.h: Likewise.
65774         * lib/xsetenv.c: Likewise.
65775         * lib/xsetenv.h: Likewise.
65776         * lib/xstriconv.c: Likewise.
65777         * lib/xstriconv.h: Likewise.
65778         * lib/xstrndup.c: Likewise.
65779         * lib/xstrndup.h: Likewise.
65780         * lib/xstrtod.c: Likewise.
65781         * lib/xstrtod.h: Likewise.
65782         * lib/xstrtol-error.c: Likewise.
65783         * lib/xstrtol.c: Likewise.
65784         * lib/xstrtol.h: Likewise.
65785         * lib/xtime.h: Likewise.
65786         * lib/xvasprintf.c: Likewise.
65787         * lib/xvasprintf.h: Likewise.
65788         * lib/yesno.c: Likewise.
65789         * lib/yesno.h: Likewise.
65790         * posix-modules: Likewise.
65791         * tests/test-alloca-opt.c: Likewise.
65792         * tests/test-arcfour.c: Likewise.
65793         * tests/test-arctwo.c: Likewise.
65794         * tests/test-argmatch.c: Likewise.
65795         * tests/test-argp-2.sh: Likewise.
65796         * tests/test-argp.c: Likewise.
65797         * tests/test-arpa_inet.c: Likewise.
65798         * tests/test-array_list.c: Likewise.
65799         * tests/test-array_oset.c: Likewise.
65800         * tests/test-atexit.c: Likewise.
65801         * tests/test-avltree_list.c: Likewise.
65802         * tests/test-avltree_oset.c: Likewise.
65803         * tests/test-avltreehash_list.c: Likewise.
65804         * tests/test-base64.c: Likewise.
65805         * tests/test-binary-io.c: Likewise.
65806         * tests/test-byteswap.c: Likewise.
65807         * tests/test-c-ctype.c: Likewise.
65808         * tests/test-c-strcasecmp.c: Likewise.
65809         * tests/test-c-strcasestr.c: Likewise.
65810         * tests/test-c-strncasecmp.c: Likewise.
65811         * tests/test-c-strstr.c: Likewise.
65812         * tests/test-canonicalize-lgpl.c: Likewise.
65813         * tests/test-canonicalize.c: Likewise.
65814         * tests/test-carray_list.c: Likewise.
65815         * tests/test-ceilf.c: Likewise.
65816         * tests/test-ceill.c: Likewise.
65817         * tests/test-count-one-bits.c: Likewise.
65818         * tests/test-crc.c: Likewise.
65819         * tests/test-dirname.c: Likewise.
65820         * tests/test-fbufmode.c: Likewise.
65821         * tests/test-fcntl.c: Likewise.
65822         * tests/test-fflush.c: Likewise.
65823         * tests/test-floorf.c: Likewise.
65824         * tests/test-floorl.c: Likewise.
65825         * tests/test-fopen.c: Likewise.
65826         * tests/test-fprintf-posix.c: Likewise.
65827         * tests/test-fprintf-posix.h: Likewise.
65828         * tests/test-fpurge.c: Likewise.
65829         * tests/test-freadable.c: Likewise.
65830         * tests/test-freadahead.c: Likewise.
65831         * tests/test-freading.c: Likewise.
65832         * tests/test-freopen.c: Likewise.
65833         * tests/test-frexp.c: Likewise.
65834         * tests/test-frexpl.c: Likewise.
65835         * tests/test-fseek.c: Likewise.
65836         * tests/test-fseeko.c: Likewise.
65837         * tests/test-fseterr.c: Likewise.
65838         * tests/test-fstrcmp.c: Likewise.
65839         * tests/test-ftell.c: Likewise.
65840         * tests/test-ftello.c: Likewise.
65841         * tests/test-fwritable.c: Likewise.
65842         * tests/test-fwriting.c: Likewise.
65843         * tests/test-getaddrinfo.c: Likewise.
65844         * tests/test-getpass.c: Likewise.
65845         * tests/test-gettimeofday.c: Likewise.
65846         * tests/test-hmac-md5.c: Likewise.
65847         * tests/test-hmac-sha1.c: Likewise.
65848         * tests/test-iconv.c: Likewise.
65849         * tests/test-iconvme.c: Likewise.
65850         * tests/test-inttypes.c: Likewise.
65851         * tests/test-isnan.c: Likewise.
65852         * tests/test-isnanf.c: Likewise.
65853         * tests/test-isnanl-nolibm.c: Likewise.
65854         * tests/test-isnanl.c: Likewise.
65855         * tests/test-isnanl.h: Likewise.
65856         * tests/test-ldexpl.c: Likewise.
65857         * tests/test-linked_list.c: Likewise.
65858         * tests/test-linkedhash_list.c: Likewise.
65859         * tests/test-locale.c: Likewise.
65860         * tests/test-localename.c: Likewise.
65861         * tests/test-lock.c: Likewise.
65862         * tests/test-lseek.c: Likewise.
65863         * tests/test-malloca.c: Likewise.
65864         * tests/test-math.c: Likewise.
65865         * tests/test-mbscasecmp.c: Likewise.
65866         * tests/test-mbscasestr1.c: Likewise.
65867         * tests/test-mbscasestr2.c: Likewise.
65868         * tests/test-mbscasestr3.c: Likewise.
65869         * tests/test-mbscasestr4.c: Likewise.
65870         * tests/test-mbschr.c: Likewise.
65871         * tests/test-mbscspn.c: Likewise.
65872         * tests/test-mbsncasecmp.c: Likewise.
65873         * tests/test-mbspbrk.c: Likewise.
65874         * tests/test-mbspcasecmp.c: Likewise.
65875         * tests/test-mbsrchr.c: Likewise.
65876         * tests/test-mbsspn.c: Likewise.
65877         * tests/test-mbsstr1.c: Likewise.
65878         * tests/test-mbsstr2.c: Likewise.
65879         * tests/test-mbsstr3.c: Likewise.
65880         * tests/test-md5.c: Likewise.
65881         * tests/test-memmem.c: Likewise.
65882         * tests/test-netinet_in.c: Likewise.
65883         * tests/test-open.c: Likewise.
65884         * tests/test-printf-frexp.c: Likewise.
65885         * tests/test-printf-frexpl.c: Likewise.
65886         * tests/test-printf-posix.c: Likewise.
65887         * tests/test-printf-posix.h: Likewise.
65888         * tests/test-rbtree_list.c: Likewise.
65889         * tests/test-rbtree_oset.c: Likewise.
65890         * tests/test-rbtreehash_list.c: Likewise.
65891         * tests/test-read-file.c: Likewise.
65892         * tests/test-rijndael.c: Likewise.
65893         * tests/test-search.c: Likewise.
65894         * tests/test-signbit.c: Likewise.
65895         * tests/test-sleep.c: Likewise.
65896         * tests/test-snprintf-posix.c: Likewise.
65897         * tests/test-snprintf-posix.h: Likewise.
65898         * tests/test-snprintf.c: Likewise.
65899         * tests/test-sprintf-posix.c: Likewise.
65900         * tests/test-sprintf-posix.h: Likewise.
65901         * tests/test-stat-time.c: Likewise.
65902         * tests/test-stdbool.c: Likewise.
65903         * tests/test-stdint.c: Likewise.
65904         * tests/test-stdio.c: Likewise.
65905         * tests/test-stdlib.c: Likewise.
65906         * tests/test-stpncpy.c: Likewise.
65907         * tests/test-strcasestr.c: Likewise.
65908         * tests/test-striconv.c: Likewise.
65909         * tests/test-striconveh.c: Likewise.
65910         * tests/test-striconveha.c: Likewise.
65911         * tests/test-string.c: Likewise.
65912         * tests/test-sys_select.c: Likewise.
65913         * tests/test-sys_socket.c: Likewise.
65914         * tests/test-sys_stat.c: Likewise.
65915         * tests/test-sys_time.c: Likewise.
65916         * tests/test-sysexits.c: Likewise.
65917         * tests/test-time.c: Likewise.
65918         * tests/test-tls.c: Likewise.
65919         * tests/test-trunc.c: Likewise.
65920         * tests/test-truncf.c: Likewise.
65921         * tests/test-truncl.c: Likewise.
65922         * tests/test-unistd.c: Likewise.
65923         * tests/test-vasnprintf-posix.c: Likewise.
65924         * tests/test-vasnprintf-posix2.c: Likewise.
65925         * tests/test-vasnprintf.c: Likewise.
65926         * tests/test-vasprintf-posix.c: Likewise.
65927         * tests/test-vasprintf.c: Likewise.
65928         * tests/test-verify.c: Likewise.
65929         * tests/test-vfprintf-posix.c: Likewise.
65930         * tests/test-vprintf-posix.c: Likewise.
65931         * tests/test-vsnprintf-posix.c: Likewise.
65932         * tests/test-vsnprintf.c: Likewise.
65933         * tests/test-vsprintf-posix.c: Likewise.
65934         * tests/test-wchar.c: Likewise.
65935         * tests/test-wctype.c: Likewise.
65936         * tests/test-wcwidth.c: Likewise.
65937         * tests/test-xstrtol.c: Likewise.
65938         * tests/test-xvasprintf.c: Likewise.
65939         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
65940         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
65941         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
65942         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
65943         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
65944         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
65945         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
65946         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
65947         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
65948         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
65949         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
65950         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
65951         * tests/uniname/test-uninames.c: Likewise.
65952         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
65953         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
65954         * tests/unistdio/test-u16-printf1.h: Likewise.
65955         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
65956         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
65957         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
65958         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
65959         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
65960         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
65961         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
65962         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
65963         * tests/unistdio/test-u32-printf1.h: Likewise.
65964         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
65965         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
65966         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
65967         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
65968         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
65969         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
65970         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
65971         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
65972         * tests/unistdio/test-u8-printf1.h: Likewise.
65973         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
65974         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
65975         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
65976         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
65977         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
65978         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
65979         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
65980         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
65981         * tests/unistdio/test-ulc-printf1.h: Likewise.
65982         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
65983         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
65984         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
65985         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
65986         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
65987         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
65988         * tests/uniwidth/test-u16-strwidth.c: Likewise.
65989         * tests/uniwidth/test-u16-width.c: Likewise.
65990         * tests/uniwidth/test-u32-strwidth.c: Likewise.
65991         * tests/uniwidth/test-u32-width.c: Likewise.
65992         * tests/uniwidth/test-u8-strwidth.c: Likewise.
65993         * tests/uniwidth/test-u8-width.c: Likewise.
65994         * tests/uniwidth/test-uc_width.c: Likewise.
65995         * config/srclist-update: Likewise.
65996         (fixlicense): Update to GPLv3+.
65997
65998         Change copyright notice from LGPLv2.1+ to LGPLv3+.
65999         * tests/test-tsearch.c: Change copyright notice.
66000
66001         Change copyright notice from LGPLv2.0+ to LGPLv3+.
66002         * lib/c-strcaseeq.h: Change copyright notice.
66003         * lib/streq.h: Likewise.
66004         * lib/uniconv.h: Likewise.
66005         * lib/uniconv/u-conv-from-enc.h: Likewise.
66006         * lib/uniconv/u-conv-to-enc.h: Likewise.
66007         * lib/uniconv/u-strconv-from-enc.h: Likewise.
66008         * lib/uniconv/u-strconv-to-enc.h: Likewise.
66009         * lib/uniconv/u16-conv-from-enc.c: Likewise.
66010         * lib/uniconv/u16-conv-to-enc.c: Likewise.
66011         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
66012         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
66013         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
66014         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
66015         * lib/uniconv/u32-conv-from-enc.c: Likewise.
66016         * lib/uniconv/u32-conv-to-enc.c: Likewise.
66017         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
66018         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
66019         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
66020         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
66021         * lib/uniconv/u8-conv-from-enc.c: Likewise.
66022         * lib/uniconv/u8-conv-to-enc.c: Likewise.
66023         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
66024         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
66025         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
66026         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
66027         * lib/uniname.h: Likewise.
66028         * lib/uniname/uniname.c: Likewise.
66029         * lib/unistdio.h: Likewise.
66030         * lib/unistdio/u-asnprintf.h: Likewise.
66031         * lib/unistdio/u-asprintf.h: Likewise.
66032         * lib/unistdio/u-printf-args.c: Likewise.
66033         * lib/unistdio/u-printf-args.h: Likewise.
66034         * lib/unistdio/u-printf-parse.h: Likewise.
66035         * lib/unistdio/u-snprintf.h: Likewise.
66036         * lib/unistdio/u-sprintf.h: Likewise.
66037         * lib/unistdio/u-vasprintf.h: Likewise.
66038         * lib/unistdio/u-vsnprintf.h: Likewise.
66039         * lib/unistdio/u-vsprintf.h: Likewise.
66040         * lib/unistdio/u16-asnprintf.c: Likewise.
66041         * lib/unistdio/u16-asprintf.c: Likewise.
66042         * lib/unistdio/u16-printf-parse.c: Likewise.
66043         * lib/unistdio/u16-snprintf.c: Likewise.
66044         * lib/unistdio/u16-sprintf.c: Likewise.
66045         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
66046         * lib/unistdio/u16-u16-asprintf.c: Likewise.
66047         * lib/unistdio/u16-u16-snprintf.c: Likewise.
66048         * lib/unistdio/u16-u16-sprintf.c: Likewise.
66049         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
66050         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
66051         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
66052         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
66053         * lib/unistdio/u16-vasnprintf.c: Likewise.
66054         * lib/unistdio/u16-vasprintf.c: Likewise.
66055         * lib/unistdio/u16-vsnprintf.c: Likewise.
66056         * lib/unistdio/u16-vsprintf.c: Likewise.
66057         * lib/unistdio/u32-asnprintf.c: Likewise.
66058         * lib/unistdio/u32-asprintf.c: Likewise.
66059         * lib/unistdio/u32-printf-parse.c: Likewise.
66060         * lib/unistdio/u32-snprintf.c: Likewise.
66061         * lib/unistdio/u32-sprintf.c: Likewise.
66062         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
66063         * lib/unistdio/u32-u32-asprintf.c: Likewise.
66064         * lib/unistdio/u32-u32-snprintf.c: Likewise.
66065         * lib/unistdio/u32-u32-sprintf.c: Likewise.
66066         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
66067         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
66068         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
66069         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
66070         * lib/unistdio/u32-vasnprintf.c: Likewise.
66071         * lib/unistdio/u32-vasprintf.c: Likewise.
66072         * lib/unistdio/u32-vsnprintf.c: Likewise.
66073         * lib/unistdio/u32-vsprintf.c: Likewise.
66074         * lib/unistdio/u8-asnprintf.c: Likewise.
66075         * lib/unistdio/u8-asprintf.c: Likewise.
66076         * lib/unistdio/u8-printf-parse.c: Likewise.
66077         * lib/unistdio/u8-snprintf.c: Likewise.
66078         * lib/unistdio/u8-sprintf.c: Likewise.
66079         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
66080         * lib/unistdio/u8-u8-asprintf.c: Likewise.
66081         * lib/unistdio/u8-u8-snprintf.c: Likewise.
66082         * lib/unistdio/u8-u8-sprintf.c: Likewise.
66083         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
66084         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
66085         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
66086         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
66087         * lib/unistdio/u8-vasnprintf.c: Likewise.
66088         * lib/unistdio/u8-vasprintf.c: Likewise.
66089         * lib/unistdio/u8-vsnprintf.c: Likewise.
66090         * lib/unistdio/u8-vsprintf.c: Likewise.
66091         * lib/unistdio/ulc-asnprintf.c: Likewise.
66092         * lib/unistdio/ulc-asprintf.c: Likewise.
66093         * lib/unistdio/ulc-printf-parse.c: Likewise.
66094         * lib/unistdio/ulc-snprintf.c: Likewise.
66095         * lib/unistdio/ulc-sprintf.c: Likewise.
66096         * lib/unistdio/ulc-vasnprintf.c: Likewise.
66097         * lib/unistdio/ulc-vasprintf.c: Likewise.
66098         * lib/unistdio/ulc-vsnprintf.c: Likewise.
66099         * lib/unistdio/ulc-vsprintf.c: Likewise.
66100         * lib/unistr.h: Likewise.
66101         * lib/unistr/u-cpy-alloc.h: Likewise.
66102         * lib/unistr/u-cpy.h: Likewise.
66103         * lib/unistr/u-endswith.h: Likewise.
66104         * lib/unistr/u-move.h: Likewise.
66105         * lib/unistr/u-set.h: Likewise.
66106         * lib/unistr/u-startswith.h: Likewise.
66107         * lib/unistr/u-stpcpy.h: Likewise.
66108         * lib/unistr/u-stpncpy.h: Likewise.
66109         * lib/unistr/u-strcat.h: Likewise.
66110         * lib/unistr/u-strcpy.h: Likewise.
66111         * lib/unistr/u-strcspn.h: Likewise.
66112         * lib/unistr/u-strdup.h: Likewise.
66113         * lib/unistr/u-strlen.h: Likewise.
66114         * lib/unistr/u-strncat.h: Likewise.
66115         * lib/unistr/u-strncpy.h: Likewise.
66116         * lib/unistr/u-strnlen.h: Likewise.
66117         * lib/unistr/u-strpbrk.h: Likewise.
66118         * lib/unistr/u-strspn.h: Likewise.
66119         * lib/unistr/u-strstr.h: Likewise.
66120         * lib/unistr/u-strtok.h: Likewise.
66121         * lib/unistr/u16-check.c: Likewise.
66122         * lib/unistr/u16-chr.c: Likewise.
66123         * lib/unistr/u16-cmp.c: Likewise.
66124         * lib/unistr/u16-cpy-alloc.c: Likewise.
66125         * lib/unistr/u16-cpy.c: Likewise.
66126         * lib/unistr/u16-endswith.c: Likewise.
66127         * lib/unistr/u16-mblen.c: Likewise.
66128         * lib/unistr/u16-mbsnlen.c: Likewise.
66129         * lib/unistr/u16-mbtouc-aux.c: Likewise.
66130         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
66131         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
66132         * lib/unistr/u16-mbtouc.c: Likewise.
66133         * lib/unistr/u16-mbtoucr.c: Likewise.
66134         * lib/unistr/u16-move.c: Likewise.
66135         * lib/unistr/u16-next.c: Likewise.
66136         * lib/unistr/u16-prev.c: Likewise.
66137         * lib/unistr/u16-set.c: Likewise.
66138         * lib/unistr/u16-startswith.c: Likewise.
66139         * lib/unistr/u16-stpcpy.c: Likewise.
66140         * lib/unistr/u16-stpncpy.c: Likewise.
66141         * lib/unistr/u16-strcat.c: Likewise.
66142         * lib/unistr/u16-strchr.c: Likewise.
66143         * lib/unistr/u16-strcmp.c: Likewise.
66144         * lib/unistr/u16-strcpy.c: Likewise.
66145         * lib/unistr/u16-strcspn.c: Likewise.
66146         * lib/unistr/u16-strdup.c: Likewise.
66147         * lib/unistr/u16-strlen.c: Likewise.
66148         * lib/unistr/u16-strmblen.c: Likewise.
66149         * lib/unistr/u16-strmbtouc.c: Likewise.
66150         * lib/unistr/u16-strncat.c: Likewise.
66151         * lib/unistr/u16-strncmp.c: Likewise.
66152         * lib/unistr/u16-strncpy.c: Likewise.
66153         * lib/unistr/u16-strnlen.c: Likewise.
66154         * lib/unistr/u16-strpbrk.c: Likewise.
66155         * lib/unistr/u16-strrchr.c: Likewise.
66156         * lib/unistr/u16-strspn.c: Likewise.
66157         * lib/unistr/u16-strstr.c: Likewise.
66158         * lib/unistr/u16-strtok.c: Likewise.
66159         * lib/unistr/u16-to-u32.c: Likewise.
66160         * lib/unistr/u16-to-u8.c: Likewise.
66161         * lib/unistr/u16-uctomb-aux.c: Likewise.
66162         * lib/unistr/u16-uctomb.c: Likewise.
66163         * lib/unistr/u32-check.c: Likewise.
66164         * lib/unistr/u32-chr.c: Likewise.
66165         * lib/unistr/u32-cmp.c: Likewise.
66166         * lib/unistr/u32-cpy-alloc.c: Likewise.
66167         * lib/unistr/u32-cpy.c: Likewise.
66168         * lib/unistr/u32-endswith.c: Likewise.
66169         * lib/unistr/u32-mblen.c: Likewise.
66170         * lib/unistr/u32-mbsnlen.c: Likewise.
66171         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
66172         * lib/unistr/u32-mbtouc.c: Likewise.
66173         * lib/unistr/u32-mbtoucr.c: Likewise.
66174         * lib/unistr/u32-move.c: Likewise.
66175         * lib/unistr/u32-next.c: Likewise.
66176         * lib/unistr/u32-prev.c: Likewise.
66177         * lib/unistr/u32-set.c: Likewise.
66178         * lib/unistr/u32-startswith.c: Likewise.
66179         * lib/unistr/u32-stpcpy.c: Likewise.
66180         * lib/unistr/u32-stpncpy.c: Likewise.
66181         * lib/unistr/u32-strcat.c: Likewise.
66182         * lib/unistr/u32-strchr.c: Likewise.
66183         * lib/unistr/u32-strcmp.c: Likewise.
66184         * lib/unistr/u32-strcpy.c: Likewise.
66185         * lib/unistr/u32-strcspn.c: Likewise.
66186         * lib/unistr/u32-strdup.c: Likewise.
66187         * lib/unistr/u32-strlen.c: Likewise.
66188         * lib/unistr/u32-strmblen.c: Likewise.
66189         * lib/unistr/u32-strmbtouc.c: Likewise.
66190         * lib/unistr/u32-strncat.c: Likewise.
66191         * lib/unistr/u32-strncmp.c: Likewise.
66192         * lib/unistr/u32-strncpy.c: Likewise.
66193         * lib/unistr/u32-strnlen.c: Likewise.
66194         * lib/unistr/u32-strpbrk.c: Likewise.
66195         * lib/unistr/u32-strrchr.c: Likewise.
66196         * lib/unistr/u32-strspn.c: Likewise.
66197         * lib/unistr/u32-strstr.c: Likewise.
66198         * lib/unistr/u32-strtok.c: Likewise.
66199         * lib/unistr/u32-to-u16.c: Likewise.
66200         * lib/unistr/u32-to-u8.c: Likewise.
66201         * lib/unistr/u32-uctomb.c: Likewise.
66202         * lib/unistr/u8-check.c: Likewise.
66203         * lib/unistr/u8-chr.c: Likewise.
66204         * lib/unistr/u8-cmp.c: Likewise.
66205         * lib/unistr/u8-cpy-alloc.c: Likewise.
66206         * lib/unistr/u8-cpy.c: Likewise.
66207         * lib/unistr/u8-endswith.c: Likewise.
66208         * lib/unistr/u8-mblen.c: Likewise.
66209         * lib/unistr/u8-mbsnlen.c: Likewise.
66210         * lib/unistr/u8-mbtouc-aux.c: Likewise.
66211         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
66212         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
66213         * lib/unistr/u8-mbtouc.c: Likewise.
66214         * lib/unistr/u8-mbtoucr.c: Likewise.
66215         * lib/unistr/u8-move.c: Likewise.
66216         * lib/unistr/u8-next.c: Likewise.
66217         * lib/unistr/u8-prev.c: Likewise.
66218         * lib/unistr/u8-set.c: Likewise.
66219         * lib/unistr/u8-startswith.c: Likewise.
66220         * lib/unistr/u8-stpcpy.c: Likewise.
66221         * lib/unistr/u8-stpncpy.c: Likewise.
66222         * lib/unistr/u8-strcat.c: Likewise.
66223         * lib/unistr/u8-strchr.c: Likewise.
66224         * lib/unistr/u8-strcmp.c: Likewise.
66225         * lib/unistr/u8-strcpy.c: Likewise.
66226         * lib/unistr/u8-strcspn.c: Likewise.
66227         * lib/unistr/u8-strdup.c: Likewise.
66228         * lib/unistr/u8-strlen.c: Likewise.
66229         * lib/unistr/u8-strmblen.c: Likewise.
66230         * lib/unistr/u8-strmbtouc.c: Likewise.
66231         * lib/unistr/u8-strncat.c: Likewise.
66232         * lib/unistr/u8-strncmp.c: Likewise.
66233         * lib/unistr/u8-strncpy.c: Likewise.
66234         * lib/unistr/u8-strnlen.c: Likewise.
66235         * lib/unistr/u8-strpbrk.c: Likewise.
66236         * lib/unistr/u8-strrchr.c: Likewise.
66237         * lib/unistr/u8-strspn.c: Likewise.
66238         * lib/unistr/u8-strstr.c: Likewise.
66239         * lib/unistr/u8-strtok.c: Likewise.
66240         * lib/unistr/u8-to-u16.c: Likewise.
66241         * lib/unistr/u8-to-u32.c: Likewise.
66242         * lib/unistr/u8-uctomb-aux.c: Likewise.
66243         * lib/unistr/u8-uctomb.c: Likewise.
66244         * lib/unitypes.h: Likewise.
66245         * lib/uniwidth.h: Likewise.
66246         * lib/uniwidth/cjk.h: Likewise.
66247         * lib/uniwidth/u16-strwidth.c: Likewise.
66248         * lib/uniwidth/u16-width.c: Likewise.
66249         * lib/uniwidth/u32-strwidth.c: Likewise.
66250         * lib/uniwidth/u32-width.c: Likewise.
66251         * lib/uniwidth/u8-strwidth.c: Likewise.
66252         * lib/uniwidth/u8-width.c: Likewise.
66253         * lib/uniwidth/width.c: Likewise.
66254
66255 2007-10-07  Bruno Haible  <bruno@clisp.org>
66256
66257         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
66258         The file is still under LGPL (see modules/inttypes).
66259
66260 2007-10-06  Bruno Haible  <bruno@clisp.org>
66261
66262         * modules/trunc (Dependencies): Add 'extensions'.
66263         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
66264         Reported by Ben Pfaff <blp@gnu.org>.
66265
66266 2007-10-06  Bruno Haible  <bruno@clisp.org>
66267
66268         * modules/freopen-tests: New file.
66269         * tests/test-freopen.c: New file.
66270
66271         * modules/fopen-tests: New file.
66272         * tests/test-fopen.c: New file.
66273
66274         * modules/fopen: New file.
66275         * lib/fopen.c: New file.
66276         * m4/fopen.m4: New file.
66277         * modules/freopen: New file.
66278         * lib/freopen.c: New file.
66279         * m4/freopen.m4: New file.
66280         * lib/stdio.in.h (fopen, freopen): New declarations.
66281         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
66282         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66283         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
66284         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66285         * doc/functions/fopen.texi: Mention the 'fopen' module.
66286         * doc/functions/freopen.texi: Mention the 'freopen' module.
66287
66288 2007-10-06  Bruno Haible  <bruno@clisp.org>
66289
66290         * modules/open-tests: New file.
66291         * tests/test-open.c: New file.
66292
66293         * modules/open: New file.
66294         * lib/open.c: New file.
66295         * m4/open.m4: New file.
66296         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
66297         lib/open.c does.
66298         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
66299         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
66300         macros.
66301         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
66302         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
66303         REPLACE_OPEN.
66304         * doc/functions/open.texi: Mention the 'open' module.
66305
66306 2007-10-04  Bruno Haible  <bruno@clisp.org>
66307
66308         * modules/ceill-tests: New file.
66309         * tests/test-ceill.c: New file.
66310
66311         * modules/ceill: New file.
66312         * lib/ceill.c: Replace entire file.
66313         * m4/ceill.m4: New file.
66314         * lib/math.in.h (ceill): Replace declaration.
66315         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
66316         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
66317         * doc/functions/ceill.texi: Mention the 'ceill' module.
66318         * modules/mathl (Files): Remove lib/ceill.c.
66319         (Depends-on): Add ceill.
66320
66321 2007-10-04  Bruno Haible  <bruno@clisp.org>
66322
66323         * modules/ceilf-tests: New file.
66324         * tests/test-ceilf.c: New file.
66325
66326         * modules/ceilf: New file.
66327         * lib/ceil.c: New file.
66328         * lib/ceilf.c: New file.
66329         * m4/ceilf.m4: New file.
66330         * lib/math.in.h (ceilf): New declaration.
66331         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
66332         HAVE_DECL_CEILF.
66333         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
66334         HAVE_DECL_CEILF.
66335         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
66336
66337 2007-10-04  Bruno Haible  <bruno@clisp.org>
66338
66339         * modules/floorl-tests: New file.
66340         * tests/test-floorl.c: New file.
66341
66342         * modules/floorl: New file.
66343         * lib/floorl.c: Replace entire file.
66344         * m4/floorl.m4: New file.
66345         * lib/math.in.h (floorl): Replace declaration.
66346         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
66347         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
66348         * doc/functions/floorl.texi: Mention the 'floorl' module.
66349         * modules/mathl (Files): Remove lib/floorl.c.
66350         (Depends-on): Add floorl.
66351
66352 2007-10-04  Bruno Haible  <bruno@clisp.org>
66353
66354         * modules/floorf-tests: New file.
66355         * tests/test-floorf.c: New file.
66356
66357         * modules/floorf: New file.
66358         * lib/floor.c: New file.
66359         * lib/floorf.c: New file.
66360         * m4/floorf.m4: New file.
66361         * lib/math.in.h (floorf): New declaration.
66362         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
66363         HAVE_DECL_FLOORF.
66364         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
66365         HAVE_DECL_FLOORF.
66366         * doc/functions/floorf.texi: Mention the 'floorf' module.
66367
66368 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
66369             Bruno Haible  <bruno@clisp.org>
66370
66371         Advertise for the Git server instead of the CVS server.
66372         * doc/gnulib-intro.texi (Steady Development): Mention the Git
66373         repository instead of the CVS one.
66374         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
66375         about all VCS systems generically.
66376         * doc/gnulib.texi (Introduction): Capitalize `Git'.
66377
66378 2007-10-04  Bruno Haible  <bruno@clisp.org>
66379
66380         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
66381         means.
66382         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
66383
66384 2007-10-04  Bruno Haible  <bruno@clisp.org>
66385
66386         * modules/truncl-tests: New file.
66387         * tests/test-truncl.c: New file.
66388
66389         * modules/truncl: New file.
66390         * lib/truncl.c: New file.
66391         * m4/truncl.m4: New file.
66392         * lib/math.in.h (truncl): New declaration.
66393         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
66394         HAVE_DECL_TRUNCL.
66395         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
66396         HAVE_DECL_TRUNCL.
66397         * doc/functions/truncl.texi: Mention the 'truncl' module.
66398
66399 2007-10-04  Bruno Haible  <bruno@clisp.org>
66400
66401         * modules/truncf-tests: New file.
66402         * tests/test-truncf.c: New file.
66403
66404         * modules/truncf: New file.
66405         * lib/trunc.c: Make paramerizable through USE_* macros.
66406         * lib/truncf.c: New file.
66407         * m4/truncf.m4: New file.
66408         * lib/math.in.h (truncf): New declaration.
66409         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
66410         HAVE_DECL_TRUNCF.
66411         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
66412         HAVE_DECL_TRUNCF.
66413         * doc/functions/truncf.texi: Mention the 'truncf' module.
66414
66415 2007-10-03  Bruno Haible  <bruno@clisp.org>
66416
66417         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
66418         augmentation also for tests modules.
66419         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
66420         * modules/atexit-tests (Makefile.am): Likewise.
66421         * modules/binary-io-tests (Makefile.am): Likewise.
66422         * modules/c-strcase-tests (Makefile.am): Likewise.
66423         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
66424         * modules/canonicalize-tests (Makefile.am): Likewise.
66425         * modules/closein-tests (Makefile.am): Likewise.
66426         * modules/fprintf-posix-tests (Makefile.am): Likewise.
66427         * modules/freadahead-tests (Makefile.am): Likewise.
66428         * modules/fseek-tests (Makefile.am): Likewise.
66429         * modules/fseeko-tests (Makefile.am): Likewise.
66430         * modules/ftell-tests (Makefile.am): Likewise.
66431         * modules/ftello-tests (Makefile.am): Likewise.
66432         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
66433         * modules/isnanl-tests (Makefile.am): Likewise.
66434         * modules/lseek-tests (Makefile.am): Likewise.
66435         * modules/mbscasecmp-tests (Makefile.am): Likewise.
66436         * modules/mbscasestr-tests (Makefile.am): Likewise.
66437         * modules/mbschr-tests (Makefile.am): Likewise.
66438         * modules/mbscspn-tests (Makefile.am): Likewise.
66439         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
66440         * modules/mbspbrk-tests (Makefile.am): Likewise.
66441         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
66442         * modules/mbsrchr-tests (Makefile.am): Likewise.
66443         * modules/mbsspn-tests (Makefile.am): Likewise.
66444         * modules/mbsstr-tests (Makefile.am): Likewise.
66445         * modules/printf-posix-tests (Makefile.am): Likewise.
66446         * modules/snprintf-posix-tests (Makefile.am): Likewise.
66447         * modules/sprintf-posix-tests (Makefile.am): Likewise.
66448         * modules/tsearch-tests (Makefile.am): Likewise.
66449         * modules/uniname/uniname-tests (Makefile.am): Likewise.
66450         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
66451         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
66452         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
66453         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
66454         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
66455         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
66456         * modules/vprintf-posix-tests (Makefile.am): Likewise.
66457         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
66458         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
66459         * modules/xstrtoimax-tests (Makefile.am): Likewise.
66460         * modules/xstrtol-tests (Makefile.am): Likewise.
66461         * modules/xstrtoumax-tests (Makefile.am): Likewise.
66462         * modules/yesno-tests (Makefile.am): Likewise.
66463
66464 2007-10-03  Bruno Haible  <bruno@clisp.org>
66465
66466         * modules/trunc-tests: New file.
66467         * tests/test-trunc.c: New file.
66468
66469         * modules/trunc: New file.
66470         * lib/trunc.c: New file.
66471         * m4/trunc.m4: New file.
66472         * lib/math.in.h (trunc): New declaration.
66473         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
66474         HAVE_DECL_TRUNC.
66475         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
66476         HAVE_DECL_TRUNC.
66477         * doc/functions/trunc.texi: Mention the 'trunc' module.
66478
66479 2007-10-03  Bruno Haible  <bruno@clisp.org>
66480
66481         * tests/test-fpending.c: New file, mostly copied
66482         from coreutils/lib/t-fpending.c.
66483         * modules/fpending-tests: New file.
66484
66485 2007-10-03  Bruno Haible  <bruno@clisp.org>
66486
66487         Port the stdio extensions to QNX (untested).
66488         * lib/fseterr.c (fseterr): Add support for QNX.
66489         * lib/fbufmode.c (fbufmode): Likewise.
66490         * lib/freadable.c (freadable): Likewise.
66491         * lib/fwritable.c (fwritable): Likewise.
66492         * lib/freading.c (freading): Likewise.
66493         * lib/fwriting.c (fwriting): Likewise.
66494         * lib/freadahead.c (freadahed): Likewise.
66495         * lib/fpurge.c (fpurge): Likewise.
66496         * lib/fseeko.c (rpl_fseeko): Likewise.
66497
66498 2007-10-03  Bruno Haible  <bruno@clisp.org>
66499             Jim Meyering  <jim@meyering.net>
66500             Eric Blake  <ebb9@byu.net>
66501
66502         * doc/relocatable.texi: Use @command instead of @program.
66503
66504 2007-10-02  Jim Meyering  <jim@meyering.net>
66505
66506         Perform one more "_.h" -> ".in.h" substitution.
66507         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
66508         instead of unistd_.h here, too.
66509
66510 2007-10-01  Bruno Haible  <bruno@clisp.org>
66511
66512         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
66513         Needed for the alloca-opt module.
66514
66515 2007-09-30  Bruno Haible  <bruno@clisp.org>
66516
66517         * lib/alloca.in.h: Renamed from lib/alloca_.h.
66518         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
66519         alloca_.h.
66520         * lib/argz.in.h: Renamed from lib/argz_.h.
66521         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
66522         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
66523         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
66524         byteswap_.h.
66525         * lib/dirent.in.h: Renamed from lib/dirent_.h.
66526         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
66527         dirent_.h.
66528         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
66529         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
66530         fcntl_.h.
66531         * lib/float.in.h: Renamed from lib/float_.h.
66532         * modules/float (Files, Makefile.am): Use float.in.h instead of
66533         float_.h.
66534         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
66535         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
66536         fnmatch_.h.
66537         * lib/getopt.in.h: Renamed from lib/getopt_.h.
66538         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
66539         getopt_.h.
66540         * lib/glob.in.h: Renamed from lib/glob_.h.
66541         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
66542         * lib/iconv.in.h: Renamed from lib/iconv_.h.
66543         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
66544         iconv_.h.
66545         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
66546         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
66547         inttypes_.h.
66548         * lib/locale.in.h: Renamed from lib/locale_.h.
66549         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
66550         locale_.h.
66551         * lib/math.in.h: Renamed from lib/math_.h.
66552         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
66553         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
66554         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
66555         of netinet_in_.h. Add dependency.
66556         * lib/poll.in.h: Renamed from lib/poll_.h.
66557         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
66558         * lib/search.in.h: Renamed from lib/search_.h.
66559         * modules/search (Files, Makefile.am): Use search.in.h instead of
66560         search_.h.
66561         * lib/signal.in.h: Renamed from lib/signal_.h.
66562         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
66563         _signal.h.
66564         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
66565         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
66566         stdbool_.h.
66567         * lib/stdint.in.h: Renamed from lib/stdint_.h.
66568         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
66569         stdint_.h.
66570         * lib/stdio.in.h: Renamed from lib/stdio_.h.
66571         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
66572         stdio_.h.
66573         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
66574         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
66575         stdlib_.h.
66576         * lib/string.in.h: Renamed from lib/string_.h.
66577         * modules/string (Files, Makefile.am): Use string.in.h instead of
66578         string_.h.
66579         * doc/gnulib-tool.texi (Initial import): Update.
66580         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
66581         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
66582         of sys_select_.h. Add dependency.
66583         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
66584         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
66585         of sys_socket_.h.
66586         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
66587         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
66588         sys_stat_.h.
66589         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
66590         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
66591         sys_time_.h.
66592         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
66593         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
66594         sysexits_.h.
66595         * lib/time.in.h: Renamed from lib/time_.h.
66596         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
66597         * lib/unistd.in.h: Renamed from lib/unistd_.h.
66598         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
66599         unistd_.h.
66600         * lib/wchar.in.h: Renamed from lib/wchar_.h.
66601         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
66602         wchar_.h.
66603         * lib/wctype.in.h: Renamed from lib/wctype_.h.
66604         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
66605         wctype_.h.
66606         * build-aux/bootstrap (slurp): Update.
66607         * lib/.cppi-disable: Update.
66608
66609 2007-09-30  Bruno Haible  <bruno@clisp.org>
66610
66611         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
66612         Needed on BeOS.
66613
66614 2007-09-30  Bruno Haible  <bruno@clisp.org>
66615
66616         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
66617
66618 2007-09-29  Bruno Haible  <bruno@clisp.org>
66619
66620         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
66621
66622 2007-09-29  Bruno Haible  <bruno@clisp.org>
66623
66624         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
66625         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
66626         * build-aux/install-reloc: Compile also areadlink.c.
66627         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
66628
66629 2007-09-29  Bruno Haible  <bruno@clisp.org>
66630
66631         * gnulib-tool (func_emit_initmacro_done): Indentation.
66632
66633 2007-09-29  Bruno Haible  <bruno@clisp.org>
66634
66635         * README: Add CVS checkout update instructions.
66636         Info from Bob Proulx <bob@proulx.com>.
66637
66638 2007-09-28  Eric Blake  <ebb9@byu.net>
66639
66640         Provide move-if-change.
66641         * build-aux/move-if-change: New file, based on best practice
66642         rather than any canonical upstream location.
66643
66644 2007-09-28  Jim Meyering  <jim@meyering.net>
66645
66646         Fix canonicalize loop-detection corner case.
66647         Do not attempt to stat the symlink values stored via seen_triple.
66648         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
66649         on linux-2.6.18, (but not 2.6.22).
66650         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
66651         triple_compare.  The former compares dev,ino,filename, while the latter
66652         would actually stat dirname(filename) when dev and ino were equal.
66653         * lib/hash-triple.c: Install <string.h>.
66654         (STREQ): Define.
66655         (triple_compare_ino_str): New function.
66656         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
66657
66658 2007-09-28  Eric Blake  <ebb9@byu.net>
66659
66660         Enforce that AC_REPLACE_FUNCS files exist.
66661         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
66662         override check for typos.
66663
66664         Fix test-closein on Solaris 10.
66665         * tests/test-closein.c (main): Don't assume stdin can be inherited
66666         closed on all systems.
66667         * tests/test-closein.sh: Likewise.
66668         Reported by Piotr Tarnowski.
66669
66670 2007-09-28  Jim Meyering  <jim@meyering.net>
66671
66672         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
66673
66674 2007-09-27  Jim Meyering  <jim@meyering.net>
66675
66676         canonicalize: Avoid a false-positive cycle failure.
66677         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
66678         Sort.  Remove cycle-check.
66679         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
66680         not cycle-check.h.
66681         (seen_triple): New function.
66682         (canonicalize_filename_mode): Use it instead of cycle-check.
66683         * tests/test-canonicalize.c: Add a test for this bug.
66684         * tests/test-canonicalize.sh: Set up and run the test.
66685
66686         New module, file-set, from coreutils.
66687         * modules/file-set: Define it.
66688         * lib/file-set.c, lib/file-set.h: Implement.
66689
66690         New module, hash-triple, from coreutils.
66691         * modules/hash-triple: Define it.
66692         * lib/hash-triple.c, lib/hash-triple.h: Implement.
66693
66694 2007-09-25  Eric Blake  <ebb9@byu.net>
66695
66696         Fix strerror on Interix.
66697         * lib/string_.h (strerror): Declare replacement.
66698         * doc/functions/strerror.texi (strerror): Document the Interix
66699         shortcoming.
66700         * modules/string (Makefile.am): Support new hooks.
66701         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
66702         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
66703         gl_FUNC_STRERROR_SEPARATE.
66704         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
66705         * lib/strerror.c (rpl_strerror): Provide replacement.
66706         * modules/strerror (Depends-on): Add string.
66707         (configure.ac): Detect use of module.
66708         * tests/test-strerror.c: New file.
66709         * modules/strerror-tests: New test module.
66710         * modules/argp (Depends-on): Add strerror.
66711         * modules/error (Depends-on): Likewise.
66712         Reported by Martin Koeppe.
66713
66714 2007-09-24  Bruno Haible  <bruno@clisp.org>
66715
66716         * README: Update git instructions.
66717
66718 2007-09-24  Eric Blake  <ebb9@byu.net>
66719
66720         Revert fpending breakage from 2007-09-08.
66721         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
66722         __fpending.c.
66723
66724 2007-09-24  Jim Meyering  <jim@meyering.net>
66725
66726         filenamecat.c: Add a test.
66727         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
66728         showing how the function works when DIR is the empty string.
66729
66730 2007-09-21  Simon Josefsson  <simon@josefsson.org>
66731
66732         * tests/test-canonicalize.sh: Turn on executable bit.
66733
66734 2007-09-19  Eric Blake  <ebb9@byu.net>
66735
66736         * README: Update CVS instructions.
66737
66738 2007-09-18  Bruno Haible  <bruno@clisp.org>
66739
66740         * modules/areadlink: New file.
66741         * lib/areadlink.h (areadlink): New declaration.
66742         * lib/areadlink.c: New file, based on lib/xreadlink.c.
66743
66744 2007-09-17  Jim Meyering  <jim@meyering.net>
66745
66746         * lib/savewd.c (ESTALE) [!defined]: Define.
66747         Reported to be required on Interix by Martin Koeppe.
66748
66749 2007-09-17  Bruno Haible  <bruno@clisp.org>
66750
66751         * gnulib-tool (func_version): Use $version.
66752
66753 2007-09-16  Bruno Haible  <bruno@clisp.org>
66754
66755         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
66756         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
66757         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
66758         Reported by Greg Schafer <gschafer@zip.com.au>.
66759
66760 2007-09-15  Bruno Haible  <bruno@clisp.org>
66761
66762         * gnulib-tool (sed): Try a little harder to make bash understand the
66763         alias.
66764         Reported by Bruce Korb <bruce.korb@gmail.com>.
66765
66766 2007-09-13  Eric Blake  <ebb9@byu.net>
66767
66768         * ChangeLog: Remove conflict markers.
66769
66770 2007-09-13  Simon Josefsson  <simon@josefsson.org>
66771
66772         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
66773         Reported by Bruno Haible <bruno@clisp.org>.
66774
66775 2007-09-12  Bruno Haible  <bruno@clisp.org>
66776
66777         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
66778         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
66779         is not defined.
66780
66781 2007-09-12  Eric Blake  <ebb9@byu.net>
66782
66783         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
66784         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
66785         Autoconf definition.
66786         * modules/euidaccess (Depends-on): Add extensions, for
66787         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
66788         * modules/fnmatch (Depends-on): Likewise.
66789         * modules/getaddrinfo (Depends-on): Likewise.
66790         * modules/getdelim (Depends-on): Likewise.
66791         * modules/getline (Depends-on): Likewise.
66792         * modules/getsubopt (Depends-on): Likewise.
66793         * modules/gettext (Depends-on): Likewise.
66794         * modules/group-member (Depends-on): Likewise.
66795         * modules/mbchar (Depends-on): Likewise.
66796         * modules/memmem (Depends-on): Likewise.
66797         * modules/mempcpy (Depends-on): Likewise.
66798         * modules/memrchr (Depends-on): Likewise.
66799         * modules/pagealign_alloc (Depends-on): Likewise.
66800         * modules/readutmp (Depends-on): Likewise.
66801         * modules/stpcpy (Depends-on): Likewise.
66802         * modules/stpncpy (Depends-on): Likewise.
66803         * modules/strchrnul (Depends-on): Likewise.
66804         * modules/strndup (Depends-on): Likewise.
66805         * modules/strsep (Depends-on): Likewise.
66806         * modules/strverscmp (Depends-on): Likewise.
66807         * modules/vasprintf (Depends-on): Likewise.
66808         * modules/wcwidth (Depends-on): Likewise.
66809         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
66810         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
66811         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
66812         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
66813         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
66814         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
66815         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
66816         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
66817         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
66818         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
66819         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
66820         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
66821         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
66822         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
66823         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
66824         * m4/readutmp.m4 (gl_READUTMP): Likewise.
66825         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
66826         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
66827         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
66828         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
66829         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
66830         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
66831         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
66832         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
66833         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
66834         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
66835         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
66836         so that lock.m4 can be used in gettext without extensions module.
66837
66838 2007-09-11  Bruno Haible  <bruno@clisp.org>
66839
66840         * m4/isc-posix.m4: Remove file.
66841         Suggested by Eric Blake.
66842
66843 2007-09-11  Eric Blake  <ebb9@byu.net>
66844
66845         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
66846
66847 2007-09-10  Bruno Haible  <bruno@clisp.org>
66848
66849         * posix-modules: Fix typo in error message.
66850         Reported by Matt <mkraai@beckman.com>.
66851
66852 2007-09-09  Bruno Haible  <bruno@clisp.org>
66853
66854         * doc/functions/getdelim.texi: Update list of platforms lacking the
66855         function.
66856         * doc/functions/getline.texi: Likewise.
66857
66858 2007-09-09  Jim Meyering  <jim@meyering.net>
66859
66860         * lib/hash.c (hash_initialize): Detect calloc failure.
66861         Reported by Bruno Haible.
66862
66863 2007-09-09  Bruno Haible  <bruno@clisp.org>
66864
66865         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
66866         malloc or realloc fails.
66867
66868 2007-09-09  Bruno Haible  <bruno@clisp.org>
66869
66870         * modules/getcwd (Depends-on): Add malloc-posix.
66871         * modules/glob (Depends-on): Likewise.
66872         * modules/putenv (Depends-on): Likewise.
66873         * modules/strdup (Depends-on): Likewise.
66874         * modules/getdelim (Depends-on): Add realloc-posix.
66875         * modules/read-file (Depends-on): Likewise.
66876
66877 2007-09-09  Bruno Haible  <bruno@clisp.org>
66878
66879         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
66880         (gl_FUNC_MALLOC_POSIX): Require it.
66881         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
66882         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
66883         * modules/realloc (Files): Add m4/malloc.m4.
66884         * modules/calloc (Files): Likewise.
66885
66886 2007-09-09  Bruno Haible  <bruno@clisp.org>
66887
66888         * modules/malloc-posix: New file.
66889         * modules/malloc (Depends-on): Add malloc-posix.
66890         * lib/malloc.c: Include errno.h.
66891         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
66892         and a POSIX-compatible malloc into a single function. Set ENOMEM
66893         when returning NULL.
66894         * m4/malloc.m4: New file.
66895         * doc/functions/malloc.texi: Mention the malloc-posix module.
66896         * lib/stdlib_.h (malloc): New declaration.
66897         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66898         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
66899         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
66900         and HAVE_MALLOC_POSIX.
66901
66902 2007-09-09  Bruno Haible  <bruno@clisp.org>
66903
66904         * modules/realloc-posix: New file.
66905         * modules/realloc (Depends-on): Add realloc-posix.
66906         * lib/realloc.c: Include errno.h.
66907         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
66908         and a POSIX-compatible realloc into a single function. Set ENOMEM
66909         when returning NULL.
66910         * m4/realloc.m4: New file.
66911         * doc/functions/realloc.texi: Mention the realloc-posix module.
66912         * lib/stdlib_.h (realloc): New declaration.
66913         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66914         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
66915         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
66916         and HAVE_REALLOC_POSIX.
66917
66918 2007-09-09  Bruno Haible  <bruno@clisp.org>
66919
66920         * modules/calloc-posix: New file.
66921         * modules/calloc (Depends-on): Add calloc-posix.
66922         * lib/calloc.c: Include errno.h.
66923         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
66924         and a POSIX-compatible calloc into a single function. Set ENOMEM
66925         when returning NULL.
66926         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
66927         * doc/functions/calloc.texi: Mention the calloc-posix module.
66928         * lib/stdlib_.h (calloc): New declaration.
66929         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
66930         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
66931         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
66932         and HAVE_CALLOC_POSIX.
66933
66934 2007-09-09  Bruno Haible  <bruno@clisp.org>
66935
66936         Allow for modules to show an arbitrary notice.
66937         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
66938         * gnulib-tool: New option --extract-notice.
66939         (func_usage): Document it.
66940         (sed_extract_prog): Update.
66941         (func_get_notice): New function.
66942         (func_modules_notice): New function.
66943         (func_import, func_create_testdir): Invoke it.
66944         Suggested by Jim Meyering.
66945
66946 2007-09-09  Bruno Haible  <bruno@clisp.org>
66947
66948         * gnulib-tool: New options --verbose, --quiet.
66949         (func_usage): Document them.
66950         (verbose): New variable.
66951         (func_execute_command): New function.
66952         (func_import): Don't show the module list and the file list if
66953         $verbose < 0.
66954         (func_create_testdir): Likewise. Use func_execute_command.
66955         (func_create_megatestdir): Use func_execute_command.
66956
66957 2007-09-08  Bruno Haible  <bruno@clisp.org>
66958
66959         * gnulib-tool (func_import): Prefer rsync over wget when available,
66960         for fetching the PO files.
66961
66962 2007-09-08  Bruno Haible  <bruno@clisp.org>
66963
66964         * posix-modules: New file. Portions copied from gnulib-tool.
66965         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
66966
66967 2007-09-08  Jim Meyering  <jim@meyering.net>
66968
66969         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
66970         * lib/fpending.h: Rename from __fpending.h.
66971         * lib/fpending.c: Rename from __fpending.c.
66972         Include "fpending.h", not "__fpending.h".
66973         * lib/__fpending.h, lib/__fpending.c: Remove files.
66974         * modules/fpending (Files): Reflect new file names.
66975         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
66976
66977 2007-09-08  Bruno Haible  <bruno@clisp.org>
66978
66979         * m4/inttypes-h.m4: Remove stub file.
66980
66981 2007-09-07  Simon Josefsson  <simon@josefsson.org>
66982
66983         * doc/headers/stdint.texi: Discuss #include_next issue.
66984
66985 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
66986
66987         * build-aux/bootstrap: Remove obsolete comment about wget --help.
66988
66989 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
66990
66991         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
66992         in variable name.
66993
66994 2007-09-03  Jim Meyering  <jim@meyering.net>
66995
66996         New module: git-version-gen.
66997         * modules/git-version-gen: New file.
66998
66999         Import changes from coreutils for bootstrap script.
67000
67001         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
67002
67003         bootstrap: uses rsync to download the .po files
67004         * build-aux/bootstrap (po_download_command_format): New global.
67005         (download_po_files): Use rsync.
67006         (update_po_files): Don't remove .po files after download,
67007         so future rsync runs can take advantage of the copies.
67008
67009         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
67010
67011         Solve the unnecessary-.po-file-regeneration problem once and for all.
67012         * build-aux/bootstrap (download_po_files): New function, renamed from
67013         get_translations.  Now, downloads, but doesn't update LINGUAS.
67014         (update_po_files): New function.
67015
67016         bootstrap: Ignore more.
67017         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
67018         uniwidth to e.g., lib/.gitignore.
67019         (slurp): Handle the sys_stat_.h -> sys mapping, too.
67020
67021         * build-aux/bootstrap: New setting: vc_ignore.
67022         (insert_sorted_if_absent): Create $file if absent.
67023         Adapt to new, possibly empty, list: $vc_ignore.
67024
67025         bootstrap: generate more ignorable names
67026         * build-aux/bootstrap (slurp): When generating ignorable names,
67027         also map .sin to .sed, .gperf to .c, and .y to .c.
67028
67029 2007-09-03  Jim Meyering  <jim@meyering.net>
67030
67031         * build-aux/git-version-gen: New file, from coreutils.  For details, see
67032         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
67033
67034 2007-09-02  Bruno Haible  <bruno@clisp.org>
67035
67036         Fix mis-recognition of 'mcs' on QNX 6.
67037         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
67038         output contains the string "Mono".
67039         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
67040         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
67041
67042 2007-09-01  Bruno Haible  <bruno@clisp.org>
67043
67044         Fix collision between uniwidth/* and linebreak modules.
67045         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
67046         u32_width): Remove declarations.
67047         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
67048         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
67049         streq3, streq2, streq1, streq0): Remove functions.
67050         (STREQ): Remove macro.
67051         (is_cjk_encoding): Remove function.
67052         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
67053         (uc_width, u8_width, u16_width, u32_width): Remove functions.
67054         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
67055         * NEWS: Document the change.
67056
67057 2007-09-01  Bruno Haible  <bruno@clisp.org>
67058
67059         * lib/streq.h: Add double-inclusion guard.
67060
67061 2007-09-01  Karl Berry  <karl@gnu.org>
67062
67063         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
67064
67065 2007-08-28  Jim Meyering  <jim@meyering.net>
67066
67067         Rename mreadlink_with_size to areadlink_with_size.
67068         * NEWS: Document the change.
67069         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
67070         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
67071         * lib/mreadlink.h: Rename this to...
67072         * lib/areadlink.h: ...this.
67073         * modules/mreadlink-with-size: Rename this to...
67074         * modules/areadlink-with-size: ...this.
67075         * lib/canonicalize.c: Reflect the renaming.
67076         * modules/canonicalize: Likewise.
67077
67078 2007-08-26  Bruno Haible  <bruno@clisp.org>
67079
67080         * gnulib-tool (func_import): When deciding which files to remove,
67081         consider also dangling symbolic links.
67082         Reported by Eric Blake.
67083
67084 2007-08-26  Bruno Haible  <bruno@clisp.org>
67085
67086         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
67087
67088 2007-08-23  Simon Josefsson  <simon@josefsson.org>
67089
67090         * lib/readline.c: Don't include getline.h, the prototype is now
67091         found in stdio.h.
67092
67093 2007-08-23  Jim Meyering  <jim@meyering.net>
67094
67095         Getdelim touchup.
67096         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
67097         around the funlockfile call, since funlockfile never sets errno.
67098         Don't set errno upon failed realloc.
67099
67100 2007-08-22  Eric Blake  <ebb9@byu.net>
67101
67102         Getline touchups.
67103         * lib/getdelim.c (getdelim): Revert regression that required *n to
67104         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
67105         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
67106         getdelim, rather than whether implementation is missing.
67107         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
67108         * lib/stdio_.h (getline): Also declare if replacement is
67109         required.
67110         * doc/functions/getdelim.texi: New file.
67111         * doc/functions/getline.texi: Likewise.
67112         * doc/gnulib.texi (Function Substitutes): Add new files.
67113         Reported by Bruno Haible.
67114
67115 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
67116
67117         * users.txt: Add Guile.
67118
67119 2007-08-22  Eric Blake  <ebb9@byu.net>
67120
67121         * tests/test-getdelim.c (main): Use remove, not unlink.
67122         * tests/test-getline.c (main): Likewise.
67123
67124         Move getline and getdelim into stdio.h, per POSIX 200x.
67125         * modules/getline (Files): Remove getline.h.
67126         (Depends-on): Add stdio.
67127         (configure.ac): Add module indicator.
67128         * modules/getdelim (Files): Remove getdelim.h.
67129         (Depends-on): Add stdio.
67130         (configure.ac): Add module indicator.
67131         * modules/stdio (Makefile.am): Work with new indicators.
67132         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
67133         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
67134         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
67135         * lib/getdelim.h: Delete.
67136         * lib/getline.h: Delete.
67137         * lib/stdio_.h (getdelim, getline): Declare.
67138         * modules/getdelim-tests: New module.
67139         * modules/getline-tests: Likewise.
67140         * tests/test-getdelim.c: New file.
67141         * tests/test-getline.c: Likewise.
67142         * NEWS: Document the change.
67143         * lib/getline.c: Update choice of header.
67144         * lib/csharpcomp.c: Likewise.
67145         * lib/getpass.c: Likewise.
67146         * lib/javacomp.c: Likewise.
67147         * lib/javaversion.c: Likewise.
67148         * lib/yesno.c: Likewise.
67149         * lib/getdelim.c: Likewise.
67150         (getdelim): Set errno on failure, and avoid memory leak.
67151
67152 2007-08-19  Bruno Haible  <bruno@clisp.org>
67153
67154         * modules/closein (Depends-on): Add freadahead.
67155         * lib/closein.c: Include freadahead.h.
67156         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
67157         is zero.
67158
67159 2007-08-19  Bruno Haible  <bruno@clisp.org>
67160
67161         * modules/freadahead-tests: New file.
67162         * tests/test-freadahead.sh: New file.
67163         * tests/test-freadahead.c: New file.
67164
67165         * modules/freadahead: New file.
67166         * lib/freadahead.h: New file.
67167         * lib/freadahead.c: New file.
67168         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
67169         fbufmode, fpurge, freadable, fwritable.
67170
67171 2007-08-19  Eric Blake  <ebb9@byu.net>
67172
67173         Test yesno in combination with closein.
67174         * lib/yesno.c (yesno): Document use of stdin.
67175         * modules/yesno-tests (Files): New module.
67176         * tests/test-yesno.c (main): New file.
67177         * tests/test-yesno.sh: Likewise.
67178
67179 2007-08-19  Bruno Haible  <bruno@clisp.org>
67180
67181         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
67182         * lib/fseeko.c (rpl_fseeko): Likewise.
67183         * lib/fseterr.c (fseterr): Likewise.
67184
67185 2007-08-19  Bruno Haible  <bruno@clisp.org>
67186
67187         * tests/test-lseek.c (main): Disable a test for BeOS.
67188         * doc/functions/lseek.texi: Document the BeOS bug.
67189
67190 2007-08-19  Bruno Haible  <bruno@clisp.org>
67191             Eric Blake  <ebb9@byu.net>
67192
67193         * lib/lseek.c: Include <sys/stat.h>.
67194         (rpl_lseek): Add workaround code also for Unix platforms.
67195         Needed for BeOS.
67196         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
67197         * doc/functions/lseek.texi: Document BeOS definiency.
67198
67199 2007-08-18  Bruno Haible  <bruno@clisp.org>
67200
67201         * modules/fstrcmp-tests: New file.
67202         * tests/test-fstrcmp.c: New file.
67203
67204 2007-08-18  Bruno Haible  <bruno@clisp.org>
67205
67206         * modules/fstrcmp: New file, from GNU gettext with modifications.
67207         * lib/fstrcmp.h: New file, from GNU gettext.
67208         * lib/fstrcmp.c: New file, from GNU gettext.
67209         * MODULES.html.sh (String handling): Add fstrcmp.
67210
67211 2007-08-18  Bruno Haible  <bruno@clisp.org>
67212
67213         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
67214         'bool'.
67215         (diag, compareseq): Remove const from the ctxt argument.
67216         (USE_HEURISTIC): Undefine at the end.
67217
67218 2007-08-18  Jim Meyering  <jim@meyering.net>
67219
67220         New file: lib/idcache.h
67221         * NEWS: Mention the addition.
67222         * modules/idcache (Files): Add lib/idcache.h
67223         * lib/idcache.c: Include "idcache.h".
67224         Don't include <sys/types.h>.
67225         Add a FIXME comment.
67226         Move file-scoped "static" declarations to the top.
67227         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
67228
67229 2007-08-17  Bruno Haible  <bruno@clisp.org>
67230         and Paul Eggert  <eggert@cs.ucla.edu>
67231
67232         * MODULES.html.sh: Add diffseq.
67233         * modules/diffseq: New file.
67234         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
67235         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
67236
67237 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67238
67239         Import changes from coreutils for bootstrap script.
67240
67241         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
67242
67243         * build-aux/bootstrap (slurp): Work even in environments where
67244         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
67245         current code does not slurp files whose names start with ".", and
67246         this looks like it might be a troublesome area.
67247
67248         2007-07-11  Jim Meyering  <jim@meyering.net>
67249
67250         If there's a GPL vN copyright comment, require that N == 3.
67251
67252         2007-07-08  Jim Meyering  <jim@meyering.net>
67253
67254         Run the coreutils-specific code only if tests/Makefile.am.in exists.
67255         * build-aux/bootstrap (mam_template): Move definition out of loop.
67256
67257         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
67258
67259         * build-aux/bootstrap (symlink_to_dir): Rename function from
67260         symlink_to_gnulib.  Add a directory parameter.  Update all
67261         callers.
67262         (cp_mark_as_generated): Also check for -- and link to -- files in
67263         gl/.
67264
67265         2007-07-08  Jim Meyering  <jim@meyering.net>
67266
67267         Adapt to deeper hierarchy in gnulib.
67268         * build-aux/bootstrap (symlink_to_dir): If the destination
67269         directory doesn't exist, create it. This is required at least for
67270         "lib/uniwidth/cjk.h".
67271
67272         2007-05-15  Jim Meyering  <jim@meyering.net>
67273
67274         * build-aux/bootstrap: Now that generated Makefile.am files
67275         are no longer under version control, they must be created at
67276         bootstrap time.
67277
67278 2007-08-14  Ben Pfaff  <blp@gnu.org>
67279
67280         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
67281
67282 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
67283
67284         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
67285         given the changes below.
67286         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
67287         even on hosts that have padding bits beyond the supported 64.
67288
67289 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
67290
67291         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
67292         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
67293         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
67294         depends on it.
67295         (xstrtol_error): Remove.
67296         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
67297         but with a different signature.
67298         (ATTRIBUTE_NORETURN, __attribute__): New macros.
67299         * lib/xstrtol-error.c: Include exitfail.h.
67300         (xstrtol_fatal): New function, with a different signature from the
67301         old xstrtol_error, so that the caller need not worry about passing
67302         in an exit status, or about storage management of the option argument.
67303         (xstrtol_error): Now a static function.  Redo signature to
67304         implement xstrtol_fatal.  Output the correct number of hyphens in
67305         front of the option so that the caller need not worry about
67306         storage management.
67307         (N_): New macro.
67308         (_): Remove; not used now.
67309         * modules/xstrtol: Depend on getopt.
67310         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
67311         of old STRTOL_FATAL_ERROR macro.
67312         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
67313         of test program.
67314         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
67315         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
67316
67317 2007-08-08  Eric Blake  <ebb9@byu.net>
67318
67319         * lib/xstrtol-error.c: Add missing include.
67320
67321         Move xstrtol messages into gnulib domain, when --pobase is used.
67322         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
67323         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
67324         * modules/xstrtol (Files): Distribute new file.
67325         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
67326         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
67327         * tests/test-xstrtol.c: ...into new file.
67328         * tests/test-xstrtoul.c: Also test xstrtoul.
67329         * tests/test-xstrtoimax.c: Also test xstrtoimax.
67330         * tests/test-xstrtoumax.c: Also test xstrtoumax.
67331         * tests/test-xstrtol.sh: Drive the tests.
67332         * tests/test-xstrtoimax.sh: Likewise.
67333         * tests/test-xstrtoumax.sh: Likewise.
67334         * modules/xstrtol-tests: New module.
67335         * modules/xstrtoimax-tests: Likewise.
67336         * modules/xstrtoumax-tests: Likewise.
67337
67338 2007-08-08  Jim Meyering  <jim@meyering.net>
67339
67340         New function: mfile_name_concat.
67341         * lib/filenamecat.c (mfile_name_concat): New function, just like
67342         file_name_concat, but return NULL upon failure rather than exiting
67343         with a diagnostic.
67344         * lib/filenamecat.h: Declare it.
67345
67346 2007-08-07  Bruno Haible  <bruno@clisp.org>
67347
67348         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
67349         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
67350         warning from gcc.
67351         Reported by Eric Blake.
67352
67353 2007-08-07  Simon Josefsson  <simon@josefsson.org>
67354
67355         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
67356         * modules/crypto/arcfour (License): Likewise.
67357         * modules/crypto/des-tests (License): Likewise.
67358         * modules/crypto/gc-arctwo-tests (License): Likewise.
67359         * modules/crypto/gc-des-tests (License): Likewise.
67360         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
67361         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
67362         * modules/crypto/gc-md2-tests (License): Likewise.
67363         * modules/crypto/gc-md4-tests (License): Likewise.
67364         * modules/crypto/gc-md5-tests (License): Likewise.
67365         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
67366         * modules/crypto/gc-rijndael-tests (License): Likewise.
67367         * modules/crypto/gc-sha1-tests (License): Likewise.
67368         * modules/crypto/gc-tests (License): Likewise.
67369         * modules/crypto/hmac-md5 (License): Likewise.
67370         * modules/crypto/hmac-sha1 (License): Likewise.
67371         * modules/crypto/md2-tests (License): Likewise.
67372         * modules/crypto/md4-tests (License): Likewise.
67373         * modules/crypto/md5 (License): Likewise.
67374         * modules/crypto/rijndael (License): Likewise.
67375         * modules/crypto/sha1 (License): Likewise.
67376         * modules/memxor (License): Likewise.
67377
67378 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67379         and Bruno Haible  <bruno@clisp.org>
67380
67381         * NEWS: Describe interface changes to human, xstrtol.
67382         * lib/human.h: Include <xstrtol.h>.
67383         (human_options): Return enum strtol_error, not int.  Remove
67384         bool arg; take int * instead.
67385         * lib/human.c: Don't include "gettext.h".
67386         (_): Remove; no longer used.
67387         Don't include <xstrtol.h>, since human.h does it.
67388         (human_options): Adjust to abovementioned interface changes.
67389         Do not report error to stderr; that's now the caller's
67390         responsibility.
67391         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
67392         interface change.
67393         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
67394         Str, Argument_type_string.  All uses changed.  Put " argument"
67395         in diagnostics to make them clearer.  Change wording of suffix
67396         message for clarity.
67397         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
67398         Argument_type_string.
67399         (STRTOL_FATAL_WARN): Remove; no longer used.
67400         * modules/human (Depends-on): Remove gettext-h.
67401
67402 2007-08-06  Simon Josefsson  <simon@josefsson.org>
67403
67404         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
67405
67406 2007-07-31  Bruno Haible  <bruno@clisp.org>
67407
67408         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
67409         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
67410         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
67411
67412 2007-07-31  Bruno Haible  <bruno@clisp.org>
67413
67414         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
67415         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
67416
67417 2007-07-30  Bruno Haible  <bruno@clisp.org>
67418
67419         * modules/base64 (License): Use the synonymous term "LGPLv2+".
67420         * modules/c-ctype (License): Likewise.
67421         * modules/c-strcase (License): Likewise.
67422         * modules/check-version (License): Likewise.
67423         * modules/iconv (License): Likewise.
67424         * modules/iconv_open (License): Likewise.
67425         * modules/read-file (License): Likewise.
67426         * modules/striconv (License): Likewise.
67427         * modules/strverscmp (License): Likewise.
67428         * modules/vasprintf (License): Likewise.
67429         * modules/crypto/des (License): Likewise.
67430         * modules/crypto/gc (License): Likewise.
67431         * modules/crypto/gc-arcfour (License): Likewise.
67432         * modules/crypto/gc-arctwo (License): Likewise.
67433         * modules/crypto/gc-des (License): Likewise.
67434         * modules/crypto/gc-hmac-md5 (License): Likewise.
67435         * modules/crypto/gc-hmac-sha1 (License): Likewise.
67436         * modules/crypto/gc-md2 (License): Likewise.
67437         * modules/crypto/gc-md4 (License): Likewise.
67438         * modules/crypto/gc-md5 (License): Likewise.
67439         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
67440         * modules/crypto/gc-random (License): Likewise.
67441         * modules/crypto/gc-rijndael (License): Likewise.
67442         * modules/crypto/gc-sha1 (License): Likewise.
67443         * modules/crypto/md2 (License): Likewise.
67444         * modules/crypto/md4 (License): Likewise.
67445
67446 2007-07-30  Jim Meyering  <jim@meyering.net>
67447
67448         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
67449         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
67450         it has valid stat data.  This bug would cause du not to count the
67451         sizes of inaccessible directories.
67452         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
67453         in <http://bugzilla.redhat.com/250077>.
67454
67455 2007-07-25  Peter O'Gorman  <peter@pogma.com>
67456             Bruno Haible  <bruno@clisp.org>
67457
67458         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
67459         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
67460         #include_next, gives a diagnostic about it, but reports no error in
67461         the exit code.
67462         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
67463
67464 2007-07-24  Ben Pfaff  <blp@gnu.org>
67465
67466         Improve name: "count-one-bits" is better than "popcount".
67467         * MODULES.html.sh: Update name.
67468         * lib/popcount.h: Renamed lib/count-one-bits.h.
67469         (popcount): Renamed count_one_bits.
67470         (popcountl): Renamed count_one_bits_l.
67471         (popcountll): Renamed count_one_bits_ll.
67472         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
67473         * modules/popcount: Renamed module/count-one-bits.
67474         * modules/popcount-tests: Renamed module/count-one-bits-tests.
67475         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
67476
67477 2007-07-23  Ben Pfaff  <blp@gnu.org>
67478
67479         * lib/popcount.h (popcount32): Reduce size of constants, to allow
67480         better code generation, and add U to large constants to avoid
67481         warnings, in non-GCC case.
67482         Suggested by Bruno Haible.
67483
67484 2007-07-23  Ben Pfaff  <blp@gnu.org>
67485
67486         * lib/popcount.h: Use verify_true instead of if...abort.
67487         * modules/popcount: Depend on verify module.
67488         Suggested by Jim Meyering.
67489
67490 2007-07-23  Bruno Haible  <bruno@clisp.org>
67491
67492         * gnulib-tool (func_import): Create a .cvsignore file also when the
67493         directory is not yet in CVS but the toplevel directory is. When
67494         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
67495         Reported by Karl Berry.
67496
67497 2007-07-22  Ben Pfaff  <blp@gnu.org>
67498
67499         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
67500         case.
67501         Suggested by Eric Blake.
67502
67503 2007-07-22  Ben Pfaff  <blp@gnu.org>
67504
67505         New module: popcount.
67506         * MODULES.html.sh: Add popcount.
67507         * modules/popcount: New file.
67508         * modules/popcount-tests: New file.
67509         * tests/test-popcount.c: New file.
67510         * lib/popcount.h: New file.
67511         * m4/popcount.m4: New file.
67512
67513 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
67514
67515         * build-aux/announce-gen: Update to GPLv3.
67516
67517         * build-aux/config.guess: Update from config.
67518
67519 2007-07-21  Bruno Haible  <bruno@clisp.org>
67520
67521         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
67522         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
67523
67524 2007-07-20  Jim Meyering  <jim@meyering.net>
67525
67526         * check-module: Diagnose a self-dependency.
67527
67528 2007-07-19  Bruno Haible  <bruno@clisp.org>
67529
67530         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
67531         empty.
67532         Reported by Eric Blake.
67533
67534 2007-07-18  Bruno Haible  <bruno@clisp.org>
67535
67536         * gnulib-tool: New options --po-base, --po-domain.
67537         (func_usage): Document them.
67538         (pobase, po_domain): New variables.
67539         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
67540         DEFAULT_TEXT_DOMAIN.
67541         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
67542         (func_import): Consider pobase and po_domain. Create a po/ directory.
67543         (func_create_testdir): Set pobase and po_domain to empty.
67544         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
67545         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
67546
67547 2007-07-18  Bruno Haible  <bruno@clisp.org>
67548
67549         * gnulib-tool (func_get_automake_snippet): Synthesize also an
67550         EXTRA_DIST augmentation for files in build-aux/.
67551
67552 2007-07-16  Bruno Haible  <bruno@clisp.org>
67553
67554         * modules/lseek (License): Use the synonymous term "LGPLv2+".
67555         * modules/getdelim (License): Likewise.
67556
67557 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67558
67559         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
67560         * modules/d-type (License): Likewise.
67561         * modules/extensions (License): Likewise.
67562         * modules/fnmatch (License): Likewise.
67563         * modules/fseeko (License): Likewise.
67564         * modules/getaddrinfo (License): Likewise.
67565         * modules/getline (License): Likewise.
67566         * modules/getlogin_r (License): Likewise.
67567         * modules/getpass (License): Likewise.
67568         * modules/gettimeofday (License): Likewise.
67569         * modules/glob (License): Likewise.
67570         * modules/inet_ntop (License): Likewise.
67571         * modules/malloc (License): Likewise.
67572         * modules/malloca (License): Likewise.
67573         * modules/memmem (License): Likewise.
67574         * modules/mempcpy (License): Likewise.
67575         * modules/memset (License): Likewise.
67576         * modules/minmax (License): Likewise.
67577         * modules/mktime (License): Likewise.
67578         * modules/netinet_in (License): Likewise.
67579         * modules/pathmax (License): Likewise.
67580         * modules/poll (License): Likewise.
67581         * modules/regex (License): Likewise.
67582         * modules/snprintf (License): Likewise.
67583         * modules/stdbool (License): Likewise.
67584         * modules/stdint (License): Likewise.
67585         * modules/stdio (License): Likewise.
67586         * modules/strcase (License): Likewise.
67587         * modules/strcasestr (License): Likewise.
67588         * modules/strdup (License): Likewise.
67589         * modules/string (License): Likewise.
67590         * modules/strndup (License): Likewise.
67591         * modules/strnlen (License): Likewise.
67592         * modules/strpbrk (License): Likewise.
67593         * modules/strptime (License): Likewise.
67594         * modules/strsep (License): Likewise.
67595         * modules/sys_select (License): Likewise.
67596         * modules/sys_socket (License): Likewise.
67597         * modules/sys_stat (License): Likewise.
67598         * modules/sys_time (License): Likewise.
67599         * modules/time (License): Likewise.
67600         * modules/time_r (License): Likewise.
67601         * modules/timegm (License): Likewise.
67602         * modules/unistd (License): Likewise.
67603         * modules/vsnprintf (License): Likewise.
67604         * modules/wctype (License): Likewise.
67605
67606 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67607
67608         * modules/argz (License): LGPLv2+.
67609
67610 2007-07-15  Karl Berry  <karl@gnu.org>
67611
67612         * doc/gnulib.texi: revise node structure per new fdl.texi.
67613
67614 2007-07-14  Bruno Haible  <bruno@clisp.org>
67615
67616         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
67617         the output file.
67618         * lib/uniname/uninames.h: Regenerated.
67619
67620 2007-07-14  Karl Berry  <karl@gnu.org>
67621
67622         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
67623         omitting sectioning and index commands.
67624
67625 2007-07-13  Bruno Haible  <bruno@clisp.org>
67626
67627         New gnulib-tool option --more-symlinks.
67628         * gnulib-tool (func_usage): Document --more-symlinks.
67629         (do_copyrights): New variable.
67630         Recognize option --more-symlinks.
67631         (func_import): Don't add a copyright notice transform to
67632         sed_transform_lib_file if do_copyrights is empty.
67633
67634 2007-07-13  Bruno Haible  <bruno@clisp.org>
67635
67636         * lib/vasnprintf.c (decimal_point_char): Define also if
67637         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
67638         && !NEED_PRINTF_DIRECTIVE_A.
67639         Reported by Clemens Koller <clemens.koller@anagramm.de> via
67640         Gary V. Vaughan <gary@gnu.org>.
67641
67642 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
67643
67644         * lib/inttypes_.h: Undo previous change, since it was fixed
67645         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
67646
67647 2007-07-13  Bruno Haible  <bruno@clisp.org>
67648
67649         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
67650         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
67651
67652 2007-07-13  Jim Meyering  <jim@meyering.net>
67653
67654         df: Don't fail for Tru64's "file-on-file mount".
67655         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
67656         so we fall through and use statfs instead.  Details here:
67657         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
67658         Reported by Albert Chin.
67659
67660 2007-07-13  Bruno Haible  <bruno@clisp.org>
67661
67662         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
67663         * modules/configmake (License): Likewise.
67664         * modules/gettext (License): Likewise.
67665         * modules/gettext-h (License): Likewise.
67666         * modules/include_next (License): Likewise.
67667         * modules/link-warning (License): Likewise.
67668         * modules/localcharset (License): Likewise.
67669         * modules/localename (License): Likewise.
67670         * modules/lock (License): Likewise.
67671         * modules/relocatable-lib-lgpl (License): Likewise.
67672         * modules/size_max (License): Likewise.
67673         * modules/vasnprintf (License): Likewise.
67674         * modules/wchar (License): Likewise.
67675         * modules/xsize (License): Likewise.
67676
67677 2007-07-13  Bruno Haible  <bruno@clisp.org>
67678
67679         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
67680         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
67681
67682 2007-07-12  Bruno Haible  <bruno@clisp.org>
67683
67684         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
67685         in the modules files.
67686
67687 2007-07-11  Karl Berry  <karl@gnu.org>
67688
67689         * MODULES.html.sh (func_module): use
67690          sed -e '\|^'"${includefile}"'$|d'
67691          instead of /.../d, to avoid errors on $includefile's containing /.
67692
67693 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
67694
67695         * gnulib-tool (func_import): Avoid duplication of --avoid
67696         statements
67697         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
67698         names to `_' in variable names.
67699
67700 2007-07-10  Eric Blake  <ebb9@byu.net>
67701
67702         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
67703         * NEWS: Document this change.
67704
67705 2007-07-08  Bruno Haible  <bruno@clisp.org>
67706
67707         Update to Unicode 5.0.
67708         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
67709         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
67710         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
67711         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
67712         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
67713         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
67714         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
67715         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
67716         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
67717         U+10A3F, U+1D242..U+1D244.
67718         (nonspacing_table_ind): Update.
67719         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
67720         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
67721
67722 2007-07-08  Bruno Haible  <bruno@clisp.org>
67723
67724         Update to Unicode 5.0.
67725         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
67726         code transform. Extend the name index field of unicode_name_to_code and
67727         unicode_code_to_name from 16 to 24 bits.
67728         * lib/uniname/uniname.c (unicode_character_name,
67729         unicode_name_character): Add the range 0x12xxx to the code transform.
67730         * lib/uniname/uninames.h: Regenerated.
67731         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
67732
67733 2007-07-07  Bruno Haible  <bruno@clisp.org>
67734
67735         * modules/wcwidth-tests: New file.
67736         * tests/test-wcwidth.c: New file.
67737
67738         Work around MacOS X wcwidth() bug.
67739         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
67740         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
67741         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
67742         original wcwidth in non-UTF-8 locales.
67743         * modules/wcwidth (Depends-on): Add localcharset, streq,
67744         uniwidth/width.
67745         * doc/functions/wcwidth.texi: Update.
67746
67747 2007-07-07  Bruno Haible  <bruno@clisp.org>
67748
67749         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
67750         (wcwidth): New declaration.
67751         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
67752         macros.
67753         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
67754         here. Prepare for creating <wchar.h> unconditionally.
67755         * modules/wchar (Depends-on): Add link-warning.
67756         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
67757         REPLACE_WCWIDTH, and GL_LINK_WARNING.
67758         * lib/wcwidth.h: Remove file.
67759         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
67760         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
67761         * modules/wcwidth (Files): Remove lib/wcwidth.h.
67762         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
67763         (Include): Replace wcwidth.h with <wchar.h>.
67764         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
67765         * lib/mbchar.h: Don't include wcwidth.h.
67766         * lib/mbswidth.c: Likewise.
67767         * NEWS: Mention the change.
67768
67769 2007-07-07  Bruno Haible  <bruno@clisp.org>
67770
67771         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
67772         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
67773         definition with an external declaration.
67774         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
67775         defined as a function. Remove AC_C_INLINE requirement.
67776         * modules/wcwidth (Files): Add lib/wcwidth.c.
67777         (Makefile.am): Remove redundant statement.
67778
67779 2007-07-07  Bruno Haible  <bruno@clisp.org>
67780
67781         * MODULES.html.sh (Unicode string functions): Add the new modules.
67782
67783         * tests/uniwidth/test-u32-strwidth.c: New file.
67784         * modules/uniwidth/u32-strwidth-tests: New file.
67785
67786         * lib/uniwidth/u32-strwidth.c: New file.
67787         * modules/uniwidth/u32-strwidth: New file.
67788
67789         * tests/uniwidth/test-u16-strwidth.c: New file.
67790         * modules/uniwidth/u16-strwidth-tests: New file.
67791
67792         * lib/uniwidth/u16-strwidth.c: New file.
67793         * modules/uniwidth/u16-strwidth: New file.
67794
67795         * tests/uniwidth/test-u8-strwidth.c: New file.
67796         * modules/uniwidth/u8-strwidth-tests: New file.
67797
67798         * lib/uniwidth/u8-strwidth.c: New file.
67799         * modules/uniwidth/u8-strwidth: New file.
67800
67801         * tests/uniwidth/test-u32-width.c: New file.
67802         * modules/uniwidth/u32-width-tests: New file.
67803
67804         * lib/uniwidth/u32-width.c: New file.
67805         * modules/uniwidth/u32-width: New file.
67806
67807         * tests/uniwidth/test-u16-width.c: New file.
67808         * modules/uniwidth/u16-width-tests: New file.
67809
67810         * lib/uniwidth/u16-width.c: New file.
67811         * modules/uniwidth/u16-width: New file.
67812
67813         * tests/uniwidth/test-u8-width.c: New file.
67814         * modules/uniwidth/u8-width-tests: New file.
67815
67816         * lib/uniwidth/u8-width.c: New file.
67817         * modules/uniwidth/u8-width: New file.
67818
67819         * tests/uniwidth/test-uc_width.c: New file.
67820         * modules/uniwidth/width-tests: New file.
67821
67822         * lib/uniwidth/width.c: New file, from GNU libiconv.
67823         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
67824         * modules/uniwidth/width: New file.
67825
67826         * lib/uniwidth.h: New file, from GNU libiconv.
67827         * modules/uniwidth/base: New file.
67828
67829 2007-07-07  Bruno Haible  <bruno@clisp.org>
67830
67831         * lib/uniname.h: New file, from GNU gettext.
67832         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
67833         * lib/uniname/uninames.h: New file, from GNU gettext.
67834         * lib/uniname/uniname.c: New file, from GNU gettext.
67835         * tests/uniname/test-uninames.sh: New file.
67836         * tests/uniname/test-uninames.c: New file, from GNU gettext.
67837         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
67838         * modules/uniname/base: New file.
67839         * modules/uniname/uniname: New file.
67840         * modules/uniname/uniname-tests: New file.
67841         * MODULES.html.sh (Unicode string functions): Add the new modules.
67842
67843 2007-07-06  Bruno Haible  <bruno@clisp.org>
67844
67845         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
67846
67847 2007-07-06  Bruno Haible  <bruno@clisp.org>
67848
67849         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
67850         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
67851         includes <cygwin/sys_time.h> which includes <sys/select.h> which
67852         include <sys/time.h>.
67853         Reported by Eric Blake.
67854
67855 2007-07-06  Eric Blake  <ebb9@byu.net>
67856
67857         Fix testing canonicalize on cygwin.
67858         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
67859         Revert patch from 2007-06-19.
67860         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
67861         canonicalize module is also in use.
67862         * tests/test-canonicalize.c: New file.
67863         * tests/test-canonicalize.sh: Likewise.
67864         * modules/canonicalize-tests: Likewise.
67865
67866 2007-07-06  Jim Meyering  <jim@meyering.net>
67867
67868         * lib/getugroups.c (getugroups): Detect getgrent failure.
67869         Adjust comment to reflect reality: this function may return -1.
67870
67871 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
67872
67873         * build-aux/bootstrap (TP_URL,get_translations): Update to use
67874         the new TP address.
67875         (usage): Fix typo
67876         (gnulib_mk): New variable.
67877
67878 2007-07-05  Jim Meyering  <jim@meyering.net>
67879
67880         Don't let endgrent clobber errno, no matter how improbable.
67881         * lib/getugroups.c (getugroups): Save and restore errno around
67882         endgrent call.
67883
67884         Close the group DB even when failing with 2^31 or more members.
67885         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
67886
67887 2007-07-04  Jim Meyering  <jim@meyering.net>
67888
67889         * lib/getugroups.h: New file.
67890         * lib/getugroups.c: Include "getugroups.h".
67891         Remove uses of "register" keyword.
67892         Move local variable, "cp", down into scope where used.
67893         Give "username" parameter the "const" attribute.
67894         * modules/getugroups (Files): Add lib/getugroups.h
67895
67896 2007-07-04  Karl Berry  <karl@gnu.org>
67897
67898         * MODULES.html.sh (func_all_modules): Complete rename of
67899         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
67900
67901 2007-07-02  Bruno Haible  <bruno@clisp.org>
67902
67903         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
67904         mode, when inttypes.h comes from gnulib.
67905         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
67906
67907 2007-07-02  Simon Josefsson  <simon@josefsson.org>
67908
67909         * NEWS: Mention lgpl module name change.
67910
67911         * modules/lgpl-2.1: Renamed from lgpl.
67912
67913         * NEWS: Mention gpl module name change.
67914
67915         * modules/gpl-3.0: New file, based on gpl-2.0.
67916
67917         * modules/gpl-2.0: Renamed from gpl.
67918
67919         * modules/gpl: Fix filename, doc/gpl.texi is now found at
67920         doc/gpl-2.0.texi.
67921
67922 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
67923
67924         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
67925         #define __STDC_LIMIT_MACROS temporarily while including
67926         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
67927         Problem reported by Joel E. Denny in
67928         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
67929
67930 2007-07-01  Bruno Haible  <bruno@clisp.org>
67931
67932         * lib/unistdio.h: New file.
67933         * lib/unistdio/u-asnprintf.h: New file.
67934         * lib/unistdio/u-asprintf.h: New file.
67935         * lib/unistdio/u-printf-args.c: New file.
67936         * lib/unistdio/u-printf-args.h: New file.
67937         * lib/unistdio/u-printf-parse.h: New file.
67938         * lib/unistdio/u-snprintf.h: New file.
67939         * lib/unistdio/u-sprintf.h: New file.
67940         * lib/unistdio/u-vasprintf.h: New file.
67941         * lib/unistdio/u-vsnprintf.h: New file.
67942         * lib/unistdio/u-vsprintf.h: New file.
67943         * lib/unistdio/ulc-asnprintf.c: New file.
67944         * lib/unistdio/ulc-asprintf.c: New file.
67945         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
67946         * lib/unistdio/ulc-printf-parse.c: New file.
67947         * lib/unistdio/ulc-snprintf.c: New file.
67948         * lib/unistdio/ulc-sprintf.c: New file.
67949         * lib/unistdio/ulc-vasnprintf.c: New file.
67950         * lib/unistdio/ulc-vasprintf.c: New file.
67951         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
67952         * lib/unistdio/ulc-vsnprintf.c: New file.
67953         * lib/unistdio/ulc-vsprintf.c: New file.
67954         * lib/unistdio/u8-asnprintf.c: New file.
67955         * lib/unistdio/u8-asprintf.c: New file.
67956         * lib/unistdio/u8-printf-parse.c: New file.
67957         * lib/unistdio/u8-snprintf.c: New file.
67958         * lib/unistdio/u8-sprintf.c: New file.
67959         * lib/unistdio/u8-vasnprintf.c: New file.
67960         * lib/unistdio/u8-vasprintf.c: New file.
67961         * lib/unistdio/u8-vsnprintf.c: New file.
67962         * lib/unistdio/u8-vsprintf.c: New file.
67963         * lib/unistdio/u8-u8-asnprintf.c: New file.
67964         * lib/unistdio/u8-u8-asprintf.c: New file.
67965         * lib/unistdio/u8-u8-snprintf.c: New file.
67966         * lib/unistdio/u8-u8-sprintf.c: New file.
67967         * lib/unistdio/u8-u8-vasnprintf.c: New file.
67968         * lib/unistdio/u8-u8-vasprintf.c: New file.
67969         * lib/unistdio/u8-u8-vsnprintf.c: New file.
67970         * lib/unistdio/u8-u8-vsprintf.c: New file.
67971         * lib/unistdio/u16-asnprintf.c: New file.
67972         * lib/unistdio/u16-asprintf.c: New file.
67973         * lib/unistdio/u16-printf-parse.c: New file.
67974         * lib/unistdio/u16-snprintf.c: New file.
67975         * lib/unistdio/u16-sprintf.c: New file.
67976         * lib/unistdio/u16-vasnprintf.c: New file.
67977         * lib/unistdio/u16-vasprintf.c: New file.
67978         * lib/unistdio/u16-vsnprintf.c: New file.
67979         * lib/unistdio/u16-vsprintf.c: New file.
67980         * lib/unistdio/u16-u16-asnprintf.c: New file.
67981         * lib/unistdio/u16-u16-asprintf.c: New file.
67982         * lib/unistdio/u16-u16-snprintf.c: New file.
67983         * lib/unistdio/u16-u16-sprintf.c: New file.
67984         * lib/unistdio/u16-u16-vasnprintf.c: New file.
67985         * lib/unistdio/u16-u16-vasprintf.c: New file.
67986         * lib/unistdio/u16-u16-vsnprintf.c: New file.
67987         * lib/unistdio/u16-u16-vsprintf.c: New file.
67988         * lib/unistdio/u32-asnprintf.c: New file.
67989         * lib/unistdio/u32-asprintf.c: New file.
67990         * lib/unistdio/u32-printf-parse.c: New file.
67991         * lib/unistdio/u32-snprintf.c: New file.
67992         * lib/unistdio/u32-sprintf.c: New file.
67993         * lib/unistdio/u32-vasnprintf.c: New file.
67994         * lib/unistdio/u32-vasprintf.c: New file.
67995         * lib/unistdio/u32-vsnprintf.c: New file.
67996         * lib/unistdio/u32-vsprintf.c: New file.
67997         * lib/unistdio/u32-u32-asnprintf.c: New file.
67998         * lib/unistdio/u32-u32-asprintf.c: New file.
67999         * lib/unistdio/u32-u32-snprintf.c: New file.
68000         * lib/unistdio/u32-u32-sprintf.c: New file.
68001         * lib/unistdio/u32-u32-vasnprintf.c: New file.
68002         * lib/unistdio/u32-u32-vasprintf.c: New file.
68003         * lib/unistdio/u32-u32-vsnprintf.c: New file.
68004         * lib/unistdio/u32-u32-vsprintf.c: New file.
68005         * tests/unistdio/test-ulc-asnprintf1.c: New file.
68006         * tests/unistdio/test-ulc-asnprintf1.h: New file.
68007         * tests/unistdio/test-ulc-printf1.h: New file.
68008         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
68009         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
68010         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
68011         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
68012         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
68013         * tests/unistdio/test-ulc-vasprintf1.c: New file.
68014         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
68015         * tests/unistdio/test-ulc-vsprintf1.c: New file.
68016         * tests/unistdio/test-u8-asnprintf1.c: New file.
68017         * tests/unistdio/test-u8-asnprintf1.h: New file.
68018         * tests/unistdio/test-u8-printf1.h: New file.
68019         * tests/unistdio/test-u8-vasnprintf1.c: New file.
68020         * tests/unistdio/test-u8-vasnprintf2.c: New file.
68021         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
68022         * tests/unistdio/test-u8-vasnprintf3.c: New file.
68023         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
68024         * tests/unistdio/test-u8-vasprintf1.c: New file.
68025         * tests/unistdio/test-u8-vsnprintf1.c: New file.
68026         * tests/unistdio/test-u8-vsprintf1.c: New file.
68027         * tests/unistdio/test-u16-asnprintf1.c: New file.
68028         * tests/unistdio/test-u16-asnprintf1.h: New file.
68029         * tests/unistdio/test-u16-printf1.h: New file.
68030         * tests/unistdio/test-u16-vasnprintf1.c: New file.
68031         * tests/unistdio/test-u16-vasnprintf2.c: New file.
68032         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
68033         * tests/unistdio/test-u16-vasnprintf3.c: New file.
68034         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
68035         * tests/unistdio/test-u16-vasprintf1.c: New file.
68036         * tests/unistdio/test-u16-vsnprintf1.c: New file.
68037         * tests/unistdio/test-u16-vsprintf1.c: New file.
68038         * tests/unistdio/test-u32-asnprintf1.c: New file.
68039         * tests/unistdio/test-u32-asnprintf1.h: New file.
68040         * tests/unistdio/test-u32-printf1.h: New file.
68041         * tests/unistdio/test-u32-vasnprintf1.c: New file.
68042         * tests/unistdio/test-u32-vasnprintf2.c: New file.
68043         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
68044         * tests/unistdio/test-u32-vasnprintf3.c: New file.
68045         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
68046         * tests/unistdio/test-u32-vasprintf1.c: New file.
68047         * tests/unistdio/test-u32-vsnprintf1.c: New file.
68048         * tests/unistdio/test-u32-vsprintf1.c: New file.
68049         * modules/unistdio/base: New file.
68050         * modules/unistdio/u-printf-args: New file.
68051         * modules/unistdio/ulc-asnprintf: New file.
68052         * modules/unistdio/ulc-asprintf: New file.
68053         * modules/unistdio/ulc-fprintf: New file.
68054         * modules/unistdio/ulc-printf-parse: New file.
68055         * modules/unistdio/ulc-snprintf: New file.
68056         * modules/unistdio/ulc-sprintf: New file.
68057         * modules/unistdio/ulc-vasnprintf: New file.
68058         * modules/unistdio/ulc-vasprintf: New file.
68059         * modules/unistdio/ulc-vfprintf: New file.
68060         * modules/unistdio/ulc-vsnprintf: New file.
68061         * modules/unistdio/ulc-vsprintf: New file.
68062         * modules/unistdio/u8-asnprintf: New file.
68063         * modules/unistdio/u8-asprintf: New file.
68064         * modules/unistdio/u8-printf-parse: New file.
68065         * modules/unistdio/u8-snprintf: New file.
68066         * modules/unistdio/u8-sprintf: New file.
68067         * modules/unistdio/u8-vasnprintf: New file.
68068         * modules/unistdio/u8-vasprintf: New file.
68069         * modules/unistdio/u8-vsnprintf: New file.
68070         * modules/unistdio/u8-vsprintf: New file.
68071         * modules/unistdio/u8-u8-asnprintf: New file.
68072         * modules/unistdio/u8-u8-asprintf: New file.
68073         * modules/unistdio/u8-u8-snprintf: New file.
68074         * modules/unistdio/u8-u8-sprintf: New file.
68075         * modules/unistdio/u8-u8-vasnprintf: New file.
68076         * modules/unistdio/u8-u8-vasprintf: New file.
68077         * modules/unistdio/u8-u8-vsnprintf: New file.
68078         * modules/unistdio/u8-u8-vsprintf: New file.
68079         * modules/unistdio/u16-asnprintf: New file.
68080         * modules/unistdio/u16-asprintf: New file.
68081         * modules/unistdio/u16-printf-parse: New file.
68082         * modules/unistdio/u16-snprintf: New file.
68083         * modules/unistdio/u16-sprintf: New file.
68084         * modules/unistdio/u16-vasnprintf: New file.
68085         * modules/unistdio/u16-vasprintf: New file.
68086         * modules/unistdio/u16-vsnprintf: New file.
68087         * modules/unistdio/u16-vsprintf: New file.
68088         * modules/unistdio/u16-u16-asnprintf: New file.
68089         * modules/unistdio/u16-u16-asprintf: New file.
68090         * modules/unistdio/u16-u16-snprintf: New file.
68091         * modules/unistdio/u16-u16-sprintf: New file.
68092         * modules/unistdio/u16-u16-vasnprintf: New file.
68093         * modules/unistdio/u16-u16-vasprintf: New file.
68094         * modules/unistdio/u16-u16-vsnprintf: New file.
68095         * modules/unistdio/u16-u16-vsprintf: New file.
68096         * modules/unistdio/u32-asnprintf: New file.
68097         * modules/unistdio/u32-asprintf: New file.
68098         * modules/unistdio/u32-printf-parse: New file.
68099         * modules/unistdio/u32-snprintf: New file.
68100         * modules/unistdio/u32-sprintf: New file.
68101         * modules/unistdio/u32-vasnprintf: New file.
68102         * modules/unistdio/u32-vasprintf: New file.
68103         * modules/unistdio/u32-vsnprintf: New file.
68104         * modules/unistdio/u32-vsprintf: New file.
68105         * modules/unistdio/u32-u32-asnprintf: New file.
68106         * modules/unistdio/u32-u32-asprintf: New file.
68107         * modules/unistdio/u32-u32-snprintf: New file.
68108         * modules/unistdio/u32-u32-sprintf: New file.
68109         * modules/unistdio/u32-u32-vasnprintf: New file.
68110         * modules/unistdio/u32-u32-vasprintf: New file.
68111         * modules/unistdio/u32-u32-vsnprintf: New file.
68112         * modules/unistdio/u32-u32-vsprintf: New file.
68113         * modules/unistdio/ulc-asnprintf-tests: New file.
68114         * modules/unistdio/ulc-vasnprintf-tests: New file.
68115         * modules/unistdio/ulc-vasprintf-tests: New file.
68116         * modules/unistdio/ulc-vsnprintf-tests: New file.
68117         * modules/unistdio/ulc-vsprintf-tests: New file.
68118         * modules/unistdio/u8-asnprintf-tests: New file.
68119         * modules/unistdio/u8-vasnprintf-tests: New file.
68120         * modules/unistdio/u8-vasprintf-tests: New file.
68121         * modules/unistdio/u8-vsnprintf-tests: New file.
68122         * modules/unistdio/u8-vsprintf-tests: New file.
68123         * modules/unistdio/u16-asnprintf-tests: New file.
68124         * modules/unistdio/u16-vasnprintf-tests: New file.
68125         * modules/unistdio/u16-vasprintf-tests: New file.
68126         * modules/unistdio/u16-vsnprintf-tests: New file.
68127         * modules/unistdio/u16-vsprintf-tests: New file.
68128         * modules/unistdio/u32-asnprintf-tests: New file.
68129         * modules/unistdio/u32-vasnprintf-tests: New file.
68130         * modules/unistdio/u32-vasprintf-tests: New file.
68131         * modules/unistdio/u32-vsnprintf-tests: New file.
68132         * modules/unistdio/u32-vsprintf-tests: New file.
68133         * MODULES.html.sh (Unicode string functions): Add the new modules.
68134
68135 2007-07-01  Bruno Haible  <bruno@clisp.org>
68136
68137         * lib/sprintf.c (sprintf): Limit the available length estimation,
68138         to avoid address wraparound.
68139         * lib/vsprintf.c (vsprintf): Likewise.
68140         * modules/sprintf-posix (Dependencies): Add stdint.
68141         * modules/vsprintf-posix (Dependencies): Likewise.
68142
68143 2007-07-01  Bruno Haible  <bruno@clisp.org>
68144
68145         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
68146         Windows PATH as well. Conservative double-quoting. Comments.
68147
68148 2007-07-01  Bruno Haible  <bruno@clisp.org>
68149             Eric Blake  <ebb9@byu.net>
68150             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68151
68152         * gnulib-tool (self_abspathname): Fix algorithm to cope with
68153         empty components in $PATH, denoting '.'.
68154
68155 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68156
68157         * gnulib-tool: Fix indentation.
68158         (func_create_megatestdir): Likewise.
68159         Report by Bruno Haible.
68160
68161 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68162
68163         Sync from Automake.
68164         * build-aux/gnupload: Fix shell portability issues with for loops.
68165         Report by Karl Berry.
68166
68167 2007-06-29  Simon Josefsson  <simon@josefsson.org>
68168
68169         * build-aux/maint.mk (POURL): Use translationproject.org.
68170
68171 2007-06-27  Simon Josefsson  <simon@josefsson.org>
68172             Bruno Haible  <bruno@clisp.org>
68173
68174         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
68175         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
68176         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
68177         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
68178         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
68179
68180 2007-06-27  Bruno Haible  <bruno@clisp.org>
68181
68182         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
68183         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
68184
68185 2007-06-26  Karl Berry  <karl@gnu.org>
68186
68187         * MODULES.html.sh: remove xreadlink-with-size.
68188
68189 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68190
68191         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
68192         method that I hope also handles the double-include problem noted
68193         by Bruno Haible in
68194         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
68195
68196 2007-06-23  Bruno Haible  <bruno@clisp.org>
68197
68198         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68199         Don't let the 'mostlyclean' target fail if the last subdirectory could
68200         not be removed.
68201         Reported by Karl Berry.
68202
68203 2007-06-23  Bruno Haible  <bruno@clisp.org>
68204
68205         * gnulib-tool (echo): Add a speedier workaround for ksh.
68206         * tests/test-echo.sh: Likewise.
68207
68208 2007-06-23  Bruno Haible  <bruno@clisp.org>
68209
68210         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
68211         * tests/test-echo.sh: Likewise.
68212
68213 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68214
68215         * gnulib-tool (IFS): Initialize early, so we don't set it to
68216         empty later.
68217         (self_abspathname): Rewrite algorithm to set it, reindent.
68218         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
68219         (func_create_megatestdir): Merge some sed scripts.
68220
68221 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68222
68223         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
68224         exposed by Sun Studio 11 cc on Solaris 8.
68225
68226 2007-06-22  Bruno Haible  <bruno@clisp.org>
68227
68228         * gnulib-tool (echo): Ensure the echo primitive does not interpret
68229         backslashes.
68230         * tests/test-echo.sh: New file.
68231
68232 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68233
68234         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
68235         simplify `sed_replace_build_aux' scripts, they are portable but
68236         echoing them with `echo' is not.
68237         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
68238
68239 2007-06-21  Karl Berry  <karl@gnu.org>
68240
68241         * config/srclist.txt: guess we can't handle the licenses via
68242         srclist at the moment.
68243
68244 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
68245
68246         * MODULES.html.sh: Add include_next.
68247         * modules/include_next: New file.
68248
68249 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
68250
68251         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
68252         INCLUDE_NEXT.
68253         (gl_CHECK_NEXT_HEADERS): New macro.
68254         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
68255         the obsolescent gl_ABSOLUTE_HEADER.
68256         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
68257         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
68258         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
68259         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
68260         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
68261         * m4/math_h.m4 (gl_MATH_H): Likewise.
68262         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
68263         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
68264         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
68265         * m4/stdint.m4 (gl_STDINT_H): Likewise.
68266         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
68267         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
68268         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
68269         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
68270         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
68271         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
68272         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
68273         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
68274         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
68275         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
68276         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
68277         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
68278         * m4/inttypes.m4 (gl_INTTYPES_H): Define
68279         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
68280         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
68281         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
68282         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
68283         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
68284         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
68285         * lib/float_.h: Likewise.
68286         * lib/inttypes_.h: Likewise.
68287         * lib/math_.h: Likewise.
68288         * lib/search_.h: Likewise.
68289         * lib/signal_.h: Likewise.
68290         * lib/stdint_.h: Likewise.
68291         * lib/stdio_.h: Likewise.
68292         * lib/stdlib_.h: Likewise.
68293         * lib/string_.h: Likewise.
68294         * lib/sys_stat_.h: Likewise.
68295         * lib/sys_time_.h: Likewise.
68296         * lib/time_.h: Likewise.
68297         * lib/unistd_.h: Likewise.
68298         * lib/wchar_.h: Likewise.
68299         * lib/wctype_.h: Likewise.
68300         * lib/dirent_.h: Likewise.
68301         * lib/iconv_.h: Likewise.
68302         * lib/locale_.h: Likewise.
68303         * lib/netinet_in_.h: Likewise.
68304         * lib/sys_select_.h: Likewise.
68305         * lib/sys_socket_.h: Likewise.
68306         * lib/sysexits_.h: Likewise.
68307         * modules/fcntl (Depends-on): Depend on include_next, not
68308         absolute_header.
68309         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
68310         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
68311         * modules/fchdir: Likewise.
68312         * modules/float: Likewise.
68313         * modules/iconv_open: Likewise.
68314         * modules/inttypes: Likewise.
68315         * modules/locale: Likewise.
68316         * modules/math: Likewise.
68317         * modules/netinet_in: Likewise.
68318         * modules/search: Likewise.
68319         * modules/signal: Likewise.
68320         * modules/stdint: Likewise.
68321         * modules/stdio: Likewise.
68322         * modules/stdlib: Likewise.
68323         * modules/string: Likewise.
68324         * modules/sys_select: Likewise.
68325         * modules/sys_socket: Likewise.
68326         * modules/sys_stat: Likewise.
68327         * modules/sys_time: Likewise.
68328         * modules/sysexits: Likewise.
68329         * modules/time: Likewise.
68330         * modules/unistd: Likewise.
68331         * modules/wchar: Likewise.
68332         * modules/wctype: Likewise.
68333         * modules/sys_stat: Change maintainer to "all".
68334         * modules/unistd: Likewise.
68335
68336 2007-06-20  Karl Berry  <karl@gnu.org>
68337
68338         * config/srclist.txt: track www changes in license files.
68339
68340 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
68341
68342         * build-aux/bootstrap: Remove stray dot.
68343         Make sure build_aux settings are honored when linking
68344         gnulib_extra_files.
68345
68346 2007-06-19  Eric Blake  <ebb9@byu.net>
68347
68348         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
68349         Allow compilation on cygwin.
68350
68351 2007-06-19  Jim Meyering  <jim@meyering.net>
68352
68353         xreadlink-with-size: Remove module.  No longer used.
68354         Ex-callers now use xreadlink or mreadlink-with-size.
68355         * modules/xreadlink-with-size: Remove module.
68356         * lib/xreadlink-with-size.c: Remove file.
68357         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
68358         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
68359         just before the function definition *is* accurate.
68360
68361         Eliminate one way canonicalize_filename_mode could exit.
68362         * lib/canonicalize.c (canonicalize_filename_mode):
68363         Use mreadlink_with_size, not xreadlink_with_size.
68364
68365 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
68366
68367         Detect porting problems to FreeBSD/arm, which has time_t wider than
68368         long int.  Original problem reported for GNU diff by Xin Li in
68369         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
68370         * modules/getdate (Depends-on): Add intprops, verify.
68371         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
68372         is an integer type no wider than long int.
68373
68374 2007-06-18  Jim Meyering  <jim@meyering.net>
68375
68376         New module: mreadlink-with-size.
68377         * MODULES.html.sh: Add mreadlink-with-size.
68378         * modules/mreadlink-with-size: New module
68379         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
68380         not xreadlink-with-size.
68381         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
68382
68383 2007-06-16  Bruno Haible  <bruno@clisp.org>
68384
68385         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
68386         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
68387         Reported by Gary V. Vaughan <gary@gnu.org>.
68388
68389 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
68390
68391         Revamp lchown so that it lives in unistd.h where it belongs.
68392         * lib/lchown.h: Remove.
68393         * lib/dirchownmod.c: Don't include lib/lchown.h.
68394         * lib/fchownat.c: Likewise.
68395         * lib/openat.c: Likewise.
68396         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
68397         does not follow symlinks.
68398         (EOPNOTSUPP): Define if not defined.
68399         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
68400         is defined to 0.
68401         (lchown): New decl.
68402         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
68403         Do not check for lchown decl.
68404         Set REPLACE_LCHOWN.
68405         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
68406         REPLACE_LCHOWN.
68407         * modules/chown: Make it clear it follows symlinks.
68408         * modules/lchown: Make it clear it doesn't follow symlinks.
68409         (Files): Remove lib/lchown.h
68410         (Depends-on): Add unistd.
68411         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
68412         (Include): Include <unistd.h>, not "lchown.h".
68413         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
68414         REPLACE_LCHOWN.
68415
68416 2007-06-15  Jim Meyering  <jim@meyering.net>
68417
68418         Change license (GPL to LGPL) of fsusage and dependents.
68419         * modules/fsusage (License): Change to LGPL.
68420         * modules/full-read (License): Likewise.
68421         * modules/full-write (License): Likewise.
68422         * modules/safe-read (License): Likewise.
68423         * modules/safe-write (License): Likewise.
68424
68425 2007-06-14  Ben Pfaff  <blp@gnu.org>
68426
68427         Missing part of allocsa -> malloca transition.
68428         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
68429         gl_MALLOCA.
68430
68431 2007-06-12  Bruno Haible  <bruno@clisp.org>
68432
68433         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
68434         to ia64, x86_64, i386.
68435         Reported by Eric Blake.
68436
68437 2007-06-12  Bruno Haible  <bruno@clisp.org>
68438
68439         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
68440         cross-compiling to x86_64.
68441
68442 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
68443
68444         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
68445         glitch reported by Ralf Wildenhues in
68446         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
68447
68448         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
68449         Vin Shelton.
68450
68451 2007-06-11  Bruno Haible  <bruno@clisp.org>
68452
68453         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
68454         replacement string.
68455         Reported by Eric Blake.
68456
68457 2007-06-10  Bruno Haible  <bruno@clisp.org>
68458
68459         Prepare vasnprintf code for use with Unicode strings.
68460         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
68461         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
68462         TYPE_U32_STRING.
68463         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
68464         a_u32_string variants.
68465         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68466         * lib/printf-args.c: Don't include config.h and the specification
68467         header if PRINTF_FETCHARGS is already defined.
68468         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68469         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
68470         TYPE_U16_STRING, TYPE_U32_STRING.
68471         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
68472         u16_directive, u16_directives, u32_directive, u32_directives): New
68473         types.
68474         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
68475         New declarations.
68476         * lib/printf-parse.c: Don't include config.h and the specification
68477         header if PRINTF_PARSE is already defined. Eliminate the set of
68478         parameters for WIDE_CHAR_VERSION; the user of this file must provide
68479         them now. Include c-ctype.h.
68480         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
68481         directive and CHAR_T_ONLY_ASCII.
68482         * lib/vasnprintf.c: Don't include config.h and the specification header
68483         if VASNPRINTF is already defined.
68484         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
68485         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
68486         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
68487         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
68488         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
68489         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
68490         code accordingly.
68491         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
68492         pad_ourselves also in this case, with the 'c' and 's' directives, and
68493         with a different notion of "width".
68494         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
68495
68496 2007-06-10  Bruno Haible  <bruno@clisp.org>
68497
68498         * modules/unistr/u32-mbsnlen: New file.
68499         * lib/unistr/u32-mbsnlen.c: New file.
68500
68501         * modules/unistr/u16-mbsnlen: New file.
68502         * lib/unistr/u16-mbsnlen.c: New file.
68503
68504         * modules/unistr/u8-mbsnlen: New file.
68505         * lib/unistr/u8-mbsnlen.c: New file.
68506
68507         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
68508         declarations.
68509
68510 2007-06-10  Bruno Haible  <bruno@clisp.org>
68511
68512         * lib/string_.h (mbsnlen): New declaration.
68513         * lib/mbsnlen.c: New file.
68514         * m4/mbsnlen.m4: New file.
68515         * modules/mbsnlen: New file.
68516         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
68517         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
68518         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
68519
68520 2007-06-10  Bruno Haible  <bruno@clisp.org>
68521
68522         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
68523
68524 2007-06-10  Bruno Haible  <bruno@clisp.org>
68525
68526         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
68527         * lib/mbuiter.h: Likewise.
68528
68529 2007-06-10  Bruno Haible  <bruno@clisp.org>
68530
68531         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
68532         declaration.
68533
68534 2007-06-10  Karl Berry  <karl@gnu.org>
68535
68536         * config/srclist.txt: remove gettext entries, Bruno prefers
68537         to update individually.
68538
68539 2007-06-10  Bruno Haible  <bruno@clisp.org>
68540
68541         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
68542         'maxlen'. Ensure only length + width bytes are allocated, not
68543         length + 1 + width.
68544
68545 2007-06-09  Bruno Haible  <bruno@clisp.org>
68546
68547         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
68548         (CHAR_T): Remove macro.
68549         (VASNPRINTF): Update.
68550
68551 2007-06-09  Bruno Haible  <bruno@clisp.org>
68552
68553         * MODULES.html.sh (Unicode string functions): Add the new modules.
68554
68555         * modules/uniconv/u32-conv-to-enc: New file.
68556         * lib/uniconv/u32-conv-to-enc.c: New file.
68557         * modules/uniconv/u32-conv-to-enc-tests: New file.
68558         * tests/uniconv/test-u32-conv-to-enc.c: New file.
68559
68560         * modules/uniconv/u16-conv-to-enc: New file.
68561         * lib/uniconv/u16-conv-to-enc.c: New file.
68562         * lib/uniconv/u-conv-to-enc.h: New file.
68563         * modules/uniconv/u16-conv-to-enc-tests: New file.
68564         * tests/uniconv/test-u16-conv-to-enc.c: New file.
68565
68566         * modules/uniconv/u8-conv-to-enc: New file.
68567         * lib/uniconv/u8-conv-to-enc.c: New file.
68568         * modules/uniconv/u8-conv-to-enc-tests: New file.
68569         * tests/uniconv/test-u8-conv-to-enc.c: New file.
68570
68571         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
68572         u32_conv_to_encoding): New declarations.
68573
68574 2007-06-09  Bruno Haible  <bruno@clisp.org>
68575
68576         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
68577
68578 2007-06-09  Bruno Haible  <bruno@clisp.org>
68579
68580         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
68581         * modules/malloca: Renamed from modules/allocsa, updated.
68582         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
68583         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
68584         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
68585         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
68586         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
68587         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
68588         * modules/xmalloca: Renamed from modules/xallocsa, updated.
68589         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
68590         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
68591         * modules/c-strcasestr (Depends-on): Update.
68592         * lib/c-strcasestr.c: Update.
68593         * modules/c-strstr (Depends-on): Update.
68594         * lib/c-strstr.c: Update.
68595         * modules/canonicalize-lgpl (Depends-on): Update.
68596         * lib/canonicalize-lgpl.c: Update.
68597         * modules/clean-temp (Depends-on): Update.
68598         * lib/clean-temp.c: Update.
68599         * modules/csharpcomp (Depends-on): Update.
68600         * lib/csharpcomp.c: Update.
68601         * modules/csharpexec (Depends-on): Update.
68602         * lib/csharpexec.c: Update.
68603         * modules/javacomp (Depends-on): Update.
68604         * lib/javacomp.c: Update.
68605         * modules/javaexec (Depends-on): Update.
68606         * lib/javaexec.c: Update.
68607         * modules/mbscasestr (Depends-on): Update.
68608         * lib/mbscasestr.c: Update.
68609         * modules/mbsstr (Depends-on): Update.
68610         * lib/mbsstr.c: Update.
68611         * modules/setenv (Depends-on): Update.
68612         * lib/setenv.c: Update.
68613         * modules/strcasestr (Depends-on): Update.
68614         * lib/strcasestr.c: Update.
68615         * modules/striconveha (Depends-on): Update.
68616         * lib/striconveha.c: Update.
68617         * modules/relocatable-prog-wrapper (Files): Update.
68618         * lib/relocwrapper.c: Update.
68619         * build-aux/install-reloc: Update.
68620         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
68621
68622 2007-06-08  Bruno Haible  <bruno@clisp.org>
68623
68624         Port to uClibc.
68625         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
68626         * lib/fpurge.c (fpurge): Likewise.
68627         * lib/freading.c (freading): Likewise.
68628         * lib/fseeko.c (rpl_fseeko): Likewise.
68629         * lib/fseterr.c (fseterr): Likewise.
68630         * lib/fwriting.c (fwriting): Likewise.
68631         * tests/test-fflush.c (main): Avoid a failure on uClibc.
68632
68633 2007-06-08  Bruno Haible  <bruno@clisp.org>
68634
68635         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
68636         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
68637         * modules/gettext (Files): Add m4/intlmacosx.m4.
68638
68639 2007-06-07  Bruno Haible  <bruno@clisp.org>
68640
68641         * modules/localename-tests: New file.
68642         * tests/test-localename.c: New file.
68643
68644         New module 'localename'.
68645         * lib/localename.h: New file.
68646         * lib/localename.c: New file, from GNU gettext.
68647         * m4/localename.m4: New file.
68648         * modules/localename: New file.
68649
68650 2007-06-07  Bruno Haible  <bruno@clisp.org>
68651
68652         Work around the lack of <wchar.h> on some builds of uClibc.
68653         * doc/headers/wchar.texi: Update.
68654         * lib/wchar_.h: Include <wchar.h> only if it exists.
68655         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
68656         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
68657         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
68658         doesn't exist.
68659         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
68660         * modules/mbfile (Depends-on): Add wchar.
68661         * modules/mbiter (Depends-on): Likewise.
68662         * modules/mbuiter (Depends-on): Likewise.
68663         Reported by Simon Josefsson.
68664
68665 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
68666
68667         Work around problem reported by Steven M. Schweda in
68668         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
68669         Tru64 5.1B with the Compaq compiler environment installed declares
68670         an 'isblank' function but does not define it in the C library.
68671         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
68672         * lib/regex_internal.h (isblank): Likewise.
68673         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
68674         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
68675
68676 2007-06-05  Bruno Haible  <bruno@clisp.org>
68677
68678         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
68679         ia64.
68680         * modules/printf-safe: New file.
68681         * modules/fprintf-posix (Depends-on): Add printf-safe.
68682         * modules/printf-posix (Depends-on): Likewise.
68683         * modules/snprintf-posix (Depends-on): Likewise.
68684         * modules/sprintf-posix (Depends-on): Likewise.
68685         * modules/vasnprintf-posix (Depends-on): Likewise.
68686         * modules/vasprintf-posix (Depends-on): Likewise.
68687         * modules/vfprintf-posix (Depends-on): Likewise.
68688         * modules/vprintf-posix (Depends-on): Likewise.
68689         * modules/vsnprintf-posix (Depends-on): Likewise.
68690         * modules/vsprintf-posix (Depends-on): Likewise.
68691         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
68692         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
68693         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
68694         "no" on i386, x86_64, ia64.
68695         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
68696         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68697         on i386, x86_64, ia64.
68698         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
68699         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68700         on i386, x86_64, ia64.
68701         * tests/test-vasnprintf-posix.c: Include float.h.
68702         (LDBL80_WORDS): New macro.
68703         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68704         on i386, x86_64, ia64.
68705         * tests/test-vasprintf-posix.c: Include float.h.
68706         (LDBL80_WORDS): New macro.
68707         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
68708         on i386, x86_64, ia64.
68709         * tests/test-snprintf-posix.c: Include float.h.
68710         * tests/test-sprintf-posix.c: Likewise.
68711         * tests/test-vsnprintf-posix.c: Likewise.
68712         * tests/test-vsprintf-posix.c: Likewise.
68713
68714 2007-06-05  Bruno Haible  <bruno@clisp.org>
68715
68716         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
68717         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
68718         non-IEEE numbers on i386, x86_64, ia64.
68719         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
68720         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
68721         * tests/test-isnanl.h: Include float.h.
68722         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
68723
68724 2007-06-05  Bruno Haible  <bruno@clisp.org>
68725
68726         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
68727         also the %a / %A. Handle the %a / %A code before this extra handling.
68728
68729 2007-06-05  Bruno Haible  <bruno@clisp.org>
68730
68731         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
68732         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
68733
68734 2007-06-05  Bruno Haible  <bruno@clisp.org>
68735
68736         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
68737         typo in variable name.
68738
68739 2007-06-05  Eric Blake  <ebb9@byu.net>
68740
68741         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
68742         Reported by Simon Josefsson.
68743
68744 2007-06-04  Bruno Haible  <bruno@clisp.org>
68745
68746         Avoid test failures on some PowerPC platforms.
68747         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
68748         Define differently for PowerPC.
68749         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
68750         Reported by Gary V. Vaughan <gary@gnu.org>.
68751
68752 2007-06-02  Bruno Haible  <bruno@clisp.org>
68753
68754         Fix test-stdint failure on FreeBSD/ia64.
68755         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
68756         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
68757         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
68758         * doc/headers/stdint.texi: Update.
68759
68760 2007-06-01  Bruno Haible  <bruno@clisp.org>
68761
68762         * tests/test-binary-io.c (main): Pass a third argument to open().
68763         Reported by Gary V. Vaughan <gary@gnu.org>.
68764
68765 2007-06-01  Bruno Haible  <bruno@clisp.org>
68766
68767         * doc/functions/frexpl.texi: Update for mingw.
68768
68769 2007-06-01  Bruno Haible  <bruno@clisp.org>
68770
68771         * tests/test-lseek.c (main): Disable test of errno for invalid third
68772         argument.
68773         * doc/functions/lseek.texi: Update.
68774         Reported by Gary V. Vaughan <gary@gnu.org>.
68775
68776 2007-05-28  Bruno Haible  <bruno@clisp.org>
68777
68778         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
68779
68780 2007-05-31  Eric Blake  <ebb9@byu.net>
68781
68782         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
68783         cross compiling.
68784
68785 2007-05-30  Eric Blake  <ebb9@byu.net>
68786         and Bruno Haible  <bruno@clisp.org>
68787
68788         Work around mingw test failures exposed by m4-1.4.9b.
68789         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
68790         * tests/test-unistd.c: Disable uid_t and git_t tests for the
68791         moment.
68792
68793 2007-05-30  Bruno Haible  <bruno@clisp.org>
68794
68795         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
68796         assuming that they are closed. Needed on HP-UX 11.
68797
68798 2007-05-29  Bruno Haible  <bruno@clisp.org>
68799
68800         Fix a problem with #include_next.
68801         * lib/dirent_.h: Split the double-inclusion guard.
68802         * lib/fcntl_.h: Likewise.
68803         * lib/float_.h: Likewise.
68804         * lib/iconv_.h: Likewise.
68805         * lib/inttypes_.h: Likewise.
68806         * lib/locale_.h: Likewise.
68807         * lib/math_.h: Likewise.
68808         * lib/netinet_in_.h: Likewise.
68809         * lib/search_.h: Likewise.
68810         * lib/signal_.h: Likewise.
68811         * lib/stdint_.h: Likewise.
68812         * lib/stdio_.h: Likewise.
68813         * lib/stdlib_.h: Likewise.
68814         * lib/string_.h: Likewise.
68815         * lib/sys_select_.h: Likewise.
68816         * lib/sys_socket_.h: Likewise.
68817         * lib/sys_stat_.h: Likewise.
68818         * lib/sys_time_.h: Likewise.
68819         * lib/sysexits_.h: Likewise.
68820         * lib/time_.h: Likewise.
68821         * lib/unistd_.h: Likewise.
68822         * lib/wchar_.h: Likewise.
68823         * lib/wctype_.h: Likewise.
68824
68825 2007-05-29  Bruno Haible  <bruno@clisp.org>
68826
68827         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
68828         for the moment.
68829
68830 2007-05-29  Bruno Haible  <bruno@clisp.org>
68831
68832         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
68833         invocation.
68834         Reported by Eric Blake.
68835
68836 2007-05-29  Bruno Haible  <bruno@clisp.org>
68837
68838         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
68839         compiling case.
68840
68841 2007-05-29  Eric Blake  <ebb9@byu.net>
68842             Bruno Haible  <bruno@clisp.org>
68843
68844         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
68845         cross compiles.
68846
68847 2007-05-28  Eric Blake  <ebb9@byu.net>
68848
68849         * modules/closein-tests (test_closein_LDADD): Support test on
68850         cygwin with libtool.
68851
68852 2007-05-28  Bruno Haible  <bruno@clisp.org>
68853
68854         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
68855         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
68856         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
68857         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
68858         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
68859         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
68860         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
68861         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
68862         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
68863
68864 2007-05-28  Eric Blake  <ebb9@byu.net>
68865
68866         Unconditionally include <config.h> in unit tests.
68867         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
68868         * tests/test-allocsa.c, tests/test-arcfour.c,
68869         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
68870         tests/test-array_list.c, tests/test-array_oset.c,
68871         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
68872         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
68873         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
68874         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
68875         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
68876         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
68877         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
68878         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
68879         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
68880         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
68881         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
68882         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
68883         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
68884         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
68885         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
68886         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
68887         test-md5.c, test-memmem.c, test-printf-posix.c,
68888         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
68889         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
68890         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
68891         test-strcasestr.c, test-striconv.c, test-striconveh.c,
68892         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
68893         test-vasnprintf-posix2.c, test-vasnprintf.c,
68894         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
68895         test-vfprintf-posix.c, test-vprintf-posix.c,
68896         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
68897         test-xvasprintf.c: Likewise.
68898
68899 2007-05-28  Bruno Haible  <bruno@clisp.org>
68900
68901         * gnulib-tool (func_import): Remember the --with-tests command-line
68902         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
68903         Reported by Eric Blake.
68904
68905 2007-05-28  Bruno Haible  <bruno@clisp.org>
68906
68907         * modules/ftell-tests: New file.
68908         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
68909         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
68910
68911         * lib/ftell.c: New file.
68912         * modules/ftell: New file.
68913         * m4/ftell.m4: New file.
68914         * doc/functions/ftell.texi: Update.
68915         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
68916         REPLACE_FTELL.
68917         * lib/stdio_.h (rpl_ftell): New declaration.
68918         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
68919         REPLACE_FTELL.
68920
68921 2007-05-28  Eric Blake  <ebb9@byu.net>
68922
68923         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
68924
68925 2007-05-28  Bruno Haible  <bruno@clisp.org>
68926
68927         * modules/fseek-tests: New file.
68928         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
68929         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
68930
68931         * lib/fseek.c: New file.
68932         * modules/fseek: New file.
68933         * m4/fseek.m4: New file.
68934         * doc/functions/fseek.texi: Update.
68935         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
68936         REPLACE_FSEEK.
68937         * lib/stdio_.h (rpl_fseek): New declaration.
68938         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
68939         REPLACE_FSEEK.
68940
68941 2007-05-28  Bruno Haible  <bruno@clisp.org>
68942
68943         * lib/stdio_.h (fflush): More comments.
68944
68945 2007-05-28  Bruno Haible  <bruno@clisp.org>
68946
68947         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
68948         runtime test.
68949
68950 2007-05-28  Eric Blake  <ebb9@byu.net>
68951
68952         Improve lseek module.
68953         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
68954         * lib/unistd_.h (lseek): Scale back link warning message.
68955         * tests/test-lseek.c: Beef up test.
68956         * tests/test-lseek.sh: Exercise more facets of lseek.
68957         Reported by Bruno Haible.
68958
68959 2007-05-28  Bruno Haible  <bruno@clisp.org>
68960
68961         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
68962         to define.
68963
68964 2007-05-27  Bruno Haible  <bruno@clisp.org>
68965
68966         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
68967
68968 2007-05-27  Bruno Haible  <bruno@clisp.org>
68969
68970         * modules/openmp: New file.
68971         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
68972         Noah Misch.
68973
68974 2007-05-26  Bruno Haible  <bruno@clisp.org>
68975
68976         * modules/chdir-long (Depends-on): Add fchdir.
68977         * modules/chdir-safer (Depends-on): Likewise.
68978         * modules/fts (Depends-on): Likewise.
68979         * modules/fts-lgpl (Depends-on): Likewise.
68980         * modules/openat (Depends-on): Likewise.
68981         * modules/savewd (Depends-on): Likewise.
68982
68983 2007-05-24  Eric Blake  <ebb9@byu.net>
68984
68985         Fix lseek on mingw.
68986         * modules/lseek: New module.
68987         * m4/lseek.m4: New file.
68988         * lib/lseek.c: New file.
68989         * modules/lseek-tests: New file.
68990         * tests/test-lseek.c: New file.
68991         * tests/test-lseek.sh: New file.
68992         * MODULES.html.sh: Document lseek module.
68993         * modules/fflush (Depends-on): Add lseek, fseeko.
68994         * modules/fseeko (Depends-on): Likewise.
68995         * modules/ftello (Depends-on): Likewise.
68996         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
68997         broken.
68998         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
68999         broken.
69000         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
69001         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
69002         * lib/ftello.c (rpl_ftello): Likewise.
69003         * tests/test-fseeko.c (main): Test this.
69004         * tests/test-fseeko.sh: Likewise.
69005         * tests/test-ftello.c (main): Likewise.
69006         * tests/test-ftello.sh: Likewise.
69007         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
69008         implies replacing fseek.
69009         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
69010         HAVE_FTELLO.
69011         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
69012         * modules/unistd (Makefile.am): Likewise.
69013         * lib/unistd_.h (lseek): Declare a replacement.
69014         * doc/functions/lseek.texi (lseek): Document this fix.
69015         * doc/functions/fseek.texi (fseek): Likewise.
69016         * doc/functions/ftell.texi (ftell): Likewise.
69017
69018 2007-05-24  Bruno Haible  <bruno@clisp.org>
69019
69020         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
69021         in the printed representation of a NaN.
69022         * tests/test-vasprintf-posix.c (test_function): Likewise.
69023         * tests/test-snprintf-posix.h (test_function): Likewise.
69024         * tests/test-sprintf-posix.h (test_function): Likewise.
69025         Reported by Eric Blake.
69026
69027 2007-05-23  Eric Blake  <ebb9@byu.net>
69028
69029         Fix fseeko/ftello on cygwin 1.5.24.
69030         * doc/functions/fseeko.texi (fseeko): Document the fix.
69031         * doc/functions/ftello.texi (ftello): Document the fix.
69032         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
69033         * doc/functions/stdout.text (stdout): New file.
69034         * doc/functions/stderr.text (stderr): New file.
69035         * doc/gnulib.texi (Function Substitutes): Use new files.
69036         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
69037         prior to 1.7.0.
69038         * tests/test-ftello.c (main): Likewise for ftello.
69039         * tests/test-fseeko.sh: New file.
69040         * tests/test-ftello.sh: New file.
69041         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
69042         with seekable stdin.
69043         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
69044         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
69045         (gl_REPLACE_FSEEKO): New macro.
69046         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
69047         * modules/fseeko (Files): Distribute fseeko.c.
69048         * modules/ftello (Files): Distribute ftello.c.
69049         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
69050         mode.
69051         * lib/ftello.c (rpl_ftello): New file.
69052         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
69053         fseeko, ftello.
69054         (gl_STDIN_LARGE_OFFSET): New macro.
69055         * modules/stdio (Makefile.am): Perform the replacement.
69056         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
69057
69058 2007-05-23  Bruno Haible  <bruno@clisp.org>
69059
69060         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
69061         GNULIB_POSIXCHECK is defined.
69062
69063 2007-05-21  Bruno Haible  <bruno@clisp.org>
69064
69065         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
69066         Check also the output for NaN arguments. When cross-compiling, guess
69067         no on IRIX.
69068         * lib/vasnprintf.c: Update comments.
69069         * tests/test-vasnprintf-posix.c (strisnan): New function.
69070         (test_function): Use it.
69071         * tests/test-vasprintf-posix.c (strisnan): New function.
69072         (test_function): Use it.
69073         * tests/test-snprintf-posix.h (strisnan): New function.
69074         (test_function): Use it.
69075         * tests/test-sprintf-posix.h (strisnan): New function.
69076         (test_function): Use it.
69077         Reported by Eric Blake.
69078
69079 2007-05-20  Bruno Haible  <bruno@clisp.org>
69080
69081         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
69082         numbers that fails on BeOS.
69083         * doc/functions/frexpl.texi: Update.
69084
69085 2007-05-20  Jim Meyering  <jim@meyering.net>
69086
69087         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
69088         forced upon us by glibc-2.6.
69089
69090 2007-05-20  Bruno Haible  <bruno@clisp.org>
69091
69092         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
69093         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
69094         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
69095         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
69096         NEED_PRINTF_INFINITE.
69097         (is_infinitel): New function.
69098         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
69099         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
69100         gl_PREREQ_VASNPRINTF_INFINITE.
69101         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
69102         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69103         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
69104         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
69105         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
69106         gl_PREREQ_VASNPRINTF_INFINITE.
69107         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69108         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69109         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69110         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69111         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69112         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69113         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69114         * doc/functions/fprintf.texi: Update.
69115         * doc/functions/printf.texi: Update.
69116         * doc/functions/snprintf.texi: Update.
69117         * doc/functions/sprintf.texi: Update.
69118         * doc/functions/vfprintf.texi: Update.
69119         * doc/functions/vprintf.texi: Update.
69120         * doc/functions/vsnprintf.texi: Update.
69121         * doc/functions/vsprintf.texi: Update.
69122
69123 2007-05-20  Bruno Haible  <bruno@clisp.org>
69124
69125         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
69126         was not found in libc.
69127         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
69128
69129 2007-05-20  Bruno Haible  <bruno@clisp.org>
69130
69131         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69132         printed as "-nan" instead of "nan".
69133         * tests/test-vasprintf-posix.c (test_function): Likewise.
69134         * tests/test-snprintf-posix.h (test_function): Likewise.
69135         * tests/test-sprintf-posix.h (test_function): Likewise.
69136         Needed for HP-UX 11.
69137
69138 2007-05-20  Jim Meyering  <jim@meyering.net>
69139
69140         Fix buggy test for the fchownat-deref bug.
69141         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
69142         symlink required for the run-test.  Without it, this test would
69143         always declare that fchownat doesn't work, and client code would
69144         unnecessarily use the replacement function with fixed libc.
69145         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
69146         Reported by Greg Schafer.
69147
69148 2007-05-19  Bruno Haible  <bruno@clisp.org>
69149
69150         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
69151         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
69152         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
69153         Needed for IRIX 6.5 and Solaris 2.5.1.
69154
69155 2007-05-19  Bruno Haible  <bruno@clisp.org>
69156
69157         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
69158         (test_function): Skip tests involving -0.0 on platforms where
69159         -0.0 = 0.0.
69160         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
69161         (test_function): Skip tests involving -0.0 on platforms where
69162         -0.0 = 0.0.
69163         * tests/test-snprintf-posix.h (have_minus_zero): New function.
69164         (test_function): Skip tests involving -0.0 on platforms where
69165         -0.0 = 0.0.
69166         * tests/test-sprintf-posix.h (have_minus_zero): New function.
69167         (test_function): Skip tests involving -0.0 on platforms where
69168         -0.0 = 0.0.
69169         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
69170         tests.
69171         * tests/test-printf-posix.h (test_function): Likewise.
69172         * tests/test-printf-posix.output: Remove all -0.0 related results.
69173         Needed for IRIX 6.5.
69174
69175 2007-05-19  Bruno Haible  <bruno@clisp.org>
69176
69177         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69178         printed as "nan0x7fffffff" instead of "nan".
69179         * tests/test-vasprintf-posix.c (test_function): Likewise.
69180         * tests/test-snprintf-posix.h (test_function): Likewise.
69181         * tests/test-sprintf-posix.h (test_function): Likewise.
69182         * tests/test-fprintf-posix.h (NaN): Remove macro.
69183         (test_function): Remove all NaN related tests.
69184         * tests/test-printf-posix.h (NaN): Remove macro.
69185         (test_function): Remove all NaN related tests.
69186         * tests/test-printf-posix.output: Remove all NaN related results.
69187         Needed for IRIX 6.5.
69188
69189 2007-05-19  Bruno Haible  <bruno@clisp.org>
69190
69191         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
69192         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
69193
69194 2007-05-19  Bruno Haible  <bruno@clisp.org>
69195
69196         * lib/float_.h: New file.
69197         * m4/float_h.m4: New file.
69198         * modules/float: New file.
69199         * modules/isnanl (Dependencies): Add float.
69200         * modules/isnanl-nolibm (Dependencies): Likewise.
69201         * modules/mathl (Dependencies): Likewise.
69202         * modules/printf-frexpl (Dependencies): Likewise.
69203         * modules/signbit (Dependencies): Likewise.
69204         * modules/vasnprintf (Dependencies): Likewise.
69205         * doc/headers/float.texi: Update.
69206
69207 2007-05-19  Jim Meyering  <jim@meyering.net>
69208
69209         * lib/utimens.c (gl_futimens): Rename from futimens,
69210         now that glibc-2.6 declares futimens.
69211         * lib/utimens.h: Likewise.
69212
69213 2007-05-19  Bruno Haible  <bruno@clisp.org>
69214
69215         Avoid test failures on mingw.
69216         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
69217         * tests/test-printf-posix.sh: Likewise.
69218         * tests/test-vfprintf-posix.sh: Likewise.
69219         * tests/test-vprintf-posix.sh: Likewise.
69220
69221 2007-05-19  Bruno Haible  <bruno@clisp.org>
69222
69223         Fix *printf result for NaN, Inf, -0.0 on mingw.
69224         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
69225         * lib/vasnprintf.c: Include math.h and isnan.h.
69226         (is_infinite_or_zero): New function.
69227         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
69228         values in the %f, %F, %e, %E, %g, %G directives.
69229         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
69230         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69231         gl_PRINTF_INFINITE and test its result. Invoke
69232         gl_PREREQ_VASNPRINTF_INFINITE.
69233         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69234         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69235         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69236         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69237         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69238         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69239         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69240         * doc/functions/fprintf.texi: Update.
69241         * doc/functions/printf.texi: Update.
69242         * doc/functions/snprintf.texi: Update.
69243         * doc/functions/sprintf.texi: Update.
69244         * doc/functions/vfprintf.texi: Update.
69245         * doc/functions/vprintf.texi: Update.
69246         * doc/functions/vsnprintf.texi: Update.
69247         * doc/functions/vsprintf.texi: Update.
69248
69249 2007-05-19  Bruno Haible  <bruno@clisp.org>
69250
69251         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
69252         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
69253         Instead of multiplying with 10^k, set extra_zeroes to k.
69254         (scale10_round_long_double): Remove function.
69255
69256 2007-05-18  Bruno Haible  <bruno@clisp.org>
69257
69258         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
69259         introduced on 2007-05-06.
69260
69261 2007-05-18  Bruno Haible  <bruno@clisp.org>
69262
69263         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
69264         %g directives.
69265         * tests/test-vasprintf-posix.c (test_function): Likewise.
69266         * tests/test-snprintf-posix.h (test_function): Likewise.
69267         * tests/test-sprintf-posix.h (test_function): Likewise.
69268
69269 2007-05-18  Bruno Haible  <bruno@clisp.org>
69270
69271         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
69272         (strmatch): New function.
69273         (test_function): Test the %f directive on numbers of various exponents.
69274         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
69275         (strmatch): New function.
69276         (test_function): Test the %f directive on numbers of various exponents.
69277         * tests/test-snprintf-posix.h (strmatch): New function.
69278         (test_function): Test the %f directive on numbers of various exponents.
69279         * tests/test-sprintf-posix.h (strmatch): New function.
69280         (test_function): Test the %f directive on numbers of various exponents.
69281         * tests/test-snprintf-posix.c (SIZEOF): New macro.
69282         * tests/test-sprintf-posix.c (SIZEOF): New macro.
69283         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
69284         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
69285
69286 2007-05-18  Bruno Haible  <bruno@clisp.org>
69287
69288         Add support for 'long double' number output.
69289         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
69290         * lib/vasnprintf.c: Include math.h and float+.h.
69291         (mp_limb_t): New type.
69292         (GMP_LIMB_BITS): New macro.
69293         (mp_twolimb_t): New type.
69294         (GMP_TWOLIMB_BITS): New macro.
69295         (mpn_t): New type.
69296         (multiply, divide, convert_to_decimal, decode_long_double,
69297         scale10_round_long_double, scale10_round_decimal_long_double,
69298         floorlog10l): New functions.
69299         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
69300         for the %f, %F, %e, %E, %g, %G directives.
69301         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
69302         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69303         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
69304         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
69305         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69306         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69307         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69308         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69309         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69310         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69311         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69312         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
69313         * modules/snprintf-posix (Depends-on): Likewise.
69314         * modules/sprintf-posix (Depends-on): Likewise.
69315         * modules/vasnprintf-posix (Depends-on): Likewise.
69316         * modules/vasprintf-posix (Depends-on): Likewise.
69317         * modules/vfprintf-posix (Depends-on): Likewise.
69318         * modules/vsnprintf-posix (Depends-on): Likewise.
69319         * modules/vsprintf-posix (Depends-on): Likewise.
69320         * modules/vasnprintf (Files): Add lib/float+.h.
69321         * doc/functions/fprintf.texi: Update.
69322         * doc/functions/printf.texi: Update.
69323         * doc/functions/snprintf.texi: Update.
69324         * doc/functions/sprintf.texi: Update.
69325         * doc/functions/vfprintf.texi: Update.
69326         * doc/functions/vprintf.texi: Update.
69327         * doc/functions/vsnprintf.texi: Update.
69328         * doc/functions/vsprintf.texi: Update.
69329
69330 2007-05-18  Bruno Haible  <bruno@clisp.org>
69331
69332         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
69333
69334 2007-05-18  Bruno Haible  <bruno@clisp.org>
69335
69336         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
69337         for printing 64-bit integers. Needed for mingw.
69338
69339 2007-05-18  Bruno Haible  <bruno@clisp.org>
69340
69341         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
69342         gl_FUNC_FREXPL_WORKS.
69343         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
69344
69345 2007-05-18  Bruno Haible  <bruno@clisp.org>
69346
69347         * modules/frexpl-nolibm-tests: New file.
69348
69349         * modules/frexpl-nolibm: New file.
69350         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
69351
69352 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69353
69354         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
69355         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69356         GCC 4.2, which otherwise issues a lot of warnings.
69357         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
69358         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
69359         Likewise.
69360         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
69361         * modules/iconv_open (iconv.h): Likewise.
69362         * modules/locale (locale.h): Likewise.
69363         * modules/netinet_in (netinet/in.h): Likewise.
69364         * modules/sys_select (sys_select.h): Likewise.
69365         * modules/sys_socket (sys/socket.h): Likewise.
69366         * modules/sys_stat (sys/stat.h): Likewise.
69367         * modules/sysexits (sysexits.h): Likewise.
69368         * modules/unistd (unistd.h): Likewise.
69369
69370 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69371
69372         * modules/closein-tests (Makefile.am): Distribute
69373         `test-closein.sh'.
69374
69375 2007-05-17  Bruno Haible  <bruno@clisp.org>
69376
69377         * tests/test-printf-posix.output: Renamed from
69378         tests/test-fprintf-posix.out.
69379         * modules/fprintf-posix-tests: Update.
69380         * modules/printf-posix-tests: Update.
69381         * modules/vfprintf-posix-tests: Update.
69382         * modules/vprintf-posix-tests: Update.
69383         * tests/test-fprintf-posix.sh: Update.
69384         * tests/test-printf-posix.sh: Update.
69385         * tests/test-vfprintf-posix.sh: Update.
69386         * tests/test-vprintf-posix.sh: Update.
69387         Reported by Ralf Wildenhues.
69388
69389 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69390
69391         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
69392         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69393         GCC 4.2, which otherwise issues a lot of warnings.
69394         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
69395         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
69396         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
69397         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
69398         it should no longer be needed.
69399         * lib/string_.h: Likewise.
69400         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
69401         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
69402         * modules/inttypes (inttypes.h): Likewise.
69403         * modules/math (math.h): Likewise.
69404         * modules/search (search.h): Likewise.
69405         * modules/signal (signal.h): Likewise.
69406         * modules/stdint (stdint.h): Likewise.
69407         * modules/stdio (stdio.h): Likewise.
69408         * modules/stdlib (stdlib.h): Likewise.
69409         * modules/string (string.h): Likewise.
69410         * modules/sys_time (sys/time.h): Likewise.
69411         * modules/time (time.h): Likewise.
69412         * modules/wchar (wchar.h): Likewise.
69413         * modules/wctype (wtype.h): Likewise.
69414
69415 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
69416
69417         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
69418
69419 2007-05-13  Bruno Haible  <bruno@clisp.org>
69420
69421         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
69422         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
69423         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
69424         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69425         (gl_PREREQ_STRTOK_R): Don't require it here.
69426
69427 2007-05-13  Bruno Haible  <bruno@clisp.org>
69428
69429         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
69430         when used in C++ mode.
69431
69432 2007-05-12  Bruno Haible  <bruno@clisp.org>
69433
69434         * lib/linebuffer.h: Tweak doc.
69435         * lib/linebuffer.c: Likewise.
69436
69437 2007-05-12  James Youngman  <jay@gnu.org>
69438
69439         * lib/linebuffer.c (readlinebuffer_delim): New function,
69440         like readlinebuffer, but use a caller-specified delimiter.
69441         (readlinebuffer): Just call readlinebuffer_delim with '\n'
69442         as the delimiter.
69443         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
69444
69445 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
69446
69447         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
69448         * modules/openat (Files): Remove openat-die.c.
69449         (Depends-on): Add openat-die.
69450         * modules/openat-die: New module.
69451
69452 2007-05-06  Bruno Haible  <bruno@clisp.org>
69453
69454         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
69455         Update with info about Cygwin.
69456         * doc/functions/fprintf.texi: Update.
69457         * doc/functions/printf.texi: Update.
69458         * doc/functions/snprintf.texi: Update.
69459         * doc/functions/sprintf.texi: Update.
69460         * doc/functions/vfprintf.texi: Update.
69461         * doc/functions/vprintf.texi: Update.
69462         * doc/functions/vsnprintf.texi: Update.
69463         * doc/functions/vsprintf.texi: Update.
69464         Reported by Eric Blake.
69465
69466 2007-05-06  Bruno Haible  <bruno@clisp.org>
69467
69468         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
69469         padding ourselves for the floating-point directives.
69470         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
69471         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
69472         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69473         gl_PRINTF_FLAG_ZERO and test its result. Invoke
69474         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
69475         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69476         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69477         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69478         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69479         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69480         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69481         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69482         * tests/test-snprintf-posix.h (test_function): Also check the width
69483         and some flags in the %f directive.
69484         * tests/test-sprintf-posix.h (test_function): Likewise.
69485         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69486         * tests/test-vasprintf-posix.c (test_function): Likewise.
69487         * doc/functions/fprintf.texi: Update.
69488         * doc/functions/printf.texi: Update.
69489         * doc/functions/snprintf.texi: Update.
69490         * doc/functions/sprintf.texi: Update.
69491         * doc/functions/vfprintf.texi: Update.
69492         * doc/functions/vprintf.texi: Update.
69493         * doc/functions/vsnprintf.texi: Update.
69494         * doc/functions/vsprintf.texi: Update.
69495
69496 2007-05-06  Bruno Haible  <bruno@clisp.org>
69497
69498         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
69499         pass the ' flag character to sprintf or snprintf.
69500         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
69501         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
69502         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69503         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
69504         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
69505         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69506         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69507         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69508         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69509         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69510         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69511         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69512         * tests/test-snprintf-posix.h (test_function): Also check the grouping
69513         flag.
69514         * tests/test-sprintf-posix.h (test_function): Likewise.
69515         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69516         * tests/test-vasprintf-posix.c (test_function): Likewise.
69517         * doc/functions/fprintf.texi: Update.
69518         * doc/functions/printf.texi: Update.
69519         * doc/functions/snprintf.texi: Update.
69520         * doc/functions/sprintf.texi: Update.
69521         * doc/functions/vfprintf.texi: Update.
69522         * doc/functions/vprintf.texi: Update.
69523         * doc/functions/vsnprintf.texi: Update.
69524         * doc/functions/vsprintf.texi: Update.
69525
69526 2007-05-01  Bruno Haible  <bruno@clisp.org>
69527
69528         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
69529
69530 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
69531
69532         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
69533         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
69534
69535 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
69536
69537         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
69538         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
69539         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
69540
69541 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
69542
69543         * lib/argp-help.c (struct hol_entry): New member `ord'.
69544         (HOL_ENTRY_PTRCMP): Use ord for comparison
69545         (hol_sort): Initialize ord.
69546
69547 2007-05-01  Bruno Haible  <bruno@clisp.org>
69548
69549         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
69550         Reported by Eric Blake.
69551         * doc/gnulib.texi (Function Substitutes): Update.
69552
69553 2007-05-01  Bruno Haible  <bruno@clisp.org>
69554
69555         * doc/functions.texi: Remove file, now redundant through
69556         doc/functions/*.texi.
69557
69558 2007-05-01  Bruno Haible  <bruno@clisp.org>
69559
69560         * modules/argp (Depends-on): Add sleep.
69561
69562 2007-05-01  Bruno Haible  <bruno@clisp.org>
69563
69564         * modules/sleep-tests: New file.
69565         * tests/test-sleep.c: New file.
69566
69567         * modules/sleep: New file.
69568         * lib/sleep.c: New file.
69569         * m4/sleep.m4: New file.
69570         * lib/unistd_.h (sleep): New declaration.
69571         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
69572         HAVE_SLEEP.
69573         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
69574         * doc/functions/sleep.texi: Document the sleep module.
69575
69576 2007-05-01  Bruno Haible  <bruno@clisp.org>
69577
69578         * lib/sigprocmask.h: Remove file.
69579         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
69580         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
69581         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
69582         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
69583         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
69584         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
69585         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
69586         HAVE_SIGSET_T as a shell variable.
69587         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
69588         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
69589         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
69590         (Depends-on): Add signal. Remove verify.
69591         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
69592         (Include): Mention <signal.h> instead of sigprocmask.h.
69593         * NEWS: Mention the change.
69594         * lib/fatal-signal.c: Don't include sigprocmask.h.
69595
69596 2007-05-01  Bruno Haible  <bruno@clisp.org>
69597
69598         * modules/signal: New file.
69599         * lib/signal_.h: New file.
69600         * m4/signal_h.m4: New file.
69601
69602 2007-05-01  Bruno Haible  <bruno@clisp.org>
69603
69604         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
69605         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
69606         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
69607         HAVE_WCTYPE_CTMP_BUG into wctype.h.
69608
69609 2007-05-01  Bruno Haible  <bruno@clisp.org>
69610
69611         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
69612         configure time.
69613         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
69614         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
69615         * modules/sys_stat (Makefile.am): Substitute their values into
69616         sys/stat.h.
69617
69618 2007-05-01  Bruno Haible  <bruno@clisp.org>
69619
69620         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
69621         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
69622         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
69623
69624 2007-05-01  Bruno Haible  <bruno@clisp.org>
69625
69626         * doc/header/assert.texi: Undo last change: don't mention the gnulib
69627         'assert' module here.
69628
69629 2007-05-01  Bruno Haible  <bruno@clisp.org>
69630
69631         * doc/functions/*.texi: New files.
69632         * doc/functions/google-ranking.txt: New file.
69633         * doc/gnulib.texi (Function Substitutes): New chapter.
69634         (ctime, inet_ntoa): Remove sections.
69635         * doc/ctime.texi: Remove file.
69636         * doc/inet_ntoa.texi: Remove file.
69637         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
69638         dependencies.
69639         (%.info): New rule, specifying a --reference-limit.
69640
69641 2007-05-01  Bruno Haible  <bruno@clisp.org>
69642
69643         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
69644
69645 2007-05-01  Bruno Haible  <bruno@clisp.org>
69646
69647         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
69648         the portability of 'mkdir' to mingw systems.
69649
69650 2007-05-01  Bruno Haible  <bruno@clisp.org>
69651
69652         * doc/headers/google-ranking.txt: New file.
69653
69654 2007-04-30  Eric Blake  <ebb9@byu.net>
69655
69656         Prefer fseeko to fseek.
69657         * modules/getpass (Depends-on): Add fseeko.
69658         * lib/getpass.c (getpass): Use fseeko, not fseek.
69659
69660 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
69661
69662         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
69663         assumes the sorting is stable, while most qsort implementations
69664         are not.  Use argument addresses to ensure they never compare as
69665         equal.
69666
69667         * tests/test-argp-2.sh (usage-indent test): Fix output
69668         (func_compare): Restore diff options
69669         * tests/test-argp.c: Restore #include "progname.h"
69670
69671 2007-04-29  Bruno Haible  <bruno@clisp.org>
69672
69673         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
69674         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69675         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
69676         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69677         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
69678         (configure.ac): Define CHECK_SNPRINTF_POSIX.
69679         (TESTS, check_PROGRAMS): Add test-snprintf.
69680         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
69681         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
69682         (TESTS, check_PROGRAMS): Add test-vsnprintf.
69683         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
69684         assertions that fail on HP-UX, OSF/1, or IRIX.
69685         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
69686
69687 2007-04-29  Bruno Haible  <bruno@clisp.org>
69688
69689         * MODULES.html.sh (posix_functions): Remove 'contents'.
69690
69691 2007-04-29  Karl Berry  <karl@gnu.org>
69692
69693         * config/srclist.txt (gendocs_template_min): new entry.
69694
69695 2007-04-29  Bruno Haible  <bruno@clisp.org>
69696
69697         Work around fpurge bug on BSD systems.
69698         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
69699         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
69700         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
69701         fpurge to rpl_fpurge if the system already has this function.
69702         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
69703         the case where the system already has this function. Correct invariants
69704         on BSD systems.
69705         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
69706         BSD systems.
69707
69708 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
69709
69710         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
69711         proposed by Sven Verdoolaege.
69712
69713         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
69714         options.
69715         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
69716         (usage and help tests): Update
69717
69718 2007-04-29  Bruno Haible  <bruno@clisp.org>
69719
69720         * tests/test-fflush.c (main): Use a file of size 17, not 10.
69721         Print more information in case of failure. Disable a test on BeOS.
69722
69723 2007-04-29  Bruno Haible  <bruno@clisp.org>
69724
69725         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
69726         This helps debugging on systems on which no gdb is available.
69727
69728 2007-04-29  Bruno Haible  <bruno@clisp.org>
69729
69730         * lib/freading.h: Improve comments.
69731         * lib/fwriting.h: Likewise.
69732         * tests/test-freading.c (main): Don't check freading immediately after
69733         repositioning. Needed for glibc.
69734
69735 2007-04-29  Bruno Haible  <bruno@clisp.org>
69736
69737         * lib/freading.c (freading): Trivial simplification.
69738
69739 2007-04-28  Bruno Haible  <bruno@clisp.org>
69740
69741         * tests/test-fwriting.c (main): Also test the interaction between
69742         fflush and fwriting.
69743         * modules/fwriting-tests (Depends-on): Add fflush.
69744
69745         * tests/test-freading.c (main): Also test the interaction between
69746         fflush and freading.
69747         * modules/freading-tests (Depends-on): Add fflush.
69748
69749 2007-04-28  Bruno Haible  <bruno@clisp.org>
69750
69751         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
69752         fseeko and ftello.
69753         Suggested by Eric Blake.
69754
69755 2007-04-28  Jim Meyering  <jim@meyering.net>
69756
69757         Avoid false-negative in gl_STDINT_H's C99 conformance test.
69758         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
69759         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
69760
69761 2007-04-27  Eric Blake  <ebb9@byu.net>
69762
69763         * doc/headers/assert.texi (assert.h): Document assert module use.
69764
69765 2007-04-27  Bruno Haible  <bruno@clisp.org>
69766
69767         * doc/headers/*.texi: New files.
69768         * doc/gnulib.texi (Header File Substitutes): New chapter.
69769         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
69770         dependencies.
69771         (standards.info ,standards.html, standards.dvi): Update dependencies.
69772         (mostlyclean, clean): New targets.
69773
69774 2007-04-27  Bruno Haible  <bruno@clisp.org>
69775
69776         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
69777         * modules/sysexits (Files, Makefile.am): Update.
69778
69779         * lib/sys_socket_.h: Renamed from lib/socket_.h.
69780         * modules/sys_socket (Files, Makefile.am): Update.
69781
69782         * lib/sys_stat_.h: Renamed from lib/stat_.h.
69783         * modules/sys_stat (Files, Makefile.am): Update.
69784
69785 2007-04-27  Eric Blake  <ebb9@byu.net>
69786
69787         * lib/freading.h: Improve comments.
69788         * lib/fwriting.h: Likewise.
69789         * lib/fflush.c: Likewise.
69790
69791         Fix closein for mingw.
69792         * modules/closein-tests: Add tests for closein.
69793         * tests/test-closein.c: New file.
69794         * tests/test-closein.sh: Likewise.
69795         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
69796         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
69797
69798 2007-04-27  Bruno Haible  <bruno@clisp.org>
69799
69800         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
69801         version is < 6.
69802         * lib/math_.h [__DECC]: Likewise.
69803         * lib/stdio_.h [__DECC]: Likewise.
69804         * lib/stdlib_.h [__DECC]: Likewise.
69805         * lib/string_.h [__DECC]: Likewise.
69806         * lib/time_.h [__DECC]: Likewise.
69807         * lib/wchar_.h [__DECC]: Likewise.
69808         * lib/wctype_.h [__DECC]: Likewise.
69809
69810 2007-04-27  Bruno Haible  <bruno@clisp.org>
69811
69812         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
69813
69814 2007-04-27  Bruno Haible  <bruno@clisp.org>
69815
69816         * lib/fflush.c: Add comments.
69817         * modules/fpurge-tests (Depends-on): Add fflush.
69818         * modules/freadable-tests (Depends-on): Likewise.
69819         * modules/fwritable-tests (Depends-on): Likewise.
69820
69821 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
69822
69823         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
69824         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
69825         Report by Bruno Haible <bruno@clisp.org>.
69826
69827 2007-04-26  Eric Blake  <ebb9@byu.net>
69828
69829         Fix fflush on mingw.
69830         * modules/fflush (Depends-on): Add freading.
69831         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
69832         but unread data.
69833
69834 2007-04-26  Eric Blake  <ebb9@byu.net>
69835         and Bruno Haible  <bruno@clisp.org>
69836
69837         Implement freading and fwriting.
69838         * lib/freading.c: New file.
69839         * lib/freading.h: Likewise.
69840         * m4/freading.m4: Likewise.
69841         * modules/freading: Likewise.
69842         * modules/freading-tests: Likewise.
69843         * tests/test-freading.c: Likewise.
69844         * lib/fwriting.c: New file.
69845         * lib/fwriting.h: Likewise.
69846         * m4/fwriting.m4: Likewise.
69847         * modules/fwriting: Likewise.
69848         * modules/fwriting-tests: Likewise.
69849         * tests/test-fwriting.c: Likewise.
69850         * MODULES.html.sh (File stream based Input/Output): Mention them.
69851
69852 2007-04-26  Bruno Haible  <bruno@clisp.org>
69853
69854         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
69855         'long' when we assume it.
69856         Suggested by Eric Blake.
69857
69858 2007-04-26  Bruno Haible  <bruno@clisp.org>
69859
69860         Ensure fseeko, ftello are declared on glibc systems.
69861         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
69862         * modules/fseeko (configure.ac-early): Likewise.
69863         * modules/ftello (configure.ac-early): Likewise.
69864         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
69865         AC_FUNC_FSEEKO for this.
69866         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
69867         (gl_CHECK_FSEEKO): Remove macro.
69868
69869 2007-04-26  Bruno Haible  <bruno@clisp.org>
69870
69871         * tests/test-fflush.c (main): Also check the ftell result after
69872         fflush and fseek/fseeko.
69873         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
69874         file descriptor position cache in the stream.
69875         * lib/fseeko.c (rpl_fseeko): Likewise.
69876
69877 2007-04-26  Bruno Haible  <bruno@clisp.org>
69878
69879         * modules/fflush-tests (Depends-on): Add fseeko.
69880
69881 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
69882             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69883
69884         * lib/argz_.h: ensure error_t definition is obtained in same
69885         mechanism system argz.h would have.
69886         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
69887         argz facilities are known bad.  Err on the side of caution if
69888         cross-compiling.
69889
69890 2007-04-25  Eric Blake  <ebb9@byu.net>
69891
69892         * lib/fpurge.c (includes): Use stdlib.h for free.
69893         * tests/test-fflush.c (main): Also test fflush-fseeko.
69894
69895 2007-04-25  Bruno Haible  <bruno@clisp.org>
69896
69897         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
69898         * lib/fseeko.c: New file.
69899         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
69900         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
69901         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
69902         gl_FUNC_FSEEKO.
69903         (gl_FUNC_FSEEKO): Invoke it.
69904         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
69905         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
69906         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
69907
69908 2007-04-25  Bruno Haible  <bruno@clisp.org>
69909
69910         * modules/fflush (Depends-on): Add ftello.
69911
69912 2007-04-25  Bruno Haible  <bruno@clisp.org>
69913
69914         * modules/ftello-tests: New file.
69915         * tests/test-ftello.c: New file.
69916
69917         * modules/ftello: New file.
69918         * m4/ftello.m4: New file.
69919         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
69920         HAVE_FTELLO.
69921         * lib/stdio_.h (ftello): New declaration.
69922         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
69923         HAVE_FTELLO.
69924
69925 2007-04-25  Bruno Haible  <bruno@clisp.org>
69926
69927         * modules/fseeko-tests: New file.
69928         * tests/test-fseeko.c: New file.
69929
69930         * modules/fseeko: New file.
69931         * m4/fseeko.m4: New file.
69932         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
69933         HAVE_FSEEKO.
69934         * lib/stdio_.h (fseeko): New declaration.
69935         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
69936         HAVE_FSEEKO.
69937
69938 2007-04-25  Bruno Haible  <bruno@clisp.org>
69939
69940         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
69941
69942 2007-04-25  Bruno Haible  <bruno@clisp.org>
69943
69944         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
69945         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
69946         * tests/test-unistd.c: Likewise.
69947         * tests/test-fcntl.c: Likewise.
69948
69949 2007-04-23  Eric Blake  <ebb9@byu.net>
69950
69951         * lib/fflush.c: Fix missing include.
69952         Reported by Bruno Haible.
69953
69954 2007-04-23  Bruno Haible  <bruno@clisp.org>
69955
69956         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
69957         Reported by Eric Blake.
69958
69959 2007-04-23  Bruno Haible  <bruno@clisp.org>
69960
69961         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
69962
69963 2007-04-23  Bruno Haible  <bruno@clisp.org>
69964
69965         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
69966
69967 2007-04-23  Bruno Haible  <bruno@clisp.org>
69968
69969         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
69970         Needed on HP-UX 11.
69971
69972 2007-04-16  Eric Blake  <ebb9@byu.net>
69973
69974         Make fflush rely on fpurge.
69975         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
69976         open coding all variants.
69977         * modules/fflush (Depends-on): Add fpurge and unistd.
69978         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
69979         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
69980
69981         Fix --with-tests compilation on cygwin.
69982         * modules/argmatch-tests (Makefile.am): List gnulib library first
69983         in LDADD.
69984         * modules/argp-tests (Makefile.am): Likewise.
69985         * modules/array-list-tests (Makefile.am): Likewise.
69986         * modules/array-oset-tests (Makefile.am): Likewise.
69987         * modules/avltree-list-tests (Makefile.am): Likewise.
69988         * modules/avltree-oset-tests (Makefile.am): Likewise.
69989         * modules/avltreehash-list-tests (Makefile.am): Likewise.
69990         * modules/carray-list-tests (Makefile.am): Likewise.
69991         * modules/dirname-tests (Makefile.am): Likewise.
69992         * modules/frexp-tests (Makefile.am): Likewise.
69993         * modules/isnanl-tests (Makefile.am): Likewise.
69994         * modules/linked-list-tests (Makefile.am): Likewise.
69995         * modules/linkedhash-list-tests (Makefile.am): Likewise.
69996         * modules/lock-tests (Makefile.am): Likewise.
69997         * modules/rbtree-list-tests (Makefile.am): Likewise.
69998         * modules/rbtree-oset-tests (Makefile.am): Likewise.
69999         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
70000         * modules/tls-tests (Makefile.am): Likewise.
70001         * modules/tsearch-tests (Makefile.am): Likewise.
70002         * modules/xvasprintf-tests (Makefile.am): Likewise.
70003
70004         Fix fpurge for cygwin.
70005         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
70006         value.
70007         * modules/fpurge-tests (Depends-on): Clean up trash.
70008
70009 2007-04-16  Simon Josefsson  <simon@josefsson.org>
70010
70011         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
70012
70013         * m4/autobuild.m4: Re-indent.
70014
70015 2007-04-13  Bruno Haible  <bruno@clisp.org>
70016
70017         * modules/fpurge-tests: New file.
70018         * tests/test-fpurge.c: New file.
70019
70020         * modules/fpurge: New file.
70021         * lib/fpurge.h: New file.
70022         * lib/fpurge.c: New file.
70023         * m4/fpurge.m4: New file.
70024
70025 2007-04-13  Bruno Haible  <bruno@clisp.org>
70026
70027         * modules/fbufmode-tests: New file.
70028         * tests/test-fbufmode.c: New file.
70029
70030         * modules/fbufmode: New file.
70031         * lib/fbufmode.h: New file.
70032         * lib/fbufmode.c: New file.
70033         * m4/fbufmode.m4: New file.
70034
70035 2007-04-13  Bruno Haible  <bruno@clisp.org>
70036
70037         * modules/fwritable-tests: New file.
70038         * tests/test-fwritable.c: New file.
70039
70040         * modules/fwritable: New file.
70041         * lib/fwritable.h: New file.
70042         * lib/fwritable.c: New file.
70043         * m4/fwritable.m4: New file.
70044
70045 2007-04-13  Bruno Haible  <bruno@clisp.org>
70046
70047         * modules/freadable-tests: New file.
70048         * tests/test-freadable.c: New file.
70049
70050         * modules/freadable: New file.
70051         * lib/freadable.h: New file.
70052         * lib/freadable.c: New file.
70053         * m4/freadable.m4: New file.
70054
70055 2007-04-13  Bruno Haible  <bruno@clisp.org>
70056
70057         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
70058         MOSTLYCLEANFILES.
70059
70060 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
70061
70062         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
70063         gzip bootstrap.conf to avoid dragging in i18n machinery.
70064         (gnulib_tool_option): Use it.
70065
70066 2007-04-13  Bruno Haible  <bruno@clisp.org>
70067
70068         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
70069         %F directives.
70070         * tests/test-vasprintf-posix.c (test_function): Likewise.
70071         * tests/test-snprintf-posix.h (test_function): Likewise.
70072         * tests/test-sprintf-posix.h (test_function): Likewise.
70073         * tests/test-fprintf-posix.h (test_function): Likewise.
70074         * tests/test-printf-posix.h (test_function): Likewise.
70075         * tests/test-fprintf-posix.out: Likewise.
70076
70077 2007-04-13  Bruno Haible  <bruno@clisp.org>
70078
70079         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
70080         * modules/tls-tests (configure.ac): Likewise.
70081         Reported by Arto C. Nirkko <anirkko@insel.ch>.
70082
70083 2007-04-13  Bruno Haible  <bruno@clisp.org>
70084
70085         * lib/tls.c (glthread_tls_get): Fix return type.
70086         Patch by Arto C. Nirkko <anirkko@insel.ch>.
70087
70088 2007-04-12  Eric Blake  <ebb9@byu.net>
70089
70090         * modules/gettime (Depends-on): Remove gettime.
70091         Reported by Dmitry V. Levin.
70092
70093 2007-04-12  Bruno Haible  <bruno@clisp.org>
70094
70095         * modules/fflush (Include): Mention <stdio.h>.
70096         * modules/strtoimax (Include): Mention <inttypes.h>.
70097         * modules/strtoumax (Include): Likewise.
70098
70099 2007-04-12  Eric Blake  <ebb9@byu.net>
70100
70101         * .cvsignore: New file.
70102         * .gitignore: Likewise.
70103
70104 2007-04-12  Bruno Haible  <bruno@clisp.org>
70105
70106         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
70107         not before, since $(LDADD) often contains libgnu.a.
70108         * modules/striconv-tests (test_striconv_LDADD): Likewise.
70109         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
70110         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
70111         Needed on Cygwin.
70112
70113 2007-04-12  Eric Blake  <ebb9@byu.net>
70114
70115         Work around glibc's failure to flush stdin on fclose.
70116         * lib/closein.c (close_stdin): Flush stdin before closing.
70117
70118         Work around glibc's failure to reset seekable stdin on exit.
70119         * modules/closein: New module.
70120         * lib/closein.c: New file.
70121         * lib/closein.h: Likewise.
70122         * m4/closein.m4: Likewise.
70123         * MODULES.html.sh (File stream based Input/Output): Document it.
70124
70125 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70126
70127         * gnulib-tool: Rename generated 'autobuild' script to
70128         'do-autobuild' in --create-megatestdir output.
70129
70130         * doc/gnulib.texi (Build robot for gnulib): Fix.
70131
70132 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70133
70134         * modules/sysexits (Depends-on): Add absolute-header.
70135
70136 2007-04-12  Eric Blake  <ebb9@byu.net>
70137
70138         No need to preserve errno on success.
70139         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
70140         Reported by Bruno Haible.
70141
70142 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70143
70144         * MODULES.html.sh (Support for maintaining and releasing
70145         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
70146
70147 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70148
70149         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
70150
70151 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70152
70153         * modules/autobuild: New module.
70154
70155         * m4/autobuild.m4: New file.
70156
70157 2007-04-11  Bruno Haible  <bruno@clisp.org>
70158
70159         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
70160         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
70161         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
70162         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
70163         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_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/snprintf-posix.m4 (gl_FUNC_SNPRINTF_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/sprintf-posix.m4 (gl_FUNC_SPRINTF_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         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
70173         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70174         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70175         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
70176         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70177         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70178         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
70179         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70180         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70181         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
70182         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70183         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70184         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
70185         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70186         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70187         Reported by Eric Blake.
70188
70189 2007-04-11  Bruno Haible  <bruno@clisp.org>
70190
70191         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
70192
70193 2007-04-10  Bruno Haible  <bruno@clisp.org>
70194
70195         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
70196         for NaN and Infinity. Needed on FreeBSD 6.1.
70197         * tests/test-vasnprintf-posix.c (test_function): Undo last change
70198         regarding results for "%010a" of Infinity and NaN.
70199         * tests/test-vasprintf-posix.c (test_function): Likewise.
70200         * tests/test-snprintf-posix.h (test_function): Likewise.
70201         * tests/test-sprintf-posix.h (test_function): Likewise.
70202         * tests/test-fprintf-posix.h (test_function): Likewise.
70203         * tests/test-printf-posix.h (test_function): Likewise.
70204         * tests/test-fprintf-posix.out: Likewise.
70205
70206 2007-04-10  Bruno Haible  <bruno@clisp.org>
70207
70208         * modules/locale-tests: New file.
70209         * tests/test-locale.c: New file.
70210
70211         * modules/locale: New file.
70212         * lib/locale_.h: New file.
70213         * m4/locale_h.m4: New file.
70214
70215 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
70216             Bruno Haible  <bruno@clisp.org>
70217
70218         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
70219         be determined, test for availability of the copysignf, copysign,
70220         copysignl functions.
70221         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
70222         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
70223         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
70224
70225 2007-04-09  Eric Blake  <ebb9@byu.net>
70226
70227         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
70228         * modules/stdio (Makefile.am): Support fflush.
70229         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
70230         * modules/fflush: New file.
70231         * lib/fflush.c: Likewise.
70232         * m4/fflush.m4: Likewise.
70233         * modules/fflush-tests: New test.
70234         * tests/test-fflush.c: Likewise.
70235         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
70236
70237 2007-04-06  Bruno Haible  <bruno@clisp.org>
70238
70239         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
70240         (VASNPRINTF): Use signbit for faster determination whether to print a
70241         minus sign.
70242         * modules/vasnprintf (Files): Remove lib/float+.h.
70243         * modules/fprintf-posix (Depends-on): Add signbit.
70244         * modules/snprintf-posix (Depends-on): Likewise.
70245         * modules/sprintf-posix (Depends-on): Likewise.
70246         * modules/vasnprintf-posix (Depends-on): Likewise.
70247         * modules/vasprintf-posix (Depends-on): Likewise.
70248         * modules/vfprintf-posix (Depends-on): Likewise.
70249         * modules/vsnprintf-posix (Depends-on): Likewise.
70250         * modules/vsprintf-posix (Depends-on): Likewise.
70251
70252 2007-04-06  Bruno Haible  <bruno@clisp.org>
70253
70254         * tests/test-frexp.c (main): Test also the sign bit of zero results.
70255         * tests/test-frexpl.c (main): Likewise.
70256         * tests/test-ldexpl.c (main): Likewise.
70257         * modules/frexp-tests (Depends-on): Add signbit.
70258         * modules/frexpl-tests (Depdends-on): Likewise.
70259         * modules/ldexpl-tests (Depdends-on): Likewise.
70260
70261 2007-04-06  Bruno Haible  <bruno@clisp.org>
70262
70263         * modules/signbit-tests: New file.
70264         * tests/test-signbit.c: New file.
70265
70266         * modules/signbit: New file.
70267         * lib/signbitf.c: New file.
70268         * lib/signbitd.c: New file.
70269         * lib/signbitl.c: New file.
70270         * m4/signbit.m4: New file.
70271         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
70272         (signbit): New macro.
70273         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
70274         REPLACE_SIGNBIT.
70275         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
70276         REPLACE_FREXPL into math.h.
70277
70278 2007-04-06  Bruno Haible  <bruno@clisp.org>
70279
70280         * modules/isnanf-nolibm-tests: New file.
70281         * tests/test-isnanf.c: New file.
70282
70283         * modules/isnanf-nolibm: New file.
70284         * lib/isnanf.h: New file.
70285         * lib/isnanf.c: New file.
70286         * lib/isnan.c: Consider the USE_FLOAT macro.
70287         * m4/isnanf.m4: New file.
70288
70289 2007-04-06  Bruno Haible  <bruno@clisp.org>
70290
70291         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
70292         (Link): New section.
70293
70294         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
70295
70296 2007-04-06  Bruno Haible  <bruno@clisp.org>
70297
70298         Assume the 'long double' type.
70299         * m4/longdouble.m4: Remove file.
70300         * config/srclist.txt: Don't mention longdouble.m4.
70301         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
70302         * lib/float+.h: Likewise.
70303         * lib/frexp.c: Likewise.
70304         * lib/printf-args.h: Likewise.
70305         * lib/printf-args.c: Likewise.
70306         * lib/printf-frexp.c: Likewise.
70307         * lib/printf-parse.c: Likewise.
70308         * lib/vasnprintf.c: Likewise.
70309         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
70310         * m4/intl.m4: Likewise.
70311         * m4/isnanl.m4: Likewise.
70312         * m4/printf.m4: Likewise.
70313         * m4/printf-frexpl.m4: Likewise.
70314         * m4/vasnprintf.m4: Likewise.
70315         * modules/allocsa (Files): Remove m4/longdouble.m4.
70316         * modules/gettext (Files): Likewise.
70317         * modules/relocatable-prog-wrapper (Files): Likewise.
70318         * modules/vasnprintf (Files): Likewise.
70319         * modules/isnanl (Files): Likewise.
70320         (Include): Simplify.
70321         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
70322         (Include): Simplify.
70323         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
70324         (Include): Simplify.
70325         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
70326         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70327         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
70328         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70329         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70330         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70331         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
70332         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70333         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70334         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70335         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
70336         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70337         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
70338         * tests/test-isnanl.c: Likewise.
70339         * tests/test-snprintf-posix.h: Likewise.
70340         * tests/test-sprintf-posix.h: Likewise.
70341         * tests/test-vasnprintf-posix.c: Likewise.
70342         * tests/test-vasnprintf-posix2.c: Likewise.
70343         * tests/test-vasprintf-posix.c: Likewise.
70344
70345 2007-04-06  Bruno Haible  <bruno@clisp.org>
70346
70347         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
70348         * lib/math_.h [__DECC]: Include the overridden include file through
70349         #include_next, outside the double-inclusion guard.
70350         * lib/stdio_.h [__DECC]: Likewise.
70351         * lib/stdlib_.h [__DECC]: Likewise.
70352         * lib/string_.h [__DECC]: Likewise.
70353         * lib/time_.h [__DECC]: Likewise.
70354         * lib/wchar_.h [__DECC]: Likewise.
70355         * lib/wctype_.h [__DECC]: Likewise.
70356         * lib/inttypes_.h [__DECC]: Likewise.
70357         Reported by Albert Chin <china@thewrittenword.com> in
70358         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
70359
70360 2007-04-04  Eric Blake  <ebb9@byu.net>
70361
70362         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
70363         1.5.x.
70364
70365 2007-04-04  Bruno Haible  <bruno@clisp.org>
70366
70367         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
70368         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
70369
70370 2007-04-04  Bruno Haible  <bruno@clisp.org>
70371
70372         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
70373         results for "%010a" of Infinity and NaN.
70374         * tests/test-vasprintf-posix.c (test_function): Likewise.
70375         * tests/test-snprintf-posix.h (test_function): Likewise.
70376         * tests/test-sprintf-posix.h (test_function): Likewise.
70377         * tests/test-fprintf-posix.h (test_function): Remove these tests.
70378         * tests/test-printf-posix.h (test_function): Likewise.
70379         * tests/test-fprintf-posix.out: Update.
70380         Needed for FreeBSD 6.1.
70381
70382 2007-04-04  Bruno Haible  <bruno@clisp.org>
70383
70384         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
70385         directly used by the gnulib modules nor by gnulib-tool.
70386
70387 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
70388
70389         * DEPENDENCIES: Give overall description of version dependency
70390         desirability.  Use more-typical names for apps.
70391         Add shell, coreutils, diffutils, grep, tar, gzip.
70392
70393 2007-04-04  Simon Josefsson  <simon@josefsson.org>
70394
70395         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
70396
70397 2007-04-04  Karl Berry  <karl@gnu.org>
70398
70399         * MODULES.html.sh (func_module): missing '.
70400
70401 2007-04-03  Bruno Haible  <bruno@clisp.org>
70402
70403         * modules/argmatch-tests (Makefile.am): New variable
70404         test_argmatch_LDADD.
70405         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
70406         * modules/array-list-tests (Makefile.am): New variable
70407         test_array_list_LDADD.
70408         * modules/array-oset-tests (Makefile.am): New variable
70409         test_array_oset_LDADD.
70410         * modules/avltree-list-tests (Makefile.am): New variable
70411         test_avltree_list_LDADD.
70412         * modules/avltree-oset-tests (Makefile.am): New variable
70413         test_avltree_oset_LDADD.
70414         * modules/avltreehash-list-tests (Makefile.am): New variable
70415         test_avltreehash_list_LDADD.
70416         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
70417         test_canonicalize_lgpl_LDADD.
70418         * modules/carray-list-tests (Makefile.am): New variable
70419         test_carray_list_LDADD.
70420         * modules/dirname-tests (Makefile.am): New variable
70421         test_dirname_LDADD.
70422         * modules/linked-list-tests (Makefile.am): New variable
70423         test_linked_list_LDADD.
70424         * modules/linkedhash-list-tests (Makefile.am): New variable
70425         test_linkedhash_list_LDADD.
70426         * modules/rbtree-list-tests (Makefile.am): New variable
70427         test_rbtree_list_LDADD.
70428         * modules/rbtree-oset-tests (Makefile.am): New variable
70429         test_rbtree_oset_LDADD.
70430         * modules/rbtreehash-list-tests (Makefile.am): New variable
70431         test_rbtreehash_list_LDADD.
70432         * modules/xvasprintf-tests (Makefile.am): New variable
70433         test_xvasprintf_LDADD.
70434         Reported by Eric Blake.
70435
70436 2007-04-03  Eric Blake  <ebb9@byu.net>
70437
70438         * DEPENDENCIES: Weaken m4 requirements.
70439
70440 2007-04-03  Bruno Haible  <bruno@clisp.org>
70441
70442         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
70443         * modules/isnanl-tests (configure.ac): Likewise.
70444
70445 2007-04-03  Ben Pfaff  <blp@gnu.org>
70446
70447         * modules/iconv_open: Add $(srcdir)/ to source directory
70448         references in Makefile fragments that call gperf, to fix VPATH
70449         builds.
70450
70451 2007-04-03  Bruno Haible  <bruno@clisp.org>
70452
70453         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
70454         * lib/ldexpl.c: Undo last change.
70455
70456 2007-04-03  Bruno Haible  <bruno@clisp.org>
70457
70458         * modules/printf-frexpl (Depends-on): Undo last change.
70459         (Files): Add m4/ldexpl.m4.
70460
70461 2007-04-03  Bruno Haible  <bruno@clisp.org>
70462
70463         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
70464         * modules/isnanl (Link): New section.
70465
70466         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
70467         * modules/frexp (Link): New section.
70468
70469         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
70470         * modules/frexpl (Link): New section.
70471
70472         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
70473         * modules/ldexpl (Link): New section.
70474
70475 2007-04-03  Bruno Haible  <bruno@clisp.org>
70476
70477         * modules/TEMPLATE-EXTENDED: New file.
70478         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
70479
70480 2007-04-03  Bruno Haible  <bruno@clisp.org>
70481
70482         * DEPENDENCIES: New file.
70483         Suggested by Simon Josefsson.
70484
70485 2007-04-03  Bruno Haible  <bruno@clisp.org>
70486
70487         * doc/gnulib.texi: Escape @.
70488
70489 2007-04-03  James Youngman  <jay@gnu.org>
70490         and Paul Eggert  <eggert@cs.ucla.edu>
70491
70492         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
70493         birthtime on all systems that have birthtime, not just those which
70494         use st_birthtimensec rather than st_birthtim.  Putting zero in
70495         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
70496         that the birth time is not available for files on an NFS mount.
70497
70498 2007-04-03  Simon Josefsson  <simon@josefsson.org>
70499
70500         * modules/memxor: Move back from crypto/, suggested by Bruno.
70501         * modules/crypto/hmac-sha1: Fix memxor dependency.
70502
70503         * modules/crypto/gc: Moved from ../.
70504
70505 2007-04-02  Eric Blake  <ebb9@byu.net>
70506
70507         * lib/ldexpl.c (includes): Avoid libm.
70508
70509         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
70510
70511 2007-04-02  Bruno Haible  <bruno@clisp.org>
70512
70513         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
70514         on IRIX.
70515
70516 2007-04-02  Bruno Haible  <bruno@clisp.org>
70517
70518         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
70519         x86 or x86_64 platforms running MacOS X.
70520         Reported by Ryan Schmidt <@ryandesign.com>.
70521
70522 2007-04-02  Bruno Haible  <bruno@clisp.org>
70523
70524         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
70525         i386.
70526
70527 2007-04-01  Simon Josefsson  <simon@josefsson.org>
70528
70529         * modules/crypto/arcfour: Moved from ../.
70530         * modules/crypto/arcfour-tests: Moved from ../.
70531         * modules/crypto/arctwo: Moved from ../.
70532         * modules/crypto/arctwo-tests: Moved from ../.
70533         * modules/crypto/des: Moved from ../.
70534         * modules/crypto/des-tests: Moved from ../.
70535         * modules/crypto/gc-arcfour: Moved from ../.
70536         * modules/crypto/gc-arcfour-tests: Moved from ../.
70537         * modules/crypto/gc-arctwo: Moved from ../.
70538         * modules/crypto/gc-arctwo-tests: Moved from ../.
70539         * modules/crypto/gc-des: Moved from ../.
70540         * modules/crypto/gc-des-tests: Moved from ../.
70541         * modules/crypto/gc-hmac-md5: Moved from ../.
70542         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
70543         * modules/crypto/gc-hmac-sha1: Moved from ../.
70544         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
70545         * modules/crypto/gc-md2: Moved from ../.
70546         * modules/crypto/gc-md2-tests: Moved from ../.
70547         * modules/crypto/gc-md4: Moved from ../.
70548         * modules/crypto/gc-md4-tests: Moved from ../.
70549         * modules/crypto/gc-md5: Moved from ../.
70550         * modules/crypto/gc-md5-tests: Moved from ../.
70551         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
70552         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
70553         * modules/crypto/gc-random: Moved from ../.
70554         * modules/crypto/gc-rijndael: Moved from ../.
70555         * modules/crypto/gc-rijndael-tests: Moved from ../.
70556         * modules/crypto/gc-sha1: Moved from ../.
70557         * modules/crypto/gc-sha1-tests: Moved from ../.
70558         * modules/crypto/gc-tests: Moved from ../.
70559         * modules/crypto/hmac-md5: Moved from ../.
70560         * modules/crypto/hmac-md5-tests: Moved from ../.
70561         * modules/crypto/hmac-sha1: Moved from ../.
70562         * modules/crypto/hmac-sha1-tests: Moved from ../.
70563         * modules/crypto/md2: Moved from ../.
70564         * modules/crypto/md2-tests: Moved from ../.
70565         * modules/crypto/md4: Moved from ../.
70566         * modules/crypto/md4-tests: Moved from ../.
70567         * modules/crypto/md5: Moved from ../.
70568         * modules/crypto/md5-tests: Moved from ../.
70569         * modules/crypto/memxor: Moved from ../.
70570         * modules/crypto/rijndael: Moved from ../.
70571         * modules/crypto/rijndael-tests: Moved from ../.
70572         * modules/crypto/sha1: Moved from ../.
70573
70574 2007-03-30  James Youngman  <jay@gnu.org>
70575
70576         * tests/test-stat-time.c (prepare_test): use chmod() rather than
70577         rename() to change the ctime of a file (because ctime is unaffected
70578         by rename on jfs2 on AIX 5.1).
70579         (main): Start by doing cleanup, in case a previous run failed leaving
70580         test files behind.
70581
70582 2007-03-31  Bruno Haible  <bruno@clisp.org>
70583
70584         Support old proprietary implementations of iconv.
70585         * modules/iconv_open: New file.
70586         * lib/iconv_.h: New file.
70587         * m4/iconv_h.m4: New file.
70588         * lib/iconv_open.c: New file.
70589         * lib/iconv_open-aix.gperf: New file.
70590         * lib/iconv_open-hpux.gperf: New file.
70591         * lib/iconv_open-irix.gperf: New file.
70592         * lib/iconv_open-osf.gperf: New file.
70593         * m4/iconv_open.m4: New file.
70594         * modules/linebreak (Depends-on): Add iconv_open.
70595         * modules/striconv (Depends-on): Likewise.
70596         * modules/striconveh (Depends-on): Likewise.
70597         * modules/unicodeio (Depends-on): Likewise.
70598         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
70599         (iconv_t)(-1).
70600         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
70601         conversion if cd is (iconv_t)(-1).
70602         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
70603         is not possible.
70604
70605 2007-03-31  Bruno Haible  <bruno@clisp.org>
70606
70607         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
70608         work on Solaris either. Protect also second use of "autodetect_jp".
70609
70610 2007-03-31  Bruno Haible  <bruno@clisp.org>
70611
70612         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
70613         the function is not present.
70614
70615 2007-03-31  Bruno Haible  <bruno@clisp.org>
70616
70617         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
70618         the function is not present.
70619
70620 2007-03-31  Bruno Haible  <bruno@clisp.org>
70621
70622         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
70623         a bug in HP-UX iconv_open().
70624
70625 2007-03-31  Bruno Haible  <bruno@clisp.org>
70626
70627         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
70628         (Mathematics <math.h>): New section, add fpieee.
70629         (Input/output <stdio.h>): Add fseterr.
70630         (Mathematics <math.h>): New section, add printf-frexp.
70631         (Container data structures): Add sublist.
70632         (Core language properties): Add fpucw, inline.
70633         (Functions for greatest-width integer types <inttypes.h>): Add
70634         imaxabs, imaxdiv, inttypes.
70635         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
70636         isnanl-nolibm, ldexp.
70637         (Mathematics <math.h>): New section, add printf-frexpl.
70638         (Support for systems lacking POSIX:2001): Add fprintf-posix,
70639         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
70640         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
70641         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
70642         (Unicode string functions): Add unistr/u*-mbtoucr.
70643         (Java): Add javacomp-script, javaexec-script.
70644         (C#): Add csharpcomp-script, csharpexec-script.
70645         (Support for building libraries and executables): Add havelib,
70646         relocatable-*.
70647         (Support for maintaining and releasing projects): Renamed from
70648         'Support for maintaining and release projects'. Add announce-gen.
70649
70650 2007-03-31  Bruno Haible  <bruno@clisp.org>
70651
70652         * README: Talk primarily about git.
70653         (git and CVS): Renamed from CVS.
70654         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
70655         gnulib is available through git.
70656         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
70657
70658 2007-03-30  Bruno Haible  <bruno@clisp.org>
70659
70660         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
70661         * lib/poll_.h: Likewise.
70662         * lib/stat_.h: Likewise.
70663         * lib/sys_time_.h: Likewise.
70664         * lib/sysexit_.h: Likewise.
70665         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
70666         * lib/stdbool_.h: Likewise.
70667         * lib/byteswap_.h: Add double-inclusion guard.
70668
70669 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
70670
70671         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
70672
70673 2007-03-30  Karl Berry  <karl@gnu.org>
70674
70675         * config/srclist-update: double space after USA in the license
70676         substitution, since that's how it's usually (?) written.
70677
70678 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
70679
70680         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
70681         reported by Bruno Haible.
70682
70683 2007-03-29  Bruno Haible  <bruno@clisp.org>
70684
70685         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
70686         a bug in AIX iconv().
70687
70688 2007-03-29  Bruno Haible  <bruno@clisp.org>
70689
70690         * modules/ldexpl-tests: New file.
70691         * tests/test-ldexpl.c: New file.
70692
70693 2007-03-29  Bruno Haible  <bruno@clisp.org>
70694
70695         * lib/ldexpl.c: Include fpucw.h.
70696         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
70697         multiplication.
70698         * modules/ldexpl (Depends-on): Add fpucw.
70699
70700 2007-03-29  Bruno Haible  <bruno@clisp.org>
70701
70702         * modules/ldexpl: New file.
70703         * m4/ldexpl.m4: New file.
70704         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
70705         set.
70706         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
70707         REPLACE_LDEXPL.
70708         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
70709         REPLACE_LDEXPL.
70710         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
70711         gl_FUNC_LDEXPL_WORKS.
70712         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
70713         * modules/mathl (Files): Remove lib/ldexpl.c.
70714         (Depends-on): Add ldexpl.
70715
70716 2007-03-29  Bruno Haible  <bruno@clisp.org>
70717
70718         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
70719
70720 2007-03-29  Bruno Haible  <bruno@clisp.org>
70721
70722         * tests/test-striconveh.c (main): Don't assume that a direct conversion
70723         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
70724         and possibly also HP-UX.
70725         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
70726         work on AIX, IRIX, HP-UX, OSF/1.
70727         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
70728         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
70729         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
70730         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
70731         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
70732         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
70733
70734 2007-03-29  Bruno Haible  <bruno@clisp.org>
70735
70736         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
70737
70738 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
70739
70740         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
70741         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
70742
70743 2007-03-29  Eric Blake  <ebb9@byu.net>
70744
70745         * lib/acl-internal.h: Remove redundant include.
70746         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
70747         Cygwin when a file is locked.
70748
70749 2007-03-29  Bruno Haible  <bruno@clisp.org>
70750
70751         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
70752         file.
70753         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
70754
70755 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
70756
70757         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
70758         try to remove a parent directory if the child couldn't be removed
70759         (except for the first rmdir, which could fail because the child
70760         doesn't exist).  Problem reported by Jeff Blaine in
70761         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
70762
70763 2007-03-28  Bruno Haible  <bruno@clisp.org>
70764
70765         * lib/striconveh.c (utf8conv_carefully): New function.
70766         (mem_cd_iconveh_internal): Invoke it.
70767
70768 2007-03-28  Bruno Haible  <bruno@clisp.org>
70769
70770         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
70771         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
70772         input.
70773         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
70774         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
70775         unistr/u8-uctomb.
70776
70777 2007-03-28  Bruno Haible  <bruno@clisp.org>
70778
70779         * modules/unistr/u8-mbtoucr: New file.
70780         * lib/unistr/u8-mbtoucr.c: New file.
70781         * modules/unistr/u16-mbtoucr: New file.
70782         * lib/unistr/u16-mbtoucr.c: New file.
70783         * modules/unistr/u16-mbtoucr: New file.
70784         * lib/unistr/u16-mbtoucr.c: New file.
70785         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
70786
70787 2007-03-27  Simon Josefsson  <simon@josefsson.org>
70788             Bruno Haible  <bruno@clisp.org>
70789
70790         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
70791         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
70792         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
70793
70794         * m4/stdio_h.m4: Add stubs for vasprintf too.
70795
70796         * modules/stdio: Support vasprintf in sed command.
70797
70798         * modules/vasprintf: Depend on stdio for prototypes.  Remove
70799         vasprintf.h.  Add stdio module indicator.
70800
70801         * lib/stdio_.h: Declare asprintf and vasprintf, based on
70802         vasprintf.h.
70803
70804         * lib/vasprintf.h: File removed.
70805
70806         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
70807         * lib/vasprintf.c: Ditto.
70808         * lib/xvasprintf.c: Ditto.
70809         * tests/test-vasprintf-posix.c: Ditto.
70810         * tests/test-vasprintf.c: Ditto.
70811
70812 2007-03-27  Bruno Haible  <bruno@clisp.org>
70813
70814         Make vasnprintf multithread-safe.
70815         * lib/vasnprintf.c (decimal_point_char): New function.
70816         (VASNPRINTF): Use it.
70817         Suggested by Simon Josefsson.
70818
70819 2007-03-27  Eric Blake  <ebb9@byu.net>
70820
70821         Support sub-second birthtime on cygwin.
70822         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
70823         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
70824         (get_stat_birthtime): Also work with st_birthtim.
70825
70826 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
70827
70828         * lib/stat-time.h (USE_BIRTHTIME): Remove.
70829         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
70830         (get_stat_birthtime_ns): Do not try to use "spare" fields.
70831         (get_stat_birthtime_ns): Simplify compile-time tests.
70832         (get_stat_birthtime): Change the API to look like
70833         get_stat_mtime etc., except return a negative tv_nsec on error.
70834         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
70835         Don't check for "spare" fields.
70836         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
70837         or for struct stat.st_birthtime, as these tests aren't used.
70838         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
70839
70840 2007-03-27  Bruno Haible  <bruno@clisp.org>
70841
70842         * lib/stat-time.h: Include <sys/stat.h>.
70843
70844 2007-03-27  James Youngman  <jay@gnu.org>
70845
70846         * lib/stat-time.h (get_stat_birthtime): New function for
70847           retrieving st_birthtime as provided by UFS2 (hence *BSD).
70848         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
70849           and its variants.
70850         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
70851         * modules/stat-time-test: New file.
70852         * tests/test-stat-time.c: New test, devised by Bruno Haible.
70853
70854 2007-03-26  Bruno Haible  <bruno@clisp.org>
70855
70856         Better support of signalling NaNs.
70857         * lib/atanl.c: Include isnanl.h.
70858         (atanl): Perform test for NaN at the beginning of the function and
70859         through a call to isnanl.
70860         * lib/cosl.c: Include isnanl.h.
70861         (cosl): Perform test for NaN at the beginning of the function and
70862         through a call to isnanl.
70863         * lib/ldexpl.c: Include isnanl.h.
70864         (ldexpl): Perform test for NaN through a call to isnanl.
70865         * lib/logl.c: Include isnanl.h.
70866         (logl): Perform test for NaN at the beginning of the function and
70867         through a call to isnanl.
70868         * lib/sinl.c: Include isnanl.h.
70869         (sinl): Perform test for NaN at the beginning of the function and
70870         through a call to isnanl.
70871         * lib/sqrtl.c: Include isnanl.h.
70872         (sqrtl): Perform test for NaN at the beginning of the function and
70873         through a call to isnanl.
70874         * lib/tanl.c: Include isnanl.h.
70875         (tanl): Perform test for NaN at the beginning of the function and
70876         through a call to isnanl.
70877         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
70878         * modules/mathl (Depends-on): Add isnanl.
70879
70880 2007-03-26  Eric Blake  <ebb9@byu.net>
70881
70882         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
70883         regression in logic sense of previous patch.
70884
70885 2007-03-26  Bruno Haible  <bruno@clisp.org>
70886
70887         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
70888         unportable shell command "if ! ...".
70889         Reported by Ralf Wildenhues.
70890
70891 2007-03-25  Bruno Haible  <bruno@clisp.org>
70892
70893         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
70894         <sysexits.h> file, and only add EX_CONFIG.
70895         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
70896         absolute file name and whether it is sufficient. Substitute also
70897         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
70898         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
70899         ABSOLUTE_SYSEXITS_H into sysexits.h.
70900
70901 2007-03-25  Bruno Haible  <bruno@clisp.org>
70902
70903         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
70904         hints is NULL.
70905
70906 2007-03-25  Bruno Haible  <bruno@clisp.org>
70907
70908         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
70909         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
70910
70911 2007-03-25  Bruno Haible  <bruno@clisp.org>
70912
70913         * lib/vasnprintf.c: Include langinfo.h.
70914         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
70915         multithread-safe.
70916         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
70917         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
70918         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
70919         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
70920         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
70921         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
70922         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
70923         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
70924         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
70925         Reported by Simon Josefsson.
70926
70927 2007-03-25  Bruno Haible  <bruno@clisp.org>
70928
70929         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
70930         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
70931         * modules/vasnprintf (Depends-on): Add stdint.
70932
70933 2007-03-25  Bruno Haible  <bruno@clisp.org>
70934
70935         * modules/fpieee: New file.
70936         * m4/fpieee.m4: New file.
70937         * modules/isnan-nolibm (Depends-on): Add fpieee.
70938         * modules/isnanl-nolibm (Depends-on): Add fpieee.
70939         * modules/isnanl (Depends-on): Add fpieee.
70940
70941 2007-03-25  Bruno Haible  <bruno@clisp.org>
70942
70943         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
70944
70945 2007-03-25  Bruno Haible  <bruno@clisp.org>
70946
70947         Avoid test failures on IRIX 6.5.
70948         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
70949         (main): Use it.
70950         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
70951         macros.
70952         (main): Use them.
70953
70954 2007-03-25  Bruno Haible  <bruno@clisp.org>
70955
70956         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
70957         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
70958         exists but doesn't work.
70959         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
70960         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
70961         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
70962         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
70963         math.h.
70964
70965 2007-03-25  Bruno Haible  <bruno@clisp.org>
70966
70967         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
70968         returns inf. Needed on IRIX 6.5.
70969
70970 2007-03-25  Bruno Haible  <bruno@clisp.org>
70971
70972         * tests/test-frexpl.c: Include isnanl-nolibm.h.
70973         (main): Use isnanl instead of x != x idiom.
70974         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
70975
70976         * tests/test-frexp.c: Include isnan.h.
70977         (main): Use isnan instead of x != x idiom.
70978         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
70979
70980 2007-03-25  Bruno Haible  <bruno@clisp.org>
70981
70982         * tests/test-frexp.c (NaN): New function/macro.
70983         (main): Use it instead of 0.0 / 0.0.
70984         * tests/test-isnan.c (NaN): New function/macro.
70985         (main): Use it instead of 0.0 / 0.0.
70986         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
70987         (test_function): Use it instead of 0.0 / 0.0.
70988         * tests/test-vasprintf-posix.c (NaN): New function/macro.
70989         (test_function): Use it instead of 0.0 / 0.0.
70990         * tests/test-snprintf-posix.h (NaN): New function/macro.
70991         (test_function): Use it instead of 0.0 / 0.0.
70992         * tests/test-sprintf-posix.h (NaN): New function/macro.
70993         (test_function): Use it instead of 0.0 / 0.0.
70994         * tests/test-fprintf-posix.h (NaN): New function/macro.
70995         (test_function): Use it instead of 0.0 / 0.0.
70996         * tests/test-printf-posix.h (NaN): New function/macro.
70997         (test_function): Use it instead of 0.0 / 0.0.
70998
70999         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
71000
71001 2007-03-25  Bruno Haible  <bruno@clisp.org>
71002
71003         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
71004
71005 2007-03-25  Bruno Haible  <bruno@clisp.org>
71006
71007         * lib/regexec.c (merge_state_with_log): Make static.
71008
71009 2007-03-25  Bruno Haible  <bruno@clisp.org>
71010
71011         * lib/trigl.c (kernel_rem_pio2): Make static.
71012
71013 2007-03-25  Bruno Haible  <bruno@clisp.org>
71014
71015         * lib/sincosl.c (sincosl_table): Make static.
71016
71017 2007-03-25  Bruno Haible  <bruno@clisp.org>
71018
71019         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
71020         if the compiler does not support C99.
71021
71022 2007-03-25  Bruno Haible  <bruno@clisp.org>
71023
71024         * modules/time (Makefile.am): Ensure all rule action lines start with a
71025         tab.
71026
71027 2007-03-24  Bruno Haible  <bruno@clisp.org>
71028
71029         * modules/tsearch-tests: New file.
71030         * tests/test-tsearch.sh: New file.
71031         * tests/test-tsearch.c: New file, mostly copied from glibc.
71032
71033         * modules/search-tests: New file.
71034         * tests/test-search.c: New file.
71035
71036         * modules/search: New file.
71037         * lib/search_.h: New file, incorporating lib/tsearch.h.
71038         * m4/search_h.m4: New file.
71039         * lib/tsearch.h: Remove file.
71040         * lib/tsearch.c: Include search.h instead of tsearch.h.
71041         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
71042         HAVE_TSEARCH.
71043         * modules/tsearch (Files): Remove lib/tsearch.h.
71044         (Depends-on): Add search.
71045         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
71046         (Include): Change tsearch.h into search.h.
71047
71048 2007-03-24  Bruno Haible  <bruno@clisp.org>
71049
71050         * modules/fpucw: New file.
71051         * lib/fpucw.h: New file.
71052         * lib/frexp.c: Include fpucw.h.
71053         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71054         (FUNC): Use them.
71055         * lib/printf-frexp.c: Include fpucw.h.
71056         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71057         (FUNC): Use them.
71058         * lib/vasnprintf.c: Include fpucw.h.
71059         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
71060         'long double' calculations.
71061         * tests/test-frexpl.c: Include fpucw.h.
71062         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71063         * tests/test-printf-frexpl.c: Include fpucw.h.
71064         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71065         * modules/frexpl (Depends-on): Add fpucw.
71066         * modules/printf-frexpl (Depends-on): Likewise.
71067         * modules/fprintf-posix (Depends-on): Likewise.
71068         * modules/snprintf-posix (Depends-on): Likewise.
71069         * modules/sprintf-posix (Depends-on): Likewise.
71070         * modules/vasnprintf-posix (Depends-on): Likewise.
71071         * modules/vasprintf-posix (Depends-on): Likewise.
71072         * modules/vfprintf-posix (Depends-on): Likewise.
71073         * modules/vsnprintf-posix (Depends-on): Likewise.
71074         * modules/vsprintf-posix (Depends-on): Likewise.
71075         * modules/frexpl-tests (Depends-on): Likewise.
71076         * modules/printf-frexpl-tests (Depends-on): Likewise.
71077
71078 2007-03-24  Bruno Haible  <bruno@clisp.org>
71079
71080         * lib/float+.h: New file.
71081         * lib/isnan.c: Include float+.h.
71082         (SIZE): New macro.
71083         (FUNC): Compare only SIZE bytes of the value.
71084         * lib/vasnprintf.c: Include float+.h.
71085         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
71086         SIZEOF_LDBL or SIZEOF_DBL bytes.
71087         * modules/isnan-nolibm (Files): Add lib/float+.h.
71088         * modules/isnanl-nolibm (Files): Add lib/float+.h.
71089         * modules/isnanl (Files): Add lib/float+.h.
71090         * modules/vasnprintf (Files): Add lib/float+.h.
71091
71092 2007-03-24  Bruno Haible  <bruno@clisp.org>
71093
71094         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
71095         include isnanl-nolibm.h.
71096
71097 2007-03-24  Bruno Haible  <bruno@clisp.org>
71098
71099         * tests/test-read-file.c (main): Don't produce spurious output for
71100         expected situations. Make the test fail if it encountered unexpected
71101         results.
71102
71103 2007-03-24  Bruno Haible  <bruno@clisp.org>
71104
71105         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
71106         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
71107
71108 2007-03-24  Bruno Haible  <bruno@clisp.org>
71109
71110         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
71111
71112 2007-03-24  Bruno Haible  <bruno@clisp.org>
71113
71114         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
71115         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
71116
71117         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
71118         * modules/utf8-ucs4: Turn into a symbolic link to module
71119         unistr/u8-mbtouc.
71120
71121         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
71122         utf8-ucs4-unsafe.
71123         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
71124         unistr/u8-mbtouc-unsafe.
71125
71126         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
71127         * modules/utf16-ucs4: Turn into a symbolic link to module
71128         unistr/u16-mbtouc.
71129
71130         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
71131         utf16-ucs4-unsafe.
71132         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
71133         unistr/u16-mbtouc-unsafe.
71134
71135         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
71136         * modules/ucs4-utf8: Turn into a symbolic link to module
71137         unistr/u8-ubtomb.
71138
71139         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
71140         * modules/ucs4-utf16: Turn into a symbolic link to module
71141         unistr/u16-ubtomb.
71142
71143 2007-03-24  Bruno Haible  <bruno@clisp.org>
71144
71145         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
71146         Enable the function only if HAVE_INLINE.
71147         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
71148         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71149         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
71150         Enable the function only if HAVE_INLINE.
71151         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
71152         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71153         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
71154         Enable the function only if HAVE_INLINE.
71155         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
71156         Enable the function only if HAVE_INLINE.
71157         * modules/utf8-ucs4: Update.
71158         * modules/utf8-ucs4-unsafe: Update.
71159         * modules/utf16-ucs4: Update.
71160         * modules/utf16-ucs4-unsafe: Update.
71161         * modules/ucs4-utf8: Update.
71162         * modules/ucs4-utf16: Update.
71163
71164 2007-03-24  Bruno Haible  <bruno@clisp.org>
71165
71166         * lib/utf8-ucs4.h: Remove file.
71167         * lib/utf8-ucs4-unsafe.h: Remove file.
71168         * lib/utf16-ucs4.h: Remove file.
71169         * lib/utf16-ucs4-unsafe.h: Remove file.
71170         * lib/ucs4-utf8.h: Remove file.
71171         * lib/ucs4-utf16.h: Remove file.
71172         * lib/unistr.h: Include their previous contents.
71173         * m4/utf-ucs4.m4: Remove file.
71174         * m4/ucs4-utf.m4: Remove file.
71175         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.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/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
71181         (Depends-on): Add unistr/base.
71182         (configure.ac): Remove gl_UTF_UCS4.
71183         (Makefile.am): Update.
71184         (Include): Change to unistr.h.
71185         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
71186         (Depends-on): Add unistr/base.
71187         (configure.ac): Remove gl_UTF_UCS4.
71188         (Makefile.am): Update.
71189         (Include): Change to unistr.h.
71190         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
71191         (Depends-on): Add unistr/base.
71192         (configure.ac): Remove gl_UTF_UCS4.
71193         (Makefile.am): Update.
71194         (Include): Change to unistr.h.
71195         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
71196         (Depends-on): Add unistr/base.
71197         (configure.ac): Remove gl_UCS4_UTF.
71198         (Makefile.am): Update.
71199         (Include): Change to unistr.h.
71200         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
71201         (Depends-on): Add unistr/base.
71202         (configure.ac): Remove gl_UCS4_UTF.
71203         (Makefile.am): Update.
71204         (Include): Change to unistr.h.
71205         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
71206         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
71207         utf8-ucs4-unsafe.h.
71208         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
71209         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
71210         utf16-ucs4-unsafe.h.
71211         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
71212         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
71213         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
71214         * lib/unistr/u8-strchr.c: Likewise.
71215         * lib/unistr/u8-strrchr.c: Likewise.
71216         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
71217         * lib/unistr/u16-strchr.c: Likewise.
71218         * lib/unistr/u16-strrchr.c: Likewise.
71219         * lib/striconveh.c: Update.
71220         * lib/linebreak.c: Update.
71221
71222 2007-03-24  Bruno Haible  <bruno@clisp.org>
71223
71224         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
71225         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
71226
71227 2007-03-22  Bruno Haible  <bruno@clisp.org>
71228
71229         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
71230
71231 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
71232
71233         * MODULES.html.sh (File system functions): New module write-any-file.
71234         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
71235         * m4/write-any-file.m4: New files.
71236
71237 2007-03-23  Eric Blake  <ebb9@byu.net>
71238
71239         * gnulib-tool: Rearrange space-tab sequences, since some editors
71240         like to eat them.
71241
71242 2007-03-23  Eric Blake  <ebb9@byu.net>
71243
71244         * lib/version-etc.c (version_etc_va): Update license wording to
71245         be more concise.  Recommended by Richard Stallman.
71246
71247 2007-03-22  Bruno Haible  <bruno@clisp.org>
71248
71249         * lib/poll.c (MSG_PEEK): New fallback definition.
71250
71251 2007-03-22  Bruno Haible  <bruno@clisp.org>
71252
71253         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
71254         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
71255         (main): Update.
71256         Fixes a compilation error on BeOS.
71257
71258 2007-03-22  Bruno Haible  <bruno@clisp.org>
71259
71260         * modules/frexpl-tests: New file.
71261         * tests/test-frexpl.c: New file.
71262
71263         * modules/frexpl: New file.
71264         * m4/frexpl.m4: New file.
71265         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
71266         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
71267         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
71268         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
71269         (Depends-on): Add frexpl. Remove isnanl-nolibm.
71270         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
71271
71272 2007-03-22  Bruno Haible  <bruno@clisp.org>
71273
71274         * lib/frexpl.c: Share code with lib/frexp.c.
71275         * modules/mathl (Files): Add lib/frexp.c.
71276         (Depends-on): Add isnanl-nolibm.
71277
71278 2007-03-22  Bruno Haible  <bruno@clisp.org>
71279
71280         * modules/printf-frexp (Files): Add m4/frexp.m4.
71281         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
71282         only if the found frexp function actually works.
71283
71284 2007-03-22  Bruno Haible  <bruno@clisp.org>
71285
71286         * lib/frexp.c: Remove older implementation that uses divisions.
71287
71288 2007-03-21  Bruno Haible  <bruno@clisp.org>
71289
71290         * modules/frexp-tests: New file.
71291         * tests/test-frexp.c: New file.
71292
71293         * modules/frexp: New file.
71294         * lib/frexp.c: New file.
71295         * m4/frexp.m4: New file.
71296         * lib/math_.h (frexp): New declaration.
71297         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
71298         REPLACE_FREXP.
71299         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
71300
71301 2007-03-21  Bruno Haible  <bruno@clisp.org>
71302
71303         * modules/isnanl-tests: New file.
71304         * tests/test-isnanl.c: New file.
71305
71306         * modules/isnanl: New file.
71307         * lib/isnanl.h: New file.
71308         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
71309         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
71310         gl_FUNC_ISNANL_WORKS.
71311         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
71312         New macros.
71313
71314 2007-03-21  Bruno Haible  <bruno@clisp.org>
71315
71316         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
71317         lib/isnanl.h.
71318         (Include): Update.
71319         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
71320         * lib/vasnprintf.c: Update.
71321         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
71322         tests/test-isnanl.h, remove tests/test-isnanl.c.
71323         (Makefile.am): Update.
71324         * tests/test-isnanl-nolibm.c: New file.
71325         * tests/test-isnanl.h: New file.
71326         * tests/test-isnanl.c: Remove file.
71327
71328 2007-03-21  Jim Meyering  <jim@meyering.net>
71329
71330         When trying to open ".", treat ESTALE like EACCES.
71331         * lib/savewd.c (savewd_save): Resort to forking not just upon
71332         failure with EACCES, but also when errno is ESTALE.
71333
71334 2007-03-20  Bruno Haible  <bruno@clisp.org>
71335
71336         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
71337         Needed on AIX 5.1. Reported by Matthew Woehlke.
71338
71339 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71340
71341         Suggestions by Bruno Haible:
71342         * lib/acl-internal.h: Include "gettext.h" rather than rolling
71343         our own.
71344         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
71345         * modules/acl (Depends-on): Add gettext.
71346
71347 2007-03-19  Bruno Haible  <bruno@clisp.org>
71348
71349         * modules/iconvme: Remove file.
71350         * lib/iconvme.h: Remove file.
71351         * lib/iconvme.c: Remove file.
71352         * m4/iconvme.m4: Remove file.
71353
71354 2007-03-19  Bruno Haible  <bruno@clisp.org>
71355
71356         * doc/relocatable-maint.texi: Break long shell script line.
71357         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71358
71359 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71360
71361         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
71362         handle file_has_acl.
71363         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
71364         * lib/acl.c: Move header inclusions and related macro defns into
71365         lib/acl-internal.h.
71366         (S_ISLNK): Remove defn, since that's now done for us.
71367         (file_has_acl): Move to lib/file-has-acl.c.
71368         Call acl_trivial if available.  This is the crucial part of the fix.
71369         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
71370         shared within the library.  Rewrite a bit, partly to make it compatible
71371         with the GNU coding style.
71372         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
71373         Remove unnecessary double-quotes.
71374         Don't test for acl_to_text; the build will catch that.
71375         Replace acl_entries if it doesn't exist and it is needed.
71376         Check for -lsec and acl_trivial (as used on Solaris 10).
71377         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
71378         lib/file-has-acl.c.
71379         (Depends-on): Add sys_stat, for S_ISLNK.
71380
71381 2007-03-19  Ben Pfaff  <blp@gnu.org>
71382
71383         * doc/gnulib.texi: Fix typos.
71384         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71385
71386 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71387
71388         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
71389         If size is zero here, buf must be zero.
71390
71391 2007-03-19  Simon Josefsson  <simon@josefsson.org>
71392
71393         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
71394         <bruno@clisp.org>.
71395
71396 2007-03-18  Bruno Haible  <bruno@clisp.org>
71397
71398         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
71399         Suggested by Eric Blake.
71400
71401 2007-03-18  Ben Pfaff  <blp@gnu.org>
71402
71403         * doc/relocatable.texi: Recommend using as prefix a directory
71404         that does not exist and will never be created.  Based on
71405         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
71406         and others.
71407
71408 2007-03-17  Bruno Haible  <bruno@clisp.org>
71409
71410         * lib/fchownat.c: Include lchown.h.
71411
71412 2007-03-17  Bruno Haible  <bruno@clisp.org>
71413
71414         Fix endless loop when the given allocated size was > INT_MAX.
71415         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
71416         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
71417         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
71418         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
71419         * lib/sprintf.c (sprintf): Likewise.
71420
71421 2007-03-17  Bruno Haible  <bruno@clisp.org>
71422
71423         * tests/test-argp-2.sh (func_compare): Output a context diff.
71424
71425 2007-03-17  Bruno Haible  <bruno@clisp.org>
71426
71427         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
71428         locale's decimal-point character.
71429
71430 2007-03-17  Bruno Haible  <bruno@clisp.org>
71431
71432         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
71433         before comparing it. Needed because on some platforms (e.g. x86) a
71434         'long double' occupies less bytes than sizeof (long double).
71435
71436 2007-03-17  Bruno Haible  <bruno@clisp.org>
71437
71438         * tests/test-crc.c (main): Make printf statements 64-bit clean.
71439         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
71440         * tests/test-getaddrinfo.c (simple): Likewise.
71441         * tests/test-read-file.c (main): Likewise.
71442
71443 2007-03-17  Bruno Haible  <bruno@clisp.org>
71444
71445         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
71446
71447 2007-03-17  Bruno Haible  <bruno@clisp.org>
71448
71449         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
71450         unused variable.
71451
71452 2007-03-17  Bruno Haible  <bruno@clisp.org>
71453
71454         * tests/test-c-strcasecmp.c: Include c-strcase.h.
71455         * tests/test-c-strncasecmp.c: Likewise.
71456
71457 2007-03-17  Bruno Haible  <bruno@clisp.org>
71458
71459         * modules/stdlib (Depends-on): Add unistd.
71460         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
71461         Needed for MacOS X 10.3.
71462
71463 2007-03-17  Bruno Haible  <bruno@clisp.org>
71464
71465         * lib/unistr/u-strdup.h: Include <stdlib.h>.
71466
71467 2007-03-17  Bruno Haible  <bruno@clisp.org>
71468
71469         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
71470
71471 2007-03-17  Bruno Haible  <bruno@clisp.org>
71472
71473         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
71474         to reflect files copied from gnulib (with or without modifications).
71475         Suggested by Jim Meyering.
71476
71477 2007-03-17  Eric Blake  <ebb9@byu.net>
71478
71479         * NEWS: Document stdlib change from 2007-02-18.
71480
71481 2007-03-17  Jim Meyering  <jim@meyering.net>
71482
71483         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
71484         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
71485         someone uses a name containing shell meta-characters.
71486         Reported by Alfred M. Szmidt.
71487
71488         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
71489
71490 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71491
71492         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
71493         and copy gettext configuration files only if configure.ac contains
71494         a use of AM_GNU_GETTEXT_VERSION.
71495
71496 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71497
71498         * build-aux/bootstrap (gnulib_name): New variable.
71499         (gnulib_tool_options): Use it.
71500
71501 2007-03-13  Simon Josefsson  <simon@josefsson.org>
71502
71503         * tests/test-des.c: Use new namespace.
71504
71505 2007-03-15  Bruno Haible  <bruno@clisp.org>
71506
71507         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
71508         Reported by James Youngman <jay@gnu.org>.
71509
71510 2007-03-15  Bruno Haible  <bruno@clisp.org>
71511
71512         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
71513         declared prototype. Needed with cc on OSF/1 5.1.
71514
71515 2007-03-15  Bruno Haible  <bruno@clisp.org>
71516
71517         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
71518         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
71519         (struct gl_list_implementation): Add dispose_fn argument to the
71520         'create_empty', 'create' methods.
71521         (struct gl_list_impl_base): Add field 'dispose_fn'.
71522         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
71523         argument.
71524         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
71525         dispose_fn argument.
71526         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
71527         dispose_fn on the dropped values.
71528         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
71529         dispose_fn argument.
71530         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
71531         dropped values.
71532         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
71533         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71534         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
71535         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71536         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
71537         argument.
71538         (gl_tree_list_free): Call dispose_fn on the dropped values.
71539         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
71540         the dropped values.
71541         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
71542         Add dispose_fn argument.
71543         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
71544         Call dispose_fn on the dropped values.
71545         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
71546         Add dispose_fn argument.
71547         (gl_sublist_create): Initialize the 'dispose_fn' field.
71548         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
71549         * tests/test-array_list.c (main): Update.
71550         * tests/test-carray_list.c (main): Update.
71551         * tests/test-avltree_list.c (main): Update.
71552         * tests/test-rbtree_list.c (main): Update.
71553         * tests/test-avltreehash_list.c (main): Update.
71554         * tests/test-rbtreehash_list.c (main): Update.
71555         * tests/test-linked_list.c (main): Update.
71556         * tests/test-linkedhash_list.c (main): Update.
71557         * tests/test-array_oset.c (main): Update.
71558
71559 2007-03-15  Bruno Haible  <bruno@clisp.org>
71560
71561         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
71562         (gl_oset_create_empty): Add dispose_fn argument.
71563         (struct gl_oset_implementation): Add dispose_fn argument to
71564         'create_empty' method.
71565         (struct gl_oset_impl_base): Add dispose_fn field.
71566         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
71567         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
71568         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
71569         values.
71570         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
71571         (gl_tree_oset_free): Call dispose_fn on the dropped values.
71572         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71573         dropped value.
71574         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71575         dropped value.
71576         * tests/test-array_oset.c (main): Update.
71577         * tests/test-avltree_oset.c (main): Update.
71578         * tests/test-rbtree_oset.c (main): Update.
71579         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
71580
71581 2007-03-13  Bruno Haible  <bruno@clisp.org>
71582
71583         * tests/test-stdbool.c (i): Update after last patch.
71584
71585 2007-03-12  Bruno Haible  <bruno@clisp.org>
71586
71587         * lib/quotearg.c: Include <wctype.h> early, before the definition of
71588         the iswprint macro. Needed on Solaris 2.5.1.
71589
71590 2007-03-12  Bruno Haible  <bruno@clisp.org>
71591
71592         * tests/test-printf-frexp.c (main): Declare x as volatile.
71593
71594 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71595
71596         * doc/gnulib.texi (Build robot for gnulib): New section.
71597
71598 2007-03-12  Jim Meyering  <jim@meyering.net>
71599
71600         * build-aux/bootstrap: New file.
71601         * build-aux/bootstrap.conf: New file, from coreutils.
71602
71603 2007-03-11  Bruno Haible  <bruno@clisp.org>
71604
71605         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
71606
71607 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71608
71609         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
71610         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
71611         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
71612
71613 2007-03-11  Bruno Haible  <bruno@clisp.org>
71614
71615         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
71616         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
71617
71618 2007-03-11  Bruno Haible  <bruno@clisp.org>
71619
71620         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
71621         formula. Needed for SunPRO C 5.0.
71622
71623 2007-03-11  Bruno Haible  <bruno@clisp.org>
71624
71625         * modules/long-options (Depends-on): Add getopt.
71626
71627 2007-03-11  Bruno Haible  <bruno@clisp.org>
71628
71629         * modules/modechange (Depends-on): Add stdbool.
71630
71631 2007-03-11  Bruno Haible  <bruno@clisp.org>
71632
71633         * modules/i-ring (Depends-on): Add stdbool.
71634
71635 2007-03-11  Bruno Haible  <bruno@clisp.org>
71636
71637         * modules/gc-des (Depends-on): Add stdbool.
71638
71639 2007-03-11  Bruno Haible  <bruno@clisp.org>
71640
71641         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
71642
71643 2007-03-11  Bruno Haible  <bruno@clisp.org>
71644
71645         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
71646
71647 2007-03-11  Bruno Haible  <bruno@clisp.org>
71648
71649         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
71650
71651 2007-03-11  Bruno Haible  <bruno@clisp.org>
71652
71653         * lib/vasnprintf.c (sprintf): Undefine.
71654
71655 2007-03-11  Bruno Haible  <bruno@clisp.org>
71656
71657         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
71658         initializers in SunPRO C and Compaq C compilers.
71659
71660 2007-03-11  Bruno Haible  <bruno@clisp.org>
71661
71662         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
71663         decrementing code ANSI C compliant.
71664
71665 2007-03-11  Bruno Haible  <bruno@clisp.org>
71666
71667         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
71668         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
71669
71670 2007-03-11  Bruno Haible  <bruno@clisp.org>
71671
71672         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
71673         <stdbool.h> substitute doesn't pass.
71674
71675 2007-03-11  Bruno Haible  <bruno@clisp.org>
71676
71677         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
71678
71679 2007-03-11  Bruno Haible  <bruno@clisp.org>
71680
71681         * gnulib-tool (func_create_megatestdir): Create also an autobuild
71682         script, for submission to autobuild.josefsson.org.
71683
71684 2007-03-10  Bruno Haible  <bruno@clisp.org>
71685
71686         * modules/canonicalize-lgpl-tests: New file.
71687         * tests/test-canonicalize-lgpl.sh: New file.
71688         * tests/test-canonicalize-lgpl.c: New file.
71689
71690         * modules/c-strcase-tests: New file.
71691         * tests/test-c-strcase.sh: New file.
71692         * tests/test-c-strcasecmp.c: New file.
71693         * tests/test-c-strncasecmp.c: New file.
71694
71695         * modules/atexit-tests: New file.
71696         * tests/test-atexit.sh: New file.
71697         * tests/test-atexit.c: New file.
71698
71699 2007-03-10  Bruno Haible  <bruno@clisp.org>
71700
71701         * tests/test-binary-io.sh: Use temporary filenames that are not so
71702         likely to clash with those of other tests (in a parallel make).
71703         * tests/test-binary-io.c: Likewise.
71704
71705 2007-03-10  Bruno Haible  <bruno@clisp.org>
71706
71707         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
71708         fallback; use #error instead.
71709         Suggested by Simon Josefsson.
71710
71711 2007-03-10  Bruno Haible  <bruno@clisp.org>
71712
71713         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
71714         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
71715         first and the last.
71716
71717 2007-03-10  Bruno Haible  <bruno@clisp.org>
71718
71719         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
71720
71721 2007-03-10  Bruno Haible  <bruno@clisp.org>
71722
71723         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
71724         "make distcheck".
71725         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
71726         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
71727         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
71728
71729 2007-03-10  Bruno Haible  <bruno@clisp.org>
71730
71731         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
71732         variable.
71733         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
71734         variable.
71735
71736 2007-03-09  Eric Blake  <ebb9@byu.net>
71737         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
71738
71739         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
71740         types are not being provided by gnulib.
71741         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
71742         types are supported.
71743
71744 2007-03-10  Bruno Haible  <bruno@clisp.org>
71745
71746         * lib/stdio_.h (__attribute__): New macro.
71747         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
71748         vsprintf): Specify __attribute__ __format__ for GCC.
71749         Suggested by Eric Blake.
71750
71751 2007-03-09  Bruno Haible  <bruno@clisp.org>
71752
71753         * modules/printf-posix-tests: New file.
71754         * tests/test-printf-posix.sh: New file.
71755         * tests/test-printf-posix.c: New file.
71756
71757         * modules/printf-posix: New file.
71758         * lib/printf.c: New file.
71759         * m4/printf-posix-rpl.m4: New file.
71760         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
71761         REPLACE_PRINTF.
71762         * lib/stdio_.h (printf): New declaration.
71763         (format, __format__, ____printf____, ____scanf____, ____strftime____,
71764         ____strfmon____): New macros.
71765         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
71766         REPLACE_PRINTF.
71767
71768 2007-03-09  Bruno Haible  <bruno@clisp.org>
71769
71770         * tests/test-vasnprintf-posix2.sh: New file.
71771         * tests/test-vasnprintf-posix2.c: New file.
71772         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
71773         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
71774         (Makefile.am): Activate test-vasnprintf-posix2.sh.
71775
71776         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
71777         a locale dependent decimal point, rather than always '.'.
71778
71779 2007-03-09  Eric Blake  <ebb9@byu.net>
71780
71781         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
71782         spite of platforms like Tandem/NSK that define it to -1.
71783
71784 2007-03-08  Bruno Haible  <bruno@clisp.org>
71785
71786         * modules/vprintf-posix-tests: New file.
71787         * tests/test-vprintf-posix.sh: New file.
71788         * tests/test-vprintf-posix.c: New file.
71789         * tests/test-printf-posix.h: New file.
71790
71791         * modules/vprintf-posix: New file.
71792         * lib/vprintf.c: New file.
71793         * m4/vprintf-posix.m4: New file.
71794         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
71795         REPLACE_VPRINTF.
71796         * lib/stdio_.h (vprintf): New declaration.
71797         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
71798         REPLACE_VPRINTF.
71799
71800 2007-03-08  Bruno Haible  <bruno@clisp.org>
71801
71802         * modules/fprintf-posix-tests: New file.
71803         * tests/test-fprintf-posix.sh: New file.
71804         * tests/test-fprintf-posix.c: New file.
71805
71806         * modules/fprintf-posix: New file.
71807         * lib/fprintf.c: New file.
71808         * m4/fprintf-posix.m4: New file.
71809         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
71810         REPLACE_FPRINTF.
71811         * lib/stdio_.h (fprintf): New declaration.
71812         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
71813         REPLACE_FPRINTF.
71814
71815 2007-03-08  Bruno Haible  <bruno@clisp.org>
71816
71817         * modules/vfprintf-posix-tests: New file.
71818         * tests/test-vfprintf-posix.sh: New file.
71819         * tests/test-vfprintf-posix.c: New file.
71820         * tests/test-fprintf-posix.h: New file.
71821         * tests/test-fprintf-posix.out: New file.
71822
71823         * modules/vfprintf-posix: New file.
71824         * lib/vfprintf.c: New file.
71825         * m4/vfprintf-posix.m4: New file.
71826         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
71827         REPLACE_VFPRINTF.
71828         * lib/stdio_.h (vfprintf): New declaration.
71829         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
71830         REPLACE_VFPRINTF.
71831
71832 2007-03-08  Bruno Haible  <bruno@clisp.org>
71833
71834         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
71835
71836 2007-03-08  Bruno Haible  <bruno@clisp.org>
71837
71838         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
71839         instead of 'expr' invocations.
71840         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
71841         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
71842         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
71843         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
71844         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
71845         Suggested by Paul Eggert.
71846
71847 2007-03-08  Bruno Haible  <bruno@clisp.org>
71848
71849         * modules/fseterr-tests: New file.
71850         * tests/test-fseterr.c: New file.
71851
71852         * modules/fseterr: New file.
71853         * lib/fseterr.h: New file.
71854         * lib/fseterr.c: New file.
71855
71856 2007-03-08  Bruno Haible  <bruno@clisp.org>
71857
71858         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
71859         * lib/getopt_.h: Likewise.
71860         * lib/mbswidth.h: Likewise.
71861         * lib/setenv.h: Likewise.
71862         * lib/vasnprintf.h: Likewise.
71863         * lib/vasprintf.h: Likewise.
71864         * lib/verror.h: Likewise.
71865         * lib/xsetenv.h: Likewise.
71866         * lib/xvasprintf.h: Likewise.
71867
71868 2007-03-08  Jim Meyering  <jim@meyering.net>
71869
71870         * users.txt: Add parted.
71871
71872         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
71873
71874 2007-03-07  Bruno Haible  <bruno@clisp.org>
71875
71876         * m4/printf.m4: Make the shell script snippets copy&pastable.
71877
71878 2007-03-02  Bruno Haible  <bruno@clisp.org>
71879
71880         * lib/netinet_in_.h: New file.
71881         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
71882         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
71883         * modules/netinet_in (Files): Add lib/netinet_in_.h.
71884         (Depends-on): Add absolute-header.
71885         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
71886         into netinet/in.h.
71887
71888 2007-03-03  Bruno Haible  <bruno@clisp.org>
71889
71890         * lib/sys_select_.h: New file.
71891         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
71892         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
71893         * modules/sys_select (Files): Add lib/sys_select_.h.
71894         (Depends-on): Add absolute-header.
71895         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
71896         into sys/select.h.
71897
71898 2007-03-02  Bruno Haible  <bruno@clisp.org>
71899
71900         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
71901         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
71902         values.
71903         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
71904         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
71905         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
71906         * modules/sys_socket (Depends-on): Add absolute-header.
71907         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
71908         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
71909         (Include): Remove requirement of inclusion of <sys/types.h>.
71910
71911 2007-03-02  Bruno Haible  <bruno@clisp.org>
71912
71913         * lib/byteswap_.h (bswap_32): Fix formula.
71914
71915 2007-03-06  Bruno Haible  <bruno@clisp.org>
71916
71917         * modules/sprintf-posix-tests: New file.
71918         * tests/test-sprintf-posix.c: New file.
71919
71920         * modules/sprintf-posix: New file.
71921         * lib/sprintf.c: New file.
71922         * m4/sprintf-posix.m4: New file.
71923         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
71924         REPLACE_SPRINTF.
71925         * lib/stdio_.h (sprintf): New declaration.
71926         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
71927         REPLACE_SPRINTF.
71928
71929 2007-03-06  Bruno Haible  <bruno@clisp.org>
71930
71931         * modules/vsprintf-posix-tests: New file.
71932         * tests/test-vsprintf-posix.c: New file.
71933         * tests/test-sprintf-posix.h: New file.
71934
71935         * modules/vsprintf-posix: New file.
71936         * lib/vsprintf.c: New file.
71937         * m4/vsprintf-posix.m4: New file.
71938         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
71939         REPLACE_VSPRINTF.
71940         * lib/stdio_.h (vsprintf): New declaration.
71941         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
71942         REPLACE_VSPRINTF.
71943
71944 2007-03-06  Bruno Haible  <bruno@clisp.org>
71945
71946         * modules/vsnprintf (Depend-on): Remove minmax.
71947
71948 2007-03-06  Bruno Haible  <bruno@clisp.org>
71949
71950         * modules/snprintf-posix-tests: New file.
71951         * tests/test-snprintf-posix.c: New file.
71952
71953         * modules/snprintf-posix: New file.
71954         * m4/snprintf-posix.m4: New file.
71955         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
71956         gl_FUNC_SNPRINTF.
71957         (gl_FUNC_SNPRINTF): Invoke it.
71958         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
71959         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
71960         is set.
71961         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
71962
71963 2007-03-06  Bruno Haible  <bruno@clisp.org>
71964
71965         * modules/vsnprintf-posix-tests: New file.
71966         * tests/test-vsnprintf-posix.c: New file.
71967         * tests/test-snprintf-posix.h: New file.
71968
71969         * modules/vsnprintf-posix: New file.
71970         * m4/vsnprintf-posix.m4: New file.
71971         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
71972         gl_FUNC_VSNPRINTF.
71973         (gl_FUNC_VSNPRINTF): Invoke it.
71974         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
71975         * lib/stdio_.h (vsnprintf): Define as a replacement if
71976         REPLACE_VSNPRINTF is set.
71977         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
71978
71979 2007-03-06  Bruno Haible  <bruno@clisp.org>
71980
71981         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
71982         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
71983
71984 2007-03-06  Bruno Haible  <bruno@clisp.org>
71985
71986         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
71987         (asinl): Declare also if HAVE_DECL_ASINL is set.
71988         (atanl): Declare also if HAVE_DECL_ATANL is set.
71989         (ceill): Declare also if HAVE_DECL_CEILL is set.
71990         (cosl): Declare also if HAVE_DECL_COSL is set.
71991         (expl): Declare also if HAVE_DECL_EXPL is set.
71992         (floorl): Declare also if HAVE_DECL_FLOORL is set.
71993         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
71994         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
71995         (logl): Declare also if HAVE_DECL_LOGL is set.
71996         (sinl): Declare also if HAVE_DECL_SINL is set.
71997         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
71998         (tanl): Declare also if HAVE_DECL_TANL is set.
71999         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
72000         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
72001         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
72002         declaration of frexpl, ldexpl.
72003         * modules/printf-frexpl (Depends-on): Add math.
72004         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
72005
72006 2007-03-05  Bruno Haible  <bruno@clisp.org>
72007
72008         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
72009         frexpl and ldexpl are declared.
72010         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
72011
72012 2007-03-05  Bruno Haible  <bruno@clisp.org>
72013
72014         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
72015         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
72016
72017 2007-03-05  Bruno Haible  <bruno@clisp.org>
72018
72019         * lib/stdio_.h: Include <stddef.h>.
72020
72021 2007-03-05  Bruno Haible  <bruno@clisp.org>
72022
72023         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
72024
72025 2007-03-05  Bruno Haible  <bruno@clisp.org>
72026
72027         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
72028         NetBSD 4, from Ralf Wildenhues.
72029
72030 2007-03-04  Bruno Haible  <bruno@clisp.org>
72031
72032         * lib/vasprintf.h: Update #if logic for the case when the functions
72033         exist but are overridden.
72034
72035 2007-03-04  Bruno Haible  <bruno@clisp.org>
72036
72037         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
72038         implementations: glibc-2.4 and MacOS X 10.3.
72039         * tests/test-vasnprintf-posix.c (test_function): Test also the case
72040         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
72041         * tests/test-vasprintf-posix.c (test_function): Likewise.
72042
72043 2007-03-04  Bruno Haible  <bruno@clisp.org>
72044
72045         * modules/vasprintf-posix-tests: New file.
72046         * tests/test-vasprintf-posix.c: New file.
72047
72048         * modules/vasprintf-posix: New file.
72049         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
72050         defined.
72051         * m4/vasprintf-posix.m4: New file.
72052         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
72053         gl_FUNC_VASPRINTF.
72054         (gl_FUNC_VASPRINTF): Invoke it.
72055         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
72056         here.
72057         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
72058
72059 2007-03-04  Bruno Haible  <bruno@clisp.org>
72060
72061         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
72062         REPLACE_GETTIMEOFDAY.
72063         * modules/sys_time (Makefile.am): Likewise.
72064         * m4/sys_time_h.m4: Likewise.
72065         * m4/gettimeofday.m4: Likewise.
72066
72067 2007-03-04  Bruno Haible  <bruno@clisp.org>
72068
72069         * modules/vasnprintf-posix-tests: New file.
72070         * tests/test-vasnprintf-posix.c: New file.
72071
72072         * modules/vasnprintf-posix: New file.
72073         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
72074         printf-frexpl.h.
72075         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
72076         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
72077         REPLACE_VASNPRINTF is defined.
72078         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
72079         gl_FUNC_VASNPRINTF.
72080         (gl_FUNC_VASNPRINTF): Invoke it.
72081         * m4/vasnprintf-posix.m4: New file.
72082         * m4/printf.m4: New file.
72083
72084 2007-03-04  Bruno Haible  <bruno@clisp.org>
72085
72086         Compile progreloc.c only if --enable-relocatable is specified.
72087         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
72088         if --enable-relocatable was specified.
72089         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
72090         lib_SOURCES.
72091
72092 2007-03-04  Jim Meyering  <jim@meyering.net>
72093
72094         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
72095         Use it consistently, rather than enumerating errno constants.
72096
72097 2007-03-04  Bruno Haible  <bruno@clisp.org>
72098
72099         * modules/xvasprintf-tests: New file.
72100         * tests/test-xvasprintf.c: New file.
72101
72102         * modules/vasprintf-tests: New file.
72103         * tests/test-vasprintf.c: New file.
72104
72105         * modules/vasnprintf-tests: New file.
72106         * tests/test-vasnprintf.c: New file.
72107
72108         * modules/vsnprintf-tests: New file.
72109         * tests/test-vsnprintf.c: New file.
72110
72111         * modules/snprintf-tests: New file.
72112         * tests/test-snprintf.c: New file.
72113
72114 2007-03-04  Bruno Haible  <bruno@clisp.org>
72115
72116         Compile relocatable.c only if --enable-relocatable is specified.
72117         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
72118         gl_RELOCATABLE_LIBRARY.
72119         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
72120         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
72121         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
72122         gl_RELOCATABLE_LIBRARY.
72123         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
72124         (Makefile.am): Remove lib_SOURCES.
72125         * modules/relocatable-lib-lgpl (configure.ac): Invoke
72126         gl_RELOCATABLE_LIBRARY.
72127         (Makefile.am): Remove lib_SOURCES.
72128         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
72129         always.
72130         * modules/relocatable-prog-wrapper (configure.ac): Invoke
72131         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
72132
72133 2007-03-04  Bruno Haible  <bruno@clisp.org>
72134
72135         * modules/argmatch-tests: New file.
72136         * tests/test-argmatch.c: New file.
72137
72138         * tests/test-allocsa.c (main): Halve the number of loop runs.
72139
72140         * modules/alloca-opt-tests: New file.
72141         * tests/test-alloca-opt.c: New file.
72142
72143 2007-03-04  Jim Meyering  <jim@meyering.net>
72144
72145         Work around difference between Linux ACLs and Solaris 10 ZFS.
72146         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
72147         for EINVAL.
72148
72149 2007-03-03  Bruno Haible  <bruno@clisp.org>
72150
72151         * modules/relocatable-prog (Depends-on): Add back progreloc's
72152         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
72153
72154 2007-03-03  Bruno Haible  <bruno@clisp.org>
72155
72156         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
72157         * modules/relocatable-lib: New file.
72158
72159 2007-03-03  Bruno Haible  <bruno@clisp.org>
72160
72161         * modules/relocatable-prog: Renamed from modules/relocatable.
72162         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
72163
72164 2007-03-03  Bruno Haible  <bruno@clisp.org>
72165
72166         * modules/relocatable-script (Files): Add doc/relocatable.texi,
72167         m4/relocatable-lib.m4.
72168         (Depends-on): Remove 'relocatable'.
72169         (configure.ac): Add gl_RELOCATABLE_NOP.
72170
72171 2007-03-03  Bruno Haible  <bruno@clisp.org>
72172
72173         * modules/relocatable-prog-wrapper: New file.
72174         * modules/relocatable (Depends-on): Add it. Remove all other
72175         dependencies except progname.
72176         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
72177
72178         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
72179         (gl_FUNC_STRERROR): Nop.
72180         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
72181
72182         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
72183         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
72184
72185         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
72186         (gl_FUNC_READLINK): Update.
72187
72188         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
72189
72190 2007-03-03  Bruno Haible  <bruno@clisp.org>
72191
72192         * lib/xreadlink.c: Include <unistd.h> unconditionally.
72193         * modules/xreadlink (Depends-on): Add unistd.
72194         * modules/xreadlink-with-size (Depends-on): Likewise.
72195
72196 2007-03-03  Bruno Haible  <bruno@clisp.org>
72197
72198         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
72199         extracted from gt_FUNC_SETENV.
72200         (gt_FUNC_SETENV): Remove macro.
72201         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
72202         remove gt_FUNC_SETENV.
72203
72204 2007-03-03  Bruno Haible  <bruno@clisp.org>
72205
72206         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
72207         ENABLE_RELOCATABLE here.
72208         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
72209
72210 2007-03-03  Bruno Haible  <bruno@clisp.org>
72211
72212         * modules/rbtreehash-list-tests (Depends-on): Add progname.
72213         * tests/test-rbtreehash_list.c: Include progname.h.
72214         (main): Call set_program_name.
72215
72216         * modules/rbtree-oset-tests (Depends-on): Add progname.
72217         * tests/test-rbtree_oset.c: Include progname.h.
72218         (main): Call set_program_name.
72219
72220         * modules/rbtree-list-tests (Depends-on): Add progname.
72221         * tests/test-rbtree_list.c: Include progname.h.
72222         (main): Call set_program_name.
72223
72224         * modules/linked-list-tests (Depends-on): Add progname.
72225         * tests/test-linked_list.c: Include progname.h.
72226         (main): Call set_program_name.
72227
72228 2007-03-03  Bruno Haible  <bruno@clisp.org>
72229
72230         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
72231         All uses of __restrict changed to _Restrict_.
72232         * lib/glob_.h (__restrict): Remove macro.
72233
72234 2007-03-02  Bruno Haible  <bruno@clisp.org>
72235
72236         * modules/gettext (configure.ac): Require gettext infrastructure
72237         from version 0.16.1.
72238
72239 2007-03-02  Bruno Haible  <bruno@clisp.org>
72240
72241         * modules/linkedhash-list-tests (Depends-on): Add progname.
72242         * tests/test-linkedhash_list.c: Include progname.h.
72243         (main): Call set_program_name.
72244
72245         * modules/carray-list-tests (Depends-on): Add progname.
72246         * tests/test-carray_list.c: Include progname.h.
72247         (main): Call set_program_name.
72248
72249         * modules/avltreehash-list-tests (Depends-on): Add progname.
72250         * tests/test-avltreehash_list.c: Include progname.h.
72251         (main): Call set_program_name.
72252
72253         * modules/avltree-oset-tests (Depends-on): Add progname.
72254         * tests/test-avltree_oset.c: Include progname.h.
72255         (main): Call set_program_name.
72256
72257         * modules/avltree-list-tests (Depends-on): Add progname.
72258         * tests/test-avltree_list.c: Include progname.h.
72259         (main): Call set_program_name.
72260
72261         * modules/array-oset-tests (Depends-on): Add progname.
72262         * tests/test-array_oset.c: Include progname.h.
72263         (main): Call set_program_name.
72264
72265         * modules/array-list-tests (Depends-on): Add progname.
72266         * tests/test-array_list.c: Include progname.h.
72267         (main): Call set_program_name.
72268
72269         * modules/argp-tests (Depends-on): Add progname.
72270         * tests/test-argp.c: Include argp.h first. Include progname.h.
72271         (main): Call set_program_name.
72272
72273 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
72274
72275         * doc/gnulib-tool.texi (Initial import): Reword description of
72276         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
72277         limited effect even if defined after the first system include.
72278
72279 2007-03-01  Bruno Haible  <bruno@clisp.org>
72280
72281         * build-aux/config.libpath: Update to libtool-1.5.22.
72282         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
72283
72284 2007-03-01  Bruno Haible  <bruno@clisp.org>
72285
72286         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
72287         foo_CFLAGS.
72288         Reported by Ralf Wildenhues.
72289
72290 2007-03-01  Bruno Haible  <bruno@clisp.org>
72291
72292         * build-aux/install-reloc: Remove object files left over by some
72293         compilers.
72294         Reported by Ralf Wildenhues.
72295
72296 2007-03-01  Bruno Haible  <bruno@clisp.org>
72297
72298         * build-aux/install-reloc: Break long lines.
72299
72300 2007-03-01  Bruno Haible  <bruno@clisp.org>
72301
72302         * doc/relocatable.texi: Document that it may not work on OpenBSD.
72303         Reported by Ralf Wildenhues.
72304
72305 2007-03-01  Bruno Haible  <bruno@clisp.org>
72306
72307         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
72308         include ordering constraints.
72309
72310 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72311
72312         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
72313         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
72314         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
72315         as another example.
72316         * lib/time_.h: Fix misspelling.
72317         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
72318         Require gl_HEADER_TIME_H_DEFAULTS.
72319         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
72320         * m4/time_r.m4 (gl_TIME_R): Likewise.
72321         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
72322
72323 2007-03-01  Bruno Haible  <bruno@clisp.org>
72324
72325         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
72326         * m4/utimens.m4 (gl_UTIMENS): Likewise.
72327
72328 2007-03-01  Jim Meyering  <jim@meyering.net>
72329
72330         * modules/xreadlink (Maintainer): Add my name.
72331         * modules/xreadlink-with-size (Depends-on): Alphabetize.
72332
72333 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
72334             Bruno Haible  <bruno@clisp.org>
72335
72336         * build-aux/install-reloc: Compile also c-ctype.c.
72337         * build-aux/relocatable.sh.in: New file.
72338         * doc/relocatable.texi: New file.
72339         * doc/relocatable-maint.texi: New file.
72340         * doc/gnulib.texi: Include relocatable-maint.texi.
72341         * lib/progreloc.c: Include unistd.h unconditionally.
72342         * lib/relocwrapper.c: Include unistd.h unconditionally.
72343         Include c-ctype.h.
72344         (add_dotbin): Use c_tolower.
72345         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
72346         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
72347         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
72348         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
72349         to m4/relocatable-lib.m4.
72350         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
72351         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
72352         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
72353         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
72354         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
72355         * modules/relocatable: New file.
72356         * modules/relocatable-lib: New file.
72357         * modules/relocatable-script: New file.
72358
72359 2007-02-28  Bruno Haible  <bruno@clisp.org>
72360
72361         Import --enable-relocatable infrastructure.
72362         * build-aux/config.libpath: New file, from GNU gettext.
72363         * build-aux/install-reloc: New file, from GNU gettext.
72364         * build-aux/reloc-ldflags: New file, from GNU gettext.
72365         * lib/relocatable.h: New file, from GNU gettext.
72366         * lib/relocatable.c: New file, from GNU gettext.
72367         * lib/relocwrapper.c: New file, from GNU gettext.
72368         * m4/relocatable.m4: New file, from GNU gettext.
72369
72370 2007-02-28  Bruno Haible  <bruno@clisp.org>
72371
72372         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
72373
72374         * modules/xreadlink: New file, from GNU gettext with modifications.
72375         * lib/xreadlink.c: New file, from GNU gettext.
72376         * lib/xreadlink.h: Add comments.
72377         (xreadlink): New declaration.
72378
72379         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
72380         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
72381         lib/xreadlink-with-size.c.
72382         (configure.ac): Remove gl_XREADLINK invocation.
72383         (Makefile.am): Augment lib_SOURCES.
72384         * m4/xreadlink.m4: Remove file.
72385         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
72386         (xreadlink_with_size): Renamed from xreadink.
72387         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
72388         * modules/canonicalize (Depends-on): Replace xreadlink with
72389         xreadlink-with-size.
72390         * lib/canonicalize.c (canonicalize_filename_mode): Update.
72391
72392 2007-02-25  Jim Meyering  <jim@meyering.net>
72393
72394         * build-aux/announce-gen: When complaining about excess arguments,
72395         list them.
72396
72397 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
72398
72399         * README: Document signed integer overflow situation more
72400         accurately.
72401
72402 2007-02-25  Bruno Haible  <bruno@clisp.org>
72403
72404         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
72405         'a' or 'A' conversion.
72406
72407 2007-02-25  Bruno Haible  <bruno@clisp.org>
72408
72409         * modules/filename: Renamed from modules/pathname.
72410         (Files): Replace lib/pathname.h with lib/filename.h. Replace
72411         lib/concatpath.c with lib/concat-filename.c.
72412         (Makefile.am): Update.
72413         (Include): Replace pathname.h with filename.h.
72414         * lib/filename.h: Renamed from lib/pathname.h.
72415         (concatenated_filename): Renamed from concatenated_pathname.
72416         * lib/concat-filename.c: Renamed from lib/concatpath.c.
72417         (concatenated_filename): Renamed from concatenated_pathname.
72418         * lib/findprog.c: Include filename.h instead of pathname.h.
72419         (find_in_path): Update.
72420         * lib/javacomp.c: Include filename.h instead of pathname.h.
72421         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
72422         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
72423         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
72424         is_oldgcj_14_13_usable, is_javac_usable): Update.
72425         * lib/javaexec.c: Include filename.h instead of pathname.h.
72426         (execute_java_class): Update.
72427         * modules/findprog: Update.
72428         * modules/javacomp: Update.
72429         * modules/javaexec: Update.
72430         * MODULES.html.sh (File system functions): Add 'filename', remove
72431         'pathname'.
72432
72433 2007-02-25  Bruno Haible  <bruno@clisp.org>
72434
72435         * modules/printf-frexpl-tests: New file.
72436         * tests/test-printf-frexpl.c: New file.
72437
72438         * modules/printf-frexpl: New file.
72439         * lib/printf-frexpl.h: New file.
72440         * lib/printf-frexpl.c: New file.
72441         * m4/printf-frexpl.m4: New file.
72442
72443 2007-02-25  Bruno Haible  <bruno@clisp.org>
72444
72445         * modules/printf-frexp-tests: New file.
72446         * tests/test-printf-frexp.c: New file.
72447
72448         * modules/printf-frexp: New file.
72449         * lib/printf-frexp.h: New file.
72450         * lib/printf-frexp.c: New file.
72451         * m4/printf-frexp.m4: New file.
72452
72453 2007-02-25  Bruno Haible  <bruno@clisp.org>
72454
72455         Assume automake >= 1.10 for the tests.
72456         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
72457         * modules/arctwo-tests: Likewise.
72458         * modules/argp-tests: Likewise.
72459         * modules/avltree-list-tests: Likewise.
72460         * modules/avltree-oset-tests: Likewise.
72461         * modules/avltreehash-list-tests: Likewise.
72462         * modules/carray-list-tests: Likewise.
72463         * modules/crc-tests: Likewise.
72464         * modules/des-tests: Likewise.
72465         * modules/gc-arcfour-tests: Likewise.
72466         * modules/gc-arctwo-tests: Likewise.
72467         * modules/gc-des-tests: Likewise.
72468         * modules/gc-hmac-md5-tests: Likewise.
72469         * modules/gc-hmac-sha1-tests: Likewise.
72470         * modules/gc-md2-tests: Likewise.
72471         * modules/gc-md4-tests: Likewise.
72472         * modules/gc-md5-tests: Likewise.
72473         * modules/gc-pbkdf2-sha1-tests: Likewise.
72474         * modules/gc-rijndael-tests: Likewise.
72475         * modules/gc-sha1-tests: Likewise.
72476         * modules/gc-tests: Likewise.
72477         * modules/getaddrinfo-tests: Likewise.
72478         * modules/hmac-md5-tests: Likewise.
72479         * modules/hmac-sha1-tests: Likewise.
72480         * modules/linked-list-tests: Likewise.
72481         * modules/linkedhash-list-tests: Likewise.
72482         * modules/lock-tests: Likewise.
72483         * modules/md2-tests: Likewise.
72484         * modules/md4-tests: Likewise.
72485         * modules/md5-tests: Likewise.
72486         * modules/rbtree-list-tests: Likewise.
72487         * modules/rbtree-oset-tests: Likewise.
72488         * modules/rbtreehash-list-tests: Likewise.
72489         * modules/read-file-tests: Likewise.
72490         * modules/rijndael-tests: Likewise.
72491         * modules/stdint-tests: Likewise.
72492         * modules/tls-tests: Likewise.
72493
72494 2007-02-24  Bruno Haible  <bruno@clisp.org>
72495
72496         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
72497         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
72498         function; instead check whether isnan with a double argument links.
72499         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
72500         function; instead check whether isnan with a 'long double' argument
72501         links.
72502         Reported by Eric Blake <ebb9@byu.net>.
72503
72504 2007-02-24  Bruno Haible  <bruno@clisp.org>
72505
72506         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
72507         defined.
72508         * lib/isnanl.c: Remove all code. Just include isnan.c.
72509         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
72510
72511 2007-02-25  Jim Meyering  <jim@meyering.net>
72512
72513         Avoid conflicting types for 'unsetenv' on FreeBSD.
72514         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
72515         conflicting with FreeBSD's (5.0 and 6.1) function declaration
72516         in stdlib.h.
72517
72518 2007-02-24  Bruno Haible  <bruno@clisp.org>
72519
72520         * modules/isnanl-nolibm-tests: New file.
72521         * tests/test-isnanl.c: New file.
72522
72523         * modules/isnanl-nolibm: New file.
72524         * lib/isnanl.h: New file.
72525         * lib/isnanl.c: New file.
72526         * m4/isnanl.m4: New file.
72527
72528 2007-02-24  Bruno Haible  <bruno@clisp.org>
72529
72530         * modules/isnan-nolibm-tests: New file.
72531         * tests/test-isnan.c: New file.
72532
72533         * modules/isnan-nolibm: New file.
72534         * lib/isnan.h: New file.
72535         * lib/isnan.c: New file.
72536         * m4/isnan.m4: New file.
72537
72538 2007-02-24  Bruno Haible  <bruno@clisp.org>
72539
72540         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
72541         assume that an exponent fits in 20 bits.
72542
72543 2007-02-24  Jim Meyering  <jim@meyering.net>
72544
72545         * m4/regex.m4: Update the description of the configure-time option,
72546         --without-included-regex, to state accurately what the defaults are,
72547         and perhaps to give people an idea why using this option is risky.
72548
72549 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
72550
72551         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
72552         loops on small arguments.  This attempts to avoid the problem
72553         Bruno Haible reported for AIX 4.3.2 in
72554         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
72555
72556 2007-02-23  Bruno Haible  <bruno@clisp.org>
72557
72558         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
72559         Needed for help2man.
72560
72561 2007-02-23  Karl Berry  <karl@gnu.org>
72562
72563         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
72564         exists, foo.h should be cvs-ignored, not committed.
72565
72566 2007-02-23  Eric Blake  <ebb9@byu.net>
72567
72568         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
72569         * lib/stat-time.h (includes): Likewise.
72570         * lib/utimecmp.c (includes): Likewise.
72571         * lib/utimens.h (includes): Likewise.
72572         * lib/getdate.y (includes): Also include "timespec.h" for use
72573         internal to the module.
72574         * modules/utimens (Depends-on): Revert yesterday's patch.
72575         * modules/nanosleep (Depends-on): Add missing dependency.
72576
72577 2007-02-22  Bruno Haible  <bruno@clisp.org>
72578
72579         * lib/glob.c: Don't include getlogin_r.h.
72580
72581 2007-02-22  Jim Meyering  <jim@meyering.net>
72582
72583         * modules/utimens (Depends-on): Add timespec, required for
72584         utimens.h's inclusion of timespec.h.
72585
72586 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
72587
72588         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
72589         long unreadable paths in GNU/Linux.  Problem reported by Andreas
72590         Schwab in
72591         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
72592         I'll try to think of a better way to fix the Solaris problem.
72593
72594         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
72595         like glibc; on Solaris 10, it fails with errno == EINVAL.
72596         POSIX says the behavior is unspecified if the first argument is NULL,
72597         so play it safe and never pass NULL to the system getcwd.
72598
72599 2007-02-21  Jim Meyering  <jim@meyering.net>
72600
72601         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
72602         of gettimeofday.  It would conflict with the one now always
72603         provided via sys_time_.h.  Reported by Matthew Woehlke, as
72604         an IRIX 6.5 build failure.
72605
72606 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
72607
72608         Minor fixups to port to Solaris 10 with Sun C 5.8.
72609         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
72610         * modules/getcwd (Depends-on): Add dirfd.
72611         * lib/putenv.c (putenv): #undef it.
72612         (rpl_putenv): New decl.
72613         (malloc, free): Include <stdlib.h> rather than prototyping separately.
72614
72615 2007-02-20  Bruno Haible  <bruno@clisp.org>
72616
72617         * modules/stdio-tests: New file.
72618         * tests/test-stdio.c: New file.
72619
72620         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
72621         (Depends-on): Add stdio.
72622         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72623         (Include): Use <stdio.h> instead of vsnprintf.h.
72624         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72625         HAVE_DECL_VSNPRINTF.
72626         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
72627
72628         * modules/snprintf (Files): Remove lib/snprintf.h.
72629         (Depends-on): Add stdio.
72630         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72631         (Include): Use <stdio.h> instead of snprintf.h.
72632         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72633         HAVE_DECL_SNPRINTF.
72634         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
72635         * lib/getaddrinfo.c: Likewise.
72636
72637         * modules/stdio: New file.
72638         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
72639         * lib/snprintf.h: Remove file.
72640         * lib/vsnprintf.h: Remove file.
72641         * lib/.cppi-disable: Remove snprintf.h.
72642         * m4/stdio_h.m4: New file.
72643         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
72644
72645 2007-02-20  Jim Meyering  <jim@meyering.net>
72646
72647         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
72648         used by e.g., mingw.  From Bruno Haible.
72649
72650 2007-02-19  Bruno Haible  <bruno@clisp.org>
72651
72652         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
72653         warnings.
72654         Reported by Ben Pfaff <blp@cs.stanford.edu>.
72655
72656 2007-02-19  Bruno Haible  <bruno@clisp.org>
72657
72658         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
72659         from mingw users.
72660
72661 2007-02-19  Bruno Haible  <bruno@clisp.org>
72662
72663         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
72664         warnings.
72665         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
72666
72667 2007-02-19  Jim Meyering  <jim@meyering.net>
72668
72669         Don't use FD after a successful "fdopendir (fd)".
72670         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
72671         Reset it by calling dirfd on the just-obtained DIR*.
72672
72673         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
72674         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
72675
72676 2007-02-18  Bruno Haible  <bruno@clisp.org>
72677
72678         * lib/readlink.c: Include <unistd.h>.
72679         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
72680         HAVE_READLINK.
72681         * modules/readlink (Depends-on): Add unistd.
72682         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72683         (Include): Add <unistd.h>.
72684
72685         * lib/getlogin_r.h: Remove file.
72686         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
72687         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
72688         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
72689         HAVE_DECL_GETLOGIN_R.
72690         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
72691         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72692         (Include): Use <unistd.h> instead of getlogin_r.h.
72693
72694         * lib/getcwd.h: Remove file.
72695         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
72696         * lib/xgetcwd.c: Likewise.
72697         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
72698         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
72699         * modules/getcwd (Files): Remove lib/getcwd.h.
72700         (Depends-on): Add unistd.
72701         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72702         (Include): Use <unistd.h> instad of getcwd.h.
72703
72704         * lib/ftruncate.c: Include <unistd.h> first.
72705         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
72706         Set HAVE_FTRUNCATE.
72707         * modules/ftruncate (Depends-on): Add unistd.
72708         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72709
72710         * lib/fchdir.c: Include <unistd.h> first.
72711         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
72712         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
72713         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
72714         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72715         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
72716
72717         * lib/dup2.c: Include <unistd.h> first.
72718         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
72719         HAVE_DUP2.
72720         * modules/dup2 (Depends-on): Add unistd.
72721         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72722
72723         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
72724         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
72725         REPLACE_CHOWN. Don't define chown as a macro here.
72726         * modules/chown (Depends-on): Add unistd.
72727         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72728
72729         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
72730         Add definition for GL_LINK_WARNING.
72731         (chown, dup2): New declarations.
72732         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
72733         link warning.
72734         (ftruncate): New declaration.
72735         (getcwd): New declaration, taken from old getcwd.h.
72736         (getlogin_r): New declaration, taken from old getlogin_r.h.
72737         (readlink): New declaration.
72738         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
72739         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
72740         (gl_PREREQ_UNISTD): Remove macro.
72741         (gl_UNISTD_MODULE_INDICATOR): New macro.
72742         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
72743         many new variables. Don't set UNISTD_H.
72744         * modules/unistd (Description): Change.
72745         (Depends-on): Add link-warning.
72746         (configure.ac): Update.
72747         (Makefile.am): Create unistd.h always. Substitute many new variables
72748         into it.
72749
72750 2007-02-18  Bruno Haible  <bruno@clisp.org>
72751
72752         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
72753         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
72754         HAVE_GETSUBOPT.
72755         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
72756         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
72757         * lib/getsubopt.h: Remove file.
72758         * modules/getsubopt (Files): Remove lib/getsubopt.h.
72759         (Depends-on): Add stdlib.
72760         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72761         (Includes): Use <stdlib.h> instead of getsubopt.h.
72762         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
72763         Set HAVE_GETSUBOPT.
72764         * lib/getsubopt.c: Don't include getsubopt.h.
72765
72766 2007-02-18  Bruno Haible  <bruno@clisp.org>
72767
72768         * modules/fchdir (Depends-on): Add dup2.
72769
72770 2007-02-18  Bruno Haible  <bruno@clisp.org>
72771
72772         * lib/stdlib_.h: Handle glibc's special invocation convention
72773         specially.
72774
72775 2007-02-18  Bruno Haible  <bruno@clisp.org>
72776
72777         * modules/stdlib-tests: New file.
72778         * tests/test-stdlib.c: New file.
72779
72780         * modules/mkstemp (Files): Remove lib/mkstemp.h.
72781         (Depends-on): Add stdlib.
72782         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72783         (Includes): Use <stdlib.h> instead of mkstemp.h.
72784         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
72785         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
72786         * lib/mkstemp.c: Don't include mkstemp.h.
72787         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
72788         * lib/stdlib--.h: Don't include mkstemp.h.
72789
72790         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
72791         (Depends-on): Add stdlib.
72792         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
72793         (Includes): Use <stdlib.h> instead of mkdtemp.h.
72794         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
72795         HAVE_MKDTEMP.
72796         * lib/mkdtemp.c: Don't include mkdtemp.h.
72797         * lib/clean-temp.c: Don't include mkdtemp.h.
72798
72799         * modules/exit (Files): Remove lib/exit.h.
72800         (Depends-on): Add stdlib.
72801         (Makefile.am): Remove lib_SOURCES.
72802         (Include): Use <stdlib.h> instead of exit.h.
72803         * lib/argmatch.c: Don't include exit.h.
72804         * lib/execute.c: Likewise.
72805         * lib/pagealign_alloc.c: Likewise.
72806         * lib/pipe.c: Likewise.
72807         * lib/wait-process.c: Likewise.
72808         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
72809         * lib/exitfail.c: Likewise.
72810         * lib/savewd.c: Likewise.
72811         * lib/xsetenv.c: Likewise.
72812
72813         * modules/stdlib: New file.
72814         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
72815         and extra comments about mkstemp().
72816         * lib/exit.h: Remove file.
72817         * lib/mkdtemp.h: Remove file.
72818         * lib/mkstemp.h: Remove file.
72819         * m4/stdlib_h.m4: New file.
72820         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
72821
72822 2007-02-18  Bruno Haible  <bruno@clisp.org>
72823
72824         * modules/math-tests: New file.
72825         * tests/test-math.c: New file.
72826
72827         * modules/math: New file.
72828         * modules/mathl (Files): Remove lib/mathl.h.
72829         (Depends-on): Add math.
72830         (Makefile.am): Don't mention mathl.h.
72831         (Include): Use <math.h> instead of mathl.h.
72832         * lib/math_.h: New file.
72833         * lib/mathl.h: Remove file.
72834         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
72835         mathl.h.
72836         * lib/asinl.c: Likewise.
72837         * lib/atanl.c: Likewise.
72838         * lib/ceill.c: Likewise.
72839         * lib/cosl.c: Likewise.
72840         * lib/expl.c: Likewise.
72841         * lib/floorl.c: Likewise.
72842         * lib/frexpl.c: Likewise.
72843         * lib/ldexpl.c: Likewise.
72844         * lib/logl.c: Likewise.
72845         * lib/sincosl.c: Likewise.
72846         * lib/sinl.c: Likewise.
72847         * lib/sqrtl.c: Likewise.
72848         * lib/tanl.c: Likewise.
72849         * lib/trigl.c: Likewise.
72850         * m4/math_h.m4: New file.
72851         * MODULES.html.sh (Mathematics): Add math.
72852
72853 2007-02-17  Bruno Haible  <bruno@clisp.org>
72854
72855         * modules/wctype-tests: New file.
72856         * tests/test-wctype.c: New file.
72857
72858         * modules/wchar-tests: New file.
72859         * tests/test-wchar.c: New file.
72860
72861         * modules/unistd-tests: New file.
72862         * tests/test-unistd.c: New file.
72863
72864         * modules/time-tests: New file.
72865         * tests/test-time.c: New file.
72866
72867         * modules/sysexits-tests: New file.
72868         * tests/test-sysexits.c: New file.
72869
72870         * modules/sys_time-tests: New file.
72871         * tests/test-sys_time.c: New file.
72872
72873         * modules/sys_stat-tests: New file.
72874         * tests/test-sys_stat.c: New file.
72875
72876         * modules/sys_socket-tests: New file.
72877         * tests/test-sys_socket.c: New file.
72878
72879         * modules/sys_select-tests: New file.
72880         * tests/test-sys_select.c: New file.
72881
72882         * modules/string-tests: New file.
72883         * tests/test-string.c: New file.
72884
72885         * modules/stdbool-tests: New file.
72886         * tests/test-stdbool.c: New file.
72887
72888         * modules/netinet_in-tests: New file.
72889         * tests/test-netinet_in.c: New file.
72890
72891         * modules/inttypes-tests: New file.
72892         * tests/test-inttypes.c: New file.
72893
72894         * modules/fcntl-tests: New file.
72895         * tests/test-fcntl.c: New file.
72896
72897         * modules/byteswap-tests: New file.
72898         * tests/test-byteswap.c: New file.
72899
72900         * modules/arpa_inet-tests: New file.
72901         * tests/test-arpa_inet.c: New file.
72902
72903 2007-02-17  Bruno Haible  <bruno@clisp.org>
72904
72905         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
72906         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
72907         if the corresponding module is not enabled. Emit link warnings if
72908         the function is used nevertheless.
72909         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
72910         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
72911         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
72912         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
72913         * modules/inttypes (Depends-on): Add link-warning.
72914         (Makefile.am): Copy the contents of build-aux/link-warning.h into
72915         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
72916         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
72917         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
72918         * modules/imaxdiv (configure.ac): Likewise.
72919         * modules/strtoimax (configure.ac): Likewise.
72920         * modules/strtoumax (configure.ac): Likewise.
72921
72922 2007-02-17  Bruno Haible  <bruno@clisp.org>
72923
72924         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
72925         gl_STRING_MODULE_INDICATOR_DEFAULTS.
72926         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
72927         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
72928
72929 2007-02-17  Bruno Haible  <bruno@clisp.org>
72930
72931         * modules/link-warning: New file.
72932         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
72933         * lib/string_.h (GL_LINK_WARNING): Remove definition.
72934         * modules/string (Depends-on): Add link-warning.
72935         (Makefile.am): Copy the contents of build-aux/link-warning.h into
72936         string.h.
72937         * MODULES.html.sh (Support for building libraries and executables): Add
72938         link-warning.
72939
72940 2007-02-17  Bruno Haible  <bruno@clisp.org>
72941
72942         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
72943         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
72944         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
72945         long lines.
72946
72947 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
72948             Bruno Haible  <bruno@clisp.org>
72949
72950         * modules/tmpfile: New file.
72951         * lib/tmpfile.c: New file.
72952         * m4/tmpfile.m4: New file.
72953         * MODULES.html.sh (func_all_modules): New section "Input/output".
72954
72955 2007-02-15  Bruno Haible  <bruno@clisp.org>
72956
72957         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
72958         (supports_delete_on_close): New function.
72959         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
72960
72961 2007-02-14  Bruno Haible  <bruno@clisp.org>
72962
72963         * modules/mbspcasecmp-tests: New file.
72964         * tests/test-mbspcasecmp.sh: New file.
72965         * tests/test-mbspcasecmp.c: New file.
72966
72967         New module mbspcasecmp.
72968         * modules/mbspcasecmp: New file.
72969         * lib/mbspcasecmp.c: New file.
72970         * lib/string_.h (strncasecmp): Change warning message.
72971         (mbspcasecmp): New declaration.
72972         * m4/mbspcasecmp.m4: New file.
72973         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72974         GNULIB_MBSPCASECMP.
72975         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
72976         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
72977
72978 2007-02-14  Bruno Haible  <bruno@clisp.org>
72979
72980         * modules/mbsncasecmp-tests: New file.
72981         * tests/test-mbsncasecmp.sh: New file.
72982         * tests/test-mbsncasecmp.c: New file.
72983
72984         New module mbsncasecmp.
72985         * modules/mbsncasecmp: New file.
72986         * lib/mbsncasecmp.c: New file.
72987         * lib/string_.h (mbsncasecmp): New declaration.
72988         * m4/mbsncasecmp.m4: New file.
72989         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
72990         GNULIB_MBSNCASECMP.
72991         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
72992         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
72993
72994 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
72995
72996         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
72997         Verify that it doesn't overlap with our flags.
72998         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
72999         do not have the desired effect in multibyte locales; instead, use
73000         mbscasecmp.
73001         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
73002         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
73003         we don't require GNU fnmatch ourselves (if our users require it, they
73004         should do so explicitly).
73005
73006         Fix regex code so it doesn't rely on strcasecmp.
73007         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
73008         Otherwise, include gnulib's langinfo.h.
73009         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
73010         undesirable behavior in non-C locales.  Instead, rely on localecharset.
73011         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
73012         * modules/regex (FILES): Remove m4/codeset.m4.
73013         (Depends-on): Add localcharset.  Remove strcase.
73014
73015 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73016
73017         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
73018         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
73019
73020 2007-02-13  Bruno Haible  <bruno@clisp.org>
73021
73022         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
73023         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73024
73025 2007-02-12  Bruno Haible  <bruno@clisp.org>
73026
73027         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
73028         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
73029         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
73030         time warning rather than a link error.
73031
73032 2007-02-12  Bruno Haible  <bruno@clisp.org>
73033
73034         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
73035         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
73036         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73037
73038 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73039
73040         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
73041         args, not 2.
73042
73043 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73044
73045         New module 'time', so that apps can include <time.h> as per
73046         POSIX and GNU instead of separate include files like time_r.h
73047         and timegm.h.  This implementation tries out a simpler approach
73048         for replacing decls in standard include files (as compared to
73049         the string module), somewhat as an experiment.
73050
73051         * config/srclist.txt: Comment out mktime.c for now.
73052         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
73053         since it doesn't apply any more.  Use generic wording instead.
73054         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
73055         'time'.
73056         * lib/time_.h, m4/time_h.m4, modules/time: New files.
73057         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
73058         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
73059         Don't include <sys/types.h>; no longer needed since we assume C89.
73060         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
73061         * lib/strftime.c: Likewise.
73062         * lib/time_r.c: Likewise.
73063         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
73064         * lib/nanosleep.c: Include <time.h> first, to check interface.
73065         * lib/strptime.c: Likewise.
73066         * lib/time_r.c: Likewise.
73067         * lib/timegm.c: Likewise.
73068         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
73069         needed.
73070         * lib/timegm.c: Don't include timegm.h; no longer needed.
73071         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
73072         time.h now handles any problems in that area.
73073         (struct timespec, nanosleep): Remove; time.h now arranges for these.
73074         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
73075         that time.h defines struct timespec.
73076         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
73077         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
73078         handles that.
73079         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
73080         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
73081         needed.  Set REPLACE_LOCALTIME.
73082         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
73083         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
73084         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
73085         nanosleep; time_h.m4 now does that.  Don't require
73086         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
73087         module handles this now.
73088         * modules/getdate (Depends-on): Remove timespec.  Add time.
73089         * modules/nanosleep (Depends-on): Likewise.
73090         * modules/stat-time (Depends-on): Likewise.
73091         * modules/nanosleep (Include): Include time.h, not timespec.h.
73092         * modules/strptime (Files): Remove lib/strptime.h.
73093         (Depends-on): Add extensions, time.
73094         (Include): Include time.h, not strptime.h.
73095         * modules/time_r (Files): Remove lib/time_r.h.
73096         (Depends-on): Add time.
73097         (Include): Include time.h, not time_r.h.
73098         * modules/timegm: Likewise.
73099         * modules/timespec (Description): Now does timespec-related decls
73100         of our own, instead of struct timespec itself.
73101         (Depends-on): Add time; remove extensions.
73102         (Maintainer): Add self.
73103         * modules/utimecmp (Depends-on): Add time; remove timespec.
73104         * modules/utimens (Depends-on): Likewise.
73105         * modules/xnanosleep (Depends-on): Likewise.
73106
73107 2007-02-11  Bruno Haible  <bruno@clisp.org>
73108
73109         * lib/c-strstr.c: Include allocsa.h.
73110         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73111         * lib/c-strcasestr.c: Include allocsa.h.
73112         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73113         * lib/strcasestr.c: Include allocsa.h.
73114         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73115         * lib/mbsstr.c: Include allocsa.h.
73116         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73117         allocsa/freesa instead of malloc/free.
73118         * lib/mbscasestr.c: Include allocsa.h.
73119         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73120         allocsa/freesa instead of malloc/free.
73121         * modules/c-strstr (Depends-on): Add allocsa.
73122         * modules/c-strcasestr (Depends-on): Likewise.
73123         * modules/strcasestr (Depends-on): Likewise.
73124         * modules/mbsstr (Depends-on): Likewise.
73125         * modules/mbscasestr (Depends-on): Likewise.
73126
73127 2007-02-11  Bruno Haible  <bruno@clisp.org>
73128
73129         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
73130
73131         * modules/mbsspn-tests: New file.
73132         * tests/test-mbsspn.sh: New file.
73133         * tests/test-mbsspn.c: New file.
73134
73135 2007-02-11  Bruno Haible  <bruno@clisp.org>
73136
73137         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
73138
73139         * modules/mbspbrk-tests: New file.
73140         * tests/test-mbspbrk.sh: New file.
73141         * tests/test-mbspbrk.c: New file.
73142
73143 2007-02-11  Bruno Haible  <bruno@clisp.org>
73144
73145         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
73146         unneeded cast.
73147
73148         * modules/mbscspn-tests: New file.
73149         * tests/test-mbscspn.sh: New file.
73150         * tests/test-mbscspn.c: New file.
73151
73152 2007-02-11  Bruno Haible  <bruno@clisp.org>
73153
73154         * modules/mbscasecmp-tests: New file.
73155         * tests/test-mbscasecmp.sh: New file.
73156         * tests/test-mbscasecmp.c: New file.
73157
73158 2007-02-11  Bruno Haible  <bruno@clisp.org>
73159
73160         Ensure O(n) worst-case complexity of mbscasestr.
73161         * lib/mbscasestr.c: Include stdbool.h.
73162         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73163         functions.
73164         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
73165         the bookkeeping indicates that it's worth it.
73166         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
73167
73168         * modules/mbscasestr-tests: New file.
73169         * tests/test-mbscasestr1.c: New file.
73170         * tests/test-mbscasestr2.sh: New file.
73171         * tests/test-mbscasestr2.c: New file.
73172         * tests/test-mbscasestr3.sh: New file.
73173         * tests/test-mbscasestr3.c: New file.
73174         * tests/test-mbscasestr4.sh: New file.
73175         * tests/test-mbscasestr4.c: New file.
73176         * m4/locale-tr.m4: New file.
73177
73178 2007-02-11  Bruno Haible  <bruno@clisp.org>
73179
73180         Ensure O(n) worst-case complexity of mbsstr.
73181         * lib/mbsstr.c: Include stdbool.h.
73182         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73183         functions.
73184         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
73185         bookkeeping indicates that it's worth it.
73186         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
73187
73188         * modules/mbsstr-tests: New file.
73189         * tests/test-mbsstr1.c: New file.
73190         * tests/test-mbsstr2.sh: New file.
73191         * tests/test-mbsstr2.c: New file.
73192         * tests/test-mbsstr3.sh: New file.
73193         * tests/test-mbsstr3.c: New file.
73194         * m4/locale-fr.m4: New file.
73195
73196 2007-02-11  Bruno Haible  <bruno@clisp.org>
73197
73198         * lib/mbsrchr.c (mbsrchr): Fix bug.
73199
73200         * modules/mbsrchr-tests: New file.
73201         * tests/test-mbsrchr.sh: New file.
73202         * tests/test-mbsrchr.c: New file.
73203
73204 2007-02-11  Bruno Haible  <bruno@clisp.org>
73205
73206         * lib/mbschr.c (mbschr): Fix bug.
73207
73208         * modules/mbschr-tests: New file.
73209         * tests/test-mbschr.sh: New file.
73210         * tests/test-mbschr.c: New file.
73211         * m4/locale-zh.m4: New file.
73212
73213 2007-02-11  Bruno Haible  <bruno@clisp.org>
73214
73215         Support for copying multibyte string iterators.
73216         * lib/mbiter.h: Include <string.h>.
73217         (mbiter_multi_copy): New function.
73218         (mbi_copy): New macro.
73219         * lib/mbuiter.h: Include <string.h>.
73220         (mbuiter_multi_copy): New function.
73221         (mbui_copy): New macro.
73222
73223 2007-02-11  Bruno Haible  <bruno@clisp.org>
73224
73225         New module mbslen.
73226         * modules/mbslen: New file.
73227         * lib/mbslen.c: New file.
73228         * lib/string_.h (mbslen): New declaration.
73229         * m4/mbslen.m4: New file.
73230         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73231         GNULIB_MBSLEN.
73232         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
73233         * MODULES.html.sh (Internationalization functions): Add mbslen.
73234
73235 2007-02-11  Bruno Haible  <bruno@clisp.org>
73236
73237         Ensure O(n) worst-case complexity of strcasestr substitute.
73238         * lib/strcasestr.c: Include stdbool.h.
73239         (knuth_morris_pratt): New function.
73240         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73241         bookkeeping indicates that it's worth it.
73242         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
73243
73244         * modules/strcasestr-tests: New file.
73245         * tests/test-strcasestr.c: New file.
73246
73247 2007-02-11  Bruno Haible  <bruno@clisp.org>
73248
73249         Ensure O(n) worst-case complexity of c_strcasestr.
73250         * lib/c-strcasestr.c: Include stdbool.h, string.h.
73251         (knuth_morris_pratt): New function.
73252         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
73253         the bookkeeping indicates that it's worth it.
73254         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
73255
73256         * modules/c-strcasestr-tests: New file.
73257         * tests/test-c-strcasestr.c: New file.
73258
73259 2007-02-11  Bruno Haible  <bruno@clisp.org>
73260
73261         Ensure O(n) worst-case complexity of c_strstr.
73262         * lib/c-strstr.c: Include stdbool.h, string.h.
73263         (knuth_morris_pratt): New function.
73264         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73265         bookkeeping indicates that it's worth it.
73266         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
73267
73268         * lib/c-strstr.c: Complete rewrite for maintainability.
73269
73270         * modules/c-strstr-tests: New file.
73271         * tests/test-c-strstr.c: New file.
73272
73273 2007-02-11  Bruno Haible  <bruno@clisp.org>
73274
73275         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
73276         5.2.1 and earlier, whereby \055 was treated just like the range
73277         delimiter '-'.
73278         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
73279
73280 2007-02-08  Bruno Haible  <bruno@clisp.org>
73281
73282         * modules/regex (Depends-on): Add stdbool.
73283         Reported by Dalibor Topic <robilad@kaffe.org>.
73284
73285 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
73286
73287         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
73288         Prefer returning from main to exiting from it.
73289         Remove unnecessary parens after sizeof.
73290
73291 2007-02-05  Bruno Haible  <bruno@clisp.org>
73292
73293         New module mbssep.
73294         * modules/mbssep: New file.
73295         * lib/mbssep.c: New file.
73296         * lib/string_.h (strsep): Add a conditional link warning.
73297         (mbssep): New declaration.
73298         * m4/mbssep.m4: New file.
73299         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73300         GNULIB_MBSSEP.
73301         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
73302         * MODULES.html.sh (Internationalization functions): Add mbssep.
73303
73304 2007-02-05  Bruno Haible  <bruno@clisp.org>
73305
73306         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
73307         Optimize search in case of 1 delimiter.
73308
73309 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73310
73311         * lib/acl.h: Include sys/types.h before sys/acl.h.
73312
73313 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73314
73315         Merge upstream fix for glibc bugzilla #3957:
73316
73317         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
73318
73319         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
73320         bit for RE_HAT_LISTS_NOT_NEWLINE.
73321         (build_charclass_op): Remove bogus comment.
73322
73323 2007-02-05  Simon Josefsson  <simon@josefsson.org>
73324
73325         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
73326
73327 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73328
73329         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
73330         * lib/memmem.c [!defined _LIBC]: Include config.h.
73331
73332 2007-02-04  Bruno Haible  <bruno@clisp.org>
73333
73334         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
73335         warning message.
73336
73337 2007-02-04  Bruno Haible  <bruno@clisp.org>
73338
73339         New module mbstok_r.
73340         * modules/mbstok_r: New file.
73341         * lib/mbstok_r.c: New file.
73342         * lib/string_.h (strtok_r): Change argument names to match the
73343         comments. Add a conditional link warning.
73344         (mbstok_r): New declaration.
73345         * m4/mbstok_r.m4: New file.
73346         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73347         GNULIB_MBSTOK_R.
73348         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
73349         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
73350
73351 2007-02-04  Bruno Haible  <bruno@clisp.org>
73352
73353         New module mbsspn.
73354         * modules/mbsspn: New file.
73355         * lib/mbsspn.c: New file.
73356         * lib/string_.h (strspn): Add a conditional link warning.
73357         (mbsspn): New declaration.
73358         * m4/mbsspn.m4: New file.
73359         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73360         GNULIB_MBSSPN.
73361         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
73362         * MODULES.html.sh (Internationalization functions): Add mbsspn.
73363
73364 2007-02-04  Bruno Haible  <bruno@clisp.org>
73365
73366         New module mbspbrk.
73367         * modules/mbspbrk: New file.
73368         * lib/mbspbrk.c: New file.
73369         * lib/string_.h (strpbrk): Add a conditional link warning.
73370         (mbspbrk): New declaration.
73371         * m4/mbspbrk.m4: New file.
73372         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73373         GNULIB_MBSPBRK.
73374         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
73375         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
73376
73377 2007-02-04  Bruno Haible  <bruno@clisp.org>
73378
73379         New module mbscspn.
73380         * modules/mbscspn: New file.
73381         * lib/mbscspn.c: New file.
73382         * lib/string_.h (strcspn): Add a conditional link warning.
73383         (mbscspn): New declaration.
73384         * m4/mbscspn.m4: New file.
73385         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73386         GNULIB_MBSCSPN.
73387         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
73388         * MODULES.html.sh (Internationalization functions): Add mbscspn.
73389
73390 2007-02-04  Bruno Haible  <bruno@clisp.org>
73391
73392         New module mbscasestr, reduced goal of strcasestr.
73393         * modules/mbscasestr: New file.
73394         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
73395         (mbscasestr): Renamed from strcasestr.
73396         * lib/strcasestr.c: Don't include mbuiter.h.
73397         (strcasestr): Remove support for multibyte locales.
73398         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
73399         Change the conditional link warning.
73400         (mbscasestr): New declaration.
73401         * m4/mbscasestr.m4: New file.
73402         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
73403         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
73404         REPLACE_STRCASESTR.
73405         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
73406         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73407         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73408         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
73409         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
73410         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73411         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
73412         (Depends-on): Remove mbuiter.
73413         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
73414
73415 2007-02-04  Bruno Haible  <bruno@clisp.org>
73416
73417         Simplify handling of strncasecmp.
73418         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
73419         the conditional link warning.
73420         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73421         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
73422         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
73423         * modules/strcase (configure.ac): Don't invoke
73424         gl_STRING_MODULE_INDICATOR.
73425         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
73426
73427 2007-02-04  Bruno Haible  <bruno@clisp.org>
73428
73429         New module mbscasecmp, reduced goal of strcasecmp.
73430         * modules/mbscasecmp: New file.
73431         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
73432         (mbscasecmp): Renamed from strcasecmp.
73433         * lib/strcasecmp.c: Don't include mbuiter.h.
73434         (strcasecmp): Remove support for multibyte locales.
73435         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
73436         Change the conditional link warning.
73437         (mbscasecmp): New declaration.
73438         * m4/mbscasecmp.m4: New file.
73439         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
73440         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
73441         REPLACE_STRCASECMP.
73442         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
73443         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73444         GNULIB_MBSCASECMP.
73445         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
73446         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
73447         * modules/strcase (Files): Remove m4/mbrtowc.m4.
73448         (Depends-on): Remove mbuiter.
73449         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
73450
73451 2007-02-04  Bruno Haible  <bruno@clisp.org>
73452
73453         New module mbsstr. Remove module strstr.
73454         * modules/mbsstr: New file.
73455         * modules/strstr: Remove file.
73456         * lib/mbsstr.c: Renamed from lib/strstr.c.
73457         (mbsstr): Renamed from strstr.
73458         * lib/string_.h (strstr): Remove declaration. Change the conditional
73459         link warning.
73460         (mbsstr): New declaration.
73461         * m4/mbsstr.m4: New file.
73462         * m4/strstr.m4: Remove file.
73463         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
73464         REPLACE_STRSTR.
73465         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
73466         Don't initialize GNULIB_STRSTR.
73467         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
73468         substitute GNULIB_STRSTR and REPLACE_STRSTR.
73469         * MODULES.html.sh (Internationalization functions): Add mbsstr.
73470         (Support for systems lacking ANSI C 89): Remove strstr.
73471
73472 2007-02-04  Bruno Haible  <bruno@clisp.org>
73473
73474         New module mbsrchr.
73475         * modules/mbsrchr: New file.
73476         * lib/mbsrchr.c: New file.
73477         * lib/string_.h (strrchr): Add a conditional link warning.
73478         (mbsrchr): New declaration.
73479         * m4/mbsrchr.m4: New file.
73480         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73481         GNULIB_MBSRCHR.
73482         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
73483         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
73484
73485 2007-02-04  Bruno Haible  <bruno@clisp.org>
73486
73487         New module mbschr.
73488         * modules/mbschr: New file.
73489         * lib/mbschr.c: New file.
73490         * lib/string_.h (strchr): Add a conditional link warning.
73491         (mbschr): New declaration.
73492         * m4/mbschr.m4: New file.
73493         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73494         GNULIB_MBSCHR.
73495         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
73496         * MODULES.html.sh (Internationalization functions): Add mbschr.
73497
73498 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73499
73500         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
73501
73502         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
73503
73504 2007-02-04  Bruno Haible  <bruno@clisp.org>
73505
73506         New module description section 'configure.ac-early'.
73507         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
73508         (func_get_autoconf_early_snippet): New function.
73509         (func_import, func_create_testdir): Use it. Remove special cases for
73510         modules 'extensions' and 'lock'.
73511         * modules/extensions (configure.ac-early): Require
73512         gl_USE_SYSTEM_EXTENSIONS.
73513         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
73514
73515 2007-02-04  Bruno Haible  <bruno@clisp.org>
73516
73517         Make use of gcj-4.3's -fsource and -ftarget option.
73518         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
73519         and if so try the options -fsource and -ftarget.
73520         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
73521         source_version, ftarget_option, target_version arguments.
73522         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
73523         (is_envjavac_oldgcj_14_14_usable): Renamed from
73524         is_envjavac_gcj_14_14_usable.
73525         (is_envjavac_oldgcj_14_13_usable): Renamed from
73526         is_envjavac_gcj_14_13_usable.
73527         (is_gcj_present): Update.
73528         (is_gcj_43, is_gcj43_usable): New functions.
73529         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
73530         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
73531         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
73532         try the options -fsource and -ftarget.
73533
73534 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
73535
73536         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
73537         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
73538         larger value.
73539
73540 2007-02-03  Jim Meyering  <jim@meyering.net>
73541
73542         Give tools a better chance to allocate space for very large buffers.
73543         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
73544
73545         Make pwd and readlink work also when run with an unreadable parent dir
73546         on systems with openat support.
73547         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
73548         provided getcwd function, even when we have openat support.
73549         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
73550
73551 2007-02-02  Bruno Haible  <bruno@clisp.org>
73552
73553         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
73554         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
73555         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
73556         portability problems if one of these functions is only used on specific
73557         platforms.
73558         Reported by Paul Eggert.
73559
73560 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
73561
73562         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
73563         is causing more trouble than it's curing.
73564         * lib/regex_internal.h (__mempcpy): Remove.
73565         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
73566         (and make the code a tad smaller to boot).
73567         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
73568
73569 2007-02-02  Jim Meyering  <jim@meyering.net>
73570
73571         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
73572         section, not in the Makefile.am: one.
73573
73574 2007-02-02  Eric Blake  <ebb9@byu.net>
73575
73576         * lib/strchrnul.c: Always include config.h first.
73577
73578         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
73579         gnulib strstr is not necessary here.
73580
73581 2007-02-02  Simon Josefsson  <simon@josefsson.org>
73582
73583         * m4/socklen.m4: Fix typo.
73584
73585 2007-02-02  Eric Blake  <ebb9@byu.net>
73586
73587         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
73588         * modules/netinet_in (Makefile.am): Likewise.
73589
73590 2007-02-01  Bruno Haible  <bruno@clisp.org>
73591
73592         * lib/string_.h (GL_LINK_WARNING): New macro.
73593         (strcasecmp, strstr, strcasestr): If provided by the system,
73594         conditionally define as a macro that leads to a warning instead of to
73595         an error.
73596         (strncasecmp): Conditionally define as a macro that leads to a warning.
73597
73598 2007-02-01  Karl Berry  <karl@gnu.org>
73599
73600         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
73601
73602 2007-02-01  Bruno Haible  <bruno@clisp.org>
73603
73604         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
73605         renamings.
73606
73607 2007-02-01  Eric Blake  <ebb9@byu.net>
73608
73609         * modules/regex (Depends-on): Revert dependence on mempcpy.
73610         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
73611         module's definition of mempcpy.
73612         Reported by Paul Eggert.
73613
73614 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
73615
73616         * lib/string_.h: If the gnulib module XYZ is not present, undefine
73617         the symbol XYZ before redefining it.  This fixes a problem with
73618         programs that don't use XYZ, when compiled on systems that define
73619         XYZ to something else.
73620
73621 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
73622
73623         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
73624         occurs when "mkdir -m foo" creates a setgid directory that is (1)
73625         writeable to group or other and (2) is intended to have a special
73626         mode bit that is set or cleared.  In such a case, the directory
73627         should be neither group- nor other-writeable until the special
73628         mode bits are right.
73629
73630 2007-01-31  Eric Blake  <ebb9@byu.net>
73631
73632         * modules/mountlist (Depends-on): Add strstr.
73633
73634         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
73635         bug.
73636         * modules/string (Makefile.am): Remove redundant replacement.
73637         * modules/regex (Depends-on): Add mempcpy.
73638
73639 2007-01-31  Bruno Haible  <bruno@clisp.org>
73640
73641         New module description field 'Link'.
73642         * gnulib-tool (func_usage): Document --extract-link-directive.
73643         (sed_extract_prog): Recognize 'Link' directive.
73644         (func_get_link_directive): New function.
73645         (func_import): Show summary of link directives.
73646         Handle --extract-link-directive option.
73647         * modules/acl (Link): New section.
73648         * modules/clock-time (Link): New section.
73649         * modules/euidaccess (Link): New section.
73650         * modules/gettext (Link): New section.
73651         * modules/iconv (Link): New section.
73652         * modules/lock (Link): New section.
73653         * modules/nanosleep (Link): New section.
73654         * modules/readline (Link): New section.
73655
73656 2007-01-27  Bruno Haible  <bruno@clisp.org>
73657
73658         Enforce the use of gnulib modules for unportable <string.h> functions.
73659         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
73660         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
73661         (gl_HEADER_STRING_H_BODY): Require it.
73662         * lib/string_.h: If the gnulib module XYZ is not present, redefine
73663         the symbol XYZ to one that gives a link error.
73664         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
73665         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
73666         * modules/mempcpy (configure.ac): Likewise.
73667         * modules/memrchr (configure.ac): Likewise.
73668         * modules/stpcpy (configure.ac): Likewise.
73669         * modules/stpncpy (configure.ac): Likewise.
73670         * modules/strcase (configure.ac): Likewise.
73671         * modules/strcasestr (configure.ac): Likewise.
73672         * modules/strchrnul (configure.ac): Likewise.
73673         * modules/strdup (configure.ac): Likewise.
73674         * modules/strndup (configure.ac): Likewise.
73675         * modules/strnlen (configure.ac): Likewise.
73676         * modules/strpbrk (configure.ac): Likewise.
73677         * modules/strsep (configure.ac): Likewise.
73678         * modules/strstr (configure.ac): Likewise.
73679         * modules/strtok_r (configure.ac): Likewise.
73680
73681 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
73682
73683         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
73684
73685 2007-01-30  Jim Meyering  <jim@meyering.net>
73686
73687         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
73688
73689 2007-01-29  Bruno Haible  <bruno@clisp.org>
73690
73691         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
73692         * lib/execute.c: Likewise.
73693         * lib/pipe.c: Likewise.
73694         * lib/printf-args.h: Likewise.
73695         * lib/printf-args.c: Likewise.
73696         * lib/printf-parse.c: Likewise.
73697         * lib/vasnprintf.c: Likewise.
73698
73699 2007-01-29  Eric Blake  <ebb9@byu.net>
73700
73701         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
73702         declaration.
73703
73704 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
73705
73706         * lib/strptime.h (strptime): Use 'restrict' for args where
73707         POSIX requires this.
73708         * lib/strptime.c (strptime): Likewise.
73709         Change license notice from LGPL to GPL, since gnulib-tool will
73710         change this as needed.
73711         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
73712         defined.
73713         Include "strptime.h" first, to check interface.
73714         Do not #undef _LIBC and _NL_CURRENT.
73715         Do not include <stdlib.h>; no longer needed.
73716         Include "time_r.h" and declare ptime_locale_status
73717         only if _LIBC is not defined.
73718         (__P): Remove unused macro.
73719         (match_string): Bring back glibc version, but use it only if _LIBC
73720         is defined.
73721         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
73722         Remove unnecessary assertion and abort() call.
73723         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
73724         * m4/strptime.m4: Fix serial number comment.
73725         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
73726         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
73727         (Depends-on): Add time_r.
73728
73729 2007-01-29  Bruno Haible  <bruno@clisp.org>
73730
73731         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
73732         strptime.
73733         * modules/strptime (Depends-on): Add stdbool.
73734         * lib/strptime.h: Include <time.h> always. Add comments.
73735
73736 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
73737
73738         * modules/strptime: New file.
73739         * lib/strptime.h: New file.
73740         * lib/strptime.c: New file.
73741         * m4/strptime.m4: New file.
73742
73743 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
73744
73745         * MODULES.html.sh: New module mpsort.
73746         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
73747
73748         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
73749         a circularity problem with HP-UX ia64 reported by Bob Proulx in
73750         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
73751         All uses changed.
73752         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
73753         All uses changed.
73754         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
73755         to _Restrict_.
73756         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
73757         the parameter matches the prototype.
73758
73759 2007-01-28  Jim Meyering  <jim@meyering.net>
73760
73761         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
73762         sys/time.h here, reverting that part of the previous patch:
73763         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
73764
73765 2007-01-28  Bruno Haible  <bruno@clisp.org>
73766
73767         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
73768         value of $(SYS_TIME_H).
73769         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
73770         remove it conditionally, too. [added by Jim Meyering]
73771         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
73772         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
73773         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
73774         GETTIMEOFDAY_REPLACEMENT to 1.
73775
73776 2007-01-28  Bruno Haible  <bruno@clisp.org>
73777
73778         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
73779         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
73780         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
73781         Set UNISTD_H instead of UNISTD_H2.
73782         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
73783
73784 2007-01-28  Bruno Haible  <bruno@clisp.org>
73785
73786         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
73787         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
73788
73789 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73790
73791         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
73792         (func_create_testdir): Ensure C locale for `grep' and `tr'
73793         character ranges.
73794         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
73795         ACLOCAL_AMFLAGS parsing state machine.
73796
73797 2007-01-27  Bruno Haible  <bruno@clisp.org>
73798
73799         * modules/unistr/base: Update.
73800
73801 2007-01-27  Bruno Haible  <bruno@clisp.org>
73802
73803         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
73804         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
73805         * modules/unistr/u32-mbtouc-unsafe: Renamed from
73806         modules/unistr/u32-mbtouc.
73807         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
73808         * lib/unistr.h: Update.
73809         * lib/linebreak.c: Update.
73810         * modules/unistr/u32-mbtouc: Renamed from
73811         modules/unistr/u32-mbtouc-safe.
73812         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
73813         * lib/unistr.h: Update.
73814         * lib/unistr/u32-to-u8.c: Update.
73815         * lib/unistr/u32-to-u16.c: Update.
73816
73817 2007-01-27  Bruno Haible  <bruno@clisp.org>
73818
73819         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
73820         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
73821         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
73822         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
73823         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
73824         * modules/unistr/u16-mbtouc-unsafe: Renamed from
73825         modules/unistr/u16-mbtouc.
73826         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
73827         * lib/unistr.h: Update.
73828         * lib/linebreak.c: Update.
73829         * modules/linebreak: Update.
73830         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
73831         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
73832         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
73833         * modules/unistr/u16-mbtouc: Renamed from
73834         modules/unistr/u16-mbtouc-safe.
73835         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
73836         * lib/unistr.h: Update.
73837         * lib/unistr/u16-to-u8.c: Update.
73838         * modules/unistr/u16-to-u8: Update.
73839         * lib/unistr/u16-to-u32.c: Update.
73840         * modules/unistr/u16-to-u32: Update.
73841
73842 2007-01-27  Bruno Haible  <bruno@clisp.org>
73843
73844         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
73845         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
73846         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
73847         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
73848         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
73849         * modules/unistr/u8-mbtouc-unsafe: Renamed from
73850         modules/unistr/u8-mbtouc.
73851         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
73852         * lib/unistr.h: Update.
73853         * lib/striconveh.c: Update.
73854         * modules/striconveh: Update.
73855         * lib/linebreak.c: Update.
73856         * modules/linebreak: Update.
73857         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
73858         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
73859         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
73860         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
73861         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
73862         * lib/unistr.h: Update.
73863         * lib/striconveh.c: Update.
73864         * modules/striconveh: Update.
73865         * lib/unistr/u8-to-u16.c: Update.
73866         * modules/unistr/u8-to-u16: Update.
73867         * lib/unistr/u8-to-u32.c: Update.
73868         * modules/unistr/u8-to-u32: Update.
73869
73870 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73871
73872         Sync from Libtool.
73873         * lib/argz.c: Do not include strings.h nor memory.h, include
73874         string.h unconditionally.  Patch by Simon Josefsson.
73875
73876 2007-01-27  Bruno Haible  <bruno@clisp.org>
73877
73878         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
73879         from gl_HEADER_STRING_H_BODY.
73880         (gl_HEADER_STRING_H_BODY): Require it.
73881         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
73882         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
73883         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
73884         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
73885         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
73886         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
73887         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
73888         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
73889         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
73890         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
73891         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
73892         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
73893         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
73894         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
73895         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
73896
73897 2007-01-27  Bruno Haible  <bruno@clisp.org>
73898
73899         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
73900         check_PROGRAMS into noinst_PROGRAMS.
73901         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
73902         check_PROGRAMS in this case.
73903         (func_import): Set for_test to false.
73904         (func_create_testdir): Set for_test to true.
73905
73906 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
73907             Bruno Haible  <bruno@clisp.org>
73908
73909         * modules/strcasestr (Files): Remove lib/strcasestr.h.
73910         (Depends-on): Add string.
73911         (Includes): Use <string.h> instead of strcasestr.h.
73912         * modules/string (Makefile.am): Also substitute the value of
73913         REPLACE_STRCASESTR.
73914         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
73915         assume strcasestr is declared in <string.h> not <strings.h>. Also
73916         set REPLACE_STRCASESTR.
73917         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
73918         REPLACE_STRCASESTR.
73919         * lib/strcasestr.h: Remove file.
73920         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
73921         * lib/string_.h (strcasestr): New declaration.
73922
73923 2007-01-27  Bruno Haible  <bruno@clisp.org>
73924
73925         * lib/string_.h: Use 'extern'.
73926
73927 2007-01-27  Jim Meyering  <jim@meyering.net>
73928
73929         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
73930         of set-but-not-used local, "q".
73931
73932         * lib/mempcpy.c: Include <config.h> before <string.h>.
73933         This fixes a compilation error on HP-UX, due to the system's
73934         "restrict"-using mempcpy prototype.
73935
73936 2007-01-26  Bruno Haible  <bruno@clisp.org>
73937
73938         Small optimization.
73939         * lib/javacomp.c: Include c-strstr.h.
73940          (is_envjavac_gcj): Use c_strstr instead of strstr.
73941         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
73942
73943 2007-01-26  Bruno Haible  <bruno@clisp.org>
73944
73945         * MODULES.html.sh (Unicode string functions): Add the new modules.
73946
73947         * modules/uniconv/u32-strconv-to-locale: New file.
73948         * lib/uniconv/u32-strconv-to-locale.c: New file.
73949
73950         * modules/uniconv/u16-strconv-to-locale: New file.
73951         * lib/uniconv/u16-strconv-to-locale.c: New file.
73952
73953         * modules/uniconv/u8-strconv-to-locale: New file.
73954         * lib/uniconv/u8-strconv-to-locale.c: New file.
73955
73956         * modules/uniconv/u32-strconv-from-locale: New file.
73957         * lib/uniconv/u32-strconv-from-locale.c: New file.
73958
73959         * modules/uniconv/u16-strconv-from-locale: New file.
73960         * lib/uniconv/u16-strconv-from-locale.c: New file.
73961
73962         * modules/uniconv/u8-strconv-from-locale: New file.
73963         * lib/uniconv/u8-strconv-from-locale.c: New file.
73964
73965         * modules/uniconv/u32-strconv-to-enc: New file.
73966         * lib/uniconv/u32-strconv-to-enc.c: New file.
73967         * modules/uniconv/u32-strconv-to-enc-tests: New file.
73968         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
73969
73970         * modules/uniconv/u16-strconv-to-enc: New file.
73971         * lib/uniconv/u16-strconv-to-enc.c: New file.
73972         * lib/uniconv/u-strconv-to-enc.h: New file.
73973         * modules/uniconv/u16-strconv-to-enc-tests: New file.
73974         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
73975
73976         * modules/uniconv/u8-strconv-to-enc: New file.
73977         * lib/uniconv/u8-strconv-to-enc.c: New file.
73978         * modules/uniconv/u8-strconv-to-enc-tests: New file.
73979         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
73980
73981         * modules/uniconv/u32-strconv-from-enc: New file.
73982         * lib/uniconv/u32-strconv-from-enc.c: New file.
73983         * modules/uniconv/u32-strconv-from-enc-tests: New file.
73984         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
73985
73986         * modules/uniconv/u16-strconv-from-enc: New file.
73987         * lib/uniconv/u16-strconv-from-enc.c: New file.
73988         * modules/uniconv/u16-strconv-from-enc-tests: New file.
73989         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
73990
73991         * modules/uniconv/u8-strconv-from-enc: New file.
73992         * lib/uniconv/u8-strconv-from-enc.c: New file.
73993         * lib/uniconv/u-strconv-from-enc.h: New file.
73994         * modules/uniconv/u8-strconv-from-enc-tests: New file.
73995         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
73996
73997         * modules/uniconv/u32-conv-from-enc: New file.
73998         * lib/uniconv/u32-conv-from-enc.c: New file.
73999         * modules/uniconv/u32-conv-from-enc-tests: New file.
74000         * tests/uniconv/test-u32-conv-from-enc.c: New file.
74001
74002         * modules/uniconv/u16-conv-from-enc: New file.
74003         * lib/uniconv/u16-conv-from-enc.c: New file.
74004         * lib/uniconv/u-conv-from-enc.h: New file.
74005         * modules/uniconv/u16-conv-from-enc-tests: New file.
74006         * tests/uniconv/test-u16-conv-from-enc.c: New file.
74007
74008         * modules/uniconv/u8-conv-from-enc: New file.
74009         * lib/uniconv/u8-conv-from-enc.c: New file.
74010         * modules/uniconv/u8-conv-from-enc-tests: New file.
74011         * tests/uniconv/test-u8-conv-from-enc.c: New file.
74012
74013         * modules/uniconv/base: New file.
74014         * lib/uniconv.h: New file.
74015
74016 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
74017
74018         * doc/gnulib-tool.texi (Initial import): Update to match current
74019         behavior with strdup module.
74020         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
74021         * lib/memmem.h: Remove; all uses removed.  This is now done
74022         by <string.h>.
74023         * lib/mempcpy.h: Likewise.
74024         * lib/memrchr.h: Likewise.
74025         * lib/stpcpy.h: Likewise.
74026         * lib/stpncpy.h: Likewise.
74027         * lib/strcase.h: Likewise.
74028         * lib/strchrnul.h: Likewise.
74029         * lib/strdup.h: Likewise.
74030         * lib/strndup.h: Likewise.
74031         * lib/strnlen.h: Likewise.
74032         * lib/strpbrk.h: Likewise.
74033         * lib/strsep.h: Likewise.
74034         * lib/strstr.h: Likewise.
74035         * lib/strtok_r.h: Likewise.
74036         * lib/string_.h: New file.
74037         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
74038         Rely on <string.h> instead.
74039         * lib/canon-host.c: Likewise.
74040         * lib/chdir-long.c: Likewise.
74041         * lib/concatpath.c: Likewise.
74042         * lib/exclude.c: Likewise.
74043         * lib/fchdir.c: Likewise.
74044         * lib/getaddrinfo.c: Likewise.
74045         * lib/getcwd.c: Likewise.
74046         * lib/getsubopt.c: Likewise.
74047         * lib/glob.c: Likewise.
74048         * lib/hard-locale.c: Likewise.
74049         * lib/iconvme.c: Likewise.
74050         * lib/javacomp.c: Likewise.
74051         * lib/mempcpy.c: Likewise.
74052         * lib/memrchr.c: Likewise.
74053         * lib/regex_internal.h: Likewise.
74054         * lib/stpncpy.c: Likewise.
74055         * lib/strcasecmp.c: Likewise.
74056         * lib/strchrnul.c: Likewise.
74057         * lib/strdup.c: Likewise.
74058         * lib/striconv.c: Likewise.
74059         * lib/striconveh.c: Likewise.
74060         * lib/striconveha.c: Likewise.
74061         * lib/strncasecmp.c: Likewise.
74062         * lib/strndup.c: Likewise.
74063         * lib/strnlen.c: Likewise.
74064         * lib/strsep.c: Likewise.
74065         * lib/strstr.c: Likewise.
74066         * lib/strtok_r.c: Likewise.
74067         * lib/userspec.c: Likewise.
74068         * lib/w32spawn.h: Likewise.
74069         * lib/xstrndup.c: Likewise.
74070         * lib/mountlist.c (strstr): Remove decl.
74071         * m4/string_h.m4: New file.
74072         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
74073         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
74074         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
74075         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
74076         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
74077         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
74078         Set REPLACE_STRCASECMP if necessary.
74079         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
74080         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
74081         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
74082         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
74083         HAVE_DECL_STRDUP if necessary.
74084         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
74085         since gl_FUNC_STRNDUP does that now.
74086         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
74087         Check for decl here...
74088         (gl_PREREQ_STRNLEN): ... not here.
74089         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
74090         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
74091         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
74092         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
74093         necessary.
74094         * modules/string: New file.
74095         * modules/memmem (Files): Remove special-purpose include file.
74096         (Depends-on): Add string.
74097         (Include): Include <string.h>, not the removed file.
74098         * modules/mempcpy: Likewise.
74099         * modules/memrchr: Likewise.
74100         * modules/stpcpy: Likewise.
74101         * modules/stpncpy: Likewise.
74102         * modules/strcase: Likewise.
74103         * modules/strchrnul: Likewise.
74104         * modules/strdup: Likewise.
74105         * modules/strndup: Likewise.
74106         * modules/strnlen: Likewise.
74107         * modules/strpbrk: Likewise.
74108         * modules/strsep: Likewise.
74109         * modules/strstr: Likewise.
74110         * modules/strtok_r: Likewise.
74111         * tests/test-dirname.c: Don't include "strdup.h", since
74112         <string.h> now suffices.
74113         * tests/test-memmem.c: Don't include "memmem.h", since
74114         <string.h> now suffices.
74115
74116 2007-01-25  Bruno Haible  <bruno@clisp.org>
74117
74118         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
74119         *resultp is 0.
74120
74121         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
74122         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
74123         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
74124         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
74125
74126         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
74127         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
74128         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
74129         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
74130         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
74131         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
74132
74133 2007-01-24  Bruno Haible  <bruno@clisp.org>
74134
74135         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
74136         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
74137         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
74138         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
74139         gl_FUNC_FTS_CORE.
74140         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
74141         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
74142         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
74143         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
74144         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
74145         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
74146         gl_FUNC_FCHOWNAT.
74147         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
74148         gl_FUNC_STRFTIME.
74149         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
74150         Reported by Ralf Wildenhues.
74151
74152 2007-01-24  Bruno Haible  <bruno@clisp.org>
74153
74154         Drop AC_REQUIRE calls that are redundant with the module dependencies.
74155         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
74156         gl_GETADDRINFO.
74157         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
74158         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
74159         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
74160
74161 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
74162
74163         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
74164         Don't use 'exit'; just return from 'main'.
74165         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
74166
74167         * lib/fnmatch_.h: Readjust white space and comments to match
74168         glibc, to avoid spurious diffs.
74169
74170 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74171
74172         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
74173         2004-12-01 change by Jakub Jelinek, since this code won't compile
74174         if !LIBC.  Problem reported by Bob Proulx.
74175
74176 2007-01-23  Bruno Haible  <bruno@clisp.org>
74177
74178         * lib/striconveh.c: Include c-strcaseeq.h.
74179         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
74180         * modules/striconveh (Depends-on): Add c-strcaseeq.
74181
74182 2007-01-23  Bruno Haible  <bruno@clisp.org>
74183
74184         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
74185
74186         * modules/c-strcaseeq: New file.
74187         * lib/c-strcaseeq.h: New file.
74188
74189         * modules/streq: New file.
74190         * lib/streq.h: New file.
74191
74192 2007-01-23  Bruno Haible  <bruno@clisp.org>
74193
74194         * modules/striconveha-tests: New file.
74195         * tests/test-striconveha.c: New file.
74196
74197         * lib/striconveha.h: Include <stdbool.h>.
74198         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
74199         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
74200         (mem_iconveha_notranslit): Renamed from mem_iconveha.
74201         (mem_iconveha): New function.
74202         (str_iconveha_notranslit): Renamed from str_iconveha.
74203         (str_iconveha): New function.
74204         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
74205         c-strcase.
74206
74207 2007-01-23  Bruno Haible  <bruno@clisp.org>
74208
74209         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
74210         encodings without forgiving before trying any encoding with handler.
74211         (str_iconveha): Try all encodings without forgiving before trying any
74212         encoding with handler.
74213
74214 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74215
74216         Import the following changes from libc.
74217
74218         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
74219
74220         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
74221
74222         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
74223
74224         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
74225         normal_bracket label.
74226
74227         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
74228
74229         [BZ #361]
74230         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
74231         to normal_bracket after fetching the next character.
74232
74233 2007-01-22  Bruno Haible  <bruno@clisp.org>
74234
74235         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
74236         argument.
74237         * lib/striconveh.c (iconv_carefully_1): New function.
74238         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
74239         argument.
74240         (str_cd_iconveh): Update.
74241         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
74242         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
74243         * tests/test-striconveh.c (MAGIC): New macro.
74244         (new_offsets): New function.
74245         (main): Test call with and without offsets.
74246
74247 2007-01-22  Bruno Haible  <bruno@clisp.org>
74248
74249         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
74250         * modules/sys_select (Makefile.am): Likewise.
74251         * modules/sys_socket (Makefile.am): Likewise.
74252         * modules/sys_time (Makefile.am): Likewise.
74253
74254 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
74255
74256         * modules/gettimeofday (License): Change from GPL to LGPL, since
74257         gettimeofday is a library function.
74258
74259 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74260
74261         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
74262
74263 2007-01-21  Bruno Haible  <bruno@clisp.org>
74264
74265         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
74266
74267 2007-01-21  Bruno Haible  <bruno@clisp.org>
74268
74269         * modules/striconveha: New file.
74270         * lib/striconveha.h: New file.
74271         * lib/striconveha.c: New file.
74272         * MODULES.html.sh (Internationalization functions): Add striconveha.
74273         * lib/striconv.c (str_iconv): Optimize the case of an empty input
74274         string.
74275         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
74276
74277 2007-01-21  Bruno Haible  <bruno@clisp.org>
74278
74279         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
74280         * lib/striconveh.c (str_iconveh): Likewise.
74281
74282 2007-01-21  Bruno Haible  <bruno@clisp.org>
74283
74284         * lib/striconveh.h (mem_iconveh): New declaration.
74285         * lib/striconveh.c (mem_iconveh): New function.
74286         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
74287
74288 2007-01-21  Bruno Haible  <bruno@clisp.org>
74289
74290         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
74291
74292         * lib/striconveh.h (mem_cd_iconveh): Change specification.
74293         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
74294         original result buffer.
74295         (str_cd_iconveh): Update.
74296         * tests/test-striconveh.c (main): Update.
74297
74298         * lib/striconv.h (mem_cd_iconv): Change specification.
74299         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
74300         result buffer.
74301         (str_cd_iconv): Update.
74302         * tests/test-striconv.c (main): Update.
74303
74304 2007-01-21  Bruno Haible  <bruno@clisp.org>
74305
74306         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
74307
74308 2007-01-20  Jim Meyering  <jim@meyering.net>
74309
74310         * lib/userspec.c (parse_with_separator): If a user or group string
74311         starts with "+", skip the corresponding name-to-ID look-up, since
74312         such a look-up must fail: user and group names may not include "+".
74313
74314 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
74315
74316         * lib/poll.c: Include sys/time.h and time.h unconditionally,
74317         since we now assume the sys_time module.
74318         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
74319         check for sys/time.h; no longer needed.
74320         * modules/poll (Depends-on): Depend on sys_time.
74321
74322 2007-01-18  Bruno Haible  <bruno@clisp.org>
74323
74324         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
74325         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74326
74327         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
74328         gettimeofday.
74329
74330         * tests/test-gettimeofday.c: Include <time.h>.
74331         (dummy): Remove variable.
74332
74333         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
74334         gl_HEADER_SYS_TIME_H.
74335         (gl_HEADER_SYS_TIME_H): New macro.
74336
74337         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
74338         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74339         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
74340         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
74341         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74342         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
74343         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
74344         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74345         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
74346         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
74347         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74348
74349         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
74350         last change; it caused a compilation error when cross-compiling to
74351         Cygwin.
74352
74353 2007-01-18  Jim Meyering  <jim@meyering.net>
74354
74355         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
74356         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
74357         than the race-prone "test -d sys || mkdir sys".
74358         (configure.ac): Use AC_PROG_MKDIR_P.
74359         * modules/sys_select: Likewise.
74360         * modules/sys_socket: Likewise.
74361         * modules/sys_time: Likewise.
74362
74363 2007-01-18  Eric Blake  <ebb9@byu.net>
74364
74365         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
74366         replace gettimeofday.
74367         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
74368         name, to avoid infinite recursion.
74369
74370 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
74371
74372         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
74373         module sys_time.
74374         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
74375         assume timespec.h defines struct timeval.
74376         * lib/settime.c: Likewise.
74377         * lib/utimens.c: Likewise.
74378         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
74379         since we now assume the gettimeofday module.
74380         * lib/tempname.c (__gen_tempname): Likewise.
74381         * lib/gettimeofday.h: Remove.
74382         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
74383         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
74384         Include <time.h>, for 'time()'.
74385         (localtime_buffer_addr): Also use this workaround if
74386         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
74387         to simplify the uses.  All uses changed.
74388         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
74389         that #undef is inside {}, and 'const' follows type name consistently.
74390         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
74391         (gettimeofday): Do not use the maximum possible value for
74392         tv->tv_usec, since that might break usages other than ls.c.
74393         Instead, we'll leave ls.c alone.  This undoes today's patch
74394         by Bruno.  Add a compile-time warning for 1s-clock resolution;
74395         we've never observed the problem but might as well keep the
74396         canary.
74397         * lib/nanosleep.c: Include timespec.h first, for interface check.
74398         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
74399         now assume the sys_time module.
74400         * lib/tempname.c: Likewise.
74401         * lib/timespec.h: Likewise.
74402         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
74403         needed.
74404         * lib/strftime.c: Likewise.
74405         * lib/timespec.h: Likewise.
74406         * lib/posixtm.c: Include posixtm.h first, for interface check.
74407         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
74408         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
74409         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
74410         * lib/sys_time_.h: New file.
74411         * lib/timespec.h (struct timespec): Use long int, not long.
74412         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
74413         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
74414         Remove obsolescent call to AC_HEADER_TIME.
74415         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
74416         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74417         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74418         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
74419         Likewise.
74420         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
74421         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
74422         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
74423         into the sys_time module.  Check for gettimeofday just once.
74424         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
74425         for gettimeofday signature to just check the signature.  Merely
74426         compile it, since linking doesn't test signature.  Improve test for
74427         whether gettimeofday.o is actually needed.
74428         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
74429         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
74430         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
74431         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74432         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
74433         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
74434         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
74435         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
74436         than worrying about sys/time.h.
74437         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
74438         Don't bother worrying about TIME_WITH_SYS_TIME.
74439         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
74440         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
74441         * m4/sys_time_h.m4: New file.
74442         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
74443         Don't include sys/time.h.  Return from main rather than exiting.
74444         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
74445         all uses changed.
74446         * modules/gethrxtime (Depends-on): Add sys_time.
74447         * modules/gettime (Depends-on): Likewise.
74448         * modules/gettimeofday (Depends-on): Likewise.
74449         * modules/nanosleep (Depends-on): Likewise.
74450         * modules/settime (Depends-on): Likewise.
74451         * modules/tempname (Depends-on): Likewise.
74452         * modules/utimens (Depends-on): Likewise.
74453         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
74454         (Include): Change back to <sys/time.h>.
74455         (Maintainer): Add self.
74456         * modules/sys_time: New file.
74457         * modules/tempname (Depends-on): Add gettimeofday.
74458         * tests/test-gettimeofday.c: Include <sys/time.h>
74459         rather than gettimeofday.h.
74460
74461 2007-01-17  Bruno Haible  <bruno@clisp.org>
74462
74463         * gnulib-tool (func_get_license): Revert last patch. Instead, let
74464         the license default to GPL.
74465         (func_create_testdir): Don't complain if a module is LGPL and its
74466         tests module depends on GPLed modules.
74467
74468 2007-01-17  Bruno Haible  <bruno@clisp.org>
74469
74470         * lib/gettimeofday.c (gettimeofday): Add code for the case
74471         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
74472         maximum possible value for tv->tv_usec, rather than the minimum one.
74473
74474 2005-10-08  Martin Lambers  <marlam@marlam.de>
74475 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
74476 2007-01-16  Bruno Haible  <bruno@clisp.org>
74477
74478         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
74479         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
74480         gl_FUNC_GETTIMEOFDAY.
74481         (Include): Add gettimeofday.h.
74482         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
74483         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
74484         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
74485         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
74486         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
74487         * lib/gettimeofday.h: New file.
74488         * lib/gettimeofday.c: Include <sys/timeb.h>.
74489         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
74490         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74491         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
74492         fall back on time().
74493
74494         * tests/test-gettimeofday.c: New file.
74495         * modules/gettimeofday-tests: New file.
74496
74497 2007-01-16  Eric Blake  <ebb9@byu.net>
74498
74499         * modules/fnmatch (Depends-on): Depend on wchar.
74500         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
74501         * m4/fnmatch.m4: Likewise.
74502         * modules/mbchar (Makefile.am): Assume <wchar.h>.
74503         * m4/mbchar.m4: Likewise.
74504         * modules/mbswidth (Depends-on): Depend on wchar.
74505         * lib/mbswidth.c: Assume <wchar.h>.
74506         * m4/mbswidth.m4: Likewise.
74507         * modules/quotearg (Depends-on): Depend on wchar.
74508         * lib/quotearg.c: Assume <wchar.h>.
74509         * m4/quotearg.m4: Likewise.
74510         * modules/regex (Depends-on): Depend on wchar.
74511         * lib/regex_internal.h: Assume <wchar.h>.
74512         * m4/regex.m4: Likewise.
74513         * modules/stdint (Depends-on): Depend on wchar.
74514         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
74515         * m4/stdint.m4: Likewise.
74516         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
74517         * modules/strftime (Depends-on): Depend on wchar.
74518         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
74519         * modules/strtol (Depends-on): Depend on wchar.
74520         * lib/strtol.c: Assume <wchar.h>.
74521         * modules/wcwidth (Depends-on): Depend on wchar.
74522         * lib/wcwidth.h: Assume <wchar.h>.
74523         * m4/wcwidth.m4: Likewise.
74524
74525 2007-01-16  Bruno Haible  <bruno@clisp.org>
74526
74527         * modules/csharpexec-script: New, created from...
74528         * modules/csharpexec: ... this.
74529
74530 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
74531
74532         * modules/javaexec-script: New, created from...
74533         * modules/javaexec: ... this.
74534
74535 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74536
74537         * modules/poll (Dependencies): Add sys_select.
74538
74539 2007-01-15  Jim Meyering  <jim@meyering.net>
74540
74541         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
74542         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
74543         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
74544         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
74545
74546 2007-01-15  Bruno Haible  <bruno@clisp.org>
74547
74548         * modules/striconveh: New file.
74549         * lib/striconveh.h: New file.
74550         * lib/striconveh.c: New file.
74551         * MODULES.html.sh (Internationalization functions): Add striconveh.
74552
74553         * modules/striconveh-tests: New file.
74554         * tests/test-striconveh.c: New file.
74555
74556 2007-01-15  Bruno Haible  <bruno@clisp.org>
74557
74558         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
74559         not from GNU libiconv or GNU libc.
74560
74561 2007-01-15  Bruno Haible  <bruno@clisp.org>
74562
74563         * doc/gnulib-intro.texi (Copyright): Explain the different license
74564         terms for module descriptions, autoconf macros, tests, documentation.
74565
74566 2007-01-14  Bruno Haible  <bruno@clisp.org>
74567
74568         * modules/striconv-tests: New file.
74569         * tests/test-striconv.c: New file.
74570
74571 2007-01-14  Bruno Haible  <bruno@clisp.org>
74572
74573         * modules/iconv-tests: New file.
74574         * tests/test-iconv.c: New file.
74575
74576 2007-01-14  Bruno Haible  <bruno@clisp.org>
74577
74578         * gnulib-tool (func_get_license): For test modules, use the license of
74579         the main module.
74580
74581 2007-01-14  Bruno Haible  <bruno@clisp.org>
74582
74583         * modules/iconv (Include): Clarify that <iconv.h> can only be included
74584         if iconv is found to exist.
74585
74586 2007-01-14  Bruno Haible  <bruno@clisp.org>
74587
74588         * modules/c-ctype-tests: New file.
74589         * tests/test-c-ctype.c: New file.
74590
74591 2007-01-14  Bruno Haible  <bruno@clisp.org>
74592
74593         * modules/binary-io-tests: New file.
74594         * tests/test-binary-io.sh: New file.
74595         * tests/test-binary-io.c: New file.
74596
74597 2007-01-14  Bruno Haible  <bruno@clisp.org>
74598
74599         * modules/array-oset-tests: New file.
74600         * tests/test-array_oset.c: New file.
74601
74602 2007-01-14  Bruno Haible  <bruno@clisp.org>
74603
74604         * modules/array-list-tests: New file.
74605         * tests/test-array_list.c: New file.
74606
74607 2007-01-14  Bruno Haible  <bruno@clisp.org>
74608
74609         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
74610         and make.
74611         Reported by Simon Josefsson in
74612         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
74613
74614 2007-01-14  Bruno Haible  <bruno@clisp.org>
74615
74616         * modules/allocsa-tests: New file.
74617         * tests/test-allocsa.c: New file.
74618
74619 2007-01-14  Bruno Haible  <bruno@clisp.org>
74620
74621         * modules/fchdir (Depends-on): Add absolute-header.
74622         * modules/unistd (Depends-on): Likewise.
74623
74624 2006-12-30  Bruno Haible  <bruno@clisp.org>
74625
74626         * modules/fchdir: New file.
74627         * modules/unistd (Files): Add lib/unistd_.h.
74628         (Makefile.am): Generate unistd.h from unistd_.h.
74629         * lib/fchdir.c: New file.
74630         * lib/dirent_.h: New file.
74631         * lib/unistd_.h: New file.
74632         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
74633         * m4/fchdir.m4: New file.
74634         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
74635         (gl_HEADER_UNISTD): Invoke it.
74636         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
74637         function.
74638         * lib/backupfile.c (opendir, closedir): Undefine.
74639         * lib/chown.c (open, close): Undefine.
74640         * lib/clean-temp.c (open, close): Undefine.
74641         * lib/copy-file.c (open, close): Undefine.
74642         * lib/execute.c (open, close): Undefine.
74643         * lib/fsusage.c (open, close): Undefine.
74644         * lib/gc-gnulib.c (open, close): Undefine.
74645         * lib/getcwd.c (opendir, closedir): Undefine.
74646         * lib/glob.c (opendir, closedir): Undefine.
74647         * lib/javacomp.c (open, close): Undefine.
74648         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
74649         * lib/openat-proc.c (open, close): Undefine.
74650         * lib/pagealign_alloc.c (open, close): Undefine.
74651         * lib/pipe.c (open, close): Undefine.
74652         * lib/progreloc.c (open, close): Undefine.
74653         * lib/savedir.c (opendir, closedir): Undefine.
74654         * lib/utime.c (open, close): Undefine.
74655         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
74656
74657 2007-01-10  Bruno Haible  <bruno@clisp.org>
74658
74659         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
74660
74661 2007-01-12  Eric Blake  <ebb9@byu.net>
74662
74663         Provide a robust <wchar.h>.  Further simplifications are now
74664         possible in other modules, but not included here.
74665         * modules/wchar: New module.
74666         * m4/wchar.m4: New file.
74667         * lib/wchar_.h: Likewise.
74668         * modules/mbchar (Depends-on): Depend on wchar, as the first use
74669         of the new module.
74670         * MODULES.html.sh (Extended multibyte and wide character utilities):
74671         New section.
74672
74673 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
74674
74675         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
74676         to a reasonable default for memory allocation.
74677         (xreadlink): Don't allocate a huge buffer, to work around a buggy
74678         file system that reports garbage st_size values for symlinks.
74679         Problem reported by Liyang Hu.
74680
74681 2007-01-11  Simon Josefsson  <simon@josefsson.org>
74682
74683         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
74684         Emacs .#* auto-save files).
74685
74686 2007-01-11  Bruno Haible  <bruno@clisp.org>
74687
74688         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
74689         directory.
74690
74691 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
74692
74693         Use @...@ consistently in lib/wctype_.h.
74694         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
74695         on it being set to 1 or 0.
74696         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
74697         go back to AC_SUBSTing it.
74698         * modules/wctype (Makefile.am): Undo previous change.
74699
74700 2007-01-10  Eric Blake  <ebb9@byu.net>
74701
74702         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
74703         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
74704         * modules/wctype (Makefile.am): Likewise.
74705         Reported by Chris McGuire.
74706
74707 2007-01-10  Jim Meyering  <jim@meyering.net>
74708
74709         fts.c: a small readability/maintainability improvement
74710         * lib/fts.c (fts_read): Make this code slightly more readable and
74711         maintainable by hoisting the "sp->fts_cur = p" assignments to
74712         immediately follow the statements that set P.  Derived from
74713         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
74714
74715 2007-01-10  Eric Blake  <ebb9@byu.net>
74716
74717         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
74718         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
74719         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
74720         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
74721         Reported by Chris McGuire.
74722
74723 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74724
74725         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
74726         in sed script.
74727
74728 2007-01-09  Bruno Haible  <bruno@clisp.org>
74729
74730         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
74731         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
74732         variables.
74733         (func_module): Use them.
74734
74735 2007-01-09  Bruno Haible  <bruno@clisp.org>
74736
74737         * modules/unistr/base: New file.
74738         * lib/unistr.h: New file.
74739
74740         * modules/unistr/u8-to-u16: New file.
74741         * lib/unistr/u8-to-u16.c: New file.
74742
74743         * modules/unistr/u8-to-u32: New file.
74744         * lib/unistr/u8-to-u32.c: New file.
74745
74746         * modules/unistr/u16-to-u8: New file.
74747         * lib/unistr/u16-to-u8.c: New file.
74748
74749         * modules/unistr/u16-to-u32: New file.
74750         * lib/unistr/u16-to-u32.c: New file.
74751
74752         * modules/unistr/u32-to-u8: New file.
74753         * lib/unistr/u32-to-u8.c: New file.
74754
74755         * modules/unistr/u32-to-u16: New file.
74756         * lib/unistr/u32-to-u16.c: New file.
74757
74758         * modules/unistr/u8-check: New file.
74759         * modules/unistr/u16-check: New file.
74760         * modules/unistr/u32-check: New file.
74761         * lib/unistr/u8-check.c: New file.
74762         * lib/unistr/u16-check.c: New file.
74763         * lib/unistr/u32-check.c: New file.
74764
74765         * modules/unistr/u8-chr: New file.
74766         * modules/unistr/u16-chr: New file.
74767         * modules/unistr/u32-chr: New file.
74768         * lib/unistr/u8-chr.c: New file.
74769         * lib/unistr/u16-chr.c: New file.
74770         * lib/unistr/u32-chr.c: New file.
74771
74772         * modules/unistr/u8-cmp: New file.
74773         * modules/unistr/u16-cmp: New file.
74774         * modules/unistr/u32-cmp: New file.
74775         * lib/unistr/u8-cmp.c: New file.
74776         * lib/unistr/u16-cmp.c: New file.
74777         * lib/unistr/u32-cmp.c: New file.
74778
74779         * modules/unistr/u8-cpy: New file.
74780         * modules/unistr/u16-cpy: New file.
74781         * modules/unistr/u32-cpy: New file.
74782         * lib/unistr/u8-cpy.c: New file.
74783         * lib/unistr/u16-cpy.c: New file.
74784         * lib/unistr/u32-cpy.c: New file.
74785         * lib/unistr/u-cpy.h: New file.
74786
74787         * modules/unistr/u8-cpy-alloc: New file.
74788         * modules/unistr/u16-cpy-alloc: New file.
74789         * modules/unistr/u32-cpy-alloc: New file.
74790         * lib/unistr/u8-cpy-alloc.c: New file.
74791         * lib/unistr/u16-cpy-alloc.c: New file.
74792         * lib/unistr/u32-cpy-alloc.c: New file.
74793         * lib/unistr/u-cpy-alloc.h: New file.
74794
74795         * modules/unistr/u8-endswith: New file.
74796         * modules/unistr/u16-endswith: New file.
74797         * modules/unistr/u32-endswith: New file.
74798         * lib/unistr/u8-endswith.c: New file.
74799         * lib/unistr/u16-endswith.c: New file.
74800         * lib/unistr/u32-endswith.c: New file.
74801         * lib/unistr/u-endswith.h: New file.
74802
74803         * modules/unistr/u8-mblen: New file.
74804         * modules/unistr/u16-mblen: New file.
74805         * modules/unistr/u32-mblen: New file.
74806         * lib/unistr/u8-mblen.c: New file.
74807         * lib/unistr/u16-mblen.c: New file.
74808         * lib/unistr/u32-mblen.c: New file.
74809
74810         * modules/unistr/u8-mbtouc: New file.
74811         * modules/unistr/u16-mbtouc: New file.
74812         * modules/unistr/u32-mbtouc: New file.
74813         * lib/unistr/u8-mbtouc.c: New file.
74814         * lib/unistr/u16-mbtouc.c: New file.
74815         * lib/unistr/u32-mbtouc.c: New file.
74816
74817         * modules/unistr/u8-mbtouc-safe: New file.
74818         * modules/unistr/u16-mbtouc-safe: New file.
74819         * modules/unistr/u32-mbtouc-safe: New file.
74820         * lib/unistr/u8-mbtouc-safe.c: New file.
74821         * lib/unistr/u16-mbtouc-safe.c: New file.
74822         * lib/unistr/u32-mbtouc-safe.c: New file.
74823
74824         * modules/unistr/u8-move: New file.
74825         * modules/unistr/u16-move: New file.
74826         * modules/unistr/u32-move: New file.
74827         * lib/unistr/u8-move.c: New file.
74828         * lib/unistr/u16-move.c: New file.
74829         * lib/unistr/u32-move.c: New file.
74830         * lib/unistr/u-move.h: New file.
74831
74832         * modules/unistr/u8-next: New file.
74833         * modules/unistr/u16-next: New file.
74834         * modules/unistr/u32-next: New file.
74835         * lib/unistr/u8-next.c: New file.
74836         * lib/unistr/u16-next.c: New file.
74837         * lib/unistr/u32-next.c: New file.
74838
74839         * modules/unistr/u8-prev: New file.
74840         * modules/unistr/u16-prev: New file.
74841         * modules/unistr/u32-prev: New file.
74842         * lib/unistr/u8-prev.c: New file.
74843         * lib/unistr/u16-prev.c: New file.
74844         * lib/unistr/u32-prev.c: New file.
74845
74846         * modules/unistr/u8-set: New file.
74847         * modules/unistr/u16-set: New file.
74848         * modules/unistr/u32-set: New file.
74849         * lib/unistr/u8-set.c: New file.
74850         * lib/unistr/u16-set.c: New file.
74851         * lib/unistr/u32-set.c: New file.
74852         * lib/unistr/u-set.h: New file.
74853
74854         * modules/unistr/u8-startswith: New file.
74855         * modules/unistr/u16-startswith: New file.
74856         * modules/unistr/u32-startswith: New file.
74857         * lib/unistr/u8-startswith.c: New file.
74858         * lib/unistr/u16-startswith.c: New file.
74859         * lib/unistr/u32-startswith.c: New file.
74860         * lib/unistr/u-startswith.h: New file.
74861
74862         * modules/unistr/u8-stpcpy: New file.
74863         * modules/unistr/u16-stpcpy: New file.
74864         * modules/unistr/u32-stpcpy: New file.
74865         * lib/unistr/u8-stpcpy.c: New file.
74866         * lib/unistr/u16-stpcpy.c: New file.
74867         * lib/unistr/u32-stpcpy.c: New file.
74868         * lib/unistr/u-stpcpy.h: New file.
74869
74870         * modules/unistr/u8-stpncpy: New file.
74871         * modules/unistr/u16-stpncpy: New file.
74872         * modules/unistr/u32-stpncpy: New file.
74873         * lib/unistr/u8-stpncpy.c: New file.
74874         * lib/unistr/u16-stpncpy.c: New file.
74875         * lib/unistr/u32-stpncpy.c: New file.
74876         * lib/unistr/u-stpncpy.h: New file.
74877
74878         * modules/unistr/u8-strcat: New file.
74879         * modules/unistr/u16-strcat: New file.
74880         * modules/unistr/u32-strcat: New file.
74881         * lib/unistr/u8-strcat.c: New file.
74882         * lib/unistr/u16-strcat.c: New file.
74883         * lib/unistr/u32-strcat.c: New file.
74884         * lib/unistr/u-strcat.h: New file.
74885
74886         * modules/unistr/u8-strchr: New file.
74887         * modules/unistr/u16-strchr: New file.
74888         * modules/unistr/u32-strchr: New file.
74889         * lib/unistr/u8-strchr.c: New file.
74890         * lib/unistr/u16-strchr.c: New file.
74891         * lib/unistr/u32-strchr.c: New file.
74892
74893         * modules/unistr/u8-strcmp: New file.
74894         * modules/unistr/u16-strcmp: New file.
74895         * modules/unistr/u32-strcmp: New file.
74896         * lib/unistr/u8-strcmp.c: New file.
74897         * lib/unistr/u16-strcmp.c: New file.
74898         * lib/unistr/u32-strcmp.c: New file.
74899
74900         * modules/unistr/u8-strcpy: New file.
74901         * modules/unistr/u16-strcpy: New file.
74902         * modules/unistr/u32-strcpy: New file.
74903         * lib/unistr/u8-strcpy.c: New file.
74904         * lib/unistr/u16-strcpy.c: New file.
74905         * lib/unistr/u32-strcpy.c: New file.
74906         * lib/unistr/u-strcpy.h: New file.
74907
74908         * modules/unistr/u8-strcspn: New file.
74909         * modules/unistr/u16-strcspn: New file.
74910         * modules/unistr/u32-strcspn: New file.
74911         * lib/unistr/u8-strcspn.c: New file.
74912         * lib/unistr/u16-strcspn.c: New file.
74913         * lib/unistr/u32-strcspn.c: New file.
74914         * lib/unistr/u-strcspn.h: New file.
74915
74916         * modules/unistr/u8-strdup: New file.
74917         * modules/unistr/u16-strdup: New file.
74918         * modules/unistr/u32-strdup: New file.
74919         * lib/unistr/u8-strdup.c: New file.
74920         * lib/unistr/u16-strdup.c: New file.
74921         * lib/unistr/u32-strdup.c: New file.
74922         * lib/unistr/u-strdup.h: New file.
74923
74924         * modules/unistr/u8-strlen: New file.
74925         * modules/unistr/u16-strlen: New file.
74926         * modules/unistr/u32-strlen: New file.
74927         * lib/unistr/u8-strlen.c: New file.
74928         * lib/unistr/u16-strlen.c: New file.
74929         * lib/unistr/u32-strlen.c: New file.
74930         * lib/unistr/u-strlen.h: New file.
74931
74932         * modules/unistr/u8-strmblen: New file.
74933         * modules/unistr/u16-strmblen: New file.
74934         * modules/unistr/u32-strmblen: New file.
74935         * lib/unistr/u8-strmblen.c: New file.
74936         * lib/unistr/u16-strmblen.c: New file.
74937         * lib/unistr/u32-strmblen.c: New file.
74938
74939         * modules/unistr/u8-strmbtouc: New file.
74940         * modules/unistr/u16-strmbtouc: New file.
74941         * modules/unistr/u32-strmbtouc: New file.
74942         * lib/unistr/u8-strmbtouc.c: New file.
74943         * lib/unistr/u16-strmbtouc.c: New file.
74944         * lib/unistr/u32-strmbtouc.c: New file.
74945
74946         * modules/unistr/u8-strncat: New file.
74947         * modules/unistr/u16-strncat: New file.
74948         * modules/unistr/u32-strncat: New file.
74949         * lib/unistr/u8-strncat.c: New file.
74950         * lib/unistr/u16-strncat.c: New file.
74951         * lib/unistr/u32-strncat.c: New file.
74952         * lib/unistr/u-strncat.h: New file.
74953
74954         * modules/unistr/u8-strncmp: New file.
74955         * modules/unistr/u16-strncmp: New file.
74956         * modules/unistr/u32-strncmp: New file.
74957         * lib/unistr/u8-strncmp.c: New file.
74958         * lib/unistr/u16-strncmp.c: New file.
74959         * lib/unistr/u32-strncmp.c: New file.
74960
74961         * modules/unistr/u8-strncpy: New file.
74962         * modules/unistr/u16-strncpy: New file.
74963         * modules/unistr/u32-strncpy: New file.
74964         * lib/unistr/u8-strncpy.c: New file.
74965         * lib/unistr/u16-strncpy.c: New file.
74966         * lib/unistr/u32-strncpy.c: New file.
74967         * lib/unistr/u-strncpy.h: New file.
74968
74969         * modules/unistr/u8-strnlen: New file.
74970         * modules/unistr/u16-strnlen: New file.
74971         * modules/unistr/u32-strnlen: New file.
74972         * lib/unistr/u8-strnlen.c: New file.
74973         * lib/unistr/u16-strnlen.c: New file.
74974         * lib/unistr/u32-strnlen.c: New file.
74975         * lib/unistr/u-strnlen.h: New file.
74976
74977         * modules/unistr/u8-strpbrk: New file.
74978         * modules/unistr/u16-strpbrk: New file.
74979         * modules/unistr/u32-strpbrk: New file.
74980         * lib/unistr/u8-strpbrk.c: New file.
74981         * lib/unistr/u16-strpbrk.c: New file.
74982         * lib/unistr/u32-strpbrk.c: New file.
74983         * lib/unistr/u-strpbrk.h: New file.
74984
74985         * modules/unistr/u8-strrchr: New file.
74986         * modules/unistr/u16-strrchr: New file.
74987         * modules/unistr/u32-strrchr: New file.
74988         * lib/unistr/u8-strrchr.c: New file.
74989         * lib/unistr/u16-strrchr.c: New file.
74990         * lib/unistr/u32-strrchr.c: New file.
74991
74992         * modules/unistr/u8-strspn: New file.
74993         * modules/unistr/u16-strspn: New file.
74994         * modules/unistr/u32-strspn: New file.
74995         * lib/unistr/u8-strspn.c: New file.
74996         * lib/unistr/u16-strspn.c: New file.
74997         * lib/unistr/u32-strspn.c: New file.
74998         * lib/unistr/u-strspn.h: New file.
74999
75000         * modules/unistr/u8-strstr: New file.
75001         * modules/unistr/u16-strstr: New file.
75002         * modules/unistr/u32-strstr: New file.
75003         * lib/unistr/u8-strstr.c: New file.
75004         * lib/unistr/u16-strstr.c: New file.
75005         * lib/unistr/u32-strstr.c: New file.
75006         * lib/unistr/u-strstr.h: New file.
75007
75008         * modules/unistr/u8-strtok: New file.
75009         * modules/unistr/u16-strtok: New file.
75010         * modules/unistr/u32-strtok: New file.
75011         * lib/unistr/u8-strtok.c: New file.
75012         * lib/unistr/u16-strtok.c: New file.
75013         * lib/unistr/u32-strtok.c: New file.
75014         * lib/unistr/u-strtok.h: New file.
75015
75016         * modules/unistr/u8-uctomb: New file.
75017         * modules/unistr/u16-uctomb: New file.
75018         * modules/unistr/u32-uctomb: New file.
75019         * lib/unistr/u8-uctomb.c: New file.
75020         * lib/unistr/u16-uctomb.c: New file.
75021         * lib/unistr/u32-uctomb.c: New file.
75022
75023         * MODULES.html.sh (Unicode string functions): Add the new modules.
75024
75025 2007-01-08  Bruno Haible  <bruno@clisp.org>
75026
75027         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
75028         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
75029         subdirectories.
75030
75031 2007-01-08  Karl Berry  <karl@gnu.org>
75032
75033         * doc/error.texi: mention that main() fns must set program_name
75034         when progname is used.
75035
75036 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
75037
75038         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
75039         WCTYPE_H is empty, for the benefit of builds from non-distclean
75040         directories.  Problem reported by Eric Blake in
75041         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
75042
75043 2007-01-08  Bruno Haible  <bruno@clisp.org>
75044
75045         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
75046         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
75047         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
75048         PROVIDE_CANONICALIZE_FILENAME_MODE.
75049         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
75050
75051 2007-01-08  Bruno Haible  <bruno@clisp.org>
75052
75053         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
75054         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
75055         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
75056         * lib/fts.c: Likewise.
75057         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
75058
75059 2006-12-25  Bruno Haible  <bruno@clisp.org>
75060
75061         * modules/utf8-ucs4-safe: New file.
75062         * lib/utf8-ucs4-safe.h: New file.
75063         * lib/unistr/utf8-ucs4-safe.c: New file.
75064
75065         * modules/utf16-ucs4-safe: New file.
75066         * lib/utf16-ucs4-safe.h: New file.
75067         * lib/unistr/utf16-ucs4-safe.c: New file.
75068
75069         * MODULES.html.sh (Unicode string functions): Add the new modules.
75070
75071 2007-01-08  Bruno Haible  <bruno@clisp.org>
75072
75073         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
75074         (Depends-on): Add unitypes.
75075         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75076         (u8_mbtouc_aux): Move out to separate file.
75077         (u8_mbtouc): Use ucs4_t, uint8_t types.
75078         * lib/unistr/utf8-ucs4.c: New file.
75079
75080         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
75081         (Depends-on): Add unitypes.
75082         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75083         (u16_mbtouc_aux): Move out to separate file.
75084         (u16_mbtouc): Use ucs4_t, uint16_t types.
75085         * lib/unistr/utf16-ucs4.c: New file.
75086
75087         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
75088         (Depends-on): Add unitypes.
75089         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
75090         (u8_uctomb_aux): Move out to separate file.
75091         (u8_uctomb): Use ucs4_t, uint8_t types.
75092         * lib/unistr/ucs4-utf8.c: New file.
75093
75094         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
75095         (Depends-on): Add unitypes.
75096         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
75097         (u16_uctomb_aux): Move out to separate file.
75098         (u16_uctomb): Use ucs4_t, uint16_t types.
75099         * lib/unistr/ucs4-utf16.c: New file.
75100
75101 2006-12-25  Bruno Haible  <bruno@clisp.org>
75102
75103         * modules/unitypes: New file.
75104         * lib/unitypes.h: New file.
75105         * MODULES.html.sh (func_all_modules): New section "Unicode string
75106         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
75107         this section. Add unitypes.
75108
75109 2007-01-08  Bruno Haible  <bruno@clisp.org>
75110
75111         Avoid variable names that conflict with those from libtool.
75112         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
75113         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
75114         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
75115         library_names_spec to acl_library_names_spec, hardcode_* to
75116         acl_hardcode_*.
75117         Reported by Ralf Wildenhues.
75118
75119 2007-01-08  Bruno Haible  <bruno@clisp.org>
75120
75121         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
75122         definition.
75123         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
75124         definition.
75125         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
75126         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
75127         definition.
75128         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
75129         definition.
75130         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
75131         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
75132         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
75133         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
75134         definition.
75135         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
75136         definition.
75137         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
75138         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
75139         GC_USE_<algorithm>.
75140         * lib/gc-libgcrypt.c: Likewise.
75141         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
75142         * modules/gc-arctwo (configure.ac): Likewise.
75143         * modules/gc-des (configure.ac): Likewise.
75144         * modules/gc-hmac-md5 (configure.ac): Likewise.
75145         * modules/gc-hmac-sha1 (configure.ac): Likewise.
75146         * modules/gc-md2 (configure.ac): Likewise.
75147         * modules/gc-md4 (configure.ac): Likewise.
75148         * modules/gc-md5 (configure.ac): Likewise.
75149         * modules/gc-random (configure.ac): Likewise.
75150         * modules/gc-rijndael (configure.ac): Likewise.
75151         * modules/gc-sha1 (configure.ac): Likewise.
75152
75153 2007-01-08  Bruno Haible  <bruno@clisp.org>
75154
75155         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
75156         macro definition.
75157         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
75158         definition.
75159         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
75160         definition.
75161         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
75162         * modules/fcntl-safer (configure.ac): Likewise.
75163         * modules/fopen-safer (configure.ac): Likewise.
75164         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
75165         GNULIB_FWRITEERROR macro definition.
75166
75167 2007-01-08  Bruno Haible  <bruno@clisp.org>
75168
75169         * m4/gnulib-common.m4: New file.
75170         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
75171         (func_get_filelist): Add m4/gnulib-common.m4.
75172
75173 2007-01-08  Bruno Haible  <bruno@clisp.org>
75174
75175         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
75176         command.
75177
75178 2007-01-08  Jim Meyering  <jim@meyering.net>
75179
75180         Use a more robust test for a "can't happen" condition.
75181         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
75182         narrowed the st_size value.  Presuming the "can't happen" condition
75183         is true, that narrowing could conceivably convert an invalid st_size
75184         value into a valid one.  Instead, use a change based on Matthew
75185         Woehlke's original patch.
75186
75187         Slight readability improvement: use an assert-like macro
75188         in place of literal "abort ()" uses.
75189         * lib/fts.c (fts_assert): Define.
75190         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
75191         Use this macro instead of a bare 'abort'.
75192
75193 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
75194
75195         Don't worry about using IRIX 5.3's wctype.h broken definitions;
75196         simply work around them.
75197         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
75198         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
75199         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
75200         declaring.
75201         Don't bother to define as macros, since the standard doesn't require it.
75202         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
75203         longer worry about IRIX 5.3.
75204         (HAVE_WCTYPE_CTMP_BUG): Remove.
75205
75206 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75207
75208         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
75209         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
75210         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
75211         Problems reported by Georg Schwarz for IRIX 5.3.
75212
75213         * gnulib-tool (autoconf_minversion): Take the maximum version number
75214         found, not the minimum.  Problem reported by James Youngman.
75215
75216 2007-01-03  Karl Berry  <karl@gnu.org>
75217
75218         * doc/error.texi: new file, explaining interaction with progname.
75219         * doc/gnulib.texi: include it.  Update copyright.
75220
75221 2007-01-03  Simon Josefsson  <simon@josefsson.org>
75222
75223         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
75224         AC_CANONICAL_HOST, to improve autobuild outputs.
75225
75226 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
75227             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
75228
75229         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
75230         sockets, server sockets, and other file descriptors.  Count errors
75231         to compute the return value.  Reorder the code a bit to be easier
75232         to follow.  Don't set event bits that were not requested (except
75233         POLLERR and POLLHUP).
75234
75235 2007-01-01  Bruno Haible  <bruno@clisp.org>
75236
75237         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
75238
75239 2007-01-03  Jim Meyering  <jim@meyering.net>
75240
75241         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
75242
75243 2007-01-02  Bruno Haible  <bruno@clisp.org>
75244
75245         * modules/settime (Include): Require timespec.h.
75246         * modules/nanosleep (Include): Likewise.
75247
75248 2007-01-01  Bruno Haible  <bruno@clisp.org>
75249
75250         * gnulib-tool (func_emit_copyright_notice): Bump year.
75251         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
75252
75253 2007-01-01  Bruno Haible  <bruno@clisp.org>
75254
75255         Improve support for OpenBSD.
75256         * build-aux/config.rpath (libname_spec): Export.
75257         (library_names_spec): New variable. Export.
75258         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
75259         library_names_spec from the config.rpath output. Locate shared library
75260         through the name pattern in library_names_spec.
75261
75262 2007-01-01  Eric Blake  <ebb9@byu.net>
75263
75264         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
75265
75266 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
75267
75268         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
75269         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
75270         assume the C locale, and avoid an "eval" that could cause trouble.
75271         Problem with SORT reported by Bob Proulx.
75272
75273         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
75274         Define.  Trivial patch from Henning Nielsen Lund, originally
75275         sent to bug-grep@gnu.org today.
75276
75277 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
75278
75279         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
75280         struct stat.  Problem reported by Henning Nielsen Lund.
75281         * lib/acl.c: Include acl.h first, to check interface.  Don't
75282         bother to include sys/types.h and sys/stat.h again.
75283
75284 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
75285
75286         Import the following change from libc; problem reported by
75287         Sven Verdoolaege.
75288
75289         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
75290
75291         [BZ #1373]
75292         * lib/argp.h: Remove __NTH for __argp_usage inline function.
75293
75294 2006-12-28  Jim Meyering  <jim@meyering.net>
75295
75296         * build-aux/announce-gen: Do not assume that the package
75297         builds any of tar.gz, tar.bz2, and .xdelta files.
75298         Suggestion from Simon Josefsson.
75299
75300 2006-12-28  Simon Josefsson  <simon@josefsson.org>
75301
75302         * modules/announce-gen: New file.
75303
75304 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
75305
75306         * lib/mbchar.h: Just include <wctype.h>; the wctype module
75307         handles its gotchas now.
75308         * lib/mbswidth.c: Likewise.
75309         * lib/wcwidth.h: Likewise.
75310         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
75311         and iswcntrl; the wctype module does this stuff now.
75312         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
75313         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
75314         * modules/mbchar (Depends-on): Add wctype.
75315         * modules/mbswidth (Depends-on): Likewise.
75316         * modules/wcwidth (Depends-on): Likewise.
75317
75318 2006-12-27  Eric Blake  <ebb9@byu.net>
75319
75320         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
75321         module uses more than what <wctype.h> is required to provide.
75322
75323 2006-12-26  Eric Blake  <ebb9@byu.net>
75324
75325         * gnulib-tool (sed_extract_prog): Avoid space-tab.
75326
75327 2006-12-26  Eric Blake  <ebb9@byu.net>
75328
75329         * modules/absolute-header: New module.
75330         * modules/fcntl (Depends-on): Depend on it.
75331         * modules/inttypes (Depends-on): Likewise.
75332         * modules/stdint (Depends-on): Likewise.
75333         * modules/sys_stat (Depends-on): Likewise.
75334         * modules/wctype (Depends-on): Likewise.
75335         * MODULES.html.sh (Support for building libraries and
75336         executables): Document it.
75337
75338 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
75339
75340         * gnulib-tool (SED): Remove, undoing previous change.
75341         The problem was that it broke coreutils on Solaris, because
75342         "sed --posix" leaked into a makefile.
75343         (sed): New alias, if 'alias' and GNU sed.
75344
75345 2006-12-24  Jim Meyering  <jim@meyering.net>
75346
75347         Work around an fchownat bug in glibc-2.4:
75348         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
75349         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
75350         in spite of the -P option.
75351         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
75352         New macros.
75353         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
75354         * modules/openat (Files): Add lib/fchownat.c.
75355         * lib/openat.c (fchownat): Don't define here.  Move to...
75356         * lib/fchownat.c: ...this new file.
75357
75358 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
75359
75360         Fix bug reported by Bruno Haible in
75361         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
75362         where quotearg.c didn't compile on Mac OS X 10.2 because it
75363         lacks <wchar.h> and wint_t.
75364         * lib/wctype_.h (__wctype_wint_t): New type.
75365         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
75366         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
75367         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
75368         Arg is now of type __wctype_wint_t, not wint_t.
75369         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
75370         substitute HAVE_WINT_T.
75371         * modules/wctype (Files): Add m4/wint_t.m4.
75372         (wctype.h): Substitute HAVE_WINT_T.
75373
75374 2006-12-23  Bruno Haible  <bruno@clisp.org>
75375
75376         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
75377
75378 2006-12-23  Bruno Haible  <bruno@clisp.org>
75379
75380         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
75381         S_ISLNK.
75382         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
75383         mingw.
75384
75385 2006-12-22  Bruno Haible  <bruno@clisp.org>
75386
75387         * lib/copy-file.c: Include acl.h.
75388         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
75389         Close the file descriptors only after being done with copy_acl.
75390         * modules/copy-file (Depends-on): Add acl.
75391
75392 2006-12-22  Bruno Haible  <bruno@clisp.org>
75393
75394         * gnulib-tool (SED): New variable.
75395         Use $SED instead of sed everywhere.
75396
75397 2006-12-22  Bruno Haible  <bruno@clisp.org>
75398
75399         * modules/no-c++: New file.
75400         * m4/no-c++.m4: New file.
75401         * MODULES.html.sh (Support for building libraries and executables):
75402         Add no-c++.
75403
75404 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
75405
75406         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
75407         Include <limits.h>, and use its INT_MAX to rewrite the
75408         j loop so that it does not overflow 'int'.  Problem reported by
75409         Ralf Wildenhues in
75410         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
75411         Play it safe by shifting left by 1 rather than multiplying by 2,
75412         as GCC is less likely to optimize this away when the value
75413         is signed (when it assumes overflow leads to undefined behavior).
75414         Also, don't assume time_t uses two's complement.
75415
75416 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
75417
75418         * MODULES.html.sh: New module wctype.
75419         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
75420         * lib/fnmatch.c: Don't bother to include <wchar.h> before
75421         <wctype.h>, since the new wctype module should fix this.
75422         * lib/quotearg.c: Include <wctype.h> unconditionally, since
75423         the wctype module should arrange for it.
75424         * lib/regex_internal.h: Likewise.
75425         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
75426         since the wctype module should handle this now.
75427         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
75428         * modules/fnmatch (Depends-on): Add wctype.
75429         * modules/quotearg (Depends-on): Likewise.
75430         * modules/regex (Depends-on): Likewise.
75431
75432 2006-12-19  Bruno Haible  <bruno@clisp.org>
75433
75434         * lib/strdup.h [C++]: Wrap definitions in extern "C".
75435         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
75436
75437 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75438
75439         * modules/savewd (Depends-on): Fix dependency on fcntl.
75440
75441 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75442
75443         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
75444         conforms to C99, rather than relying on the user's environment
75445         setting of STDINT_H.
75446
75447 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75448         and Eric Blake  <ebb9@byu.net>
75449
75450         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
75451         This is more consistent with the other defines here.
75452         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
75453         Port to z/OS.  Problem reported by Paul Gilmartin.
75454         Change local vars to use gl_ prefix rather than ac_.
75455         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
75456         with other defines.
75457         * modules/double-slash-root: New module.
75458         * modules/dirname (Files): Remove m4/double-slash-root.m4.
75459         (Depends-on): Add double-slash-root.
75460         * MODULES.html.sh (File system functions): Mention new module.
75461
75462 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
75463
75464         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
75465         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
75466         This is for the benefit of gzip, which doesn't do i18n.
75467
75468 2006-12-12  Jim Meyering  <jim@meyering.net>
75469
75470         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
75471         Reported by Andreas Schwab <schwab@suse.de>.
75472
75473 2006-12-12  Bruno Haible  <bruno@clisp.org>
75474
75475         Merge these changes.
75476         2006-09-05  Bruno Haible  <bruno@clisp.org>
75477         * lib/iconvme.c (iconv_string): No need to save and restore errno when
75478         iconv_alloc succeeded.
75479         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
75480         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
75481         test for " && dest " at the end - dest is always != NULL there. Call
75482         iconv with 4xNULL arguments initially, to reset the state. Call iconv
75483         with 2xNULL arguments, also to flush the state storage. Handle the
75484         IRIX iconv behaviour. Realloc the final result, to throw away unused
75485         memory.
75486
75487 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
75488
75489         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
75490         and fchmodat unconditionally, since glibc 2.4 has them.
75491         Problem reported by Arkadiusz Miskiewicz.
75492
75493 2006-12-10  Bruno Haible  <bruno@clisp.org>
75494
75495         * gnulib-tool (func_import): Show the include files only for those
75496         modules that are copied and specified.
75497         Reported by Karl Berry.
75498
75499 2006-12-08  Jim Meyering  <jim@meyering.net>
75500
75501         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
75502         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
75503
75504         * build-aux/announce-gen: Add two new options, both optional:
75505         --bootstrap-tools=TOOL_LIST
75506               a comma-separated list of tools, e.g.,
75507               autoconf,automake,bison,gnulib
75508         --gnulib-snapshot-date=DATE
75509               if gnulib is in the bootstrap tool list,
75510               then report this as the snapshot date.
75511               If not specified, use the current date/time.
75512               If you specify a date here, be sure it's UTC.
75513
75514 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75515
75516         * tests/test-argp-2.sh: Fix test to match actual output.
75517         (func_compare): Fix sed script to be portable.
75518
75519 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
75520
75521         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
75522         workaround for this case.  It is not autoconfigured now; offhand
75523         it's hard to see how to autoconfigure it.
75524
75525 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
75526
75527         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
75528         a directory that is about to be chowned.  Such a directory's
75529         initial file permissions should permit the owner only and this
75530         should not be changed until after the chown, since the group and
75531         other bits would be incorrect if they granted permission before
75532         the chown.
75533
75534         Fix porting problem for iswctype reported by Georg Schwarz in:
75535         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
75536         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
75537         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
75538         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
75539         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
75540
75541 2006-12-03  Jim Meyering  <jim@meyering.net>
75542
75543         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
75544         p->fts_statp may not yet be defined.
75545         (fts_read): Instead, set it in the caller, once p->fts_statp is
75546         sure to be defined, and corresponds to a top-level directory.
75547         This bug made du -x fail.  Here's the coreutils test case:
75548         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
75549         Reported by Mike Frysinger.
75550
75551 2006-12-01  Jim Meyering  <jim@meyering.net>
75552
75553         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
75554         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
75555         Reported by Simon Josefsson.
75556
75557 2006-11-30  Jim Meyering  <jim@meyering.net>
75558
75559         * m4/warning.m4: Use the all-permissive copyright notice
75560         recommended by RMS (rather than LGPL).
75561         * m4/vararrays.m4: Likewise.
75562         * m4/flexmember.m4: Likewise.
75563
75564 2006-11-29  Bruno Haible  <bruno@clisp.org>
75565
75566         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75567         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
75568         using +=.
75569         Reported by Simon Josefsson <simon@josefsson.org>.
75570
75571 2006-11-28  James Youngman <jay@gnu.org>
75572
75573         * README: Advise users that they might find the bug-gnulib@gnu.org
75574         and autotools-announce@gnu.org mailing lists useful.
75575
75576 2006-11-28  Bruno Haible  <bruno@clisp.org>
75577
75578         * m4/ptrdiff_max.m4: Remove file.
75579
75580 2006-11-21  Bruno Haible  <bruno@clisp.org>
75581
75582         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
75583         _AC_COMPUTE_INT.
75584         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75585         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
75586         _AC_COMPUTE_INT.
75587         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75588         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
75589         _AC_COMPUTE_INT.
75590         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75591
75592 2006-11-28  Jim Meyering  <jim@meyering.net>
75593
75594         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
75595         warning from "gcc -Wshadow" about shadowing the builtin.
75596
75597 2006-11-27  Bruno Haible  <bruno@clisp.org>
75598
75599         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
75600         _AC_COMPUTE_INT.
75601         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75602
75603 2006-11-27  Bruno Haible  <bruno@clisp.org>
75604             Paul Eggert  <eggert@cs.ucla.edu>
75605
75606         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
75607
75608 2006-11-26  Bruno Haible  <bruno@clisp.org>
75609
75610         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75611         noinst_LTLIBRARIES.
75612
75613 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
75614             Bruno Haible  <bruno@clisp.org>
75615
75616         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
75617         if compiling with "gcc -ansi".
75618
75619 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
75620
75621         Fix some incompatibilities with gcc -ansi -pedantic.
75622         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
75623         if compiling pedantically with GCC, unless it's C99 or later.
75624         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
75625         it mishandles gcc -ansi -pedantic as well.
75626         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
75627         if gcc -pedantic.
75628         * lib/regexec.c (check_node_accept_bytes): Don't use auto
75629         initializers for struct if -pedantic, unless it's C99 or later.
75630
75631 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
75632
75633         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
75634         Don't close an fd more than once. Identical atimes indicate
75635         success, not failure.
75636
75637 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
75638
75639         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
75640
75641 2006-11-23  Jim Meyering  <jim@meyering.net>
75642
75643         * build-aux/announce-gen: New file.  From coreutils.
75644
75645 2006-11-22  Jim Meyering  <jim@meyering.net>
75646
75647         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
75648         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
75649         (fts_read): Use a temporary to narrow the overused st_size member
75650         before using it in a switch statement.  Reported by Matthew Woehlke.
75651
75652         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
75653         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
75654
75655 2006-11-20  Bruno Haible  <bruno@clisp.org>
75656
75657         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
75658         changequote instead of pairs of brackets.
75659         Reported by Andreas Schwab <schwab@suse.de>.
75660
75661 2006-11-21  Jim Meyering  <jim@meyering.net>
75662
75663         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
75664         so as to remain compatible with older compilers.
75665         Patch from Michael Deutschmann.
75666
75667 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75668
75669         * MODULES.html.sh (File system functions): Add openat.
75670
75671         * lib/openat.h (rpl_fstatat): New macro, if
75672         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
75673         (fstatat): Define to rpl_fstatat under the same conditions,
75674         unless COMPILING_FSTATAT.
75675         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
75676         seems to have the bug.
75677         * lib/fstatat.c: New file.
75678         * modules/openat (Files): Add it.
75679
75680 2006-11-20  Bruno Haible  <bruno@clisp.org>
75681
75682         * Makefile: New file.
75683
75684 2006-11-20  Jim Meyering  <jim@meyering.net>
75685
75686         The beginnings of syntax-related checks for gnulib.
75687         * lib/Makefile: New file.
75688         * lib/t-idcache: New script.  Ensure that the two halves of
75689         idcache.c stay in sync.
75690
75691         * lib/idcache.c: Adjust comments in user- and group- portions to
75692         be more accurate, and to be consistent with one another.
75693
75694 2006-11-20  Jim Meyering  <jim@meyering.net>
75695
75696         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
75697         continue using the flexible array member (thus, this module performs
75698         half as many malloc calls), with the addition that...
75699         (getgroup, getuser): Consistently record a non-match via an empty
75700         "name" string, and map an empty string match to a NULL return value.
75701         * modules/idcache (Depends-on): Re-add flexmember.
75702
75703         * lib/idcache.c (getuser): Remove all uses of the register keyword.
75704         (getuidbyname, getgroup, getgidbyname): Likewise.
75705
75706         Use cleaner syntax: NULL rather than 0.
75707         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
75708
75709 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75710
75711         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
75712         It mishandled the case where the group was missing.
75713         Problem reported by Greg Schafer.
75714         * modules/idcache: Likewise.
75715
75716 2006-11-18  Jim Meyering  <jim@meyering.net>
75717
75718         * check-module (%exempt_header): Add exception for some
75719         conditionally-included headers.
75720
75721         * modules/i-ring (Depends-on): Add verify.
75722         (License): Change to LGPL.
75723
75724 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
75725
75726         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
75727         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
75728         and inttostr.h.  Use snprintf rather than uinttostr, so that
75729         LGPLed code doesn't depend on GPLed.
75730
75731 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
75732
75733         * modules/inline (License): Change from GPL to LGPL.
75734
75735 2006-11-17  Jim Meyering  <jim@meyering.net>
75736
75737         * modules/d-type (License): Switch to LGPL.
75738
75739 2006-11-15  Bruno Haible  <bruno@clisp.org>
75740
75741         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
75742
75743 2006-11-15  Eric Blake  <ebb9@byu.net>
75744
75745         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
75746         the module dependency.
75747
75748 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
75749             Bruno Haible  <bruno@clisp.org>
75750
75751         * gnulib-tool (func_create_testdir): Add license consistency check.
75752
75753 2006-11-15  Eric Blake  <ebb9@byu.net>
75754
75755         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
75756         random "(cached)" in configure output.
75757
75758 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75759
75760         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
75761         test for conforming inttypes.h is both announced and cached.
75762
75763         * MODULES.html.sh (seen_modules, seen_files): New variables.
75764         (func_module): Rewrite to use a few less gnulib-tool and sed
75765         invocations.  Avoid a couple of quadratic algorithms for ...
75766         (missed_modules, missed_files): ... these, with ...
75767         (func_append, func_tmpdir): ... these new functions, from
75768         gnulib-tool.  Analogously, install traps for cleanup.
75769
75770         * tests/test-gc.c (main): Remove unused variables.
75771         * tests/test-read-file.c: Include stdlib.h, for 'free'.
75772
75773 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
75774
75775         * modules/inttostr (License): Change to LGPL.
75776
75777 2006-11-14  Eric Blake  <ebb9@byu.net>
75778
75779         * modules/tempname (License): Change to LGPL.
75780
75781 2006-11-14  Eric Blake  <ebb9@byu.net>
75782
75783         * doc/functions.texi (Function Portability): *printf functions on
75784         Cygwin now understand all POSIX size specifiers.
75785
75786 2006-11-14  Bruno Haible  <bruno@clisp.org>
75787
75788         * modules/c-ctype (License): Change to LGPL.
75789
75790 2006-11-12  Bruno Haible  <bruno@clisp.org>
75791
75792         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
75793         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
75794         for GNOME libraries, for which the include files are installed in
75795         subdirectories of $prefix/include.
75796
75797 2006-11-12  Bruno Haible  <bruno@clisp.org>
75798
75799         * m4/lib-link.m4: Require at least autoconf-2.54.
75800         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
75801         name to underscores for the --with option.
75802
75803 2006-11-13  Bruno Haible  <bruno@clisp.org>
75804
75805         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
75806         the tests directory.
75807         Reported by Ralf Wildenhues.
75808
75809 2006-11-13  Bruno Haible  <bruno@clisp.org>
75810
75811         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
75812         (func_emit_initmacro_end): Undo the override here.
75813         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
75814         Works around the famous automake error in coreutils.
75815
75816 2006-11-13  Eric Blake  <ebb9@byu.net>
75817
75818         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
75819         element, not its node.
75820
75821 2006-11-12  Bruno Haible  <bruno@clisp.org>
75822
75823         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
75824         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
75825
75826 2006-11-12  Bruno Haible  <bruno@clisp.org>
75827
75828         * gnulib-tool: New option --local-symlink.
75829         (func_usage): Document it.
75830         (lsymbolic): New variable.
75831         (func_import, func_create_testdir): If --symlink was not specified,
75832         test whether --local-symlink was specified and the file comes from
75833         the local_gnulib_dir.
75834
75835 2006-11-12  Bruno Haible  <bruno@clisp.org>
75836
75837         * gnulib-tool (func_ln): New function.
75838         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
75839
75840 2006-11-12  Bruno Haible  <bruno@clisp.org>
75841
75842         Finish support for source files in subdirectories.
75843         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
75844         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
75845         AUTOMAKE_OPTIONS.
75846         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
75847
75848 2006-11-12  Bruno Haible  <bruno@clisp.org>
75849
75850         * gnulib-tool (func_get_automake_snippet): Synthesize also an
75851         EXTRA_lib_SOURCES augmentation.
75852         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
75853
75854 2006-11-12  Jim Meyering  <jim@meyering.net>
75855
75856         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
75857         file descriptors.  This also averts a failure on systems with
75858         native openat support when a traversed directory lacks "x" access.
75859         * lib/fts_.h: Include "i-ring.h"
75860         (struct FTS) [fts_fd_ring]: New member.
75861         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
75862         (FCHDIR): Add parentheses.
75863         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
75864         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
75865         When descending, rather than simply closing the previous
75866         fts_cwd_fd value, push that file descriptor onto the ring.
75867         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
75868         (fts_open): Initialize the new fd_ring member.
75869         (fts_close): Clear the ring.
75870         (fts_safe_changedir): When possible, use our new fd_ring to skip
75871         the diropen and fstat and dev/ino comparison that would normally
75872         accompany a virtual `chdir ("..")'.
75873
75874         * modules/fts (Depends-on): Add i-ring.
75875         * modules/i-ring: New module.
75876         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
75877         * m4/i-ring.m4: New file.
75878
75879 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75880
75881         * gnulib-tool (func_create_testdir): Fix replacement of
75882         `build-aux' in configure.ac.  Run autotools in gltests
75883         subdirectory.
75884         (func_create_testdir, func_create_megatestdir, test): There is
75885         no need for '--force' in most autotool invocations in a new
75886         tree.  Actually fail the whole test if any of the tools, or the
75887         configure or make stages fail.
75888
75889         Sync from Automake.
75890         * build-aux/gnupload: Revert last change.  Add pointer to upload
75891         instructions of the GNU Maintenance Instructions.
75892         Suggestion by Karl Berry.
75893
75894 2006-11-10  Jim Meyering  <jim@meyering.net>
75895
75896         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
75897
75898 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75899
75900         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
75901         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
75902         (bind_textdomain_codeset) [! ENABLE_NLS]:
75903         Evaluate all the arguments.  That way, callers get compatible behavior
75904         if the arguments have side effects.  Also, it avoids some GCC
75905         diagnostics in some cases; Joel E. Denny reported problems when Bison
75906         was configured with --enable-gcc-warnigs.
75907
75908 2006-11-10  Jim Meyering  <jim@meyering.net>
75909
75910         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
75911         relevant options in CFLAGS (like -O, -fno-inline) are taken into
75912         account.
75913
75914 2006-11-10  Jim Meyering  <jim@meyering.net>
75915
75916         * modules/inline: New file/module.
75917         * modules/xalloc (Files): Remove m4/inline.m4.
75918         (Depends-on): Add inline, instead.
75919         * modules/oset: Likewise.
75920         * modules/list: Likewise.
75921
75922 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
75923
75924         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
75925         Problem reported by Matthew Woehlke.
75926
75927 2006-11-09  Bruno Haible  <bruno@clisp.org>
75928
75929         * lib/tempname.c (gen_tempname): Remove variant that invokes
75930         __gen_tempname.
75931         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
75932         __gen_tempname.
75933
75934 2006-11-08  Bruno Haible  <bruno@clisp.org>
75935
75936         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
75937         to 'yes' instead of 'cross-compiling'.
75938
75939 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
75940
75941         * lib/quotearg.h (quotearg_free): New decl.
75942         * lib/quotearg.c (quotearg_free): New function.
75943         (slot0, nslots, slotvec0, slotvec):
75944         Now file-scope so that quotearg_free can get at them.
75945
75946 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75947
75948         Sync from Automake.
75949         * build-aux/gnupload: Add missing 'gnu' to example URL.
75950         Report by Karl Berry.
75951
75952 2006-11-08  Bruno Haible  <bruno@clisp.org>
75953
75954         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
75955         Suggested by Paul Eggert.
75956
75957 2006-11-08  Jim Meyering  <jim@meyering.net>
75958
75959         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
75960         It's already included if !_LIBC.
75961         (fts_safe_changedir): Add a comment.
75962
75963 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
75964
75965         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
75966         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
75967         Matthew Woehlke.
75968
75969         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
75970         definitions up, to avoid colliding with change below.
75971         (static_inline) [HAVE_INLINE]: New macro.
75972         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
75973         Provide extern decls when !HAVE_INLINE.  Do not define unless
75974         static_inline is defined, either by us or by xmalloc.c.  Use
75975         static_inline rather than static inline.
75976         (XCALLOC): Optimize sizeof(T) = 1 case.
75977         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
75978
75979 2006-11-07  Bruno Haible  <bruno@clisp.org>
75980
75981         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
75982         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
75983         AC_C_INLINE.
75984         * modules/xalloc (Files): Add m4/inline.m4.
75985
75986 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75987
75988         * README: Fix typo.
75989         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
75990         (Miscellanous Notes): ...from this.
75991
75992 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
75993
75994         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
75995         Mention that offsetof should be used instead of sizeof.
75996         From Bruno Haible.
75997
75998 2006-11-07  Bruno Haible  <bruno@clisp.org>
75999
76000         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
76001
76002 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
76003
76004         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
76005         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
76006         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
76007         (gl_tree_add_before, gl_tree_add_after):
76008         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
76009         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
76010         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
76011         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
76012         (gl_linked_add_after, gl_linked_add_at): Likewise.
76013         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
76014         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
76015         (gl_tree_add_before, gl_tree_add_after): Likewise.
76016         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
76017         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
76018         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
76019
76020 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76021
76022         * lib/gl_oset.h: Use C comment style, not C++ comment style.
76023
76024 2006-11-06  Bruno Haible  <bruno@clisp.org>
76025
76026         * m4/inline.m4: New file.
76027         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
76028         * modules/list (Files): Add m4/inline.m4.
76029         * modules/oset (Files): Likewise.
76030
76031 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
76032
76033         * lib/idcache.c: Include <stddef.h>, for offsetof.
76034         (struct userid.name): Change from char * to a flexible array member.
76035         All uses changed.
76036         * modules/idcache (Depends-on): Add flexmember.
76037
76038         * MODULES.html.sh (Core language properties): New module flexmember.
76039         * modules/flexmember, m4/flexmember.m4: New files.
76040
76041         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
76042         inline functions that are identical with the old xnmalloc_inline,
76043         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
76044         that we can avoid some unnecessary integer multiplications and
76045         divisions in the common case where the element size is known at
76046         compile time.
76047         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
76048         needed.
76049         (xnboundedmalloc): Remove.
76050         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
76051         arguments, for consistency with rest of this header.
76052         (xcharalloc): Rewrite using XNMALLOC.
76053         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
76054         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
76055         versions have been moved to lib/xalloc.h and renamed to be the
76056         non-*_inline versions.
76057         (xmalloc, xrealloc): Implement without reference to the xnmalloc
76058         and xnrealloc functions, since those functions are now inline and
76059         now call us.
76060         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
76061         renaming described above.
76062         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
76063         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
76064         captures the dependency in AC_C_INLINE.
76065
76066         New module canonicalize-lgpl, proposed by Charles Wilson in
76067         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
76068         with a few small changes afterwards.
76069         * MODULES.html.sh (File system functions): New module
76070         canonicalize-lgpl.
76071         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
76072         and canonicalize_file_name.
76073         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
76074         * modules/canonicalize-lgpl: New files.
76075
76076 2006-11-05  Bruno Haible  <bruno@clisp.org>
76077
76078         * gnulib-tool (func_import, func_create_testdir): Create directories
76079         also for files in subdirectories of lib/.
76080
76081 2006-11-05  Bruno Haible  <bruno@clisp.org>
76082
76083         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
76084         ANSI C compliant.
76085
76086 2006-11-03  Bruno Haible  <bruno@clisp.org>
76087
76088         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
76089         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
76090         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
76091         (xnboundedmalloc): New inline function.
76092         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
76093         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
76094         xmalloc.
76095         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
76096         xmalloc.
76097         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
76098         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
76099         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
76100         xmalloc.
76101         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76102         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
76103         xmalloc.
76104         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
76105         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76106         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
76107         xmalloc.
76108         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76109         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
76110         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76111         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
76112         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
76113         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
76114         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
76115
76116 2006-11-03  Bruno Haible  <bruno@clisp.org>
76117
76118         * lib/c-ctype.h [C++]: Define functions without name mangling.
76119         * lib/fwriteerror.h [C++]: Likewise.
76120         * lib/gcd.h [C++]: Likewise.
76121         * lib/linebreak.h [C++]: Likewise.
76122
76123 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
76124
76125         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
76126         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
76127         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
76128         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
76129         Check for functions and headers just once.
76130         Check for declaration of canonicalize_file_name.
76131         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
76132
76133 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76134
76135         * gnulib-tool (func_import): Fix typo in actioncmd.
76136
76137 2006-11-02  Bruno Haible  <bruno@clisp.org>
76138
76139         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
76140         newline sequence in the Makefile.am snippet as a space, like "make"
76141         does.
76142         Reported by Roger Persson <perrog@gmail.com>.
76143
76144 2006-11-01  Bruno Haible  <bruno@clisp.org>
76145
76146         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
76147         already declared in <string.h>.
76148         * lib/strcase.h (strncasecmp): Don't declare it if yes.
76149
76150 2006-11-01  Bruno Haible  <bruno@clisp.org>
76151
76152         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
76153         * lib/strcase.h: Include <string.h>.
76154         (strcasecmp): Define to rpl_strcasecmp here.
76155
76156 2006-11-01  Bruno Haible  <bruno@clisp.org>
76157
76158         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
76159
76160 2006-11-01  Eric Blake  <ebb9@byu.net>
76161
76162         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
76163
76164         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
76165
76166 2006-10-29  Bruno Haible  <bruno@clisp.org>
76167
76168         Make it compile in C++ mode.
76169         * lib/full-write.c (full_rw): Add a cast.
76170
76171 2006-11-01  Bruno Haible  <bruno@clisp.org>
76172
76173         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
76174         be POSIX compliant.
76175         Reported by Roger Persson <perrog@gmail.com>.
76176
76177 2006-11-01  Eric Blake  <ebb9@byu.net>
76178
76179         * lib/getopt_.h: Fix comments.
76180
76181 2006-10-31  Eric Blake  <ebb9@byu.net>
76182
76183         * modules/tmpdir (Depends-on): Add sys_stat.
76184         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
76185         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
76186         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
76187         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
76188         tempname.
76189
76190 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
76191
76192         Avoid some C++ diagnostics reported by Bruno Haible.
76193         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
76194         xmalloc.
76195         (quotearg_alloc): Use xcharalloc rather than xmalloc.
76196         (struct slotvec): Move to top level.
76197         (quotearg_n_options): Rewrite to avoid xmalloc.
76198         * lib/xalloc.h (xcharalloc): New function.
76199         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
76200         [defined __cplusplus]: Add function template that provides result
76201         type propagation.  This part of the change is from Bruno Haible.
76202
76203 2006-10-29  Bruno Haible  <bruno@clisp.org>
76204
76205         Make it compile in C++ mode.
76206         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
76207         * lib/strnlen1.c (strnlen1): Cast memchr result.
76208         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
76209         * lib/clean-temp.c (string_equals, string_hash): Add casts.
76210         (create_temp_dir): Rename local variable 'template'.
76211         (compile_csharp_using_sscli): Add cast.
76212         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
76213         * lib/findprog.c (find_in_path): Likewise.
76214         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
76215         * lib/wait-process.c (register_slave_subprocess): Likewise.
76216
76217 2006-10-22  Bruno Haible  <bruno@clisp.org>
76218
76219         * modules/tsearch: New file.
76220         * lib/tsearch.h: New file.
76221         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
76222         * m4/tsearch.m4: New file.
76223         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
76224
76225 2006-10-29  Eric Blake  <ebb9@byu.net>
76226
76227         * lib/arcfour.c: Assume config.h.
76228         * lib/arctwo.c: Likewise.
76229         * lib/base64.c: Likewise.
76230         * lib/check-version.c: Likewise.
76231         * lib/crc.c: Likewise.
76232         * lib/des.c: Likewise.
76233         * lib/gc-gnulib.c: Likewise.
76234         * lib/gc-libgcrypt.c: Likewise.
76235         * lib/gc-pbkdf2-sha1.c: Likewise.
76236         * lib/getaddrinfo.c: Likewise.
76237         * lib/getdelim.c: Likewise.
76238         * lib/getline.c: Likewise.
76239         * lib/hmac-md5.c: Likewise.
76240         * lib/hmac-sha1.c: Likewise.
76241         * lib/iconvme.c: Likewise.
76242         * lib/md2.c: Likewise.
76243         * lib/md4.c: Likewise.
76244         * lib/memxor.c: Likewise.
76245         * lib/read-file.c: Likewise.
76246         * lib/readline.c: Likewise.
76247         * lib/rijndael-alg-fst.c: Likewise.
76248         * lib/rijndael-api-fst.c: Likewise.
76249         * lib/xgetdomainname.c: Likewise.
76250
76251 2006-10-28  Eric Blake  <ebb9@byu.net>
76252
76253         * lib/xstrndup.c: Assume config.h.
76254
76255 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
76256
76257         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
76258         stat-macros.h is now for our own macros, whereas stat_h is for
76259         macros in the <sys/stat.h> name space.
76260         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
76261         (STAT_MACROS_H): Remove.
76262         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
76263         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
76264         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
76265         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
76266         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
76267         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
76268         Move these macros to ...
76269         * lib/stat_.h: here.  Don't include stat-macros.h.
76270         * lib/canonicalize.c: Don't include stat-macros.h.
76271         * lib/chown.c: Likewise.
76272         * lib/euidaccess.c: Likewise.
76273         * lib/file-type.c: Likewise.
76274         * lib/filemode.c: Likewise.
76275         * lib/glob.c: Likewise.
76276         * lib/isapipe.c: Likewise.
76277         * lib/lchown.c: Likewise.
76278         * lib/lstat.c: Likewise.
76279         * lib/mkdir-p.c: Likewise.
76280         * lib/rmdir.c: Likewise.
76281         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
76282         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
76283         unless mkdir isn't declared, to speed up 'configure'.
76284         Always create sys/stat.h, since it's unlikely any real sys/stat.h
76285         would define all the S_* symbols.
76286         * modules/canonicalize (Depends-on):
76287         Depend on sys_stat, not stat-macros.
76288         * modules/chown: Likewise.
76289         * modules/euidaccess: Likewise.
76290         * modules/filemode: Likewise.
76291         * modules/file-type: Likewise.
76292         * modules/glob: Likewise.
76293         * modules/isapipe: Likewise.
76294         * modules/lchown: Likewise.
76295         * modules/lstat: Likewise.
76296         * modules/mkancesdirs: Likewise.
76297         * modules/rmdir: Likewise.
76298         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
76299         * modules/modechange: Likewise.
76300         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
76301         (configure.ac): Remove gl_STAT_MACROS.
76302         * modules/sys_stat (Depends-on): Remove stat-macros.
76303
76304 2006-10-27  Bruno Haible  <bruno@clisp.org>
76305
76306         * m4/signed.m4: Remove file.
76307         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
76308         invocation.
76309         * modules/vasnprintf (Files): Remove m4/signed.m4.
76310
76311 2006-10-27  Bruno Haible  <bruno@clisp.org>
76312
76313         Update to GNU gettext 0.16.
76314         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
76315         m4/inttypes-h.m4, m4/signed.m4.
76316         * m4/gettext.m4: Update to GNU gettext 0.16.
76317         * m4/intl.m4: New file, from GNU gettext.
76318         * m4/intldir.m4: New file, from GNU gettext.
76319         * config/srclist.txt: Update
76320
76321 2006-10-27  Eric Blake  <ebb9@byu.net>
76322
76323         * MODULES.html.sh: Document tempname.
76324         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
76325         dependencies.
76326         (Files): Move lib/tempname.c...
76327         * modules/tempname: ...to this new module.
76328         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
76329         (gl_PREREQ_TEMPNAME): Move...
76330         * m4/tempname.m4: ...to this new file.
76331         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
76332         * modules/sys_stat (Depends-on): Add stat-macros.
76333         * lib/stat_.h (includes): Pick up stat macros.
76334         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
76335         if stat macros are broken.
76336         * lib/tempname.c (includes): No need to include "stat-macros.h".
76337         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
76338         (direxists, __path_search) [!_LIBC]: Don't compile these in
76339         gnulib; the tmpdir module covers that.
76340         * lib/tempname.h: New file.
76341
76342 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
76343
76344         * COPYING: Explain how gnulib-tool converts licence headers.
76345         Almost all wording by Eric Blake.
76346
76347 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
76348
76349         * lib/mbchar.h (is_basic_table): Make read-only.
76350         * lib/mbchar.c (is_basic_table): Likewise.
76351         Reported by John Darrington.
76352
76353 2006-10-25  Bruno Haible  <bruno@clisp.org>
76354
76355         * lib/progname.h (set_program_name): Undefine before defining.
76356
76357 2006-10-25  Bruno Haible  <bruno@clisp.org>
76358
76359         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
76360         false for non-gcc C++ compilers.
76361         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
76362
76363 2006-10-24  Bruno Haible  <bruno@clisp.org>
76364
76365         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
76366         iconv implementations like Irix iconv.
76367
76368 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76369
76370         * modules/vararrays: New file.
76371         * m4/vararrays.m4: New file, taken from diffutils.
76372         * MODULES.html.sh: New module vararrays.
76373
76374 2006-10-24  Karl Berry  <karl@gnu.org>
76375
76376         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
76377         Don't call GNU Unix.
76378
76379 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76380
76381         * users.txt: Add Libtool.
76382
76383         Sync from Libtool:
76384
76385         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76386
76387         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
76388         to gnulib's policy of including config.h unconditionally.
76389
76390 2006-10-24  Bruno Haible  <bruno@clisp.org>
76391
76392         * modules/wcwidth (Files): Add m4/wint_t.m4.
76393         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
76394         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
76395
76396 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76397
76398         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
76399         to pacify GCC with some -W flags enabled.  Problem reported by
76400         Bruno Haible.
76401
76402 2006-10-24  Jim Meyering  <jim@meyering.net>
76403
76404         * MODULES.html.sh: Remove uinttostr.  It's not a module.
76405         Reported by Karl Berry.
76406
76407 2006-10-23  Bruno Haible  <bruno@clisp.org>
76408
76409         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
76410
76411 2006-10-24  Bruno Haible  <bruno@clisp.org>
76412
76413         * lib/gl_list.h: Use C comment style, not C++ comment style.
76414
76415 2006-10-23  Eric Blake  <ebb9@byu.net>
76416
76417         * lib/getaddrinfo.c (includes): Add missing include.
76418
76419 2006-10-23  Bruno Haible  <bruno@clisp.org>
76420             Paul Eggert  <eggert@cs.ucla.edu>
76421
76422         Ability to rename obstack_free.
76423         * lib/obstack.h (__obstack_free): New macro. Declare instead of
76424         obstack_free.
76425         (obstack_free): Invoke the __obstack_free macro.
76426         * lib/obstack.c (obstack_free): Use __obstack_free macro.
76427
76428 2006-10-23  Bruno Haible  <bruno@clisp.org>
76429             Paul Eggert  <eggert@cs.ucla.edu>
76430
76431         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
76432         __argc, __argv from the declaration. (They are defined as macros on
76433         mingw.)
76434
76435 2006-10-22  Bruno Haible  <bruno@clisp.org>
76436
76437         * doc/gnulib-intro.texi: New file.
76438         * doc/gnulib.texi: Include it.
76439
76440 2006-10-21  Bruno Haible  <bruno@clisp.org>
76441
76442         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
76443         "Introduction", "Miscellanous Notes", "Particular Modules".
76444
76445 2006-10-21  Bruno Haible  <bruno@clisp.org>
76446
76447         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76448         Change mostlyclean-local rule to avoid sh syntax error from bash
76449         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
76450
76451 2006-10-23  Jim Meyering  <jim@meyering.net>
76452
76453         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
76454         in place of snprintf.
76455
76456         * modules/inttostr (Files): Add lib/uinttostr.c.
76457         * lib/uinttostr.c (inttostr): New file/function.
76458         * lib/inttostr.h (uinttostr): Declare.
76459         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
76460         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
76461         Add uinttostr.
76462         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
76463
76464 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76465
76466         * lib/canonicalize.c (ELOOP): Define if not already defined.
76467         Problem reported by Bruno Haible in
76468         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
76469
76470 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76471
76472         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
76473         Problem reported by Perry Smith and Ville Laurikari.
76474
76475         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
76476         uses.
76477
76478 2006-10-19  Bruno Haible  <bruno@clisp.org>
76479
76480         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
76481         for mingw.
76482
76483 2006-10-19  Bruno Haible  <bruno@clisp.org>
76484
76485         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
76486         Needed for mingw.
76487
76488 2006-10-19  Bruno Haible  <bruno@clisp.org>
76489
76490         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
76491
76492 2006-10-19  Bruno Haible  <bruno@clisp.org>
76493
76494         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
76495         it.
76496
76497 2006-10-19  Bruno Haible  <bruno@clisp.org>
76498
76499         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
76500         invocation.
76501
76502 2006-10-19  Bruno Haible  <bruno@clisp.org>
76503
76504         * gnulib-tool (func_create_testdir): Don't include ftruncate and
76505         mountlist by default.
76506
76507 2006-10-16  Bruno Haible  <bruno@clisp.org>
76508
76509         * lib/c-strstr.c: Include c-strstr.h.
76510
76511 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76512
76513         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
76514         in a slash.
76515
76516 2006-10-18  Bruno Haible  <bruno@clisp.org>
76517
76518         * lib/lock.h [C++]: Wrap definitions in extern "C".
76519
76520 2006-10-18  Bruno Haible  <bruno@clisp.org>
76521
76522         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
76523         gl_LIBOBJS list.
76524
76525 2006-10-18  Bruno Haible  <bruno@clisp.org>
76526
76527         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
76528
76529 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
76530
76531         * lib/xstrtol.h: Include gettext.h.
76532         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
76533         Problem reported by Eric Blake.
76534         * modules/xstrtol (Depends-on): Add gettext-h.
76535
76536 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
76537
76538         * lib/strftime.c (advance): New macro.
76539         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
76540         incomplete type, so you can't add 0 to it.  Problem and patch
76541         reported by Eelco Dolstra for dietlibc.
76542
76543 2006-10-18  Jim Meyering  <jim@meyering.net>
76544
76545         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
76546         type for a local, and rename it: s/up/user_proc/.
76547
76548 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
76549
76550         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
76551         READ_UTMP_USER_PROCESS.
76552         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
76553
76554 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
76555
76556         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
76557         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
76558
76559 2006-10-17  Eric Blake  <ebb9@byu.net>
76560
76561         * lib/sigprocmask.c (sigprocmask): Fix typo.
76562
76563         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
76564
76565         * modules/clean-temp (Makefile.am): Don't add to make output...
76566         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
76567         config.h.
76568
76569 2006-10-17  Bruno Haible  <bruno@clisp.org>
76570
76571         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
76572         differently if DEFAULT_TEXT_DOMAIN is set.
76573
76574 2006-10-16  Bruno Haible  <bruno@clisp.org>
76575
76576         * lib/clean-temp.c: Include fwriteerror.h.
76577
76578 2006-10-16  Bruno Haible  <bruno@clisp.org>
76579
76580         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
76581
76582 2006-10-16  Bruno Haible  <bruno@clisp.org>
76583
76584         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
76585         * lib/sigprocmask.h: Include <sys/types.h>.
76586         (sigset_t): Use the system's definition if present.
76587
76588 2006-10-17  Eric Blake  <ebb9@byu.net>
76589
76590         * lib/xvasprintf.c (includes): Assume config.h.
76591         * lib/xasprintf.c (includes): Likewise.
76592
76593 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
76594
76595         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
76596         at least as wide as intmax_t.
76597
76598 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
76599
76600         (Imported from Automake.)
76601         * build-aux/gnupload: Update to version 1.1 of directive file.
76602
76603 2006-10-16  Eric Blake  <ebb9@byu.net>
76604
76605         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
76606         match Automake 1.10a.
76607
76608 2006-10-14  Bruno Haible  <bruno@clisp.org>
76609
76610         * modules/sigprocmask: New file.
76611         * lib/sigprocmask.h: New file.
76612         * lib/sigprocmask.c: New file.
76613         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
76614         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
76615         request sigprocmask.o.
76616         (gl_PREREQ_SIGPROCMASK): New macro.
76617         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
76618         (Depends-on): Add sigprocmask.
76619         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
76620         gt_SIGNALBLOCKING. Test for 'raise' only once.
76621         * lib/fatal-signal.c: Include sigprocmask.h.
76622         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
76623         unblock_fatal_signals): Define always.
76624         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76625         sigprocmask.
76626
76627 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76628
76629         Sync from Automake.
76630         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
76631         which incorrectly sets the mode of an existing destination
76632         directory.  In some cases the unpatched install-sh could do the
76633         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
76634         system.  We hope this is rare in practice, but it's clearly worth
76635         fixing.  Problem reported by Alex Unleashed in
76636         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
76637         Also, don't bother to check for -m bugs unless we're using -m;
76638         suggested by Stepan Kasal.
76639
76640 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76641
76642         Sync from Automake.
76643         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
76644         `-c' flag, so they appear at the same position as in %FASTDEP%
76645         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
76646         which ignores unknown options only after the first non-option.
76647         Bug report against M4 by Nelson H. F. Beebe.
76648
76649 2006-10-13  Jim Meyering  <jim@meyering.net>
76650
76651         Fix a bug in yesterday's change.
76652         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
76653         p->fts_statp->st_dev would be used uninitialized.
76654         Ensures that we always call fts_stat on the very first entry.
76655         Miklos Szeredi reported that find -xdev stopped working.
76656
76657 2006-10-12  Bruno Haible  <bruno@clisp.org>
76658
76659         * gnulib-tool (func_get_automake_snippet): Append an automatically
76660         computed EXTRA_DIST augmentation.
76661         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
76662         * modules/alloca-opt (Makefile.am): Likewise.
76663         * modules/allocsa (Makefile.am): Likewise.
76664         * modules/arcfour (Makefile.am): Likewise.
76665         * modules/arctwo (Makefile.am): Likewise.
76666         * modules/argmatch (Makefile.am): Likewise.
76667         * modules/argz (Makefile.am): Likewise.
76668         * modules/atexit (Makefile.am): Likewise.
76669         * modules/backupfile (Makefile.am): Likewise.
76670         * modules/byteswap (Makefile.am): Likewise.
76671         * modules/c-strtod (Makefile.am): Likewise.
76672         * modules/c-strtold (Makefile.am): Likewise.
76673         * modules/calloc (Makefile.am): Likewise.
76674         * modules/canon-host (Makefile.am): Likewise.
76675         * modules/canonicalize (Makefile.am): Likewise.
76676         * modules/chdir-long (Makefile.am): Likewise.
76677         * modules/chdir-safer (Makefile.am): Likewise.
76678         * modules/check-version (Makefile.am): Likewise.
76679         * modules/chown (Makefile.am): Likewise.
76680         * modules/cloexec (Makefile.am): Likewise.
76681         * modules/close-stream (Makefile.am): Likewise.
76682         * modules/closeout (Makefile.am): Likewise.
76683         * modules/crc (Makefile.am): Likewise.
76684         * modules/csharpexec (Makefile.am): Likewise.
76685         * modules/cycle-check (Makefile.am): Likewise.
76686         * modules/des (Makefile.am): Likewise.
76687         * modules/dev-ino (Makefile.am): Likewise.
76688         * modules/dirfd (Makefile.am): Likewise.
76689         * modules/dirname (Makefile.am): Likewise.
76690         * modules/dup2 (Makefile.am): Likewise.
76691         * modules/eealloc (Makefile.am): Likewise.
76692         * modules/error (Makefile.am): Likewise.
76693         * modules/euidaccess (Makefile.am): Likewise.
76694         * modules/exclude (Makefile.am): Likewise.
76695         * modules/exitfail (Makefile.am): Likewise.
76696         * modules/fcntl-safer (Makefile.am): Likewise.
76697         * modules/fcntl (Makefile.am): Likewise.
76698         * modules/file-type (Makefile.am): Likewise.
76699         * modules/fileblocks (Makefile.am): Likewise.
76700         * modules/filemode (Makefile.am): Likewise.
76701         * modules/filenamecat (Makefile.am): Likewise.
76702         * modules/fnmatch (Makefile.am): Likewise.
76703         * modules/fopen-safer (Makefile.am): Likewise.
76704         * modules/fpending (Makefile.am): Likewise.
76705         * modules/fprintftime (Makefile.am): Likewise.
76706         * modules/free (Makefile.am): Likewise.
76707         * modules/fsusage (Makefile.am): Likewise.
76708         * modules/ftruncate (Makefile.am): Likewise.
76709         * modules/fts (Makefile.am): Likewise.
76710         * modules/gc-arcfour (Makefile.am): Likewise.
76711         * modules/gc-des (Makefile.am): Likewise.
76712         * modules/gc-hmac-md5 (Makefile.am): Likewise.
76713         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
76714         * modules/gc-md4 (Makefile.am): Likewise.
76715         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
76716         * modules/gc-sha1 (Makefile.am): Likewise.
76717         * modules/gc (Makefile.am): Likewise.
76718         * modules/getaddrinfo (Makefile.am): Likewise.
76719         * modules/getcwd (Makefile.am): Likewise.
76720         * modules/getdelim (Makefile.am): Likewise.
76721         * modules/getdomainname (Makefile.am): Likewise.
76722         * modules/getgroups (Makefile.am): Likewise.
76723         * modules/gethostname (Makefile.am): Likewise.
76724         * modules/gethrxtime (Makefile.am): Likewise.
76725         * modules/getline (Makefile.am): Likewise.
76726         * modules/getloadavg (Makefile.am): Likewise.
76727         * modules/getlogin_r (Makefile.am): Likewise.
76728         * modules/getndelim2 (Makefile.am): Likewise.
76729         * modules/getopt (Makefile.am): Likewise.
76730         * modules/getpagesize (Makefile.am): Likewise.
76731         * modules/getpass-gnu (Makefile.am): Likewise.
76732         * modules/getpass (Makefile.am): Likewise.
76733         * modules/getsubopt (Makefile.am): Likewise.
76734         * modules/gettime (Makefile.am): Likewise.
76735         * modules/gettimeofday (Makefile.am): Likewise.
76736         * modules/getugroups (Makefile.am): Likewise.
76737         * modules/getusershell (Makefile.am): Likewise.
76738         * modules/glob (Makefile.am): Likewise.
76739         * modules/group-member (Makefile.am): Likewise.
76740         * modules/hard-locale (Makefile.am): Likewise.
76741         * modules/hash (Makefile.am): Likewise.
76742         * modules/hmac-md5 (Makefile.am): Likewise.
76743         * modules/hmac-sha1 (Makefile.am): Likewise.
76744         * modules/human (Makefile.am): Likewise.
76745         * modules/idcache (Makefile.am): Likewise.
76746         * modules/imaxabs (Makefile.am): Likewise.
76747         * modules/imaxdiv (Makefile.am): Likewise.
76748         * modules/inet_ntop (Makefile.am): Likewise.
76749         * modules/inet_pton (Makefile.am): Likewise.
76750         * modules/intprops (Makefile.am): Likewise.
76751         * modules/inttostr (Makefile.am): Likewise.
76752         * modules/inttypes (Makefile.am): Likewise.
76753         * modules/isapipe (Makefile.am): Likewise.
76754         * modules/javaversion (Makefile.am): Likewise.
76755         * modules/lchmod (Makefile.am): Likewise.
76756         * modules/lchown (Makefile.am): Likewise.
76757         * modules/localcharset (Makefile.am): Likewise.
76758         * modules/long-options (Makefile.am): Likewise.
76759         * modules/lstat (Makefile.am): Likewise.
76760         * modules/malloc (Makefile.am): Likewise.
76761         * modules/mathl (Makefile.am): Likewise.
76762         * modules/mbchar (Makefile.am): Likewise.
76763         * modules/md2 (Makefile.am): Likewise.
76764         * modules/md4 (Makefile.am): Likewise.
76765         * modules/md5 (Makefile.am): Likewise.
76766         * modules/memcasecmp (Makefile.am): Likewise.
76767         * modules/memchr (Makefile.am): Likewise.
76768         * modules/memcmp (Makefile.am): Likewise.
76769         * modules/memcoll (Makefile.am): Likewise.
76770         * modules/memcpy (Makefile.am): Likewise.
76771         * modules/memmem (Makefile.am): Likewise.
76772         * modules/memmove (Makefile.am): Likewise.
76773         * modules/mempcpy (Makefile.am): Likewise.
76774         * modules/memrchr (Makefile.am): Likewise.
76775         * modules/memset (Makefile.am): Likewise.
76776         * modules/memxor (Makefile.am): Likewise.
76777         * modules/mkancesdirs (Makefile.am): Likewise.
76778         * modules/mkdir-p (Makefile.am): Likewise.
76779         * modules/mkdir (Makefile.am): Likewise.
76780         * modules/mkdtemp (Makefile.am): Likewise.
76781         * modules/mkstemp (Makefile.am): Likewise.
76782         * modules/mktime (Makefile.am): Likewise.
76783         * modules/modechange (Makefile.am): Likewise.
76784         * modules/mountlist (Makefile.am): Likewise.
76785         * modules/nanosleep (Makefile.am): Likewise.
76786         * modules/obstack (Makefile.am): Likewise.
76787         * modules/openat (Makefile.am): Likewise.
76788         * modules/pagealign_alloc (Makefile.am): Likewise.
76789         * modules/pathmax (Makefile.am): Likewise.
76790         * modules/physmem (Makefile.am): Likewise.
76791         * modules/poll (Makefile.am): Likewise.
76792         * modules/posixtm (Makefile.am): Likewise.
76793         * modules/posixver (Makefile.am): Likewise.
76794         * modules/putenv (Makefile.am): Likewise.
76795         * modules/quote (Makefile.am): Likewise.
76796         * modules/quotearg (Makefile.am): Likewise.
76797         * modules/raise (Makefile.am): Likewise.
76798         * modules/read-file (Makefile.am): Likewise.
76799         * modules/readline (Makefile.am): Likewise.
76800         * modules/readlink (Makefile.am): Likewise.
76801         * modules/readtokens (Makefile.am): Likewise.
76802         * modules/readutmp (Makefile.am): Likewise.
76803         * modules/realloc (Makefile.am): Likewise.
76804         * modules/regex (Makefile.am): Likewise.
76805         * modules/rename-dest-slash (Makefile.am): Likewise.
76806         * modules/rename (Makefile.am): Likewise.
76807         * modules/rijndael (Makefile.am): Likewise.
76808         * modules/rmdir (Makefile.am): Likewise.
76809         * modules/rpmatch (Makefile.am): Likewise.
76810         * modules/safe-read (Makefile.am): Likewise.
76811         * modules/safe-write (Makefile.am): Likewise.
76812         * modules/same-inode (Makefile.am): Likewise.
76813         * modules/same (Makefile.am): Likewise.
76814         * modules/save-cwd (Makefile.am): Likewise.
76815         * modules/savedir (Makefile.am): Likewise.
76816         * modules/setenv (Makefile.am): Likewise.
76817         * modules/settime (Makefile.am): Likewise.
76818         * modules/sha1 (Makefile.am): Likewise.
76819         * modules/sig2str (Makefile.am): Likewise.
76820         * modules/snprintf (Makefile.am): Likewise.
76821         * modules/stat-macros (Makefile.am): Likewise.
76822         * modules/stat-time (Makefile.am): Likewise.
76823         * modules/stdbool (Makefile.am): Likewise.
76824         * modules/stdint (Makefile.am): Likewise.
76825         * modules/stdlib-safer (Makefile.am): Likewise.
76826         * modules/stpcpy (Makefile.am): Likewise.
76827         * modules/stpncpy (Makefile.am): Likewise.
76828         * modules/strcase (Makefile.am): Likewise.
76829         * modules/strcasestr (Makefile.am): Likewise.
76830         * modules/strchrnul (Makefile.am): Likewise.
76831         * modules/strcspn (Makefile.am): Likewise.
76832         * modules/strdup (Makefile.am): Likewise.
76833         * modules/strerror (Makefile.am): Likewise.
76834         * modules/strftime (Makefile.am): Likewise.
76835         * modules/strndup (Makefile.am): Likewise.
76836         * modules/strnlen (Makefile.am): Likewise.
76837         * modules/strpbrk (Makefile.am): Likewise.
76838         * modules/strsep (Makefile.am): Likewise.
76839         * modules/strstr (Makefile.am): Likewise.
76840         * modules/strtod (Makefile.am): Likewise.
76841         * modules/strtoimax (Makefile.am): Likewise.
76842         * modules/strtok_r (Makefile.am): Likewise.
76843         * modules/strtol (Makefile.am): Likewise.
76844         * modules/strtoll (Makefile.am): Likewise.
76845         * modules/strtoul (Makefile.am): Likewise.
76846         * modules/strtoull (Makefile.am): Likewise.
76847         * modules/strtoumax (Makefile.am): Likewise.
76848         * modules/strverscmp (Makefile.am): Likewise.
76849         * modules/sys_socket (Makefile.am): Likewise.
76850         * modules/sys_stat (Makefile.am): Likewise.
76851         * modules/sysexits (Makefile.am): Likewise.
76852         * modules/time_r (Makefile.am): Likewise.
76853         * modules/timegm (Makefile.am): Likewise.
76854         * modules/timespec (Makefile.am): Likewise.
76855         * modules/tmpfile-safer (Makefile.am): Likewise.
76856         * modules/trim (Makefile.am): Likewise.
76857         * modules/unistd-safer (Makefile.am): Likewise.
76858         * modules/unlinkdir (Makefile.am): Likewise.
76859         * modules/unlocked-io (Makefile.am): Likewise.
76860         * modules/userspec (Makefile.am): Likewise.
76861         * modules/utime (Makefile.am): Likewise.
76862         * modules/utimecmp (Makefile.am): Likewise.
76863         * modules/utimens (Makefile.am): Likewise.
76864         * modules/vasnprintf (Makefile.am): Likewise.
76865         * modules/vasprintf (Makefile.am): Likewise.
76866         * modules/vsnprintf (Makefile.am): Likewise.
76867         * modules/xalloc (Makefile.am): Likewise.
76868         * modules/xgetcwd (Makefile.am): Likewise.
76869         * modules/xnanosleep (Makefile.am): Likewise.
76870         * modules/xreadlink (Makefile.am): Likewise.
76871         * modules/xstrtod (Makefile.am): Likewise.
76872         * modules/xstrtol (Makefile.am): Likewise.
76873         * modules/xstrtold (Makefile.am): Likewise.
76874         * modules/yesno (Makefile.am): Likewise.
76875         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
76876
76877 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
76878
76879         * modules/error (Makefile.am): Distribute files through
76880         EXTRA_DIST, not lib_SOURCES.
76881
76882 2006-10-12  Eric Blake  <ebb9@byu.net>
76883
76884         * modules/error (Makefile.am): Distribute files in /lib.
76885         * modules/obstack (Makefile.am): Likewise.
76886
76887 2006-10-12  Bruno Haible  <bruno@clisp.org>
76888
76889         * modules/acl (Makefile.am): Distribute all files in lib/ through
76890         EXTRA_DIST.
76891         * modules/arcfour (Makefile.am): Likewise.
76892         * modules/arctwo (Makefile.am): Likewise.
76893         * modules/argmatch (Makefile.am): Likewise.
76894         * modules/argz (Makefile.am): Likewise.
76895         * modules/atexit (Makefile.am): Likewise.
76896         * modules/backupfile (Makefile.am): Likewise.
76897         * modules/c-strtod (Makefile.am): Likewise.
76898         * modules/c-strtold (Makefile.am): Likewise.
76899         * modules/calloc (Makefile.am): Likewise.
76900         * modules/canon-host (Makefile.am): Likewise.
76901         * modules/canonicalize (Makefile.am): Likewise.
76902         * modules/chdir-long (Makefile.am): Likewise.
76903         * modules/chdir-safer (Makefile.am): Likewise.
76904         * modules/check-version (Makefile.am): Likewise.
76905         * modules/chown (Makefile.am): Likewise.
76906         * modules/cloexec (Makefile.am): Likewise.
76907         * modules/close-stream (Makefile.am): Likewise.
76908         * modules/closeout (Makefile.am): Likewise.
76909         * modules/crc (Makefile.am): Likewise.
76910         * modules/cycle-check (Makefile.am): Likewise.
76911         * modules/des (Makefile.am): Likewise.
76912         * modules/dirfd (Makefile.am): Likewise.
76913         * modules/dirname (Makefile.am): Likewise.
76914         * modules/dup2 (Makefile.am): Likewise.
76915         * modules/euidaccess (Makefile.am): Likewise.
76916         * modules/exclude (Makefile.am): Likewise.
76917         * modules/exitfail (Makefile.am): Likewise.
76918         * modules/fcntl-safer (Makefile.am): Likewise.
76919         * modules/file-type (Makefile.am): Likewise.
76920         * modules/fileblocks (Makefile.am): Likewise.
76921         * modules/filemode (Makefile.am): Likewise.
76922         * modules/filenamecat (Makefile.am): Likewise.
76923         * modules/fnmatch (Makefile.am): Likewise.
76924         * modules/fopen-safer (Makefile.am): Likewise.
76925         * modules/fpending (Makefile.am): Likewise.
76926         * modules/fprintftime (Makefile.am): Likewise.
76927         * modules/free (Makefile.am): Likewise.
76928         * modules/fsusage (Makefile.am): Likewise.
76929         * modules/ftruncate (Makefile.am): Likewise.
76930         * modules/fts (Makefile.am): Likewise.
76931         * modules/gc (Makefile.am): Likewise.
76932         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
76933         * modules/getaddrinfo (Makefile.am): Likewise.
76934         * modules/getcwd (Makefile.am): Likewise.
76935         * modules/getdelim (Makefile.am): Likewise.
76936         * modules/getdomainname (Makefile.am): Likewise.
76937         * modules/getgroups (Makefile.am): Likewise.
76938         * modules/gethostname (Makefile.am): Likewise.
76939         * modules/gethrxtime (Makefile.am): Likewise.
76940         * modules/getline (Makefile.am): Likewise.
76941         * modules/getloadavg (Makefile.am): Likewise.
76942         * modules/getlogin_r (Makefile.am): Likewise.
76943         * modules/getopt (Makefile.am): Likewise.
76944         * modules/getpass (Makefile.am): Likewise.
76945         * modules/getpass-gnu (Makefile.am): Likewise.
76946         * modules/getsubopt (Makefile.am): Likewise.
76947         * modules/gettime (Makefile.am): Likewise.
76948         * modules/gettimeofday (Makefile.am): Likewise.
76949         * modules/getugroups (Makefile.am): Likewise.
76950         * modules/getusershell (Makefile.am): Likewise.
76951         * modules/glob (Makefile.am): Likewise.
76952         * modules/group-member (Makefile.am): Likewise.
76953         * modules/hard-locale (Makefile.am): Likewise.
76954         * modules/hash (Makefile.am): Likewise.
76955         * modules/hmac-md5 (Makefile.am): Likewise.
76956         * modules/hmac-sha1 (Makefile.am): Likewise.
76957         * modules/human (Makefile.am): Likewise.
76958         * modules/idcache (Makefile.am): Likewise.
76959         * modules/imaxabs (Makefile.am): Likewise.
76960         * modules/imaxdiv (Makefile.am): Likewise.
76961         * modules/inet_ntop (Makefile.am): Likewise.
76962         * modules/inet_pton (Makefile.am): Likewise.
76963         * modules/inttostr (Makefile.am): Likewise.
76964         * modules/isapipe (Makefile.am): Likewise.
76965         * modules/lchown (Makefile.am): Likewise.
76966         * modules/long-options (Makefile.am): Likewise.
76967         * modules/lstat (Makefile.am): Likewise.
76968         * modules/malloc (Makefile.am): Likewise.
76969         * modules/mathl (Makefile.am): Likewise.
76970         * modules/mbchar (Makefile.am): Likewise.
76971         * modules/md2 (Makefile.am): Likewise.
76972         * modules/md4 (Makefile.am): Likewise.
76973         * modules/md5 (Makefile.am): Likewise.
76974         * modules/memcasecmp (Makefile.am): Likewise.
76975         * modules/memchr (Makefile.am): Likewise.
76976         * modules/memcmp (Makefile.am): Likewise.
76977         * modules/memcoll (Makefile.am): Likewise.
76978         * modules/memcpy (Makefile.am): Likewise.
76979         * modules/memmem (Makefile.am): Likewise.
76980         * modules/memmove (Makefile.am): Likewise.
76981         * modules/mempcpy (Makefile.am): Likewise.
76982         * modules/memrchr (Makefile.am): Likewise.
76983         * modules/memset (Makefile.am): Likewise.
76984         * modules/memxor (Makefile.am): Likewise.
76985         * modules/mkancesdirs (Makefile.am): Likewise.
76986         * modules/mkdir (Makefile.am): Likewise.
76987         * modules/mkdir-p (Makefile.am): Likewise.
76988         * modules/mkdtemp (Makefile.am): Likewise.
76989         * modules/mkstemp (Makefile.am): Likewise.
76990         * modules/mktime (Makefile.am): Likewise.
76991         * modules/modechange (Makefile.am): Likewise.
76992         * modules/mountlist (Makefile.am): Likewise.
76993         * modules/nanosleep (Makefile.am): Likewise.
76994         * modules/openat (Makefile.am): Likewise.
76995         * modules/pagealign_alloc (Makefile.am): Likewise.
76996         * modules/physmem (Makefile.am): Likewise.
76997         * modules/poll (Makefile.am): Likewise.
76998         * modules/posixtm (Makefile.am): Likewise.
76999         * modules/posixver (Makefile.am): Likewise.
77000         * modules/putenv (Makefile.am): Likewise.
77001         * modules/quote (Makefile.am): Likewise.
77002         * modules/quotearg (Makefile.am): Likewise.
77003         * modules/raise (Makefile.am): Likewise.
77004         * modules/read-file (Makefile.am): Likewise.
77005         * modules/readline (Makefile.am): Likewise.
77006         * modules/readlink (Makefile.am): Likewise.
77007         * modules/readtokens (Makefile.am): Likewise.
77008         * modules/readutmp (Makefile.am): Likewise.
77009         * modules/realloc (Makefile.am): Likewise.
77010         * modules/regex (Makefile.am): Likewise.
77011         * modules/rename (Makefile.am): Likewise.
77012         * modules/rename-dest-slash (Makefile.am): Likewise.
77013         * modules/rijndael (Makefile.am): Likewise.
77014         * modules/rmdir (Makefile.am): Likewise.
77015         * modules/rpmatch (Makefile.am): Likewise.
77016         * modules/safe-read (Makefile.am): Likewise.
77017         * modules/safe-write (Makefile.am): Likewise.
77018         * modules/same (Makefile.am): Likewise.
77019         * modules/save-cwd (Makefile.am): Likewise.
77020         * modules/savedir (Makefile.am): Likewise.
77021         * modules/setenv (Makefile.am): Likewise.
77022         * modules/settime (Makefile.am): Likewise.
77023         * modules/sha1 (Makefile.am): Likewise.
77024         * modules/sig2str (Makefile.am): Likewise.
77025         * modules/snprintf (Makefile.am): Likewise.
77026         * modules/stdlib-safer (Makefile.am): Likewise.
77027         * modules/stpcpy (Makefile.am): Likewise.
77028         * modules/stpncpy (Makefile.am): Likewise.
77029         * modules/strcase (Makefile.am): Likewise.
77030         * modules/strcasestr (Makefile.am): Likewise.
77031         * modules/strchrnul (Makefile.am): Likewise.
77032         * modules/strcspn (Makefile.am): Likewise.
77033         * modules/strdup (Makefile.am): Likewise.
77034         * modules/strerror (Makefile.am): Likewise.
77035         * modules/strftime (Makefile.am): Likewise.
77036         * modules/strndup (Makefile.am): Likewise.
77037         * modules/strnlen (Makefile.am): Likewise.
77038         * modules/strpbrk (Makefile.am): Likewise.
77039         * modules/strsep (Makefile.am): Likewise.
77040         * modules/strstr (Makefile.am): Likewise.
77041         * modules/strtod (Makefile.am): Likewise.
77042         * modules/strtoimax (Makefile.am): Likewise.
77043         * modules/strtok_r (Makefile.am): Likewise.
77044         * modules/strtol (Makefile.am): Likewise.
77045         * modules/strtoll (Makefile.am): Likewise.
77046         * modules/strtoul (Makefile.am): Likewise.
77047         * modules/strtoull (Makefile.am): Likewise.
77048         * modules/strtoumax (Makefile.am): Likewise.
77049         * modules/strverscmp (Makefile.am): Likewise.
77050         * modules/time_r (Makefile.am): Likewise.
77051         * modules/timegm (Makefile.am): Likewise.
77052         * modules/tmpfile-safer (Makefile.am): Likewise.
77053         * modules/unistd-safer (Makefile.am): Likewise.
77054         * modules/unlinkdir (Makefile.am): Likewise.
77055         * modules/userspec (Makefile.am): Likewise.
77056         * modules/utime (Makefile.am): Likewise.
77057         * modules/utimecmp (Makefile.am): Likewise.
77058         * modules/utimens (Makefile.am): Likewise.
77059         * modules/vasnprintf (Makefile.am): Likewise.
77060         * modules/vasprintf (Makefile.am): Likewise.
77061         * modules/vsnprintf (Makefile.am): Likewise.
77062         * modules/xalloc (Makefile.am): Likewise.
77063         * modules/xgetcwd (Makefile.am): Likewise.
77064         * modules/xnanosleep (Makefile.am): Likewise.
77065         * modules/xreadlink (Makefile.am): Likewise.
77066         * modules/xstrtod (Makefile.am): Likewise.
77067         * modules/xstrtol (Makefile.am): Likewise.
77068         * modules/xstrtold (Makefile.am): Likewise.
77069         * modules/yesno (Makefile.am): Likewise.
77070
77071 2006-10-12  Jim Meyering  <jim@meyering.net>
77072
77073         * m4/getloadavg.m4: Revert the change below.
77074
77075         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
77076         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
77077         fail with a symlink, which is what coreutils' ./bootstrap now
77078         creates by default.
77079
77080 2006-10-12  Bruno Haible  <bruno@clisp.org>
77081
77082         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
77083         mingw.
77084         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
77085         MSVC and mingw explicitly.
77086
77087 2006-10-11  Simon Josefsson  <jas@extundo.com>
77088             Bruno Haible  <bruno@clisp.org>
77089
77090         Add support for multiple gnulib-tool invocations in the scope of a
77091         single configure.ac file.
77092         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
77093         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
77094         with the same contents as the _LIBADD variable.
77095         (func_emit_initmacro_start, func_emit_initmacro_end,
77096         func_emit_initmacro_done): New functions.
77097         (func_import, func_create_testdir): Invoke them. Allow the identifiers
77098         gl_LIBOBJS and gl_LTLIBOBJS.
77099
77100 2006-10-11  Bruno Haible  <bruno@clisp.org>
77101
77102         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
77103         (func_create_testdir): Don't create po/Makefile.am, don't invoke
77104         autoreconf. Instead, invoke autopoint explicitly but move back the
77105         *.m4 files from gnulib.
77106
77107 2006-10-11  Bruno Haible  <bruno@clisp.org>
77108
77109         * gnulib-tool (func_usage): Make module names after --create-testdir
77110         optional.
77111         (func_create_testdir): If no module was specified, use nearly all
77112         modules.
77113
77114 2006-10-12  Jim Meyering  <jim@meyering.net>
77115
77116         Big performance improvement for fts-based tools that use FTS_NOSTAT.
77117         Avoid spurious inode-mismatch problems on non-POSIX file systems.
77118         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
77119         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
77120         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
77121         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
77122         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
77123         (fts_set_stat_required): New function.
77124         (fts_open): Defer the calls to fts_stat, if possible or requested.
77125         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
77126         into fts_stat itself.
77127         (fts_read): Perform any required (deferred) fts_stat call.
77128         (fts_build): Likewise, for the directory we're about to open and read.
77129         In the readdir loop, carefully decide whether each entry will require
77130         an eventual call to fts_stat, using dirent.d_type info if available.
77131         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
77132         a command line argument into this function.  Update all callers.
77133         Map a return value of FTS_DOT to FTS_D for a command line argument.
77134         * modules/fts (Depends-on): Add d-type.  Alphabetize.
77135         Thanks to Miklos Szeredi for his tenacity and for the initial
77136         bug report about "find" failing on a FUSE-based file system.
77137
77138         * lib/fts.c (fts_open): Use consistent indentation.
77139
77140 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
77141
77142         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
77143         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
77144         reported by Jim Meyering.  All uses of cache variables renamed
77145         to match Autoconf's.
77146         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
77147         the other one.
77148
77149         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
77150         Fix misspelling in diagnostic.
77151
77152 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77153
77154         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
77155         defined.  Problem reported by Matthew Woehlke.
77156
77157         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
77158         Add support for Tandem NonStop R series.
77159         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
77160         Use new macro.
77161
77162         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
77163         (has_trailing_slash): Omit size arg; all callers changed.
77164         Omit 'inline', since it doesn't help performance and we'd
77165         need to configure it.
77166         Don't count //, ///, etc. as having a trailing slash.
77167         As a side effect, this removes a C99ism reported by Matthew Woehlke.
77168         (rpl_rename_dest_slash): On failure, use rename's errno rather
77169         than (in some cases) an incorrect or junk errno.
77170         Simplify code by removing need to compute length; this does
77171         cause it to make two passes instead of one over the file name,
77172         but it's worth it.
77173
77174         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
77175         change, since Autoconf's version may no longer be appropriate now
77176         that we are using CVS Autoconf's version.  Add support for Tandem.
77177
77178 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77179             Bruno Haible  <bruno@clisp.org>
77180
77181         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
77182         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
77183         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
77184         gl_AC_TYPE_LONG_LONG.
77185
77186         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
77187         instead of HAVE_LONG_LONG.
77188         * lib/printf-args.c (printf_fetchargs): Likewise.
77189         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
77190         * lib/vasnprintf.c (VASNPRINTF): Likewise.
77191         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
77192         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
77193         gl_AC_TYPE_LONG_LONG.
77194
77195 2006-10-11  Bruno Haible  <bruno@clisp.org>
77196
77197         * m4/longlong.m4: Add comments.
77198         * m4/ulonglong.m4: Likewise.
77199
77200 2006-10-10  Bruno Haible  <bruno@clisp.org>
77201
77202         Make it possible to #define stpcpy, strdup to aliases.
77203         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
77204         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
77205
77206 2006-10-10  Bruno Haible  <bruno@clisp.org>
77207
77208         Make it possible to #define gcd to an alias.
77209         * lib/gcd.c: Include config.h.
77210
77211 2006-10-10  Bruno Haible  <bruno@clisp.org>
77212
77213         Make it possible to #define c_isascii to an alias.
77214         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
77215         defined. Undefine the macros before defining them, to avoid gcc
77216         warnings.
77217         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
77218         define NO_C_CTYPE_MACROS early.
77219
77220 2006-10-10  Bruno Haible  <bruno@clisp.org>
77221
77222         Make it possible to #define set_program_name to an alias.
77223         * lib/progname.c: Don't undefine set_program_name; instead, undefine
77224         ENABLE_RELOCATABLE early.
77225
77226 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
77227
77228         Port to Tandem NSK OSS, which has 64-bit signed int but at most
77229         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
77230         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
77231         More generally, don't assume that 64-bit signed int is available
77232         if unsigned int is, and vice versa.
77233         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
77234         unsigned symbols, not on their signed counterparts.
77235         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
77236         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
77237         (UINT64_C, UINTMAX_C):
77238         Likewise.
77239         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
77240         unsigned counterparts.
77241         (Have_long_long, Unsigned): New macros.
77242         (Int): Renamed from INT.
77243         (strtoimax): Use the new macros.
77244         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
77245         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
77246         * modules/inttypes (inttypes.h): Substitute
77247         HAVE_UNSIGNED_LONG_LONG_INT.
77248         * modules/stdint (stdint.h): Likewise.
77249         (Files): Add m4/ulonglong.m4.
77250
77251 2006-10-10  Bruno Haible  <bruno@clisp.org>
77252
77253         Fix a gcc -Wshadow warning.
77254         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
77255         to 'bucket'.
77256         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
77257         gl_linked_indexof_from_to): Likewise.
77258         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
77259         Likewise.
77260         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
77261         Likewise.
77262         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
77263         Reported by Eric Blake.
77264
77265 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
77266
77267         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
77268         for NetBSD.  Problem reported by Bruno Haible.
77269
77270 2006-10-09  Jim Meyering  <jim@meyering.net>
77271
77272         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
77273         Patch from Bruno Haible.
77274
77275 2006-10-09  Jim Meyering  <jim@meyering.net>
77276
77277         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
77278         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
77279         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
77280
77281 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
77282
77283         Don't include <config.h> twice; this doesn't work in some cases,
77284         e.g., when config.h has "#define intmax_t long long int" and
77285         we include <config.h>, <inttypes.h>, <config.h> in that order.
77286         Problem reported by Matthew Woehlke in:
77287         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
77288         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
77289         * lib/fts-cycle.c: Don't include config.h.
77290         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
77291         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
77292         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
77293         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
77294         inttypes.h.
77295         * lib/xstrtoumax.c: Likewise.
77296         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
77297         __strtol and the like, so that this module is more like its siblings.
77298         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
77299         Remove; no longer needed now that we assume gnulib inttypes.h.
77300
77301 2006-10-08  Bruno Haible  <bruno@clisp.org>
77302
77303         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
77304         option.
77305
77306 2006-10-07  Jim Meyering  <jim@meyering.net>
77307
77308         * modules/inttypes (inttypes.h): Revert what seems to have been
77309         an inadvertent part of today's change: use "|", not "/" in the
77310         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
77311
77312 2006-10-07  Bruno Haible  <bruno@clisp.org>
77313
77314         * modules/sublist: New file.
77315
77316 2006-10-07  Bruno Haible  <bruno@clisp.org>
77317
77318         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
77319         * modules/argz (argz.h): Likewise.
77320         * modules/arpa_inet (arpa/inet.h): Likewise.
77321         * modules/byteswap (byteswap.h): Likewise.
77322         * modules/configmake (configmake.h): Likewise.
77323         * modules/fcntl (fcntl.h): Likewise.
77324         * modules/fnmatch (fnmatch.h): Likewise.
77325         * modules/getopt (getopt.h): Likewise.
77326         * modules/glob (glob.h): Likewise.
77327         * modules/inttypes (inttypes.h): Likewise.
77328         * modules/netinet_in (netinet/in.h): Likewise.
77329         * modules/poll (poll.h): Likewise.
77330         * modules/stdbool (stdbool.h): Likewise.
77331         * modules/stdint (stdint.h): Likewise.
77332         * modules/sys_select (sys/select.h): Likewise.
77333         * modules/sys_socket (sys/socket.h): Likewise.
77334         * modules/sys_stat (sys/stat.h): Likewise.
77335         * modules/sysexits (sysexits.h): Likewise.
77336         * modules/unistd (unistd.h): Likewise.
77337         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77338         Add a "DO NOT EDIT" comment to the generated file.
77339         (func_import): Likewise for gnulib-comp.m4.
77340
77341 2006-10-07  Bruno Haible  <bruno@clisp.org>
77342
77343         * lib/gl_sublist.h: New file.
77344         * lib/gl_sublist.c: New file.
77345
77346 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
77347
77348         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
77349         name (relative to the original working directory) and the file
77350         name component (relative to the temporary working directory).  All
77351         callers changed.
77352         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
77353         * lib/mkdir-p.c (make_dir_parents): Likewise.
77354         * lib/mkdir-p.h (make_dir_parents): Likewise.
77355
77356 2006-10-06  Eric Blake  <ebb9@byu.net>
77357
77358         Define several macros for use by the clean-temp module.
77359         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
77360         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
77361         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
77362
77363         * lib/clean-temp.h (close_stream_temp): New declaration.
77364         * lib/clean-temp.c (includes): Pull in headers according to what
77365         other modules are in use.
77366         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
77367
77368 2006-10-06  Bruno Haible  <bruno@clisp.org>
77369
77370         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
77371         instead of fopen, fwriteerror.
77372
77373 2006-10-06  Bruno Haible  <bruno@clisp.org>
77374
77375         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
77376         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
77377         int.
77378         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
77379         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
77380         Return an error indicator.
77381         Suggested by Eric Blake.
77382
77383 2006-10-06  Bruno Haible  <bruno@clisp.org>
77384
77385         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
77386         Reported by Eric Blake.
77387
77388 2006-10-06  Bruno Haible  <bruno@clisp.org>
77389
77390         * modules/closeout (Description): Mention stderr too.
77391
77392 2006-10-06  Bruno Haible  <bruno@clisp.org>
77393         and Paul Eggert  <eggert@cs.ucla.edu>
77394
77395         * lib/closeout.c (close_stdout): Also close stderr.
77396         * lib/closeout.h: Update comment.
77397
77398 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
77399
77400         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
77401         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
77402         * lib/dirchownmod.c: Include lchown.h.
77403         * lib/lchown.c: Don't include files that lchown.h now includes.
77404         Don't declare chown, since lchown.h now does that.
77405         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
77406         (lchown): Define to rpl_chown if lchown is declared but
77407         does not exist.  Declare using a prototype if lchown is not
77408         declared.  Add a copyright notice.
77409         * lib/mkstemp.h: Include <unistd.h>.
77410         * lib/openat.c: Include lchown.h.
77411
77412         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
77413         we now test for that separately.
77414         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
77415         rather than O_NOFOLLOW, when testing whether it's possible to
77416         avoid a race condition reliably.
77417         * lib/savewd.c (savewd_chdir): Likewise.
77418
77419         Remove macros that are no longer needed now that stdint.h is
77420         reliable.
77421         * lib/fsusage.c (UINTMAX_MAX): Remove.
77422         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
77423         * lib/utimecmp.c (SIZE_MAX): Remove.
77424
77425         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
77426
77427         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
77428         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
77429         O_NOATIME works.
77430
77431 2006-10-05  Bruno Haible  <bruno@clisp.org>
77432
77433         * lib/gl_list.h (gl_sortedlist_search_from_to,
77434         gl_sortedlist_indexof_from_to): New declarations.
77435         (gl_list_implementation): New fields sortedlist_search_from_to,
77436         sortedlist_indexof_from_to.
77437         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
77438         inline functions.
77439         * lib/gl_list.c (gl_sortedlist_search_from_to,
77440         gl_sortedlist_indexof_from_to): New functions.
77441         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
77442         function.
77443         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
77444         (gl_array_sortedlist_search_from_to): New function.
77445         (gl_array_list_implementation): Update.
77446         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
77447         function.
77448         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
77449         (gl_carray_sortedlist_search_from_to): New function.
77450         (gl_carray_list_implementation): Update.
77451         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
77452         gl_linked_sortedlist_indexof_from_to): New functions.
77453         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77454         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77455         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
77456         gl_tree_sortedlist_indexof_from_to): New functions.
77457         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77458         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77459         Update.
77460         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77461         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
77462         Update.
77463
77464 2006-10-05  Bruno Haible  <bruno@clisp.org>
77465
77466         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
77467         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
77468         (struct gl_list_implementation): Add fields search_from_to,
77469         indexof_from_to. Remove fields search, indexof.
77470         (gl_list_search): Use the search_from_to method.
77471         (gl_list_search_from, gl_list_search_from_to): New functions.
77472         (gl_list_indexof): Use the indexof_from_to method.
77473         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77474         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
77475         (gl_list_search_from, gl_list_search_from_to): New functions.
77476         (gl_list_indexof): Use the indexof_from_to method.
77477         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77478         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
77479         gl_array_indexof. Add start_index, end_index arguments.
77480         (gl_array_search_from_to): Renamed from gl_array_search. Add
77481         start_index, end_index arguments.
77482         (gl_array_remove, gl_array_list_implementation): Update.
77483         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
77484         gl_carray_indexof. Add start_index, end_index arguments.
77485         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
77486         start_index, end_index arguments.
77487         (gl_carray_remove, gl_carray_list_implementation): Update.
77488         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
77489         gl_linked_search. Add start_index, end_index arguments.
77490         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
77491         start_index, end_index arguments.
77492         (gl_linked_remove): Update.
77493         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77494         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77495         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
77496         field to 'size_t'.
77497         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
77498         gl_tree_search. Add start_index, end_index arguments.
77499         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77500         start_index, end_index arguments.
77501         (gl_tree_remove): Update.
77502         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77503         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77504         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
77505         function.
77506         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
77507         gl_tree_search. Add start_index, end_index arguments.
77508         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77509         start_index, end_index arguments.
77510         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77511         Update.
77512         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
77513
77514 2006-10-05  Bruno Haible  <bruno@clisp.org>
77515
77516         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
77517
77518         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
77519         fwriteerror_temp): New declarations.
77520         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
77521         (descriptors): New variable.
77522         (cleanup): First, close the descriptors.
77523         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
77524         fclose_temp, fwriteerror_temp): New functions.
77525
77526 2006-10-04  Jim Meyering  <jim@meyering.net>
77527
77528         * lib/fts.c (fts_open): Tiny comment change.
77529
77530 2006-10-04  Bruno Haible  <bruno@clisp.org>
77531
77532         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
77533         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
77534         gl_LOCK_BODY.
77535         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
77536         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
77537         gl_LOCK_EARLY_BODY.
77538         (gl_LOCK): Require gl_LOCK_BODY.
77539
77540 2006-10-04  Bruno Haible  <bruno@clisp.org>
77541
77542         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
77543         (gl_oset_search_atleast): New declaration.
77544         (struct gl_oset_implementation): Add field 'search_atleast'.
77545         (gl_oset_search_atleast): New inline function.
77546         * lib/gl_oset.c (gl_oset_search_atleast): New function.
77547         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
77548         (gl_array_oset_implementation): Update.
77549         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
77550         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
77551         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
77552
77553 2006-10-04  Bruno Haible  <bruno@clisp.org>
77554
77555         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
77556
77557 2006-10-03  Bruno Haible  <bruno@clisp.org>
77558
77559         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
77560         from gl_avltreehash_list_implementation.
77561
77562 2006-10-03  Bruno Haible  <bruno@clisp.org>
77563
77564         * lib/gl_oset.c (gl_oset_add): Fix return type.
77565
77566 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
77567
77568         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
77569
77570 2006-10-02  Eric Blake  <ebb9@byu.net>
77571
77572         * modules/strnlen (Depends-on): Add extensions.
77573
77574 2006-10-02  Eric Blake  <ebb9@byu.net>
77575
77576         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
77577         definition in 2.60+.
77578
77579 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
77580
77581         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
77582         checks.
77583
77584 2006-10-02  Bruno Haible  <bruno@clisp.org>
77585
77586         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
77587         to the AUTOMAKE_OPTIONS.
77588         Reported by Jim Meyering.
77589
77590 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
77591
77592         Work around bug in Solaris 10 /proc file system:
77593         /proc/self/fd/NNN/.. isn't the parent directory of
77594         the directory whose file descriptor is NNN.  This needs to
77595         be worked around at run time, not compile time, since a
77596         program might be built on Solaris 8, where things work, and
77597         run on Solaris 10.
77598         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
77599         to use the following interface instead:
77600         (OPENAT_BUFFER_SIZE): New macro.
77601         (openat_proc_name): New function.
77602         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
77603         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
77604         Likewise.
77605         * lib/openat-proc.c: New file.
77606         * modules/openat (Files): Add lib/openat-proc.c.
77607         (Depends-on): Add same-inode, stdbool.
77608         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
77609
77610 2006-09-29  Bruno Haible  <bruno@clisp.org>
77611
77612         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
77613         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
77614         argument. Set stdout_closed before testing for ferror, not after.
77615         (fwriteerror, fwriteerror_no_ebadf): New functions.
77616
77617 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77618
77619         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
77620
77621 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
77622
77623         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
77624         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
77625
77626 2006-09-28  Jim Meyering  <jim@meyering.net>
77627
77628         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
77629         Include <unistd.h>.
77630
77631 2006-09-28  Bruno Haible  <bruno@clisp.org>
77632
77633         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
77634         * modules/linkedhash-list (Depends-on): Likewise.
77635         * modules/rbtreehash-list (Depends-on): Likewise.
77636
77637 2006-09-28  Bruno Haible  <bruno@clisp.org>
77638
77639         * lib/strndup.h: Simplify the redefinition of strndup.
77640         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
77641         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
77642
77643 2006-09-28  Bruno Haible  <bruno@clisp.org>
77644
77645         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
77646         * lib/gl_linkedhash_list.c: Likewise.
77647         * lib/gl_rbtreehash_list.c: Likewise.
77648
77649 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
77650
77651         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
77652         getaddrinfo.
77653
77654         * lib/__fpending.h: Don't include <stdio_ext.h> unless
77655         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
77656         it causes <stdio_ext.h> to cause a compile-time error.
77657         Problem reported by Nelson H. F. Beebe.
77658         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
77659         of HAVE_DECL___PENDING.
77660
77661         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
77662         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
77663         declaration.
77664
77665 2006-09-27  Jim Meyering  <jim@meyering.net>
77666
77667         This file could end up with a definition for a function
77668         named __strndup, rather than rpl_strndup on a system with
77669         incomplete weak_alias support.
77670         * lib/strndup.c (strndup): Rename from __strndup.
77671         Remove #defines that used to map __strndup to strndup.
77672         Don't use K&R prototypes.
77673         Remove LIBC-related code, since this file is not sync'd with glibc.
77674         * lib/strndup.h: Revamp, accordingly.
77675         * m4/strndup.m4: Modernize.
77676
77677 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
77678
77679         * modules/savewd (Depends-on): Add 'raise'.
77680         * lib/savewd.c: Include <signal.h>, for 'raise'.
77681
77682 2006-09-26  Jim Meyering  <jim@meyering.net>
77683
77684         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
77685         when we detect Darwin 8.7.0's acl_get_file bug.
77686         Rearrange to perform the new (below) run-test while $LIBS
77687         contains any acl-related library.  Set USE_ACL at the end.
77688         (gl_ACL_GET_FILE): New function.
77689
77690 2006-09-26  Eric Blake  <ebb9@byu.net>
77691
77692         * lib/verror.c: Include <config.h> unconditionally.
77693
77694 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
77695
77696         * modules/clock-time (Maintainer): Add self.
77697         * modules/getlogin_r (Depends-on): Add extensions.
77698
77699 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77700
77701         * modules/clock-time: New module.
77702         * modules/nanosleep (Depends-on): Add clock-time.
77703         * modules/gethrxtime (Depends-on): Likewise.
77704         * modules/gettime (Depends-on): Likewise.
77705         * modules/settime (Depends-on): Likewise.
77706
77707         * modules/fts-lgpl: Depend on openat.
77708         * modules/mkancesdirs: Depend on savewd.
77709         * modules/mkdir-p: Likewise.
77710
77711 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77712
77713         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
77714
77715         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
77716         `gl_have_arbitrary_file_name_length_limit' to
77717         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
77718         actually works between configure runs.
77719
77720 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77721             Bruno Haible  <bruno@clisp.org>
77722
77723         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
77724
77725 2006-09-25  Jim Meyering  <jim@meyering.net>
77726
77727         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
77728         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
77729
77730 2006-09-25  Eric Blake  <ebb9@byu.net>
77731
77732         * gnulib-tool (func_import, func_create_testdir): Fix typos in
77733         exec's in 2006-09-18 patch when shuffling fds.
77734
77735 2006-09-25  Bruno Haible  <bruno@clisp.org>
77736
77737         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
77738         Reported by Jim Meyering.
77739
77740 2006-09-24  Jim Meyering  <jim@meyering.net>
77741
77742         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
77743         compare a pointer against a literal "0".  That caused failures with
77744         at least HP-UX's hpcc.
77745
77746 2006-09-22  Simon Josefsson  <jas@extundo.com>
77747
77748         * modules/gc-sha1:
77749         * modules/gc-md4:
77750         * modules/gc-hmac-sha1:
77751         * modules/gc-hmac-md5:
77752         * modules/gc-des:
77753         * modules/gc-arcfour: Distribute more files.
77754
77755 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77756
77757         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
77758         (gl_linked_iterator_from_to): Initialize struct completely.
77759         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
77760         (gl_tree_iterator_from_to): Likewise
77761         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
77762         * lib/gl_array_list.c [lint] (gl_array_iterator)
77763         (gl_array_iterator_from_to): Likewise.
77764         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
77765         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
77766         (gl_carray_iterator_from_to): Likewise.
77767
77768         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
77769         * lib/md4.c (md4_process_block): Remove unused variable.
77770         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
77771         parentheses for clarity.
77772
77773 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77774
77775         * modules/bison-i18n (Depends-on): Add gettext.
77776
77777 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77778
77779         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
77780         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
77781         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
77782         also add missing comma that caused broken test.
77783         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
77784         stdlib.h, for `abort'.
77785         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
77786         variables.
77787         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
77788         include unistd.h if present, for `rmdir'.
77789         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
77790         variables.
77791         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
77792         in the process include standard headers for prototypes.
77793         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
77794         gets declared on GNU/Linux.
77795         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
77796         unistd.h, for `rmdir'.
77797         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
77798
77799         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
77800         always true.
77801         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
77802
77803         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
77804
77805 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77806
77807         * gnulib-tool (func_version): Create output all at once.  This
77808         may help avoid triggering unnecessary SIGPIPEs, and at any
77809         rate it doesn't hurt.
77810
77811 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77812             Bruno Haible  <bruno@clisp.org>
77813
77814         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
77815         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
77816         * m4/signed.m4 (bh_C_SIGNED): Likewise.
77817
77818         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
77819         (gl_FUNC_VASPRINTF): Invoke it.
77820
77821 2006-09-22  Bruno Haible  <bruno@clisp.org>
77822
77823         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
77824         getloadavg.c as first argument.
77825
77826 2006-09-22  Bruno Haible  <bruno@clisp.org>
77827
77828         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
77829         at the beginning of the gl_INIT macro.
77830         * modules/getloadavg (configure.ac): Pass $gl_source_base to
77831         gl_GETLOADAVG.
77832
77833 2006-09-22  Bruno Haible  <bruno@clisp.org>
77834
77835         * gnulib-tool (func_create_megatestdir): Don't include the config-h
77836         module.
77837         Suggested by Ralf Wildenhues.
77838
77839 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
77840
77841         Import this patch from libc:
77842
77843         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
77844
77845         * lib/regex_internal.c (re_string_reconstruct): Handle
77846         offset < pstr->valid_raw_len && pstr->offsets_needed case.
77847         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
77848         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
77849         re_string_context_at.
77850
77851         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
77852         now requires it.
77853         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
77854         gl_REGEX now does it for us.
77855         (gl_REGEX): Add test taken from
77856         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
77857
77858         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
77859         Check that large offsets work.  Modernize Autoconf usages.
77860         Prefer "yes" to mean a good thing rather than a bad.
77861         Don't put "#define mkstemp" in config.h, as this might interfere
77862         with standard system headers that "#define mkstemp mkstemp64".
77863
77864         * modules/mkstemp (Depends-on): Add extensions, so that
77865         mkstemp is visible on some platforms.
77866         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
77867         (Include): Change to "mkstemp.h" from <stdlib.h>.
77868         (Files): Add mkstemp.h.
77869
77870         * lib/mkstemp.h: New file, since some standard headers
77871         #define mkstemp.
77872         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
77873         Include "mkstemp.h".
77874         Make the _LIBC code resemble glibc original more,
77875         e.g., use K&R style.
77876         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
77877         (mkstemp): Remove, since mkstemp.h does this for us.
77878         * lib/stdlib--.h: Include mkstemp.h.
77879
77880         Import this patch from libc:
77881
77882         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
77883
77884         * lib/tempname.c (__gen_tempname): Change attempts_min
77885         into a macro.  Use preprocessor to decide how to initialize
77886         attempts [Coverity CID 67].
77887
77888 2006-09-20  Bruno Haible  <bruno@clisp.org>
77889
77890         * lib/mkdtemp.c: Import from libc.
77891         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
77892                 * sysdeps/posix/tempname.c (__gen_tempname): Change
77893                 attempts_min into a macro.  Use preprocessor to decide how to
77894                 initialize attempts [Coverity CID 67].
77895         2001-11-27  Paul Eggert  <eggert@twinsun.com>
77896                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
77897                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
77898
77899 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77900
77901         * gnulib-tool (func_exit): New function, to allow to pass the
77902         exit status portably through the trap.  Use everywhere.
77903         (--help, --version): Signal a write error.
77904         (trap): catch SIGPIPE, for write errors.
77905         Exit at the end of the trap, with the correct exit status.
77906
77907 2006-09-19  Karl Berry  <karl@gnu.org>
77908
77909         * doc/gnulib.texi: note about the license texinfo files.
77910
77911 2006-09-19  Eric Blake  <ebb9@byu.net>
77912
77913         * gnulib-tool: Avoid space-tab.
77914
77915 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
77916
77917         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
77918         that prevented coreutils 6.1 from building.  Problem reported
77919         by Petter Reinholdtsen.
77920
77921 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
77922
77923         * gnulib-tool (avoidlist): Fix typo that broke options like
77924         --avoid=lock that are used by coreutils bootstrap.
77925
77926 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
77927
77928         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
77929         more systematically.
77930
77931 2006-09-18  Jim Meyering  <jim@meyering.net>
77932
77933         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
77934
77935 2006-09-18  Bruno Haible  <bruno@clisp.org>
77936
77937         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
77938
77939 2006-09-18  Bruno Haible  <bruno@clisp.org>
77940
77941         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
77942         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
77943         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
77944         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
77945         * m4/gettext.m4: Require autoconf >= 2.52.
77946         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
77947         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
77948         of gl_cv_header_inttypes_h.
77949
77950 2006-09-18  Bruno Haible  <bruno@clisp.org>
77951
77952         * lib/javaversion.c: Include configmake.h.
77953
77954 2006-09-18  Bruno Haible  <bruno@clisp.org>
77955
77956         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
77957         avoid that the while loops be executed in a subshell.
77958
77959 2006-09-18  Bruno Haible  <bruno@clisp.org>
77960
77961         * MODULES.html.sh (func_module): Break long lines.
77962         Suggested by Bruce Korb <bkorb@gnu.org>.
77963
77964 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77965
77966         Speed up by a factor of 1.12.
77967         * gnulib-tool (nl): New variable.
77968         (func_import): Rewrite include directive extraction to only read each
77969         directive once.
77970
77971 2006-09-17  Bruno Haible  <bruno@clisp.org>
77972
77973         * modules/javaversion (Makefile.am): Remove DEFS setting.
77974         (Depends-on): Add configmake, for PKGDATADIR definition.
77975
77976 2006-09-17  Bruno Haible  <bruno@clisp.org>
77977
77978         * gnulib-tool (func_create_testdir): Rewrite all files at once.
77979
77980 2006-09-17  Bruno Haible  <bruno@clisp.org>
77981
77982         * gnulib-tool (func_append): New function, stolen from libtool.m4.
77983         (func_modules_transitive_closure, func_modules_add_dummy,
77984         func_modules_to_filelist, func_import, func_create_testdir,
77985         func_create_megatestdir, ...): Use it wherever possible.
77986         Suggested by Ralf Wildenhues.
77987
77988 2006-09-16  Karl Berry  <karl@gnu.org>
77989
77990         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
77991         to avoid sectioning errors.
77992         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
77993         [ifinfo]: blank line after @center-ed titles.
77994         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
77995         Spell FSF address consistently with others.
77996         (These changes approved by rms.)
77997
77998 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77999
78000         Speed up by a factor of 1.61.
78001         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
78002         already checked module names again.
78003
78004 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78005
78006         Speed up by a factor of 1.13.
78007         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
78008         for new_files, and the input to func_add_or_update.
78009
78010 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78011
78012         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
78013         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
78014
78015 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78016
78017         * modules/mkancesdirs (Depends-on): Add fcntl.
78018         * modules/savewd: New file.
78019         * MODULES.html.sh (File system functions): Add savewd.
78020
78021         * modules/configmake (Makefile.am): Add support for the
78022         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
78023
78024 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78025
78026         * m4/savewd.m4: New file.
78027
78028 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78029
78030         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
78031         (dirchownmod): New arg FD.  All callers changed.
78032         Use FD rather than opening the directory ourself, as opening is
78033         now the caller's responsibility.
78034         * lib/dirchownmod.h: Likewise.
78035         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
78036         hosts that require <sys/types.h> before <sys/stat.h>.  Include
78037         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
78038         (test_dir): Remove.
78039         (mkancesdirs): Return length of prefix of FILE that has already
78040         been made, or -2 if there is a child doing the work.  Redo
78041         algorithm so that it is O(N) rather than O(N**2).  Optimize away
78042         ".", and treat ".." specially since it might stray back into
78043         already-created areas.  Use a subprocess if necessary.  New arg
78044         WD; all users changed.  MAKE_DIR function should now return 1
78045         if it creates a directory that is not readable.  Return -2 if
78046         a child process is spun off.
78047         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
78048         Adjust signature to match code.
78049         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
78050         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
78051         all users changed.
78052         * lib/savewd.c, lib/savewd.h: New files.
78053
78054 2006-09-15  Jim Meyering  <jim@meyering.net>
78055
78056         * modules/rename-dest-slash: New module.
78057         * MODULES.html.sh (posix_compat): Add it here.
78058
78059         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
78060
78061 2006-09-15  Jim Meyering  <jim@meyering.net>
78062
78063         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
78064         file.
78065
78066         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
78067
78068 2006-09-15  Jim Meyering  <jim@meyering.net>
78069
78070         * lib/rename-dest-slash.c (has_trailing_slash): Use
78071         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
78072         (rpl_rename_dest_slash): Perform the cheaper trailing slash
78073         test before testing whether SRC is a directory.
78074         Suggestions from Bruno Haible.
78075
78076         Avoid a warning about an unused variable.
78077         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
78078         into the #ifdef block where it's used.
78079
78080         * lib/rename-dest-slash.c: New file.
78081
78082 2006-09-14  Bruno Haible  <bruno@clisp.org>
78083
78084         * lib/allocsa.c: Include <config.h> unconditionally.
78085         * lib/asnprintf.c: Likewise.
78086         * lib/asprintf.c: Likewise.
78087         * lib/c-strcasecmp.c: Likewise.
78088         * lib/c-strcasestr.c: Likewise.
78089         * lib/c-strncasecmp.c: Likewise.
78090         * lib/c-strstr.c: Likewise.
78091         * lib/classpath.c: Likewise.
78092         * lib/clean-temp.c: Likewise.
78093         * lib/concatpath.c: Likewise.
78094         * lib/copy-file.c: Likewise.
78095         * lib/csharpcomp.c: Likewise.
78096         * lib/csharpexec.c: Likewise.
78097         * lib/execute.c: Likewise.
78098         * lib/fatal-signal.c: Likewise.
78099         * lib/findprog.c: Likewise.
78100         * lib/fwriteerror.c: Likewise.
78101         * lib/gl_array_list.c: Likewise.
78102         * lib/gl_array_oset.c: Likewise.
78103         * lib/gl_avltree_list.c: Likewise.
78104         * lib/gl_avltree_oset.c: Likewise.
78105         * lib/gl_avltreehash_list.c: Likewise.
78106         * lib/gl_carray_list.c: Likewise.
78107         * lib/gl_linked_list.c: Likewise.
78108         * lib/gl_linkedhash_list.c: Likewise.
78109         * lib/gl_list.c: Likewise.
78110         * lib/gl_oset.c: Likewise.
78111         * lib/gl_rbtree_list.c: Likewise.
78112         * lib/gl_rbtree_oset.c: Likewise.
78113         * lib/gl_rbtreehash_list.c: Likewise.
78114         * lib/imaxabs.c: Likewise.
78115         * lib/imaxdiv.c: Likewise.
78116         * lib/javacomp.c: Likewise.
78117         * lib/javaexec.c: Likewise.
78118         * lib/javaversion.c: Likewise.
78119         * lib/linebreak.c: Likewise.
78120         * lib/localcharset.c: Likewise.
78121         * lib/lock.c: Likewise.
78122         * lib/mbchar.c: Likewise.
78123         * lib/mbswidth.c: Likewise.
78124         * lib/mkdtemp.c: Likewise.
78125         * lib/pipe.c: Likewise.
78126         * lib/printf-args.c: Likewise.
78127         * lib/printf-parse.c: Likewise.
78128         * lib/progname.c: Likewise.
78129         * lib/progreloc.c: Likewise.
78130         * lib/readlink.c: Likewise.
78131         * lib/sh-quote.c: Likewise.
78132         * lib/stpcpy.c: Likewise.
78133         * lib/stpncpy.c: Likewise.
78134         * lib/strcasecmp.c: Likewise.
78135         * lib/strcasestr.c: Likewise.
78136         * lib/strcspn.c: Likewise.
78137         * lib/striconv.c: Likewise.
78138         * lib/strncasecmp.c: Likewise.
78139         * lib/strnlen1.c: Likewise.
78140         * lib/strstr.c: Likewise.
78141         * lib/strtok_r.c: Likewise.
78142         * lib/tls.c: Likewise.
78143         * lib/tmpdir.c: Likewise.
78144         * lib/unicodeio.c: Likewise.
78145         * lib/unsetenv.c: Likewise.
78146         * lib/vasnprintf.c: Likewise.
78147         * lib/vasprintf.c: Likewise.
78148         * lib/wait-process.c: Likewise.
78149         * lib/xallocsa.c: Likewise.
78150         * lib/xsetenv.c: Likewise.
78151         * lib/xstriconv.c: Likewise.
78152
78153 2006-09-13  Simon Josefsson  <jas@extundo.com>
78154
78155         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
78156         that internally, suggested by Ralf Wildenhues
78157         <Ralf.Wildenhues@gmx.de>.
78158
78159 2006-09-13  Simon Josefsson  <jas@extundo.com>
78160
78161         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
78162         @LIBOBJS@.
78163         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78164
78165 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
78166
78167         * lib/_fpending.c: Include <config.h> unconditionally, since we no
78168         longer worry about uses that don't define HAVE_CONFIG_H.
78169         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
78170         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
78171         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
78172         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
78173         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
78174         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
78175         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
78176         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
78177         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
78178         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
78179         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
78180         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
78181         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
78182         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
78183         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
78184         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
78185         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
78186         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
78187         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
78188         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
78189         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
78190         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
78191         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
78192         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
78193         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
78194         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
78195         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
78196         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
78197         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
78198         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
78199         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
78200         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
78201         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
78202         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
78203         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
78204         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
78205         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
78206         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
78207         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
78208         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
78209         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
78210         Likewise.
78211
78212 2006-09-13  Eric Blake  <ebb9@byu.net>
78213
78214         * lib/getopt.c: Fix typo in last commit.
78215
78216 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
78217
78218         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
78219         dgettext.
78220
78221 2006-09-12  Jim Meyering  <jim@meyering.net>
78222
78223         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
78224         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
78225         Reported by Nelson H. F. Beebe.
78226
78227 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
78228
78229         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
78230         program_invocation_name and program_invocation_short_name are
78231         initialized.
78232         * lib/argp-namefrob.h: Move declarations of program_invocation_name
78233         and program_invocation_short_name to argp.h, so they are visible
78234         to user programs.
78235         * lib/argp.h: Likewise
78236
78237 2006-09-10  Bruno Haible  <bruno@clisp.org>
78238
78239         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
78240         m4/inttypes_h.m4, m4/uintmax_t.m4.
78241
78242 2006-09-10  Bruno Haible  <bruno@clisp.org>
78243
78244         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
78245         gl_AC_TYPE_UINTMAX_T.
78246
78247 2006-09-10  Bruno Haible  <bruno@clisp.org>
78248
78249         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
78250
78251 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78252
78253         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
78254         convention.  Text proposed by Bruno Haible.
78255         (struct argp_option): Document the use of N_() wrappers.
78256
78257         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
78258         '\v', and translate the two parts separately, instead of feeding
78259         the whole string to gettext.  This allows to exclude
78260         '\v' from the strings visible to the translator by writing doc
78261         strings as N_("..") "\v" N_("..").
78262
78263 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
78264
78265         * config/srclist.txt: Undo latest change; the bug was fixed.
78266
78267 2006-09-09  Bruno Haible  <bruno@clisp.org>
78268
78269         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
78270         assignments if building a library without libtool.
78271         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
78272         in func_emit_lib_Makefile_am.
78273         (func_import): When building a static library libfoo.a, arrange to
78274         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
78275         (func_create_testdir): Likewise.
78276         * modules/gc (configure.ac, Makefile.am): If building statically,
78277         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
78278         * modules/iconvme (configure.ac, Makefile.am): Likewise.
78279         * modules/striconv (configure.ac, Makefile.am): Likewise.
78280         Based on a suggestion by Ralf Wildenhues.
78281
78282 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78283
78284         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
78285         Check for unistd.h too, since Autoconf doesn't assume POSIX.
78286         Also:
78287
78288         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78289         Add year_2050_test to catch glibc bug 2821
78290         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78291
78292         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78293         Prefer #ifdef to #if.
78294
78295         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
78296         Return from 'main' instead of calling 'exit'.
78297
78298 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78299
78300         * lib/mktime.c (guess_time_tm): Fix bug where mktime
78301         returned the maximum time_t value rather than (time_t) -1.
78302         Problem originally reported by William Bardwell
78303         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78304
78305         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78306         Moved to here ...
78307         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78308         ... from here.
78309
78310 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78311
78312         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
78313         2821 is fixed.
78314
78315 2006-09-08  Jim Meyering  <jim@meyering.net>
78316
78317         Don't make generated files read-only.  That would bother too many
78318         people.  However, do retain the ability to work when targets are
78319         read-only: remove the destination and temporary files before writing
78320         them (when generated via sed or echo), or by using the -f option for
78321         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
78322         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78323         * modules/byteswap, modules/configmake, modules/fcntl:
78324         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78325         * modules/localcharset, modules/netinet_in, modules/poll:
78326         * modules/stdbool, modules/stdint, modules/sys_select:
78327         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78328
78329 2006-09-08  Jim Meyering  <jim@meyering.net>
78330
78331         Avoid new build failure on FreeBSD 6.0.
78332         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
78333         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
78334         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
78335
78336 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78337
78338         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
78339
78340 2006-09-07  Jim Meyering  <jim@meyering.net>
78341
78342         Fix global typo in last change: use chmod u-w, not chmod u-x.
78343         Spotted by Paul Eggert and Bruce Korb.
78344         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78345         * modules/byteswap, modules/configmake, modules/fcntl:
78346         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78347         * modules/localcharset, modules/netinet_in, modules/poll:
78348         * modules/stdbool, modules/stdint, modules/sys_select:
78349         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78350
78351 2006-09-06  Jim Meyering  <jim@meyering.net>
78352
78353         Make generated files be read-only.
78354         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
78355         Ensure that each generated file is now read-only.
78356         * modules/argz: Likewise.
78357         * modules/arpa_inet: Likewise.
78358         * modules/byteswap: Likewise.
78359         * modules/configmake: Likewise.
78360         * modules/fcntl: Likewise.
78361         * modules/fnmatch: Likewise.
78362         * modules/getopt: Likewise.
78363         * modules/glob: Likewise.
78364         * modules/inttypes: Likewise.
78365         * modules/netinet_in: Likewise.
78366         * modules/poll: Likewise.
78367         * modules/stdbool: Likewise.
78368         * modules/stdint: Likewise.
78369         * modules/sys_select: Likewise.
78370         * modules/sys_socket: Likewise.
78371         * modules/sys_stat: Likewise.
78372         * modules/sysexits: Likewise.
78373         * modules/localcharset: Same as above, but continue using temporary
78374         file named "t-$@" (why different?) rather than the "$@-t" used
78375         everywhere else.
78376
78377         * modules/sysexits (Makefile.am): Replace literal occurrences
78378         of "sysexit.h" more readable, and more consistent, "$@".
78379
78380 2006-09-06  Bruno Haible  <bruno@clisp.org>
78381
78382         * modules/striconv: New file.
78383         * modules/xstriconv: New file.
78384         * MODULES.html.sh (Internationalization functions): Add striconv,
78385         xstriconv.
78386
78387 2006-09-06  Bruno Haible  <bruno@clisp.org>
78388
78389         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
78390         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
78391         not using libtool correctly.
78392
78393 2006-09-06  Bruno Haible  <bruno@clisp.org>
78394
78395         * lib/striconv.h: New file.
78396         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
78397         iconvstring.c.
78398         * lib/xstriconv.h: New file.
78399         * lib/xstriconv.c: New file.
78400
78401 2006-09-06  Bruno Haible  <bruno@clisp.org>
78402
78403         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
78404         lib_..._LDFLAGS.
78405
78406 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78407
78408         * lib/argz_.h: Sync from Libtool.
78409
78410         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
78411                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
78412
78413         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
78414
78415 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78416
78417         * modules/trim: New file.
78418
78419 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78420
78421         * lib/trim.h: New file.
78422         * lib/trim.c: New file.
78423
78424 2006-09-05  Bruno Haible  <bruno@clisp.org>
78425
78426         * MODULES.html.sh (String handling): Add trim.
78427
78428 2006-09-04  Karl Berry  <karl@gnu.org>
78429
78430         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
78431         until next release.
78432
78433 2006-09-03  Bruno Haible  <bruno@clisp.org>
78434
78435         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
78436         correctly.
78437
78438 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78439
78440         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
78441         not gl_GETLOADAVG.  Omit unneeded semicolons.
78442         Problems reported by Ralf Wildenhues in
78443         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78444         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
78445         at the end, which is the usual gnulib style.
78446
78447         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
78448         of doing all the work ourselves.
78449         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
78450         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
78451
78452 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78453
78454         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
78455         Problem reported by Ralf Wildenhues in
78456         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78457
78458         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
78459         HAVE_STRUCT_STATFS_F_FSTYPENAME.
78460
78461 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78462
78463         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
78464         yesterday's patch by changing test -n to test -z.
78465
78466 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78467
78468         * modules/getloadavg (Files): Add m4/getloadavg.m4.
78469         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
78470         the former is now obsolescent.
78471
78472         * modules/chdir-long (Depends-on): Add fcntl.
78473
78474 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78475
78476         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
78477         obsolescent, and programs should use gnulib instead.
78478         * m4/getloadavg.m4: New file, with contents taken from Autoconf
78479         but with prefixes changed.
78480
78481 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78482
78483         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
78484         or stdbool.h, because they might not exist while configuring.
78485
78486         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
78487         Don't include unistd.h or limits.h; not needed, since chdir-long.h
78488         does that for us.
78489         (O_DIRECTORY): Remove.
78490
78491 2006-08-31  Eric Blake  <ebb9@byu.net>
78492
78493         * gnulib-tool: Don't let emacs change spaces to TAB.
78494
78495 2006-08-31  Bruno Haible  <bruno@clisp.org>
78496
78497         * gnulib-tool: When calling func_import more than once, do it in a
78498         subshell.
78499         Reported by Eric Blake <ebb9@byu.net>.
78500
78501 2006-08-31  Bruno Haible  <bruno@clisp.org>
78502
78503         * gnulib-tool (nl): Remove variable.
78504         (sed_transform_lib_file): Use more robust test for config-h module.
78505         (func_import): Fix typo in 2006-08-25 patch.
78506
78507 2006-08-31  Bruno Haible  <bruno@clisp.org>
78508
78509         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
78510         specified, augment Makefile.am variables instead of assigning them.
78511
78512 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78513
78514         Work around a bug in both the Linux and SunOS 64-bit kernels:
78515         nanosleep mishandles sleeps for longer than 2**31 seconds.
78516         Problem reported by Frank v Waveren in
78517         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78518         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
78519         Check for nanosleep bug.
78520         (LIB_NANOSLEEP): Append clock_gettime library if needed.
78521
78522 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78523
78524         Work around a bug in both the Linux and SunOS 64-bit kernels:
78525         nanosleep mishandles sleeps for longer than 2**31 seconds.
78526         Problem reported by Frank v Waveren in
78527         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78528         * lib/nanosleep.c (BILLION): New constant.
78529         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
78530         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
78531         implementation.
78532
78533 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78534
78535         * modules/nanosleep (Depends-on): Add gettime.
78536
78537 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78538         and Simon Josefsson  <jas@extundo.com>
78539         and Oskar Liljeblad  <oskar@osk.mine.nu>
78540
78541         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
78542         * gnulib-tool (func_import): New license type 'unmodifiable license
78543         text'.
78544         * modules/fdl: Use it.  Longer description.
78545         * module/gpl, module/lgpl: New files.
78546
78547 2006-08-30  Jim Meyering  <jim@meyering.net>
78548
78549         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
78550         shadowing the parameter.
78551
78552 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78553
78554         Sync from Libtool:
78555
78556         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78557
78558         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
78559         sharing with gnulib.  Report by Eric Blake.
78560
78561 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78562
78563         * modules/isapipe: New file.
78564         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
78565
78566 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78567
78568         * modules/configmake (Makefile.am): Add a comment, and omit
78569         the CONFIGMAKE_ prefix from generated macro names.  Suggested
78570         by Bruno Haible.
78571
78572 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78573
78574         * m4/isapipe.m4: New file.
78575
78576 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78577
78578         * lib/isapipe.c, lib/isapipe.h: New files.
78579
78580 2006-08-29  Jim Meyering  <jim@meyering.net>
78581
78582         * modules/configmake (Makefile.am): Make configmake.h depend on
78583         Makefile.  Otherwise, a stale configmake.h could hang around.
78584
78585 2006-08-29  Eric Blake  <ebb9@byu.net>
78586
78587         * lib/error.c (error_at_line, print_errno_message): Match libc, after
78588         resolution of upstream bug 3044.
78589
78590 2006-08-29  Bruno Haible  <bruno@clisp.org>
78591
78592         * modules/localcharset (Depends-on): Add configmake.
78593         (Makefile.am): Remove setting of LIBDIR through DEFS.
78594
78595 2006-08-29  Bruno Haible  <bruno@clisp.org>
78596
78597         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
78598         defined.
78599
78600 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78601
78602         * modules/fcntl: New file.
78603         * modules/chdir-safer (Depends-on): Add fcntl.
78604         * modules/fts: Likewise.
78605         * modules/mkdir-p: Likewise.
78606
78607         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
78608         This undoes the most recent change, since we're now addressing the
78609         problem in a different way.
78610
78611         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
78612         into output, since the output might be called Makefile.am even
78613         if $makefile_name is something different.
78614         (func_import): Use $makefile_am rather than
78615         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
78616         empty.
78617
78618         * modules/inttypes (Files): Add m4/inttypes-h.m4.
78619
78620 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78621
78622         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
78623         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
78624         recent change to stdint.m4, since we're now addressing the problem in a
78625         different way.
78626
78627 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78628
78629         * m4/fcntl_h.m4: New file.
78630
78631 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78632
78633         * lib/fcntl_.h: New file.
78634         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
78635         the fcntl module.
78636         * lib/dirchownmod.c: Likewise.
78637         * lib/fts.c: Likewise.
78638
78639         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
78640         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
78641         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
78642         just before including <inttypes.h>, to avoid circular inclusion.
78643
78644 2006-08-28  Jim Meyering  <jim@meyering.net>
78645
78646         * doc/visibility.texi: Actually read and correct the grammar of the
78647         sentence affected by yesterday's change.
78648
78649 2006-08-28  Eric Blake  <ebb9@byu.net>
78650
78651         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
78652         needs wrapper.
78653
78654 2006-08-28  Eric Blake  <ebb9@byu.net>
78655
78656         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
78657
78658 2006-08-28  Eric Blake  <ebb9@byu.net>
78659
78660         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
78661
78662 2006-08-28  Bruno Haible  <bruno@clisp.org>
78663
78664         * modules/c-strstr: New file, from GNU gettext.
78665         * MODULES.html.sh (String handling): Add c-strstr.
78666
78667 2006-08-28  Bruno Haible  <bruno@clisp.org>
78668
78669         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
78670         macros.
78671         Reported by Eric Blake.
78672
78673 2006-08-28  Bruno Haible  <bruno@clisp.org>
78674
78675         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
78676         (VASNPRINTF): Return a string of length > INT_MAX without failing.
78677         * lib/vasprintf.c: Include errno.h, limits.h.
78678         (EOVERFLOW): New fallback definition.
78679         (vasprintf): Test here whether the string length is > INT_MAX.
78680         * lib/vsnprintf.c: Include errno.h, limits.h.
78681         (EOVERFLOW): New fallback definition.
78682         (vsnprintf): Fix bug when generated string was too long for the buffer.
78683         Test here whether the string length is > INT_MAX.
78684
78685 2006-08-28  Bruno Haible  <bruno@clisp.org>
78686
78687         * lib/inttypes_.h (SCNX*): Remove definitions.
78688         Reported by Eric Blake.
78689
78690 2006-08-28  Bruno Haible  <bruno@clisp.org>
78691
78692         * lib/c-strstr.h: New file, from GNU gettext.
78693         * lib/c-strstr.c: New file, from GNU gettext.
78694
78695 2006-08-28  Bruno Haible  <bruno@clisp.org>
78696
78697         * gnulib-tool: Reorder some statements.
78698
78699 2006-08-28  Bruno Haible  <bruno@clisp.org>
78700
78701         * gnulib-tool: New option --makefile-name.
78702         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
78703         $makefile_name.
78704         (func_import): Write $makefile_name to the cache file, and read it from
78705         there unless explicitly specified. Use $makefile_name as file name
78706         instead of Makefile.am. Adjust the recommendations accordingly.
78707
78708 2006-08-28  Bruno Haible  <bruno@clisp.org>
78709
78710         * gnulib-tool (func_verify_module): Check against misapplying patch.
78711
78712 2006-08-28  Bruno Haible  <bruno@clisp.org>
78713
78714         * gnulib-tool (func_relativize, func_relconcat): New functions.
78715         Give an error if --local-dir is given with --update.
78716         Remove trailing slashes from $local_gnulib_dir.
78717         (func_import): Store the relativized $local_gnulib_dir in
78718         gnulib-cache.m4, and read it from there if not specified explicitly.
78719
78720 2006-08-28  Bruno Haible  <bruno@clisp.org>
78721
78722         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
78723         is the current directory. Respect also $local_gnulib_dir.
78724
78725 2006-08-28  Bruno Haible  <bruno@clisp.org>
78726             Simon Josefsson  <jas@extundo.com>
78727
78728         BeOS portability.
78729         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
78730
78731 2006-08-27  Jim Meyering  <jim@meyering.net>
78732
78733         * doc/visibility.texi: Remove duplicate word: "pointer".
78734
78735 2006-08-26  Bruno Haible  <bruno@clisp.org>
78736
78737         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
78738         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
78739         (Makefile.am): Create inttypes.h from inttypes_.h.
78740         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
78741
78742         * modules/imaxabs: New file.
78743
78744         * modules/imaxdiv: New file.
78745
78746 2006-08-26  Bruno Haible  <bruno@clisp.org>
78747
78748         * m4/inttypes.m4: New file.
78749         * m4/_inttypes_h.m4: Remove file.
78750         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
78751         PRI_MACROS_BROKEN.
78752         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
78753
78754         * m4/imaxabs.m4: New file.
78755
78756         * m4/imaxdiv.m4: New file.
78757
78758 2006-08-26  Bruno Haible  <bruno@clisp.org>
78759
78760         * lib/inttypes_.h: New file.
78761         * lib/inttypes.h: Remove file.
78762         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
78763
78764         * lib/imaxabs.c: New file.
78765
78766         * lib/imaxdiv.c: New file.
78767
78768 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78769
78770         New config-h module, so that "make" output needn't be cluttered
78771         by -DHAVE_CONFIG_H.
78772         * MODULES.html.sh (Support for building libraries and executables):
78773         Add config-h.
78774         * modules/config-h: New file.
78775         * gnulib-tool (nl, sed_transform_lib_file): New vars.
78776         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
78777         the config-h module is used.
78778
78779         New configmake module, so that "make" output needn't be cluttered
78780         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
78781         * MODULES.html.sh (Support for building libraries and executables):
78782         Add configmake.
78783         * modules/configmake: New file.
78784
78785 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
78786
78787         * m4/config-h.m4: New file.
78788
78789 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78790
78791         * config/srclist.txt: Add elisp-comp.
78792
78793 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
78794
78795         * MODULES.html.sh (Support for building libraries and executables):
78796         Add elisp-comp.
78797         * build-aux/elisp-comp: New file.
78798         * modules/elisp-comp: New file.
78799
78800 2006-08-24  Bruno Haible  <bruno@clisp.org>
78801
78802         * gnulib-tool (func_create_testdir): Use non-default values of
78803         sourcebase and m4base.
78804
78805 2006-08-24  Bruno Haible  <bruno@clisp.org>
78806
78807         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
78808         HTML structure.
78809
78810 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
78811
78812         * modules/openat (Depends-on): Add lchown.
78813
78814 2006-08-23  Bruno Haible  <bruno@clisp.org>
78815
78816         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
78817         of gl_LOCK_EARLY instead of gl_LOCK.
78818
78819 2006-08-23  Bruno Haible  <bruno@clisp.org>
78820
78821         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
78822         on OSF/1 to no.
78823         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
78824
78825 2006-08-23  Bruno Haible  <bruno@clisp.org>
78826
78827         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
78828         as unusable.
78829
78830         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
78831         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
78832         (gl_LOCK): New macro.
78833
78834 2006-08-22  Simon Josefsson  <jas@extundo.com>
78835
78836         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
78837         to md5 module.
78838
78839 2006-08-22  Simon Josefsson  <jas@extundo.com>
78840
78841         * MODULES.html.sh: Add "Support for maintaining and release
78842         projects".
78843
78844         * build-aux/gnupload: New file, from coreutils.
78845
78846 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78847
78848         Avoid the need for AC_LIBSOURCES in m4 macros.
78849         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
78850         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
78851         * modules/check-version (EXTRA_DIST): Add check-version.h.
78852         * modules/crc (EXTRA_DIST): Add crc.h.
78853         * modules/des (EXTRA_DIST): Add des.h.
78854         * modules/gc (EXTRA_DIST): Add gc.h.
78855         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
78856         * modules/getline (EXTRA_DIST): Add getline.h.
78857         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
78858         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
78859         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
78860         * modules/md2 (EXTRA_DIST): Add md2.h.
78861         * modules/md4 (EXTRA_DIST): Add md4.h.
78862         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
78863         * modules/read-file (EXTRA_DIST): Add read-file.h.
78864         * modules/readline (EXTRA_DIST): Add readline.h.
78865         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
78866         rijndael-api-fst.h.
78867
78868 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78869
78870         * m4/rijndael.m4 (gl_ARCFOUR):
78871         * m4/arctwo.m4 (gl_ARCTWO):
78872         * m4/check-version.m4 (gl_CHECK_VERSION):
78873         * m4/crc.m4 (gl_CRC):
78874         * m4/des.m4 (gl_DES):
78875         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
78876         * m4/gc.m4 (gl_GC):
78877         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
78878         * m4/getline.m4 (gl_FUNC_GETLINE):
78879         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
78880         * m4/hmac-md5.m4 (gl_HMAC_MD5):
78881         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
78882         * m4/md2.m4 (gl_MD2):
78883         * m4/md4.m4 (gl_MD4):
78884         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
78885         * m4/read-file.m4 (gl_FUNC_READ_FILE):
78886         * m4/readline.m4 (gl_FUNC_READLINE):
78887         * m4/rijndael.m4 (gl_RIJNDAEL):
78888         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
78889         to get the necessary .h files and whatnot.
78890
78891 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
78892
78893         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
78894         gnulib rather than the other way around.
78895         * config/srclistvars.sh (COREUTILS): Remove.
78896
78897 2006-08-22  Jim Meyering  <jim@meyering.net>
78898
78899         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
78900
78901         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
78902
78903 2006-08-22  Eric Blake  <ebb9@byu.net>
78904
78905         * modules/regexprops-generic: New file.
78906         * MODULES.html.sh (Support for building documentation): List it.
78907
78908 2006-08-22  Eric Blake  <ebb9@byu.net>
78909
78910         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
78911         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
78912         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
78913         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
78914
78915 2006-08-22  Bruno Haible  <bruno@clisp.org>
78916
78917         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
78918         and lib_LTLIBRARIES like the other lib_* variables.
78919
78920 2006-08-22  Bruno Haible  <bruno@clisp.org>
78921
78922         * build-aux/x-to-1.in: New file, from GNU gettext.
78923
78924 2006-08-22  Bruno Haible  <bruno@clisp.org>
78925
78926         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
78927         <utmpx.h> exists.
78928
78929 2006-08-22  Bruno Haible  <bruno@clisp.org>
78930
78931         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
78932         <utmpx.h> exists.
78933
78934 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78935
78936         BeOS portability.
78937         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
78938         exist.
78939         Problem reported by Bruno Haible.
78940
78941 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
78942
78943         Avoid the need for AC_LIBSOURCES in m4 macros.
78944         * modules/acl (EXTRA_DIST): Add acl.h.
78945         * modules/argmatch (Files): Add m4/argmatch.m4.
78946         (configure.ac): Add gl_ARGMATCH.
78947         (EXTRA_DIST): Renamed from lib_SOURCES, for
78948         consistency with the other modules.  Remove argmatch.c.
78949         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
78950         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
78951         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
78952         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
78953         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
78954         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
78955         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
78956         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
78957         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
78958         * modules/closeout (EXTRA_DIST): Add closeout.h.
78959         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
78960         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
78961         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
78962         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
78963         dirname.h; remove basename.c and stripslash.c.
78964         * modules/exclude (EXTRA_DIST): Add exclude.h.
78965         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
78966         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
78967         * modules/file-type (EXTRA_DIST): Add file-type.h.
78968         * modules/filemode (EXTRA_DIST): Add filemode.h.
78969         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
78970         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
78971         * modules/fpending (EXTRA_DIST): Add __fpending.h.
78972         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
78973         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
78974         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
78975         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
78976         * modules/getdate (EXTRA_DIST): Add getdate.c.
78977         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
78978         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
78979         * modules/getpass (EXTRA_DIST): Add getpass.h.
78980         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
78981         * modules/group-member (EXTRA_DIST): Add group-member.h.
78982         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
78983         * modules/hash (EXTRA_DIST): Add hash.h.
78984         * modules/human (EXTRA_DIST): Add human.h.
78985         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
78986         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
78987         * modules/lchown (EXTRA_DIST): Add lchown.h.
78988         * modules/long-options (EXTRA_DIST): Add long-options.h.
78989         * modules/lstat (EXTRA_DIST): Add lstat.h.
78990         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
78991         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
78992         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
78993         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
78994         * modules/memxor (EXTRA_DIST): Add memxor.h.
78995         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
78996         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
78997         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
78998         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
78999         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
79000         * modules/physmem (EXTRA_DIST): Add physmem.h.
79001         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
79002         * modules/posixver (EXTRA_DIST): Add posixver.h.
79003         * modules/quote (EXTRA_DIST): Add quote.h.
79004         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
79005         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
79006         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
79007         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
79008         regex_internal.h regexec.c.
79009         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
79010         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
79011         * modules/same (EXTRA_DIST): Add same.h.
79012         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
79013         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
79014         * modules/savedir (EXTRA_DIST): Add savedir.h.
79015         * modules/sha1 (EXTRA_DIST): Add sha1.h.
79016         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
79017         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
79018         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
79019         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
79020         * modules/strdup (EXTRA_DIST): Add strdup.h.
79021         * modules/strftime (EXTRA_DIST): Add strftime.h.
79022         * modules/strndup (EXTRA_DIST): Add strndup.h.
79023         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
79024         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
79025         * modules/time_r (EXTRA_DIST): Add time_r.h.
79026         * modules/timespec (EXTRA_DIST): Add timespec.h.
79027         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
79028         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
79029         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
79030         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
79031         * modules/userspec (EXTRA_DIST): Add userspec.h.
79032         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
79033         * modules/utimens (EXTRA_DIST): Add utimens.h.
79034         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
79035         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
79036         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
79037         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
79038         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
79039         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
79040         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
79041         * modules/yesno (EXTRA_DIST): Add yesno.h.
79042
79043 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79044
79045         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
79046
79047         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
79048         * m4/dev-ino.m4, same-inode.m4: Remove.
79049
79050         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
79051         * m4/acl.m4 (AC_FUNC_ACL):
79052         * m4/backupfile.m4 (gl_BACKUPFILE):
79053         * m4/c-strtod.m4 (gl_C99_STRTOLD):
79054         * m4/canon-host.m4 (gl_CANON_HOST):
79055         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
79056         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
79057         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
79058         * m4/cloexec.m4 (gl_CLOEXEC):
79059         * m4/close-stream.m4 (gl_CLOSE_STREAM):
79060         * m4/closeout.m4 (gl_CLOSEOUT):
79061         * m4/dirfd.m4 (gl_FUNC_DIRFD):
79062         * m4/dirname.m4 (gl_DIRNAME):
79063         * m4/exclude.m4 (gl_EXCLUDE):
79064         * m4/exitfail.m4 (gl_EXITFAIL):
79065         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
79066         * m4/file-type.m4 (gl_FILE_TYPE):
79067         * m4/filemode.m4 (gl_FILEMODE):
79068         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
79069         * m4/fpending.m4 (gl_FUNC_FPENDING):
79070         * m4/fprintftime.m4 (gl_FPRINTFTIME):
79071         * m4/fts.m4 (gl_FUNC_FTS):
79072         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
79073         * m4/getdate.m4 (gl_GETDATE):
79074         * m4/gethrxtime.m4 (gl_GETHRXTIME):
79075         * m4/getpagesize.m4 (gl_GETPAGESIZE):
79076         * m4/getpass.m4 (gl_FUNC_GETPASS):
79077         * m4/gettime.m4 (gl_GETTIME):
79078         * m4/getugroups.m4 (gl_GETUGROUPS):
79079         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
79080         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
79081         * m4/hard-locale.m4 (gl_HARD_LOCALE):
79082         * m4/hash.m4 (gl_HASH):
79083         * m4/idcache.m4 (gl_IDCACHE):
79084         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
79085         * m4/lchown.m4 (gl_FUNC_LCHOWN):
79086         * m4/long-options.m4 (gl_LONG_OPTIONS):
79087         * m4/lstat.m4 (gl_FUNC_LSTAT):
79088         * m4/md5.m4 (gl_MD5):
79089         * m4/memcasecmp.m4 (gl_MEMCASECMP):
79090         * m4/memcoll.m4 (gl_MEMCOLL):
79091         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
79092         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
79093         * m4/memxor.m4 (gl_MEMXOR):
79094         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
79095         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
79096         * m4/modechange.m4 (gl_MODECHANGE):
79097         * m4/mountlist.m4 (gl_MOUNTLIST):
79098         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
79099         * m4/openat.m4 (gl_FUNC_OPENAT):
79100         * m4/pathmax.m4 (gl_PATHMAX):
79101         * m4/physmem.m4 (gl_PHYSMEM):
79102         * m4/posixtm.m4 (gl_POSIXTM):
79103         * m4/posixver.m4 (gl_POSIXVER):
79104         * m4/quote.m4 (gl_QUOTE):
79105         * m4/quotearg.m4 (gl_QUOTEARG):
79106         * m4/readtokens.m4 (gl_READTOKENS):
79107         * m4/readutmp.m4 (gl_READUTMP):
79108         * m4/regex.m4 (gl_REGEX):
79109         * m4/safe-read.m4 (gl_SAFE_READ):
79110         * m4/safe-write.m4 (gl_SAFE_WRITE):
79111         * m4/same.m4 (gl_SAME):
79112         * m4/save-cwd.m4 (gl_SAVE_CWD):
79113         * m4/savedir.m4 (gl_SAVEDIR):
79114         * m4/settime.m4 (gl_SETTIME):
79115         * m4/sha1.m4 (gl_SHA1):
79116         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
79117         * m4/stat-macros.m4 (gl_STAT_MACROS):
79118         * m4/stat-time.m4 (gl_STAT_TIME):
79119         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
79120         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
79121         * m4/strdup.m4 (gl_FUNC_STRDUP):
79122         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
79123         * m4/strndup.m4 (gl_FUNC_STRNDUP):
79124         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
79125         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
79126         * m4/time_r.m4 (gl_TIME_R):
79127         * m4/timespec.m4 (gl_TIMESPEC):
79128         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
79129         * m4/unlinkdir.m4 (gl_UNLINKDIR):
79130         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
79131         * m4/userspec.m4 (gl_USERSPEC):
79132         * m4/utimecmp.m4 (gl_UTIMECMP):
79133         * m4/utimens.m4 (gl_UTIMENS):
79134         * m4/xalloc.m4 (gl_XALLOC):
79135         * m4/xgetcwd.m4 (gl_XGETCWD):
79136         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
79137         * m4/xreadlink.m4 (gl_XREADLINK):
79138         * m4/xstrtod.m4 (gl_XSTRTOD):
79139         * m4/yesno.m4 (gl_YESNO):
79140         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
79141         to get the necessary .h files and whatnot.
79142
79143 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
79144             Bruno Haible  <bruno@clisp.org>
79145
79146         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
79147         /bin/sh understanding of '!' conditional negation.
79148
79149 2006-08-21  Jim Meyering  <jim@meyering.net>
79150
79151         * modules/openat (Depends-on): Really alphabetize.
79152
79153         * modules/acl (Depends-on): Add error and quote.
79154
79155         * check-module (find_included_lib_files): Add at-func.c to the
79156         ok-to-include-more-than-once white list.
79157
79158         * modules/openat (Depends-on): Add lstat.  Alphabetize.
79159
79160 2006-08-21  Bruno Haible  <bruno@clisp.org>
79161
79162         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79163         Emit a pkgdata_DATA variable only if some snippets add contents to it.
79164         Reported by Martin Lambers <marlam@marlam.de>.
79165
79166 2006-08-21  Bruno Haible  <bruno@clisp.org>
79167
79168         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
79169         specify an installation location, don't emit a noinst_LIBRARIES or
79170         noinst_LTLIBRARIES assignment.
79171
79172 2006-08-21  Bruno Haible  <bruno@clisp.org>
79173
79174         BeOS portability.
79175         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
79176         BeOS has mbrtowc() but no <wctype.h>.
79177
79178 2006-08-21  Bruno Haible  <bruno@clisp.org>
79179
79180         BeOS portability.
79181         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
79182         exist.
79183
79184 2006-08-21  Bruno Haible  <bruno@clisp.org>
79185
79186         BeOS portability.
79187         * lib/mbchar.h: Include <wctype.h> only if it exists.
79188
79189 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79190
79191         Remove files that are no longer needed by their respective modules.
79192         * m4/obstack.m4: Remove.
79193         * m4/strerror_r.m4: Remove.
79194         * m4/uint32_t.m4: Remove.
79195         * m4/uintptr_t.m4: Remove.
79196         * m4/ullong_max.m4: Remove.
79197         * m4/xstrtoimax.m4: Remove.
79198         * m4/xstrtoumax.m4: Remove.
79199
79200         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
79201         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
79202         dependencies now capture this.
79203
79204         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
79205         Do not use AC_LIBSOURCES, since gnulib modules now do this.
79206         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
79207         * m4/human.m4 (gl_HUMAN): Likewise.
79208         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
79209         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
79210
79211         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
79212
79213         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
79214         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
79215         stdint.
79216         * m4/human.m4 (gl_HUMAN): Likewise.
79217         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
79218         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
79219         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79220         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79221         * m4/xstrtol (gl_XSTRTOL): Likewise.
79222
79223         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
79224         AC_TYPE_LONG_LONG_INT.
79225         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79226         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
79227         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
79228         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79229
79230         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
79231         on stdbool.
79232
79233         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
79234         (gl_PREREQ_XSTRTOUL): Remove.
79235
79236         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
79237
79238         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
79239         mode.
79240
79241 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79242
79243         Add and change modules to make it easier for coreutils to use
79244         gnulib-tool.
79245         * modules/backupfile (Files): Remove m4/d-ino.m4.
79246         (Depends-on): Add d-ino.
79247         * modules/cycle-check (Depends-on): Add stdint.
79248         (lib_SOURCES): Add cycle-check.h.
79249         * modules/d-ino: New module.
79250         * modules/d-type: New module.
79251         * modules/error (Files): Remove m4/strerror_r.m4.
79252         * modules/filemode (Files): Add m4/st_dm_mode.m4.
79253         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
79254         m4/inttypes_h.m4, m4/uintmax_t.m4.
79255         (Depends-on): Add stdint.
79256         (lib_SOURCES): Add fsusage.h.
79257         * modules/getcwd (Files): Remove d-ino.m4.
79258         (Depends-on): Add d-ino.
79259         * modules/getndelim2 (Depends-on): Add stdint.
79260         * modules/glob (Files): Remove m4/d-type.m4.
79261         (Depends-on): Add d-type.
79262         * modules/host-os: New module.
79263         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
79264         m4/inttypes_h.m4, m4/uintmax_t.m4.
79265         * Depends-on: Add stdint.
79266         (lib_SOURCES): Add human.h.
79267         * modules/inttostr (Files): Remove m4/intmax_t.m4,
79268         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
79269         m4/uintmax_t.m4, m4/ulonglong.m4.
79270         (Depends-on): Add stdint.
79271         (EXTRA_DIST): Add inttostr.h.
79272         * modules/lchmod: New module.
79273         * modules/link-follow: New module.
79274         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
79275         (Depends-on): Add lchmod.
79276         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
79277         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
79278         (Depends-on): Add stdint.
79279         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
79280         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
79281         (Depends-on): Add stdint.
79282         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
79283         * modules/perl: New module.
79284         * modules/regex (Depends-on): Add stdint.
79285         * modules/rmdir-errno: New module.
79286         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79287         m4/intmax_t.m4.
79288         (Depends-on): Add stdint.
79289         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79290         m4/uintmax_t.m4.
79291         (Depends-on): Add stdint.
79292         * modules/unlink-busy: New module.
79293         * modules/utimecmp (Depends-on): Add stdint.
79294         * modules/uptime: New module.
79295         * modules/winsz-ioctl: New module.
79296         * modules/winsz-termios: New module.
79297         * modules/xnanosleep (Depends-on): Add nanosleep.
79298         * modules/ullong_max: Remove.
79299         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
79300         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
79301         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
79302         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
79303         (Depends-on): Add inttypes.
79304         (lib_SOURCES): Add xstrtol.h.
79305         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
79306         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
79307         * MODULES.html.sh: Move 'assert' into the assert section.
79308         Move 'dummy' into the linking section.
79309         Remove ullong_max.
79310         Add section for compatibility checks for POSIX:2001 functions,
79311         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
79312         winsz-ioctl, and winsz-termios into it.
79313         Add lchmod.
79314         Add top-level Misc section and put host-os, perl, and uptime
79315         into it.
79316
79317 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79318
79319         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
79320         now assume the stdint module.  Do not include inttypes.h.
79321         * lib/fsusage.h: Likewise.
79322         * lib/getndelim2.c: Likewise.
79323         * lib/human.h: Likewise.
79324         * lib/inttostr.h: Likewise.
79325         * lib/obstack.c: Likewise.
79326         * lib/regex_internal.h: Likewise.
79327         * lib/tempname.c: Likewise.
79328         * lib/utimecmp.c: Likewise.
79329         * lib/xstrtol.h: Likewise.
79330
79331         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
79332
79333         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
79334         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
79335         * lib/xtime.h: Likewise.
79336
79337 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79338
79339         * modules/openat (Files): Add lib/fchmodat.c.
79340         Fixes problem reported by Jay Youngman.
79341
79342 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79343
79344         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
79345         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
79346
79347 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
79348             Bruno Haible  <bruno@clisp.org>
79349
79350         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
79351         and is a script that invokes bison. Tighten the code. Add comments.
79352
79353 2006-08-18  Jim Meyering  <jim@meyering.net>
79354
79355         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
79356         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
79357         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
79358         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
79359
79360 2006-08-18  Bruno Haible  <bruno@clisp.org>
79361
79362         * modules/bison-i18n: New file.
79363         * MODULES.html.sh (Internationalization functions): Add it.
79364
79365 2006-08-18  Bruno Haible  <bruno@clisp.org>
79366
79367         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
79368         sys/statvfs.h. When getmntinfo was found, check its declaration and
79369         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
79370
79371 2006-08-18  Bruno Haible  <bruno@clisp.org>
79372
79373         * m4/bison-i18n.m4: New file, from bison.
79374
79375 2006-08-18  Bruno Haible  <bruno@clisp.org>
79376
79377         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
79378         (ME_DUMMY): Treat "kernfs" as a dummy.
79379         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
79380
79381 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79382
79383         Update from coreutils.
79384
79385         2006-08-15  Jim Meyering  <jim@meyering.net>
79386
79387         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
79388
79389         2006-01-17  Jim Meyering  <jim@meyering.net>
79390
79391         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
79392
79393         2006-01-11  Jim Meyering  <jim@meyering.net>
79394
79395         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
79396         Check for the lchmod function.
79397
79398 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79399
79400         Update from coreutils.
79401
79402         * lib/__fpending.h: Add copyright notice.
79403         * lib/fprintftime.h: Likewise.
79404         * lib/savedir.c: Use (C) in copyright notice.
79405         * lib/savedir.h: Likewise.
79406
79407         2006-08-15  Jim Meyering  <jim@meyering.net>
79408
79409         * lib/at-func.c: New file, with the logic of all emulated at-functions.
79410         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
79411         in support of the EXPECTED_ERRNO macro.
79412         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
79413         definitions.  Instead, define the appropriate symbols and include
79414         "at-func.c".
79415         * lib/mkdirat.c (mkdirat): Likewise.
79416         * lib/fchmodat.c (fchmodat): Likewise.
79417         (ENOSYS): Remove definition.
79418         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
79419         it.  Don't include "unistd--.h" -- it wasn't ever used.
79420
79421         2006-01-17  Jim Meyering  <jim@meyering.net>
79422
79423         Rewrite fts.c not to change the current working directory,
79424         by using openat, fstatat, fdopendir, etc..
79425
79426         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
79427         (HAVE_OPENAT_SUPPORT): Define.
79428         [_LIBC] (fchdir): Don't undef or define; no longer used.
79429         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
79430         Now, this `function' always succeeds, and consumes its file descriptor
79431         parameter -- so callers must not close such FDs.  Update callers.
79432         (diropen_fd, opendirat, cwd_advance_fd): New functions.
79433         (diropen): Add parameter, SP.  Adjust all callers.
79434         Implement using diropen_fd, rather than open.
79435         (fts_open): Initialize new member, fts_cwd_fd.
79436         Remove fts_rft-setting code.
79437         (fts_close): Close fts_cwd_fd, if necessary.
79438         (__opendir2): Define in terms of opendir or opendirat,
79439         depending on whether the FST_NOCHDIR flag is set.
79440         (fts_build): Since fts_safe_changedir consumes its FD, and since
79441         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
79442         and close the dup'd file descriptor upon failure.
79443         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
79444         (fts_safe_changedir): Tweak semantics to reflect that this function
79445         now calls cwd_advance_fd and hence consumes its FD argument.
79446         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
79447         [struct FTS] (fts_rft): Remove now-unused member.
79448         [struct FTS] (fts_cycle.state): Improve comment.
79449
79450         * lib/openat.c (openat_needs_fchdir): New function.
79451         * lib/openat.h (openat_needs_fchdir): Declare it.
79452
79453 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
79454
79455         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
79456         Problem and fix reported by Pádraig Brady in
79457         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
79458
79459 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79460
79461         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
79462
79463 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79464
79465         * lib/memcoll.c (memcoll): Optimize for the common case where the
79466         arguments are bytewise equal.
79467
79468 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79469
79470         * doc/regexprops-generic.texi: Add a copyright notice.
79471
79472 2006-08-15  Bruno Haible  <bruno@clisp.org>
79473
79474         * modules/tmpdir (License): Change to LGPL.
79475
79476 2006-08-15  Bruno Haible  <bruno@clisp.org>
79477
79478         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
79479         module.
79480
79481 2006-08-14  Simon Josefsson  <jas@extundo.com>
79482
79483         * config/srclist.txt: Add gnupload.
79484
79485 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79486
79487         Change copyright notice from LGPL 2 to GPL 2, since that's the
79488         standard form used in the gnulib repository.
79489         * tests/test-lock.c: Likewise.
79490         * tests/test-stdint.c: Likewise.
79491         * tests/test-tls.c: Likewise.
79492
79493         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
79494         prelude-manager.  User shorter URLs for GNU projects, without '?'.
79495         Add copyright notice.
79496
79497         * check-module: Add copyright notice.  Output a copyright
79498         notice if "--version" is specified.
79499         * modules/COPYING: New file.
79500         * tests/test-getaddrinfo.c: Add copyright notice.
79501         * tests/test-verify.c: Likewise.
79502
79503 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79504
79505         Change copyright notice from LGPL 2 to GPL 2, since that's the
79506         standard form used in the gnulib repository.
79507         * lib/lock.c: LGPL -> GPL.
79508         * lib/lock.h: Likewise.
79509         * lib/strnlen1.c: Likewise.
79510         * lib/strnlen1.h: Likewise.
79511         * lib/tls.c: Likewise.
79512         * lib/tls.h: Likewise.
79513         * lib/tmpdir.c: Likewise.
79514
79515         * lib/TODO: Remove; this belongs only in coreutils.
79516
79517 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79518
79519         Add copyright notices to long-enough files that lack them, since
79520         otherwise the files aren't clearly free.  Use the same notice that
79521         getdate.texi already uses.
79522         * doc/alloca-opt.texi: Add copyright notice.
79523         * doc/alloca.texi: Likewise.
79524         * doc/ctime.texi: Likewise.
79525         * doc/functions.texi: Likewise.
79526         * doc/gcd.texi: Likewise.
79527         * doc/gnulib-tool.texi: Likewise.
79528         * doc/inet_ntoa.texi: Likewise.
79529         * doc/visibility.texi: Likewise.
79530
79531         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
79532         * doc/quote.texi: Add copyright notice.
79533
79534         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
79535         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
79536         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
79537         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
79538         is now obsolete, and give a pointer to the Sun list.
79539         Add copyright notice.
79540
79541 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79542
79543         * config/srclistvars.sh: Add copyright notice.
79544
79545 2006-08-14  Eric Blake  <ebb9@byu.net>
79546
79547         Import the following change from libc:
79548
79549         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
79550
79551         Upstream bug 2997.
79552         * lib/misc/error.c: Add space between program name and message if file
79553         name is missing.
79554
79555 2006-08-12  Karl Berry  <karl@gnu.org>
79556
79557         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
79558         remove, these originate in gnulib now.
79559
79560 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79561
79562         * doc/Makefile (standards.info standards.html standards.dvi):
79563         Also depend on make-stds.texi.
79564
79565 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79566
79567         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
79568         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
79569
79570         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
79571         in wchar_t.  Problem reported by Eric Blake.
79572
79573         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
79574         LEN is smaller than SIZE.  Suggested by Bruno Haible.
79575         Also, help the compiler to keep LEN in a register.
79576
79577 2006-08-11  Eric Blake  <ebb9@byu.net>
79578
79579         * users.txt: Sort.  Add tar.
79580
79581 2006-08-11  Bruno Haible  <bruno@clisp.org>
79582
79583         * users.txt: New file.
79584
79585 2006-08-11  Bruno Haible  <bruno@clisp.org>
79586
79587         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
79588         before <wchar.h>. Needed for OSF/1 and BSD/OS.
79589
79590 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79591
79592         * modules/snprintf (Depends-on): Remove minmax.
79593         (Maintainer): Add self and Bruno.
79594
79595 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79596
79597         * lib/.cppi-disable: Add snprintf.h, socket_.h.
79598         * lib/snprintf.c: Include <errno.h> and <limits.h>.
79599         (EOVERFLOW): Define if the system does not.
79600         Do not include "minmax.h"; it wasn't used.
79601         (snprintf): Don't assume size_t promotes to an unsigned type.
79602         Fix bug when generated string was too long for the buffer: the
79603         buffer's contents are supposed to be the initial prefix of the
79604         output.  Don't assume vasnprintf returns EOVERFLOW if the size
79605         exceeds INT_MAX; do the check ourselves.
79606
79607         Import the following changes from libc:
79608
79609         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
79610
79611         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
79612         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
79613         set wc to the byte which couldn't be converted.
79614         (re_string_reconstruct): Don't clear valid_raw_len before calling
79615         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
79616         tip_context using re_string_context_at.
79617
79618         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
79619
79620         * lib/posix/regex.h: g++ still cannot handled [restrict].
79621
79622         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
79623
79624         * lib/posix/regex.h: Remove special handling for VMS.
79625
79626 2006-08-10  Jim Meyering  <jim@meyering.net>
79627
79628         * modules/same-inode: New module.
79629         * modules/dev-ino: New module.
79630         * modules/cycle-check: Depend on these modules, rather than simply
79631         including their .h files.
79632         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
79633         required via m4/cycle-check.m4.
79634         * modules/same: Depend on new same-inode module, rather than
79635         including same-inode.h.
79636         * modules/chdir-safer: New file.
79637
79638         * modules/chown (Depends-on): Add stat-macros.
79639
79640 2006-08-10  Jim Meyering  <jim@meyering.net>
79641
79642         * m4/cycle-check.m4: New file.
79643         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
79644         * m4/dev-ino.m4, m4/same-inode.m4: New files.
79645
79646 2006-08-10  Eric Blake  <ebb9@byu.net>
79647
79648         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
79649         in from original proposal.
79650
79651 2006-08-10  Eric Blake  <ebb9@byu.net>
79652         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
79653
79654         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
79655         namespace.
79656
79657 2006-08-10  Bruno Haible  <bruno@clisp.org>
79658
79659         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
79660         as well.
79661
79662 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79663
79664         Sync from coreutils.
79665
79666         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
79667
79668         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
79669         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
79670
79671 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79672
79673         * modules/restrict: Remove; no longer needed now that we assume
79674         Autoconf 2.59 or later.
79675         * MODULES.html.sh: Remove 'restrict'.
79676         * modules/argp (Depends-on): Remove 'restrict'.
79677         * modules/base64 (Depends-on): Likewise.
79678         * modules/gc (Depends-on): Likewise.
79679         * modules/getaddrinfo (Depends-on): Likewise.
79680         * modules/glob (Depends-on): Likewise.
79681         * modules/inet_ntop (Depends-on): Likewise.
79682         * modules/inet_pton (Depends-on): Likewise.
79683         * modules/memxor (Depends-on): Likewise.
79684         * modules/regex (Depends-on): Likewise.
79685         * modules/strtok_r (Depends-on): Likewise.
79686         * modules/time_r (Depends-on): Likewise.
79687
79688 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79689
79690         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
79691         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
79692         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
79693         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
79694         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
79695         * m4/memxor.m4 (gl_MEMXOR): Likewise.
79696         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
79697         gl_C_RESTRICT replaced by AC_C_RESTRICT.
79698
79699         Merge from coreutils.
79700         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
79701         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
79702         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
79703         * m4/time_r.m4 (gl_TIME_R): Likewise.
79704
79705 2006-08-09  Karl Berry  <karl@gnu.org>
79706
79707         * config/srclist.txt: no more gettext-tools, per Bruno.
79708
79709 2006-08-08  Eric Blake  <ebb9@byu.net>
79710
79711         * modules/verror: New module.
79712         * MODULES.html.sh: Document it.
79713
79714 2006-08-08  Eric Blake  <ebb9@byu.net>
79715
79716         * lib/verror.h, lib/verror.c: New files.
79717
79718 2006-08-08  Eric Blake  <ebb9@byu.net>
79719
79720         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
79721         verror_at_line output complies with GNU Coding Standards even when
79722         file is NULL.
79723
79724 2006-08-07  Bruno Haible  <bruno@clisp.org>
79725
79726         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
79727         versions of AIX.
79728         Reported by Ralf Wildenhues.
79729
79730 2006-08-07  Bruno Haible  <bruno@clisp.org>
79731
79732         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
79733         in an AC_DEFUN. Needed so that the autoconf snippets can use
79734         AC_REQUIRE.
79735
79736 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79737
79738         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79739         Initialize pkgdata_DATA.
79740         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
79741         overriding it.
79742
79743 2006-08-06  Eric Blake  <ebb9@byu.net>
79744
79745         * lib/error.h: Fold in some upstream changes from glibc.
79746         * lib/error.c: Likewise.
79747
79748 2006-08-04  Bruno Haible  <bruno@clisp.org>
79749
79750         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79751         Make the mostlyclean-local rule depend on mostlyclean-generic.
79752         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
79753
79754 2006-07-31  Bruno Haible  <bruno@clisp.org>
79755
79756         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
79757         <stdlib.h>, <string.h>.
79758
79759 2006-07-30  Bruno Haible  <bruno@clisp.org>
79760
79761         * modules/readlink (License): Change to LGPL.
79762
79763 2006-07-30  Bruno Haible  <bruno@clisp.org>
79764
79765         * modules/javaversion (Makefile.am): Distribute javaversion.java and
79766         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
79767         set PKGDATADIR to point to it.
79768
79769 2006-07-30  Bruno Haible  <bruno@clisp.org>
79770
79771         * modules/csharpexec (configure.ac): Comment out macro invocation.
79772         * modules/javaexec (configure.ac): Likewise.
79773         * modules/javacomp-script (configure.ac): Likewise.
79774
79775         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
79776
79777 2006-07-30  Bruno Haible  <bruno@clisp.org>
79778
79779         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
79780         linked-list.
79781
79782 2006-07-30  Bruno Haible  <bruno@clisp.org>
79783
79784         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
79785
79786 2006-07-30  Bruno Haible  <bruno@clisp.org>
79787
79788         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79789         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
79790         get removed.
79791
79792 2006-07-29  Bruno Haible  <bruno@clisp.org>
79793
79794         Make it possible for gnulib-tool to work with locally modified or
79795         augmented gnulib repositories.
79796         * gnulib-tool (func_usage): Document --local-dir option.
79797         (local_gnulib_dir): New variable.
79798         Handle --local-dir option.
79799         (func_lookup_file): New function.
79800         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
79801         (func_get_description, func_get_filelist, func_get_description,
79802         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
79803         func_get_automake_snippet, func_get_include_directive,
79804         func_get_license, func_get_maintainer): Use func_lookup_file.
79805         (func_import, func_create_testdir): Use func_lookup_file.
79806
79807 2006-07-29  Bruno Haible  <bruno@clisp.org>
79808
79809         * modules/setenv (Depends-on): Add unistd.
79810
79811 2006-07-29  Bruno Haible  <bruno@clisp.org>
79812
79813         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
79814
79815 2006-07-29  Bruno Haible  <bruno@clisp.org>
79816
79817         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
79818
79819 2006-07-29  Bruno Haible  <bruno@clisp.org>
79820
79821         * gnulib-tool (import, update): If there is no Makefile.am, look at
79822         aclocal.m4, instead of bailing out.
79823
79824 2006-07-29  Bruno Haible  <bruno@clisp.org>
79825
79826         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
79827         Categorize the options by when they are useful.
79828
79829 2006-07-29  Bruno Haible  <bruno@clisp.org>
79830
79831         * gnulib-tool (func_usage): Document option --no-libtool.
79832         Handle option --no-libtool.
79833         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
79834         for changed semantics of $libtool variable.
79835         (func_import): Likewise. If libtool is not used, show this through
79836         an option --no-libtool.
79837         (func_create_testdir): Update.
79838
79839 2006-07-29  Bruno Haible  <bruno@clisp.org>
79840
79841         * gnulib-tool (func_import): Extend error message about missing
79842         --doc-base.
79843
79844 2006-07-29  Bruno Haible  <bruno@clisp.org>
79845
79846         * gnulib-tool (func_import): Don't create the $docbase directory if
79847         there is no file to store there.
79848
79849 2006-07-29  Bruno Haible  <bruno@clisp.org>
79850
79851         * gnulib-tool (autoconf_minversion): If a --dir option is given and
79852         relevant, look for configure.ac there, not in the current directory.
79853         Also use a simple search for AC_PREREQ, not "autoconf --trace".
79854
79855 2006-07-29  Bruno Haible  <bruno@clisp.org>
79856
79857         * gnulib-tool (SORT): New variable.
79858         (func_usage): Undocument --assume-autoconf option.
79859         Remove --assume-autoconf option handling.
79860         (autoconf_minversion): Determine from the contents of configure.ac.
79861         (func_import): Remove autoconf_minversion handling.
79862         Suggested by Eric Blake.
79863
79864 2006-07-29  Bruno Haible  <bruno@clisp.org>
79865
79866         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
79867
79868 2006-07-29  Bruno Haible  <bruno@clisp.org>
79869
79870         * config/srclist.txt (*setenv.[ch]): Remove rules.
79871
79872 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79873
79874         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
79875
79876 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
79877
79878         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
79879         arpa/inet.h.
79880
79881 2006-07-28  Simon Josefsson  <jas@extundo.com>
79882
79883         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
79884         * modules/inet_pton (Depends-on): Likewise.
79885
79886 2006-07-28  Simon Josefsson  <jas@extundo.com>
79887
79888         * m4/netinet_in_h.m4: New file.
79889
79890 2006-07-28  Simon Josefsson  <jas@extundo.com>
79891
79892         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
79893         #include's.
79894
79895 2006-07-28  Simon Josefsson  <jas@extundo.com>
79896
79897         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
79898         #include's.
79899
79900 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
79901
79902         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
79903         setgid on directories only if they set these bits.
79904         * lib/modechange.h: Remove obsolete comment about masks.
79905
79906 2006-07-28  Eric Blake  <ebb9@byu.net>
79907
79908         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
79909         macro expansion.
79910
79911 2006-07-28  Bruno Haible  <bruno@clisp.org>
79912
79913         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
79914
79915 2006-07-28  Bruno Haible  <bruno@clisp.org>
79916
79917         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
79918
79919 2006-07-28  Bruno Haible  <bruno@clisp.org>
79920
79921         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
79922         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
79923         Define fallbacks.
79924         Avoids link error on FreeBSD 4.x.
79925         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
79926
79927         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
79928         encoding.
79929         * lib/mbswidth.c (iswcntrl): Likewise.
79930
79931 2006-07-27  Bruno Haible  <bruno@clisp.org>
79932
79933         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
79934         test.
79935
79936 2006-07-27  Bruno Haible  <bruno@clisp.org>
79937
79938         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
79939         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
79940         defined.
79941
79942 2006-07-26  Eric Blake  <ebb9@byu.net>
79943
79944         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
79945
79946 2006-07-26  Eric Blake  <ebb9@byu.net>
79947
79948         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
79949         like mingw that lack mkstemp.
79950         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
79951         avoid compilation warning on mingw.
79952
79953 2006-07-26  Bruno Haible  <bruno@clisp.org>
79954
79955         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
79956         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
79957         INT_FAST*_MIN, INTPTR_MIN.
79958
79959 2006-07-25  Bruno Haible  <bruno@clisp.org>
79960
79961         * modules/version-etc (Depends-on): Add stdarg.
79962
79963 2006-07-25  Bruno Haible  <bruno@clisp.org>
79964
79965         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
79966         complex commands.
79967
79968 2006-07-25  Bruno Haible  <bruno@clisp.org>
79969
79970         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
79971         defined in <stdarg.h> or config.h.
79972
79973 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
79974
79975         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
79976         (gl_STDIO_SAFER): Remove.
79977
79978 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
79979
79980         * MODULES.html.sh (File stream based Input/Output):
79981         Add fopen-safer, tmpfile-safer; remove stdio-safer.
79982         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
79983         * modules/fopen-safer, modules/tmpfile-safer: New files.
79984         * modules/stdio-safer: Remove.
79985
79986 2006-07-24  Bruno Haible  <bruno@clisp.org>
79987
79988         * modules/tmpdir: New file.
79989         * MODULES.html.sh (File system functions): Add it.
79990
79991 2006-07-24  Bruno Haible  <bruno@clisp.org>
79992
79993         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
79994         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
79995
79996 2006-07-24  Bruno Haible  <bruno@clisp.org>
79997
79998         * modules/clean-temp: New file.
79999
80000 2006-07-24  Bruno Haible  <bruno@clisp.org>
80001
80002         * m4/tmpdir.m4: New file, from GNU gettext.
80003
80004 2006-07-24  Bruno Haible  <bruno@clisp.org>
80005
80006         * lib/tmpdir.h: New file, from GNU gettext.
80007         * lib/tmpdir.c: New file, from GNU gettext.
80008
80009 2006-07-24  Bruno Haible  <bruno@clisp.org>
80010
80011         * lib/clean-temp.h: New file, from GNU gettext.
80012         * lib/clean-temp.c: New file, from GNU gettext.
80013
80014 2006-07-23  Eric Blake  <ebb9@byu.net>
80015
80016         * modules/stdio-safer (Files): Add tmpfile-safer.c.
80017         (Depends-on): Add binary-io.
80018
80019 2006-07-23  Eric Blake  <ebb9@byu.net>
80020
80021         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
80022
80023 2006-07-23  Eric Blake  <ebb9@byu.net>
80024
80025         * lib/tmpfile-safer.c: New file.
80026         * lib/stdio-safer.h (fopen_safer): Add prototype.
80027         * lib/stdio--.h (tmpfile): Make safer.
80028
80029 2006-07-23  Bruno Haible  <bruno@clisp.org>
80030
80031         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
80032         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
80033         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
80034         gl_linked_remove_at): Use it.
80035
80036 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80037         and Simon Josefsson <jas@extundo.com>
80038
80039         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
80040
80041         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
80042
80043 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80044
80045         * modules/close-stream: New file.
80046         * modules/closeout (Description): Make it clear that it exits
80047         with a diagnostic on error.
80048         (Depends-on): Add close-stream.  Remove fpending, stdbool.
80049         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
80050
80051 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80052
80053         * m4/close-stream.m4: New file.
80054
80055 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80056
80057         * lib/close-stream.c, lib/close-stream.h: New files.
80058
80059 2006-07-22  Bruno Haible  <bruno@clisp.org>
80060
80061         Merge from GNU gettext 0.15.
80062
80063         2006-05-01  Bruno Haible  <bruno@clisp.org>
80064
80065                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
80066
80067         2006-07-22  Bruno Haible  <bruno@clisp.org>
80068
80069                 * modules/javaversion: New file.
80070                 * MODULES.html.sh (Java): Add javaversion.
80071
80072         2006-03-12  Bruno Haible  <bruno@clisp.org>
80073
80074                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
80075
80076         2005-12-04  Bruno Haible  <bruno@clisp.org>
80077
80078                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
80079                 (untested).
80080
80081         2006-06-21  Bruno Haible  <bruno@clisp.org>
80082
80083                 Avoid warnings from recent versions of mcs.
80084                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
80085                 -o, -L, -r any more. Use options documented since mcs-1.0
80086                 instead. Similarly for -g.
80087
80088         2005-12-04  Bruno Haible  <bruno@clisp.org>
80089
80090                 * build-aux/csharpcomp.sh.in: Suffix for resources is
80091                 .resources, not .resource.
80092
80093         2005-07-09  Bruno Haible  <bruno@clisp.org>
80094
80095                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
80096                 add a .dll suffix.
80097                 Reported by Mark Junker <mjscod@gmx.de>.
80098
80099         2006-07-22  Bruno Haible  <bruno@clisp.org>
80100
80101                 * modules/gettext: Upgrade to gettext-0.15.
80102                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
80103                 m4/visibility.m4.
80104                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
80105
80106 2006-07-22  Bruno Haible  <bruno@clisp.org>
80107
80108         Merge from GNU gettext 0.15.
80109
80110         2006-03-25  Bruno Haible  <bruno@clisp.org>
80111
80112                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
80113
80114         2006-07-21  Bruno Haible  <bruno@clisp.org>
80115
80116                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
80117                 "1.1".
80118
80119         2006-05-09  Bruno Haible  <bruno@clisp.org>
80120
80121                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
80122                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
80123                 for the conftestver execution.
80124
80125         2006-05-01  Bruno Haible  <bruno@clisp.org>
80126
80127                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
80128                 optional target-version argument. Verify that the compiler
80129                 groks source of the specified source-version, or add -source
80130                 option as necessary. Verify that the compiler produces
80131                 bytecode in the specified target-version, or add -target and
80132                 -source options as necessary. Make the result of the test
80133                 available as variable CONF_JAVAC. Also log error output in
80134                 config.log.
80135
80136         2006-03-11  Bruno Haible  <bruno@clisp.org>
80137
80138                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
80139
80140         2006-05-09  Bruno Haible  <bruno@clisp.org>
80141
80142                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
80143                 CLASSPATH_SEPARATOR to a semicolon.
80144
80145         2006-03-12  Bruno Haible  <bruno@clisp.org>
80146
80147                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
80148                 available as variable CONF_JAVA, for subsequent autoconf
80149                 tests. Also log error output in config.log.
80150
80151         2006-07-19  Bruno Haible  <bruno@clisp.org>
80152
80153                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
80154                 that getline works on glibc2 systems. Needed to avoid trouble
80155                 in relocatable.c.
80156                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
80157
80158         2005-12-04  Bruno Haible  <bruno@clisp.org>
80159
80160                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
80161                 launcher (untested).
80162
80163         2005-12-04  Bruno Haible  <bruno@clisp.org>
80164
80165                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
80166
80167         2006-07-22  Bruno Haible  <bruno@clisp.org>
80168
80169                 * gettext.m4: Update from GNU gettext-0.15.
80170                 * nls.m4: Likewise.
80171                 * po.m4: Likewise.
80172                 * inttypes-pri.m4: Likewise.
80173                 * inttypes-h.m4: Renamed from inttypes.m4.
80174                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
80175
80176 2006-07-22  Bruno Haible  <bruno@clisp.org>
80177
80178         Merge from GNU gettext 0.15.
80179
80180         2005-07-05  Bruno Haible  <bruno@clisp.org>
80181
80182                 * printf-args.c (printf_fetchargs): Work around broken
80183                 definition of wint_t on mingw.
80184
80185         2005-02-12  Bruno Haible  <bruno@clisp.org>
80186
80187                 * xallocsa.h: Add extern "C" for C++.
80188
80189         2006-05-17  Bruno Haible  <bruno@clisp.org>
80190
80191                 Cygwin portability.
80192                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
80193
80194         2006-04-30  Bruno Haible  <bruno@clisp.org>
80195
80196                 * progreloc.c: Include <mach-o/dyld.h> if available.
80197                 (find_executable): Use _NSGetExecutablePath when possible.
80198
80199         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
80200
80201                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
80202                 function.
80203
80204         2005-12-29  Bruno Haible  <bruno@clisp.org>
80205
80206                 * progreloc.c (set_program_name_and_installdir): Fix
80207                 compilation error.
80208
80209         2005-12-04  Bruno Haible  <bruno@clisp.org>
80210
80211                 Cygwin portability.
80212                 * progreloc.c: Include <windows.h> also on Cygwin.
80213                 (find_executable): Add support for Cygwin.
80214                 (set_program_name_and_installdir): Handle also platforms with
80215                 nonempty EXEEXT.
80216
80217         2006-07-11  Bruno Haible  <bruno@clisp.org>
80218
80219                 * javacomp.c: Fix a comment.
80220                 Reported by Jim Meyering.
80221
80222         2006-04-30  Bruno Haible  <bruno@clisp.org>
80223
80224                 * javacomp.h (compile_java_class): Add source_version,
80225                 target_version arguments.
80226                 * javacomp.c: Rewritten to choose only a compiler that
80227                 respects the specified source_version and target_version.
80228
80229         2006-06-27  Bruno Haible  <bruno@clisp.org>
80230
80231                 Assume correct S_ISDIR macro.
80232                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
80233
80234         2006-07-22  Bruno Haible  <bruno@clisp.org>
80235
80236                 * javaversion.h: New file, from GNU gettext.
80237                 * javaversion.c: New file, from GNU gettext.
80238                 * javaversion.java: New file, from GNU gettext.
80239                 * javaversion.class: New file, from GNU gettext.
80240
80241         2006-05-17  Bruno Haible  <bruno@clisp.org>
80242
80243                 Cygwin portability.
80244                 * javaexec.c (execute_java_class): Test for jview program
80245                 also on Cygwin.
80246
80247         2006-04-09  Bruno Haible  <bruno@clisp.org>
80248
80249                 * fatal-signal.c: Don't include string.h.
80250                 (at_fatal_signal): Use a copying loop instead of memcpy.
80251
80252         2005-12-04  Bruno Haible  <bruno@clisp.org>
80253
80254                 * csharpexec.c: Add support for 'clix' launcher (untested).
80255                 (execute_csharp_using_sscli): New function.
80256                 (execute_csharp_program): Call it.
80257
80258         2006-06-21  Bruno Haible  <bruno@clisp.org>
80259
80260                 Avoid warnings from recent versions of mcs.
80261                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
80262                 -o, -L, -r any more. Use options documented since mcs-1.0
80263                 instead. Similarly for -g.
80264
80265         2005-07-09  Bruno Haible  <bruno@clisp.org>
80266
80267                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
80268                 add a .dll suffix.
80269                 Reported by Mark Junker <mjscod@gmx.de>.
80270
80271         2006-06-17  Bruno Haible  <bruno@clisp.org>
80272
80273                 * config.charset: Update for NetBSD 3.0.
80274
80275         2006-05-17  Bruno Haible  <bruno@clisp.org>
80276
80277                 Cygwin portability.
80278                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
80279
80280         2006-05-16  Bruno Haible  <bruno@clisp.org>
80281
80282                 * localcharset.c [CYGWIN]: Include <windows.h>.
80283                 (get_charset_aliases): For Cygwin, return the same CPxxx
80284                 aliases list as under WIN32.
80285                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
80286                 the environment variables. Fall back to GetACP().
80287
80288         2006-04-05  Bruno Haible  <bruno@clisp.org>
80289
80290                 * config.charset: Update Juan Manuel Guerrero's address.
80291
80292         2005-02-12  Bruno Haible  <bruno@clisp.org>
80293
80294                 * allocsa.h: Add extern "C" for C++.
80295
80296         2005-02-10  Bruno Haible  <bruno@clisp.org>
80297
80298                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
80299                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
80300
80301         2006-07-22  Bruno Haible  <bruno@clisp.org>
80302
80303                 * gettext.h: Update to GNU gettext-0.15.
80304
80305 2006-07-22  Bruno Haible  <bruno@clisp.org>
80306
80307         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
80308         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
80309         lib-prefix.m4, longdouble.m4, ssize_t.m4.
80310
80311 2006-07-21  Eric Blake  <ebb9@byu.net>
80312
80313         * modules/stdlib-safer: New file.
80314         * MODULES.html.sh (File stream based Input/Output): Add
80315         stdlib-safer.
80316
80317 2006-07-21  Eric Blake  <ebb9@byu.net>
80318
80319         * lib/stdlib-safer.h: New file from coreutils, required by
80320         stdlib--.h.
80321
80322 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
80323
80324         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
80325
80326 2006-07-20  Bruno Haible  <bruno@clisp.org>
80327
80328         * gnulib-tool: Recognize new option --assume-autoconf.
80329         (autoconf_minversion): New variable.
80330         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
80331
80332 2006-07-20  Bruno Haible  <bruno@clisp.org>
80333
80334         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
80335
80336 2006-07-19  Derek R. Price  <derek@ximbiot.com>
80337
80338         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
80339         Reindent and repaginate.
80340
80341 2006-07-19  Derek Price  <derek@ximbiot.com>
80342
80343         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
80344         Correct grammar.
80345
80346 2006-07-17  Bruno Haible  <bruno@clisp.org>
80347
80348         * modules/list: New file.
80349         * modules/array-list: New file.
80350         * modules/carray-list, modules/carray-list-tests: New files.
80351         * modules/linked-list, modules/linked-list-tests: New files.
80352         * modules/avltree-list, modules/avltree-list-tests: New files.
80353         * modules/rbtree-list, modules/rbtree-list-tests: New files.
80354         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
80355         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
80356         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
80357         * modules/oset: New file.
80358         * modules/array-oset: New file.
80359         * modules/avltree-oset, modules/avltree-oset-tests: New files.
80360         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
80361         * tests/test-carray_list.c: New file.
80362         * tests/test-linked_list.c: New file.
80363         * tests/test-avltree_list.c: New file.
80364         * tests/test-rbtree_list.c: New file.
80365         * tests/test-linkedhash_list.c: New file.
80366         * tests/test-avltreehash_list.c: New file.
80367         * tests/test-rbtreehash_list.c: New file.
80368         * tests/test-avltree_oset.c: New file.
80369         * tests/test-rbtree_oset.c: New file.
80370         * MODULES.html.sh (Container data structures): New section.
80371
80372 2006-07-17  Bruno Haible  <bruno@clisp.org>
80373
80374         * m4/gl_list.m4: New file.
80375
80376 2006-07-17  Bruno Haible  <bruno@clisp.org>
80377
80378         * lib/gl_list.h: New file.
80379         * lib/gl_list.c: New file.
80380         * lib/gl_array_list.h: New file.
80381         * lib/gl_array_list.c: New file.
80382         * lib/gl_carray_list.h: New file.
80383         * lib/gl_carray_list.c: New file.
80384         * lib/gl_linked_list.h: New file.
80385         * lib/gl_linked_list.c: New file.
80386         * lib/gl_anylinked_list1.h: New file.
80387         * lib/gl_anylinked_list2.h: New file.
80388         * lib/gl_avltree_list.h: New file.
80389         * lib/gl_avltree_list.c: New file.
80390         * lib/gl_anyavltree_list1.h: New file.
80391         * lib/gl_anyavltree_list2.h: New file.
80392         * lib/gl_rbtree_list.h: New file.
80393         * lib/gl_rbtree_list.c: New file.
80394         * lib/gl_anyrbtree_list1.h: New file.
80395         * lib/gl_anyrbtree_list2.h: New file.
80396         * lib/gl_anytree_list1.h: New file.
80397         * lib/gl_anytree_list2.h: New file.
80398         * lib/gl_linkedhash_list.h: New file.
80399         * lib/gl_linkedhash_list.c: New file.
80400         * lib/gl_anyhash_list1.h: New file.
80401         * lib/gl_anyhash_list2.h: New file.
80402         * lib/gl_avltreehash_list.h: New file.
80403         * lib/gl_avltreehash_list.c: New file.
80404         * lib/gl_rbtreehash_list.h: New file.
80405         * lib/gl_rbtreehash_list.c: New file.
80406         * lib/gl_anytreehash_list1.h: New file.
80407         * lib/gl_anytreehash_list2.h: New file.
80408
80409         * lib/gl_oset.h: New file.
80410         * lib/gl_oset.c: New file.
80411         * lib/gl_array_oset.h: New file.
80412         * lib/gl_array_oset.c: New file.
80413         * lib/gl_avltree_oset.h: New file.
80414         * lib/gl_avltree_oset.c: New file.
80415         * lib/gl_rbtree_oset.h: New file.
80416         * lib/gl_rbtree_oset.c: New file.
80417         * lib/gl_anytree_oset.h: New file.
80418
80419 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80420
80421         * m4/mkancesdirs.m4: New file.
80422         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
80423         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
80424         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
80425         it.
80426
80427 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80428
80429         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
80430         * lib/mkancesdirs.h: New files.
80431         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
80432         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
80433         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
80434         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
80435         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
80436         callers changed.  Revamp internals significantly, by not
80437         attempting to create directories that are temporarily more
80438         permissive than the final results.  Do not attempt to use
80439         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
80440         This removes some race conditions, fixes some bugs, and simplifies
80441         things.  Use new dirchownmod function to do owner and mode changes.
80442         * lib/mkdir-p.h: Likewise.
80443         * lib/modechange.c (octal_to_mode): New function.
80444         (struct mode_change): New member mentioned.
80445         (make_node_op_equals): New arg mentioned.  All callers changed.
80446         (mode_compile): Keep track of which mode bits the user has explicitly
80447         mentioned.
80448         (mode_adjust): New arg DIR, so that we implement the X op correctly.
80449         New arg PMODE_BITS, to keep track of which mode bits the user
80450         mentioned; it treats S_ISUID and S_ISGID speciall.
80451         All callers changed.
80452         * lib/modechange.h: Likewise.
80453
80454 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80455
80456         * MODULES.html.sh: Add mkancestors.
80457         * modules/mkancesdirs: New module.
80458         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
80459         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
80460         The chdir-safer and afs files are now orphans; I'll remove them
80461         unless someone speaks up.
80462         Add lib/dirchownmod.c, lib/dirchownmod.h.
80463         (Depends-on): Remove alloca, chown, save-cwd, dirname.
80464         Add lchown, mkancesdirs.
80465         (Maintainer): Add self.
80466
80467 2006-07-15  Karl Berry  <karl@gnu.org>
80468
80469         * gnulib-tool: help message wording/arrangement.
80470
80471 2006-07-14  Simon Josefsson  <jas@extundo.com>
80472
80473         * doc/gnulib.texi (Libtool and Windows): New section.
80474
80475 2006-07-12  Simon Josefsson  <jas@extundo.com>
80476
80477         * modules/gendocs (License): Fix license, approved by Karl.
80478
80479 2006-07-12  Eric Blake  <ebb9@byu.net>
80480
80481         * MODULES.html.sh: Add gendocs.
80482
80483 2006-07-11  Eric Blake  <ebb9@byu.net>
80484
80485         * modules/fdl: New module, to install doc/fdl.texi.
80486         * MODULES.html.sh: Add new section for documentation modules.
80487         * gnulib-tool: Avoid space-tab.
80488         (--doc-base): New option, to manage files from doc.
80489
80490 2006-07-11  Eric Blake  <ebb9@byu.net>
80491
80492         * m4/absolute-header.m4: Fix comments to match recent change.
80493
80494 2006-07-11  Eric Blake  <ebb9@byu.net>
80495
80496         * gnulib-tool: List --doc-base before --tests-base.
80497
80498 2006-07-11  Derek R. Price  <derek@ximbiot.com>
80499
80500         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
80501
80502 2006-07-11  Bruno Haible  <bruno@clisp.org>
80503
80504         * README: Mention where to put documentation.
80505
80506 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80507
80508         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
80509
80510 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80511
80512         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
80513         to stdint.m4.
80514
80515 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80516
80517         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
80518         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
80519         "no/such/file/stdint.h" when there is no such file, so that
80520         the resulting C code can be parsed by dodgy compilers.
80521         Problems reported by Bob Proulx.
80522
80523 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80524
80525         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
80526         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80527         macros into the GNU _D_EXACT_NAMLEN.
80528         * lib/savedir.c:  Likewise.
80529         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
80530
80531 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80532         and Paul Eggert  <eggert@cs.ucla.edu>
80533
80534         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
80535         * m4/savedir.m4:
80536         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80537         macros into the GNU _D_EXACT_NAMLEN.
80538
80539 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80540
80541         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
80542         around the absolute name, to work around a problem with the HP-UX
80543         11.23 native C compiler, reported by Bob Proulx.
80544
80545 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80546
80547         * doc/maintain.texi, make-stds.texi: Sync from
80548         <http://savannah.gnu.org/projects/gnustandards>.
80549
80550 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80551
80552         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
80553
80554 2006-07-09  Jim Meyering  <jim@meyering.net>
80555
80556         * m4/glob.m4: Remove a doubled word in a comment.
80557
80558 2006-07-09  Jim Meyering  <jim@meyering.net>
80559
80560         * lib/argp-pv.c: Remove a doubled word in a comment.
80561         * lib/check-version.c (check_version): Likewise.
80562         * lib/javacomp.c (compile_java_class): Likewise.
80563
80564 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
80565
80566         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
80567         for the benefit of people using Autoconf 2.60.  If you want to
80568         support older Autoconf versions you can copy m4/onceonly_2_57.m4
80569         (or m4/onceonly.m4, if pre-2.57) manually.
80570
80571 2006-07-08  Jim Meyering  <jim@meyering.net>
80572
80573         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
80574         comment.
80575         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
80576         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
80577         comment.
80578
80579 2006-07-08  Jim Meyering  <jim@meyering.net>
80580
80581         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
80582
80583 2006-07-07  Simon Josefsson  <jas@extundo.com>
80584
80585         * tests/test-crc.c: Change expected crc value, the test vector
80586         were probably computed using the old broken crc.c?
80587
80588 2006-07-06  Simon Josefsson  <jas@extundo.com>
80589
80590         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
80591         now the canonical place for the M4 file).
80592
80593         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
80594         from the sys_socket dependency now.
80595
80596         * modules/inet_pton (Files): Ditto.
80597
80598         * modules/inet_ntop (Files): Ditto.
80599
80600 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80601
80602         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
80603         not gl_PREREQ_GETUSERSHELL.
80604
80605 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80606
80607         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
80608         with only one argument, for Autoconf 2.60.
80609         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
80610         expand to nothing, so add a shell command to avoid syntax error.
80611         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
80612
80613 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80614
80615         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
80616
80617 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80618
80619         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
80620         no longer needed.  Check for isblank decl.
80621         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
80622         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
80623         of existence.
80624
80625 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80626
80627         * lib/getloadavg.c: Use __VMS, not VMS.
80628         * lib/getopt.c: Likewise.
80629         * lib/getpagesize.h: Likewise.
80630         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
80631         and probably does not work.
80632
80633 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80634
80635         * lib/.cppi-disable: Add wcwidth.
80636         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
80637         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
80638         (ISGRAPH): Remove.  All uses changed to isgraph.
80639         (FOLD) [!defined _LIBC]: Remove special case.
80640         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
80641         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
80642         HAVE_ISBLANK.
80643         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
80644         case.
80645
80646 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
80647
80648         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
80649         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
80650         brackets.  Other minor changes to suppress some compiler
80651         warnings.
80652
80653 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80654         and Paul Eggert  <eggert@cs.ucla.edu>
80655
80656         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
80657         of invoking obsolescent AC_HEADER_DIRENT macro.
80658         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
80659         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
80660         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
80661         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
80662         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
80663         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
80664         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
80665         * m4/readdir.m4: Remove; no longer needed.
80666
80667 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80668         and Paul Eggert  <eggert@cs.ucla.edu>
80669
80670         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
80671         Don't worry about this obsolete case any more.
80672         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
80673         directories.
80674         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
80675         worry about this obsolete case any more.
80676         * lib/fts.c: Likewise.
80677         * lib/getcwd.c: Likewise.
80678         * lib/glob.h: Likewise.
80679         * lib/savedir.c: Likewise.
80680
80681 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80682
80683         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
80684         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
80685         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
80686         needed.
80687         All uses removed.
80688         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80689         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
80690         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
80691         needed.
80692         * m4/getdate.m4 (gl_GETDATE): Likewise.
80693         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
80694         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
80695         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
80696         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80697         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
80698         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80699         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
80700         needed.
80701
80702 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80703
80704         * lib/memcasecmp.c: Include <limits.h>.
80705         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
80706         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
80707         Don't assume isdigit succeeds only on '0' through '9'.
80708
80709 2006-07-05  Eric Blake  <ebb9@byu.net>
80710
80711         * modules/getaddrinfo (Depends-on): Add snprintf.
80712
80713 2006-07-05  Eric Blake  <ebb9@byu.net>
80714
80715         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
80716         to avoid 'header present but could not be compiled' on cygwin.
80717
80718 2006-07-05  Eric Blake  <ebb9@byu.net>
80719
80720         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
80721         missing from netdb.h.
80722         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
80723
80724 2006-07-05  Derek R. Price  <derek@ximbiot.com>
80725
80726         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
80727         no longer needed.
80728         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
80729         * m4/getdate.m4 (gl_GETDATE): Likewise.
80730         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
80731         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
80732         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
80733         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
80734         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
80735
80736 2006-07-05  Derek R. Price  <derek@ximbiot.com>
80737
80738         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
80739         All uses of is_space replaced by isspace.
80740         * lib/exit.h: Don't talk about STDC_HEADERS.
80741         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
80742         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
80743         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
80744         replaced by isprint etc.
80745         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
80746         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
80747         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
80748         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
80749         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
80750         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
80751
80752 2006-07-05  Bruno Haible  <bruno@clisp.org>
80753
80754         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
80755         the function exists, before testing against AIX.
80756         Reported by Martin Lambers <marlam@marlam.de>.
80757
80758 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
80759
80760         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
80761         From Mark D. Baushke.
80762
80763 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
80764
80765         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
80766         to the absolute name, not just one, to bypass Sun C 5.8's
80767         "warning: #include of /usr/include/... may be non-portable".
80768
80769 2006-07-04  Eric Blake  <ebb9@byu.net>
80770
80771         * modules/dirname-tests: New test module.
80772         * tests/test-dirname.c: New file, replacing dirname.c
80773         TEST_DIRNAME section that was recently deleted.
80774
80775 2006-07-04  Bruno Haible  <bruno@clisp.org>
80776
80777         Assume ANSI C header files and <ctype.h> functions.
80778         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
80779         (mbsnwidth): Use isprint, iscntrl instead.
80780
80781 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80782
80783         Merge from coreutils.
80784         * MODULES.html.sh: Add xstrtold.
80785         * modules/xstrtold: New file.
80786         * modules/cycle-check (Files): Add lib/same-inode.h.
80787         * modules/dirname (Files): Add m4/double-slash-root.m4.
80788         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
80789         * modules/mkdir-p (Files): Add lib/same-inode.h.
80790         * modules/same (Files): Add lib/same-inode.h.
80791
80792 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80793
80794         * m4/absolute-header.m4: Renamed from full-header-path.m4.
80795         This is to keep the terminology clean; POSIX talks about
80796         "absolute pathnames", not "full pathnames", but the GNU
80797         Coding Standards say to use "path" for something else;
80798         so use "absolute" to keep both sides happy.
80799         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
80800         Set gl_absolute_header, not gl_full_header_path.
80801         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
80802         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
80803         All uses changed.
80804
80805         Merge from coreutils.
80806
80807         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
80808
80809         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
80810         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
80811         want to require the building of c-strtod.o.
80812         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
80813         needs -lm directly.
80814         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
80815
80816         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
80817
80818         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
80819         --as-needed option if available.  Problem reported by Albert Chin in
80820         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
80821         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
80822         cc merely issues a bunch of annoying warnings for --as-needed
80823         (this problem was reported by Bob Proulx).  Also, try linking with
80824         -lm to detect a bug in binutils 2.16 (this problem was reported
80825         by Ralf Wildenhues).
80826
80827         2006-06-18  Jim Meyering  <jim@meyering.net>
80828
80829         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
80830         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
80831         macro.
80832         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
80833         also check for glibc-2.4's abort-inducing bug.
80834
80835         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
80836         Low-probability clean-up should be to use rmdir to get rid of
80837         the just-created directory, not unlink.
80838
80839         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
80840         configure fail, and request a bug report to inform us about it.
80841         Add a comment that, barring reports to the contrary, in 2007 we'll
80842         assume ftruncate is universally available.
80843
80844         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
80845
80846         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
80847
80848         2006-03-12  Jim Meyering  <jim@meyering.net>
80849
80850         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
80851         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
80852         * m4/same.m4 (gl_SAME): Likewise.
80853         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
80854
80855         2006-03-11  Eric Blake  <ebb9@byu.net>
80856
80857         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
80858         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
80859         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
80860         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
80861
80862 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
80863
80864         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
80865         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
80866         reported by Mark D. Baushke, one in
80867         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
80868
80869         Merge from coreutils.
80870
80871         * lib/.cppi-disable: Add stdint_.h.
80872         * lib/.cvsignore: Add stdint.h.
80873
80874         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
80875
80876         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
80877         both double and long double versions.
80878         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
80879         * lib/xstrtold.c: New file.
80880         * lib/xstrtod.h (xstrtold): New decl.
80881
80882         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
80883
80884         * lib/filemode.c (setst): Remove.
80885         (strmode): Rewrite to avoid setst.  This makes the code shorter,
80886         (arguably) clearer, and the generated code is a bit smaller on my
80887         Debian GNU/Linux stable x86 host.
80888
80889         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
80890
80891         * lib/filemode.c: Include "filemode.h" first, to test the interface.
80892         Assume that filemode.h includes sys/types.h and sys/stat.h.
80893         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
80894         (ftypelet): Reorder to put common cases first, for efficiency.
80895         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
80896         to do 'M'.
80897         (strmode): Renamed from mode_string, and now stores 12 bytes instead
80898         of 10, for compatibility with FreeBSD.  All callers changed.
80899         (filemodestring): Now stores 12 bytes instead of 10, and sets file
80900         types that can't be deduced solely from st_mode.  First arg is now a
80901         const pointer.
80902         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
80903         (strmode): Renamed from mode_string.
80904         (filemodestring): New decl.
80905         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
80906         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
80907         needed.
80908         (S_ISPORT, S_ISWHT): New macros, if not already defined.
80909
80910         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
80911
80912         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
80913         fsusage.h now does that.  Include fsusage.h first, to test interface.
80914         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
80915         at most one method (the old code could have generated decls that
80916         didn't conform to C89, not that this was ever exercised).
80917         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
80918
80919         2006-03-19  Jim Meyering  <jim@meyering.net>
80920
80921         Work even in a chroot where d_ino values for entries in "/"
80922         don't match the stat.st_ino values for the same names.
80923         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
80924         number, iterate through all entries again, using lstat instead.
80925         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
80926         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
80927
80928         * lib/getcwd.c (__getcwd): Clarify a comment.
80929         Use memcpy in place of a call to strcpy.
80930
80931         2006-03-12  Jim Meyering  <jim@meyering.net>
80932
80933         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
80934         matches that of the current directory (which we're about to chdir ".."
80935         out of), then save the dev-ino of the parent, instead.
80936
80937         * lib/same-inode.h (SAME_INODE): New file/macro.
80938         * lib/chdir-safer.c (SAME_INODE): Remove definition.
80939         Include "same-inode.h", instead.
80940         * lib/same.c: Likewise.
80941         * lib/cycle-check.h: Include "same-inode.h".
80942         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
80943         * lib/cycle-check.c (SAME_INODE): Remove definition.
80944         * lib/root-dev-ino.h: Include "same-inode.h".
80945
80946         2006-03-11  Eric Blake  <ebb9@byu.net>
80947
80948         * lib/same.c (same_name): s/base_name/last_component/
80949         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
80950         * lib/filenamecat.c (file_name_concat): Likewise.
80951
80952         2006-03-11  Eric Blake  <ebb9@byu.net>,
80953                     Paul Eggert  <eggert@cs.ucla.edu>
80954
80955         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
80956         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
80957         drive prefix.
80958         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
80959         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
80960         (last_component): New method.
80961         * lib/dirname.c (dir_len): Determine when drive letters need a
80962         subsequent slash.  Preserve // when it is special.
80963         (dir_name): Don't append dot when drive letter is absolute.
80964         [TEST_DIRNAME]: Move into a full-blown gnulib test.
80965         * lib/basename.c (base_name): New semantics - malloc the result.
80966         Preserve // when it is special.  Preserve relative files that look
80967         like drive letters.
80968         (base_len): Preserve // when it is special.
80969         (last_component): New method, similar to old base_name semantics.
80970         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
80971         base_name.  Strip redundant slashes from ///.
80972
80973 2006-07-03  Jim Meyering  <jim@meyering.net>
80974
80975         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
80976         macro is used before the first cycle_check call.
80977
80978 2006-07-03  Eric Blake  <ebb9@byu.net>
80979
80980         * modules/dirname (Depends-on): Add xstrndup.
80981
80982 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
80983
80984         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
80985         test cases, so that config.log is a bit easier to follow.
80986
80987 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
80988
80989         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
80990         both are 64 bits, since this seems to be the tradition, and this
80991         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
80992         we ever run into a host that prefers long long to long in this
80993         case, we'll need another configure-time test.  Problem reported by
80994         Jim Meyering.
80995
80996 2006-07-02  Eric Blake  <ebb9@byu.net>
80997
80998         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
80999
81000 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81001
81002         * modules/inttypes (Depends-on): No longer depends on stdint.
81003         * modules/stdint (Description): Say more about assumptions.
81004         Say that the fast types might differ.  Say macros are used.
81005         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
81006         (Makefile.am): Revise list of substituted symbols to match
81007         new stdint.m4.
81008         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
81009         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
81010         * tests/test-stdint.c (verify_same_types)
81011         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
81012         the code conforms to C99/C89.
81013         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
81014         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
81015
81016 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81017
81018         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
81019         but fix a bug, by requiring at least 64 bits.
81020         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
81021         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
81022         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
81023         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
81024
81025         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
81026         changes.  Make 2.59 a prerequisite.  Check and substitute for
81027         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
81028         inttypes.h.  Do not use special include files; just use the
81029         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
81030         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
81031         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
81032         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
81033         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
81034         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
81035         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
81036         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
81037         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
81038         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
81039         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
81040         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
81041         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
81042         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
81043         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
81044         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
81045         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
81046         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
81047         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
81048         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
81049         WINT_MAX.  Check for C99 conformance more strictly, by detecting
81050         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
81051         not check for things that C99 does not require, e.g., int8_t.  If
81052         a test isn't needed unless <stdint.h> isn't working, and is
81053         unlikely to be needed for any other reason, then don't do it
81054         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
81055         size_t, since we assume C89 freestanding at least.  Do not check
81056         for sig_atomic_t, wchar_t, or wint_t, since the code now does
81057         the right thing even if the types are not defined.  Instead use:
81058         (gl_STDINT_TYPE_PROPERTIES): New macro.
81059         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
81060         testing whether <sys/types.h> clashes, as Autoconf does this for
81061         us now.  All uses removed.
81062         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
81063         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
81064         (gl_CHECK_TYPE_SAME):
81065         Remove; no longer needed.
81066         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
81067         exists, since we'll return 0 anyway in that case.
81068         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
81069
81070 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81071
81072         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
81073         possible collision with system files.
81074         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
81075         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
81076         WCHAR_MIN and WCHAR_MAX in this case.
81077         (<stddef.h>): Do not include; no longer needed.
81078         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
81079         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
81080         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
81081         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
81082         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
81083         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
81084         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
81085         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
81086         !defined(__c99))]: Include in this case too, since it's harmless
81087         now.
81088         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
81089         dangerous to do so.
81090         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
81091         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
81092         (_STDINT_MIN, _STDINT_MAX): New macros.
81093         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
81094         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
81095         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
81096         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
81097         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
81098         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
81099         macros, not typedefs; this simplifies things quite a bit.
81100         Use long int for all types narrower than int64_t.
81101         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
81102         Define in terms of long long int or int64_t or long int,
81103         not int64_t or int32_t.  This saves some compile-time testing.
81104         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
81105         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
81106         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
81107         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
81108         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
81109         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
81110         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
81111         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
81112         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
81113         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
81114         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81115         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81116         undef any previous version and define our own version, for
81117         simplicity and consistency with the new macros for types.
81118         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81119         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81120         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
81121         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
81122         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
81123         @WINT_T_SUFFIX@ to keep things simple here.
81124         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
81125         Simplify by assuming typical 8/16/32/64 host, since we're
81126         already doing that elsewhere anyway.
81127         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
81128         and assume long long int is 64 bits if available.  This
81129         speeds up 'configure'.
81130
81131 2006-07-01  Eric Blake  <ebb9@byu.net>
81132
81133         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
81134         Reported by Andreas Buening.
81135
81136 2006-07-01  Eric Blake  <ebb9@byu.net>
81137
81138         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
81139
81140 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
81141
81142         * lib/getaddrinfo.c: fixed typo
81143
81144 2006-06-29  Jim Meyering  <jim@meyering.net>
81145
81146         * modules/strftime (Maintainer): Add my name, since with the
81147         FPRINTFTIME changes strftime.c has forked from glibc.
81148
81149 2006-06-29  Eric Blake  <ebb9@byu.net>
81150
81151         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
81152
81153 2006-06-29  Eric Blake  <ebb9@byu.net>
81154
81155         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
81156
81157 2006-06-29  Eric Blake  <ebb9@byu.net>
81158
81159         * lib/stat_.h: New file.
81160
81161 2006-06-29  Eric Blake  <ebb9@byu.net>
81162
81163         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
81164         unused static function.
81165
81166 2006-06-29  Eric Blake  <ebb9@byu.net>
81167
81168         * doc/functions.texi (Function Portability): Document missing lstat
81169         on mingw.
81170
81171 2006-06-29  Eric Blake  <ebb9@byu.net>
81172
81173         * MODULES.html.sh: Add sys_stat.
81174         * modules/sys_stat: New module.
81175         * modules/mkstemp (Depends-on): Add sys_stat.
81176
81177 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81178
81179         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
81180
81181 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81182
81183         * m4/c-bs-a.m4: Removed.
81184
81185 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81186
81187         * lib/strftime.c: Assume strftime() exists.
81188
81189 2006-06-29  Derek Price  <derek@ximbiot.com>
81190
81191         * modules/c-bs-a: Removed - \a is C89.
81192         * MODULES.html.sh: Remove c-bs-a.
81193
81194 2006-06-29  Bruno Haible  <bruno@clisp.org>
81195
81196         * modules/wcwidth (License): Change to LGPL.
81197
81198 2006-06-28  Simon Josefsson  <jas@extundo.com>
81199
81200         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
81201         on _WIN32.
81202
81203         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
81204         getnameinfo.
81205
81206 2006-06-28  Simon Josefsson  <jas@extundo.com>
81207
81208         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
81209
81210 2006-06-28  Simon Josefsson  <jas@extundo.com>
81211
81212         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
81213         functions there.  It will succeed on Windows XP, but on Windows
81214         2000 and (presumably) earlier, it will fail, and use the internal
81215         re-implementation.
81216         (use_win32_p): New function.
81217         (getaddrinfo): Use strtoul on servname, to support numeric ports.
81218         Support AI_NUMERICSERV to disable getservbyname.
81219         (getnameinfo): New function, only supports
81220         NI_NUMERICHOST|NI_NUMERICSERV for now.
81221
81222         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
81223         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
81224         getnameinfo.
81225
81226 2006-06-28  Eric Blake  <ebb9@byu.net>
81227
81228         * modules/wcwidth: New file.
81229         * modules/mbchar (Depends-on): Add wcwidth.
81230         * modules/mbswidth (Depends-on): Add wcwidth.
81231         * MODULES.html.sh: Add wcwidth.
81232
81233 2006-06-28  Eric Blake  <ebb9@byu.net>
81234
81235         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
81236         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
81237
81238 2006-06-28  Eric Blake  <ebb9@byu.net>
81239
81240         * lib/xvasprintf.h: Fix comments.
81241
81242 2006-06-28  Eric Blake  <ebb9@byu.net>
81243
81244         * lib/mbchar.h (wcwidth): Include wcwidth.h.
81245         * lib/mbswidth.c (wcwidth): Move from here...
81246         * lib/wcwidth.h: ...to this new file.
81247
81248 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81249
81250         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
81251
81252         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
81253         it's obsolete.
81254         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
81255
81256 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81257
81258         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
81259         Autoconf 2.60 says this stuff was obsolete.
81260
81261 2006-06-28  Bruno Haible  <bruno@clisp.org>
81262
81263         * modules/wcwidth (Files): Add m4/wchar_t.m4.
81264
81265 2006-06-28  Bruno Haible  <bruno@clisp.org>
81266
81267         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
81268         gt_TYPE_WCHAR_T.
81269
81270 2006-06-28  Bruno Haible  <bruno@clisp.org>
81271
81272         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
81273         declaration for wcwidth.
81274         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
81275
81276 2006-06-28  Bruno Haible  <bruno@clisp.org>
81277
81278         * lib/mkdtemp.c [MINGW]: Include <io.h>.
81279         (mkdir): Define using _mkdir.
81280
81281 2006-06-28  Bruno Haible  <bruno@clisp.org>
81282
81283         * lib/getaddrinfo.h: Fix POSIX URL.
81284         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
81285         _WIN32.
81286         (use_win32_p): Make static.
81287         (getaddrinfo): Reject service name if it is empty or does not consist
81288         solely of decimal digits, or if its value is > 65535.
81289         (getnameinfo): Remove useless casts.
81290
81291 2006-06-27  Simon Josefsson  <jas@extundo.com>
81292
81293         * modules/sys_select: New file, suggested by Bruno Haible, Paul
81294         Eggert and Martin Lambers.
81295
81296 2006-06-27  Simon Josefsson  <jas@extundo.com>
81297
81298         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
81299         Eggert and Martin Lambers.
81300
81301 2006-06-27  Bruno Haible  <bruno@clisp.org>
81302
81303         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
81304         result to 0, not to empty.
81305         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
81306
81307 2006-06-27  Bruno Haible  <bruno@clisp.org>
81308
81309         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
81310
81311 2006-06-26  Simon Josefsson  <jas@extundo.com>
81312
81313         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
81314         present.
81315
81316 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
81317
81318         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
81319         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
81320         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
81321
81322 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
81323
81324         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
81325
81326 2006-06-26  Bruno Haible  <bruno@clisp.org>
81327
81328         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
81329
81330 2006-06-26  Bruno Haible  <bruno@clisp.org>
81331
81332         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
81333
81334 2006-06-26  Bruno Haible  <bruno@clisp.org>
81335
81336         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
81337         SGI C compiler in pre-C99 mode.
81338         Suggested by Mark D. Baushke and Larry Jones.
81339
81340 2006-06-26  Bruno Haible  <bruno@clisp.org>
81341
81342         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
81343         WCHAR_MAX.
81344         Reported by Mark D. Baushke and Larry Jones.
81345
81346 2006-06-26  Bruno Haible  <bruno@clisp.org>
81347
81348         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
81349         in pre-C99 mode.
81350         Suggested by Mark D. Baushke and Larry Jones.
81351
81352 2006-06-23  Simon Josefsson  <jas@extundo.com>
81353             Bruno Haible  <bruno@clisp.org>
81354
81355         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
81356         Emit mostlyclean-local rule.
81357         (func_emit_tests_Makefile_am): Likewise.
81358         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
81359
81360 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
81361
81362         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
81363
81364 2006-06-23  Bruno Haible  <bruno@clisp.org>
81365
81366         * tests/test-stdint.c: Update to match ISO C 99 Technical
81367         Corrigendum 1.
81368
81369 2006-06-23  Bruno Haible  <bruno@clisp.org>
81370
81371         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
81372
81373 2006-06-23  Bruno Haible  <bruno@clisp.org>
81374
81375         * lib/stdint_.h: Treat IRIX like OpenBSD.
81376
81377 2006-06-23  Bruno Haible  <bruno@clisp.org>
81378
81379         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
81380         ISO C 99 Technical Corrigendum 1.
81381
81382 2006-06-22  Simon Josefsson  <jas@extundo.com>
81383
81384         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
81385         MinGW.
81386
81387 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81388
81389         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
81390         needed.  Some compiler complained about some of them.  Problem reported
81391         by Larry Jones in
81392         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
81393
81394 2006-06-21  Simon Josefsson  <jas@extundo.com>
81395
81396         * tests/test-getaddrinfo.c: New file.
81397
81398         * modules/getaddrinfo-tests: New file.
81399
81400         * MODULES.html.sh: Add inet_pton.
81401
81402         * modules/inet_pton: New file.
81403
81404 2006-06-21  Simon Josefsson  <jas@extundo.com>
81405
81406         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
81407         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
81408         of using the (limited) gnulib implementation on Windows XP.
81409
81410         * m4/inet_pton.m4: New file.
81411
81412 2006-06-21  Simon Josefsson  <jas@extundo.com>
81413
81414         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
81415         variable.
81416
81417         * lib/socket_.h: Don't define WINVER.
81418
81419         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
81420         slightly modified to work in gnulib.
81421
81422 2006-06-21  Simon Josefsson  <jas@extundo.com>
81423
81424         * doc/gnulib.texi (Windows sockets): Add.
81425
81426 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
81427
81428         * lib/read-file.c (fread_file): Start with buffer allocation of
81429         0 bytes rather than 1 byte; this simplifies the code.
81430         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
81431         code to free buffer and save/restore errno.
81432         (internal_read_file): Remove unused local.
81433
81434 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
81435
81436         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
81437         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
81438         Problem reported by Denis Excoffier in
81439         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
81440
81441 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81442
81443         * modules/sys_socket, modules/socklen: Include sys/types since
81444         FreeBSD 4.x's sys/socket.h needs it.
81445
81446 2006-06-19  Simon Josefsson  <jas@extundo.com>
81447
81448         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
81449
81450 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
81451
81452         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
81453
81454 2006-06-19  Bruno Haible  <bruno@clisp.org>
81455
81456         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
81457         and FULL_PATH_INTTYPES_H in angle brackets.
81458         Reported by Mark D. Baushke <mdb@gnu.org>.
81459
81460 2006-06-17  Eric Blake  <ebb9@byu.net>
81461
81462         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
81463         errno.
81464
81465 2006-06-17  Bruno Haible  <bruno@clisp.org>
81466
81467         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
81468         <sys/inttypes.h>.
81469
81470 2006-06-17  Bruno Haible  <bruno@clisp.org>
81471
81472         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
81473         whether errno is declared. Assume <errno.h> declares errno.
81474
81475 2006-06-17  Bruno Haible  <bruno@clisp.org>
81476
81477         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
81478
81479 2006-06-17  Bruno Haible  <bruno@clisp.org>
81480
81481         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
81482         problem on Solaris 2.5.1.
81483
81484 2006-06-16  Eric Blake  <ebb9@byu.net>
81485
81486         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
81487         * lib/unicodeio.c [!defined errno]: Likewise.
81488         * lib/strtol.c [!defined errno]: Likewise.
81489         * lib/strtod.c [!defined errno]: Likewise.
81490
81491 2006-06-15  Eric Blake  <ebb9@byu.net>
81492
81493         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
81494
81495 2006-06-15  Eric Blake  <ebb9@byu.net>
81496
81497         * config/srclist.txt (ssize_t.m4): Lose sync.
81498
81499 2006-06-15  Bruno Haible  <bruno@clisp.org>
81500
81501         * modules/stdint (Files): Include m4/full-header-path.m4,
81502         m4/size_max.m4, m4/wchar_t.m4.
81503         (Makefile.am): Many more substitutions.
81504         * modules/stdint-tests: New file.
81505         * tests/test-stdint.c: New file.
81506
81507 2006-06-15  Bruno Haible  <bruno@clisp.org>
81508
81509         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
81510         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
81511         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
81512         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
81513         gl_CHECK_TYPE_SAME): New macros.
81514
81515 2006-06-15  Bruno Haible  <bruno@clisp.org>
81516
81517         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
81518
81519 2006-06-15  Bruno Haible  <bruno@clisp.org>
81520
81521         * lib/stdint_.h: Rewritten to be fully auto-configured.
81522         Fixes bug on HP-UX/IA64.
81523
81524 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
81525
81526         * lib/getdate.y (__attribute__): Don't define if already defined.
81527         Problem reported by Larry Jones.
81528         * lib/utimens.c (__attribute__): Likewise.
81529
81530 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
81531
81532         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
81533         reported by Andreas Schwab.
81534
81535 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81536             Bruno Haible  <bruno@clisp.org>
81537
81538         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
81539         check for the declaration of strnlen and a run test that exposes the
81540         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
81541         rpl_strndup.
81542
81543 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81544             Bruno Haible  <bruno@clisp.org>
81545
81546         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
81547
81548 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81549
81550         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
81551         compile test, for Tru64 4.0D.
81552
81553 2006-05-28  Karl Berry  <karl@gnu.org>
81554
81555         * config/srclist.txt (printf-args.c): lose sync.
81556
81557 2006-05-26  Martin Lambers  <marlam@marlam.de>
81558
81559         * lib/getpass.c: Updates the test for the native W32 API, and adds
81560         missing includes, thus fixing compilation warnings.
81561
81562 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
81563
81564         * lib/exclude.c (exclude_fnmatch): New function.
81565         (excluded_file_name): Call exclude_fnmatch.
81566         * lib/exclude.h (excluded_file_name): New prototype
81567
81568 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
81569
81570         * lib/tempname.c (small_open, large_open): New macros.
81571         (__open, __open64) [!_LIBC]: Remove.
81572         (__gen_tempname): Use small_open and large_open instead of __open
81573         and __open64.  This fixes a portability bug on HP-UX 11.11i
81574         reported by Simon Wing-Tang in
81575         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
81576
81577 2006-05-24  Bruno Haible  <bruno@clisp.org>
81578
81579         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
81580         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
81581         Reported by Thorsten Maerz <torte@netztorte.de> via
81582         Aaron Stone <aaron@serendipity.cx>.
81583
81584 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81585
81586         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
81587         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
81588         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
81589         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
81590         not really conditional on the cache.
81591         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
81592
81593 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81594
81595         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
81596         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
81597         (my_usleep): Don't mishandle maximum value.
81598
81599 2006-05-19  Jim Meyering  <jim@meyering.net>
81600
81601         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
81602
81603 2006-05-17  Bruno Haible  <bruno@clisp.org>
81604
81605         Cygwin portability.
81606         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
81607
81608 2006-05-17  Bruno Haible  <bruno@clisp.org>
81609
81610         * lib/stdint_.h: Fix recognition of Cygwin.
81611
81612 2006-05-15  Bruno Haible  <bruno@clisp.org>
81613
81614         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
81615         on libtool patch by Ralf Wildenhues.
81616
81617 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81618
81619         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
81620         test for C99 conformance; (bool) 0.5 is an integer constant
81621         expression, but (bool) -0.5 is not.  Problem reported by Fedor
81622         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
81623
81624 2006-05-11  Simon Josefsson  <jas@extundo.com>
81625
81626         * m4/xvasprintf.m4: Fix obvious typo.
81627
81628 2006-05-11  Jim Meyering  <jim@meyering.net>
81629
81630         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
81631         James Lemley.
81632
81633 2006-05-10  Simon Josefsson  <jas@extundo.com>
81634
81635         * lib/md4.c: Typo fix, update copyright years.
81636         (K1, K2): Don't use L because it turn computations into 64-bit on
81637         64-bit platforms.
81638
81639 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
81640
81641         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
81642         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
81643         unwanted sign propagation, e.g., on hosts with 64-bit int.
81644         There still are some problems with reeelly weird theoretical hosts
81645         (e.g., 33-bit int) but it's not worth worrying about now.
81646         * lib/sha1.c (rol): Likewise.
81647         (K1, K2, K3, K4): Remove unnecessary L suffix.
81648
81649 2006-05-10  Bruno Haible  <bruno@clisp.org>
81650
81651         * lib/des.c: Cast to avoid warnings.
81652
81653 2006-05-09  Bruno Haible  <bruno@clisp.org>
81654
81655         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
81656         (Depends-on): Depend also on xsize, stdarg.
81657         (configure.ac): Add gl_XVASPRINTF.
81658
81659 2006-05-09  Bruno Haible  <bruno@clisp.org>
81660
81661         * m4/xvasprintf.m4: New file.
81662
81663 2006-05-09  Bruno Haible  <bruno@clisp.org>
81664
81665         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
81666         (EOVERFLOW): Define fallback value.
81667         (xstrcat): New function.
81668         (xvasprintf): Recognize the special case of a string concatenation.
81669
81670 2006-05-08  Eric Blake  <ebb9@byu.net>
81671
81672         * gnulib-tool (func_version): Base copyright year on CVS date.
81673         (func_emit_copyright_notice): New function.
81674         (func_emit_lib_Makefile_am): Use it.
81675         (func_emit_tests_Makefile_am): Likewise.
81676         (func_import): Likewise.
81677
81678 2006-05-08  Bruno Haible  <bruno@clisp.org>
81679
81680         * modules/stdarg: New file.
81681         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
81682
81683 2006-05-08  Bruno Haible  <bruno@clisp.org>
81684
81685         * m4/stdarg.m4: New file, from GNU gettext.
81686
81687 2006-05-08  Bruno Haible  <bruno@clisp.org>
81688
81689         * config/srclist.txt (build-aux/config.rpath): different from latest
81690         release.
81691
81692 2006-05-08  Bruno Haible  <bruno@clisp.org>
81693
81694         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
81695
81696 2006-05-05  Jim Meyering  <jim@meyering.net>
81697
81698         * m4/warning.m4: New file, derived from bison's file by the same name.
81699
81700 2006-05-03  Bruno Haible  <bruno@clisp.org>
81701
81702         * lib/stdint_.h: Shorter URL.
81703         * lib/inttypes.h: Likewise.
81704
81705 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81706
81707         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
81708
81709 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81710
81711         * lib/verify.h: Document the internals better.  Most of this change
81712         was written by Bruno Haible.
81713
81714 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
81715
81716         * doc/verify.texi: New file, partly based on a proposal by
81717         Bruno Haible.
81718
81719 2006-05-02  Bruno Haible  <bruno@clisp.org>
81720
81721         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
81722         test from here...
81723         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
81724
81725 2006-04-29  Bruno Haible  <bruno@clisp.org>
81726
81727         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
81728         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
81729
81730 2006-04-29  Bruno Haible  <bruno@clisp.org>
81731
81732         * gnulib-tool: Make --update option actually work.
81733
81734 2006-04-29  Bruno Haible  <bruno@clisp.org>
81735
81736         * doc/gcd.texi: New file.
81737         * doc/gnulib.texi: Include it.
81738
81739 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
81740
81741         * lib/getdate.y (get_date): When adding relative date, start with the
81742         initial time, not with the result of the first mktime call.
81743
81744 2006-04-25  Bruno Haible  <bruno@clisp.org>
81745
81746         * gnulib-tool (func_import): Output the include directives in three
81747         blocks, sorted separately.
81748         Reported by Ben Pfaff <blp@cs.stanford.edu>.
81749
81750 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
81751
81752         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
81753         to define main with arguments, for C++.  Reported by Eric Blake.
81754         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
81755         Prefer 'int main ()' to 'int main (void)', for C++.
81756         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
81757         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
81758         for 'main', for C99 and C++.
81759
81760 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
81761
81762         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
81763         Don't assume that exit status -1 is valid.
81764         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
81765         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
81766         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
81767         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
81768         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
81769         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
81770         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
81771         functions can be used without declaring them, or that you can
81772         exit with status -1.
81773         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
81774
81775 2006-04-24  Karl Berry  <karl@gnu.org>
81776
81777         * config/srclist.txt (longdouble.m4): sync lost.
81778
81779 2006-04-24  Eric Blake  <ebb9@byu.net>
81780
81781         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
81782
81783 2006-04-24  Bruno Haible  <bruno@clisp.org>
81784
81785         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
81786         poll() implementation in AIX.
81787         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
81788
81789 2006-04-24  Bruno Haible  <bruno@clisp.org>
81790
81791         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
81792         assigned exactly once.
81793
81794 2006-04-23  Claudio Fontana  <claudio@gnu.org>
81795             Bruno Haible  <bruno@clisp.org>
81796
81797         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
81798         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
81799         for AM_CPPFLAGS.
81800
81801 2006-04-23  Bruno Haible  <bruno@clisp.org>
81802
81803         * modules/copy-file: Depend on unistd.
81804         * modules/execute: Likewise.
81805         * modules/fatal-signal: Likewise.
81806         * modules/findprog: Likewise.
81807         * modules/mkdtemp : Likewise.
81808         * modules/pipe: Likewise.
81809         * modules/wait-process: Likewise.
81810
81811 2006-04-23  Bruno Haible  <bruno@clisp.org>
81812
81813         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
81814         condition was already detected.
81815         Reported by Ben Pfaff <blp@cs.stanford.edu>.
81816
81817 2006-04-23  Bruno Haible  <bruno@clisp.org>
81818
81819         * lib/copy-file.c: Include <unistd.h> unconditionally.
81820         * lib/execute.c: Likewise.
81821         * lib/fatal-signal.c: Likewise.
81822         * lib/findprog.c: Likewise.
81823         * lib/mkdtemp.c: Likewise.
81824         * lib/pipe.h: Likewise.
81825         * lib/pipe.c: Likewise.
81826         * lib/wait-process.h: Likewise.
81827
81828 2006-04-23  Bruno Haible  <bruno@clisp.org>
81829
81830         * gnulib-tool (func_usage): Fix --import description. Document
81831         --update.
81832         (func_import): Create temporary file in a temporary directory, if
81833         --dry-run is specified. Silence errors from 'grep' when there are no
81834         m4 files in $m4dir.
81835         (func_create_testdir): Silence errors from 'grep' when there are no
81836         m4 files in $m4dir.
81837         Reported by Karl Berry <karl@freefriends.org>.
81838
81839 2006-04-20  Bruno Haible  <bruno@clisp.org>
81840
81841         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
81842         one argument, so that the code will be portable to Autoconf 2.60.
81843         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
81844         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
81845         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
81846
81847 2006-04-19  Derek Price  <derek@ximbiot.com>
81848             Eric Blake  <ebb9@byu.net>
81849
81850         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
81851         rather than "/full/path.h".  Update comment to match.  Shorten &
81852         generalize m4_translit call via AS_TR_CPP.
81853
81854 2006-04-19  Derek Price  <derek@ximbiot.com>
81855             Eric Blake  <ebb9@byu.net>
81856
81857         * lib/inttypes.h: Correct grammar in comment.
81858
81859 2006-04-18  Derek Price  <derek@ximbiot.com>
81860             Paul Eggert  <eggert@cs.ucla.edu>
81861
81862         * modules/inttypes: New file.
81863         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
81864
81865 2006-04-18  Derek Price  <derek@ximbiot.com>
81866             Paul Eggert  <eggert@cs.ucla.edu>
81867
81868         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
81869         New files.
81870
81871 2006-04-18  Derek Price  <derek@ximbiot.com>
81872             Paul Eggert  <eggert@cs.ucla.edu>
81873
81874         * lib/inttypes.h: New file.
81875         * lib/strtoimax.c: Assume <inttypes.h>.
81876
81877 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
81878
81879         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
81880         isn't mounted.  Problem reported by Kir Kolyshkin.
81881
81882 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
81883
81884         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
81885         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
81886         Derek R. Price.
81887         * lib/regex.h (RE_DUP_MAX): Update comment to match current
81888         implementation.
81889
81890 2006-04-12  Eric Blake  <ebb9@byu.net>
81891
81892         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
81893         is now done automatically by the corresponding Autoconf macro.
81894
81895 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
81896
81897         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
81898         time_r.h.
81899
81900 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
81901
81902         Merge regex changes from libc, removing some of our
81903         POSIX-conformance changes that were rejected and redoing them in a
81904         less-intrusive way.
81905
81906         * lib/regcomp.c (re_compile_internal, init_dfa):
81907         Length arg is now size_t, not Idx.  All uses changed.
81908         (peek_token): Forward decl now says internal_function.
81909         (__re_error_msgid, __re_error_msgid_idx):
81910         Now static rather than extern with attribute_hidden.
81911         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
81912         For some reason libc prefers K&R style defns for external functions.
81913         (regerror) [!defined _LIBC]: Likewise.
81914         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
81915         (seek_collating_symbol_entry, lookup_collation_sequence_value):
81916         (build_range_exp, build_collating_symbol):
81917         Use K&R-style defn.
81918         (re_compile_fastmap): Use '\0' to memset, not 0.
81919         (utf8_sb_map): Make the calculations more obvious.
81920         (init_dfa, parse_bracket_exp, build_charclass_op):
81921         Call calloc and cast result, as glibc does.
81922         (init_word_char, fetch_token, peek_token, peek_token_bracket):
81923         (build_range_exp, build_collating_symbol):
81924         Now internal functions.
81925
81926         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
81927
81928         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
81929         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
81930         Don't depend on VMS; depend on __VMS instead, for POSIX
81931         namespace cleanness.
81932         (regoff_t): Define to ssize_t, not long int.
81933
81934         Remove the REG_ macros named below.  Instead, make the old names
81935         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
81936         __USE_GNU_REGEX.
81937         (REG_BACKSLASH_ESCAPE_IN_LISTS):
81938         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
81939         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
81940         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
81941         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
81942         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
81943         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
81944         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
81945         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
81946         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
81947         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
81948         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
81949         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
81950         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
81951         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
81952         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
81953         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
81954         (REG_NREGS):
81955         Remove.  All uses replaced by the old RE_* names.
81956         (RE_BACKSLASH_ESCAPE_IN_LISTS):
81957         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
81958         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
81959         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
81960         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
81961         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
81962         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
81963         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
81964         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
81965         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
81966         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
81967         Don't bother having these macros be independent of each others'
81968         values, since they no longer exist in the POSIX name space.
81969
81970         Rename the following member names back to their old names,
81971         unless !__USE_GNU_REGEX.  All uses changed back.
81972         (buffer): Renamed from re_buffer.
81973         (allocated): Renamed from re_allocated.
81974         (used): Renamed from re_used.
81975         (syntax): Renamed from re_syntax.
81976         (fastmap): Renamed from re_fastmap.
81977         (translate): Renamed from re_translate.
81978         (can_be_null): Renamed from re_can_be_null.
81979         (regs_allocated): Renamed from re_regs_allocated.
81980         (fastmap_accurate): Renamed from re_fastmap_accurate.
81981         (no_sub): Renamed from re_no_sub.
81982         (not_bol): Renamed from re_not_bol.
81983         (not_eol): Renamed from re_not_eol.
81984         (newline_anchor): Renamed from re_newline_anchor.
81985         (num_regs): Renamed from rm_num_regs.
81986         (start): Renamed from rm_start.
81987         (end): Renamed from rm_end.
81988
81989         (free_state): Move up a bit.
81990
81991         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
81992         #define to be empty.
81993         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
81994         when that is what is intended.
81995         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
81996         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
81997         (MAX): New macro.
81998         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
81999         All uses changed back to re_malloc, etc.  It's now the caller's
82000         responsibility to check for overflow; all callers changed.
82001         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
82002         (re_x2nrealloc): Remove.
82003         (free_state): Remove decl.
82004
82005         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
82006         (re_set_registers, re_exec):
82007         Use K&R-style defn.
82008
82009         2006-01-31  Roland McGrath  <roland@redhat.com>
82010
82011         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
82012         Reported by Mike Frysinger <vapier@gentoo.org>.
82013
82014         2006-01-15  Andreas Jaeger  <aj@suse.de>
82015
82016         [BZ #1950]
82017         * lib/regex_internal.c (re_string_reconstruct): Adjust for
82018         build_wcs_upper_buffer change.
82019         (build_wcs_upper_buffer): Change return type.
82020
82021         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
82022
82023         * lib/regex_internal.h: Include <stdint.h> if available.
82024
82025         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
82026
82027         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
82028
82029         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
82030
82031         * lib/regcomp.c: Adjust for changed secondary hash function.
82032
82033         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
82034
82035         * lib/regex.h: Pretty printing.
82036         Clean up namespace a bit.
82037
82038         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
82039
82040         * lib/regexec.c (update_cur_sifted_state, check_arrival,
82041         check_arrival_add_next_nodes): Avoid using uninitialized variable.
82042
82043         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82044                     Ulrich Drepper  <drepper@redhat.com>
82045
82046         [BZ #1302]
82047         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
82048         changed.
82049         (bitset_word_t): Renamed from bitset_word.  All uses changed.
82050
82051         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
82052
82053         [BZ #281]
82054         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
82055         * lib/regcomp.c: Remove unnecessary uses of
82056         unsigned RE_TRANSLATE_TYPE.
82057         * lib/regex_internal.h: Likewise.
82058         * lib/regex_internal.c: Likewise.
82059         * lib/regexec.c: Likewise.
82060         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
82061
82062         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
82063
82064         * lib/regexec.c (find_recover_state): Remove unnecessary
82065         initialization.
82066         (transit_state_bkref): Make DFA a const pointer.
82067         (get_subexp): Likewise.
82068         (check_arrival): Likewise.
82069         (update_cur_sifted_state): Likewise.
82070         (re_search_internal): Likewise.
82071         (prune_impossible_nodes): Likewise.
82072         (acquire_init_state_context): Likewise.
82073         (proceed_next_node): Likewise.
82074         (set_regs): Likewise.
82075         (free_fail_stack_return): Likewise.
82076         (check_arrival_expand_ecl): Mark DFA parameter as const.
82077         (check_arrival_expand_ecl_sub): Likewise.
82078         (check_subexp_limits): Likewise.
82079         (sub_epsilon_src_nodes):  Likewise.
82080         (add_epsilon_src_nodes):  Likewise.
82081         (merge_state_array): Likewise.
82082         (update_regs): Likewise.
82083         (build_trtable): Likewise.
82084         (sift_states_backward): Mark MCTX parameter as const.
82085         (build_sifted_states): Likewise.
82086         (update_cur_sifted_state): Likewise.
82087         (sift_states_mkref): Likewise.
82088         (check_arrival_expand_ecl): Mark eclosure as const.
82089         (check_dst_limits_calc_pos_1): Likewise.
82090         * lib/regex_internal.h (re_match_context_t): Make dfa a const
82091         pointer.
82092
82093         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
82094
82095         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
82096         (transit_state_sb): Likewise.
82097         (transit_state_mb): Likewise.
82098         (sift_states_iter_mb): Likewise.
82099         (check_arrival_add_next_nodes): Likewise.
82100         (check_node_accept_bytes): Change first parameter to pointer-to-const.
82101         [_LIBC] (re_search_2_stub): Use mempcpy.
82102
82103         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
82104         mbrtowc for very simple UTF-8 case.
82105
82106         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
82107         a pointer-to-const.
82108         (re_acquire_state_context): Likewise.
82109         * lib/regex_internal.h: Adjust prototypes.
82110
82111         * lib/regex.c: Prevent using C++ compilers.
82112
82113         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
82114         (re_acquire_state_context): Likewise.
82115
82116 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82117
82118         * modules/regex (Depends-on): Add ssize_t.
82119
82120 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82121
82122         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
82123         translation table.
82124
82125 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82126
82127         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
82128
82129 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
82130             Bruno Haible  <bruno@clisp.org>
82131
82132         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
82133         <sys/types.h> and <inttypes.h>.
82134
82135 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82136
82137         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
82138         `__error_t_defined', so argp.h will not typedef the former.
82139
82140 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
82141
82142         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
82143         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
82144         glibc names.  Even if glibc is changed to conform to POSIX, the
82145         traditional names will be available anyway, since regex depends on
82146         the extensions module.  Also, fix a longstanding typo in the
82147         implementation of Spencer ERE test #75 from grep 2.3.  Problems
82148         reported by Emanuele Giaquinta.  Also, change sense of cached
82149         variable, so that the message makes sense.
82150
82151 2006-03-24  Simon Josefsson  <jas@extundo.com>
82152
82153         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
82154         including some doc fixes.
82155         (base64_encode_alloc): Fix +1 bug on allocation failures.
82156
82157 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82158
82159         * lib/base64.c (base64_encode): Do not read past end of array with
82160         unsanitized input on systems with CHAR_BIT > 8.
82161
82162 2006-03-24  Eric Blake  <ebb9@byu.net>
82163
82164         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
82165
82166 2006-03-22  Karl Berry  <karl@gnu.org>
82167
82168         * config/srclist.txt (*setenv.[ch]): get from coreutils.
82169         * config/srclistvars.sh (COREUTILS): new var.
82170
82171 2006-03-17  Jim Meyering  <jim@meyering.net>
82172
82173         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
82174         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
82175
82176 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82177
82178         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
82179         no longer needs it.  Instead, check that regoff_t is as least
82180         as wide as ptrdiff_t.
82181
82182         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
82183         so that our regex.h stays compatible with the installed regex.
82184         This is helpful for installers who configure --without-included-regex.
82185         Problem reported by Emanuele Giaquinta.
82186
82187 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82188
82189         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
82190         Typedef to long int, not to off_, as POSIX will likely change
82191         in that direction.
82192
82193 2006-03-15  Eric Blake  <ebb9@byu.net>
82194
82195         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
82196
82197 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82198
82199         * lib/argp-help.c (validate_uparams): Fix typo
82200         * lib/argp-parse.c (argp_default_options): Consistently begin help
82201         messages with a lowercase letter.
82202
82203 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
82204
82205         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
82206         overrun buffers and shouldn't be used (much as gets shouldn't be
82207         used).
82208         * lib/time_r.c (asctime_r, ctime_r): Likewise.
82209
82210 2006-03-08  Simon Josefsson  <jas@extundo.com>
82211
82212         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
82213         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82214
82215 2006-03-08  Simon Josefsson  <jas@extundo.com>
82216
82217         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
82218         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82219
82220 2006-03-08  Simon Josefsson  <jas@extundo.com>
82221
82222         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
82223         signal that configure disabled the device.
82224
82225 2006-03-08  Simon Josefsson  <jas@extundo.com>
82226
82227         * build-aux/maint.mk: Fix refresh-po, to handle no translated
82228         languages.
82229
82230 2006-03-07  Simon Josefsson  <jas@extundo.com>
82231
82232         * modules/getopt (Depends-on): Add unistd.
82233
82234         * modules/unistd: New file.
82235
82236 2006-03-07  Simon Josefsson  <jas@extundo.com>
82237
82238         * modules/gc-random: New file.
82239
82240 2006-03-07  Simon Josefsson  <jas@extundo.com>
82241
82242         * m4/unistd_h.m4: New file.
82243
82244 2006-03-07  Simon Josefsson  <jas@extundo.com>
82245
82246         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
82247         test to be side-effect free by storing the result in the cache
82248         variable gl_cv_lib_readline, and moving the assignment of
82249         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
82250         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82251
82252 2006-03-07  Simon Josefsson  <jas@extundo.com>
82253
82254         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
82255         error on missing devices (the functions will return an error).
82256
82257         * m4/gc.m4: Move random stuff to gc-random.m4
82258
82259 2006-03-07  Simon Josefsson  <jas@extundo.com>
82260
82261         * lib/unistd_.h: New file.
82262
82263 2006-03-07  Simon Josefsson  <jas@extundo.com>
82264
82265         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
82266
82267 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82268
82269         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
82270         Problem reported by Juan Manuel Guerrero.
82271
82272 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82273
82274         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
82275         the unistd module.
82276         * lib/getlogin_r.c: Likewise.
82277         * lib/getlogin_r.h: Likewise.
82278         * lib/glob.c: Likewise.
82279         * lib/pagealign_alloc.c: Likewise.
82280         * lib/unistd_.h: Remove; no longer needed.
82281
82282 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82283
82284         * MODULES.html.sh (Support for systems lacking POSIX:2001):
82285         Add unistd.
82286         * modules/c-stack (Depends-on): Add unistd.
82287         * modules/getlogin_r: Likewise.
82288         * modules/glob: Likewise.
82289         * modules/pagealign_alloc: Likewise.
82290         * modules/unistd (Files): Remove lib/unistd_.h.
82291         (EXTRA_DIST): Remove.
82292         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
82293         need unistd_.h.
82294         (MOSTLYCLEANFILES): Remove unistd.h-t.
82295
82296 2006-03-03  Simon Josefsson  <jas@extundo.com>
82297
82298         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
82299
82300 2006-03-03  Simon Josefsson  <jas@extundo.com>
82301
82302         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
82303         libidn and bison.
82304
82305 2006-03-03  Simon Josefsson  <jas@extundo.com>
82306
82307         * build-aux/maint.mk: Add indent target.
82308
82309 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
82310
82311         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
82312         our replacement poll.h in any case, to avoid a differing
82313         declaration from a system header.  Seen on AIX.
82314
82315 2006-03-01  Simon Josefsson  <jas@extundo.com>
82316
82317         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
82318         <kasal@ucw.cz>.
82319
82320 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82321
82322         * modules/gettime (Depends-on): Add extensions module.
82323         * modules/nanosleep (Depends-on): Likewise.
82324         * modules/settime (Depends-on): Likewise.
82325
82326 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82327
82328         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
82329         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
82330         pedantically.
82331         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
82332         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
82333
82334         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
82335         not "==".  Reported by Ralf Wildenhues.
82336
82337 2006-03-01  Karl Berry  <karl@gnu.org>
82338
82339         * doc/Copyright/request-*: new files, synced from gnuorg.
82340
82341 2006-03-01  Karl Berry  <karl@gnu.org>
82342
82343         * config/srclist.txt (Copyright/*): new entries.
82344
82345 2006-02-28  Simon Josefsson  <jas@extundo.com>
82346
82347         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
82348
82349 2006-02-27  Simon Josefsson  <jas@extundo.com>
82350
82351         * lib/base64.h: Indent #define's.  From Jim Meyering
82352         <jim@meyering.net>.
82353
82354 2006-02-27  Jim Meyering  <jim@meyering.net>
82355
82356         Revert the change of 2006-02-24, so these files can continue
82357         to be sync'd from gettext.
82358         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
82359         of `config.h'.
82360
82361 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
82362
82363         * modules/intprops: New file.
82364         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
82365         Add intprops.
82366         * modules/getloadavg (Files): Remove lib/intprops.h.
82367         (Depends-on): Add intprops.
82368         * modules/human: Likewise.
82369         * modules/inttostr: Likewise.
82370         * modules/openat: Likewise.
82371         * modules/sig2str: Likewise.
82372         * modules/userspec: Likewise.
82373         * modules/utimecmp: Likewise.
82374         * modules/xnanosleep: Likewise.
82375         * modules/xstrtol: Likewise.
82376
82377 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
82378
82379         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
82380         * modules/lock-tests (TESTS): Use $(EXEEXT).
82381         * modules/tls-tests: Likewise.
82382         * modules/argp-tests: Likewise.
82383         (check_PROGRAMS): New var, replacing...
82384         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
82385
82386 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82387
82388         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
82389         `config.h'.
82390
82391 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
82392
82393         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
82394
82395 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82396
82397         Sync from coreutils.
82398         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
82399         gl_CHDIR_SAFER.
82400
82401 2006-02-22  Jim Meyering  <jim@meyering.net>
82402
82403         Sync from coreutils.
82404         * m4/chdir-safer.m4: New file.
82405
82406 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
82407
82408         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
82409         AT_FDCWD exceeds INT_MAX.
82410         * lib/openat.h (AT_FDCWD): Likewise.
82411
82412 2006-02-17  Eric Blake  <address@hidden>
82413
82414         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
82415
82416 2006-02-16  Simon Josefsson  <jas@extundo.com>
82417
82418         * modules/getaddrinfo (Depends-on): Add sys_socket.
82419
82420 2006-02-15  Simon Josefsson  <jas@extundo.com>
82421
82422         * build-aux/maint.mk: Add dsyntax-check rule.
82423
82424 2006-02-15  Eric Blake  <ebb9@byu.net>
82425
82426         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
82427         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
82428         'present but cannot compile' warnings on cygwin.
82429         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
82430         use ws2tcpip.h if sys/socket.h works.
82431         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
82432         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
82433
82434 2006-02-14  Simon Josefsson  <jas@extundo.com>
82435
82436         * modules/maintainer-makefile (Files): Rename.
82437
82438         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
82439         and (the local) Makefile.cfg to maint-cfg.mk.
82440
82441         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
82442         to the latter.
82443
82444         * modules/maintainer-makefile: New module.
82445
82446         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
82447         severaly stripped to make it possible to build it up from scratch
82448         with reliable tests.
82449
82450         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
82451         fixes to permit overriding the default actions when configure and
82452         makefile are not available.
82453
82454 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
82455
82456         Sync from coreutils.
82457         * modules/lstat (Depends-on): Don't depend on xalloc.
82458         (License): Change from GPL to LGPL, since this is now simply a
82459         replacement for a libc function.
82460
82461 2006-02-14  Jim Meyering  <jim@meyering.net>
82462
82463         Sync from coreutils.
82464
82465         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
82466         failure on deficient systems, and simplify gnulib lgpl dependencies.
82467         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
82468         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
82469
82470         * lib/xalloc-die.c: Remove unused definition of N_.
82471
82472 2006-02-14  Jim Meyering  <jim@meyering.net>
82473
82474         Sync from coreutils.
82475         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
82476         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
82477         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
82478         double-quote uses of that variable, to accommodate the rare case in
82479         which getmntent is available in none of the libraries checked.  This
82480         happens at least on FreeBSD 5.0.
82481
82482 2006-02-13  Simon Josefsson  <jas@extundo.com>
82483
82484         * gnulib-tool (Usage): Fix --import, from
82485         karl@freefriends.org (Karl Berry).
82486
82487 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82488
82489         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
82490
82491 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
82492
82493         * lib/argp-namefrob.h: Restore changes accidentally lost during the
82494         "autoupdate" on 2005-12-12.
82495
82496 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82497
82498         * modules/closeout (Depends-on): Remove atexit.
82499
82500 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82501
82502         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
82503         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
82504
82505 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
82506
82507         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
82508         __EXTENSIONS__ if this causes compilation to fail.  Problem
82509         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
82510         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
82511
82512 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
82513
82514         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
82515         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
82516         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
82517         All uses changed.
82518
82519 2006-01-26  Simon Josefsson  <jas@extundo.com>
82520
82521         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
82522         prototype is visible on mingw32.
82523
82524         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
82525         for mingw32.
82526
82527         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
82528         mingw32).
82529
82530 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
82531
82532         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
82533         attempt to open for write; this always fails, at least on POSIX
82534         hosts.  This reinstates the 2006-01-09 change, which was
82535         inadvertently removed.
82536
82537 2006-01-26  Bruno Haible  <bruno@clisp.org>
82538
82539         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
82540         Reported by Paul Eggert.
82541
82542 2006-01-26  Bruno Haible  <bruno@clisp.org>
82543             Paul Eggert  <eggert@cs.ucla.edu>
82544
82545         * lib/stdbool_.h (_Bool)
82546         [(! (defined __cplusplus || defined __BEOS__)
82547           && !defined __GNUC__
82548           && !(defined __HP_cc || defined __xlc__
82549                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
82550                || defined __sgi))]:
82551         #define to signed char in these cases too; this simplifies
82552         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
82553         etc., separately) and makes it more conservative.
82554
82555 2006-01-25  Simon Josefsson  <jas@extundo.com>
82556
82557         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
82558         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
82559         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
82560
82561 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82562
82563         * lib/argp-namefrob.h: Bugfix. Remove stray #
82564
82565 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
82566
82567         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
82568         so that we test the test.
82569         Check for yet another HP-UX cc bug involving *bool |= bool.
82570
82571 2006-01-25  Karl Berry  <karl@gnu.org>
82572
82573         * config/srclist.txt (vasnprintf.c): sync lost.
82574
82575 2006-01-25  Jim Meyering  <jim@meyering.net>
82576
82577         Sync from the stable (b5) branch of coreutils:
82578
82579         * lib/fts.c (fts_children): Don't let close() clobber errno from
82580         failed fchdir().
82581
82582         * lib/fts.c (fts_stat): When following a symlink-to-directory,
82583         don't necessarily interpret stat-fails+lstat-succeeds as indicating
82584         a dangling symlink.  That can also happen at least for ELOOP.
82585         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
82586         FYI, this bug predates the inclusion of fts.c in coreutils.
82587
82588         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
82589         in their own block, so pre-c99 compilers don't object.
82590
82591         Avoid the double-free (first in fts_read, second in fts_close) that
82592         would occur when an `active' directory is made inaccessible (e.g.,
82593         via chmod a-x) during a traversal.
82594         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
82595         before returning.  Reproduce this failure by
82596         mkdir -p a/b; cd a; chmod a-x . b
82597         Reported by Stavros Passas.
82598
82599 2006-01-25  Jim Meyering  <jim@meyering.net>
82600
82601         * lib/fileblocks.c: Remove more useless parentheses.
82602         * lib/readutmp.h: Likewise.
82603
82604 2006-01-25  Bruno Haible  <bruno@clisp.org>
82605
82606         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
82607         warnings.
82608         Reported by Paul Eggert.
82609
82610 2006-01-25  Bruno Haible  <bruno@clisp.org>
82611
82612         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
82613         rid of a trap command. For Solaris sh.
82614         Reported by Mark D. Baushke <mdb@gnu.org>.
82615
82616 2006-01-24  Simon Josefsson  <jas@extundo.com>
82617
82618         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
82619         Bruno.
82620
82621 2006-01-24  Karl Berry  <karl@gnu.org>
82622
82623         * config/srclist.txt (argp-namefrob.h): sync lost.
82624
82625 2006-01-24  Jim Meyering  <jim@meyering.net>
82626
82627         * modules/openat (Files): Add lib/intprops.h.
82628         From Mark D. Baushke.
82629
82630 2006-01-24  Jim Meyering  <jim@meyering.net>
82631
82632         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
82633         Reported by Mark D. Baushke.
82634
82635 2006-01-24  Jim Meyering  <jim@meyering.net>
82636
82637         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
82638
82639 2006-01-24  Bruno Haible  <bruno@clisp.org>
82640
82641         * modules/strnlen (Maintainer): Change from glibc to all.
82642
82643 2006-01-24  Bruno Haible  <bruno@clisp.org>
82644
82645         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
82646         Patch by Paul Eggert.
82647
82648 2006-01-24  Bruno Haible  <bruno@clisp.org>
82649
82650         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
82651         already has it.
82652         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
82653         2005-11-26.
82654
82655         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
82656         'signed char' to avoid problems with the built-in _Bool type.
82657         Reported by Paul Eggert on 2005-11-26.
82658
82659 2006-01-24  Bruno Haible  <bruno@clisp.org>
82660
82661         * gnulib-tool (func_import): Avoid constructing complicated sed
82662         expressions inside backquote.
82663         Report and solution by Mark D. Baushke <mdb@gnu.org>.
82664
82665 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
82666
82667         These changes imported from libc.
82668         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
82669         test and two separate function calls.
82670         * lib/strndup.c (__strndup): Add libc_hidden_def.
82671
82672 2006-01-23  Simon Josefsson  <jas@extundo.com>
82673
82674         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
82675         Remove the test_*_SOURCES variable: automake infers it by default.
82676         * modules/tls-tests: Likewise.
82677
82678 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82679
82680         Work around porting bugs reported by Dieter in
82681         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
82682         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
82683         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
82684         Include "getopt.h" first, to check interface.
82685         (getenv): Declare only if defined HAVE_DECL_GETENV &&
82686         !HAVE_DECL_GETENV.
82687         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
82688         (__strndup): Revert to K&R-style function dfns, the glibc style.
82689         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
82690         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
82691         Include strnlen.h first, to get prototype properly.
82692         (strnlen): Renamed from __strnlen.
82693         Remove weak alias.
82694
82695 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82696
82697         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
82698
82699 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82700
82701         * config/srclist.txt: Adjust to reflect glibc reorganization.
82702         This affects only comments.
82703
82704 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
82705
82706          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
82707          Reported by Bruce Korb <bkorb@gnu.org>.
82708
82709 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
82710
82711         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
82712         to pacify gcc -Wswitch-default.
82713
82714 2006-01-22  Bruno Haible  <bruno@clisp.org>
82715
82716         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
82717         temporary buffer for sprintf, take into account the precision also
82718         for 'd', 'i', 'u', 'o', 'x', 'X'.
82719
82720 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
82721
82722         * modules/argp-tests: New module
82723         * tests/test-argp.c: New file
82724         * tests/test-argp-2.sh: New file
82725
82726 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
82727
82728         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
82729         (__argp_base_name): Removed
82730         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
82731         typo.
82732         (__argp_base_name): Provide macro definition or extern declaration
82733         depending on the configuration
82734
82735 2006-01-20  Simon Josefsson  <jas@extundo.com>
82736
82737         * modules/inet_ntop (Depends-on): Depend on sys_socket.
82738
82739 2006-01-20  Simon Josefsson  <jas@extundo.com>
82740
82741         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
82742
82743 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
82744
82745         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
82746         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
82747         Suggested by Bruno Haible.
82748
82749 2006-01-20  Karl Berry  <karl@gnu.org>
82750
82751         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
82752         until changes propagate, I guess.
82753
82754 2006-01-19  Simon Josefsson  <jas@extundo.com>
82755
82756         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
82757
82758 2006-01-19  Simon Josefsson  <jas@extundo.com>
82759
82760         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
82761
82762 2006-01-19  Simon Josefsson  <jas@extundo.com>
82763
82764         * gnulib-tool: Set check_PROGRAMS.
82765
82766         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
82767         modules/des-tests, modules/gc-arcfour-tests,
82768         modules/gc-arctwo-tests, modules/gc-des-tests,
82769         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
82770         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
82771         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
82772         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
82773         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
82774         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
82775         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
82776         test_*_SOURCES.
82777
82778 2006-01-18  Simon Josefsson  <jas@extundo.com>
82779
82780         * modules/socklen (Depends-on): Depend on sys_socket.
82781
82782 2006-01-18  Simon Josefsson  <jas@extundo.com>
82783
82784         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
82785         modules/des-tests, modules/gc-arcfour-tests,
82786         modules/gc-arctwo-tests, modules/gc-des-tests,
82787         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
82788         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
82789         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
82790         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
82791         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
82792         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
82793         $(EXEEXT) to automake TESTS variable, for mingw32.
82794
82795 2006-01-17  Simon Josefsson  <jas@extundo.com>
82796
82797         * modules/socklen (Include): Need sys/socket.h.
82798
82799 2006-01-17  Bruno Haible  <bruno@clisp.org>
82800
82801         * modules/ssize_t (Include): Add <sys/types.h>.
82802
82803 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
82804
82805         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
82806         it's not portable and it doesn't work with cross-compiles.
82807         Problem reported by Bruno Haible.  Fix missing-$ typo in
82808         'test "gl_cv_ignore_unused_libraries" ...' that prevented
82809         -zignore from being used with Sun's C compiler.
82810
82811 2006-01-12  Simon Josefsson  <jas@extundo.com>
82812
82813         * lib/base64.c: Fix warning, reported by Bruno Haible
82814         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
82815
82816 2006-01-12  Bruno Haible  <bruno@clisp.org>
82817
82818         * modules/ldd: New file.
82819         * build-aux/ldd.sh.in: New file.
82820         * MODULES.html.sh (Support for building libraries and executables): Add
82821         ldd.
82822
82823 2006-01-12  Bruno Haible  <bruno@clisp.org>
82824
82825         * m4/ldd.m4: New file.
82826
82827 2006-01-12  Bruno Haible  <bruno@clisp.org>
82828
82829         * gnulib-tool (func_import, func_create_testdir): Don't go into an
82830         endless loop while replacing $auxdir with build-aux.
82831
82832 2006-01-11  Simon Josefsson  <jas@extundo.com>
82833
82834         * lib/stdint_.h (SIZE_MAX): Add missing (.
82835
82836 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
82837
82838         Sync from coreutils.
82839         * lib/md5.c: Fix commentary typos.
82840         (alignof, UNALIGNED_P): No need for a GCC-specific version.
82841         * lib/md5.h (__attribute__): Remove; unused.
82842         * lib/sha1.c: Fix commentary to match md5 better.
82843         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
82844         so that we don't need to worry about alignment.  All uses changed.
82845         This merges the 2005-10-28 md5 change into sha1.
82846
82847 2006-01-11  Jim Meyering  <jim@meyering.net>
82848
82849         Sync from coreutils.
82850         * lib/md5.c (OP): Fix spacing.
82851
82852 2006-01-11  Bruno Haible  <bruno@clisp.org>
82853
82854         Ensure automatic ordering between gl_LOCK and gl_ARGP.
82855         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
82856         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
82857
82858 2006-01-11  Bruno Haible  <bruno@clisp.org>
82859
82860         Ensure automatic ordering between gl_LOCK and gl_ARGP.
82861         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
82862         the "early" section as well.
82863
82864 2006-01-11  Bruno Haible  <bruno@clisp.org>
82865
82866         Avoid "ar: no archive members specified" error on MacOS X.
82867         * gnulib-tool (func_modules_add_dummy): New function.
82868         (func_import, func_create_testdir): Invoke it.
82869
82870 2006-01-11  Bruno Haible  <bruno@clisp.org>
82871
82872         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
82873         with $auxdir in AC_CONFIG_FILES statements.
82874
82875 2006-01-11  Bruno Haible  <bruno@clisp.org>
82876
82877         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
82878         Initialize also noinst_HEADERS to empty.
82879
82880 2006-01-11  Bruno Haible  <bruno@clisp.org>
82881
82882         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
82883         variables.
82884         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
82885         autoreconf.
82886
82887 2006-01-11  Bruno Haible  <bruno@clisp.org>
82888
82889         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
82890         overridable by the user.
82891         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82892
82893 2006-01-10  Simon Josefsson  <jas@extundo.com>
82894
82895         * modules/sys_socket: New file.
82896
82897 2006-01-10  Simon Josefsson  <jas@extundo.com>
82898
82899         * m4/sys_socket_h.m4: New file.
82900
82901 2006-01-10  Simon Josefsson  <jas@extundo.com>
82902
82903         * lib/socket_.h: New file.
82904
82905 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82906
82907         * modules/readutmp (Maintainer): Add myself.
82908
82909 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82910
82911         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
82912         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
82913         People who are still concerned with buggy memcmp implementations
82914         can invoke gl_FUNC_MEMCMP themselves.
82915
82916 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
82917
82918         * lib/regex_internal.h (BITSET_WORD_BITS):
82919         Work around a bug in 64-bit PGC (before version 6.1-2), where the
82920         preprocessor mishandles large unsigned values as if they were signed.
82921         Problem reported by Claudio Fontana in
82922         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
82923
82924 2006-01-10  Jim Meyering  <jim@meyering.net>
82925
82926         Avoid the double-free (first in fts_read, second in fts_close) that
82927         would occur when an `active' directory is made inaccessible (e.g.,
82928         via chmod a-x) during a traversal.
82929         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
82930         before returning.  Reproduce this failure by
82931         mkdir -p a/b; cd a; chmod a-x . b
82932         Reported by Stavros Passas.
82933
82934         Sync from coreutils.
82935         * lib/sha1.c: Tweak grammar in a comment.
82936
82937 2006-01-10  Jim Meyering  <jim@meyering.net>
82938
82939         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
82940         Patch by Joerg Sonnenberger.
82941
82942 2006-01-10  Bruno Haible  <bruno@clisp.org>
82943
82944         * modules/readutmp: Depend on module free.
82945         * modules/strtok_r: Depend on module restrict.
82946
82947 2006-01-10  Bruno Haible  <bruno@clisp.org>
82948
82949         * modules/gettext (configure.ac): Add an invocation of
82950         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
82951
82952 2006-01-10  Bruno Haible  <bruno@clisp.org>
82953
82954         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
82955         Reported by Werner Lemberg <wl@gnu.org>.
82956
82957 2006-01-10  Bruno Haible  <bruno@clisp.org>
82958
82959         * lib/localcharset.c: Update from GNU gettext.
82960
82961 2006-01-10  Bruno Haible  <bruno@clisp.org>
82962
82963         * lib/argp.h (__const): Remove macro. Use const instead.
82964         * lib/argp-fmtstream.h (__const): Likewise.
82965         * lib/glob_.h (__const): Remove macro.
82966         * lib/glob-libc.h: Use const instead of __const.
82967
82968 2006-01-10  Bruno Haible  <bruno@clisp.org>
82969
82970         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
82971         variable.
82972         Needed to avoid an automake error regarding the 'gettext' module.
82973
82974 2006-01-09  Simon Josefsson  <jas@extundo.com>
82975
82976         * modules/inet_ntop (Depends-on): Add restrict.
82977
82978 2006-01-09  Simon Josefsson  <jas@extundo.com>
82979
82980         * modules/gc-rijndael-tests (License): Put under LGPL.
82981
82982         * modules/gc-des-tests (License): Likewise.
82983
82984         * modules/gc-arcfour-tests (License): Likewise.
82985
82986         * modules/gc-arctwo-tests (License): Likewise.
82987
82988         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
82989
82990         * modules/gc-hmac-sha1-tests (Files): Likewise.
82991
82992         * modules/gc-hmac-md5-tests (License): Likewise.
82993
82994         * modules/gc-sha1-tests (License): Likewise.
82995
82996         * modules/gc-md5-tests (License): Likewise.
82997
82998         * modules/gc-md4-tests (License): Likewise.
82999
83000         * modules/gc-md2-tests (License): Likewise.
83001
83002         * modules/gc-tests (License): Likewise.
83003
83004         * modules/des-tests (License): Likewise.
83005
83006         * modules/md4-tests (License): Likewise.
83007
83008         * modules/md2-tests (License): Likewise.
83009
83010 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83011
83012         Sync from coreutils:
83013
83014         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
83015         * modules/lib-ignore: New file.
83016         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
83017         chdir-safer.m4, lchmod.m4.
83018         * modules/openat: Add mkdirat.c, openat-priv.h.
83019
83020 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83021
83022         Sync from coreutils.
83023         * m4/lib-ignore.m4: New file.
83024         * m4/lchmod.m4: New file.
83025
83026 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83027
83028         Sync from coreutils.
83029         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
83030         for write access: POSIX says that must fail.
83031         * lib/fts.c (diropen): Likewise.
83032         * lib/save-cwd.c (save_cwd): Likewise.
83033         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
83034         well, for minor improvements on hosts that lack O_DIRECTORY.
83035         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
83036         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
83037         Fall back on chown if open failed with EACCES.
83038
83039         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
83040         Report an error at compile-time if only a 1-second nominal clock
83041         resolution is found.
83042
83043         * lib/lchmod.h: New file.
83044         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
83045         (make_dir_parents): Use lchown rather than chown, and
83046         lchmod rather than chmod.
83047
83048         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
83049         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
83050         "proc" reported by n0dalus.
83051
83052         * lib/mountlist.c: Include <limits.h>.
83053         (dev_from_mount_options)
83054         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
83055         New function.  It no longer assumes "dev=" has the System V meaning
83056         on Linux (since it doesn't).  It also parses "dev=" more carefully.
83057         (read_file_system_list)
83058         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
83059         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
83060         dev= in that case.
83061
83062         * lib/posixtm.h (PDS_PRE_2000): New macro.
83063         * lib/posixtm.c (year): Arg is now syntax_bits rather than
83064         allow_century.  All usages changed.  Reject dates outside the range
83065         1969-1999 if PDS_PRE_2000 is used.
83066
83067 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83068
83069         Sync from coreutils.
83070         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
83071         (Time of day items): Mention the possibility of leap seconds.
83072         Problem reported by Dr. David Alan Gilbert.
83073
83074 2006-01-09  Jim Meyering  <jim@meyering.net>
83075
83076         Sync from coreutils.
83077
83078         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
83079
83080         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
83081
83082         * lib/modechange.c (mode_compile): Reject an invalid mode string
83083         that starts with an octal digit.  From Andreas Gruenbacher.
83084
83085         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
83086         and dup to open_safer and dup_safer, respectively.
83087         (openat_permissive): Fix typo in comment.
83088
83089         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
83090         "gettext.h"; either no longer needed or are guaranteed by openat.h.
83091         (_): Remove; no longer needed.
83092         (openat): Renamed from rpl_openat; no need for rpl_openat
83093         since openat.h renames openat for us.
83094         Replace most of the body with a call to openat_permissive,
83095         to avoid duplicate code.
83096         Port to (probably hypothetical) environments were mode_t is
83097         wider than int.
83098         (openat_permissive): Require mode arg, so that we can check
83099         types better.  Put it just after flags.  Change cwd failure
83100         indicator from pointer-to-bool to pointer-to-errno-value.
83101         All callers changed.
83102         Invoke openat_save_fail and/or openat_restore_fail if
83103         cwd_errno is null, so that openat can call us.
83104         (openat_permissive, fdopendir, fstatat, unlinkat):
83105         Simplify errno handling to avoid some duplicate code,
83106         as it's OK to set errno on success.
83107         * lib/openat.h: Revamp code so that function macros depend on
83108         __OPENAT_PREFIX only, not also on AT_FDCWD.
83109         (openat_ro): Remove.  Caller changed to use openat_permissive.
83110         (openat_permissive): Now a macro, if not a function.
83111         (openat_restore_fail, openat_save_fail): Now always functions,
83112         since mkdirat needs them even if __OPENAT_PREFIX is defined.
83113
83114         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
83115         and openat.c.
83116         * lib/mkdirat.c: Include openat-priv.h.
83117         Remove definitions of macros defined therein.
83118         * lib/openat.c: Likewise.
83119
83120         * lib/mkdirat.c (mkdirat): New file and function.
83121         * lib/openat.h (mkdirat): Declare.
83122
83123         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
83124
83125         * lib/openat.h (openat_permissive): Declare.
83126         (openat_ro): Define.
83127
83128         * lib/openat.c (EXPECTED_ERRNO): New macro.
83129         (openat_permissive): New function -- used in remove.c rewrite.
83130         (all functions): Set errno just before returning, only if there
83131         was an actual failure.
83132         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
83133
83134         Emulate openat-family functions using Linux's procfs, if possible.
83135         Idea and some code based on Ulrich Drepper's glibc changes.
83136
83137         * lib/openat.c: (BUILD_PROC_NAME): New macro.
83138         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
83139         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
83140         before falling back on save_cwd and restore_cwd.
83141         (fdopendir, fstatat, unlinkat): Likewise.
83142
83143         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
83144         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
83145
83146         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
83147         as second argument to va_arg.  Otherwise, some versions of gcc
83148         warn that `if this code is reached, the program will abort'.
83149
83150 2006-01-09  Jim Meyering  <jim@meyering.net>
83151
83152         Sync from coreutils.
83153         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
83154         Require openat-priv.h.
83155
83156 2006-01-09  Bruno Haible  <bruno@clisp.org>
83157
83158         * modules/strnlen (Include): Use strnlen.h.
83159
83160 2006-01-09  Bruno Haible  <bruno@clisp.org>
83161
83162         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
83163
83164 2006-01-09  Bruno Haible  <bruno@clisp.org>
83165
83166         * lib/sysexit_.h (EX_OK): New macro.
83167         Suggested by Martin Lambers <marlam@marlam.de>.
83168
83169 2006-01-09  Bruno Haible  <bruno@clisp.org>
83170
83171         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
83172         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
83173
83174 2006-01-09  Bruno Haible  <bruno@clisp.org>
83175
83176         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
83177         numbers.
83178
83179 2006-01-09  Bruno Haible  <bruno@clisp.org>
83180
83181         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
83182         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
83183         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
83184         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
83185
83186 2006-01-09  Bruno Haible  <bruno@clisp.org>
83187
83188         * build-aux/javacomp.sh.in: New file, moved from lib/.
83189         * modules/javacomp-script (Files): Update.
83190         (configure.ac): Add AC_CONFIG_FILES invocation.
83191         (EXTRA_DIST): Remove variable.
83192
83193         * build-aux/javaexec.sh.in: New file, moved from lib/.
83194         * modules/javaexec (Files): Update.
83195         (configure.ac): Add AC_CONFIG_FILES invocation.
83196         (EXTRA_DIST): Remove javaexec.sh.in.
83197
83198         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
83199         * modules/csharpcomp-script (Files): Update.
83200         (configure.ac): Add AC_CONFIG_FILES invocation.
83201         (EXTRA_DIST): Remove variable.
83202
83203         * build-aux/csharpexec.sh.in: New file, moved from lib/.
83204         * modules/csharpexec (Files): Update.
83205         (configure.ac): Add AC_CONFIG_FILES invocation.
83206         (EXTRA_DIST): Remove csharpexec.sh.in.
83207
83208 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83209
83210         Sync from coreutils.
83211
83212         Add POSIX ACL support
83213         * lib/acl.h (copy_acl, set_acl): Add declarations.
83214         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
83215         systems other than Linux.
83216         (chmod_or_fchmod): New function: use fchmod when possible,
83217         and chmod otherwise.
83218         (file_has_acl): Add a POSIX ACL implementation, with a
83219         Linux-specific subcase.
83220         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
83221         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
83222         acls are unsupported.
83223         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
83224         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
83225         are unsupported.
83226
83227 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83228
83229         Sync from coreutils.
83230         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
83231
83232 2006-01-07  Bruno Haible  <bruno@clisp.org>
83233
83234         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
83235         gl_EARLY.
83236
83237 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83238
83239         * lib/strftime.c (tzname): Don't declare if it is already #defined.
83240         Problem reported for Mingw by Mark Junker.
83241
83242 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83243
83244         * README: Gnulib normally doesn't generate a tarball.
83245
83246 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
83247
83248         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
83249         long int, not int, for nanosecond counts, so that people who are
83250         used to POSIX struct timespec won't be surprised.  Reported by Jim
83251         Meyering.
83252
83253 2005-12-28  Bruno Haible  <bruno@clisp.org>
83254
83255         * build-aux/config.rpath: Update from GNU gettext.
83256
83257 2005-12-16  Jim Meyering  <jim@meyering.net>
83258
83259         * modules/fprintftime: New module.
83260         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
83261
83262 2005-12-16  Jim Meyering  <jim@meyering.net>
83263
83264         * m4/fprintftime.m4: New file.
83265
83266 2005-12-16  Jim Meyering  <jim@meyering.net>
83267
83268         * lib/fprintftime.c, lib/fprintftime.h: New files.
83269
83270 2005-12-15  Simon Josefsson  <jas@extundo.com>
83271
83272         * modules/socklen (configure.ac): Fix M4 macro name, to align with
83273         new m4/socklen.m4.
83274
83275 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83276
83277         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
83278         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
83279
83280 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83281
83282         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
83283         * lib/argp-help.c (fill_in_uparams): Check if the constructed
83284         struct uparams is valid. Fall back to the default values if it is
83285         not.
83286
83287 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83288
83289         * modules/argp (Files): Add argp-pin.c
83290         (Depends-on): dirname
83291         (lib_SOURCES): Add argp-pin.c
83292
83293 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83294
83295         * m4/argp.m4:  Check if program_invocation_name and
83296         program_invocation_short_name are declared and define appropriate
83297         macros if they are not.
83298
83299 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83300
83301         * lib/argp-help.c (__argp_base_name): New function
83302         (__argp_short_program_name): Rewrite using __argp_base_name
83303         * lib/argp-namefrob.h: Define program_invocation_name and
83304         program_invocation_short_name if requested
83305         (__argp_base_name): Add prototype
83306         * lib/argp-parse.c (argp_def): Use gettext wrappers
83307         (argp_default_parser): Use __argp_base_name
83308         * lib/argp-pin.c: New file. Defines program_invocation_name and
83309         program_invocation_short_name on systems that lack them.
83310
83311 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83312
83313         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
83314         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83315         porting problem reported by Georg Schwarz in
83316         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83317
83318 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83319
83320         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
83321         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83322         porting problem reported by Georg Schwarz in
83323         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83324
83325 2005-12-05  Bruno Haible  <bruno@clisp.org>
83326
83327         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
83328         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
83329         Reported by Mark Junker <mjscod@gmx.de>.
83330
83331 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
83332
83333         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
83334         Use implementation from Albert Chin, with some
83335         comments/corrections by Stepan Kasal and myself.
83336
83337 2005-12-02  Bruno Haible  <bruno@clisp.org>
83338
83339         * gnulib-tool (func_import): Accept GPLed build tool modules when
83340         --lgpl is given.
83341         * modules/csharpcomp-script: New file.
83342         * modules/csharpcomp: Depend on it.
83343         * modules/javacomp-script: New file.
83344         * modules/javacomp: Depend on it.
83345         Suggested by Simon Josefsson.
83346
83347 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
83348
83349         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
83350         statement, to work around an HP-UX 10.20 compiler bug reported by
83351         Peter O'Gorman.
83352
83353 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83354
83355         * modules/savedir (Depends-on): Add openat.
83356
83357 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83358
83359         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
83360         (uintmax_t) [defined uintmax_t]: Do not declare.
83361         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
83362         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
83363         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
83364         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
83365         sake of portability to weird hosts that C allows (though we don't
83366         know of any practical examples).
83367
83368         * lib/savedir.h (fdsavedir): New decl.
83369         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
83370         contains most of the former guts of savedir.
83371         (savedir): Use savedirstream.
83372         Include "openat.h".
83373
83374 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83375
83376         * modules/obstack (Files): Add m4/ulonglong.m4.
83377         Problem reported by Davide Angelocola.
83378
83379 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
83380
83381         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
83382         coreutils no longer futzes with rounding modes.
83383
83384 2005-11-14  Jim Meyering  <jim@meyering.net>
83385
83386         * lib/mkstemp-safer.c: Include <config.h>, required for possible
83387         replacement of mkstemp.
83388
83389 2005-11-10  Simon Josefsson  <jas@extundo.com>
83390
83391         * lib/readline.c: Remove EOL.
83392
83393 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83394
83395         * modules/gethrxtime (Depends-on): Add gettime.
83396
83397 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83398
83399         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
83400         or gettimeofday; no longer needed.
83401
83402 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83403
83404         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
83405         time business.
83406         (gethrxtime) [! (HAVE_NANOUPTIME
83407         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
83408         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
83409         our own approximation.
83410
83411 2005-11-08  Eric Blake  <ebb9@byu.net>
83412
83413         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83414
83415 2005-11-08  Eric Blake  <ebb9@byu.net>
83416
83417         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83418
83419 2005-11-04  Bruno Haible  <bruno@clisp.org>
83420
83421         * gnulib-tool: Implement --update mode.
83422
83423 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83424
83425         Fix porting problem reported by Theodoros V. Kalamatianos.
83426         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
83427         Don't assume that futimes failing means we must fail.
83428
83429 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83430
83431         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
83432         variables to suggest the intended function of the PATH_MAX check.
83433
83434 2005-10-30  Kean Johnston  <jkj@sco.com>
83435
83436         Trivial changes to support SCO systems.
83437         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
83438         as PATH_MAX.
83439         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
83440         where __ptr is null when no I/O is pending.
83441
83442 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83443
83444         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
83445         leave errno alone.  Problem reported by Dmitry V. Levin.
83446
83447 2005-10-28  Simon Josefsson  <jas@extundo.com>
83448
83449         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
83450         Test more.
83451
83452         * tests/test-gc-md2.c, tests/test-md2.c: New files.
83453
83454         * modules/md2, modules/md2-tests: New files.
83455
83456 2005-10-28  Simon Josefsson  <jas@extundo.com>
83457
83458         * m4/inet_ntop.m4: More tests.
83459
83460         * m4/gc-md2.m4, md2.m4: New file.
83461
83462 2005-10-28  Simon Josefsson  <jas@extundo.com>
83463
83464         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
83465         "restrict" keywords, as per POSIX.  Protect the function
83466         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
83467         Don't use K&R prototypes.  Check the sprintf return values.
83468         Re-define EAFNOSUPPORT if not present.  Indent.
83469
83470         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
83471         suggested by Bruno Haible <bruno@clisp.org>.
83472
83473         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
83474
83475         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
83476
83477         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
83478         libgcrypt).
83479
83480         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
83481
83482         * lib/md2.h, lib/md2.c: New files.
83483
83484 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
83485
83486         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
83487         errno alone.  Problem reported by Frederic Jolliton.
83488
83489 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
83490
83491         * modules/verify (License): Change from GPL to LGPL.  This is a
83492         tiny module and there are apparently near-equivalents that are
83493         under the BSD license.
83494
83495 2005-10-24  Simon Josefsson  <jas@extundo.com>
83496
83497         * modules/sha1: Relicense to LGPL.
83498
83499 2005-10-24  Simon Josefsson  <jas@extundo.com>
83500
83501         * lib/md4.h: Shrink buffer size, now that we changed the type.
83502
83503 2005-10-23  Simon Josefsson  <jas@extundo.com>
83504
83505         * gnulib-tool (func_import): Fix --tests-base.
83506
83507 2005-10-22  Simon Josefsson  <jas@extundo.com>
83508
83509         * modules/arcfour (Depends-on): Need stdint.
83510
83511 2005-10-22  Simon Josefsson  <jas@extundo.com>
83512
83513         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
83514         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
83515
83516 2005-10-22  Simon Josefsson  <jas@extundo.com>
83517
83518         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
83519         suggested by Bruno Haible <bruno@clisp.org>.
83520
83521 2005-10-22  Simon Josefsson  <jas@extundo.com>
83522
83523         * lib/crc.h: Include stddef.h, for size_t.
83524
83525 2005-10-22  Simon Josefsson  <jas@extundo.com>
83526
83527         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
83528         arcfour_context struct (simplify test vector testing in GNU
83529         Shishi).
83530
83531 2005-10-21  Simon Josefsson  <jas@extundo.com>
83532
83533         * modules/des, modules/des-tests: New files.
83534
83535         * modules/gc-des, modules/gc-des-tests: New files.
83536
83537         * tests/test-des.c, tests/test-gc-des.c: New file.
83538
83539 2005-10-21  Simon Josefsson  <jas@extundo.com>
83540
83541         * modules/arctwo, modules/arctwo-tests: New files.
83542
83543         * tests/test-arctwo.c: New file.
83544
83545         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
83546
83547         * tests/test-gc-arctwo.c: New file.
83548
83549 2005-10-21  Simon Josefsson  <jas@extundo.com>
83550
83551         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
83552         Bruno Haible <bruno@clisp.org>.
83553
83554         * m4/gc-des.m4: New file.
83555
83556 2005-10-21  Simon Josefsson  <jas@extundo.com>
83557
83558         * m4/arctwo.m4: New file.
83559
83560         * m4/gc-arctwo.m4: New file.
83561
83562 2005-10-21  Simon Josefsson  <jas@extundo.com>
83563
83564         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
83565         block.
83566
83567 2005-10-21  Simon Josefsson  <jas@extundo.com>
83568
83569         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
83570         <bruno@clisp.org>.
83571
83572         * lib/hmac-sha1.c (hmac_sha1): Likewise.
83573
83574         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
83575         Bruno Haible <bruno@clisp.org>.
83576
83577         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
83578         <bruno@clisp.org>.
83579
83580 2005-10-21  Simon Josefsson  <jas@extundo.com>
83581
83582         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
83583
83584 2005-10-21  Simon Josefsson  <jas@extundo.com>
83585
83586         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
83587
83588 2005-10-21  Simon Josefsson  <jas@extundo.com>
83589
83590         * lib/des.h, lib/des.c: New files.
83591
83592         * lib/gc-gnulib.c: Support DES.c
83593
83594 2005-10-21  Simon Josefsson  <jas@extundo.com>
83595
83596         * lib/arctwo.h, lib/arctwo.c: New files.
83597
83598         * lib/gc-gnulib.c: Support ARCTWO.
83599
83600 2005-10-21  Simon Josefsson  <jas@extundo.com>
83601
83602         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
83603         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83604
83605 2005-10-21  Simon Josefsson  <jas@extundo.com>
83606
83607         * gnulib-tool (func_import, func_create_testdir): Define automake
83608         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
83609         Makefile.am snippet),
83610         suggested by Bruno Haible <bruno@clisp.org>.
83611
83612         * modules/gc (Makefile.am): Use it.
83613
83614 2005-10-21  Bruno Haible  <bruno@clisp.org>
83615
83616         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
83617         patch.
83618
83619 2005-10-19  Simon Josefsson  <jas@extundo.com>
83620
83621         * tests/test-gc-rijndael.c: New file.
83622
83623         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
83624
83625 2005-10-19  Simon Josefsson  <jas@extundo.com>
83626
83627         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
83628         interface too.
83629
83630 2005-10-19  Simon Josefsson  <jas@extundo.com>
83631
83632         * tests/test-gc-arcfour.c: New file.
83633
83634         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
83635
83636 2005-10-19  Simon Josefsson  <jas@extundo.com>
83637
83638         * modules/gc-md4, modules/gc-md4-tests: New file.
83639
83640         * tests/test-gc-md4.c: New file.
83641
83642 2005-10-19  Simon Josefsson  <jas@extundo.com>
83643
83644         * m4/gc-md4.m4: New file.
83645
83646 2005-10-19  Simon Josefsson  <jas@extundo.com>
83647
83648         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
83649         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
83650         <kasal@ucw.cz>.
83651
83652 2005-10-19  Simon Josefsson  <jas@extundo.com>
83653
83654         * m4/gc-arcfour.m4: New file.
83655
83656         * m4/gc-rijndael.m4: New file.
83657
83658 2005-10-19  Simon Josefsson  <jas@extundo.com>
83659
83660         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
83661
83662 2005-10-19  Simon Josefsson  <jas@extundo.com>
83663
83664         * lib/gc-gnulib.c: Support ARCFOUR.
83665
83666 2005-10-19  Simon Josefsson  <jas@extundo.com>
83667
83668         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
83669         support.
83670
83671         * lib/gc.h: Add ECB enum type.
83672
83673         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
83674
83675 2005-10-18  Simon Josefsson  <jas@extundo.com>
83676
83677         * tests/test-md5.c: New file.
83678
83679         * modules/md5-tests: New file.
83680
83681 2005-10-18  Simon Josefsson  <jas@extundo.com>
83682
83683         * tests/test-md4.c: New file.
83684
83685         * modules/md4, modules/md4-tests: New files.
83686
83687 2005-10-18  Simon Josefsson  <jas@extundo.com>
83688
83689         * m4/md4.m4: New file.
83690
83691 2005-10-18  Simon Josefsson  <jas@extundo.com>
83692
83693         * lib/md4.h, lib/md4.c: New files, based on md5.?.
83694
83695 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
83696
83697         * gnulib-tool (func_create_testdir): Omit the second check whether
83698         BUILT_SOURCES in nonempty.
83699
83700 2005-10-17  Simon Josefsson  <jas@extundo.com>
83701
83702         * tests/test-rijndael.c: New file.
83703
83704 2005-10-17  Simon Josefsson  <jas@extundo.com>
83705
83706         * modules/sha1: Depend on stdint instead of md5.
83707
83708         * modules/md5: Depend on stdint, remove uint32_t.
83709
83710 2005-10-17  Simon Josefsson  <jas@extundo.com>
83711
83712         * modules/gc-sha1-tests: New file.
83713
83714         * tests/test-gc-sha1.c: New file.
83715
83716 2005-10-17  Simon Josefsson  <jas@extundo.com>
83717
83718         * m4/md5.m4: Remove call to uint32_t.m4.
83719
83720 2005-10-17  Simon Josefsson  <jas@extundo.com>
83721
83722         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
83723
83724         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
83725         md5.h.
83726
83727         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
83728
83729         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
83730
83731 2005-10-17  Simon Josefsson  <jas@extundo.com>
83732
83733         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
83734
83735 2005-10-17  Simon Josefsson  <jas@extundo.com>
83736
83737         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
83738
83739 2005-10-17  Simon Josefsson  <jas@extundo.com>
83740
83741         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
83742
83743         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
83744
83745 2005-10-17  Bruno Haible  <bruno@clisp.org>
83746
83747         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
83748         that it can also be used in a test.
83749
83750 2005-10-16  Bruno Haible  <bruno@clisp.org>
83751
83752         * gnulib-tool (func_emit_tests_Makefile_am): Also define
83753         TESTS_ENVIRONMENT, so that individual tests can augment it.
83754
83755         * gnulib-tool (func_create_testdir): Use an intermediate target for
83756         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
83757         macros, like $(ALLOCA_H), which cannot be passed through the command
83758         line.
83759
83760 2005-10-15  Simon Josefsson  <jas@extundo.com>
83761
83762         * modules/rijndael-tests: New file.
83763
83764         * modules/rijndael: New file.
83765
83766 2005-10-15  Simon Josefsson  <jas@extundo.com>
83767
83768         * m4/rijndael.m4: New file.
83769
83770 2005-10-15  Simon Josefsson  <jas@extundo.com>
83771
83772         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
83773
83774         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
83775
83776 2005-10-14  Simon Josefsson  <jas@extundo.com>
83777
83778         * tests/test-arcfour.c: New file.
83779
83780         * modules/arcfour, modules/arcfour-tests: New files.
83781
83782 2005-10-14  Simon Josefsson  <jas@extundo.com>
83783
83784         * m4/arcfour.m4: New file.
83785
83786 2005-10-14  Simon Josefsson  <jas@extundo.com>
83787
83788         * lib/arcfour.h, lib/arcfour.c: New files.
83789
83790 2005-10-14  Roland McGrath  <roland@redhat.com>
83791
83792         Import from libc.  [BZ #1331]
83793         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
83794         macro argument.
83795         Reported by Matej Vela <vela@debian.org>.
83796
83797 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
83798
83799         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
83800         include <wchar.h>; no longer needed.
83801
83802 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
83803
83804         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
83805
83806 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
83807         and  Ulrich Drepper  <drepper@redhat.com>
83808
83809         Import from libc.
83810         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
83811         instead of inline stream orientation test and two separate
83812         function calls.  Pay no attention to USE_IN_LIBIO.
83813
83814 2005-10-13  Simon Josefsson  <jas@extundo.com>
83815
83816         * modules/gc-hmac-md5-tests: New file.
83817
83818         * tests/test-gc-hmac-sha1.c: New file.
83819
83820         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
83821
83822         * modules/gc-hmac-md5-tests: New file.
83823
83824         * tests/test-gc-md5.c: New file.
83825
83826         * modules/gc-md5-tests: New file.
83827
83828 2005-10-13  Simon Josefsson  <jas@extundo.com>
83829
83830         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
83831         Move memory allocation outside of loop.
83832
83833 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
83834
83835         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
83836         intermediate directory is in a read-only file system.  Problem
83837         reported by Eric Blake.
83838
83839 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
83840
83841         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
83842
83843 2005-10-12  Simon Josefsson  <jas@extundo.com>
83844
83845         * tests/test-hmac-sha1.c: New file.
83846
83847         * modules/hmac-sha1-tests: New file.
83848
83849         * modules/hmac-sha1: New file.
83850
83851 2005-10-12  Simon Josefsson  <jas@extundo.com>
83852
83853         * modules/gc-sha1: New file.
83854
83855 2005-10-12  Simon Josefsson  <jas@extundo.com>
83856
83857         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
83858
83859         * tests/test-gc-pbkdf2-sha1.c: New file.
83860
83861 2005-10-12  Simon Josefsson  <jas@extundo.com>
83862
83863         * modules/gc-md5, modules/gc-hmac-md5: New files.
83864
83865         * modules/gc (Files): Remove md5, memxor and hmac files.
83866
83867 2005-10-12  Simon Josefsson  <jas@extundo.com>
83868
83869         * m4/gc-pbkdf2-sha1.m4: New file.
83870
83871         * m4/gc-hmac-sha1.m4: New file.
83872
83873         * m4/gc-sha1: New file.
83874
83875         * m4/hmac-sha1.m4: New file.
83876
83877 2005-10-12  Simon Josefsson  <jas@extundo.com>
83878
83879         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
83880
83881         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
83882
83883 2005-10-12  Simon Josefsson  <jas@extundo.com>
83884
83885         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
83886         suggested by Bruno Haible <bruno@clisp.org>.
83887
83888 2005-10-12  Simon Josefsson  <jas@extundo.com>
83889
83890         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
83891
83892 2005-10-12  Simon Josefsson  <jas@extundo.com>
83893
83894         * lib/gc-pbkdf2-sha1.c: New file.
83895
83896         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
83897
83898 2005-10-12  Simon Josefsson  <jas@extundo.com>
83899
83900         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
83901
83902         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
83903
83904 2005-10-12  Simon Josefsson  <jas@extundo.com>
83905
83906         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
83907         GC_USE_HMAC_MD5, respectively.
83908
83909         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
83910         (gc_md5): Fix typo.
83911
83912         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
83913
83914         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
83915
83916         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
83917
83918 2005-10-12  Bruno Haible  <bruno@clisp.org>
83919
83920         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
83921         Reported by Stepan Kasal <kasal@ucw.cz>.
83922
83923 2005-10-11  Simon Josefsson  <jas@extundo.com>
83924
83925         * tests/test-crc.c: New file.
83926
83927         * modules/crc, modules/crc-tests: New files.
83928
83929 2005-10-11  Simon Josefsson  <jas@extundo.com>
83930
83931         * m4/crc.m4: New file.
83932
83933 2005-10-11  Simon Josefsson  <jas@extundo.com>
83934
83935         * lib/gc.h: Add gc_hash and gc_hash_buffer.
83936
83937         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
83938
83939         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
83940
83941 2005-10-11  Simon Josefsson  <jas@extundo.com>
83942
83943         * lib/crc.h, lib/crc.c: New files.
83944
83945         * lib/gc.h (gc_hash_buffer): Add doc.
83946
83947 2005-10-11  Bruno Haible  <bruno@clisp.org>
83948
83949         * modules/c-strcasestr: New file.
83950         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
83951
83952 2005-10-11  Bruno Haible  <bruno@clisp.org>
83953
83954         * modules/c-strcase: New file.
83955         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
83956
83957 2005-10-11  Bruno Haible  <bruno@clisp.org>
83958
83959         * lib/strcasecmp.c: Include limits.h.
83960         (strcasecmp): Avoid integer overflow on exotic platforms.
83961         * lib/strncasecmp.c: Include limits.h.
83962         (strncasecmp): Avoid integer overflow on exotic platforms.
83963         Reported by Paul Eggert.
83964
83965 2005-10-11  Bruno Haible  <bruno@clisp.org>
83966
83967         * lib/c-strcasestr.h: New file, from GNU gettext.
83968         * lib/c-strcasestr.c: New file, from GNU gettext.
83969
83970 2005-10-11  Bruno Haible  <bruno@clisp.org>
83971
83972         * lib/c-strcase.h: New file, from GNU gettext.
83973         * lib/c-strcasecmp.c: New file, from GNU gettext.
83974         * lib/c-strncasecmp.c: New file, from GNU gettext.
83975
83976 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
83977
83978         * modules/mempcpy (License): GPL -> LGPL.
83979         * modules/strchrnul (License): Likewise.
83980         * modules/sysexits (License): Likewise.
83981
83982 2005-10-08  Simon Josefsson  <jas@extundo.com>
83983
83984         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
83985
83986 2005-10-07  Simon Josefsson  <jas@extundo.com>
83987
83988         * m4/memxor.m4: Remove gl_C_RESTRICT call.
83989
83990 2005-10-06  Simon Josefsson  <jas@extundo.com>
83991
83992         * tests/test-hmac-md5.c: New file.
83993
83994         * modules/hmac-md5-tests: New file.
83995
83996         * modules/hmac-md5: New file.
83997
83998 2005-10-06  Simon Josefsson  <jas@extundo.com>
83999
84000         * m4/hmac-md5.m4: New file.
84001
84002         * m4/memxor.m4: Require gl_C_RESTRICT.
84003
84004 2005-10-06  Simon Josefsson  <jas@extundo.com>
84005
84006         * lib/memxor.c (memxor): Avoid casts and warnings.
84007
84008 2005-10-06  Simon Josefsson  <jas@extundo.com>
84009
84010         * lib/hmac-md5.c: New file.
84011
84012         * lib/hmac.h: New file.
84013
84014 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
84015
84016         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
84017         promotes to int, not unsigned int, to catch the AIX 5.3
84018         compiler bug.
84019
84020 2005-10-05  Simon Josefsson  <jas@extundo.com>
84021
84022         * modules/memxor: New file.
84023
84024         * modules/iconv (Files): Move config.rpath to havelib, it is used
84025         there.
84026
84027         * modules/havelib (Files): Add config.rpath.
84028
84029 2005-10-05  Simon Josefsson  <jas@extundo.com>
84030
84031         * m4/memxor.m4: New file.
84032
84033 2005-10-05  Simon Josefsson  <jas@extundo.com>
84034
84035         * lib/memxor.c (memxor): Fix compiler error.
84036
84037         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
84038         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
84039
84040         * lib/memxor.h, lib/memxor.c: New files.
84041
84042         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
84043         we assume all systems have it, suggested by Jim Meyering
84044         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
84045         any systems lack sys/socket.h; mingw32 is known to lack it, but we
84046         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
84047         same reasons.
84048
84049 2005-10-05  Simon Josefsson  <jas@extundo.com>
84050
84051         * config/srclist.txt: Add glibc bug 1423 for md5.h.
84052
84053 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
84054
84055         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
84056         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
84057         needed, since the source code now assumes these .h files.
84058
84059 2005-10-05  Derek Price  <derek@ximbiot.com>
84060
84061         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
84062
84063 2005-10-05  Bruno Haible  <bruno@clisp.org>
84064
84065         * modules/stdint (License): Change to LGPL.
84066
84067 2005-10-04  Simon Josefsson  <jas@extundo.com>
84068
84069         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
84070         D. Baushke" <mdb@gnu.org>.
84071
84072 2005-10-04  Bruno Haible  <bruno@clisp.org>
84073
84074         * lib/verify.h (verify_true): Provide alternative definition for C++.
84075
84076 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
84077
84078         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
84079         (SSIZE_MAX): New macro, if not already defined.
84080         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
84081         than 2 GiB.
84082
84083 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84084
84085         Sync from coreutils.
84086         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
84087         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
84088         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
84089         ULLONG_MAX doesn't work with 2.7.2.1.
84090
84091 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84092
84093         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
84094         From Ben Pfaff.
84095
84096         * modules/exclude (Depends-on): Depend on verify.
84097         * modules/strtoimax (Depends-on): Likewise.
84098         * modules/utimecmp (Depends-on): Likewise.
84099
84100 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84101
84102         * lib/exclude.c: Include verify.h.
84103         (verify): Remove.  All callers changed to use verify.h's version.
84104         * lib/strtoimax.c: Likewise.
84105         * lib/utimecmp.c: Likewis.e
84106
84107         Sync from coreutils.
84108         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
84109         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
84110         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
84111         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
84112         bother returning ENOSYS if settimeofday or stime fails; just let
84113         them return whatever errno they want to return.
84114         * lib/utimens.c: Include unistd.h, for dup2.
84115         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
84116         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
84117
84118 2005-10-02  Jim Meyering  <jim@meyering.net>
84119
84120         Sync from coreutils.
84121         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
84122         from glibc-2.2.5 that fails for read-only files.
84123
84124 2005-10-02  Jim Meyering  <jim@meyering.net>
84125
84126         Sync from coreutils.
84127         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
84128         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
84129         `#if HAVE_CONFIG_H'.
84130         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
84131         Remove AT_FDCWD test.
84132         Do not consume the fd unless successful.
84133         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
84134         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
84135         block, so that we don't even try to compile it if settimeofday is
84136         available.  This works around a compilation failure on OSF1 V5.1,
84137         due to stime requiring a `long int*' while tv_sec is `int'.
84138
84139 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
84140
84141         Sync from coreutils.
84142         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
84143         against `yes', rather than just testing for nonempty.
84144
84145 2005-10-01  Simon Josefsson  <jas@extundo.com>
84146
84147         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
84148         and Darwin.
84149
84150         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
84151         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
84152         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
84153         freeaddrinfo and gai_strerror are declared by the POSIX headers.
84154         Check if struct addrinfo is declared.
84155
84156 2005-10-01  Simon Josefsson  <jas@extundo.com>
84157
84158         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
84159         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
84160         AI_* and EAI_* definitions.  Protect function declarations.
84161
84162 2005-10-01  Jim Meyering  <jim@meyering.net>
84163
84164         Sync from coreutils.
84165
84166         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
84167         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
84168         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
84169         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84170         in the inet and nsl libraries.  Required on Solaris 5.7.
84171
84172 2005-10-01  Jim Meyering  <jim@meyering.net>
84173
84174         Sync from coreutils.
84175         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84176         in the inet and nsl libraries.  Required on Solaris 5.7.
84177
84178 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
84179
84180         * lib/getdelim.c (getdelim): Remove unused variables.
84181
84182 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
84183
84184         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
84185         so that the code works even with ancient cpp.  Portability problem
84186         with GCC 2.7.2.1 reported by Thomas M.Ott.
84187
84188 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
84189
84190         * modules/regex (Depends-on): Add strcase.
84191
84192         * modules/gethostname (Licence): Change from GPL to LGPL, since
84193         gethostname.c is a trivial implementation of a standard library
84194         function.
84195         * modules/poll (License): Change from GPL to LGPL, since it's
84196         derived from LGPL code.
84197
84198 2005-09-27  Jim Meyering  <jim@meyering.net>
84199
84200         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
84201         HAVE_CONFIG_H.
84202
84203         * lib/intprops.h (signed_type_or_expr__): Define.
84204         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
84205         for unsigned types.
84206
84207 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
84208
84209         * lib/verify.h (verify_expr): Remove, replacing with:
84210         (verify_true): New macro that returns true instead of void.
84211         (verify_type__): Remove.
84212         (verify): Use verify_true rather than verify_type__.
84213
84214 2005-09-26  Bruno Haible  <bruno@clisp.org>
84215
84216         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
84217         is necessary.
84218         (lib_SOURCES): Remove mbchar.c.
84219         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
84220         (Files): Add m4/mbrtowc.m4.
84221         * modules/mbiter: Likewise.
84222         * modules/mbuiter: Likewise.
84223
84224 2005-09-26  Bruno Haible  <bruno@clisp.org>
84225
84226         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
84227         compile mbchar.c if they are not both present.
84228         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
84229         * m4/mbiter.m4 (gl_MBITER): Likewise.
84230         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
84231         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
84232         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
84233
84234 2005-09-25  Jim Meyering  <jim@meyering.net>
84235
84236         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
84237         also uses socklen_t.
84238
84239 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
84240
84241         * lib/utimens.c (ENOSYS): Define if not already defined.
84242         (futimens): Support having a null PATH if the file descriptor
84243         is nonnegative.
84244
84245         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
84246         Remove.
84247         (__attribute): Define to empty unless GCC 3.1 or later.
84248         This works around a core dump on OpenBSD 3.4, which has GCC
84249         2.95.3, which dumps core when given __attribute__(()).  It also
84250         simplifies other tests, since we really don't want to bother with
84251         worrying about which ancient version of GCC supported what.
84252         Original problem reported by Yoann Vandoorselaere, with part of
84253         the fix suggested by Derek Price.
84254
84255 2005-09-24  Jim Meyering  <jim@meyering.net>
84256
84257         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
84258         so we can once again use a positive bitfield width of 1 -- now we
84259         don't have to explain why we were using a bitfield width of 2.
84260
84261 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84262
84263         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
84264         and similarly for the other external symbols.  Problem reported
84265         by James Gallager.
84266
84267         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
84268         bug reported by Jim Meyering.
84269
84270         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
84271         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
84272         not needed, since socklen is a prerequisite module.
84273
84274 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84275
84276         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
84277         Problem reported by Eric Blake.
84278         (getaddrinfo): Initialize se so that it's not garbage.
84279         Redo internal storage allocation so that it doesn't make unportable
84280         assumptions about alignment.
84281         Fix a memory leak.
84282
84283         * lib/utimens.c (futimens): Use futimesat if available.
84284         Prefer it to futimes since it doesn't have the futimes bug.
84285
84286         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
84287         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
84288         Instead, declare a function that returns a pointer to an array,
84289         and use verify_type__ to declare the size of the array.
84290         Problem and germ of a solution reported by Bruno Haible.
84291         (verify_type__): Use 2, not 1, for bitfield size, to avoid
84292         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
84293
84294 2005-09-23  Jim Meyering  <jim@meyering.net>
84295
84296         Sync from coreutils.
84297         Correct build failure (socklen_t not defined) on at least
84298         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
84299         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
84300
84301 2005-09-23  Jim Meyering  <jim@meyering.net>
84302
84303         * modules/getaddrinfo (Depends-on): Add socklen.
84304
84305 2005-09-23  Bruno Haible  <bruno@clisp.org>
84306
84307         * tests/test-verify.c: New file.
84308
84309 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84310
84311         Sync from coreutils.
84312
84313         * modules/argmatch (Depends-on): Add verify.
84314         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
84315         unistd-safer.
84316         * modules/save-cwd (Depends-on): Likewise.
84317
84318         * modules/openat (Files): Add lib/openat-die.c.
84319         (Depends-on): Remove error, exitfail.
84320         Add dirname.
84321
84322         * modules/verify: New file.
84323         * MODULES.html.sh (Diagnostics <assert.h>): New section,
84324         with "verify" module.
84325
84326 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84327
84328         Sync from coreutils.
84329
84330         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
84331         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
84332         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
84333         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
84334         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
84335         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
84336         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
84337         Don't bother checking for string.h, stdlib.h, unistd.h.
84338         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
84339         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
84340         module's job.
84341         * m4/jm-macros.m4 (gl_MACROS): Likewise.
84342         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
84343
84344         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
84345         (gl_GETDATE): Use it.
84346
84347         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
84348
84349 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84350
84351         Sync from coreutils.
84352
84353         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
84354         stat-time.h.
84355         * lib/argmatch.h: Include verify.h
84356         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
84357         (ARGMATCH_ASSERT): Remove; unused.
84358         * lib/canonicalize.c: Assume STDC_HEADERS.
84359         * lib/exclude.c: Include "strcase.h".
84360         * lib/regex_internal.h [!defined _LIBC]: Likewise.
84361         * lib/getusershell.c: Include stdio--.h rather than stdio.h
84362         and stdio-safer.h.
84363         (getusershell): Call fopen, not fopen_safer.
84364         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
84365         Do not include unistd-safer.h.
84366         (save_cwd): Don't call fd_safer; no longer needed
84367         now that we include fcntl--.h.
84368
84369         * lib/getdate.y (relative_time): New type.
84370         (RELATIVE_TIME_0): New constant.
84371         (parser_control): Use relative_time instead of doing it ourselves.
84372         (%union): Add new relative_time rel member.
84373         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
84374         Now typeless.
84375         (relunit, relunit_snumber): Now of type rel.
84376         (zone, rel, relunit, get_date): Adjust to above changes.
84377
84378         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
84379         Do not include unistd-safer.h.
84380         (getloadavg): Don't call fd_safer; no longer needed
84381         now that we include fcntl--.h.
84382
84383         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
84384         (make_dir_parents): Treat ENOSYS like EEXIST.
84385
84386         Improve quality of diagnostics on restore_cwd failure.
84387         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
84388         (make_dir_parents): Last arg is now int * (for errno), not bool *.
84389         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
84390         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
84391         each time through the loop.  Do not diagnose restore_cwd failure;
84392         that is the caller's job (and perhaps the caller does not care).
84393
84394         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
84395         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
84396         If the file already exists but is not a directory, don't bother
84397         to try to make its parents.
84398         Close potential file descriptor leak if we can't chdir("/") (!).
84399         Don't always return true if chdir($PWD) fails; return true only
84400         if the requested action was done successfully (except for the
84401         chdir($PWD)).
84402         Don't log final directory unless we actually made it.
84403         Refactor to avoid duplicate code to fix up permissions.
84404         Don't attempt to fix up parent permissions if chdir($PWD) fails.
84405
84406         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
84407         to make it a bit faster and (I hope) clearer.
84408         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
84409         Fix bug in formats like %2N.
84410
84411         * lib/verify.h: New file.
84412
84413 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84414
84415         Sync from coreutils.
84416         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
84417
84418 2005-09-22  Jim Meyering  <jim@meyering.net>
84419
84420         Sync from coreutils.
84421
84422         * m4/lstat.m4 (gl_FUNC_LSTAT):
84423         Use AC_LIBSOURCES to require lstat.c and lstat.h.
84424         Remove obsolete comment.
84425         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
84426         * m4/xstrtod.m4: Likewise.
84427
84428         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
84429
84430 2005-09-22  Jim Meyering  <jim@meyering.net>
84431
84432         Sync from coreutils.
84433
84434         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
84435
84436         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
84437         the .tm_year member, since otherwise gcc-4.0 would now warn about
84438         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
84439
84440         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
84441         order to avoid an unsuppressible warning from gcc on 64-bit systems.
84442
84443         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
84444         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
84445         when run in a time zone for which daylight savings time is in effect
84446         for the starting date.
84447
84448         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
84449         stop us from restricting permissions of just-created absolute-named
84450         directories.
84451         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
84452         to restore initial working directory.
84453         * lib/mkdir-p.c (make_dir_parents): New parameter:
84454         different_working_dir, to tell caller if/when we change the working
84455         directory and are unable to return to the initial one.
84456         * lib/mkdir-p.h (make_dir_parents): Update prototype.
84457         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
84458         `return false'.  This fixes a bug introduced on 2004-07-30.
84459
84460         * lib/openat.c (fdopendir): Be sure to close the supplied
84461         file descriptor before returning.  This makes our replacement
84462         implementation a little closer to Solaris's, where fdopendir
84463         ties the file descriptor to the returned DIR* pointer.
84464         * lib/openat.c (unlinkat): New function.
84465         * lib/openat.h (unlinkat): Add prototype.
84466         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
84467         (openat_restore_fail): Rename from openat_restore_die.
84468         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
84469
84470         Provide an alternative to exiting immediately upon save_cwd or
84471         restore_cwd failure.  Now, an application can arrange e.g.,
84472         to perform a longjump in that case.
84473         * lib/openat.c: Include dirname.h.
84474         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
84475         (rpl_openat, fdopendir, fstatat): Call openat_save_die
84476         and openat_restore_die rather than calling error directly.
84477         Don't include "error.h" or "exitfail.h"; they're no longer needed.
84478
84479         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
84480         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
84481         define.
84482
84483         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
84484         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
84485                             int utc, int nanoseconds);
84486         Background:
84487         date should not have to allocate a megabyte of virtual memory to
84488         handle a format argument like +%1048575T.  When implemented with
84489         strftime, it must allocate such a buffer, use strftime to fill it
84490         in, print it, then free it.
84491         With fprintftime, it simply prints everything and exits.
84492         With no need for memory allocation, that's one fewer way to fail.
84493         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
84494         optional field width, not before, so we accept %9:z, not %:9z.
84495         (my_strftime): Be sure to use L_('x') for literals.
84496
84497         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
84498         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
84499         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
84500         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
84501         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
84502         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
84503         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
84504         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
84505         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
84506         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
84507         * lib/xgethostname.c, lib/xreadlink.c:
84508         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
84509
84510         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
84511         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
84512         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
84513         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
84514         and don't include <sys/file.h>).
84515
84516 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
84517
84518         Sync from coreutils.
84519
84520         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
84521         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
84522         [!LDAV_DONE]: Avoid unused variable warning.
84523
84524 2005-09-21  Bruno Haible  <bruno@clisp.org>
84525
84526         * lib/unicodeio.h (unicode_to_mb): New declaration.
84527
84528 2005-09-20  Derek Price  <derek@ximbiot.com>
84529
84530         * lib/getaddrinfo.c: Don't include <netdb.h> included from
84531         getaddrinfo.h.
84532
84533 2005-09-20  Bruno Haible  <bruno@clisp.org>
84534
84535         * gnulib-tool: Remove trailing slashes from the values specified for
84536         --source-base, --m4-base, --tests-base, --aux-dir.
84537         Suggested by Simon Josefsson <jas@extundo.com>.
84538
84539 2005-09-20  Bruno Haible  <bruno@clisp.org>
84540
84541         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
84542         func_modules_to_filelist, func_import, func_create_testdir): Make all
84543         sorting results locale-independent, so that gnulib-cache.m4 doesn't
84544         change when gnulib-tool is invoked in a different locale.
84545
84546 2005-09-19  Simon Josefsson  <jas@extundo.com>
84547
84548         * m4/socklen.m4: Fix typo.
84549
84550 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84551
84552         Use a consistent style for including <config.h>.
84553         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
84554         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
84555         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
84556         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
84557         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
84558         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
84559         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
84560         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
84561         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
84562         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
84563         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
84564         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
84565         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
84566         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
84567         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
84568         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
84569         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
84570         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
84571         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
84572         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
84573         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
84574         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
84575         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
84576         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
84577         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
84578         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
84579         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
84580         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
84581         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
84582         lib/xstrtoumax.c, lib/yesno.c:
84583         Standardize inclusion of config.h.
84584         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
84585         lib/inttostr.h:  Removed inclusion of config.h from header files.
84586         * lib/inttostr.c:  Adjusted in-tree users.
84587         * lib/timespec.h: Remove superfluous warning to include config.h.
84588         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
84589         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
84590         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
84591         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
84592         config.h with HAVE_CONFIG_H.
84593
84594 2005-09-19  Jim Meyering  <jim@meyering.net>
84595
84596         * modules/pathmax (License): Change to LGPL.
84597
84598 2005-09-19  Derek Price  <derek@ximbiot.com>
84599
84600         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
84601
84602 2005-09-19  Bruno Haible  <bruno@clisp.org>
84603
84604         * gnulib-tool (import): Provide default for --tests-base.
84605
84606 2005-09-19  Bruno Haible  <bruno@clisp.org>
84607
84608         * doc/quote.texi: New file, extracted from gnulib.texi.
84609         * doc/ctime.texi: New file, extracted from gnulib.texi.
84610         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
84611         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
84612         * doc/gnulib.texi: Include them.
84613
84614 2005-09-18  Bruno Haible  <bruno@clisp.org>
84615
84616         Portability fix.
84617         * gnulib-tool (func_readlink): New function.
84618         (func_ln_if_changed): Use it.
84619
84620 2005-09-18  Bruno Haible  <bruno@clisp.org>
84621
84622         * gnulib-tool: Support --with-tests also with --import.
84623         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
84624         (func_import): Use variables $testsbase and $inctests. Emit a
84625         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
84626         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
84627         SUBDIRS += $testsdir.
84628         (func_create_testdir): Update.
84629
84630 2005-09-18  Bruno Haible  <bruno@clisp.org>
84631
84632         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
84633         instead of $dry_run.
84634         (func_cp_if_changed, func_mv_if_changed): Remove functions.
84635         (func_ln_if_changed): Don't handle dry-run here.
84636         (func_import): In dry-run mode, detect more precisely which actions
84637         would be performed, and don't use "...ing" verbs.
84638
84639 2005-09-18  Bruno Haible  <bruno@clisp.org>
84640
84641         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
84642         (func_import): Use join on two temporary files instead of three nested
84643         loops, in order to determine which files are new or old.
84644
84645 2005-09-18  Bruno Haible  <bruno@clisp.org>
84646
84647         * gnulib-tool (func_import): Comment out code that spits out the
84648         new files with --dry-run.
84649
84650 2005-09-18  Bruno Haible  <bruno@clisp.org>
84651
84652         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
84653
84654 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84655
84656         * lib/stat-time.h: New file.
84657         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
84658         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
84659         in a different way.
84660         (timespec_cmp): New function.
84661         * lib/utimecmp.c: Include stat-time.h.
84662         (SYSCALL_RESOLUTION): Depend on whether various struct stat
84663         members exist, not on the obsolescent ST_MTIM_NSEC.
84664         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
84665
84666 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84667
84668         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
84669
84670 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84671
84672         * MODULES.html.sh (File system functions): Add stat-time.
84673         * modules/stat-time: New file.
84674         * modules/timespec (Files): Remove m4/st_mtim.m4; this
84675         is now done in a different way, by the stat-time module.
84676         * modules/utimecmp (Depends-on): Add stat-time.
84677
84678 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
84679
84680         * m4/st_mtim.m4: Remove.  Superseded by...
84681         * m4/stat-time.m4: New file.
84682         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
84683         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
84684
84685 2005-09-15  Derek Price  <derek@ximbiot.com>
84686
84687         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
84688
84689 2005-09-15  Derek Price  <derek@ximbiot.com>
84690
84691         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
84692         * lib/regex_internal.c: Ditto, using this...
84693         (__GNUC_PREREQ): ...new macro.
84694         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
84695         using...
84696         (__GNUC_PREREQ): ...this new macro.
84697
84698         * lib/strstr.h: Include string.h. Define strstr as a macro here.
84699
84700 2005-09-15  Derek Price  <derek@ximbiot.com>
84701             Paul Eggert  <eggert@cs.ucla.edu>
84702
84703         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
84704         changes, consolidating in...
84705         * lib/regex_internal.h: ...this file.
84706
84707 2005-09-13  Jim Meyering  <jim@meyering.net>
84708
84709         * lib/canon-host.c: Filter through gnu indent and reword comments
84710         slightly.
84711         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
84712
84713 2005-09-13  Derek Price  <derek@ximbiot.com>
84714
84715         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
84716         failure.
84717         Reported by Jim Meyering  <jim@meyering.net>.
84718
84719 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
84720
84721         * lib/base64.c: Typo.
84722         (base64_encode): Put b64str in initialized data section.
84723
84724 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
84725
84726         Merge glibc and coreutils changes into gnulib, plus a few
84727         extra fixes.
84728         * lib/md5.c: Use #error rather than a string.
84729         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
84730         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
84731         (__attribute__): Define to empty for non recent-GCC.
84732         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
84733         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
84734         Renamed from their non-__ counterparts, with new macros replacing
84735         them if not _LIBC.  Add __THROW attribute.
84736         (rol): Remove.
84737         (struct md5_ctx): Align buffer if using GCC.
84738         * lib/sha1.h (struct sha1_ctx): Likewise.
84739         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
84740         The old name was backwards.
84741         (NOTSWAP): Remove; not used.
84742         (rol): New macro, moved here from md5.h.
84743         (sha1_process_block): Remove a FIXME that doesn't make sense.
84744
84745 2005-09-12  Derek Price  <derek@ximbiot.com>
84746
84747         Return usable errors from canon-host.
84748         * lib/canon-host.h: New file.
84749         * lib/canon-host.c (canon_host): Wrap...
84750         (canon_host_r): ...this new function, which now relies exclusively on
84751         getaddrinfo.
84752         (ch_strerror): New function.
84753         (last_cherror): New global.
84754         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
84755         interface.
84756         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
84757         void *.
84758         (freeaddrinfo): Free ai->ai_canonname when set.
84759
84760 2005-09-12  Derek Price  <derek@ximbiot.com>
84761
84762         Make canon-host require getaddrinfo.
84763         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
84764         AC_LIBSOURCE canon-host.h.  Call...
84765         (gl_PREREQ_CANON_HOST): ...this new function, which requires
84766         gl_GETADDRINFO.
84767         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
84768
84769 2005-09-12  Derek Price  <derek@ximbiot.com>
84770
84771         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
84772         LGPL.
84773         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
84774
84775 2005-09-12  Derek Price  <derek@ximbiot.com>
84776
84777         * lib/gai_strerror.c: Include config.h when available.  Include
84778         getaddrinfo.h before other headers to test interface.
84779         Reported by Larry Jones <lawrence.jones@ugs.com>.
84780
84781 2005-09-12  Derek Price  <derek@ximbiot.com>
84782             Paul Eggert  <eggert@cs.ucla.edu>
84783
84784         * modules/glob (Files): Add glob-libc.h.
84785
84786 2005-09-12  Derek Price  <derek@ximbiot.com>
84787             Paul Eggert  <eggert@cs.ucla.edu>
84788
84789         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
84790         glob_.h, glob-libc.h.
84791         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
84792
84793 2005-09-12  Derek Price  <derek@ximbiot.com>
84794             Paul Eggert  <eggert@cs.ucla.edu>
84795
84796         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
84797         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
84798         protecting things that should be done only in gnulib contexts.
84799         * lib/glob_.h: New file, containing only the glob things needed for
84800         gnulib.
84801         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
84802         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
84803         (glob, globfree, glob_pattern_p): Now defined simply in terms of
84804         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
84805         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
84806         and to respect the namespace rules better.
84807
84808 2005-09-08  Simon Josefsson  <jas@extundo.com>
84809
84810         * modules/socklen: New file.
84811
84812 2005-09-08  Simon Josefsson  <jas@extundo.com>
84813
84814         * m4/socklen.m4: New file.
84815
84816 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84817
84818         * modules/utimens (Files): Add m4/utimbuf.m4, since
84819         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
84820         Reported by Sergey Poznyakoff.
84821
84822 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84823
84824         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
84825         definitions, since that's the preferred style in glibc.
84826         Fix a minor spacing issue, and update copyright notice to match
84827         glibc's.
84828
84829 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
84830
84831         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
84832
84833 2005-09-06  Simon Josefsson  <jas@extundo.com>
84834
84835         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
84836         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
84837
84838 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84839
84840         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
84841         warning.
84842
84843 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
84844
84845         * config/srclist.txt: Add glibc bug 1302.
84846
84847 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
84848
84849         Change bitset word type from unsigned int to unsigned long int,
84850         as this has better performance on typical 64-bit hosts.
84851         Port bitset code to hosts with unusual word sizes.
84852         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
84853         (build_collating_symbol):
84854         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
84855         argument is a bitset.  This is merely a style issue, but it makes
84856         it clearer that an entire array is expected.
84857         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
84858         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
84859         Port to the case where bitset_word is not the same as unsigned int.
84860         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
84861         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
84862         Likewise.
84863         * lib/regexec.c (check_dst_limits_calc_pos_1,
84864         check_subexp_matching_top):
84865         (build_trtable, group_nodes_into_DFAstates):
84866         Likewise.
84867         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
84868         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
84869         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
84870         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
84871         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
84872         * lib/regcomp.c (optimize_subexps, lower_subexp):
84873         Work even if bitset_word has holes in its bitwise representation.
84874         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
84875         * lib/regexec.c (check_dst_limits_calc_pos_1,
84876         check_subexp_matching_top):
84877         Likewise.
84878         * lib/regex_internal.c (re_string_reconstruct):
84879         Don't assume UCHAR_MAX == 255.
84880         * lib/regex_internal.h (bitset_set_all): Likewise.
84881         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
84882         All uses changed.
84883         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
84884         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
84885         All uses changed.
84886         (BITSET_WORD_MAX): New macro.
84887         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
84888         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
84889         (bitset_empty, bitset_copy):
84890         Prefer sizeof (bitset) to multiplying it out ourselves.
84891         (bitset_not_merge): Remove; unused.
84892         (bitset_contain): Return bool, not unsigned int with one bit on.
84893         All callers changed.
84894         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
84895         alignment than re_node_set; do this by defining a new internal
84896         type struct dests_alloc and using it to allocate memory.
84897
84898 2005-09-05  Bruno Haible  <bruno@clisp.org>
84899
84900         * gnulib-tool (func_import): Fix comparison in handling of symbolic
84901         links.
84902
84903 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
84904
84905         * modules/size_max (Makefile.am): Add size_max.h
84906
84907 2005-09-04  Derek Price  <derek@ximbiot.com>
84908
84909         * gnulib-tool (func_import): Fix reversed $symbolic logic.
84910
84911 2005-09-03  Simon Josefsson  <jas@extundo.com>
84912
84913         * gnulib-tool: Fix typo.
84914
84915 2005-09-03  Simon Josefsson  <jas@extundo.com>
84916
84917         * config/srclist.txt: Add glibc bug 1293.
84918
84919 2005-09-03  Derek Price  <derek@ximbiot.com>
84920
84921         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
84922         From Larry Jones <lawrence.jones@ugs.com>.
84923
84924 2005-09-02  Simon Josefsson  <jas@extundo.com>
84925
84926         * modules/socklen: New file.
84927
84928 2005-09-02  Simon Josefsson  <jas@extundo.com>
84929
84930         * modules/havelib: New module.
84931
84932         * modules/gettext, modules/iconv, modules/lock, modules/readline:
84933         Use havelib.
84934
84935 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
84936
84937         Check for arithmetic overflow when calculating sizes, to prevent
84938         some buffer-overflow issues.  These patches are conservative, in the
84939         sense that when I couldn't determine whether an overflow was possible,
84940         I inserted a run-time check.
84941         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
84942         macros.
84943         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
84944         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
84945         (re_xnrealloc, re_x2nrealloc): New inline functions.
84946         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
84947         parse_bracket_exp):
84948         (build_equiv_class, build_charclass): Check for arithmetic overflow
84949         in size expression calculations.
84950         * lib/regex_internal.c (re_string_realloc_buffers):
84951         (build_wcs_upper_buffer, re_node_set_add_intersect):
84952         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
84953         (re_dfa_add_node, register_state): Likewise.
84954         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
84955         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
84956         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
84957         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
84958
84959 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
84960
84961         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
84962         m4/ulonglong.m4.  Problem reported by Martin Lambers.
84963
84964 2005-09-02  Bruno Haible  <bruno@clisp.org>
84965
84966         Support for lib vs. lib64 distinction on biarch platforms.
84967         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
84968         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
84969         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
84970
84971 2005-09-02  Bruno Haible  <bruno@clisp.org>
84972
84973         * gnulib-tool (import): In the other first-use case, provide defaults
84974         as well.
84975
84976 2005-09-02  Bruno Haible  <bruno@clisp.org>
84977
84978         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
84979         patches not yet found in the latest gettext release.
84980
84981 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
84982
84983         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
84984         to avoid a collision with bits/local_lim.h in glibc.
84985         All uses changed.  Problem reported by Dmitry V. Levin in
84986         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
84987
84988         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
84989         bugs in int versus size_t comparisons.
84990         (re_string_context_at): Fix bug where the code assumed that
84991         Idx is signed.
84992
84993         Use bool where appropriate.
84994         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
84995         All callers changed.
84996         (calc_eclosure_iter): Likewise, for ROOT arg.
84997         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
84998         (build_charclass_op): Likewise, for NON_MATCH arg.
84999         * lib/regex_internal.c (re_string_allocate, re_string_construct):
85000         (re_string_construct_common): Likewise, for ICASE arg.
85001         * lib/regexec.c (re_search_2_stub, re_search_stub):
85002         Likewise, for RET_LEN arg.
85003         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
85004         (set_regs): Likewise, for FL_BACKTRACK arg.
85005         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
85006         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
85007         (calc_eclosure_iter, parse_bracket_exp):
85008         Use bool for internal variables that are booleans.
85009         * lib/regexec.c (re_search_internal, check_matching,
85010         proceed_next_node):
85011         (set_regs, build_sifted_states, sift_states_bkref):
85012         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
85013         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
85014         (find_collation_sequence_value):
85015         Likewise.
85016         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
85017         (re_node_set_compare):
85018         Return bool, not int. All callers changed.
85019         * lib/regexec.c (check_halt_node_context, check_dst_limits):
85020         (build_trtable, check_node_accept): Likewise.
85021         * lib/regex_internal.h: Include stdbool.h.
85022
85023         Fix bugs uncovered when converting to bool.
85024         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
85025         failure instead of charging ahead blindly.
85026         * lib/regex_internal.c (register_state): Likewise.
85027         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
85028         for freeing internal storage.
85029         (group_nodes_into_DFA_states): Use unsigned int, not int, for
85030         bitset pieces used as boolean, to avoid undefined behavior
85031         on hosts that do int overflow checking.
85032
85033 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
85034
85035         * config/srclist.txt: Add glibc bugs 1285-1287.
85036
85037 2005-09-01  Jim Meyering  <jim@meyering.net>
85038
85039         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
85040         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
85041         Require gl_STAT_MACROS, too.
85042
85043 2005-09-01  Bruno Haible  <bruno@clisp.org>
85044
85045         * gnulib-tool (import): In the first-use case, provide defaults.
85046
85047 2005-09-01  Bruno Haible  <bruno@clisp.org>
85048
85049         * gnulib-tool (func_import): Remove the .tmp files.
85050
85051 2005-09-01  Bruno Haible  <bruno@clisp.org>
85052
85053         * gnulib-tool (func_import): Fix handling of symbolic links.
85054
85055 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85056
85057         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
85058         old glibc regex code mishandles strings longer than 2**31 bytes.
85059         This patch fixes this when the regex code is used in gnulib
85060         (i.e., outside glibc).
85061
85062         This patch should not affect the use of the regex code inside
85063         glibc.  No doubt this problem also needs to be handled for glibc
85064         as well, but the result will be an incompatible change to the
85065         glibc ABI, and the old ABI will have to be supported too.  That
85066         can be the the subject for another patch.
85067
85068         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
85069         governing whether the rest of this patch is active.  By default,
85070         the macro is disabled and the patch has no effect.
85071         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
85072         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
85073         (struct re_pattern_buffer, re_search, re_search_2, re_match):
85074         (re_match_2, re_set_registers): Use the new types.
85075         * lib/regex_internal.h (Idx, re_hashval_t): New types.
85076         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
85077         New macros.
85078         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
85079         (re_string_context_at, bin_tree_t, re_dfastate_t):
85080         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
85081         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
85082         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
85083         (re_string_char_size_at, re_string_wchar_at):
85084         (re_string_elem_size_at):
85085         Use the new types and macros to port to 64-bit hosts.
85086         Use unsigned types for internal values, so that the code
85087         mostly works even for arrays larger than SSIZE_MAX.
85088         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
85089         (search_duplicated_node, calc_eclosure_iter, fetch_number):
85090         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
85091         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
85092         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
85093         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
85094         (calc_inveclosure, parse_dup_op, build_range_exp):
85095         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
85096         (fetch_number, create_token_tree, mark_opt_subexp):
85097         Likewise.
85098         * lib/regex_internal.c (re_string_construct_common,
85099         create_ci_newstate):
85100         (create_cd_newstate, re_string_allocate, re_string_construct):
85101         (re_string_realloc_buffers, build_wcs_upper_buffer):
85102         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
85103         (re_string_reconstruct, re_string_peek_byte_case):
85104         (re_string_fetch_byte_case, re_string_context_at):
85105         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
85106         (re_node_set_init_copy, re_node_set_add_intersect):
85107         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85108         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85109         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
85110         (re_acquire_state, re_acquire_state_context, register_state):
85111         Likewise.
85112         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
85113         search_cur_bkref_entry):
85114         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
85115         (re_search_internal, re_search_2_stub, re_search_stub)
85116         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
85117         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
85118         (update_cur_sifted_state, check_dst_limits):
85119         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85120         (check_subexp_limits, sift_states_bkref, merge_state_array):
85121         (check_subexp_matching_top, get_subexp, get_subexp_sub):
85122         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
85123         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
85124         (expand_bkref_cache, check_node_accept_bytes):
85125         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
85126         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
85127         (acquire_init_state_context, check_halt_node_context):
85128         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
85129         (sift_states_backward, clean_state_log_if_needed):
85130         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
85131         (find_recover_state, transit_state_sb, transit_state_mb):
85132         (transit_state_bkref, build_trtable, match_ctx_clean):
85133         Likewise.
85134         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
85135         to work around an assumption that REG_MISSING is negative.
85136
85137         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
85138         (seek_collating_symbol_entry) [defined _LIBC]:
85139         (lookup_collation_sequence_value) [defined _LIBC]:
85140         (build_range_exp, build_collating_symbol) [defined _LIBC]:
85141         Use prototypes rather than old-style function definitions.
85142         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
85143         (transit_state_sb) [0]:
85144         (find_collation_sequence_value) [defined _LIBC]: Likewise.
85145
85146         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
85147         rm_eo.
85148
85149         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
85150         (optimize_subexps, lower_subexp):
85151         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
85152         since the signed shift might overflow.  Use 1u<<31 instead.
85153         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
85154         Likewise.
85155         * lib/regexec.c (check_dst_limits_calc_pos_1,
85156         check_subexp_matching_top): Likewise.
85157
85158         * lib/regcomp.c (optimize_subexps, lower_subexp):
85159         Use CHAR_BIT rather than 8, for clarity.
85160         * lib/regexec.c (check_dst_limits_calc_pos_1):
85161         (check_subexp_matching_top): Likewise.
85162         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
85163         have to worry about portability issues when shifting it left.
85164         Remove no-longer-needed test for table_size > 0.
85165         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
85166         in a word, as the resulting behavior is undefined.
85167         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
85168         in one case, a <= should have been an <, and in another case the
85169         whole test was missing.
85170         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
85171         the standard name CHAR_BIT.
85172         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
85173         this is not true on one's complement and signed-magnitude hosts.
85174
85175         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
85176         next_last_offset.
85177         (struct re_dfa_t): Remove unused member states_alloc.
85178         * lib/regcomp.c (init_dfa): Don't initialize unused members.
85179
85180 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85181
85182         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
85183         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
85184         and large-file glibc and in 32-bit large-file Solaris.
85185
85186 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85187
85188         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
85189         lengths fit in regoff_t; this isn't true if regoff_t is the same
85190         width as size_t.
85191         * lib/regex.c (re_search_internal): 5th arg is LAST_START
85192         (= START + RANGE) instead of RANGE.  This avoids overflow
85193         problems when regoff_t is the same width as size_t.
85194         All callers changed.
85195         (re_search_2_stub): Check for overflow when adding the
85196         sizes of the two strings.
85197         (re_search_stub): Check for overflow when adding START
85198         to RANGE; if it occurs, substitute the extreme value.
85199
85200 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85201
85202         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
85203
85204 2005-08-31  Jim Meyering  <jim@meyering.net>
85205
85206         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
85207         a pointer-to-const.
85208         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
85209         (register_state): Likewise.
85210         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
85211         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85212         (group_nodes_into_DFAstates): Likewise.
85213
85214 2005-08-31  Jim Meyering  <jim@meyering.net>
85215
85216         * check-module: Add a FIXME comment.
85217
85218 2005-08-31  Eric Blake  <ebb9@byu.net>
85219
85220         * modules/unistd-safer (Files): Add unistd--.h.
85221         * modules/stdio-safer (Files): Add stdio--.h.
85222
85223 2005-08-31  Derek Price  <derek@ximbiot.com>
85224
85225         * lib/getdelim.c (getdelim): Return EOF on EOF.
85226         Reported by Larry Jones <lawrence.jones@ugs.com>.
85227
85228 2005-08-31  Bruno Haible  <bruno@clisp.org>
85229
85230         Avoid unnecessary diffs in the generated lib/Makefile.am.
85231         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
85232         the generated files.
85233         (func_import): Don't set cmd.
85234
85235 2005-08-31  Bruno Haible  <bruno@clisp.org>
85236
85237         * lib/strstr.c: Include <stddef.h>, for NULL.
85238         * lib/strcasestr.c: Likewise.
85239         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
85240
85241 2005-08-31  Bruno Haible  <bruno@clisp.org>
85242
85243         * gnulib-tool: New option --macro-prefix.
85244         (func_import): Use macro_prefix.
85245         (import): Handle option --macro-prefix.
85246
85247 2005-08-31  Bruno Haible  <bruno@clisp.org>
85248
85249         * gnulib-tool (import): Rename most ac_* variables to cached_*.
85250         Also use new variables cached_lgpl, cached_libtool.
85251
85252 2005-08-31  Bruno Haible  <bruno@clisp.org>
85253
85254         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
85255         always instantiating them.
85256
85257 2005-08-31  Bruno Haible  <bruno@clisp.org>
85258
85259         * gnulib-tool (func_import): Read the previous cached settings
85260         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
85261         earlier added by gnulib but are now dropped. Warn when a gnulib file
85262         overwrites a non-gnulib file.
85263
85264 2005-08-31  Bruno Haible  <bruno@clisp.org>
85265
85266         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
85267         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
85268         projects that don't keep autogenerated files in CVS. Put into
85269         actioncmd only the specified modules, not the transitive closure.
85270
85271 2005-08-31  Bruno Haible  <bruno@clisp.org>
85272
85273         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
85274         Create directories that shall be filled.
85275         (import): Don't look for gl_* macros in configure.ac. Recurse across
85276         all directories containing a gnulib-cache.m4 files, if meaningful.
85277
85278 2005-08-31  Bruno Haible  <bruno@clisp.org>
85279
85280         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
85281         (import): Set seen_libtool when we see gl_LIBTOOL.
85282
85283 2005-08-31  Bruno Haible  <bruno@clisp.org>
85284
85285         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
85286         declaration macro definitions from generated gnulib.m4.
85287
85288 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
85289
85290         * lib/iconvme.h: Add prototype for iconv_alloc.
85291
85292 2005-08-29  Simon Josefsson  <jas@extundo.com>
85293
85294         * lib/iconvme.c: Fix errno.
85295
85296 2005-08-29  Bruno Haible  <bruno@clisp.org>
85297
85298         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
85299         that it works when the directory contains spaces.
85300
85301 2005-08-29  Bruno Haible  <bruno@clisp.org>
85302
85303         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
85304
85305 2005-08-29  Bruno Haible  <bruno@clisp.org>
85306
85307         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
85308         Emit more advice.
85309
85310 2005-08-29  Bruno Haible  <bruno@clisp.org>
85311         and Stepan Kasal  <kasal@ucw.cz>
85312
85313         * check-module: If more parameters are given, check each of them
85314         separately; add more exceptions, as noted by Jim Meyering.
85315         (check_module): New procedure.
85316         (%exempt_header): Now contains all exceptions.
85317
85318 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
85319
85320         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
85321
85322 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
85323
85324         * lib/iconvme.c: Split iconv_string into iconv_alloc.
85325
85326 2005-08-28  Bruno Haible  <bruno@clisp.org>
85327
85328         * m4/gnulib-tool.m4: New file.
85329
85330 2005-08-27  Jim Meyering  <jim@meyering.net>
85331
85332         * modules/unistd-safer (Files): Add pipe-safer.c.
85333         * modules/fcntl-safer (Files): Add creat-safer.c.
85334
85335 2005-08-27  Jim Meyering  <jim@meyering.net>
85336
85337         * m4/stdlib-safer.m4: New file.  From coreutils.
85338         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
85339         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
85340         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
85341         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
85342         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
85343
85344 2005-08-27  Jim Meyering  <jim@meyering.net>
85345
85346         * lib/fopen-safer.c: Merge minor changes from coreutils.
85347         * lib/dup-safer.c: Likewise.
85348         * lib/fd-safer.c: Likewise.
85349
85350         Merge from coreutils.
85351         * lib/stdio--.h: New file.
85352         * lib/stdlib--.h: New file.
85353         * lib/mkstemp-safer.c: New file.
85354
85355         GNU tar needs these.
85356         * lib/pipe-safer.c: New file.
85357         * lib/creat-safer.c: New file.
85358         * lib/fcntl--.h (creat): Define to creat_safer.
85359         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
85360         * lib/unistd--.h (pipe): Define to pipe_safer.
85361         * lib/unistd-safer.h: Declare pipe_safer.
85362
85363 2005-08-26  Simon Josefsson  <jas@extundo.com>
85364
85365         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
85366         Haible <bruno@clisp.org>.
85367
85368 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
85369
85370         * lib/regex_internal.h: Remove all references to
85371         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
85372         or better.
85373         (bitset_not, bitset_merge, bitset_not_merge):
85374         (bitset_mask, re_string_allocate, re_string_construct):
85375         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
85376         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
85377         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
85378         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
85379         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85380         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85381         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
85382         (re_acquire_state_context):
85383         Remove unnecessary forward decls.
85384         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
85385         Put __attribute at function definition,
85386         now that the function decl has been removed.
85387         * lib/regex_internal.c (re_string_peek_byte_case):
85388         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
85389         Likewise.
85390
85391 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
85392
85393         * m4/regex.m4: Add AC_PREREQ(2.50).
85394         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
85395
85396 2005-08-25  Simon Josefsson  <jas@extundo.com>
85397
85398         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
85399         __fsetlocking.
85400
85401 2005-08-25  Simon Josefsson  <jas@extundo.com>
85402
85403         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
85404         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
85405         GLIBC specific code.
85406
85407 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85408
85409         Make regex safe for g++.  This fixes one real bug (an "err"
85410         that should have been "*err").  g++ problem reported by
85411         Sam Steingold.
85412         * lib/regex_internal.h (re_calloc): New macro, consistent with
85413         re_malloc etc.  All callers of calloc changed to use re_calloc.
85414         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
85415         not int.  All callers changed.
85416         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
85417         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
85418         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
85419         (find_recover_state): Change "err" to "*err"; this fixes what
85420         appears to be a real bug.
85421         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
85422         versus int.
85423
85424 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85425
85426         * modules/regex (Depends-on): Add malloc, since the code
85427         assumes that !malloc(0) means failure.
85428
85429 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85430
85431         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
85432
85433         alloca modernization/simplification for regex.
85434         * lib/regex.c: Remove portability cruft for alloca.  This no longer
85435         needs to be at the start of the file, and can be moved into
85436         regex_internal.h and simplified.
85437         * lib/regex_internal.h: Include <alloca.h>.
85438         (__libc_use_alloca) [!defined _LIBC]: New macro.
85439         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
85440         now works outside glibc.
85441
85442 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85443
85444         * config/srclist.txt: Add glibc bugs 1241, 1245.
85445
85446 2005-08-25  Jim Meyering  <jim@meyering.net>
85447
85448         * lib/open-safer.c: Include <config.h>.
85449         Otherwise, we'd lose LARGEFILE support in any file using
85450         e.g. "fcntl--.h"
85451
85452 2005-08-25  Bruno Haible  <bruno@clisp.org>
85453
85454         * m4/minmax.m4: Require autoconf 2.52.
85455         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
85456         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
85457         alternatives of translit over the alphabet.
85458         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
85459
85460 2005-08-24  Simon Josefsson  <jas@extundo.com>
85461
85462         * tests/test-getpass.c: New file.
85463
85464 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85465
85466         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
85467         for GNU regex features.
85468
85469 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85470
85471         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
85472         * lib/regex.h (regerror): Likewise.
85473
85474         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
85475         requires this.  (The code never needed it.)
85476
85477         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
85478         All uses of recently-renamed identifiers changed to use the new,
85479         POSIX-compliant names.  The code will build and run just fine
85480         without these changes, but it's better to eat our own dog food
85481         and use the standard-conforming names.
85482
85483         * lib/regex.h: Fix a multitude of POSIX name space violations.
85484         These changes have an effect only for programs that define
85485         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
85486         do not change anything for programs compiled in the normal way.
85487         Also, there is no effect on the ABI.
85488
85489         (_REGEX_SOURCE): New macro.
85490         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
85491         defined and _GNU_SOURCE is not; this fixes a name space violation.
85492
85493         Rename the following macros to obey POSIX requirements.
85494         The old names are still visible as macros if _REGEX_SOURCE is defined.
85495         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
85496         RE_BACKSLASH_ESCAPE_IN_LISTS.
85497         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
85498         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
85499         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
85500         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
85501         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
85502         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
85503         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
85504         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
85505         (REG_INTERVALS): renamed from RE_INTERVALS.
85506         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
85507         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
85508         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
85509         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
85510         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
85511         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
85512         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
85513         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
85514         RE_UNMATCHED_RIGHT_PAREN_ORD.
85515         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
85516         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
85517         (REG_DEBUG): renamed from RE_DEBUG.
85518         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
85519         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
85520         unusual, since we can't clash with the POSIX REG_ICASE.
85521         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
85522         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
85523         (REG_NO_SUB): renamed from RE_NO_SUB.
85524         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
85525         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
85526         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
85527         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
85528         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
85529         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
85530         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
85531         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
85532         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
85533         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
85534         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
85535         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
85536         RE_SYNTAX_POSIX_MINIMAL_BASIC.
85537         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
85538         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
85539         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
85540         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
85541         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
85542         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
85543         (REG_FIXED): Renamed from REGS_FIXED.
85544         (REG_NREGS): Renamed from RE_NREGS.
85545
85546         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
85547         of other REG_* macros, since POSIX says the user is allowed to
85548         #undef these macros selectively.
85549
85550         (reg_errcode_t): Update comment stating what other tables need
85551         to be consistent.
85552
85553         Rename the following enum values to obey POSIX requirements.
85554         The old names are still visible as macros.
85555         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
85556         is not defined, since GNU is supposed to be a superset of POSIX as
85557         much as possible, and since we want reg_errcode_t to be a signed
85558         type for implementation consistency.
85559         (_REG_NOERROR): Renamed from REG_NOERROR.
85560         (_REG_NOMATCH): Renamed from REG_NOMATCH.
85561         (_REG_BADPAT): Renamed from REG_BADPAT.
85562         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
85563         (_REG_ECTYPE): Renamed from REG_ECTYPE.
85564         (_REG_EESCAPE): Renamed from REG_EESCAPE.
85565         (_REG_ESUBREG): Renamed from REG_ESUBREG.
85566         (_REG_EBRACK): Renamed from REG_EBRACK.
85567         (_REG_EPAREN): Renamed from REG_EPAREN.
85568         (_REG_EBRACE): Renamed from REG_EBRACE.
85569         (_REG_BADBR): Renamed from REG_BADBR.
85570         (_REG_ERANGE): Renamed from REG_ERANGE.
85571         (_REG_ESPACE): Renamed from REG_ESPACE.
85572         (_REG_BADRPT): Renamed from REG_BADRPT.
85573         (_REG_EEND): Renamed from REG_EEND.
85574         (_REG_ESIZE): Renamed from REG_ESIZE.
85575         (_REG_ERPAREN): Renamed from REG_ERPAREN.
85576         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
85577         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
85578         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
85579         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
85580
85581         (_REG_RE_NAME, _REG_RM_NAME): New macros.
85582         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
85583         changed.  But support the old name if the new one is not defined
85584         and if _REGEX_SOURCE.
85585
85586         Change the following member names in struct re_pattern_buffer.
85587         The old names are still supported if !_REGEX_SOURCE.
85588         The new names are always supported, regardless of _REGEX_SOURCE.
85589         (re_buffer): Renamed from buffer.
85590         (re_allocated): Renamed from allocated.
85591         (re_used): Renamed from used.
85592         (re_syntax): Renamed from syntax.
85593         (re_fastmap): Renamed from fastmap.
85594         (re_translate): Renamed from translate.
85595         (re_can_be_null): Renamed from can_be_null.
85596         (re_regs_allocated): Renamed from regs_allocated.
85597         (re_fastmap_accurate): Renamed from fastmap_accurate.
85598         (re_no_sub): Renamed from no_sub.
85599         (re_not_bol): Renamed from not_bol.
85600         (re_not_eol): Renamed from not_eol.
85601         (re_newline_anchor): Renamed from newline_anchor.
85602
85603         Change the following member names in struct re_registers.
85604         The old names are still supported if !_REGEX_SOURCE.
85605         The new names are always supported, regardless of _REGEX_SOURCE.
85606         (rm_num_regs): Renamed from num_regs.
85607         (rm_start): Renamed from start.
85608         (rm_end): Renamed from end.
85609
85610         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
85611         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
85612         Prepend __ to parameter names.
85613
85614         Undo yesterday's changes.
85615
85616 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85617
85618         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
85619         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
85620         lib/regex.c.
85621
85622 2005-08-24  Jim Meyering  <jim@meyering.net>
85623
85624         Sync from coreutils.
85625         * m4/fcntl-safer.m4: New file.
85626
85627         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
85628         and object files for this module.
85629
85630 2005-08-24  Jim Meyering  <jim@meyering.net>
85631
85632         Sync from coreutils.
85633         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
85634
85635 2005-08-24  Jim Meyering  <jim@meyering.net>
85636
85637         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
85638         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
85639
85640 2005-08-24  Jim Meyering  <jim@meyering.net>
85641
85642         * modules/fcntl-safer: New module.
85643         * modules/fts (Depends-on): Add fcntl-safer.
85644         * MODULES.html.sh (File descriptor based Input/Output):
85645         Add fcntl-safer.
85646
85647 2005-08-24  Bruno Haible  <bruno@clisp.org>
85648
85649         Support for unit test modules.
85650         * modules/README: Mention tests modules.
85651         * modules/TEMPLATE-TESTS: New file.
85652         * gnulib-tool: New options --extract-tests-module, --with-tests and
85653         --tests-base (unused for the moment).
85654         (testsbase, inctests): New variables.
85655         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
85656         (func_verify_module): Exclude TEMPLATE-TESTS.
85657         (func_verify_nontests_module, func_verify_tests_module): New functions.
85658         (func_get_dependencies): Add implicit dependency for tests modules.
85659         (func_get_tests_module): New function.
85660         (func_modules_transitive_closure): When --with-tests was specified,
85661         include the unit tests as well, unless explicitly avoided.
85662         (func_emit_lib_Makefile_am): Ignore the tests modules here.
85663         (func_emit_tests_Makefile_am): New function.
85664         (func_create_testdir): When --with-tests was specified, emit a
85665         tests/ directory.
85666         * MODULES.html.sh (Future developments): Update.
85667
85668 2005-08-24  Bruno Haible  <bruno@clisp.org>
85669
85670         * modules/tls-tests: New file.
85671         * tests/test-tls.c: New file, from GNU gettext.
85672
85673 2005-08-24  Bruno Haible  <bruno@clisp.org>
85674
85675         * modules/lock-tests: New file.
85676         * tests/test-lock.c: New file, from GNU gettext.
85677
85678 2005-08-24  Bruno Haible  <bruno@clisp.org>
85679
85680         * lib/lock.h: Add multiple inclusion guard.
85681         * lib/tls.h: Add multiple inclusion guard.
85682
85683 2005-08-24  Bruno Haible  <bruno@clisp.org>
85684
85685         * gnulib-tool: Add support for the --aux-dir option to
85686         --create-testdir, --create-megatestdir, --test, --megatest.
85687         (func_create_testdir, func_create_megatestdir): Optionally emit a
85688         AC_CONFIG_AUX_DIR directive.
85689         (create-testdir, create-megatestdir, test, megatest): Provide a
85690         default value for $auxdir.
85691
85692 2005-08-24  Bruno Haible  <bruno@clisp.org>
85693
85694         * gnulib-tool (import): Use compound statement instead of subshell
85695         where possible.
85696
85697 2005-08-24  Bruno Haible  <bruno@clisp.org>
85698
85699         * gnulib-tool (import): Change --aux-dir default to "build-aux".
85700
85701 2005-08-24  Bruno Haible  <bruno@clisp.org>
85702
85703         * gnulib-tool (func_version): Update.
85704
85705 2005-08-24  Bruno Haible  <bruno@clisp.org>
85706
85707         * gnulib-tool (func_import, func_create_testdir,
85708         func_create_megatestdir): Quote all autoconf macro arguments.
85709
85710 2005-08-24  Bruno Haible  <bruno@clisp.org>
85711
85712         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
85713         option --force, because --force causes the aclocal.m4 of each
85714         subdirectory to be newer than the corresponding config.h.in.
85715
85716 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85717
85718         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
85719         All contents moved to gl_REGEX.
85720         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
85721         assume that it does.
85722
85723 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85724
85725         * lib/regex.h (REG_NOSYS)
85726         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
85727         Define, since POSIX requires it as of 2001.
85728         (_REG_ENOSYS)
85729         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
85730         New private symbol, used to keep the enum signed in all cases.
85731         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
85732         Youngman in
85733         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
85734
85735         * lib/regex_internal.c (re_string_skip_chars, register_state):
85736         (calc_state_hash):
85737         Remove forward decls; no longer needed now that we use prototypes.
85738         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
85739         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
85740         (clean_state_log_if_needed): Likewise.
85741
85742 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
85743
85744         * config/srclist.txt: Add glibc bugs 1231-1233.
85745
85746 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85747
85748         Fix problems reported by Sam Steingold in
85749         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
85750         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
85751         assumed that reg_errcode_t is a signed type, which is not
85752         necessarily true if _XOPEN_SOURCE is not defined.
85753         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
85754         since some compilers warn about it otherwise.
85755
85756 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85757
85758         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
85759         (init_word_char, create_initial_state, duplicate_node_closure):
85760         (fetch_token, peek_token_bracket, build_range_exp):
85761         (build_collating_symbol): Remove forward decls; no longer needed
85762         now that we use prototypes.
85763
85764         * lib/regcomp.c:
85765         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
85766         (re_compile_fastmap_iter, regcomp, regerror, regfree):
85767         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
85768         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
85769         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
85770         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
85771         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
85772         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
85773         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
85774         (build_range_exp, build_collating_symbol, parse_bracket_exp):
85775         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
85776         (build_charclass, build_charclass_op, fetch_number, create_tree):
85777         (create_token_tree, mark_opt_subexp, duplicate_tree):
85778         Use prototypes rather than old-style definitions.
85779
85780         * lib/regex_internal.c:
85781         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
85782         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
85783         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
85784         (re_string_reconstruct, re_string_peek_byte_case):
85785         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
85786         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
85787         (re_node_set_init_copy, re_node_set_add_intersect):
85788         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85789         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85790         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
85791         (re_acquire_state, re_acquire_state_context, register_state):
85792         (create_ci_newstate, create_cd_newstate, free_state):
85793         Likewise.
85794         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
85795         re_search_2):
85796         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
85797         (re_search_internal, prune_impossible_nodes):
85798         (acquire_init_state_context, check_matching, static):
85799         (check_halt_node_context, check_halt_state_context, proceed_next_node):
85800         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
85801         (update_regs, sift_states_backward, build_sifted_states):
85802         (clean_state_log_if_needed, merge_state_array):
85803         (update_cur_sifted_state, add_epsilon_src_nodes):
85804         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
85805         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
85806         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
85807         (find_recover_state, check_subexp_matching_top, transit_state_mb):
85808         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
85809         (check_arrival, check_arrival_add_next_nodes):
85810         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
85811         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
85812         (check_node_accept_bytes, check_node_accept, extend_buffers):
85813         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
85814         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
85815         (sift_ctx_init):
85816         Likewise.
85817
85818         * lib/regex_internal.h:
85819         (re_string_allocate, re_string_construct, re_string_reconstruct):
85820         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
85821         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
85822         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
85823         (re_string_context_at, re_string_peek_byte_case):
85824         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
85825         is defined, since we now use prototypes always.
85826
85827         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
85828         C89 or better.  All uses removed.
85829
85830 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
85831
85832         * config/srclist.txt: Add glibc bugs 1220-1227.
85833
85834 2005-08-20  Jim Meyering  <jim@meyering.net>
85835
85836         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
85837         of unused local, dfa.
85838
85839 2005-08-20  Bruno Haible  <bruno@clisp.org>
85840
85841         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
85842
85843 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85844
85845         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
85846         (re_node_set_insert_last, re_dfa_add_node):
85847         Rename local variables to avoid GCC shadowing warnings.
85848
85849 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85850
85851         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
85852         [defined lint]: Suppress bogus uninitialized-variable warnings.
85853
85854         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
85855         and let the caller return REG_ESPACE if out of space.  This
85856         removes an uninitialied-variable warning with GCC 4.0.1, and also
85857         avoids taking the address of a local variable.  All callers
85858         changed.
85859
85860 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
85861
85862         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
85863         $LIBCSRC/posix/regexec.c.
85864         Add glibc bug 1217 for regcomp.c.
85865
85866 2005-08-19  Jim Meyering  <jim@meyering.net>
85867
85868         * lib/regexec.c (proceed_next_node): Redo local variables to
85869         avoid GCC shadowing warnings.
85870
85871 2005-08-18  Bruno Haible  <bruno@clisp.org>
85872
85873         * lib/strstr.c (strstr): Fix return value in multibyte case.
85874         * lib/strcasestr.c (strcasestr): Likewise.
85875
85876 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
85877
85878         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
85879
85880 2005-08-17  Jim Meyering  <jim@meyering.net>
85881
85882         Make the %s format (seconds since the epoch) work for a negative
85883         number and when used with a zero-padded field width, e.g. %015s.
85884
85885         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
85886         label so that it precedes the code to set `digits'.  Otherwise,
85887         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
85888         print `00-22'.  Now, it prints `-0022', as it should.
85889
85890 2005-08-17  Bruno Haible  <bruno@clisp.org>
85891
85892         * modules/strstr (Files): Add m4/mbrtowc.m4.
85893         (Depends-on): Add mbuiter.
85894
85895 2005-08-17  Bruno Haible  <bruno@clisp.org>
85896
85897         * modules/strcasestr: New file.
85898         * MODULES.html.sh (String handling, based on ANSI C 89): Add
85899         strcasestr.
85900
85901 2005-08-17  Bruno Haible  <bruno@clisp.org>
85902
85903         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
85904
85905 2005-08-17  Bruno Haible  <bruno@clisp.org>
85906
85907         * modules/mbuiter: New file.
85908         * MODULES.html.sh (Extended multibyte and wide character utilities):
85909         Add mbuiter.
85910
85911 2005-08-17  Bruno Haible  <bruno@clisp.org>
85912
85913         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
85914         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
85915
85916 2005-08-17  Bruno Haible  <bruno@clisp.org>
85917
85918         * m4/strcasestr.m4: New file.
85919
85920 2005-08-17  Bruno Haible  <bruno@clisp.org>
85921
85922         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
85923         * lib/strstr.c: Completely rewritten, with multibyte locale support.
85924
85925 2005-08-17  Bruno Haible  <bruno@clisp.org>
85926
85927         * lib/strcasestr.h: New file.
85928         * lib/strcasestr.c: New file.
85929
85930 2005-08-17  Bruno Haible  <bruno@clisp.org>
85931
85932         * lib/strcasecmp.c: Use mbuiter.h.
85933
85934 2005-08-17  Bruno Haible  <bruno@clisp.org>
85935
85936         * lib/mbuiter.h: New file.
85937
85938 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
85939
85940         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
85941         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
85942         and gl_GETOPT are both invoked via different paths (as happens
85943         with GNU tar CVS because it uses both argp and getopt), the former
85944         wins.
85945
85946 2005-08-16  Bruno Haible  <bruno@clisp.org>
85947
85948         * modules/tls: New file.
85949         * MODULES.html.sh (Multithreading): Add tls.
85950
85951 2005-08-16  Bruno Haible  <bruno@clisp.org>
85952
85953         * modules/strnlen1: New file.
85954         * MODULES.html.sh (String handling): Add strnlen1.
85955
85956 2005-08-16  Bruno Haible  <bruno@clisp.org>
85957
85958         * modules/strcase (Files): Add m4/mbrtowc.m4.
85959         (Depends-on): Add strnlen1, mbchar.
85960
85961 2005-08-16  Bruno Haible  <bruno@clisp.org>
85962
85963         * modules/mbiter: New file.
85964         * MODULES.html.sh (Extended multibyte and wide character utilities):
85965         Add mbiter.
85966
85967 2005-08-16  Bruno Haible  <bruno@clisp.org>
85968
85969         * modules/mbfile: New file.
85970         * MODULES.html.sh (Extended multibyte and wide character utilities):
85971         Add mbfile.
85972
85973 2005-08-16  Bruno Haible  <bruno@clisp.org>
85974
85975         * modules/mbchar: New file.
85976         * MODULES.html.sh (Extended multibyte and wide character utilities):
85977         New section.
85978
85979 2005-08-16  Bruno Haible  <bruno@clisp.org>
85980
85981         * m4/tls.m4: New file, from GNU gettext.
85982
85983 2005-08-16  Bruno Haible  <bruno@clisp.org>
85984
85985         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
85986         always.
85987         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
85988
85989 2005-08-16  Bruno Haible  <bruno@clisp.org>
85990
85991         * m4/mbiter.m4: New file.
85992
85993 2005-08-16  Bruno Haible  <bruno@clisp.org>
85994
85995         * m4/mbfile.m4: New file.
85996
85997 2005-08-16  Bruno Haible  <bruno@clisp.org>
85998
85999         * m4/mbchar.m4: New file.
86000
86001 2005-08-16  Bruno Haible  <bruno@clisp.org>
86002
86003         * lib/tls.h: New file, from GNU gettext.
86004         * lib/tls.c: New file, from GNU gettext.
86005
86006 2005-08-16  Bruno Haible  <bruno@clisp.org>
86007
86008         * lib/strnlen1.h: New file.
86009         * lib/strnlen1.c: New file.
86010
86011 2005-08-16  Bruno Haible  <bruno@clisp.org>
86012
86013         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
86014         (mbi_init): Update.
86015         (mbi_avail, mbi_advance): Let the iteration end before the terminating
86016         NUL byte, not after it.
86017
86018 2005-08-16  Bruno Haible  <bruno@clisp.org>
86019
86020         * lib/strcase.h (strcasecmp): Add note in comments.
86021         * lib/strncasecmp.c: Use code from strcasecmp.c.
86022         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
86023         (strcasecmp): Work correctly in multibyte locales.
86024
86025 2005-08-16  Bruno Haible  <bruno@clisp.org>
86026
86027         * lib/mbiter.h: New file.
86028
86029 2005-08-16  Bruno Haible  <bruno@clisp.org>
86030
86031         * lib/mbfile.h: New file.
86032
86033 2005-08-16  Bruno Haible  <bruno@clisp.org>
86034
86035         * lib/mbchar.h: New file.
86036         * lib/mbchar.c: New file.
86037
86038 2005-08-16  Bruno Haible  <bruno@clisp.org>
86039
86040         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
86041         the valid ones. Makes the comparison operations transitive:
86042         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
86043         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
86044
86045 2005-08-15  Simon Josefsson  <jas@extundo.com>
86046
86047         * modules/ssize_t (License): Change to 'unlimited'.
86048
86049         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
86050
86051 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
86052
86053         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
86054         Add comments for each pending glibc patch.
86055
86056 2005-08-15  Bruno Haible  <bruno@clisp.org>
86057
86058         * lib/regex.h (__restrict_arr): Don't define to __restrict if
86059         __cplusplus is defined.
86060
86061 2005-08-14  Jim Meyering  <jim@meyering.net>
86062
86063         Sync from coreutils.
86064
86065         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
86066         Use the hash-table-based cycle-detection code not just when
86067         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
86068         Reported by James Youngman in
86069         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
86070         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
86071         FTS_TIGHT_CYCLE_CHECK.
86072         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
86073         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
86074         once again.
86075         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
86076         * lib/fts.c (fd_safer): Remove decl.
86077         Include fcntl--.h rather than unistd-safer.h
86078         (fts_safe_changedir): Don't call fd_safer; no longer needed
86079         now that we include fcntl--.h.
86080
86081 2005-08-12  Simon Josefsson  <jas@extundo.com>
86082
86083         * modules/getndelim2: Use ssize_t module.
86084         * modules/getnline: Likewise.
86085         * modules/safe-read: Likewise.
86086         * modules/xreadlink: Likewise.
86087
86088         * modules/ssize_t: New file.
86089
86090 2005-08-12  Simon Josefsson  <jas@extundo.com>
86091
86092         * m4/readline.m4: Look for termcap, curses or ncurses if required.
86093
86094 2005-08-12  Simon Josefsson  <jas@extundo.com>
86095
86096         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86097         ssize_t.
86098
86099 2005-08-12  Simon Josefsson  <jas@extundo.com>
86100
86101         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
86102         readline, getdelim and check_version.
86103         (Support for systems lacking ISO C 99: Sizes of integer types):
86104         Add size_max.
86105
86106 2005-08-12  Bruno Haible  <bruno@clisp.org>
86107
86108         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
86109
86110 2005-08-11  Simon Josefsson  <jas@extundo.com>
86111
86112         * modules/readline: New file.
86113
86114         * modules/strnlen (Files): Add strnlen.h.
86115
86116 2005-08-11  Simon Josefsson  <jas@extundo.com>
86117
86118         * m4/readline.m4: New file.
86119
86120 2005-08-11  Simon Josefsson  <jas@extundo.com>
86121
86122         * lib/readline.h, readline.c: New file.
86123
86124 2005-08-11  Simon Josefsson  <jas@extundo.com>
86125
86126         * doc/gnulib.texi (Initial import, Finishing touches): Mention
86127         gl_AVOID.
86128
86129 2005-08-11  Bruno Haible  <bruno@clisp.org>
86130
86131         * lib/strnlen.h (strnlen): Change parameter name to match comment.
86132
86133 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
86134
86135         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
86136
86137 2005-08-10  Simon Josefsson  <jas@extundo.com>
86138
86139         * tests/test-iconvme.c: New file.
86140
86141 2005-08-10  Simon Josefsson  <jas@extundo.com>
86142
86143         * m4/strnlen.m4: New file.
86144
86145         * m4/strndup.m4: Don't check for strnlen declaration, done in
86146         strnlen.m4.
86147
86148 2005-08-10  Simon Josefsson  <jas@extundo.com>
86149
86150         * lib/strndup.c: Use strnlen.h.
86151
86152         * lib/strnlen.h: New file.
86153
86154 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
86155
86156         * README: Typos.
86157
86158 2005-08-02  Simon Josefsson  <jas@extundo.com>
86159
86160         * modules/readline: New file.
86161
86162 2005-08-02  Simon Josefsson  <jas@extundo.com>
86163
86164         * modules/getdelim: New file.
86165
86166         * modules/getline: Rewrite, don't use getndelim2.
86167
86168 2005-08-02  Simon Josefsson  <jas@extundo.com>
86169
86170         * m4/getline.m4: Separate out getdelim stuff into separate module.
86171
86172         * m4/getdelim.m4: New file.
86173
86174 2005-08-02  Simon Josefsson  <jas@extundo.com>
86175
86176         * lib/getline.h, getline.c: Rewrite.
86177
86178         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
86179
86180 2005-07-31  Bruno Haible  <bruno@clisp.org>
86181
86182         * lib/lock.h (gl_lock_initializer): New macro.
86183         (gl_lock_define_initialized): Use it.
86184         (gl_rwlock_initializer): New macro.
86185         (gl_rwlock_define_initialized): Use it.
86186         (gl_recursive_lock_initializer): New macro.
86187         (gl_recursive_lock_define_initialized): Use it.
86188
86189 2005-07-30  Karl Berry  <karl@gnu.org>
86190
86191         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
86192         Report from Ben Pfaff, regarding getopt.
86193
86194 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
86195
86196         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
86197         normal way.
86198         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
86199         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
86200         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
86201         (gl_GETOPT): Use the new macros.  Most of the implementation
86202         is moved to the new macros.  This is for programs like Emacs
86203         that don't want all the functionality of gl_GETOPT.
86204
86205 2005-07-26  Bruno Haible  <bruno@clisp.org>
86206
86207         * m4/lock.m4: Update from GNU gettext.
86208
86209 2005-07-26  Bruno Haible  <bruno@clisp.org>
86210
86211         * lib/lock.h: Update from GNU gettext.
86212         * lib/lock.c: Update from GNU gettext.
86213
86214 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
86215
86216         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
86217         obsolescent AC_TRY_RUN.  Include the default includes files, for
86218         'exit'.
86219
86220 2005-07-24  Bruno Haible  <bruno@clisp.org>
86221
86222         * modules/visibility: New file.
86223         * MODULES.html.sh (Misc): Add visibility.
86224
86225 2005-07-24  Bruno Haible  <bruno@clisp.org>
86226
86227         * m4/visibility.m4: New file.
86228
86229 2005-07-24  Bruno Haible  <bruno@clisp.org>
86230
86231         * doc/visibility.texi: New file.
86232
86233 2005-07-22  Bruno Haible  <bruno@clisp.org>
86234
86235         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
86236         $(ALLOCA_H), redundant through BUILT_SOURCES.
86237         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
86238         redundant through BUILT_SOURCES.
86239         * modules/byteswap (Makefile.am): Remove explicit dependency on
86240         $(BYTESWAP_H), redundant through BUILT_SOURCES.
86241         * modules/fnmatch (Makefile.am): Remove explicit dependency on
86242         $(FNMATCH_H), redundant through BUILT_SOURCES.
86243         * modules/getopt (Makefile.am): Remove explicit dependency on
86244         $(GETOPT_H), redundant through BUILT_SOURCES.
86245         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
86246         redundant through BUILT_SOURCES.
86247         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
86248         redundant through BUILT_SOURCES.
86249         * modules/stdbool (Makefile.am): Remove explicit dependency on
86250         $(STDBOOL_H), redundant through BUILT_SOURCES.
86251         * modules/stdint (Makefile.am): Remove explicit dependency on
86252         $(STDINT_H), redundant through BUILT_SOURCES.
86253         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
86254         Remove explicit dependency on $(SYSEXITS_H).
86255         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
86256
86257 2005-07-18  Simon Josefsson  <jas@extundo.com>
86258
86259         * lib/check-version.c (check_version): Accept identical versions too.
86260
86261 2005-07-18  Bruno Haible  <bruno@clisp.org>
86262
86263         * modules/lock: New file.
86264         * MODULES.html.sh (Multithreading): New section.
86265
86266 2005-07-18  Bruno Haible  <bruno@clisp.org>
86267
86268         * m4/lock.m4: New file, from GNU gettext.
86269
86270 2005-07-18  Bruno Haible  <bruno@clisp.org>
86271
86272         * lib/lock.h: New file, from GNU gettext.
86273         * lib/lock.c: New file, from GNU gettext.
86274
86275 2005-07-18  Bruno Haible  <bruno@clisp.org>
86276
86277         * lib/lock.h (gl_once_t): New type.
86278         (gl_once_define, gl_once): New macros.
86279         * lib/lock.c (fresh_once): New variable.
86280         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
86281         functions.
86282
86283 2005-07-16  Simon Josefsson  <jas@extundo.com>
86284
86285         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
86286         workaround, suggested by Bruno.
86287
86288 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86289
86290         * modules/xalloc (Depends-on): Add xalloc-die.
86291         * modules/xvasprintf (Depends-on): Add xalloc-die.
86292
86293 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86294
86295         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
86296         with a minor change.
86297
86298 2005-07-15  Bruno Haible  <bruno@clisp.org>
86299
86300         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
86301         When using lib/poll.c, define poll as rpl_poll.
86302
86303 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
86304
86305         * modules/argp (Depends-on): Remove unlocked-io.
86306
86307 2005-07-14  Derek Price  <derek@ximbiot.com>
86308
86309         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
86310         for glob symlink bug.
86311
86312 2005-07-14  Bruno Haible  <bruno@clisp.org>
86313
86314         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
86315         Instead, test for *_unlocked function declarations directly.
86316
86317 2005-07-11  Simon Josefsson  <jas@extundo.com>
86318
86319         * modules/size_max: New file.
86320
86321         * modules/xsize: Depend on size_max module for size_max.m4.
86322
86323 2005-07-11  Simon Josefsson  <jas@extundo.com>
86324
86325         * lib/size_max.h: New file.
86326
86327 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
86328
86329         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
86330         copyright symbol and the year.
86331         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
86332         (version_etc_va): Use parameterized copyright notice.
86333         Reword to conform to the current GNU coding standards.
86334
86335 2005-07-11  Karl Berry  <karl@gnu.org>
86336
86337         * doc/gnulib.texi (Quoting): new node.
86338         (Initial import): more info, from Patrice.
86339
86340 2005-07-11  Bruno Haible  <bruno@clisp.org>
86341
86342         * gnulib-tool (func_usage): Document option --avoid.
86343         (Command line options): Handle --avoid.
86344         (func_acceptable): New function.
86345         (func_modules_transitive_closure): Use it.
86346
86347 2005-07-11  Bruno Haible  <bruno@clisp.org>
86348
86349         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
86350         Reported by Jim Meyering.
86351
86352 2005-07-10  Bruno Haible  <bruno@clisp.org>
86353
86354         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
86355         Needed when size_t is smaller than 'unsigned int'.
86356         Reported by Paul Eggert.
86357
86358 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86359
86360         * modules/argp (Depends-on): Add unlocked-io
86361
86362 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86363
86364         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
86365         block of defines.
86366
86367 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
86368
86369         * config/srclist.txt: Comment out regcomp.c, since we have a porting
86370         fix now.
86371
86372 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
86373         and Paul Eggert  <eggert@cs.ucla.edu>
86374
86375         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
86376         in wint_t, not wchar_t.  Remove now-unnecessary cast.
86377
86378 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86379
86380         * modules/regex (Files): Add lib/regex_internal.c,
86381         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
86382         (Depends-on): Add extensions.
86383         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
86384
86385 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86386
86387         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
86388         pathconf.
86389         * m4/same.m4 (gl_SAME): Likewise.
86390         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
86391
86392         * m4/regex.m4: Adjust to new libc regex implementation.
86393         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
86394         all the .c and .h parts of (the new) regex.
86395         Quote the m4 stuff better.
86396         Check for RE_ICASE bug of old gnulib.
86397         Check for REG_STARTEND of recent libc.
86398         Rename local variables from jm_* to gl_*.
86399         Quote operand of "test -f".
86400         Say "recent enough" version of libc, not "version 2".
86401         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
86402         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
86403         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
86404         Remove check for btowc, isascii.
86405         Require AM_LANGINFO_CODESET.
86406
86407 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86408
86409         * lib/regex.c, regex.h: Sync from libc.
86410         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
86411         * lib/regexec.c:
86412         New files, synced from libc, except that regex_internal.h
86413         currently has a small porting fix.
86414
86415 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86416
86417         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
86418         regex_internal.c, regexec.c.
86419         Add regex_internal.h too, but as a comment, since the libc version
86420         is currently broken in gnulib mode.
86421
86422 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
86423
86424         Support programs like Emacs that use gnulib but not gettext.
86425         * MODULES.html.sh (Internationalization functions): Add gettext-h.
86426         * modules/gettext-h: New file.
86427         * modules/gettext (Files): Remove lib/gettext.h.
86428         (Depends-on): Add gettext-h.
86429         (Makefile.am): Remove lib_SOURCES.
86430         * modules/argmatch, modules/c-stack, modules/closeout:
86431         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
86432         * modules/execute, modules/file-type, modules/getaddrinfo:
86433         * modules/getopt, modules/human, modules/javacomp:
86434         * modules/javaexec, modules/mkdir-p, modules/obstack:
86435         * modules/openat, modules/pagealign_alloc, modules/pipe:
86436         * modules/quotearg, modules/regex, modules/rpmatch:
86437         * modules/unicodeio, modules/userspec, modules/version-etc:
86438         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
86439         * modules/xsetenv:
86440         Depend on gettext-h, not gettext.
86441
86442 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
86443
86444         * gnulib-tool (func_import): Add support for 'public domain' license.
86445         * modules/alloca, modules/atexit, modules/memmove:
86446         Now public domain, not GPL.
86447         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
86448         * modules/realloc, modules/strerror, modules/strtod:
86449         Now LGPL, not GPL.
86450
86451 2005-07-05  Bruno Haible  <bruno@clisp.org>
86452
86453         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
86454         autoconf CVS. Needed for mingw.
86455
86456 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86457
86458         Remove the dependency of the strftime module on the tzset module.
86459         * modules/strftime (Depends-on): Remove dependency on tzset.
86460
86461 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86462
86463         Remove the dependency of the strftime module on the tzset module.
86464         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
86465         gl_FUNC_TZSET_CLOBBER.
86466
86467 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86468
86469         Remove the dependency of the strftime module on the tzset module.
86470         * lib/strftime.c (my_strftime)
86471         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
86472         Copy the input structure, to work around some of the bug with
86473         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
86474         Solaris releases, you should also use the tzset module, but we won't
86475         require it as a dependency any more since we don't want LGPLed code
86476         to depend on GPLed code.
86477
86478 2005-07-02  Jim Meyering  <jim@meyering.net>
86479
86480         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
86481         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
86482         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
86483         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
86484
86485 2005-07-02  Jim Meyering  <jim@meyering.net>
86486
86487         * lib/backupfile.c (backup_args): Change a `0' to NULL.
86488
86489 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
86490
86491         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
86492         declares only 'struct timespec;' (!).
86493
86494 2005-07-01  Jim Meyering  <jim@meyering.net>
86495
86496         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
86497         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
86498         * lib/save-cwd.c, tempname.c:
86499         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
86500         and don't include <sys/file.h>).
86501
86502 2005-06-29  Jim Meyering  <jim@meyering.net>
86503
86504         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
86505         type name.  Use the variable name instead.
86506         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
86507         Likewise.
86508
86509 2005-06-28  Simon Josefsson  <jas@extundo.com>
86510
86511         * modules/check-version (Files): Add check-version.m4.
86512
86513 2005-06-28  Simon Josefsson  <jas@extundo.com>
86514
86515         * m4/check-version.m4: New file, suggested by Jim Meyering
86516         <jim@meyering.net>.
86517
86518 2005-06-28  Simon Josefsson  <jas@extundo.com>
86519
86520         * lib/check-version.h, lib/check-version.c: New files.
86521
86522 2005-06-28  Simon Josefsson  <jas@extundo.com>
86523
86524         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
86525         collision with global variable.  Better indentation.  Don't
86526         increment buffer pointer beyond buffer end.  Based on comments
86527         from Paul Eggert <eggert@cs.ucla.edu>.
86528
86529         * lib/base64.h: Indent.
86530
86531 2005-06-28  Simon Josefsson  <jas@extundo.com>
86532
86533         * doc/gnulib.texi (Library version handling): New section.
86534
86535 2005-06-28  Jim Meyering  <jim@meyering.net>
86536
86537         * check-module (find_included_lib_files): Hard-code another
86538         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
86539         but modules/fts-lgpl (correctly) does not list those files.
86540
86541         * modules/canonicalize (Files): Add lib/pathmax.h.
86542
86543 2005-06-25  Simon Josefsson  <jas@extundo.com>
86544
86545         * modules/check-version: New file.
86546
86547 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
86548
86549         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
86550         initializer of struct addrinfo, as an indication that we don't
86551         care how many members the structure has.
86552
86553 2005-06-24  Derek Price  <derek@ximbiot.com>
86554         and Bruno Haible  <bruno@clisp.org>
86555
86556         Remove stat module & update lstat.
86557         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
86558         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
86559         * m4/stat.m4: Remove this file.
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         * lib/stat.c: Remove this file...
86566         (slash_aware_lstat): ...moving this content and its support...
86567         * lib/lstat.c (rpl_lstat): ...into here.
86568         * lib/lstat.h: New file.
86569
86570 2005-06-24  Derek Price  <derek@ximbiot.com>
86571         and Bruno Haible  <bruno@clisp.org>
86572
86573         Remove stat module & update lstat.
86574         * config/srclist.txt (libc sources): Remove stat.
86575
86576 2005-06-24  Derek Price  <derek@ximbiot.com>
86577         and Bruno Haible  <bruno@clisp.org>
86578
86579         Remove stat module & update lstat.
86580         * MODULES.html.sh (stat): Remove.
86581         * MODULES.html: Regenerated.
86582         * modules/lstat (Description): Correct function name.
86583         (Files): Add "lstat.h".
86584         (Depends-on): Remove stat, add xalloc, stat-macros.
86585         * modules/stat: Remove this file.
86586         (Include): Add "lstat.h", remove <sys/stat.h>.
86587
86588 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86589
86590         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
86591         (ranged_convert): Don't save conversion in a temporary struct.
86592         This causes a warning with GCC 4.0.0, and anyway in the typical
86593         case it's not worth the extra 100 bytes or so of code.
86594         (ranged_convert, __mktime_internal): When calling a function via a
86595         pointer P, use P () rather than (*P) (), as we now assume C89 or
86596         better.
86597
86598 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86599
86600         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
86601         "who -r" failed to give output.  Problem reported by Tim Waugh.
86602
86603         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
86604         (xcalloc): Use it to avoid needless tests.
86605         Problem reported by Jim Meyering.
86606
86607 2005-06-20  Derek Price  <derek@ximbiot.com>
86608
86609         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
86610         unnecessary for Autoconfs > 2.59c.
86611
86612 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86613
86614         * lib/argp.h (__option_is_short): Check upper limit of
86615         __key. Isprint() requires its argument to have the value
86616         of an unsigned char or EOF.
86617
86618 2005-06-16  Jim Meyering  <jim@meyering.net>
86619
86620         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
86621         when either N or S is zero.
86622
86623 2005-06-16  Derek Price  <derek@ximbiot.com>
86624
86625         * m4/bison.m4: Declare YACC & YFLAGS precious.
86626
86627 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
86628
86629         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
86630         multibyte string or pattern, fall back on unibyte matching.
86631         Problem reported by James Youngman.
86632
86633 2005-06-08  Bruno Haible  <bruno@clisp.org>
86634
86635         * modules/csharpcomp: New file.
86636         * MODULES.html.sh (C#): Add csharpcomp.
86637
86638 2005-06-08  Bruno Haible  <bruno@clisp.org>
86639
86640         * m4/csharpcomp.m4: New file, from GNU gettext.
86641
86642 2005-06-08  Bruno Haible  <bruno@clisp.org>
86643
86644         * lib/csharpcomp.h: New file, from GNU gettext.
86645         * lib/csharpcomp.c: New file, from GNU gettext.
86646         * lib/csharpcomp.sh.in: New file, from GNU gettext.
86647
86648 2005-06-08  Bruno Haible  <bruno@clisp.org>
86649
86650         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
86651         warning on mingw.
86652
86653 2005-06-07  Derek Price  <derek@ximbiot.com>
86654
86655         Sync from CVS.
86656         * lib/glob_.h: Indent nested #ifdef.
86657
86658 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86659
86660         Sync from coreutils.
86661         Use "file name" when talking about file names, instead of "filename"
86662         or "path", as per the GNU coding standards.
86663         * lib/mkdir-p.c: Renamed from makepath.c.
86664         (make_dir_parents): Renamed from make_path.  All callers changed.
86665         * lib/mkdir-p.h: Likewise.  All includers changed.
86666         * lib/filenamecat.c: Renamed from path-concat.c.
86667         (file_name_concat): Renamed from path_concat.  All callers changed.
86668         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
86669         * lib/filenamecat.h: Likewise.  All includers changed.
86670         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
86671         in comments or local variable names.
86672         * lib/basename.c: Likewise.
86673         * lib/canonicalize.c, canonicalize.h: Likewise.
86674         * lib/dirname.c, dirname.h: Likewise.
86675         * lib/euidaccess.c: Likewise.
86676         * lib/exclude.c: Likewise
86677         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
86678         * lib/fsusage.c, fsuage.h: Likewise.
86679         * lib/fts.c, fts_.h: Likewise.
86680         * lib/getcwd.c: Likewise.
86681         * lib/getloadavg.c: Likewise.
86682         * lib/mkstemp.c: Likewise.
86683         * lib/mountlist.c, mountlist.h: Likewise.
86684         * lib/openat.c, openat.h: Likewise.
86685         * lib/readlink-stub.c: Likewise.
86686         * lib/readutmp.c, readutmp.h: Likewise.
86687         * lib/rename.c: Likewise.
86688         * lib/rmdir.c: Likewise.
86689         * lib/same.c: Likewise.
86690         * lib/savedir.c: Likewise.
86691         * lib/stripslash.c: Likewise.
86692         * lib/tempname.c: Likewise.
86693         * lib/xreadlink.c: Likewise.
86694         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
86695         All uses changed.
86696         * lib/exclude.h: Likewise.
86697
86698         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
86699         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86700         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
86701         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86702         * lib/pathmax.h: Include <limits.h> unconditionally, since other
86703         files have been getting away with it for years (MORE/BSD 4.3
86704         is extinct now).
86705         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
86706         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
86707
86708         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
86709         Define to 256, not 255, as per modern POSIX.
86710
86711 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86712
86713         Sync from coreutils.
86714         Use "file name" when talking about file names, instead of "filename"
86715         or "path", as per the GNU coding standards.
86716         * MODULES.html.sh: mkdir-p renamed from makepath.
86717         filenamecat renamed from path-concat.
86718         * modules/filenamecat: Renamed from modules/path-concat.
86719         (Files): filenamecat.h and filenamecat.c renamed from
86720         path-concat.h and path-concat.c.
86721         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
86722         (Include): filenamecat.h, not path-concat.h.
86723         * modules/mkdir-p: Renamed from modules/makepath.
86724         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
86725         makepath.c.
86726         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
86727         (Include): mkdir-p.h, not makepath.h.
86728
86729 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86730
86731         Sync from coreutils.
86732         * m4/mkdir-p.m4: Renamed from makepath.m4.
86733         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
86734         Rename files from makepath.c to mkdir-p.c, and from
86735         makepath.h to mkdir-p.h.
86736         * m4/filenamecat.m4: Renamed from path-concat.m4.
86737         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
86738         Rename files from path-concat.c to filenamecat.c,
86739         and from path-concat.h to filenamecat.h.
86740         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
86741         "file name" in local variables or comments.
86742         * m4/rename.m4: Likewise.
86743
86744 2005-06-01  Bruno Haible  <bruno@clisp.org>
86745
86746         * modules/csharpexec: New file.
86747         * MODULES.html.sh (C#): New section.
86748
86749 2005-06-01  Bruno Haible  <bruno@clisp.org>
86750
86751         * m4/csharp.m4: New file, from GNU gettext.
86752         * m4/csharpexec.m4: New file, from GNU gettext.
86753
86754 2005-06-01  Bruno Haible  <bruno@clisp.org>
86755
86756         * lib/csharpexec.h: New file, from GNU gettext.
86757         * lib/csharpexec.c: New file, from GNU gettext.
86758         * lib/csharpexec.sh.in: New file, from GNU gettext.
86759
86760 2005-05-31  Derek Price  <derek@ximbiot.com>
86761             Paul Eggert  <eggert@cs.ucla.edu>
86762
86763         Sync from cvs.
86764         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
86765
86766 2005-05-31  Derek Price  <derek@ximbiot.com>
86767             Paul Eggert  <eggert@cs.ucla.edu>
86768
86769         Sync from cvs.
86770         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
86771
86772 2005-05-29  Derek Price  <derek@ximbiot.com>
86773
86774         * config/srclist.txt (glob_.h, glob.c): Add these files.
86775
86776 2005-05-29  Derek Price  <derek@ximbiot.com>
86777
86778         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
86779         * modules/glob: New file.
86780         * modules/getlogin_r: Add link to POSIX spec in description.
86781
86782 2005-05-29  Derek Price  <derek@ximbiot.com>
86783             Paul Eggert  <eggert@cs.ucla.edu>
86784
86785         * m4/glob.m4: New file.
86786
86787 2005-05-29  Derek Price  <derek@ximbiot.com>
86788             Paul Eggert  <eggert@cs.ucla.edu>
86789
86790         * lib/glob_.h, lib/glob.c: New files.
86791
86792 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86793
86794         * modules/fts (Files): Remove m4/inttypes-pri.m4.
86795         * modules/fts-lgpl (Depends-on): Remove gettext.
86796
86797 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86798
86799         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
86800         and don't require gt_INTTYPES_PRI.
86801
86802 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
86803
86804         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
86805
86806         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
86807         the configuration hassle isn't worth it.
86808         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
86809         (LONGEST_MODIFIER, PRIuMAX): Remove.
86810
86811 2005-05-27  Bruno Haible  <bruno@clisp.org>
86812
86813         * lib/getlogin_r.h: Remove second include of <stddef.h>.
86814
86815 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
86816
86817         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
86818         _POSIX_PTHREAD_SEMANTICS for Solaris.
86819
86820 2005-05-25  Derek Price  <derek@ximbiot.com>
86821
86822         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
86823
86824 2005-05-25  Derek Price  <derek@ximbiot.com>
86825             Paul Eggert  <eggert@cs.ucla.edu>
86826
86827         * modules/getlogin_r, m4/getlogin_r.m4: New files.
86828         * lib/getlogin_r.c, getlogin_r.h: New files.
86829
86830 2005-05-25  Bruno Haible  <bruno@clisp.org>
86831             Derek Price  <derek@ximbiot.com>
86832
86833         * lib/getlogin_r.h: Simplify API documentation.
86834
86835 2005-05-23  Derek Price  <derek@ximbiot.com>
86836
86837         * modules/minmax (Files): Add m4/minmax.m4.
86838         (configure.ac): Add gl_MINMAX.
86839
86840 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
86841
86842         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
86843         so that unistd-safer.h (GPL'ed code) need not be included.
86844
86845 2005-05-22  Bruno Haible  <bruno@clisp.org>
86846
86847         * m4/minmax.m4: New file.
86848         Based on a patch by Derek Price <derek@ximbiot.com>.
86849
86850 2005-05-22  Bruno Haible  <bruno@clisp.org>
86851
86852         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
86853         (INT64_MIN): Fix definition.
86854         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
86855
86856         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
86857         NEED_SIGNED_INT_TYPES.
86858
86859         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
86860         HAVE_SYSTEM_INTTYPES.
86861
86862 2005-05-22  Bruno Haible  <bruno@clisp.org>
86863
86864         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
86865         Also include <sys/param.h> if it defines MIN, MAX.
86866         Based on a patch by Derek Price <derek@ximbiot.com>.
86867
86868 2005-05-21  Jim Meyering  <jim@meyering.net>
86869
86870         * modules/fts (Files): Add m4/inttypes-pri.m4.
86871         (Depends-on): Add lstat and remove gettext.  Alphabetize.
86872
86873 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86874
86875         New fts module.
86876         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
86877         (setup_dir, free_dir): New functions.
86878         (enter_dir, leave_dir): Define trivial
86879         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
86880         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
86881         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
86882         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
86883         Move to fts-cycle.c.
86884         (fts_open): Use setup_dir.
86885         (fts_close): Use free_dir.
86886         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
86887         This adds a label and some gotos, but the alternatives were messier.
86888         Check for memory allocation failure when entering a dir.
86889         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
86890         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
86891         (FTS): New member fts_cycle, that is a union that contains the
86892         old active_dir_ht and cycle_state.  All uses changed to mention
86893         fts_cycle.ht and fts_cycle.state.
86894         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
86895         fts.c, with the following changes:
86896         (setup_dir, free_dir): New functions.
86897         (enter_dir): Now returns bool.  Return true if successful, false
86898         if memory exhausted.  All callers changed.
86899         Do not bother partly cleaning up on
86900         memory allocation failure; that is free_dir's job.
86901         However, free ad if hash_insert fails, to avoid memory leak.
86902         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
86903         fts->fts_options to see which union member to use.
86904
86905 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86906
86907         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
86908         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
86909
86910 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
86911
86912         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
86913
86914 2005-05-20  Jim Meyering  <jim@meyering.net>
86915
86916         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
86917         Now a macro, to pacify GCC.
86918
86919 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
86920
86921         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
86922         of -1.
86923
86924 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
86925
86926         * lib/chown.c (rpl_chown): Return -1 on failure.
86927
86928 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
86929
86930         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
86931         Don't check for stddef.h.
86932         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
86933         don't use its results.
86934         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
86935         since we include them unconditionally.  Don't require
86936         AM_STDBOOL_H, since stdbool is a prerequisite.
86937         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
86938         since we assume C89 or better.
86939         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
86940         as we don't use their results.
86941         Don't check for fchdir, memmove, memset, strrchr, as we use
86942         them unconditionally.
86943         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
86944         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
86945
86946 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
86947
86948         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
86949         Include <stddef.h> unconditionally, since we assume C89 now.
86950         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
86951         * lib/fts.c: Include fts_.h first, to check interface.
86952         Do not include intprops.h; no longer needed.
86953         Include cycle-check.h and hash.h, since fts_.h no longer does.
86954         Remove unnecessary casts of closedir to void.
86955         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
86956         decide whether to decrement nlinks.
86957         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
86958         (FTS): Use struct hash_table * instead of Hash_table, so that
86959         we no longer need to include hash.h here.
86960
86961 2005-05-18  Jim Meyering  <jim@meyering.net>
86962
86963         * modules/dirfd (License): Change to LGPL.  Most of the code
86964         is already in the public domain.
86965
86966 2005-05-18  Jim Meyering  <jim@meyering.net>
86967
86968         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
86969         Reported by Yoann Vandoorselaere.
86970
86971 2005-05-17  Jim Meyering  <jim@meyering.net>
86972
86973         * m4/fts.m4: New file, from coreutils.
86974
86975 2005-05-17  Jim Meyering  <jim@meyering.net>
86976
86977         * lib/fts.c, lib/fts_.h: New files, from coreutils.
86978
86979 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86980
86981         Sync from coreutils.
86982         * m4/unlinkdir.m4: New file.
86983
86984 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86985
86986         Sync from coreutils.
86987         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
86988         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
86989         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
86990         White space changes only.
86991         * lib/makepath.c (make_path): Port to hosts where leading "//" is
86992         special.
86993         * lib/yesno.c: Include getline.h, not ctype.h.
86994         (yesno): Don't remove leading white space; POSIX doesn't allow it.
86995         Use getline to remove arbitrary restriction on response length.
86996
86997 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
86998
86999         * config/srclist-update: Spell out "Street" in FSF postal
87000         mail address; this is the style the FSF seems to prefer.
87001
87002         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
87003         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
87004         this updates FSF postal mail address.
87005
87006         Sync from coreutils.
87007         * modules/unlinkdir: New file.
87008         * modules/yesno (Depends-on): Add getline.
87009         * MODULES.html.sh (File system functions): Add unlinkdir.
87010
87011 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87012
87013         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
87014         lib/strsep.h:
87015         Change the initial comment to refer to GPL, not LGPL.
87016         gnulib-tool will change it to LGPL as needed.
87017
87018         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
87019         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
87020         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
87021         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
87022         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
87023         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
87024         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
87025         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
87026         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
87027         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
87028         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
87029         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
87030         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
87031         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
87032         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
87033         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
87034         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
87035         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
87036         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
87037         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
87038         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
87039         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
87040         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
87041         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
87042         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
87043         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
87044         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
87045         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
87046         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
87047         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
87048         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
87049         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
87050         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
87051         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
87052         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
87053         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
87054         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
87055         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
87056         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
87057         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
87058         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
87059         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
87060         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
87061         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
87062         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
87063         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
87064         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
87065         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
87066         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
87067         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
87068         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
87069         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
87070         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
87071         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
87072         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
87073         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
87074         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
87075         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
87076         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
87077         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
87078         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
87079         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
87080         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
87081         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
87082         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
87083         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
87084         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
87085         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
87086         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
87087         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
87088         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
87089         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
87090         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
87091         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
87092         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
87093         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
87094         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
87095         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
87096         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
87097         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
87098         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
87099         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
87100         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
87101         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
87102         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
87103         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
87104         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
87105         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
87106         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
87107         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
87108         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
87109         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
87110         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
87111         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
87112         lib/yesno.c, lib/yesno.h:
87113         Update FSF postal mail address.
87114
87115 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87116
87117         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
87118         tests/test-memmem.c, tests/test-stpncpy.c:
87119         Update FSF postal mail address.
87120
87121 2005-05-13  Bruno Haible  <bruno@clisp.org>
87122
87123         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
87124         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
87125         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
87126         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
87127         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
87128         Add support for 64-bit integers in the MSVC compiler.
87129
87130 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87131
87132         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
87133
87134 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
87135
87136         * gnulib-tool (func_import): Sort and uniquify recommended includes.
87137
87138 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
87139
87140         * doc/getdate.texi (General date syntax): Don't say that date
87141         date --iso-8601=ns generates acceptable dates; it doesn't yet.
87142         Problem reported by Nic Ferrier.
87143
87144 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87145
87146         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
87147         specified in ai_socktype. Fix invalid ai_protocol
87148         check. ai_protocol is usually set to 0 or depending on
87149         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
87150         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
87151         ai_socktype / ai_protocol in the returned addrinfo structure.
87152
87153 2005-05-10  Simon Josefsson  <jas@extundo.com>
87154
87155         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
87156         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
87157
87158 2005-05-10  Karl Berry  <karl@gnu.org>
87159
87160         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
87161         (from http://www.gnu.org/licenses).
87162         * doc/COPYING.LIB: also rename to COPYING.LESSER.
87163         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
87164         fdl.texi suffices.
87165
87166 2005-05-10  Karl Berry  <karl@gnu.org>
87167
87168         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
87169         (COPYING.DOC): remove.
87170
87171         * config/srclist-update: new FSF address.
87172
87173 2005-05-10  Derek Price  <derek@ximbiot.com>
87174
87175         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
87176         possible.
87177
87178 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87179             Bruno Haible  <bruno@clisp.org>
87180
87181         * modules/inet_ntop: New file.
87182         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87183         inet_ntop.
87184
87185 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87186             Bruno Haible  <bruno@clisp.org>
87187
87188         * m4/inet_ntop.m4: New file.
87189
87190 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87191             Bruno Haible  <bruno@clisp.org>
87192
87193         * lib/inet_ntop.h: New file.
87194         * lib/inet_ntop.c: New file, from glibc with modifications.
87195
87196 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
87197
87198         * modules/time_r (License): Change to LGPL.
87199         * modules/extensions (License): Change to LGPL.  Actually,
87200         the license is more permissive than that, but currently gnulib-tool
87201         doesn't know how to handle more-permissive licenses.
87202
87203         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
87204         Problem reported by Dave Love.
87205
87206 2005-05-08  Jim Meyering  <jim@meyering.net>
87207
87208         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
87209         blank.
87210
87211 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
87212
87213         * modules/argmatch (Depends-on): Add stdbool.
87214         * modules/backupfile (Depends-on): Likewise.
87215         * modules/chdir-long (Depends-on): Likewise.
87216         * modules/closeout (Depends-on): Likewise.
87217         * modules/cycle-check (Depends-on): Likewise.
87218         * modules/dirname (Depends-on): Likewise.
87219         * modules/fnmatch (Depends-on): Likewise.
87220         * modules/fsusage (Depends-on): Likewise.
87221         * modules/fwriteerror (Depends-on): Likewise.
87222         * modules/getcwd (Depends-on): Likewise.
87223         * modules/getloadavg (Depends-on): Likewise.
87224         * modules/hard-locale (Depends-on): Likewise.
87225         * modules/makepath (Depends-on): Likewise.
87226         * modules/mountlist (Depends-on): Likewise.
87227         * modules/nanosleep (Depends-on): Likewise.
87228         * modules/posixtm (Depends-on): Likewise.
87229         * modules/quotearg (Depends-on): Likewise.
87230         * modules/readtokens (Depends-on): Likewise.
87231         * modules/readtokens0 (Depends-on): Likewise.
87232         * modules/readutmp (Depends-on): Likewise.
87233         * modules/save-cwd (Depends-on): Likewise.
87234         * modules/strftime (Depends-on): Likewise.
87235         * modules/userspec (Depends-on): Likewise.
87236         * modules/utimecmp (Depends-on): Likewise.
87237         * modules/xgetcwd (Depends-on): Likewise.
87238         * modules/xnanosleep (Depends-on): Likewise.
87239         * modules/xstrtod (Depends-on): Likewise.
87240         * modules/yesno (Depends-on): Likewise.
87241
87242 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
87243
87244         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
87245         needless checks.
87246
87247 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87248
87249         Merge from coreutils.  Among other things,
87250         add bulletproofing for cases where stdin, stdout, or stderr are closed.
87251         * lib/fd-safer.c: New file.
87252         * lib/fcntl-safer.h, open-safer.c: Remove.
87253         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
87254         * lib/dup-safer.c: Include unistd-safer.h first.
87255         Don't include errno.h.
87256         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
87257         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
87258         * lib/file-type.c: Rely on file-type.h change.
87259         * lib/getloadavg.c: Include unistd-safer.h.
87260         (getloadavg): Use safer open.
87261         * lib/getusershell.c: Include "stdio-safer.h".
87262         (getusershell): Use safer fopen.
87263         * lib/long-options.c (long_options): Use NULL rather than 0.
87264         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
87265         'free'.
87266         * lib/modechange.c: Likewise.
87267         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
87268         (MODE_DONE): New constant.
87269         (struct mode_change): Remove 'next' member.
87270         (make_node_op_equals): New function; like the old one of the
87271         same name, except it allocates an array.
87272         (mode_compile, mode_create_from_ref): Use it.
87273         (mode_compile): Allocate result as an array, not a linked list.
87274         Parse octal string ourself, so that we catch mistakes like "+0".
87275         (mode_adjust): Arg is an array, not a linked list.
87276         * lib/modechange.c: Include stat-macros.h, xalloc.h.
87277         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
87278         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
87279         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
87280         Remove.  This is now stat-macros.h's job.
87281         (talloc): Remove.  All callers replaced by xalloc, so that
87282         our invokers don't have to worry about reporting memory failures.
87283         (make_node_op_equals): Remove.
87284         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87285         New constants.
87286         (struct mode_change): Moved here from modechange.h.
87287         (mode_append_entry): Remove.
87288         (mode_compile): Remove MASKED_OPS arg, since it encouraged
87289         apps to have incorrect behavior.  Use simpler algorithm for head
87290         and tail.  Don't futz with umask; that's now the job of mode_adjust.
87291         Detect more invalid usages rather than having somewhat-random behavior.
87292         Don't insert an "a=" action, as that leads to incorrect behavior.
87293         (mode_compile, mode_create_from_ref): Return NULL on error instead
87294         of an enum, since now there's only one way to have an error.  All
87295         callers changed.
87296         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
87297         at the correct time.  Simplify calculation of "+u" and its ilk.
87298         Don't mishandle "+X".
87299         (mode_free): Remove "register" and localize decls.
87300         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87301         (struct mode_change): Move to modechange.c; callers don't
87302         need to see this stuff.
87303         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
87304         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
87305         (mode_change, mode_adjust): Reflect the new signatures noted above.
87306         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
87307         that might redefine system include files.
87308         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
87309         (my_usleep): Use NULL rather than (void *) 0.
87310         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
87311         Use siginterrupt to specify that system calls should be interrupted.
87312         (rpl_nanosleep): Move initialization of suspended closer to call of
87313         my_usleep.
87314         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
87315         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
87316         (desirable_utmp_entry): New function.
87317         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
87318         using x2nrealloc, to simplify logic.
87319         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
87320         size calculation.  Do not assume utmp file is a regular file.
87321         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
87322         (READ_UTMP_CHECK_PIDS): New constant.
87323         * lib/save-cwd.c: Include unistd-safer.h.
87324         (save_cwd): Use fd_safer.
87325         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
87326         [!_LIBC] Include "stat-macros.h" instead.
87327         * lib/unistd-safer.h (fd_safer): New decl.
87328
87329 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87330
87331         * modules/getloadavg (Depends-on): Add unistd-safer.
87332         * modules/getusershell (Depends-on): Add stdio-safer.
87333         * modules/lstat (Depends-on): Remove xalloc.
87334         * modules/mkstemp (Depends-on): Add stat-macros.
87335         * modules/modechange (Depends-on): Remove xstrtol.
87336         Add stat-macros, xalloc.
87337         * modules/save-cwd (Depends-on): Add unistd-safer.
87338         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
87339         * modules/unistd-safer (Files): Add lib/fd-safer.c
87340         (Makefile.am): Remove lib_SOURCES.
87341
87342         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
87343         Remove fcntl-safer; unistd-safer supersedes it.
87344
87345 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87346
87347         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
87348         AC_HEADER_STAT.
87349         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
87350         (gl_PREREQ_CHOWN): Remove.
87351         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
87352         it.  Don't require AC_HEADER_STAT.
87353         (gl_PREREQ_LSTAT): Remove.
87354         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
87355         Don't require AC_HEADER_STAT.
87356         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
87357         (gl_PREREQ_RMDIR): Remove.
87358         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
87359         mention stat-macros.h or AC_HEADER_STAT, since we'll make
87360         the stat-macros module a prerequisite.
87361         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
87362         * m4/filemode.m4 (gl_FILEMODE): Likewise.
87363         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
87364         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
87365         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
87366         variable names.
87367         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
87368         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
87369         variable prefixes.
87370         * m4/fcntl-safer.m4: Remove.
87371         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
87372         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
87373         Invoke gl_PREREQ_FD_SAFER.
87374         (gl_PREREQ_FD_SAFER): New macro.
87375         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
87376         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
87377         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
87378         Remove duplicate call to AC_LIBOBJ(readutmp).
87379         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
87380
87381         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
87382         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
87383
87384 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87385
87386         * MODULES.html.sh (Misc): Add byteswap.
87387
87388 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87389
87390         * modules/getcwd (Depends-on): Add extensions.
87391         * modules/openat (Depends-on): Likewise.
87392
87393 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87394
87395         * modules/byteswap: New file.
87396
87397 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87398
87399         * m4/byteswap.m4: New file.
87400
87401 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87402
87403         * lib/byteswap_.h: New file.
87404
87405 2005-04-25  Karl Berry  <karl@gnu.org>
87406
87407         * m4/gettext.m4: Update from GNU gettext 0.14.4.
87408
87409 2005-04-25  Albert Chin  <china@thewrittenword.com>
87410
87411         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
87412         Toolkit C bug.
87413
87414 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
87415
87416         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
87417         (func_ln_if_changed): Remove forcibly for no error message
87418         in case file does not exist.
87419
87420 2005-04-19  Simon Josefsson  <jas@extundo.com>
87421
87422         * gnulib-tool (Options): Make --symlink mean --symbolic.
87423
87424 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
87425
87426         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
87427
87428 2005-04-16  Simon Josefsson  <jas@extundo.com>
87429
87430         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
87431
87432 2005-04-15  Simon Josefsson  <jas@extundo.com>
87433
87434         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
87435
87436 2005-04-15  Simon Josefsson  <jas@extundo.com>
87437
87438         * gnulib-tool: Rename --symlink to --symbolic.
87439
87440 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
87441
87442         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
87443         symbolic links to files instead of copying/moving.  Add --aux-dir,
87444         specifying directory relative --dir where auxiliary build tools
87445         are placed.
87446
87447 2005-04-14  Bruno Haible  <bruno@clisp.org>
87448
87449         * modules/allocsa (License): Change to LGPL.
87450         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
87451
87452 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
87453
87454         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
87455         that "UTC +1 second" continues to work.  Problem reported
87456         by Dmitry V. Levin.
87457         (relunit_snumber): New rule.
87458         (relunit): Use it.
87459
87460 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
87461
87462         * lib/getdate.y (universal_time_zone_table): New constant.
87463         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
87464         universal_time_zone_table.
87465         (lookup_zone): Prefer universal_time_zone_table to
87466         local_time_zone_table, so that "GMT" time stamps are allowed in
87467         London during the summer.  Problem reported by Ian Abbott.
87468
87469 2005-04-12  Jim Meyering  <jim@meyering.net>
87470
87471         * lib/human.c (humblock): Set *options even when returning due to
87472         xstrtoumax conversion failure.  Thanks to a used-uninitialized
87473         warning from gcc-4.
87474
87475 2005-04-09  Jim Meyering  <jim@meyering.net>
87476
87477         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
87478         -Wuninitialized: initialize tm0.tm_year.
87479
87480 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
87481
87482         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
87483         count, since there's no maximum.  All uses changed.
87484         Add member dsts_seen.
87485         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
87486         not being INT_MAX.
87487         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
87488         Use pc_rels_seen to decide whether a date is absolute.
87489
87490         * lib/getdate.y (number): Don't overwrite year.
87491         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
87492         check.
87493
87494 2005-04-02  Simon Josefsson  <jas@extundo.com>
87495
87496         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
87497         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
87498
87499 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
87500
87501         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
87502         where no absolute path name can be longer than PATH_MAX.
87503
87504 2005-03-27  Jim Meyering  <jim@meyering.net>
87505
87506         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
87507
87508 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
87509
87510         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
87511         "one's complement" -> "ones' complement" in comment, as per Knuth.
87512         "value of type" -> "type or expression" in comment.
87513         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
87514
87515 2005-03-26  Jim Meyering  <jim@meyering.net>
87516
87517         Comment nits.
87518         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
87519         Correct typos: s/or/of/.
87520
87521 2005-03-26  Jim Meyering  <jim@meyering.net>
87522
87523         * modules/check-include-files: Move to ../ and rename to...
87524         * check-module: ...this.
87525
87526 2005-03-25  Jim Meyering  <jim@meyering.net>
87527
87528         * modules/xvasprintf (Files): Add xalloc.h.
87529
87530 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
87531
87532         * modules/gettext (Files): config/config.rpath ->
87533         build-aux/config.rpath
87534         * modules/iconv (Files): Likewise.
87535         Problem reported by Oskar Liljeblad.
87536
87537 2005-03-23  Jim Meyering  <jim@meyering.net>
87538
87539         * modules/check-include-files: New script to check for
87540         missing dependencies, multiple includes, etc.
87541
87542         * modules/c-strtold (Depends-on): Add xalloc.
87543         * modules/c-strtod (Depends-on): Add xalloc.
87544         * modules/hash (Depends-on): Add xalloc.
87545         (Files): Remove lib/xalloc.h.
87546
87547         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
87548         * modules/userspec (Files): Add lib/inttostr.h.
87549
87550 2005-03-23  Jim Meyering  <jim@meyering.net>
87551
87552         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
87553
87554 2005-03-22  Jim Meyering  <jim@meyering.net>
87555
87556         * modules/stat-macros: New module.
87557         * modules/canonicalize, modules/euidaccess, modules/file-type,
87558         * modules/filemode, modules/lchown, modules/makepath,
87559         * modules/rmdir, modules/stat: Depend on new stat-macros module
87560         rather than listing lib/stat-macros.h manually.
87561         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
87562
87563 2005-03-22  Jim Meyering  <jim@meyering.net>
87564
87565         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
87566
87567 2005-03-22  Bruno Haible  <bruno@clisp.org>
87568
87569         * config/srclist.txt: Replace target directory 'config' with
87570         'build-aux'.
87571         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
87572         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
87573         ../build-aux/.
87574
87575 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
87576
87577         * modules/chdir-long (Depends-on): Add mempcpy.
87578
87579         * modules/acl, modules/backupfile, modules/c-strtod,
87580         modules/c-strtold, modules/canon-host, modules/canonicalize,
87581         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
87582         modules/exclude, modules/exitfail, modules/file-type,
87583         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
87584         modules/getdate, modules/getline, modules/getpagesize,
87585         modules/getpass, modules/getugroups, modules/group-member,
87586         modules/hard-locale, modules/hash, modules/human, modules/idcache,
87587         modules/inttostr, modules/long-options, modules/makepath,
87588         modules/md5, modules/memcasecmp, modules/memcoll,
87589         modules/modechange, modules/mountlist, modules/path-concat,
87590         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
87591         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
87592         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
87593         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
87594         modules/strftime, modules/strndup, modules/strverscmp,
87595         modules/timespec, modules/unlocked-io, modules/userspec,
87596         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
87597         modules/yesno:
87598         Remove lib_SOURCES line from Makefile.am section, as this is now
87599         done automatically by the corresponding Autoconf macro.
87600
87601 2005-03-21  Jim Meyering  <jim@meyering.net>
87602
87603         Changes imported from coreutils.
87604
87605         * lib/cycle-check.c: Don't include xalloc.h.
87606
87607         * lib/path-concat.c: Don't include assert.h.
87608         (path_concat): Remove assertion that would have triggered
87609         for ABASE starting with more than one slash.
87610         Reported by Andreas Schwab.
87611
87612         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
87613         properly when ABASE is an absolute file name.
87614         Correct the description of this function.
87615         Include <assert.h>.
87616         Add an assertion and a test driver.
87617         This fixes a bug introduced on 2004-07-02.
87618         Andreas Schwab reported the resulting failure of cp --parents:
87619         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
87620
87621 2005-03-21  Jim Meyering  <jim@meyering.net>
87622
87623         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
87624         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
87625
87626 2005-03-21  Jim Meyering  <jim@meyering.net>
87627         and  Paul Eggert  <eggert@cs.ucla.edu>
87628
87629         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
87630         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
87631         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
87632         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
87633         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
87634         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
87635         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
87636         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
87637         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
87638         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
87639         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
87640         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
87641         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
87642         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
87643         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
87644         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
87645         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
87646         for these modules.
87647
87648 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
87649
87650         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
87651         (which shouldn't happen), generate nothing instead of returning 0
87652         immediately, so that nstrftime (NULL, ...) doesn't return 0.
87653
87654 2005-03-16  Bruno Haible  <bruno@clisp.org>
87655
87656         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
87657         HAVE_LONGLONG_64BIT.
87658
87659 2005-03-16  Bruno Haible  <bruno@clisp.org>
87660
87661         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
87662         HAVE_LONGLONG_64BIT.
87663
87664 2005-03-16  Bruno Haible  <bruno@clisp.org>
87665
87666         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
87667         HAVE_LONGLONG_64BIT.
87668
87669 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87670
87671         * lib/strftime.c (my_strftime): Prepend space to format so that we can
87672         reliably distinguish strftime failure from empty output on POSIX
87673         hosts.
87674
87675 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87676
87677         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
87678         (iconv_string): Don't guess a size-zero buffer, as that might cause
87679         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
87680         result would be 'too large', where 'too large' is (heuristically)
87681         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
87682         overflow concerns.  This will prevent some unwanted malloc failures
87683         when the inputs are very large.
87684
87685 2005-03-15  Karl Berry  <karl@gnu.org>
87686
87687         * config/srclist.txt (config.rpath): from gettext.
87688         * config/config.rpath: update.
87689
87690 2005-03-15  Bruno Haible  <bruno@clisp.org>
87691
87692         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
87693         to 'negate'.
87694
87695         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
87696         variable.
87697
87698         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
87699         results.
87700
87701 2005-03-14  Simon Josefsson  <jas@extundo.com>
87702
87703         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
87704         <fx@gnu.org>.
87705
87706 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
87707
87708         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
87709         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
87710         intprops.h.
87711         * lib/strtol.c: Likewise.
87712
87713 2005-03-14  Jim Meyering  <jim@meyering.net>
87714
87715         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
87716         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
87717         to be nonzero so that we (and caller) can detect the difference
87718         between a valid zero-length expansion and an error return, even
87719         when the underlying strftime fails before writing anything into
87720         that location.
87721
87722 2005-03-14  Bruno Haible  <bruno@clisp.org>
87723
87724         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
87725         Update from GNU gettext 0.14.3.
87726
87727 2005-03-10  Jim Meyering  <jim@meyering.net>
87728
87729         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
87730
87731 2005-03-10  Jim Meyering  <jim@meyering.net>
87732
87733         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
87734         so that this module works on systems without fchdir.
87735
87736 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
87737
87738         Factor int-properties macros into a single file, except for
87739         glibc-related files.
87740         * lib/intprops.h: New file.
87741         * lib/getloadavg.c: Include it instead of limits.h.
87742         (INT_STRLEN_BOUND): Remove.
87743         * lib/human.c: Include intprops.h.
87744         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
87745         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
87746         302/1000.
87747         * lib/inttostr.h: Include intprops.h instead of limits.h.
87748         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
87749         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
87750         for consistency with intprops.h.
87751         (time_t_is_integer, twos_complement_arithmetic): Use them.
87752         * lib/sig2str.h: Include <signal.h>, intprops.h.
87753         (INT_STRLEN_BOUND): Remove.
87754         * lib/strftime.c (TYPE_SIGNED): Remove.
87755         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
87756         * lib/strtol.c: Adjust comments to match intprops.h.
87757         * lib/userspec.c: Include intprops.h.
87758         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
87759         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
87760         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
87761         instead of rolling our own expressions.
87762         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
87763
87764         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
87765         instead of int.
87766         (my_strftime): Do not mishandle years close to INT_MAX, by doing
87767         the right thing even if adding 1900 would overflow.  Similarly
87768         for tm_mon + 1 and tm_yday + 1.
87769         Make %Y always equivalent to %C%y, and similarly for %G and %g.
87770         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
87771         (DO_SIGNED_NUMBER): New macro.
87772         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
87773
87774 2005-03-07  Bruno Haible  <bruno@clisp.org>
87775
87776         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
87777
87778 2005-03-07  Bruno Haible  <bruno@clisp.org>
87779
87780         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
87781
87782 2005-03-04  Derek R. Price  <derek@ximbiot.com>
87783
87784         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
87785         (func_import): Only replace files via --import when they have actually
87786         changed.
87787
87788 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87789
87790         * m4/mmap-anon.m4: New file.
87791         * m4/pagealign_alloc.m4: New file.
87792
87793 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87794             Bruno Haible  <bruno@clisp.org>
87795
87796         * modules/pagealign_alloc: New file.
87797         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
87798
87799 2005-03-03  Derek R. Price  <derek@ximbiot.com>
87800             Bruno Haible  <bruno@clisp.org>
87801
87802         * lib/pagealign_alloc.h: New file.
87803         * lib/pagealign_alloc.c: New file.
87804
87805 2005-03-03  Bruno Haible  <bruno@clisp.org>
87806
87807         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
87808         Use an all-permissive copyright notice, recommended by RMS.
87809
87810 2005-03-02  Bruno Haible  <bruno@clisp.org>
87811
87812         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
87813         of AIX, the replacement has to be done only after <string.h> is
87814         included, therefore not in config.h. stpncpy.h does the replacement,
87815         and stpncpy.c uses it.
87816
87817 2005-03-02  Bruno Haible  <bruno@clisp.org>
87818
87819         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
87820         stpncpy.c uses it.
87821
87822 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87823
87824         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
87825         The workaround isn't strictly needed for POSIX conformance, and
87826         it's too much of a pain to configure and maintain.  We'll ask
87827         people to fix their kernels instead.
87828         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
87829         (NANOSLEEP_BUG_WORKAROUND): Remove.
87830         (xnanosleep): Remove the workaround.
87831
87832 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87833
87834         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
87835         Reported by Derek Price.
87836         (Include): Add "timespec.h".
87837
87838         * modules/xnanosleep (Depends-on): Remove gethrxtime.
87839
87840 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
87841
87842         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
87843         to detect nanosleep bug.
87844
87845 2005-03-01  Bruno Haible  <bruno@clisp.org>
87846
87847         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
87848
87849 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
87850
87851         * modules/gethrxtime: New file.
87852         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
87853         (Depends-on): Add gethrxtime.
87854         (configure.ac): Add gl_XNANOSLEEP.
87855         (Makefile.am): Remove lib_SOURCES line.
87856
87857 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
87858
87859         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
87860         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
87861
87862 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
87863
87864         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
87865         * lib/timespec.h (gettime): Return void, since it always
87866         succeeds now.  All uses changed.
87867         * lib/gettime.c (gettime): Likewise.
87868         [HAVE_NANOTIME]: Prefer nanotime.
87869         Assume gettimeofday succeeds, as POSIX requires.
87870         Assime time () succeeds, since other code already does.
87871         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
87872         (timespec_subtract): Remove.
87873         (NANOSLEEP_BUG_WORKAROUND): New constant.
87874         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
87875         things considerably.  Use it only on GNU/Linux hosts, since the
87876         workaround shouldn't be needed elsewhere.
87877
87878 2005-02-24  Bruno Haible  <bruno@clisp.org>
87879
87880         * modules/gettext (Files): Add m4/glibc2.m4.
87881
87882 2005-02-24  Bruno Haible  <bruno@clisp.org>
87883
87884         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
87885         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
87886         * m4/progtest.m4:
87887         Update from GNU gettext 0.14.2.
87888         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
87889
87890 2005-02-24  Bruno Haible  <bruno@clisp.org>
87891
87892         * lib/localcharset.c: Update from GNU gettext 0.14.2.
87893         * lib/config.charset: Update from GNU gettext 0.14.2.
87894
87895 2005-02-24  Bruno Haible  <bruno@clisp.org>
87896
87897         * lib/gettext.h: Update from GNU gettext 0.14.2.
87898
87899 2005-02-23  Simon Josefsson  <jas@extundo.com>
87900
87901         * m4/iconvme.m4: New file.
87902
87903 2005-02-23  Jim Meyering  <jim@meyering.net>
87904
87905         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
87906         change.
87907         Thanks to Bruno Haible for catching it.
87908
87909 2005-02-22  Simon Josefsson  <jas@extundo.com>
87910
87911         * modules/iconvme: New file.
87912
87913         * MODULES.html.sh: Add iconvme.
87914
87915 2005-02-22  Simon Josefsson  <jas@extundo.com>
87916
87917         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
87918
87919 2005-02-22  Simon Josefsson  <jas@extundo.com>
87920
87921         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
87922
87923 2005-02-22  Jim Meyering  <jim@meyering.net>
87924
87925         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
87926         s/ifndef/ifdef/.
87927
87928 2005-02-20  Neil Conway  <neilc@samurai.com>
87929
87930         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
87931         returned by OSX/Darwin if the specified buffer is not large
87932         enough for the hostname.
87933
87934 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87935
87936         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
87937         pass it to _help, otherwise the latter coredumps trying to
87938         dereference state.root_argp.
87939
87940 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87941
87942         * modules/chdir-long (Depends-on): Add memrchr.
87943         * modules/memrchr (Files): Add lib/memrchr.h.
87944         (Include): "memrchr.h".
87945
87946 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87947
87948         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
87949
87950 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
87951
87952         * lib/memrchr.h: New file.
87953         * lib/chdir-long.c: Include it.
87954         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
87955         Don't bother including stddef.h.
87956
87957 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
87958
87959         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
87960         inclusion.
87961         Include <sys/types.h>, for dev_t.
87962         (ME_DUMMY, ME_REMOTE): Move from here....
87963         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
87964         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
87965         Dmitry V. Levin.
87966         Include mountlist.h first, to test the interface.
87967
87968 2005-01-29  Bruno Haible  <bruno@clisp.org>
87969
87970         * lib/progname.c (program_name): Initialize.
87971         Needed when linking statically on MacOS X.
87972
87973 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
87974
87975         Sync from coreutils.
87976         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
87977         (Depends-on): Add c-strtod.
87978         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
87979
87980 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
87981
87982         Sync from coreutils.
87983         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
87984
87985         Remove files that are specific to coreutils.
87986         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
87987
87988 2005-01-28  Bruno Haible  <bruno@clisp.org>
87989
87990         * modules/javacomp: New file.
87991         * MODULES.html.sh (Java): Add javacomp.
87992
87993 2005-01-28  Bruno Haible  <bruno@clisp.org>
87994
87995         * m4/javacomp.m4: New file, from GNU gettext.
87996
87997 2005-01-28  Bruno Haible  <bruno@clisp.org>
87998
87999         * lib/javacomp.sh.in: New file, from GNU gettext.
88000         * lib/javacomp.h: New file, from GNU gettext.
88001         * lib/javacomp.c: New file, from GNU gettext.
88002
88003 2005-01-26  Simon Josefsson  <jas@extundo.com>
88004
88005         * lib/gai_strerror.c: Use GPL in header.
88006
88007 2005-01-26  Bruno Haible  <bruno@clisp.org>
88008
88009         * modules/javaexec: New file.
88010         * MODULES.html.sh (Java): Add javaexec.
88011
88012 2005-01-26  Bruno Haible  <bruno@clisp.org>
88013
88014         * m4/javaexec.m4: New file, from GNU gettext.
88015
88016 2005-01-26  Bruno Haible  <bruno@clisp.org>
88017
88018         * lib/javaexec.sh.in: New file, from GNU gettext.
88019         * lib/javaexec.h: New file, from GNU gettext.
88020         * lib/javaexec.c: New file, from GNU gettext.
88021
88022 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88023
88024         * modules/lchown (Depends-on): Remove lchown.h
88025
88026 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88027
88028         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
88029         must be defined if the header file was not found, in order
88030         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
88031
88032 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88033
88034         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
88035         initializers for struct pentry_state.
88036         (__argp_error): Check return value of __asprintf
88037         (__argp_failure): Translate error message
88038
88039         * lib/argp-parse.c: Removed braces around the expansion of N_()
88040
88041 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
88042
88043         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
88044         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
88045         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
88046         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
88047         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
88048         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
88049         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
88050         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
88051         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
88052         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
88053         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
88054         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
88055         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
88056         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
88057         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
88058         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
88059         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
88060         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
88061         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
88062         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
88063         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
88064         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
88065         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
88066         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
88067         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
88068         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
88069         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
88070         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
88071         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
88072         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
88073         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
88074         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
88075         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
88076         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
88077         xstrtol.m4, xstrtoumax.m4, yesno.m4:
88078         Use an all-permissive copyright notice, recommended by RMS.
88079
88080 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
88081
88082         * modules/chdir-long (Depends-on): Remove mempcpy.
88083
88084 2005-01-21  Jim Meyering  <jim@meyering.net>
88085
88086         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
88087         same value as for Solaris 9.
88088
88089         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
88090         component length.  This included changing the parameter to be
88091         of type `char *' rather than `char const *'.
88092         * lib/chdir-long.h (chdir_long): Update prototype.
88093
88094         * lib/openat.c (fdopendir, fstatat): New functions.
88095         * lib/openat.h: Include headers required for use of DIR and struct
88096         stat.
88097         [AT_SYMLINK_NOFOLLOW]: Define.
88098         (fdopendir, fstatat): Add prototypes.
88099
88100 2005-01-21  Bruno Haible  <bruno@clisp.org>
88101
88102         * modules/classpath: New file.
88103         * MODULES.html.sh (Java): Add classpath.
88104
88105 2005-01-21  Bruno Haible  <bruno@clisp.org>
88106
88107         * lib/classpath.h: New file, from GNU gettext.
88108         * lib/classpath.c: New file, from GNU gettext.
88109
88110 2005-01-20  Simon Josefsson  <jas@extundo.com>
88111
88112         * modules/version-etc-fsf: New file.
88113
88114 2005-01-20  Simon Josefsson  <jas@extundo.com>
88115
88116         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
88117         * lib/version-etc.c: Remove version_etc_copyright.
88118         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
88119         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
88120
88121 2005-01-20  Simon Josefsson  <jas@extundo.com>
88122
88123         * lib/base64.h (isbase64): Add.
88124
88125         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
88126         using a unsigned prototype, don't inline.
88127         (base64_decode): Use it.
88128
88129 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88130
88131         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
88132         it.
88133
88134 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88135
88136         * lib/save-cwd.c (save_cwd): Remove code to support the case
88137         where fchdir is missing or flaky.
88138
88139 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88140
88141         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
88142
88143 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
88144
88145         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
88146         AC_LIBSOURCES now does this.
88147         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
88148         with new ullong_max module.
88149
88150 2005-01-19  Bruno Haible  <bruno@clisp.org>
88151
88152         * modules/sh-quote: New file.
88153         * MODULES.html.sh (Executing programs): Add sh-quote.
88154
88155 2005-01-19  Bruno Haible  <bruno@clisp.org>
88156
88157         * lib/sh-quote.h: New file, from GNU gettext.
88158         * lib/sh-quote.c: New file, from GNU gettext.
88159
88160 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88161
88162         Merge from coreutils.
88163         * m4/ullong_max.m4: New file.
88164         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
88165         (gl_MACROS): Assume localeconv exists.
88166
88167 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88168
88169         Merge changes from coreutils, as described below in several
88170         changelogs dated today.
88171
88172         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
88173         (O_DIRECTORY): Remove; not needed here, since "." must be
88174         a directory.  All uses removed.
88175         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
88176         universal on Suns, and we also need to test for IRIX.
88177         Revamp code to use 'if' rather than '#if'.
88178         Avoid unnecessary comparison of cwd->desc to 0.
88179
88180         * lib/utimens.c (futimens): Robustify the previous patch, by checking
88181         for known valid error numbers rather than observed invalid ones.
88182
88183 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88184
88185         * modules/ullong_max: New file.
88186
88187         * modules/chdir-long, modules/openat: New files.
88188         * modules/save-cwd (Depends-on): Depend on chdir-long.
88189         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
88190
88191 2005-01-18  Jim Meyering  <jim@meyering.net>
88192
88193         Merge from coreutils.
88194         * m4/chdir-long.m4, m4/openat.m4: New files.
88195         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
88196         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
88197         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
88198         is sane and DOES follow symlinks.  Besides, testing 20 different
88199         systems found no broken chown implementations.
88200         Prompted by a change in rsync's copy of this macro.
88201         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
88202
88203         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
88204
88205         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
88206         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
88207         NULL-means-set-to-current-time semantics.
88208         Remove temporary file immediately, rather than waiting
88209         for configure's at-exit trap code to do it.
88210
88211 2005-01-18  Jim Meyering  <jim@meyering.net>
88212
88213         * lib/version-etc.c (version_etc_copyright): Update copyright date.
88214
88215         * lib/utimens.c (futimens): Account for the fact that futimes
88216         can also fail with errno == ENOSYS or errno == ENOENT.
88217         Patch from Dmitry V. Levin.
88218
88219         Change the name of the robust chdir function from chdir to chdir_long.
88220         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
88221         (restore_cwd): Use chdir_long, not chdir.
88222         * lib/chdir-long.c: Renamed from chdir.c.
88223         * lib/chdir-long.h: Renamed from chdir.h.
88224         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
88225         Hurd.
88226
88227 2005-01-18  Bruno Haible  <bruno@clisp.org>
88228
88229         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
88230         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
88231         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
88232         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
88233         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
88234         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
88235         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
88236         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
88237         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
88238         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
88239         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
88240         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
88241         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
88242         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
88243         Use an all-permissive copyright notice, recommended by RMS.
88244
88245 2005-01-18  Bob Proulx  <bob@proulx.com>
88246
88247         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
88248         simplify offsetof() macro construct to avoid compile failure with
88249         native HP-UX 11.0 ANSI C compiler.
88250
88251 2005-01-17  Bruno Haible  <bruno@clisp.org>
88252
88253         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
88254         redundant because stpncpy.m4 takes care of it.
88255
88256 2005-01-17  Bruno Haible  <bruno@clisp.org>
88257
88258         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
88259
88260 2005-01-17  Bruno Haible  <bruno@clisp.org>
88261
88262         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
88263         used.
88264
88265 2005-01-17  Bruno Haible  <bruno@clisp.org>
88266
88267         * lib/fwriteerror.h (fwriteerror): Change specification to include
88268         fclose.
88269         * lib/fwriteerror.c: Include <stdbool.h>.
88270         (fwriteerror): At the end, close the file stream. Record whether
88271         stdout was already closed.
88272
88273 2005-01-17  Bruno Haible  <bruno@clisp.org>
88274
88275         * lib/execute.c (environ): Declare if needed.
88276         * lib/pipe.c (environ): Likewise.
88277         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
88278
88279 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88280
88281         * modules/argp: Depend on vsnprintf
88282
88283 2005-01-10  Jim Meyering  <jim@meyering.net>
88284
88285         * modules/closeout (Depends-on): Add atexit.
88286
88287 2005-01-06  Bruno Haible  <bruno@clisp.org>
88288
88289         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
88290
88291 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
88292
88293         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
88294         definitions to be after all include files, to avoid collisions.
88295         Problem reported by Bob Proulx.
88296
88297 2005-01-04  Jim Meyering  <jim@meyering.net>
88298
88299         Changes imported from coreutils.
88300         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
88301         as the mkstemp template, use a temporary directory and an
88302         8.3-friendly template to avoid trouble on systems like DJGPP.
88303         Reported by Juan M. Guerrero via Stepan Kasal.
88304         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
88305         close. Remove the temporary directory right away, rather than waiting
88306         for configure's at-exit trap code to do it.
88307         Suggestion from Stepan Kasal.
88308
88309 2005-01-01  Simon Josefsson  <jas@extundo.com>
88310
88311         * gnulib-tool: Print #include directives when --import'ing.
88312
88313 2004-12-28  Simon Josefsson  <jas@extundo.com>
88314
88315         * tests/test-base64.c: Include required header files.  Remove
88316         unused variables.
88317
88318 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88319
88320         * modules/error (Depends-on): Remove gettext.
88321
88322 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88323
88324         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
88325         not needed.  This removes a dependency on the gettext module.
88326         [defined _LIBC]: Do not include <libintl.h>; not needed.
88327
88328 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88329
88330         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
88331         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
88332
88333 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88334
88335         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
88336         HAVE_DECL_STRTOLD.
88337
88338 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88339
88340         * modules/getdate (Depends-on): Remove alloca-opt.
88341
88342 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88343
88344         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
88345
88346 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88347
88348         * lib/argp-parse.c: Include <stddef.h>.
88349         (alignof, alignto): New macros.
88350         (parser_init): Don't assume that void * is aligned sufficiently
88351         for struct option.
88352
88353         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
88354         need to extend the stack.
88355         (YYINITDEPTH): New macro, so that the initial stack isn't overly
88356         large.
88357
88358 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88359
88360         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
88361
88362 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88363
88364         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
88365         (2004-10-24) change.  Apparently this was a false alarm.
88366
88367         * modules/getdate: Depend on alloca-opt, not alloca.
88368
88369 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88370
88371         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
88372         Remove now-obsolete comment about AIX.
88373         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
88374         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
88375         (YYMAXDEPTH): New macro.
88376
88377 2004-12-18  Simon Josefsson  <jas@extundo.com>
88378
88379         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
88380
88381 2004-12-18  Bruno Haible  <bruno@clisp.org>
88382
88383         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
88384
88385 2004-12-18  Bruno Haible  <bruno@clisp.org>
88386
88387         * lib/fatal-signal.c (fatal_signals): Make non-const.
88388         (init_fatal_signals): New function.
88389         (uninstall_handlers, install_handlers): Ignore signals that were set to
88390         SIG_IGN.
88391         (at_fatal_signal): Call init_fatal_signals.
88392         (init_fatal_signal_set): Likewise. Ignore signals that were set to
88393         SIG_IGN.
88394         Reported by Paul Eggert.
88395
88396 2004-12-18  Bruno Haible  <bruno@clisp.org>
88397
88398         * doc/alloca.texi: New file.
88399         * doc/alloca-opt.texi: New file.
88400
88401 2004-12-17  Jim Meyering  <jim@meyering.net>
88402
88403         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
88404         Otherwise, install-sh could exit with improper exit status when
88405         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
88406
88407 2004-12-16  Simon Josefsson  <jas@extundo.com>
88408
88409         * tests/test-base64.c: Add license.
88410
88411 2004-12-15  Stepan Kasal  <address@hidden>
88412
88413         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
88414
88415 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
88416
88417         * modules/getcwd (Files): Add m4/d-ino.m4.
88418         Suggested by Mark D. Baushke.
88419
88420 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88421
88422         * lib/getdate.y (textint): New member "negative".
88423         (time_zone_hhmm): New function.
88424         Expect 14 shift-reduce conflicts, not 13.
88425         (o_colon_minutes): New rule.
88426         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
88427         (yylex): Set the "negative" member of signed numbers.
88428
88429 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88430
88431         * doc/getdate.texi (Time of day items, Time zone items):
88432         Describe new formats +00:00, UTC+00:00.
88433
88434 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
88435
88436         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
88437         spurious "-l"s.  Problem reported by Stepan Kasal.
88438
88439 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
88440
88441         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
88442         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
88443
88444 2004-12-04  Simon Josefsson  <jas@extundo.com>
88445
88446         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
88447         Vandoorselaere <yoann@prelude-ids.org>.
88448
88449 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88450
88451         Changes imported from coreutils.
88452         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
88453         exist.
88454         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
88455
88456 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88457
88458         Changes imported from coreutils.
88459         * lib/hard-locale.c: Assume <locale.h> exists.
88460         Include "strdup.h".
88461         (GLIBC_VERSION): New macro.
88462         (hard_locale): Assume setlocale exists.
88463         Rewrite to avoid #ifdef.
88464         Use strdup rather than malloc + strcpy.
88465         * lib/human.c: Assume <locale.h> exists.
88466         (human_readable): Assume localeconv exists.
88467
88468 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88469
88470         * modules/hard-locale (Depends-on): Add strdup.
88471
88472 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
88473
88474         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
88475         convert T2, not T.  (Imported from libc.)
88476
88477 2004-11-30  Simon Josefsson  <jas@extundo.com>
88478
88479         * modules/restrict (License): Change to LGPL.
88480
88481 2004-11-30  Simon Josefsson  <jas@extundo.com>
88482
88483         * m4/restrict.m4: Add copyright and copying conditions.
88484
88485 2004-11-30  Simon Josefsson  <jas@extundo.com>
88486
88487         * m4/base64.m4: New file.
88488
88489 2004-11-30  Simon Josefsson  <jas@extundo.com>
88490
88491         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
88492         base64.
88493
88494         * tests/test-base64.c: New file.
88495
88496         * modules/base64: New file.
88497
88498 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88499
88500         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
88501         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
88502
88503         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
88504
88505 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88506
88507         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
88508         (__getcwd.c): Don't restore errno; glibc doesn't.
88509         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
88510         first, falling back to our code only if its results look suspicious.
88511         Ensure that the resulting buffer is only as large as necessary.
88512
88513         * lib/readutmp.c: Include readutmp.h first.
88514         Include <errno.h>, since readutmp.h no longer does that.
88515         * lib/readutmp.h: Don't include <errno.h>,
88516         <sys/param.h>, <time.h>; not needed to establish interface.
88517         (errno): Remove decl.
88518         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
88519         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
88520         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
88521
88522 2004-11-28  Simon Josefsson  <jas@extundo.com>
88523
88524         * lib/base64.h, base64.c: New file.
88525
88526 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
88527
88528         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
88529
88530 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
88531
88532         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
88533         (Depends-on): Remove pathmax, same.  Add mempcpy.
88534         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
88535         (Makefile.am): Append getcwd.h to lib_SOURCES.
88536         (Include): Add getcwd.h.
88537         (Maintainer): Change from Jim Meyering to "all, glibc",
88538         since getdate now uses intended-for-glibc code.
88539         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
88540         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
88541
88542 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88543
88544         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
88545         HP's ANSI C compiler.
88546         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
88547         Declaring int functions causes warnings on some modern systems and
88548         shouldn't be needed to compile on ancient ones.
88549         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
88550         defined.
88551
88552         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
88553         with the following changes.
88554         (__set_errno): Parenthesize properly.
88555         Include <stdbool.h>.
88556         (MIN, MAX, MATCHING_INO): New macros.
88557         (__getcwd): Define with prototype, not K&R form.
88558         Use heuristics to allocate default buffer on stack if possible.
88559         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
88560         behavior, and to avoid the PATH_MAX limit when computing
88561         ../../../../...
88562         Use MATCHING_INO to compare inode number to file.
88563         Check for arithmetic overflow in size calculations.
88564         Fix bug in reallocation of dot array that caused getcwd to fail
88565         on directories nested deeper than 75.
88566         Be more careful about saving errno on error.
88567         Do not use realloc; use only free+malloc, as this is a bit
88568         more flexible and avoids a needless copy operation.
88569         Do not inspect st_dev and st_ino for symbolic links; POSIX
88570         doesn't specify the latter.
88571         Check for closedir errors.
88572         Avoid needless casts.
88573         Use "#ifdef weak_alias" around weak_alias, to be like other
88574         glibc code.
88575         The following changes to getcwd.c have effect only when used in
88576         gnulib; they have no effect inside glibc proper.
88577         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
88578         as alloca isn't used.
88579         (alloca, __alloca): Likewise.
88580         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
88581         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
88582         unconditionally, as gnulib assumes C89 or better.
88583         Do not include <sys/param.h>.
88584         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
88585         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
88586         better.
88587         (NULL) [!defined NULL]: Remove; we assume C89 or better.
88588         Include <dirent.h> in a way that is compatible with modern Autoconf.
88589         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
88590         New macros, if not already defined.
88591         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
88592         Use "_LIBC", not "defined _LIBC", for consistency.
88593         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
88594         a mempcpy module.
88595         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
88596         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
88597         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
88598         credit only to Jim Meyering and adjust the copyright dates.
88599         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
88600         <stdlib.h>, <unistd.h>, "pathmax.h".
88601         Instead, include "xgetcwd.h" (first) and "getcwd.h".
88602         (INITIAL_BUFFER_SIZE): Remove.
88603         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
88604
88605 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88606
88607         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
88608         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
88609         Use the _ONCE methods, for efficiency.
88610         Check for fcntl.h.  In test program, include <errno.h>
88611         and <fcntl.h> if available.  Remove old K&R cruft from
88612         test program.  Check for common errors in GNU/Linux,
88613         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
88614         don't do AC_LIBOBJ, as that's getcwd.m4's job.
88615         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
88616         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
88617         name accordingly.
88618         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
88619         accommodate new getcwd.c.
88620         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
88621         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
88622         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
88623         that's all we need now.
88624
88625 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88626
88627         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
88628         argp-parse.c depends on getopt internals, that means we should
88629         always use our getopt, to be on the safe side.
88630         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
88631         order not to spoil the result of an eventual previous invocation
88632         of gl_GETOPT_SUBSTITUTE.
88633
88634 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88635
88636         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
88637         redefinition warnings. To avoid them, include the defines
88638         in `#if !defined __need_getopt ... #endif'. The only place
88639         where __getopt_argv_const is used is in definitions
88640         of getopt_long and getopt_long_only below, which are as well
88641         protected by `#ifndef __need_getopt'.
88642         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
88643         __need_getopt after including <stdio.h> and <unistd.h> These
88644         headers might have defined it.
88645
88646 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88647
88648         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
88649
88650 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88651
88652         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
88653         (futimens): New function, which uses futimes if available.
88654         (futimens, utimens): Support timespec==NULL, with same semantics
88655         as utime and utimens.
88656         * lib/utimens.h (futimens): New decl.
88657
88658 2004-11-23  Jim Meyering  <jim@meyering.net>
88659
88660         * lib/getopt_.h: Remove trailing blanks.
88661
88662 2004-11-23  Jim Meyering  <jim@meyering.net>
88663
88664         * lib/__fpending.c: Add comment.
88665
88666 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
88667
88668         * modules/canonicalize (Depends-on): Add xreadlink.
88669         Problem reported by James Youngman.
88670
88671 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
88672
88673         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
88674         New macros.
88675         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
88676         optopt): Use them instead of invoking ## directly; otherwise, the
88677         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
88678
88679 2004-11-19  Bruno Haible  <bruno@clisp.org>
88680
88681         * lib/strtok_r.c: Move comments from here...
88682         * lib/strtok_r.h: ... to here.
88683
88684 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
88685
88686         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
88687         implementations that mishandle size_t overflow.
88688
88689 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
88690
88691         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
88692         might fail.  Problem reported by Yoann Vandoorselaere.
88693         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
88694         implementations that mishandle size_t overflow.
88695
88696 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88697
88698         * modules/canon-host (Depends-on): Add strdup.
88699
88700 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88701
88702         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
88703
88704 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88705
88706         * lib/canon-host.c: Include "strdup.h".
88707         (canon_host): Use getaddrinfo if available, so that IPv6 works.
88708         Use strdup instead of malloc/strcpy to duplicate strings.
88709
88710         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
88711         (human_space_before_unit): New constant.
88712         * lib/human.c (human_readable): Support it.
88713
88714         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
88715         (xgetcwd): Set errno correctly when failing.
88716         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
88717         the failure is actually due to a PATH_MAX problem.
88718
88719         Further getopt changes to make it more likely that glibc will
88720         buy the changes back.
88721         * lib/getopt.c (POSIXLY_CORRECT): New constant.
88722         (getopt): Use it, so to preserve glibc semantic
88723         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
88724         when compiling for libc.
88725         * lib/getopt_.h (__getopt_argv_const): Bring it back.
88726         (getopt_long, getopt_long_only): Use it.
88727
88728         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
88729         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
88730         (getopt): Argv is now char * const *, as per standard.
88731         (_getopt_internal_r, _getopt_internal): Argv is now char **,
88732         not char *__getopt_argv_const *.
88733         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
88734         _getopt_long_only_r): Likewise.
88735         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
88736         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
88737         _getopt_long_r, _getopt_long_only_r): Likewise.
88738         * lib/getopt_.h (__getopt_argv_const): Remove.
88739         (getopt): Argv is now char * const *, as per standard.
88740
88741         * lib/getdate.y (tORDINAL): New token.
88742         (day, relunit): Allow it for relative times.
88743         (relative_time_table): Use tORDINAL for ordinals.
88744
88745 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
88746
88747         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
88748         Document that "second" isn't allowed as an ordinal number.
88749
88750 2004-11-16  Jim Meyering  <jim@meyering.net>
88751
88752         * modules/closeout (Depends-on): Add fpending.
88753
88754 2004-11-15  Jim Meyering  <jim@meyering.net>
88755
88756         * lib/closeout.c: Include "__fpending.h" once again.
88757         Include <stdbool.h>.
88758         (close_stdout): Don't fail just because stdout was closed initially,
88759         since some programs don't write to stdout in the normal course of
88760         operation (other than --version and --help), and we don't want this
88761         function to make e.g. `touch file >&-' fail.
88762         But do fail if it was closed and someone has tried to write to it.
88763         E.g., `printf foo >&-' must fail.
88764
88765 2004-11-13  Jim Meyering  <jim@meyering.net>
88766
88767         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
88768
88769 2004-11-12  Simon Josefsson  <jas@extundo.com>
88770
88771         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
88772         small doc fix is still pending.
88773
88774 2004-11-11  Simon Josefsson  <jas@extundo.com>
88775
88776         * modules/strtok_r: New file.
88777
88778         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88779         strtok_r.
88780
88781 2004-11-11  Simon Josefsson  <jas@extundo.com>
88782
88783         * m4/strtok_r.m4: New file.
88784
88785         * m4/getopt.m4: Replace opterr.
88786
88787 2004-11-11  Simon Josefsson  <jas@extundo.com>
88788
88789         * lib/strtok_r.h, strtok_r.c: New file.
88790
88791 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
88792
88793         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
88794         of replacing opterr, getopt, etc.  This should handle the
88795         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
88796
88797 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
88798
88799         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
88800         we can stop lying to compilers about the constness of argv when we
88801         are compiled outside glibc.
88802         (getopt, getopt_long, getopt_long_only): Use it.
88803         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
88804         _getopt_internal, getopt): Likewise.
88805         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
88806         _getopt_long_only_r): Likewise.
88807         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
88808         _getopt_long_r, _getopt_long_only_r): Likewise.
88809
88810         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
88811         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
88812         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
88813         the other external symbols.
88814         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
88815         declaration, since the above renaming now works around collisions.
88816
88817 2004-11-11  Jim Meyering  <jim@meyering.net>
88818
88819         * lib/linebreak.c: Remove trailing blanks.
88820         * lib/alloca_.h: Likewise.
88821         * lib/acosl.c: Likewise.
88822         * lib/euidaccess.c: Likewise.
88823         * lib/allocsa.h: Likewise.
88824
88825 2004-11-10  Simon Josefsson  <jas@extundo.com>
88826
88827         * m4/getaddrinfo.m4: New file.
88828
88829 2004-11-10  Simon Josefsson  <jas@extundo.com>
88830
88831         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
88832
88833 2004-11-10  Simon Josefsson  <jas@extundo.com>
88834
88835         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
88836         getaddrinfo.
88837
88838         * modules/getaddrinfo: New file.
88839
88840 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
88841
88842         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
88843
88844 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
88845
88846         * lib/mktime.c (SHR): New macro, which is a portable
88847         substitute for >> that should work even on Crays.
88848         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
88849         Problem reported by Mark D. Baushke in
88850         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
88851         * lib/getdate.y (SHR): Likewise.
88852         (tm_diff): Use it.
88853         * lib/strftime.c (SHR): Likewise.
88854         (tm_diff): Use it.
88855         * lib/quotearg.c (struct quoting_options): Use unsigned int for
88856         quote_these_too, so that right shifts are well defined.  All uses
88857         changed.
88858
88859 2004-11-10  Jim Meyering  <jim@meyering.net>
88860
88861         Ensure that no close failure goes unreported.
88862         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
88863         return early when it seems there's nothing to flush.
88864         Don't include __fpending.h.
88865
88866 2004-11-10  Jim Meyering  <jim@meyering.net>
88867
88868         * modules/closeout (Depends-on): Remove fpending.
88869
88870 2004-11-10  Jim Meyering  <jim@meyering.net>
88871
88872         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
88873
88874 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
88875
88876         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
88877         gl_FUNC_STRFTIME.
88878         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
88879         and AC_REQUIRE when possible, to avoid duplicate checks.
88880         Check for <wchar.h>.
88881
88882 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
88883
88884         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
88885
88886 2004-11-09  Bruno Haible  <bruno@clisp.org>
88887
88888         * m4/sockpfaf.m4: New file.
88889
88890 2004-11-05  Bruno Haible  <bruno@clisp.org>
88891
88892         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
88893         Reported by Mark D. Baushke <mdb@cvshome.org>.
88894
88895 2004-11-04  Bruno Haible  <bruno@clisp.org>
88896
88897         2004-09-11  Bruno Haible  <bruno@clisp.org>
88898                 * allocsa.valgrind: New file.
88899         2004-02-06  Bruno Haible  <bruno@clisp.org>
88900                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
88901                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
88902                 Reported by Christopher Seip <chris.seip@hp.com>.
88903
88904 2004-11-04  Bruno Haible  <bruno@clisp.org>
88905
88906         * modules/allocsa (Files): Add lib/allocsa.valgrind.
88907         (Makefile.am): Distribute it.
88908
88909 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
88910
88911         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
88912         with errno == ERANGE if the buffer is too small.
88913         Problem reported by Mark D. Baushke.
88914
88915 2004-11-03  Albert Chin  <china@thewrittenword.com>
88916             Paul Eggert  <eggert@cs.ucla.edu>
88917
88918         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
88919         equivalent, substitute $ac_type for equivalent type rather than
88920         blindly using uint32_t *always* which won't work if uint32_t is not
88921         available.  Define _UINT32_T to work around typedef of uint32_t if
88922         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
88923         2.5.1.
88924
88925 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88926
88927         * m4/jm-macros.m4: Sync from coreutils.
88928         (gl_MACROS): Check for mbrlen, for pathchk.
88929         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
88930
88931 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88932
88933         * lib/xreadlink.c (MAXSIZE): New macro.
88934         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
88935         size does not exceed MAXSIZE.  Avoid cast.
88936         As suggested by Mark D. Baushke in
88937         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
88938         if readlink fails with buffer size just under MAXSIZE, try again
88939         with MAXSIZE.
88940
88941 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
88942
88943         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
88944
88945 2004-11-02  Derek R. Price  <derek@ximbiot.com>
88946         and  Paul Eggert  <eggert@cs.ucla.edu>
88947
88948         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
88949         (get_date): Overparenthesize to avoid GCC warning.
88950
88951 2004-11-02  Bruno Haible  <bruno@clisp.org>
88952
88953         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
88954         returns void.
88955
88956 2004-11-02  Bruno Haible  <bruno@clisp.org>
88957
88958         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
88959         function returns void.
88960
88961 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
88962
88963         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
88964         fflush_unlocked, flockfile, funlockfile, funlockfile,
88965         fputs_unlocked, putc_unlocked.
88966
88967 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
88968
88969         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
88970         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
88971         already declared.
88972
88973 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88974
88975         * modules/getdate (Files): Add doc/getdate.texi.
88976         (Depends-on): Add setenv, xalloc.
88977
88978 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88979
88980         * lib/getdate.y: Add support for TZ="foo" within a date string.
88981         Fix some bugs near time_t boundaries.  Reject dates with
88982         out-of-range components, e.g., "Sept 31".
88983         Include <stdlib.h>, "setenv.h", "xalloc.h".
88984         (ISDIGIT_LOCALE): Remove; unused.
88985         Note that the TZ and time functions used here are not reentrant.
88986         (mktime_ok, get_tz): New functions.
88987         (TZBUFSIZE): New constant.
88988         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
88989         This requires that we sometimes generate our own TZ="XXX..." setting.
88990
88991 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
88992
88993         * doc/getdate.texi: New file, from coreutils with modifications for
88994         the new TZ parsing.
88995
88996 2004-10-27  Derek R. Price  <derek@ximbiot.com>
88997
88998         * lib/mktime.c (not_equal_tm): Remove redundant check.
88999
89000 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
89001
89002         * modules/regex (lib_SOURCES): Add regex.c.
89003         Reported by James Youngman in
89004         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
89005
89006 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
89007
89008         * lib/getdate.y: Use Bison 1.875 features, and some minor
89009         code cleanups.  This change does not affect semantics.
89010         Don't include <stdlib.h>; no longer needed.
89011         Don't include unlocked-io.h; only the "#if TEST" code uses
89012         stdio, and performance isn't crucial there.
89013         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
89014         Bison 1.875 features as described below.
89015         All uses of "PC." replaced by "pc->".
89016         (YYSTYPE): Add a forward declaration.
89017         (yylex, yyerror): Use full prototypes in forward decls.
89018         Use "%pure-parser" rather than obsolescent "%pure_parser".
89019         Use %parse-param and %lex-param instead of obsolescent
89020         YYPARSE_PARAM and YYLEX_PARAM.
89021         (meridian_table, month_and_day_table, time_units_table,
89022         relative_time_table, time_zone_table, military_table,
89023         lookup_zone, lookup_word, get_date):
89024         Use NULL instead of 0 where appropriate.
89025         (to_hour): Avoid abort (), to avoid a dependency on
89026         stdlib.h.
89027         (yyerror, yylex): Now accepts parser_control * arg.
89028         (main) [TEST]: Use '\0' rather than 0 for char.
89029
89030 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
89031
89032         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
89033
89034 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
89035
89036         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
89037         It's now the caller's responsibility to handle the case where
89038         !HAVE_GETPAGESIZE && !defined getpagesize.
89039
89040         * lib/mktime.c (leapyear): Arg is long int, not int.
89041
89042 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
89043
89044         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
89045
89046 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
89047
89048         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
89049         missing.  Problem reported by James Youngman.
89050
89051 2004-10-16  Simon Josefsson  <jas@extundo.com>
89052
89053         * gnulib-tool: Fix comments.  Fix parse problem.
89054         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
89055
89056 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
89057
89058         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
89059         implementation of getopt_long.  Problem reported by Alexander Taler in:
89060         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
89061
89062 2004-10-15  Bruno Haible  <bruno@clisp.org>
89063
89064         * gnulib-tool: Untabify. Initialize supplied_libname.
89065         (func_usage): More homogenous output.
89066         (func_modules_transitive_closure, func_modules_to_filelist,
89067         func_emit_lib_Makefile_am): New functions.
89068         (func_import): New function, extracted from big case statement. Use
89069         func_get_license, func_modules_transitive_closure,
89070         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
89071         opt_lgpl. Don't use test -a, as it's not portable.
89072         (func_create_testdir): Use func_modules_transitive_closure,
89073         func_modules_to_filelist, func_emit_lib_Makefile_am.
89074
89075 2004-10-15  Bruno Haible  <bruno@clisp.org>
89076
89077         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
89078
89079 2004-10-15  Bruno Haible  <bruno@clisp.org>
89080
89081         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
89082         the portions belonging to each module.
89083         Suggested by Derek Robert Price <derek@ximbiot.com>.
89084
89085 2004-10-12  Simon Josefsson  <jas@extundo.com>
89086
89087         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
89088         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
89089         to real functions.
89090
89091 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89092
89093         * modules/vsnprintf: New file.
89094
89095 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89096
89097         * m4/vsnprintf.m4: New file.
89098
89099 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89100
89101         * lib/vsnprintf.h: New file.
89102         * lib/vsnprintf.c: New file.
89103
89104 2004-10-11  Bruno Haible  <bruno@clisp.org>
89105
89106         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
89107         vsnprintf.
89108
89109 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
89110
89111         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
89112
89113 2004-10-07  Bruno Haible  <bruno@clisp.org>
89114
89115         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
89116         fits into the provided buffer.
89117
89118 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
89119
89120         * lib/diacrit.c, diacrit.h: Add GPL notice.
89121
89122         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
89123         notice.
89124         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
89125         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
89126         This avoids a potential constant-folding bug.
89127
89128 2004-10-05  Bruno Haible  <bruno@clisp.org>
89129
89130         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
89131         for the declaration of strsep.
89132
89133 2004-10-05  Bruno Haible  <bruno@clisp.org>
89134
89135         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
89136
89137 2004-10-04  Simon Josefsson  <jas@extundo.com>
89138
89139         * modules/memmem: New file.
89140         * tests/test-memmem.c: New file.
89141         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
89142
89143 2004-10-04  Simon Josefsson  <jas@extundo.com>
89144
89145         * m4/memmem.m4: New file.
89146
89147 2004-10-04  Simon Josefsson  <jas@extundo.com>
89148
89149         * lib/memmem.h: New file.
89150         * lib/memmem.c: New file, taken from glibc.
89151
89152 2004-10-04  Simon Josefsson  <jas@extundo.com>
89153
89154         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
89155         '#ifdef USE_UNLOCKED_IO'.
89156
89157 2004-10-04  Simon Josefsson  <jas@extundo.com>
89158
89159         * config/srclist.txt: Add memmem from glibc.
89160
89161 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89162
89163         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
89164
89165         * modules/argmatch, modules/argp, modules/closeout, modules/error,
89166         modules/exclude, modules/getdate, modules/getline,
89167         modules/getndelim2, modules/getpass, modules/getpass-gnu,
89168         modules/getusershell, modules/linebuffer, modules/md5,
89169         modules/mountlist, modules/posixtm, modules/readtokens,
89170         modules/readutmp, modules/regex, modules/sha1,
89171         modules/version-etc, modules/yesno:
89172         Remove dependency on unlocked-io.
89173
89174 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89175
89176         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
89177
89178         * m4/unlocked-io.m4: Add copyright notice.
89179         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
89180
89181 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89182
89183         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
89184         * lib/xmalloc.c (xmemdup): Likewise.
89185         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
89186         XFREE): Remove these long-obsolescent macros.
89187         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
89188         * lib/xstrdup.c: Remove.
89189
89190         * lib/regex.c (re_comp): Cast gettext return value to char *,
89191         Problem reported by Martin Neitzel via Mark D. Baushke.
89192
89193 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89194
89195         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
89196         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
89197         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
89198         regex.c, sha1.c, version-etc.c, yesno.c:
89199         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
89200         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
89201         the includer's responsibility.
89202
89203         Sync from coreutils.
89204
89205         * lib/modechange.c (mode_compile): Don't decrement a pointer that
89206         points to the start of a string, as the C Standard says the
89207         resulting behavior is undefined.
89208
89209         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
89210         simple -> simple_backups, numbered_existing ->
89211         numbered_existing_backups, numbered -> numbered_backups
89212         to avoid shadowing problems.  All uses changed.
89213         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
89214         * lib/backupfile.c (check_extension, numbered_backup):
89215         Rename locals to avoid shadowing 'basename'.
89216         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
89217         once.
89218
89219         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
89220         * lib/.cvsignore: Add getopt.h.
89221
89222 2004-10-04  Bruno Haible  <bruno@clisp.org>
89223
89224         * modules/README: New file.
89225         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
89226         not a module.
89227
89228 2004-10-02  Jim Meyering  <jim@meyering.net>
89229
89230         * lib/dirfd.h, getpagesize.h: Add copyright notice.
89231
89232 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89233
89234         * modules/strsep: New file.
89235
89236 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89237
89238         * m4/strsep.m4: New file.
89239
89240 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89241
89242         * lib/strsep.h: New file.
89243         * lib/strsep.c: New file.
89244
89245 2004-10-01  Simon Josefsson  <jas@extundo.com>
89246
89247         * lib/snprintf.c (snprintf): Handle size==0.
89248
89249 2004-10-01  Simon Josefsson  <jas@extundo.com>
89250             Bruno Haible  <bruno@clisp.org>
89251
89252         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
89253         (snprintf): Declare 'args'.
89254
89255 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
89256
89257         * lib/snprintf.c: Remove comments as to why each header is needed.
89258
89259 2004-10-01  Bruno Haible  <bruno@clisp.org>
89260
89261         * MODULES.html.sh: Add strsep.
89262
89263 2004-09-30  Simon Josefsson  <jas@extundo.com>
89264
89265         * modules/snprintf: New file.
89266
89267 2004-09-30  Simon Josefsson  <jas@extundo.com>
89268
89269         * m4/snprintf.m4: New file.
89270
89271 2004-09-30  Simon Josefsson  <jas@extundo.com>
89272
89273         * lib/snprintf.h, lib/snprintf.c: New files.
89274
89275 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89276
89277         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
89278         (hol_entry_help): Never translate an empty string.
89279         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
89280         * lib/argp.h (OPTION_NO_TRANS): New option.
89281
89282 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89283
89284         * modules/argp (Maintainer): Replace Simon Josefsson
89285         by Sergey Poznyakoff.
89286
89287 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89288
89289         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
89290         changes merged back into glibc.
89291
89292 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89293
89294         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
89295
89296 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
89297
89298         * lib/xvasprintf.c: Include xalloc.h.
89299         (xvasprintf): Use xalloc_die, not xmalloc_die.
89300
89301 2004-09-29  Bruno Haible  <bruno@clisp.org>
89302
89303         * modules/alloca-opt: New file, derived from modules/alloca.
89304         * modules/allocsa: Depend on alloca-opt instead of alloca.
89305         * modules/setenv: Likewise.
89306         * modules/vasnprintf: Likewise.
89307         * MODULES.html.sh: Add alloca-opt.
89308
89309 2004-09-28  Simon Josefsson  <jas@extundo.com>
89310
89311         * gnulib-tool: New parameter --lgpl, to asseert that modules are
89312         LGPL, and to replace license template from GPL to LGPL.
89313
89314 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89315
89316         * modules/dummy: Change license to LGPL.
89317
89318 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89319
89320         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
89321
89322 2004-09-24  Simon Josefsson  <jas@extundo.com>
89323
89324         * modules/minmax (License): Change from GPL to LGPL.
89325
89326 2004-09-23  Simon Josefsson  <jas@extundo.com>
89327
89328         * gnulib-tool (--import): Typo.
89329
89330 2004-09-23  Simon Josefsson  <jas@extundo.com>
89331
89332         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
89333
89334 2004-09-22  Bruno Haible  <bruno@clisp.org>
89335
89336         * modules/*: Add 'License' field.
89337         * gnulib-tool: Accept --extract-license option.
89338         (func_get_license): New function.
89339
89340 2004-09-21  Bruno Haible  <bruno@clisp.org>
89341
89342         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
89343         Reported by Simon Josefsson.
89344
89345 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89346
89347         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
89348         gl_AC_TYPE_LONG_LONG.
89349
89350 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89351
89352         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
89353
89354 2004-09-18  Simon Josefsson  <jas@extundo.com>
89355         and  Paul Eggert  <eggert@cs.ucla.edu>
89356
89357         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
89358         calls with autoreconf.  Define GL_LIB.
89359
89360 2004-09-14  Karl Berry  <karl@gnu.org>
89361
89362         * config/srclist.txt: unsync setenv.c, sigh.
89363
89364 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89365
89366         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
89367         Problem reported by Bruno Haible in:
89368         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
89369
89370 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89371
89372         * config/srclist.txt: Comment out argp-pvh.c.
89373
89374 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
89375
89376         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
89377         in case some system header has #define'd it.  Problem reported by
89378         Soeren D. Schulze in
89379         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
89380
89381 2004-09-09  Karl Berry  <karl@gnu.org>
89382
89383         * regex.[ch]: delete from the root.  These were supposed to be
89384                 synced with emacs cvs, but this has not happened for about
89385                 a year, and anyway nothing else uses emacs regex.[ch].
89386                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
89387                 lib/regex[.ch] is untouched.
89388
89389 2004-09-09  Bruno Haible  <bruno@clisp.org>
89390
89391         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
89392
89393 2004-09-09  Bruno Haible  <bruno@clisp.org>
89394
89395         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
89396         modifications.
89397         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
89398
89399 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89400
89401         * modules/xvasprintf: New file.
89402         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
89403
89404 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89405
89406         * lib/xvasprintf.h: New file.
89407         * lib/xvasprintf.c: New file.
89408         * lib/xasprintf.c: New file.
89409
89410 2004-09-08  Bruno Haible  <bruno@clisp.org>
89411
89412         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
89413
89414 2004-09-08  Bruno Haible  <bruno@clisp.org>
89415
89416         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
89417         length is > INT_MAX.
89418         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
89419         more.
89420
89421 2004-09-08  Bruno Haible  <bruno@clisp.org>
89422
89423         * lib/stdint_.h: New file, taken from GNU clisp.
89424
89425 2004-09-08  Bruno Haible  <bruno@clisp.org>
89426             Oskar Liljeblad  <oskar@osk.mine.nu>
89427
89428         * modules/stdint: New file.
89429         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
89430
89431 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89432
89433         Import from coreutils.
89434         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
89435         strings on unbounded length.  alloca's performance benefits aren't
89436         that important here.
89437         (V_STRDUP): Remove.
89438         (parse_with_separator): New function, with most of the internals
89439         of the old parse_user_spec.  Allow user to omit both user and group,
89440         for compatibility with FreeBSD.
89441         Clone only the user name, not the entire spec.
89442         Do not set *uid, *gid unless entirely successful.
89443         Avoid memory leak in some failing cases.
89444         Fix regression for USER.GROUP reported by Dmitry V. Levin in
89445         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
89446         (parse_user_spec): Rewrite to use parse_with_separator.
89447
89448 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89449
89450         * modules/userspec: Don't depend on alloca.
89451
89452 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89453
89454         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
89455
89456 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
89457
89458         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
89459         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
89460         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
89461
89462 2004-08-16  Simon Josefsson  <jas@extundo.com>
89463
89464         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
89465         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
89466         Add --dry-run for --import.
89467         Let user provided command line parameters override configure.ac
89468         settings.
89469
89470 2004-08-12  Simon Josefsson  <jas@extundo.com>
89471
89472         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
89473         as discussed with Paul Eggert in threads rooted at
89474         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
89475         and
89476         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
89477         Before, the test was empty, and relied on ELIDE_CODE in source
89478         code.)
89479         (gl_PREREQ_GETOPT): New macro.
89480         (gl_GETOPT): Use them.
89481
89482 2004-08-12  Simon Josefsson  <jas@extundo.com>
89483
89484         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
89485         * lib/getopt_.h: Renamed from getopt.h.
89486
89487 2004-08-12  Simon Josefsson  <jas@extundo.com>
89488
89489         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
89490         Change default library name from libfoo to libgnu.
89491         Now, if you have a configure.ac that says:
89492                 gl_SOURCE_BASE(gl)
89493                 gl_M4_BASE(gl/m4)
89494                 gl_MODULES(error getopt etcetera)
89495                 gl_INIT
89496         you can import all you need by running:
89497                 ../gnulib/gnulib-tool --import
89498
89499         * modules/getopt (Files): Rename getopt.h to getopt_.h.
89500         (Makefile.am): Rewrite, use logic from argz.
89501         (Include): Use <getopt.h> instead of "getopt.h".
89502
89503 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89504
89505         * modules/argp (Files): Add m4/unlocked-io.m4.
89506         (Depends-on): Add extensions.
89507
89508 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89509
89510         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
89511         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
89512         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
89513         Check for program_invocation_name, program_invocation_short_name,
89514         flockfile, funlockfile, features.h, _getopt_long_only_r.
89515
89516 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89517
89518         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
89519         its complicated substitute.
89520         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
89521         and program_invocation_name.
89522         (__argp_basename) [!_LIBC]: Remove; the only use was
89523         replaced by its body.
89524         (__argp_short_program_name): Change condition from
89525         !defined __argp_short_program_name to
89526         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
89527         to match argp-namefrob.h.
89528         (__argp_failure): Don't assume strerror_r returns char *.
89529         * lib/argp-parse.c (N_): Define unconditionally.
89530         (argp_default_options): Fill out initializers with 0 to avoid
89531         gcc warnings.
89532
89533 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89534
89535         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
89536         getopt1.c.
89537
89538 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89539
89540         Merge from coreutils.
89541
89542         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
89543
89544         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
89545         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
89546
89547 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89548
89549         Merge from coreutils.
89550
89551         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
89552         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
89553         for Reliant Unix 5.43.
89554
89555         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
89556         (union fooround): Use uintmax_t, not long int.
89557         The rest is a merge from libc:
89558         [defined _LIBC]: Include <shlib-compat.h>.
89559         (_obstack) [defined _LIBC]: Remove after 2.3.4.
89560
89561         * lib/settime.c (settime): Recode to avoid warning with
89562         Sun Forte C 6U2.
89563
89564         * lib/strverscmp.c: Convert to UTF-8.
89565
89566 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89567
89568         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
89569         m4/uintmax_t.m4.
89570
89571 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89572
89573         * modules/xalloc-die: New file.
89574         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
89575
89576         * modules/md5 (Files): Add m4/uint32_t.m4.
89577         * modules/sha1: Renamed from modules/sha.
89578         (Files):
89579         Rename lib/sha.h to lib/sha1.h.
89580         Rename lib/sha.c to lib/sha1.c.
89581         Rename m4/sha.m4 to m4/sha1.m4.
89582         (lib_SOURCES): Likewise.
89583         (configure.ac): Rename gl_SHA to gl_SHA1.
89584         (Include): sha.h -> sha1.h.
89585
89586 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89587
89588         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
89589         * m4/sha1.m4: Renamed from sha.m4.
89590         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
89591
89592 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89593
89594         * lib/obstack.h (obstack_empty_p):
89595         Don't assume that chunk->contents is suitably aligned.
89596         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
89597         Likewise. Problem reported by Benno in
89598         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
89599
89600         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
89601         readable.  This could be improved further but it'd take some work.
89602
89603 2004-08-08  Simon Josefsson  <jas@extundo.com>
89604
89605         * modules/xgethostname (Depends-on): Remove exit and error (not
89606         used).
89607
89608         * modules/getpass-gnu: Add getpass.h.
89609         (Depends-on): Add stdbool.
89610         * modules/getpass: Add getpass.h.
89611
89612 2004-08-08  Simon Josefsson  <jas@extundo.com>
89613
89614         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
89615         Check getpass declaration.
89616
89617 2004-08-08  Simon Josefsson  <jas@extundo.com>
89618
89619         * lib/xgethostname.c: Don't include error.h (not used).
89620
89621         * lib/getpass.h: Add.
89622         * lib/getpass.c: Include getpass.h first.
89623
89624 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
89625
89626         * lib/xalloc-die.c: New file.
89627         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
89628         All uses removed.
89629         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
89630         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
89631         xalloc-die.c.
89632         (_, N_, xalloc_die): Move to xalloc-die.c.
89633         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
89634         so that we needn't mess with xalloc_msg_memory_exhausted.
89635
89636         * lib/sha1.h: Renamed from sha.h.
89637         (SHA1_H): Renamed from _SHA_H.
89638         (sha1_ctx): Renamed from sha_ctx.
89639         (sha1_init_ctx): Renamed from sha_init_ctx.
89640         (sha1_process_block): Renamed from sha_process_block.
89641         (sha1_process_bytes): Renamed from sha_process_bytes.
89642         (sha1_finish_ctx): Renamed from sha_finish_ctx.
89643         (sha1_read_ctx): Renamed from sha_read_ctx.
89644         (sha1_stream): Renamed from sha_stream.
89645         (sha1_buffer): Renamed from sha_buffer.
89646         * lib/sha1.c: Likewise; renamed from sha.c.
89647         Do not include <sys/types.h>.
89648         Include <stddef.h> rather than <stdlib.h>.
89649
89650 2004-08-08  Bruno Haible  <bruno@clisp.org>
89651
89652         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
89653         FILESYSTEM_PREFIX_LEN.
89654         * lib/progreloc.c: Likewise.
89655         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
89656
89657 2004-08-06  Simon Josefsson  <jas@extundo.com>
89658
89659         * modules/progname (Depends-on): Don't depend on stdbool.
89660
89661 2004-08-06  Simon Josefsson  <jas@extundo.com>
89662
89663         * modules/getsubopt: New file.
89664         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89665         getsubopt.
89666
89667 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89668
89669         More merge from coreutils.
89670
89671         * m4/utimens.m4, m4/utimecmp.m4: New files.
89672         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
89673         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
89674         prereq.m4, sha.m4: Import changes from coreutils.
89675
89676 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89677
89678         More merge from coreutils.
89679         * modules/raise, modules/readtokens0, modules/utimens:
89680         * modules/utimecmp, module/xnanosleep: New files.
89681         * modules/strftime: Add lib/strftime.h.
89682         Change include from <time.h> to "strftime.h".
89683         * modules/yesno: Add lib/yesno.h.
89684         * modules/backupfile: Remove lib/addext.c.
89685         * modules/euidaccess: Add stat-macros.h.
89686         * modules/canonicalize, modules/euidaccess,
89687         modules/filemode, modules/lchown, modules/makepath,
89688         modules/rmdir, modules/stat: Likewise.
89689
89690 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89691
89692         Merge from tar.
89693         * lib/argp-help.c (make_hol, hol_append): Don't assume that
89694         SIZE_MAX is a valid preprocessor constant.
89695         (__argp_basename): Change from "#ifndef _LIBC"
89696         to "#ifndef __argp_short_program_name", so that
89697         we don't compile these functions for tar.
89698
89699         More merges from coreutils.
89700         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
89701         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
89702         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
89703         * lib/addext.c: Remove; no longer needed.
89704         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
89705         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
89706         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
89707         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
89708         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
89709         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
89710         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
89711         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
89712         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
89713         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
89714         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
89715         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
89716         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
89717         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
89718         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
89719         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
89720         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
89721         Import changes from coreutils.
89722
89723 2004-08-05  Simon Josefsson  <jas@extundo.com>
89724
89725         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
89726
89727 2004-08-05  Simon Josefsson  <jas@extundo.com>
89728
89729         * m4/getsubopt.m4: New file.
89730
89731 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89732
89733         Merge from coreutils.
89734
89735         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
89736         * m4/getcwd-path-max.m4: New files.
89737
89738         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
89739         FILESYSTEM_PREFIX_LEN ->
89740         FILE_SYSTEM_PREFIX_LEN.
89741         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
89742         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
89743         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
89744         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
89745
89746         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
89747         prerequisite modules now handle the DOS stuff.
89748         Don't check for unistd.h.
89749
89750 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89751
89752         Merge from coreutils.
89753
89754         * lib/.gdb-history: Remove; this doesn't belong here.
89755
89756         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
89757         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
89758         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
89759         * lib/getcwd.c: New files.
89760
89761         * lib/dirname.h: Include <stdbool.h>.
89762         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
89763         for consistency with POSIX terminology.  All uses changed.
89764         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
89765         (strip_trailing_slashes): Use bool for booleans.
89766         * lib/stripslash.c (strip_trailing_slashes): Likewise.
89767
89768         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
89769         sometimes returns a positive errno value even when it succeeds.
89770         (print_errno_message) [!LIBC]: Fall back on strerror if
89771         __strerror_r fails.
89772
89773         * lib/path-concat.c (mempcpy): Don't define if a system header defines
89774         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
89775         (longest_relative_suffix): New function.
89776         (path_concat): Use it.  Assume first argument is not NULL.
89777         Port to DOS.  Omit redundant separators.
89778         Report an error instead of returning NULL.
89779         Use mempcpy instead of memcpy.
89780         (xpath_concat): Remove: not declared or used.
89781
89782         * lib/same.h: Include <stdbool.h>
89783         (same_name): Return bool, not int.
89784         * lib/same.c (same_name): Likewise.
89785         (errno): Don't declare; we assume C89 or better now.
89786
89787         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
89788         if not already defined.
89789
89790         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
89791         * lib/dup-safer.c (errno): Likewise.
89792
89793 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
89794
89795         Merge from coreutils.
89796         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
89797         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
89798         * modules/path-concat: Don't depend on strdup.
89799
89800 2004-08-03  Simon Josefsson  <jas@extundo.com>
89801
89802         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
89803         * lib/progname.h: Don't include stdbool.h.
89804
89805 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89806
89807         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
89808         * MODULES.html.sh (func_all_modules): Remove fatal.
89809
89810 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89811
89812         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
89813
89814 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
89815
89816         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
89817         working.
89818
89819 2004-08-02  Simon Josefsson  <jas@extundo.com>
89820
89821         * lib/getsubopt.h: New file, with comments from Bruno Haible.
89822         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
89823         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
89824
89825 2004-08-01  Simon Josefsson  <jas@extundo.com>
89826
89827         * lib/xgetdomainname.c: Include stdlib.h, for free().
89828
89829 2004-07-19  Bruno Haible  <bruno@clisp.org>
89830
89831         * MODULES.html.sh (func_all_modules): Add dummy.
89832
89833 2004-07-16  Simon Josefsson  <jas@extundo.com>
89834
89835         * modules/dummy: New file.
89836
89837 2004-07-16  Simon Josefsson  <jas@extundo.com>
89838
89839         * lib/dummy.c: New file.
89840
89841 2004-07-16  Bruno Haible  <bruno@clisp.org>
89842
89843         * lib/backupfile.h: Add extern "C" for C++.
89844         * lib/closeout.h: Likewise.
89845         * lib/copy-file.h: Likewise.
89846         * lib/findprog.h: Likewise.
89847         * lib/full-write.h: Likewise.
89848         * lib/pathname.h: Likewise.
89849         * lib/progname.h: Likewise.
89850         * lib/stpcpy.h: Likewise.
89851         * lib/stpncpy.h: Likewise.
89852         * lib/strcase.h: Likewise.
89853         * lib/strstr.h: Likewise.
89854         * lib/xalloc.h: Likewise.
89855
89856         * lib/mbswidth.h: Add extern "C" for C++.
89857         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
89858
89859 2004-07-13  Robert Millan  <robertmh@gnu.org>
89860
89861         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
89862
89863 2004-07-09  Simon Josefsson  <jas@extundo.com>
89864
89865         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
89866         failed without this.)
89867
89868 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
89869
89870         * modules/chown (Files): Add lib/fchown-stub.c, since
89871         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
89872
89873 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
89874
89875         * lib/fchown-stub.c: New file.
89876
89877 2004-06-24  Jim Meyering  <jim@meyering.net>
89878
89879         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
89880
89881 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89882
89883         * modules/argz: Omit "#include".
89884
89885         * MODULES.html.sh (func_all_modules): Add calloc, to match
89886         2004-06-01 addition of calloc module.
89887
89888 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89889
89890         * m4/argz.m4: New file, which is autoupdated from libtool.
89891
89892 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89893
89894         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
89895         libtool.
89896
89897 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
89898
89899         * config/srclist-update: Don't insist on "USA." before the
89900         close-comment, as libtool omits the period and puts the */ on a
89901         separate line.
89902         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
89903         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
89904
89905 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
89906
89907         * modules/argz: New file.
89908         * MODULES.html.sh (func_all_modules): Add argz.
89909
89910 2004-06-12  Jim Meyering  <jim@meyering.net>
89911         and  Paul Eggert  <eggert@cs.ucla.edu>
89912
89913         * modules/hash (Files): Add lib/xalloc.h.
89914         * modules/pipe (Depends-on): Add wait-process.
89915         * modules/stat (Depends-on): Add xalloc.
89916         * modules/userspec (Files): Add lib/userspec.h.
89917         * modules/xstrto
89918
89919         Upgrade from gettext-0.13.
89920         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
89921         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
89922         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
89923
89924 2004-06-10  Jim Meyering  <jim@meyering.net>
89925
89926         * lib/calloc.c: New file.
89927
89928 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
89929
89930         * lib/getdate.y (yylex): Allow space between sign and number.
89931         Problem reported by Dan Jacobson.
89932
89933 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
89934
89935         Merge from coreutils CVS.
89936
89937         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
89938         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
89939         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
89940         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
89941         xstrtol.m4: Fix copyright date and/or serial number.
89942
89943         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
89944         See if we need an fchown replacement.
89945         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
89946         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
89947         and use the replacement function if we detect either defect.
89948
89949         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
89950         gl_UTIMECMP.
89951
89952 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
89953         and  Jim Meyering  <jim@meyering.net>
89954
89955         Merge from coreutils CVS.
89956
89957         * lib/stat-macros.h: New file, with contents from file-type.h
89958         and coreutils' system.h.
89959         * lib/file-type.c: Include "stat-macros.h".
89960         * lib/file-type.h (file_type): Move all macro definitions to new file,
89961         stat-macros.h.
89962
89963         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
89964         Wrap old code with this conditional.
89965         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
89966         function that does not dereference symlinks.
89967         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
89968
89969         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
89970         dependency problems.
89971         (xreadlink): Accept new arg SIZE, for efficiency.
89972         All decls and uses changed.
89973         * lib/xreadlink.h: Include <stddef.h>, for size_t.
89974
89975         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
89976         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
89977
89978         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
89979         sysexits.h.
89980
89981 2004-06-01  Jim Meyering  <jim@meyering.net>
89982
89983         * m4/calloc.m4: New file.
89984
89985 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
89986
89987         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
89988         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
89989         Also, fix a typo in a diagnostic.
89990
89991 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
89992
89993         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
89994         or AC_FUNC_REALLOC.
89995
89996 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
89997
89998         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
89999         macros to be defined.
90000         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
90001         the allocator returns NULL because the requested size is zero.
90002
90003 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
90004
90005         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
90006         var.  Add comment explaining why libc still defines it.  This
90007         merges the following patch from glibc:
90008         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
90009
90010 2004-05-20  Andreas Schwab  <schwab@suse.de>
90011
90012         * m4/free.m4: Replace free if it not known to work, not the other
90013         way round.
90014
90015 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
90016
90017         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
90018         present in glibc since revision 1.1 of this file.
90019         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
90020         obstack_alignment_mask, obstack_alloc, obstack_base,
90021         obstack_blank, obstack_blank_fast, obstack_chunk_size,
90022         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
90023         obstack_grow0, obstack_init, obstack_int_grow,
90024         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
90025         obstack_next_free, obstack_object_size, obstack_ptr_grow,
90026         obstack_ptr_grow_fast, obstack_room): Remove declarations of
90027         nonexistent functions.
90028
90029 2004-05-18  Karl Berry  <karl@gnu.org>
90030
90031         * config/srclist.txt: break link for vasnprintf.c.
90032
90033 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
90034
90035         Port obstack to the AS/400, where pointers are 16 bytes wide and
90036         you cannot cast an integer to a valid pointer.  This patch is
90037         currently waiting to be integrated into glibc; see
90038         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
90039
90040         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
90041         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
90042         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
90043         (struct obstack): temp member is now a union of a pointer and
90044         an integer, instead of an integer.  All integer uses changed.
90045         This does not affect the physical layout of struct obstack,
90046         except on hosts (like the AS/400) where the size or alignment of
90047         void * is greater than that of ptrdiff_t.
90048         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
90049         __STDC__)]: Store temporary in pointer member of union, not
90050         integer member.
90051         * lib/obstack.c: Include <stddef.h>, for offsetof.
90052         (struct fooalign): Remove; it doesn't need a name.
90053         (union fooround): Change double to long double, and add void *.
90054         (DEFAULT_ALIGNMENT): Use offsetof to compute.
90055         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
90056         not a macro.  Hence the values are always int; so remove all
90057         casts-to-int in uses.
90058
90059 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
90060
90061         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
90062         we can get this patch merged into glibc.
90063
90064 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90065             Paul Eggert  <eggert@cs.ucla.edu>
90066
90067         * m4/argp: Depend on alloca.
90068
90069 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90070             Paul Eggert  <eggert@cs.ucla.edu>
90071
90072         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
90073         freecoding.
90074
90075 2004-05-17  Bruno Haible  <bruno@clisp.org>
90076
90077         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
90078         precision that consists of a '.' followed by an empty digit string.
90079         Patch by Tor Lillqvist <tml@iki.fi>.
90080
90081 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90082
90083         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
90084         for backward compatibility with older code.  We need our own
90085         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
90086         it under some other name, and our alloca.h will define it.
90087
90088 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90089             Derek Price  <derek@ximbiot.com>
90090
90091         * lib/alloca.c: Include <alloca.h>, to get our interface.
90092         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
90093         include <alloca.h> first.  Use C89 prototype for alloca; this
90094         requires including <stddef.h> for size_t.  Use extern "C" if C++.
90095         Use #elif for simplicity, since we can assume C89 now.
90096         Don't try to source the system alloca.h since it will not be found
90097         and to prevent recursively including its replacement.
90098         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
90099         * lib/regex.c: Likewise.
90100
90101 2004-05-16  Derek Price  <derek@ximbiot.com>
90102             Paul Eggert  <eggert@cs.ucla.edu>
90103
90104         getline cleanup.  This changes the getndelim2 API: both order of
90105         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
90106         no delimiter).
90107
90108         * lib/getline.c: Don't include stddef.h or stdio.h, since our
90109         interface does that.
90110         (getline): Always use getdelim, so that we don't have two
90111         copies of this code.
90112         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
90113         if available.
90114         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
90115         (GETNDELIM2_MAXIMUM): New macro.
90116         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
90117         instead of the old practice of delim2==0.  All callers changed.
90118         Return -1 on overflow, instead of returning junk.
90119         Do not set *linesize unless allocation succeeds.
90120         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
90121         that we include sys/types.h.
90122         * lib/getnline.h: Likewise.
90123         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
90124         (getndelim2): Reorder arguments.
90125         * lib/getnline.c (getnline, getndelim):
90126         Don't discard the NMAX argument.
90127         (getnline): Invoke getndelim, to avoid code duplication.
90128         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
90129         of (size_t) -1 by callers of the getnline family.
90130
90131 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90132
90133         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
90134         Check for gettimeofday.
90135         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
90136         Check for settimeofday, stime.
90137
90138 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90139
90140         * lib/nanosleep.c (suspended): Change its type from int to
90141         sig_atomic_t volatile.
90142         (first_call): Make it private to rpl_nanosleep, and have it
90143         be zero initially as that's a bit faster.
90144         (my_usleep): Round up fractional times instead of truncating them,
90145         as this is the usual meaning for 'sleep'.
90146
90147         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
90148         doesn't work.
90149         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
90150         (ENOSYS): Define if not defined.
90151         (settime): Fall back on stime if it exists and settimeofday fails.
90152         But don't bother with fallbacks if a method fails with errno == EPERM.
90153
90154 2004-05-11  Jim Meyering  <jim@meyering.net>
90155
90156         Prior to this change, the save_cwd caller required read access to the
90157         current directory on most systems (ones with the fchdir function).
90158
90159         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
90160         fails, try write-only, and finally, resort to using xgetcwd.
90161
90162 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
90163
90164         * lib/obstack.c, obstack.h: Import changes from libc.
90165
90166 2004-04-28  Bruno Haible  <bruno@clisp.org>
90167
90168         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
90169         also implicitly appends .exe to executables.
90170         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
90171         accepts Windows pathnames.
90172         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90173         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90174         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90175         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90176         Reported by Derek Robert Price <derek@ximbiot.com>.
90177
90178 2004-04-21  Karl Berry  <karl@gnu.org>
90179
90180         * config/srclist.txt (localcharset.c): break sync.
90181
90182 2004-04-20  Paul Eggert  <eggert@twinsun.com>
90183
90184         * m4/host-os.m4: Add a copyright notice.
90185
90186 2004-04-20  Jim Meyering  <jim@meyering.net>
90187
90188         Change UTILS_ to gl_ in AC_DEFINE'd names.
90189         Change utils_- and jm_-prefixed variables, too.
90190         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
90191         UTILS_FUNC_MKDIR_TRAILING_SLASH.
90192         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
90193
90194         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
90195         Don't emit trailing blanks.
90196         Also rename jm_-prefixed variables to have gl_ prefix.
90197
90198         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
90199         Also rename jm_-prefixed variables to have gl_ prefix.
90200
90201         * m4/jm-macros.m4: Reflect the renamings.
90202         * m4/prereq.m4: Likewise.
90203
90204 2004-04-20  Jim Meyering  <jim@meyering.net>
90205
90206         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
90207         memory.
90208
90209 2004-04-20  Jim Meyering  <jim@meyering.net>
90210             Bruno Haible  <bruno@clisp.org>
90211
90212         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
90213         memory when realloc fails.
90214
90215 2004-04-19  Jim Meyering  <jim@meyering.net>
90216
90217         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
90218         now that readutmp.c may call `free (0)'.
90219
90220 2004-04-19  Bruno Haible  <bruno@clisp.org>
90221
90222         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
90223         * m4/inttypes_h.m4: Likewise.
90224         * m4/stdint_h.m4: Likewise.
90225         * m4/intmax_t.m4: Likewise.
90226         * m4/uintmax_t.m4: Likewise.
90227
90228 2004-04-18  Jim Meyering  <jim@meyering.net>
90229
90230         * m4/prereq.m4: Don't forbid jm_ prefix.
90231
90232         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
90233         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
90234         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
90235         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
90236         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
90237         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
90238         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
90239         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
90240         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
90241         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
90242         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
90243         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
90244         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
90245         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
90246         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
90247         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
90248         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
90249         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
90250         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
90251
90252 2004-04-18  Jim Meyering  <jim@meyering.net>
90253
90254         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
90255         failure, don't leak memory and do call END_UTMP_ENT.
90256
90257 2004-04-16  Jim Meyering  <jim@meyering.net>
90258
90259         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
90260         coreutils' stat program.
90261         (gl_PREREQ): Don't require jm_PREREQ_STAT.
90262
90263 2004-04-11  Paul Eggert  <eggert@twinsun.com>
90264
90265         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
90266         C89.
90267         (CHAR_BIT): Remove, since we assume C89.
90268         Include <stdint.h> if available, as per current Autoconf CVS advice.
90269
90270 2004-03-31  Jim Meyering  <jim@meyering.net>
90271
90272         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
90273         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
90274         * m4/xalloc.m4: Likewise.
90275
90276 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90277
90278         Merge from coreutils.
90279
90280         * m4/inttostr.m4: New file.
90281         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
90282         Require AM_STDBOOL_H and gl_TIMESPEC instead.
90283         Require gl_CLOCK_TIME.
90284         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
90285
90286 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90287
90288         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
90289         not bool, to be more consistent with Unix conventions.
90290         Suggested by Bruno Haible.
90291
90292         Merge from coreutils.
90293
90294         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
90295         * lib/umaxtostr.c: New files.
90296
90297         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
90298         the usual <time.h> dance.
90299         (get_date): Change signature to support fractional time stamps.
90300         All callers changed.
90301         * lib/getdate.y: Include "getdate.h" first, as we can now
90302         assume C89 and don't need to worry about 'const'.
90303         Similarly, include "unlocked-io.h" near start, not in middle.
90304         Include <limits.h>.
90305         (textint.value): Use long int rather than int.
90306         (textint.digits): Use size_t rather than int.
90307         (BILLION, LOG10_BILLION): New constants.
90308         (parser_control): New member rel_ns.  Members day_ordinal,
90309         time_zone, month, day, hour, minutes, rel_year, rel_month,
90310         rel_day, rel_hour, rel_minutes, rel_seconds
90311         are now long int, not int.  Member seconds is now struct timespec,
90312         not int.  New member timespec_seen.  Members dates_seen, days_seen,
90313         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
90314         not int.
90315         (%union.intval): Now long int, not int.
90316         New member timespec.
90317         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
90318         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
90319         (spec): Now is a timespec or an item list.
90320         (timespec, items): New nonterminals.
90321         (time, rel, relunit, number, get_date):
90322         Add support for fractional seconds.
90323         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
90324         (gmtime, localtime, mktime): Remove decls; not needed with C89.
90325         (to_hour): First arg is now long int, not int.
90326         (to_year): Returns long int, not int.
90327         Don't treat year -70 like 70.
90328         (tm_diff): Returns long int, not int.
90329         (lookup_word): Use bool instead of int when appropriate.
90330         (yylex): Use size_t for count, not int.
90331         Detect overflow when parsing large integer constants.
90332         Add support for fractions.
90333         (get_date): Make pointers 'const' if possible.
90334         Use more-portable code to detect integer overflow.
90335         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
90336         Don't use ctime; it's not reliable if the year has >4 digits.
90337
90338         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
90339         This is for compatibility with BSD.
90340
90341         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
90342         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
90343         From coreutils' system.h.
90344
90345         * lib/userspec.c: Don't include "posixver.h".
90346         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
90347         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
90348         compatible extension.  Simplify code by removing a boolean int
90349         that was always nonzero if a string was nonnull.
90350
90351 2004-03-30  Jim Meyering  <jim@meyering.net>
90352
90353         Merge from coreutils.
90354
90355         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
90356         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
90357         on some systems one must include <grp.h> before it.
90358         Reported by Christian Krackowizer.
90359
90360 2004-03-30  Jim Meyering  <jim@meyering.net>
90361
90362         Merge from coreutils.
90363
90364         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
90365
90366         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
90367         an empty input stream.
90368
90369         * lib/readtokens.c: Include <stdbool.h>.
90370         (readtoken): Use `size_t' rather than int/long.
90371         All callers adjusted.
90372         Use `bool' rather than `int' where appropriate.
90373         Use memset rather than an explicit loop.
90374         Use x2nrealloc rather than xrealloc.
90375         Allow the use of `\0' as a delimiter.
90376         (readtokens): Likewise.
90377         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
90378
90379 2004-03-30  Jim Meyering  <jim@meyering.net>
90380
90381         * m4/realloc.m4: Remove file, since now it does no more than
90382         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
90383         the `configure.ac' section of module/realloc.
90384         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
90385
90386 2004-03-30  Bruno Haible  <bruno@clisp.org>
90387
90388         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
90389         nonnull.
90390
90391 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90392
90393         Merge changes to getloadavg.c from coreutils and Emacs.
90394
90395         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
90396         Define to an expression, not to the empty string.
90397         Include cloexec.h and xalloc.h.
90398         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
90399         Use set_cloexec_flag rather than rolling our own.
90400         * lib/cloexec.c, lib/cloexec.h: New files.
90401
90402 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90403
90404         * m4/cloexec.m4: New file.
90405
90406 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90407
90408         * lib/getopt.h: Sync with libc CVS.
90409
90410 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90411             Bruno Haible  <bruno@clisp.org>
90412
90413         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
90414         mbswidth.
90415
90416 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90417             Bruno Haible  <bruno@clisp.org>
90418
90419         * lib/mbswidth.h: Include <wchar.h> only if
90420         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
90421         <wchar.h>.
90422         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
90423
90424 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90425
90426         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
90427         Sync with libc CVS.
90428         * lib/getopt_int.h: New file, also synced from libc.
90429
90430 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90431
90432         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
90433         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
90434         Bring back getopt.c, getopt.h, getopt1.c.
90435
90436 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90437
90438         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
90439         All uses changed.  Check for sa_sigaction member; this fixes
90440         a bug first reported by Jason Andrade in
90441         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90442
90443 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90444
90445         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
90446         '#if' expressions.  Unlike the code it replaces, it does not
90447         depend on (defined _SC_PAGESIZE).  However, it does depend on
90448         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
90449         first reported by Jason Andrade in
90450         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90451
90452 2004-02-25  Simon Josefsson  <jas@extundo.com>
90453
90454         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
90455
90456 2004-02-25  Simon Josefsson  <jas@extundo.com>
90457
90458         * lib/strdup.h: New file.
90459         * lib/strdup.c: Include it.
90460         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
90461         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
90462
90463 2004-02-23  Karl Berry  <karl@gnu.org>
90464
90465         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
90466         (from fencepost.gnu.org:/gd/gnuorg).
90467
90468 2004-02-23  Karl Berry  <karl@gnu.org>
90469
90470         * config/srclistvars.sh (GNUORG) [karl]: redefine.
90471         * config/srclist.txt: add maintain/standards documents.
90472
90473 2004-02-18  Bruno Haible  <bruno@clisp.org>
90474
90475         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
90476         Reported by Derek Robert Price <derek@ximbiot.com>.
90477
90478 2004-02-16  Karl Berry  <karl@gnu.org>
90479
90480         * config/mkinstalldirs, install-sh: update from automake.
90481
90482 2004-02-06  Karl Berry  <karl@gnu.org>
90483
90484         * m4/po.m4: update from gettext 0.14.1.
90485
90486 2004-02-06  Karl Berry  <karl@gnu.org>
90487
90488         * lib/config.charset: update from gettext 0.14.1.
90489
90490 2004-02-05  Paul Eggert  <eggert@twinsun.com>
90491
90492         Add comments and code, prompted by suggestions from Bruno Haible
90493         for sh-quote.
90494         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
90495         describing the enum quoting_style values.
90496         * lib/quotearg.c (quotearg_alloc): New function.
90497         (quotearg_buffer_restyled): Treat lone { and } as special.
90498         Treat = as special.  Work around bug with older shells
90499         that "see" a '\' that is really the 2nd byte of a multibyte char.
90500         Quote empty string with shell_quoting_style.
90501
90502 2004-02-03  Bruno Haible  <bruno@clisp.org>
90503
90504         * m4/pipe.m4: New file, from GNU gettext.
90505
90506 2004-02-03  Bruno Haible  <bruno@clisp.org>
90507
90508         * lib/pipe.h: New file, from GNU gettext.
90509         * lib/pipe.c: New file, from GNU gettext.
90510
90511 2004-01-27  Bruno Haible  <bruno@clisp.org>
90512
90513         * m4/execute.m4: New file, from GNU gettext.
90514
90515 2004-01-27  Bruno Haible  <bruno@clisp.org>
90516
90517         * lib/execute.h: New file, from GNU gettext.
90518         * lib/execute.c: New file, from GNU gettext.
90519         * lib/w32spawn.h: New file, from GNU gettext.
90520
90521 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90522
90523         Merge from diffutils.
90524
90525         * lib/file-type.c (file_type): Add typed memory objects.
90526         * lib/file-type.h (S_TYPEISTMO): New macro.
90527
90528         * lib/c-stack.h (c_stack_action): Remove argv argument.
90529         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
90530         (die): Don't calculate message unless segv_action returns.
90531         (get_stack_location, min_address_from_argv, max_address_from_argv,
90532         volatile stack_base, volatile_stack_size): Remove.
90533         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
90534         that every segmentation violation is a stack overflow.  (Ouch!)
90535         See Debian bug 136249 (still outstanding) for more info about why
90536         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
90537
90538 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90539
90540         Exit-status fix from coreutils.
90541
90542         Use exit_failure consistently in place of EXIT_FAILURE,
90543         so that program exit statuses are consistent on failure.
90544
90545         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
90546         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
90547         * lib/argmatch.h: Comment fix to match the above.
90548         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
90549         Now a macro referring to exit_failure, instead of a separate
90550         variable.  Include "exitfail.h" to get it.
90551         * lib/xstrtol.h: Include "exitfail.h".
90552         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
90553
90554         * lib/long-options.c (parse_long_options): Use prototype
90555         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
90556         for clarity.
90557
90558 2004-01-21  Jim Meyering  <jim@meyering.net>
90559
90560         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
90561         so as not to conflict with a different-sized __mktime_internal
90562         function in GNU libc.
90563         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
90564         Problem building statically-linked `ls' reported by Michael Brunnbauer.
90565
90566 2004-01-20  Karl Berry  <karl@gnu.org>
90567
90568         * config/config.guess: update from config.
90569
90570         * config/srclistvars.sh: GNUWWWLICENSES for karl.
90571
90572 2004-01-20  Bruno Haible  <bruno@clisp.org>
90573
90574         Safer stack allocation.
90575         * lib/setenv.c: Include allocsa.h.
90576         (alloca): Remove fallback definition.
90577         (freea): Remove macro.
90578         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
90579         instead of freea.
90580
90581 2004-01-20  Bruno Haible  <bruno@clisp.org>
90582
90583         * m4/eealloc.m4: New file, from GNU gettext.
90584
90585 2004-01-20  Bruno Haible  <bruno@clisp.org>
90586
90587         * m4/allocsa.m4: New file, from GNU gettext.
90588
90589 2004-01-20  Bruno Haible  <bruno@clisp.org>
90590
90591         * lib/xallocsa.h: New file, from GNU gettext.
90592         * lib/xallocsa.c: New file, from GNU gettext.
90593
90594 2004-01-20  Bruno Haible  <bruno@clisp.org>
90595
90596         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
90597
90598 2004-01-20  Bruno Haible  <bruno@clisp.org>
90599
90600         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
90601         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
90602         specially.
90603
90604 2004-01-20  Bruno Haible  <bruno@clisp.org>
90605
90606         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
90607         patch.
90608
90609 2004-01-20  Bruno Haible  <bruno@clisp.org>
90610
90611         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
90612
90613 2004-01-20  Bruno Haible  <bruno@clisp.org>
90614
90615         * lib/eealloc.h: New file.
90616
90617 2004-01-20  Bruno Haible  <bruno@clisp.org>
90618
90619         * lib/binary-io.h: Avoid warnings on Cygwin.
90620
90621 2004-01-20  Bruno Haible  <bruno@clisp.org>
90622
90623         * lib/allocsa.h: New file, from GNU gettext.
90624         * lib/allocsa.c: New file, from GNU gettext.
90625
90626 2004-01-18  Karl Berry  <karl@gnu.org>
90627
90628         * doc/gpl.texi, doc/lgpl.texi: new files.
90629
90630 2004-01-18  Karl Berry  <karl@gnu.org>
90631
90632         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
90633         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
90634
90635 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90636
90637         Merge from coreutils.
90638
90639         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
90640         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
90641         (gl_DEFAULT_POSIX2_VERSION): Move
90642         the documentation from 'configure' into 'config.hin',
90643         so that 'configure --help' isn't burdened by it and
90644         we don't have to worry about its formatting there.
90645         Reword the documentation so that it's more succinct
90646         and can be run together into a single paragraph.
90647         * m4/same.m4 (gl_SAME): Check for pathconf.
90648
90649 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90650
90651         Merge from coreutils.
90652
90653         * lib/posixver.c: Include posixver.h.
90654
90655         * lib/same.c: Include <stdbool.h>, <limits.h>.
90656         (_POSIX_NAME_MAX): Define if not defined.
90657         (MIN): New macro.
90658         (same_name): If file names are silently truncated, report
90659         that the file names are the same if they are the same after
90660         the silent truncation.
90661
90662         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
90663         conversion function.
90664         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
90665         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
90666         longer needed.
90667
90668 2004-01-15  Jim Meyering  <jim@meyering.net>
90669
90670         Merge from coreutils.
90671
90672         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
90673         if no library is required.
90674         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
90675         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
90676         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
90677         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
90678         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
90679         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
90680         value, $ac_cv_search_crypt, if it's "none required".
90681         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
90682         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
90683         not gl_FUNC_GETLOADAVG.
90684         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
90685         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
90686
90687 2004-01-15  Jim Meyering  <jim@meyering.net>
90688
90689         Merge from coreutils.
90690
90691         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
90692         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
90693         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
90694
90695         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
90696         optional configure-time default.
90697
90698         * lib/version-etc.c (version_etc_copyright): Update copyright date.
90699
90700         * lib/xreadlink.c (xreadlink): Correct outdated comment.
90701
90702 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
90703
90704         Merge from coreutils.
90705
90706         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
90707         value, $ac_cv_search_nanosleep, if it's "none required".
90708
90709 2004-01-14  Paul Eggert  <eggert@twinsun.com>
90710
90711         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
90712         with like-named macro in fnmatch.c.
90713         (EXT): Use an internal constant instead.
90714
90715         Merge fnmatch patches from glibc.
90716         * lib/fnmatch.c (mbsinit): Remove define.
90717         Add libc_hidden_ver (__fnmatch, fnmatch).
90718         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
90719         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
90720
90721 2004-01-14  Karl Berry  <karl@gnu.org>
90722
90723         * config/install-sh: update from automake.
90724
90725 2004-01-13  Karl Berry  <karl@gnu.org>
90726
90727         * config/install-sh: update from automake.
90728
90729 2004-01-09  Karl Berry  <karl@gnu.org>
90730
90731         * config/install-sh: update from automake.
90732
90733 2004-01-05  Karl Berry  <karl@gnu.org>
90734
90735         * config/config.{sub,guess}: update from config.
90736
90737 2003-12-31  Karl Berry  <karl@gnu.org>
90738
90739         * config/depcomp: update from automake.
90740
90741 2003-12-14  Karl Berry  <karl@gnu.org>
90742
90743         * lib/config.charset: update from gettext-runtime.
90744
90745 2003-12-03  Paul Eggert  <eggert@twinsun.com>
90746
90747         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
90748         Bug reported by Alfred M. Szmidt.
90749
90750 2003-12-03  Bruno Haible  <bruno@clisp.org>
90751
90752         * m4/gettext.m4: Upgrade from gettext-0.13.
90753         * m4/po.m4: Upgrade from gettext-0.13.
90754         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
90755         * m4/intmax.m4: New file, from gettext-0.13.
90756         * m4/printf-posix.m4: New file, from gettext-0.13.
90757
90758 2003-11-29  Karl Berry  <karl@gnu.org>
90759
90760         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
90761
90762 2003-11-25  Paul Eggert  <eggert@twinsun.com>
90763             Bruno Haible  <bruno@clisp.org>
90764
90765         * lib/printf-parse.h: Don't include sys/types.h.
90766         (ARG_NONE): New macro.
90767         (char_directive): Change type of *arg_index fields to size_t.
90768         * lib/printf-parse.c: Don't include sys/types.h.
90769         (SSIZE_MAX): Remove macro.
90770         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
90771         Remove unnecessary overflow check.
90772         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
90773         fields.
90774
90775 2003-11-25  Bruno Haible  <bruno@clisp.org>
90776
90777         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
90778
90779 2003-11-25  Bruno Haible  <bruno@clisp.org>
90780
90781         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
90782         gt_TYPE_SSIZE_T.
90783
90784 2003-11-24  Paul Eggert  <eggert@twinsun.com>
90785
90786         * modules/alloca: Remove dependency on xalloc.
90787
90788 2003-11-24  Paul Eggert  <eggert@twinsun.com>
90789
90790         * lib/alloca.c: Remove dependency on xalloc module.
90791         (xalloc_die): Remove.
90792         (memory_full) [!defined emacs]: New macro.
90793         [!defined emacs]: Don't include xalloc.h.
90794         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
90795         address arithmetic overflows.  Change datatypes a bit to avoid
90796         unnecessary casts.
90797
90798 2003-11-22  Jim Meyering  <jim@meyering.net>
90799
90800         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
90801         s/size/size_t/.
90802
90803 2003-11-21  Karl Berry  <karl@gnu.org>
90804
90805         * config/config.{sub,guess}: update from config.
90806
90807 2003-11-18  Karl Berry  <karl@gnu.org>
90808
90809         * config/config.{sub,guess}: update from config.
90810
90811         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
90812
90813 2003-11-17  Paul Eggert  <eggert@twinsun.com>
90814
90815         * README: Mention that S+T cannot overflow if S is the size of
90816         an existing object and T is sufficiently small.
90817
90818 2003-11-17  Jim Meyering  <jim@meyering.net>
90819
90820         On systems without utime and without a utimes function capable of
90821         dealing with a NULL struct utimbuf* argument, this utime replacement
90822         could -- in unusual circumstances -- leak a file descriptor.
90823         * lib/utime.c: Include <unistd.h> and <errno.h>.
90824         (utime_null): Be sure to close `fd' and to preserve errno.
90825         Reported by Geoff Collyer via Arnold Robbins.
90826
90827 2003-11-17  Bruno Haible  <bruno@clisp.org>
90828
90829         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
90830         (Depends-on): Add xsize.
90831
90832 2003-11-17  Bruno Haible  <bruno@clisp.org>
90833
90834         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
90835
90836 2003-11-17  Bruno Haible  <bruno@clisp.org>
90837
90838         * lib/vasnprintf.c (alloca): Remove fallback definition.
90839         (freea): Remove definition.
90840         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
90841         Reported by Paul Eggert.
90842
90843 2003-11-16  Paul Eggert  <eggert@twinsun.com>
90844             Bruno Haible  <bruno@clisp.org>
90845
90846         Protect against address arithmetic overflow.
90847         * lib/printf-args.h: Include stddef.h.
90848         (arguments): Change type of field 'count' to size_t.
90849         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
90850         'unsigned int' where appropriate.
90851         * lib/printf-parse.h: Include sys/types.h.
90852         (char_directive): Change type of *arg_index fields to ssize_t.
90853         (char_directives): Change type of fields 'count', max_*_length to
90854         size_t.
90855         * lib/printf-parse.c: Include sys/types.h and xsize.h.
90856         (SSIZE_MAX): Define fallback value.
90857         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
90858         instead of 'int' where appropriate. Check a_allocated, d_allocated
90859         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
90860         * lib/vasnprintf.c: Include xsize.h.
90861         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
90862         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
90863         overflow. Avoid wraparound when converting a width or precision from
90864         decimal to binary.
90865
90866 2003-11-16  Bruno Haible  <bruno@clisp.org>
90867
90868         Update from GNU gettext.
90869         * lib/printf-parse.c: Generalize to it can be compiled for wide
90870         strings.
90871         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
90872         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
90873         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
90874         SNPRINTF): New macros.
90875         Don't include <alloca.h> if the file is used inside libintl.
90876         (local_wcslen): New function, for Solaris 2.5.1.
90877         (VASNPRINTF): Use it instead of wcslen.
90878
90879 2003-11-16  Bruno Haible  <bruno@clisp.org>
90880
90881         * lib/xsize.h (xmax): New function.
90882         (xsum, xsum3, xsum4): Declare as "pure" functions.
90883
90884 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90885
90886         * modules/xalloc (Files): Undo latest change, since xalloc.h
90887         no longer needs SIZE_MAX or PTRDIFF_MAX.
90888
90889 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90890
90891         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
90892         gl_PTRDIFF_MAX.
90893
90894 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90895
90896         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
90897         "return", to pacify some unknown compiler.  Problem reported
90898         by Joerg Schilling.
90899
90900 2003-11-12  Paul Eggert  <eggert@twinsun.com>
90901
90902         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
90903         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
90904         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
90905         heuristic is just as accurate as far as we know, and it removes a
90906         dependency on size_max.m4 and ptrdiff_max.m4.
90907
90908 2003-11-11  Bruno Haible  <bruno@clisp.org>
90909
90910         * modules/xsize (Files): Add m4/size_max.m4.
90911         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
90912
90913 2003-11-11  Bruno Haible  <bruno@clisp.org>
90914
90915         * m4/size_max.m4: New file.
90916         * m4/ptrdiff_max.m4: New file.
90917         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
90918         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
90919         (gl_XALLOC): Invoke it.
90920
90921 2003-11-11  Bruno Haible  <bruno@clisp.org>
90922
90923         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
90924         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
90925         defined.
90926
90927 2003-11-10  Paul Eggert  <eggert@twinsun.com>
90928
90929         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
90930         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
90931         rejected some allocations of exactly SIZE_MAX - 2 bytes.
90932         From Bruno Haible.
90933         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
90934         not (size_t) -1, since it's defined here.
90935
90936 2003-11-09  Karl Berry  <karl@gnu.org>
90937
90938         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
90939
90940 2003-11-06  Paul Eggert  <eggert@twinsun.com>
90941
90942         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
90943         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
90944         Reject sizes of exactly SIZE_MAX bytes.
90945         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
90946         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
90947
90948 2003-11-05  Bruno Haible  <bruno@clisp.org>
90949
90950         * lib/xsize.h: Include limits.h, to avoid a possible collision with
90951         SIZE_MAX defined in <limits.h> on Solaris.
90952
90953 2003-11-04  Jim Meyering  <jim@meyering.net>
90954
90955         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
90956         variable names, rather than @VAR@.
90957         * modules/poll: Likewise.
90958
90959 2003-11-04  Bruno Haible  <bruno@clisp.org>
90960
90961         * modules/xsize: New file.
90962         * modules/linebreak: Depend on xsize.
90963         * MODULES.html.sh (func_all_modules): Add xsize.
90964
90965 2003-11-04  Bruno Haible  <bruno@clisp.org>
90966
90967         * m4/xsize.m4: New file.
90968
90969 2003-11-04  Bruno Haible  <bruno@clisp.org>
90970
90971         * lib/xsize.h: New file.
90972         * lib/linebreak.c: Include xsize.h.
90973         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
90974         argument for overflow.
90975         Suggested by Paul Eggert.
90976
90977 2003-11-03  Karl Berry  <karl@gnu.org>
90978
90979         * config/config.{guess,sub}: update from config.
90980
90981 2003-11-03  Jim Meyering  <jim@meyering.net>
90982
90983         * modules/userspec (lib_SOURCES): Add userspec.h.
90984         (Include): Add "userspec.h".
90985         Improve description.
90986
90987 2003-11-03  Jim Meyering  <jim@meyering.net>
90988
90989         * lib/userspec.c: Include "userspec.h".
90990         * lib/userspec.h: New file.
90991
90992 2003-11-03  Bruno Haible  <bruno@clisp.org>
90993
90994         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
90995
90996 2003-11-03  Bruno Haible  <bruno@clisp.org>
90997
90998         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
90999         available, to avoid (extremely rare) race condition.
91000         Suggested by Paul Eggert.
91001
91002 2003-11-02  Karl Berry  <karl@gnu.org>
91003
91004         * config/srclist.txt (vasprintf.c): sync broken, sigh.
91005
91006 2003-10-31  Paul Eggert  <eggert@twinsun.com>
91007
91008         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
91009         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
91010         (read_filesystem_list): Set and use me_type_malloced.
91011         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
91012         whatever the type happens to be), for brevity and consistency.
91013         Check for size calculation overflow on Alphas running OSF/1.
91014
91015 2003-10-31  Jim Meyering  <jim@meyering.net>
91016
91017         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
91018
91019         * lib/linebuffer.c: Include <string.h> for declaration of memset.
91020
91021 2003-10-30  Paul Eggert  <eggert@twinsun.com>
91022             Bruno Haible  <bruno@clisp.org>
91023
91024         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
91025         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
91026
91027 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
91028
91029         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
91030         netbsd*-gnu*.  Suggested by Robert Millan.
91031
91032 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91033
91034         * modules/group-member: Depend on stdbool.
91035
91036 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91037
91038         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
91039
91040 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91041
91042         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
91043         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
91044         after the 'gnu' in these cases.  This fixes some bugs in the
91045         previous change, and is based on suggestions by Robert Millan.
91046
91047 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91048
91049         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
91050         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
91051         no longer needed.
91052         * lib/quotearg.c (quotearg_n_options): Use it.
91053         * lib/group-member.c: Include <stdbool.h>.
91054         (free_group_info): Arg is now const *; don't free arg.
91055         (get_group_info): Now returns bool and accepts struct group_info *,
91056         rather than returning a malloc'ed struct group_info *.
91057         All uses changed.  Check for overflow in internal size calculation.
91058
91059         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
91060         rather than xmalloc/xrealloc.
91061         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
91062         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
91063         conformance bug: the old code used a pointer after freeing the
91064         storage that it addressed.
91065         * lib/hash.c (hash_initialize): Simplify the code by using
91066         xalloc_oversized rather than doing it by hand.
91067         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
91068         the buffer preserved.  Use free and xmalloc instead.
91069         * lib/quotearg.c (quotearg_n_options): Likewise.
91070         Use a simpler test for size overflow.  Don't use xalloc_oversized
91071         because unsigned int might be wider than size_t (!); this suggests
91072         that we should switch from unsigned int to size_t for slot numbers.
91073
91074 2003-10-28  Paul Eggert  <eggert@twinsun.com>
91075
91076         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
91077         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
91078         NetBSD kernels.  Requested by Richard Stallman.
91079
91080 2003-10-27  Paul Eggert  <eggert@twinsun.com>
91081
91082         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
91083         to allocate the returned structure.  Do not allocate a subarray,
91084         as x2nrealloc will do that.
91085         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
91086         instead of xnrealloc.
91087         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
91088
91089 2003-10-27  Bruno Haible  <bruno@clisp.org>
91090
91091         * lib/stdbool_.h: Better support for BeOS.
91092
91093 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91094
91095         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
91096         now uses inline.
91097
91098 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91099
91100         * lib/xalloc.h (xalloc_oversized): New static inline function, for
91101         callers that want to do their own size-overflow checking.  Include
91102         <stdbool.h>, since xalloc_oversized returns bool.
91103         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
91104         to use xalloc_oversized.
91105
91106         Add two functions x2realloc, x2nrealloc, for programs that grow
91107         arrays dynamically by doubling their sizes.
91108         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
91109         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
91110         New functions.
91111
91112         Port to C99 semantics for 'inline' of external functions.
91113         Bug reported by Bruno Haible.
91114         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
91115         with the old contents of xnmalloc.
91116         (xnmalloc, xmalloc): Use it.
91117         (xnrealloc_inline): New static inline function,
91118         with the old contents of xnrealloc.
91119         (xnrealloc, xrealloc): Use it.
91120
91121         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
91122         that.
91123
91124 2003-10-26  Karl Berry  <karl@gnu.org>
91125
91126         * config/srclist.txt (COPYING.DOC): no longer available from
91127         /gd/gnuorg; don't know where the ultimate source is.
91128
91129 2003-10-25  Paul Eggert  <eggert@twinsun.com>
91130
91131         Fix several address-calculation bugs in the hash modules,
91132         plus some minor code cleanup.
91133
91134         * lib/hash.h: Include <stdbool.h>, for bool.
91135         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
91136         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
91137         hash_get_n_entries, hash_get_max_bucket_length,
91138         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
91139         hash_rehash): Use size_t rather than unsigned.
91140         * lib/hash.c (struct hash_table, hash_get_n_buckets,
91141         hash_get_n_buckets_used, hash_get_n_entries,
91142         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
91143         hash_get_entries, hash_do_for_each, hash_string, is_prime,
91144         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
91145         Likewise.
91146         (SIZE_MAX): Define if not defined.
91147         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
91148         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
91149         hash_print):
91150         Use const * when possible.
91151         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
91152         (check_tuning): Fix bug: if tuning parameters were very close to
91153         0 or 1, rounding errors could have caused subscript violations.
91154         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
91155         (hash_initialize): Add 'fail:' label
91156         to free table and return NULL, and use it to simplify code.
91157         Use calloc rather than clearing the storage ourself.
91158         (hash_initialize, hash_rehash): Check for arithmetic overflow in
91159         buffer size calculations.
91160         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
91161         Include <stddef.h>, for size_t.
91162         * lib/hash-pjw.c (hash_pjw): Likewise.
91163         Switch to method described by Bruno Haible.
91164         Include <limits.h>, for CHAR_BIT.
91165         (SIZE_BITS): New macro.
91166
91167 2003-10-23  Paul Eggert  <eggert@twinsun.com>
91168
91169         * m4/getline.m4 (AM_FUNC_GETLINE):
91170         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
91171         hosts.  Problem reported by Derek Robert Price in
91172         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
91173         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
91174         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
91175
91176 2003-10-21  Paul Eggert  <eggert@twinsun.com>
91177
91178         * lib/getndelim2.c (getndelim2): When size calculation overflows,
91179         ceiling the allocation at NMAX bytes rather than silently
91180         discarding input bytes before NMAX is reached.  This makes
91181         a difference only if NMAX exceeds SIZE_MAX / 2.
91182
91183         * lib/obstack.c: Merge from glibc.
91184         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
91185         Add libc_hidden_def (_obstack_newchunk).
91186         (_obstack_free) [! defined _LIBC]: Remove.
91187         [defined _LIBC]: Make a strong alias from obstack_free, rather than
91188         a clone of the function body.
91189         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
91190         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
91191
91192         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
91193         glibc.
91194         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
91195         arg to memcpy.
91196
91197         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
91198         (obstack_ptr_grow_fast, obstack_int_grow_fast):
91199         Don't use lvalue casts, as GCC plans to remove support for them
91200         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
91201         was also present in the non-GCC version, indicating that this
91202         code had always been buggy and had never been widely used.
91203         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
91204         Use the fast variant of each macro, rather than copying the
91205         definiens of the fast variant; that way, we'll be more likely to
91206         catch future bugs in the fast variants.
91207
91208 2003-10-20  Bruno Haible  <bruno@clisp.org>
91209
91210         * modules/wait-process: New file.
91211         * MODULES.html.sh (func_all_modules): Add wait-process.
91212
91213 2003-10-20  Bruno Haible  <bruno@clisp.org>
91214
91215         * m4/wait-process.m4: New file.
91216
91217 2003-10-20  Bruno Haible  <bruno@clisp.org>
91218
91219         * lib/wait-process.h: New file, from GNU gettext.
91220         * lib/wait-process.c: New file, from GNU gettext.
91221
91222 2003-10-19  Jim Meyering  <jim@meyering.net>
91223
91224         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
91225         HPUX 10.20.
91226
91227 2003-10-18  Karl Berry  <karl@gnu.org>
91228
91229         * config/config.guess: update from config.
91230
91231 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91232
91233         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
91234         (getgroups): First arg is int, not size_t.
91235         Don't let 'free' mangle errno.
91236
91237 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91238
91239         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
91240
91241 2003-10-16  Karl Berry  <karl@gnu.org>
91242
91243         * config/config.{guess,sub}: update from config.
91244
91245 2003-10-16  Jim Meyering  <jim@meyering.net>
91246
91247         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
91248         memcpy.
91249
91250 2003-10-15  Paul Eggert  <eggert@twinsun.com>
91251
91252         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
91253         (SIZE_MAX): Remove.
91254         (new_exclude, add_exclude_file): Initial size no longer needs to
91255         be a power of 2.
91256         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
91257         our own address arithmetic overflow checking.
91258
91259         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
91260         (fnmatch): Do not alloca more than 2000 wide characters;
91261         instead, use malloc for large buffers.
91262         Check for address arithmetic overflow, and return -1
91263         with errno set to ENOMEM in that case.
91264         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
91265         (NEW_PATTERN): Do not alloca more than 8000 bytes;
91266         instead, return -1.  Check for address arithmetic overflow.
91267
91268 2003-10-14  Paul Eggert  <eggert@twinsun.com>
91269
91270         Handle invalid suffixes and overflow independently, so that
91271         callers can treat them independently as needed.  Fix some bugs in
91272         suffix handling, e.g., "100k@" was not diagnosed as an invalid
91273         suffix for a human-readable blocksize.  The major caller-visible
91274         change is the addition of a new
91275         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
91276         that both overflow and suffix chars were found.
91277
91278         * lib/human.c (humblock): Don't check separately for invalid suffix
91279         char; that is xstrtoumax's job (now that its bug is fixed).
91280         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
91281         INTMAX_MAX]: New macros.
91282         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
91283         TYPE_MAXIMUM): New macros.
91284         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
91285         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
91286         if overflow occurs, as it's what __strtol does and it's more useful
91287         in practice.
91288         (__xstrtol): If __strtol reports some error other than ERANGE,
91289         reflect it to the caller as LONGINT_INVALID.  If it reports
91290         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
91291         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
91292         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
91293         value.
91294         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
91295         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
91296         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
91297         [defined UINTMAX_MAX]: New macros.
91298
91299 2003-10-14  Bruno Haible  <bruno@clisp.org>
91300
91301         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
91302
91303 2003-10-14  Bruno Haible  <bruno@clisp.org>
91304
91305         * m4/sig_atomic_t: New file, from GNU gettext.
91306         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
91307
91308 2003-10-14  Bruno Haible  <bruno@clisp.org>
91309
91310         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
91311         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
91312         Also use volatile where needed.
91313
91314 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91315
91316         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
91317         Change maintainer from Bruno Haible to 'all'.
91318
91319 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91320
91321         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
91322
91323 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91324
91325         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
91326         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
91327         and define in terms of the other primitives.
91328         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
91329         (SIZE_MAX): Define if not already defined.
91330         (array_size_overflow): New function.
91331         (xalloc_die): Abort instead of exiting if 'error' returns.
91332         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
91333         (xmalloc, xrealloc): Use them.
91334         (xcalloc): Check for address arithmetic overflow.
91335         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
91336         a bit faster than strcpy.
91337
91338 2003-10-10  Simon Josefsson  <jas@extundo.com>
91339
91340         * modules/argp (Depends-on): Add restrict and strcase.
91341
91342 2003-10-10  Simon Josefsson  <jas@extundo.com>
91343
91344         * m4/argp.m4: Add AC_C_INLINE.
91345
91346 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91347
91348         Merge getpass from libc, plus a few fixes.
91349
91350         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
91351         Include <stdbool.h>.
91352         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
91353         __fsetlocking to empty.
91354         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
91355         do include <bits/libc-lock.h>.
91356         Do not include <fcntl.h>; not needed.
91357         [_LIBC]: Include <wchar.h>.
91358         (NOTCANCEL_MODE): New macro.
91359         (flockfile, funlockfile) [_LIBC]: New macros.
91360         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
91361         [!_LIBC]: New macros.
91362         (call_fclose): New function.
91363         (getpass): Use it.  Save tty stream separately; this simplifies the
91364         code and makes it more reliable if stdin happens to equal stdout.
91365         Invoke __fsetlocking on tty.
91366         Handle thread cancellation if needed.
91367         Namespace cleanup (use __tcgetattr, __getline).
91368         Use bool for Booleans.
91369         [USE_IN_LIBIO]: Handle wide streams.
91370         [!_LIBC]: Unconditionally do the fseek, since we don't know what
91371         stream might go where.
91372
91373         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
91374         doesn't have to include <stdio.h> before us.
91375         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
91376         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
91377         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
91378         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
91379         if not declared, so that we can use getpass.c code from libc without
91380         rewriting it.
91381         (flockfile, ftrylockfile, funlockfile): New macros.
91382
91383 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91384
91385         * modules/getpass: Depend on stdbool.
91386
91387 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91388
91389         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
91390
91391 2003-10-07  Karl Berry  <karl@gnu.org>
91392
91393         * config/config.{guess,sub}: update from config.
91394
91395 2003-10-06  Jim Meyering  <jim@meyering.net>
91396             Bruno Haible  <bruno@clisp.org>
91397
91398         This lets translators provide better translations for the
91399         "Written by ..." part of --version output.
91400         * lib/version-etc.h: Include stdarg.h.
91401         (version_etc_copyright): Declare as readonly.
91402         (version_etc): Make this function variadic with a NULL-terminated list
91403         of author name strings.
91404         (version_etc_va): New declaration.
91405         * lib/version-etc.c: Include stdarg.h, stdlib.h.
91406         (version_etc_copyright): Declare as readonly.
91407         (version_etc_va): New function. Provide a different translatable string
91408         for each possible number of authors < 10. Abbreviate when there are 10
91409         authors or more.
91410         (version_etc): Make this function variadic. Call version_etc_va.
91411         Suggestion from Gary V. Vaughan.
91412
91413         * lib/long-options.h (parse_long_options): Change prototype: the
91414         authors string is moved to the end and becomes variadic.
91415         * lib/long-options.c: Include stdarg.h.
91416         (parse_long_options): Make this function variadic, too.
91417         Call version_etc_va, not version_etc.
91418
91419 2003-10-06  Bruno Haible  <bruno@clisp.org>
91420
91421         * modules/version-etc-2: Remove file.
91422         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
91423
91424 2003-10-06  Bruno Haible  <bruno@clisp.org>
91425
91426         * modules/fatal-signal: New file.
91427         * MODULES.html.sh (func_all_modules): Add fatal-signal.
91428
91429 2003-10-06  Bruno Haible  <bruno@clisp.org>
91430
91431         * m4/fatal-signal.m4: New file.
91432         * m4/signalblocking.m4: New file, from GNU gettext.
91433
91434 2003-10-06  Bruno Haible  <bruno@clisp.org>
91435
91436         * lib/version-etc-2.h: Remove file.
91437         * lib/version-etc-2.c: Remove file.
91438
91439 2003-10-06  Bruno Haible  <bruno@clisp.org>
91440
91441         * lib/fatal-signal.h: New file, from GNU gettext.
91442         * lib/fatal-signal.c: New file, from GNU gettext.
91443
91444 2003-10-05  Paul Eggert  <eggert@twinsun.com>
91445
91446         * README: Rework advice for preventing empty .o files.
91447         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
91448         not <sys/types.h>.
91449
91450 2003-10-04  Karl Berry  <karl@gnu.org>
91451
91452         * lib/argp*: update from libc.
91453
91454 2003-10-04  Karl Berry  <karl@gnu.org>
91455
91456         * config/config.{guess,sub}: update from config.
91457
91458 2003-10-02  Bruno Haible  <bruno@clisp.org>
91459
91460         * modules/lchown (Include): Add lchown.h.
91461         * modules/time_r (Include): Use "..." syntax.
91462         * modules/xgetdomainname (Include): Add xgetdomainname.h.
91463
91464 2003-10-01  Simon Josefsson  <jas@extundo.com>
91465
91466         * MODULES.html.sh (func_all_modules): Move gethostname from section
91467         'based on' to section 'lacking' POSIX:2001.
91468
91469 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
91470
91471         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
91472         to output mode on the same stream.
91473
91474 2003-09-29  Paul Eggert  <eggert@twinsun.com>
91475
91476         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
91477         Fix arg typo in previous patch.
91478
91479 2003-09-28  Jim Meyering  <jim@meyering.net>
91480
91481         * lib/error.c: Correct cpp indentation.
91482
91483 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91484
91485         * modules/free: New file.
91486
91487 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91488
91489         * m4/free.m4: New file.
91490
91491 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91492
91493         * lib/minmax.h (MIN, MAX)
91494         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
91495         Omit the special code that used __typeof__, since we worry that
91496         it could be more trouble than it's worth.  See:
91497         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
91498         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
91499
91500         * lib/free.c: New file.
91501
91502 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
91503
91504         Trivial fixes to Makefile.am parts of module listings.
91505         * modules/strstr: Append strstr.h to lib_SOURCES.
91506         * modules/strcase: Likewise, for strcase.h.
91507
91508 2003-09-27  Karl Berry  <karl@gnu.org>
91509
91510         * config/mkinstalldirs: update from automake.
91511
91512 2003-09-26  Paul Eggert  <eggert@twinsun.com>
91513
91514         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
91515         (error_tail): Do not loop, reallocating temporary buffer, since
91516         the output cannot contain more wide characters than the input
91517         contains bytes, the size must be big enough already.  This avoids
91518         one potential size overflow calculation.  Check for size overflow
91519         when calculating temporary buffer size.  Free temporary buffer
91520         when done, if it was allocated with malloc; this plugs a memory
91521         leak.  Remove casts from void * to pointers, that are no longer
91522         needed now that we're assuming C89 or better.
91523
91524         Merge error changes from glibc.
91525
91526         * lib/error.c, error.h: Update copyright notice header to match glibc.
91527         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
91528         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
91529         Disable cancellation while printing error.
91530         * lib/error.h: Prepend __ to parameter names.
91531
91532 2003-09-26  Jim Meyering  <jim@meyering.net>
91533
91534         * lib/error.c (error_tail): Move some declarations
91535         into inner scope where the local variables are used.
91536
91537 2003-09-26  Bruno Haible  <bruno@clisp.org>
91538
91539         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
91540         stpncpy().
91541         Don't define stpncpy through config.h; it's now done through stpncpy.h.
91542
91543 2003-09-26  Bruno Haible  <bruno@clisp.org>
91544
91545         * lib/stpncpy.h (gnu_stpncpy): New declaration.
91546         (stpncpy): Define as alias for gnu_stpncpy.
91547         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
91548
91549 2003-09-25  Simon Josefsson  <jas@extundo.com>
91550
91551         * lib/xgetdomainname.h: New file.
91552         * lib/xgetdomainname.c: New file.
91553
91554 2003-09-25  Simon Josefsson  <jas@extundo.com>
91555             Bruno Haible  <bruno@clisp.org>
91556
91557         * modules/getdomainname: New file.
91558         * modules/xgetdomainname: New file.
91559         * MODULES.html.sh (func_all_modules): Add getdomainname,
91560         xgetdomainname.
91561
91562 2003-09-25  Simon Josefsson  <jas@extundo.com>
91563             Bruno Haible  <bruno@clisp.org>
91564
91565         * m4/getdomainname.m4: New file.
91566
91567 2003-09-25  Simon Josefsson  <jas@extundo.com>
91568             Bruno Haible  <bruno@clisp.org>
91569
91570         * lib/getdomainname.h: New file.
91571         * lib/getdomainname.c: New file.
91572
91573 2003-09-25  Karl Berry  <karl@gnu.org>
91574
91575         * lib/argp-fmtstream.c, argp-help.c: update from libc.
91576
91577 2003-09-25  Karl Berry  <karl@gnu.org>
91578
91579         * config/install-sh: update from automake.
91580
91581 2003-09-25  Bruno Haible  <bruno@clisp.org>
91582
91583         * modules/version-etc-2: New file, from modules/version-etc with
91584         modifications.
91585         * MODULES.html.sh (func_all_modules): Add version-etc-2.
91586
91587 2003-09-25  Bruno Haible  <bruno@clisp.org>
91588
91589         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
91590         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
91591
91592 2003-09-24  Simon Josefsson  <jas@extundo.com>
91593
91594         * modules/xgethostname: Add xgethostname.h.
91595
91596 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91597
91598         * lib/linebuffer.c (freebuffer): Don't free the argument, just
91599         the buffer associated with the argument.  Bug reported by
91600         Simon Josefsson.
91601
91602 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91603
91604         * README: Document assumptions that 'int' is at least 32 bits
91605         wide, that integer arithmetic is 2's complement without overflow,
91606         that there are no holes in integer values, that adding sizes of
91607         two nonoverlapping objects can't overflow, and that all-bits-zero
91608         yields scalar zero.  Fix spelling and capitalization typos.
91609
91610 2003-09-19  Karl Berry  <karl@gnu.org>
91611
91612         * lib/argp.h: update from libc.
91613
91614 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91615
91616         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
91617         to avoid spurious warnings like "AC_RUN_IFELSE was called before
91618         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
91619
91620 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91621
91622         * gnulib-tool: Use "test -h", not "test -L", for portability
91623         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
91624         (tags_regexp): Remove, since \| doesn't conform to POSIX.
91625         (sed_extract_prog): Issue s commands one-by-one, rather than
91626         using \| in one s command.
91627
91628 2003-09-16  Paul Eggert  <eggert@twinsun.com>
91629
91630         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
91631         input error, instead of returning NULL the next time we are called
91632         (and therefore losing track of errno).
91633
91634 2003-09-16  Bruno Haible  <bruno@clisp.org>
91635
91636         * gnulib-tool (func_create_testdir): Warn about duplicated
91637         dependencies.
91638
91639 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91640
91641         * modules/argmatch, modules/fatal, modules/obstack,
91642         modules/xalloc, modules/xgethostname: Sort dependencies by
91643         importance, not alphabetically.
91644
91645 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91646
91647         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
91648         fails, so that the caller gets the proper errno.
91649
91650         * lib/readutmp.c (read_utmp): Likewise.
91651         Check for fstat error.  Close stream and free storage
91652         when failing.
91653
91654 2003-09-14  Karl Berry  <karl@gnu.org>
91655
91656         * config/srclist.txt (strdup.c): disable for c89 changes.
91657
91658 2003-09-14  Jim Meyering  <jim@meyering.net>
91659
91660         * lib/getloadavg.c: Correct cpp indentation.
91661         * lib/strdup.c: Likewise.
91662         * lib/vasnprintf.c: Likewise.
91663
91664 2003-09-14  Bruno Haible  <bruno@clisp.org>
91665
91666         * modules/fwriteerror: New file.
91667         * MODULES.html.sh (func_all_modules): Add fwriteerror.
91668
91669 2003-09-14  Bruno Haible  <bruno@clisp.org>
91670
91671         * lib/fwriteerror.h: New file.
91672         * lib/fwriteerror.c: New file.
91673
91674 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91675
91676         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
91677         modules/xgethostname, modules/xalloc: Depend on exit.
91678
91679 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91680
91681         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
91682
91683         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
91684         and AC_MINIX, too, so that their extensions are available.
91685
91686         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
91687         This macro has been superseded by gl_BACKUPFILE.
91688
91689         More patches to assume C89 or better.
91690
91691         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
91692
91693         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
91694         unconditionally.
91695         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
91696         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
91697         Include <string.h>, <stdlib.h> unconditionally.
91698         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
91699         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
91700         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
91701         headers or for string.h.
91702         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
91703         or strtoul.
91704
91705         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
91706         headers.
91707         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
91708         * m4/userspec.m4 (gl_USERSPEC): Likewise.
91709         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
91710         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
91711         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
91712         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
91713         memcpy, memset.
91714         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
91715         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
91716         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
91717         strtol.
91718         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
91719         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
91720         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
91721         strtoul.
91722
91723 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91724
91725         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
91726         * lib/obstack.c [!defined _LIBC]: Likewise.
91727         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
91728         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
91729         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
91730
91731         More changes to assume C89 or better.
91732
91733         * lib/error.c (error_tail): Assume vprintf.
91734
91735         * lib/argmatch.c (getenv): Remove decl.
91736         * lib/progreloc.c (get_full_program_name): Define via prototype.
91737         * lib/setenv.c (clearenv): Likewise.
91738         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
91739         needed.
91740         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
91741         (malloc, memcpy): Remove decls.
91742         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
91743         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
91744         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
91745         (memcpy): Remove macro.
91746         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
91747         (__P): Remove.  All uses removed.
91748         (PTR): Remove.  All uses changed to void *.
91749         (CHAR_BIT, NULL): Remove.
91750         (spaces, zeros, memset_space, memset_zero)
91751         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
91752         Remove.
91753         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
91754         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
91755         Define with prototype.
91756         Remove now-unnecessary prototype decl.
91757         (extra_args_spec): Assume ANSI C.  All uses changed.
91758         (extra_args_spec_iso): Remove.
91759         (my_strftime, emacs_strftimeu): Define via prototype.
91760         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
91761         unconditionally.
91762         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
91763         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
91764         (strtoul, strtol): Remove decls.
91765         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
91766         LONG_MAX): Remove.
91767         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
91768         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
91769         (LOCALE_PARAM_PROTO): New macro.
91770         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
91771         (INTERNAL (strtol), strtol): Define with a prototype.
91772         (PARAMS): Remove.  All uses removed.
91773         * lib/tempname.c: Include <string.h> unconditionally.
91774         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
91775         * lib/xgethostname.c (main): Define with a prototype.
91776         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
91777         Include <stdlib.h> unconditionally.
91778         (calloc, malloc, realloc, free): Remove decls.
91779         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
91780         Include <stdlib.h> unconditionally.  Sort include file names.
91781         (strtod): Remove.
91782         (xstrtod): Define with a prototype.
91783         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
91784         (strtol, strtoul): Remove decls.
91785
91786 2003-09-11  Paul Eggert  <eggert@twinsun.com>
91787
91788         More patches to assume C89 or better.
91789         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
91790         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
91791         string.h, memchr, STDC_HEADERS.
91792
91793 2003-09-11  Paul Eggert  <eggert@twinsun.com>
91794
91795         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
91796         Include <stdlib.h>, <string.h> unconditionally.
91797         Remove now-unnecessary cast to char *.
91798         * lib/strnlen.c: Include <string.h> unconditionally.
91799         * lib/yesno.c (yesno): Define with a prototype.
91800
91801 2003-09-11  Bruno Haible  <bruno@clisp.org>
91802
91803         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
91804
91805 2003-09-10  Jim Meyering  <jim@meyering.net>
91806
91807         * lib/error.c: Correct indentation of cpp directives.
91808
91809 2003-09-10  Bruno Haible  <bruno@clisp.org>
91810
91811         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
91812         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
91813         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
91814         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
91815         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
91816         <stdlib.h> and <string.h> checks.
91817         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
91818         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
91819
91820 2003-09-10  Bruno Haible  <bruno@clisp.org>
91821
91822         * lib/strcspn.c: Include <string.h> unconditionally.
91823         * lib/strpbrk.c: Include <string.h> unconditionally.
91824         * lib/strstr.c: Include <string.h> unconditionally.
91825         * lib/unicodeio.c: Include <string.h> unconditionally.
91826         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
91827         * lib/unsetenv.c: Likewise.
91828         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
91829         * lib/yesno.c: Include <stdlib.h> unconditionally.
91830         (rpmatch): Add prototype.
91831
91832 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91833
91834         More patches to assume C89 or better.
91835         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
91836         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
91837         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
91838         or for string.h.
91839         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
91840         stdlib.h.
91841         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
91842         C headers.
91843         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
91844         string.h.
91845         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
91846         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
91847         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
91848         or for string.h.
91849         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
91850         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
91851         C headers.
91852         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
91853         memcpy.
91854         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
91855         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
91856         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
91857         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
91858         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
91859         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
91860         string.h, free.
91861         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
91862         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
91863         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
91864         C headers, or for string.h.
91865         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
91866         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
91867         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
91868         headers, memory.h, stdlib.h, string.h, strings.h.
91869         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
91870         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
91871         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
91872         strchr.
91873         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
91874         headers, memory.h, string.h.
91875         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
91876         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
91877         free.
91878         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
91879         headers.
91880         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
91881         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
91882         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
91883         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
91884         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
91885
91886 2003-09-09  Paul Eggert  <eggert@twinsun.com>
91887
91888         More K&R removal.
91889
91890         * lib/acosl.c (main): Use a prototype.
91891         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
91892         tanl.c: Likewise.
91893
91894         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
91895
91896         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
91897         (getopt, etopt_long, getopt_long_only, _getopt_internal)
91898         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
91899         with a prototype.
91900         * lib/getopt.c (const): Remove macro.
91901         Include <string.h> unconditionally.
91902         (my_index): Remove; all uses changed to strchr.
91903         (strlen): Remove decl.
91904         (exchange): Remove forward decl; no longer needed.
91905         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
91906         Define with prototype.
91907         * lib/getopt1.c (const): Remove macro.
91908         (getopt_long, getopt_long_only, main): Define with prototype.
91909
91910         * lib/getugroups.c: Include <string.h> unconditionally.
91911
91912         * lib/getusershell.c: Include <stdlib.h> unconditionally.
91913         (getusershell, setusershell, endusershell, readname, main):
91914         Define with prototypes.
91915
91916         * lib/group-member.c: Include group-member.h first.
91917         Include <stdlib.h> unconditionally.
91918
91919         * lib/hard-locale.c: Include hard-locale.h first.
91920         Include <stdlib.h>, <string.h> unconditionally.
91921
91922         * lib/hash.c (free, malloc): Remove decls.
91923         Include <stdlib.h> unconditionally.
91924
91925         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
91926         (getenv): Do not declare.
91927
91928         * lib/idcache.c: Include <string.h> unconditionally.
91929
91930         * lib/long-options.c: Include long-options.h first, to test interface.
91931         Include <stdlib.h> unconditionally.
91932
91933         * lib/makepath.c: Include makepath.h first, to test interface.
91934         Include <stdlib.h> and <string.h> unconditionally.
91935
91936         * lib/linebuffer.c: Include <stdlib.h>.
91937         (free): Remove decl.
91938
91939         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
91940         stddef.h. rpl_malloc returns void *, not char *.
91941         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
91942         prototype.
91943
91944         * lib/md5.h: Include <limits.h> unconditionally.
91945         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
91946         (__P): Remove; all uses removed.
91947         * lib/md5.c: Include "md5.h" first.
91948         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
91949         md5_buffer, md5_process_bytes, md5_process_block):
91950         Define with prototypes.
91951         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
91952         * lib/sha.c: Include "sha.h" first.
91953         Include <stdlib.h>, <string.h> unconditionally.
91954
91955         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
91956         * lib/memcmp.c (__ptr_t): Likewise.
91957         * lib/memrchr.c (__ptr_t): Likewise.
91958         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
91959         Include <string.h> unconditionally.
91960         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
91961         * lib/memchr.c: Include <stdlib.h> unconditionally.
91962         * lib/memchr.c (LONG_MAX): Remove.
91963         * lib/memrchr.c (LONG_MAX): Likewise.
91964         * lib/memchr.c (__memchr): Define via a prototype.
91965         * lib/memrchr.c (__memrchr): Likewise.
91966         * lib/memcmp.c (__P): Remove, and remove all uses.
91967         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
91968         Remove forward decls; no longer needed.
91969         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
91970         Use types required by C89 in prototype.
91971
91972         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
91973         * lib/savedir.c: Likewise.
91974         * lib/mkdir.c (free): Remove decl.
91975         * lib/rmdir.c (rmdir): Define with a prototype.
91976         * lib/savedir.c: Include savedir.h first, to test interface.
91977
91978         * lib/mktime.c (STDC_HEADERS): Remove.
91979         Include <stdlib.h>, <string.h> unconditionally.
91980
91981         * lib/modechange.c: Include <stdlib.h> unconditionally.
91982         (malloc): Remove decl.
91983
91984         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
91985         (free): Remove decl.
91986
91987         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
91988         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
91989         (This type really should be intptr_t, but that's a C99ism.)
91990         (_obstack_memcpy): Remove: all uses changed to memcpy.
91991         Include <string.h> unconditionally.
91992         (struct obstack): Assume __STDC__ for types of members
91993         chunkfun, freefun, extra_arg.
91994         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
91995         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
91996         obstack_begin, obstack_specify_allocation,
91997         obstack_specify_allocation_with_arg, obstack_chunkfun,
91998         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
91999         Remove unprototyped decls and the macros that use them.
92000         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
92001         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
92002         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
92003         (defined __STDC__ && __STDC__)]:
92004         Remove nonprototyped code.
92005         Include <stdlib.h> unconditionally.
92006         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
92007         _obstack_allocated_p, _obstack_free, obstack_free,
92008         _obstack_memory_used, print_and_abort):
92009         Define using prototypes.
92010         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
92011         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
92012         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
92013         obstack_next_free, obstack_object_size, obstack_room) [0]:
92014         Remove unused, unprototyped code.
92015
92016         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
92017
92018         * lib/physmem.c (physmem_total, physmem_available, main): Define
92019         with prototypes.
92020
92021         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
92022         (main): Define with a prototype.
92023
92024         * lib/posixver.c (getenv): Remove decl.
92025
92026         * lib/putenv.c (malloc): Returns void *, not char *.
92027         Include <string.h> unconditionally.
92028         (strchr, memcpy, NULL): Do not define.
92029
92030         * lib/readtokens.c: Include readtokens.h first, to test interface.
92031         Include <stdlib.h>, <string.h> unconditionally.
92032         (init_tokenbuffer): Define with a prototype.
92033
92034         * lib/regex.c (PARAMS): Remove.  All uses removed.
92035         All uses of _RE_ARGS removed, too.
92036         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
92037         unconditionally.
92038         (bzero): Assume memset exists.
92039         (memcmp, memcpy, NULL): Remove.
92040         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
92041         char, or assignments to local vars of type signed char.
92042         (init_syntax_once, PREFIX(extract_number_and_incr),
92043         PREFIX(print_partial_compiled_pattern),
92044         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
92045         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
92046         PREFIX(regex_grow_registers), PREFIX(regex_compile),
92047         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
92048         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
92049         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
92050         wcs_compile_range, byte_compile_range, truncate_wchar,
92051         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
92052         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
92053         count_mbs_length, wcs_re_match_2_internal,
92054         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
92055         PREFIX(alt_match_null_string_p),
92056         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
92057         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
92058         regfree, PREFIX(extract_number)): Define with prototype.  Remove
92059         now-unnecessary declaration, if any.
92060         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
92061         regcomp, regexec):
92062         Remove now-unnecessary casts among pointer types.
92063         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
92064
92065         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
92066         (free): Remove decl.
92067
92068         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
92069
92070         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
92071         (free): Remove decl.
92072
92073         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
92074         * lib/xgetcwd.c: Likewise.
92075
92076         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
92077         (free): Remove decl.
92078
92079         * lib/strchrnul.c (strchrnul): Define with a prototype.
92080         Fix bug: c_in was not converted to char before searching.
92081
92082         The following changes are not K&R related:
92083
92084         * lib/group-member.h: Include <sys/types.h>, so that this file is
92085         self-contained.
92086         * lib/makepath.h: Likewise.
92087
92088         * lib/getusershell.c (readname, default_index, line_size, readname):
92089         Use size_t, not int, for sizes.
92090         (readname): If the size overflows, report an error instead of
92091         looping forever.
92092
92093 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92094
92095         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
92096         libc.
92097
92098 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92099
92100         * README: New section: portability guidelines.
92101
92102 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92103
92104         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
92105         C89 spec.
92106
92107 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92108
92109         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
92110
92111 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92112
92113         Assume C89 or better; remove K&R cruft.
92114         A few of these changes were first proposed by Derek Robert Price
92115         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
92116
92117         * lib/addext.c: Include <string.h> unconditionally.
92118         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
92119         Don't declare getenv or malloc.
92120
92121         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
92122         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
92123         (NULL): Remove.
92124         (find_stack_direction, alloca): Use prototypes.
92125
92126         * lib/atexit.c (atexit): Define using a prototype.
92127
92128         * lib/basename.c, dirname.c, stripslash.c:
92129         Include <string.h> unconditionally.
92130
92131         * lib/bcopy.c: Include <stddef.h>.
92132         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
92133
92134         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
92135
92136         * lib/error.h (error, error_at_line, error_print_progname)
92137         [! (defined (__STDC__) && __STDC__)]: Remove decls.
92138         * lib/error.c: Include error.h first, to check interface.
92139         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92140         (VA_START): Remove; all uses changeed to va_start.
92141         (exit, strerror): Remove decls.
92142         (error_print_progname): Prototype uncondionally.
92143         Don't include <errno.h>; no longer needed.
92144         (private_strerror): Remove.
92145         (error_tail): Always define.
92146         (error, error_at_line): Assume C89 or better; always use prototypes.
92147         * lib/fatal.c: Include "fatal.h" first, to test interface.
92148         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92149         (VA_START): Remove; all uses changed to va_start.
92150         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
92151         this case.
92152         (exit): Remove decl.
92153         (fatal): Prototype unconditionally.  Assume va_start works.
92154         Abort at end, to pacify gcc.
92155
92156         * lib/euidaccess.c (main): Define with a prototype.
92157
92158         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
92159
92160         * lib/exitfail.c: Include <stdlib.h> unconditionally.
92161
92162         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
92163         prototypes.
92164         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
92165         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
92166         (getenv): Remove decl.
92167         (fnmatch): Define using a prototype.
92168         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
92169         (FCT): Define using a prototype.
92170
92171         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
92172
92173         * lib/gethostname.c: Include <stddef.h>.
92174         (gethostname): Define with prototype.  Length is size_t, not int.
92175
92176 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92177
92178         Assume C89 or better; remove K&R cruft.
92179         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
92180         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
92181         string.h, getenv, malloc.
92182         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
92183         headers.
92184         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
92185         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
92186         do not check for strerror.
92187         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
92188         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
92189         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
92190         do not check for doprnt or vprintf.
92191         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
92192         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
92193
92194 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92195
92196         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
92197         getversion.c should have been removed then, but was accidentally
92198         preserved.
92199
92200         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
92201         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
92202
92203 2003-09-08  Karl Berry  <karl@gnu.org>
92204
92205         * config/config.sub, config.guess, srclistvars.sh: update from savannah
92206                 config, forget about prep.
92207
92208         * config/depcomp, missing: update from automake.
92209
92210 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92211
92212         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
92213         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92214
92215 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92216
92217         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
92218         copy_tm_result.  Bug reported by Simon Josefsson in
92219         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92220
92221 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92222
92223         * m4/time_r.m4: New file.
92224         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
92225         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
92226         is. Check for timegm declaration.
92227         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
92228         Do not check for gmtime_r.
92229         Replace mktime if __mktime_internal does not exist and if mktime
92230         hasn't been replaced already.
92231
92232 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92233
92234         * lib/time_r.c, lib/time_r.h: New files.
92235
92236         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
92237         __localtime_r.
92238         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
92239         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
92240
92241         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
92242         __gmtime_r.
92243         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
92244         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
92245         Include <time_r.h>.
92246
92247         * lib/timegm.c: Switch to glibc implementation, with the following
92248         changes:
92249         [defined HAVE_CONFIG_H]: Include <config.h>.
92250         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
92251         (__mktime_internal) [!defined _LIBC]: New decl.
92252         (__gmtime_r) [!defined _LIBC]: New macro and function.
92253         (timegm): Use a prototype, since gnulib assumes C89.
92254         Do not bother declaring tmp to be const, as it's not really usefu.
92255         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
92256         (timegm): Declare only if HAVE_DECL_TIMEGM.
92257
92258 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92259
92260         * MODULES.html.sh (func_all_modules): Add time_r.
92261         * modules/time_r: New file.
92262         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
92263         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
92264
92265 2003-09-03  Paul Eggert  <eggert@twinsun.com>
92266
92267         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
92268         Bug reported by Lute Kamstra in
92269         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
92270
92271         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
92272         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
92273         course with correspondingly smaller numbers for tomorrow and
92274         yesterday.  From Tadayoshi Funaba.  Originally installed into
92275         sh-utils on 1999-08-07, but the patch got lost (I guess during the
92276         coreutils merge?).
92277
92278 2003-08-31  Simon Josefsson  <jas@extundo.com>
92279
92280         * modules/timegm: New file.
92281         * MODULES.html.sh (func_all_modules): Add timegm.
92282
92283 2003-08-31  Simon Josefsson  <jas@extundo.com>
92284
92285         * m4/timegm.m4: New file.
92286
92287 2003-08-31  Simon Josefsson  <jas@extundo.com>
92288
92289         * lib/timegm.h: New file.
92290         * lib/timegm.c: New file.  Based on
92291         wget-1.8.2/src/http.c:mktime_from_utc.
92292
92293 2003-08-31  Karl Berry  <karl@gnu.org>
92294
92295         * lib/argp.h: update from libc.
92296
92297 2003-08-28  Bruno Haible  <bruno@clisp.org>
92298
92299         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
92300         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
92301         followed by '#define fnmatch fnmatch_posix' gives an error.
92302
92303 2003-08-28  Bruno Haible  <bruno@clisp.org>
92304
92305         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
92306         warning on QNX, which defines O_BINARY to 000000.
92307
92308 2003-08-27  Jim Meyering  <jim@meyering.net>
92309
92310         * m4/mkstemp.m4: Require that the system mkstemp be able to create
92311         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
92312         would fail after 32.  Reported by Danny Levinson.  Details here:
92313         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
92314
92315 2003-08-24  Bruno Haible  <bruno@clisp.org>
92316
92317         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
92318         MSVC7 <stdio.h> is included later.
92319
92320 2003-08-22  Simon Josefsson  <jas@extundo.com>
92321
92322         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
92323
92324 2003-08-20  Karl Berry  <karl@gnu.org>
92325
92326         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
92327
92328 2003-08-20  Bruno Haible  <bruno@clisp.org>
92329
92330         * modules/progname: New file.
92331         * MODULES.html.sh (func_all_modules): Add progname.
92332
92333 2003-08-20  Bruno Haible  <bruno@clisp.org>
92334
92335         * lib/progname.h: New file, from GNU gettext.
92336         * lib/progname.c: New file, from GNU gettext.
92337         * lib/progreloc.c: New file, from GNU gettext.
92338
92339 2003-08-19  Jim Meyering  <jim@meyering.net>
92340
92341         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
92342         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
92343
92344 2003-08-19  Bruno Haible  <bruno@clisp.org>
92345
92346         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
92347         more.
92348
92349 2003-08-19  Bruno Haible  <bruno@clisp.org>
92350
92351         * lib/xstrdup.c: Assume <string.h> exists.
92352
92353 2003-08-18  Paul Eggert  <eggert@twinsun.com>
92354
92355         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
92356         in makefile rules.
92357
92358 2003-08-18  Jim Meyering  <jim@meyering.net>
92359
92360         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
92361         * m4/lib-ld.m4: Likewise.
92362
92363 2003-08-18  Jim Meyering  <jim@meyering.net>
92364
92365         * lib/setenv.h: Indent nested cpp directive.
92366         * lib/vasnprintf.c: Remove trailing blanks.
92367
92368 2003-08-17  Simon Josefsson  <jas@extundo.com>
92369
92370         * modules/xstrndup: New file.
92371         * MODULES.html.sh (func_all_modules): Add xstrndup.
92372
92373 2003-08-17  Simon Josefsson  <jas@extundo.com>
92374
92375         * modules/argp: Fix autoconf macro name. Add more dependencies.
92376
92377 2003-08-17  Simon Josefsson  <jas@extundo.com>
92378
92379         * m4/xstrndup.m4: New file.
92380
92381 2003-08-17  Simon Josefsson  <jas@extundo.com>
92382
92383         * m4/argp.m4: New file.
92384
92385 2003-08-17  Simon Josefsson  <jas@extundo.com>
92386             Bruno Haible  <bruno@clisp.org>
92387
92388         * lib/xstrndup.h: New file.
92389         * lib/xstrndup.c: New file.
92390
92391 2003-08-17  Bruno Haible  <bruno@clisp.org>
92392
92393         * modules/strndup (Files, Include): Add lib/strndup.h.
92394
92395 2003-08-17  Bruno Haible  <bruno@clisp.org>
92396
92397         * modules/euidaccess (Files): Add lib/euidaccess.h.
92398
92399 2003-08-17  Bruno Haible  <bruno@clisp.org>
92400
92401         * lib/strndup.h: New file.
92402
92403 2003-08-17  Bruno Haible  <bruno@clisp.org>
92404
92405         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
92406         like AC_GNU_SOURCE.
92407         * modules/extensions (configure.ac): Comment out the invocation of
92408         gl_USE_SYSTEM_EXTENSIONS.
92409
92410 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92411
92412         Merges from coreutils, etc.
92413         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
92414         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
92415         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
92416         fixing a typo.
92417         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
92418         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
92419
92420 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92421
92422         Document merge from coreutils.
92423         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
92424         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
92425         * modules/utime: Add m4/utimes-null.m4.
92426
92427 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92428
92429         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
92430         space, undoing this 2003-08-12 change:
92431         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92432
92433 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92434
92435         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
92436         strtoul.c from libc, undoing this 2003-08-12 change:
92437         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92438
92439 2003-08-16  Jim Meyering  <jim@meyering.net>
92440
92441         Merges from coreutils.
92442         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
92443         prefix.  Adjust cache variables similarly.  Create 500 rather than
92444         just 300 files, to exercise bug on Darwin6.5, too.
92445         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
92446         $missing_dir.
92447         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
92448         AM_SYS_POSIX_TERMIOS.
92449         Reported by mkc@mathdogs.com.
92450         Also change use of $am_cv_sys_posix_termios
92451         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
92452         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
92453         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
92454         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
92455         in /proc/mounts until it finds one with matching device number.  This
92456         is unnecessary when the FILE argument *is* a mount point.  No stat call
92457         is necessary in that case.  So, disable the statvfs-testing code on
92458         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
92459         as RedHat bug# 84846.
92460         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92461         to 1MB, so as not to render systems with no stack size limit (e.g.,
92462         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92463         Include <unistd.h>.  On some systems,
92464         it is required for the definition of _SC_PAGESIZE.
92465
92466 2003-08-16  Jim Meyering  <jim@meyering.net>
92467
92468         Merge from coreutils.
92469         * lib/xstrtoimax.c: #else #if -> #elif.
92470         * lib/xstrtoumax.c: Likewise.
92471
92472 2003-08-16  Jim Meyering  <jim@meyering.net>
92473
92474         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
92475         * m4/utimes.m4: Removed.
92476         * m4/utimes-null.m4: Renamed from utimes.m4.
92477
92478         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92479         to 1MB, so as not to render systems with no stack size limit (e.g.,
92480         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92481         Include <unistd.h>.  On some systems,
92482         it is required for the definition of _SC_PAGESIZE.
92483
92484 2003-08-16  Jim Meyering  <jim@meyering.net>
92485         and Paul Eggert  <eggert@cs.ucla.edu>
92486
92487         Merges from coreutils, etc.
92488
92489         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
92490         using the latest version from cvs.  This avoids problems with #line
92491         directives using a vendor (Sun) compiler.
92492         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
92493         Don't set GETGROUPS_LIB here; now it's
92494         done via getgroups.m4's wrapper function.
92495         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
92496         rather than just in sh-util/configure.in, so that the
92497         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
92498         same.
92499         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
92500         AC_FUNC_GETLOADAVG where to find getloadavg.c.
92501         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
92502         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
92503         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
92504         Remove code that is now done by the newly-required macros.
92505         Append $(EXEEXT) to DF_PROG.
92506         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
92507         Do not invoke or require the following here,
92508         since prereq.m4 or some gnulib .m4 now does this for us:
92509         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
92510         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
92511         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
92512         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
92513         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
92514         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
92515         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
92516         AC_FUNC_OBSTACK.
92517         Do not replace the following functions, as this is now the job
92518         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
92519         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
92520         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
92521         atexit getpass, strdup, getpagesize.
92522         Replace 'raise'.
92523         Do not check for the following functions, as this is now the job
92524         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
92525         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
92526         setregid.
92527         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
92528         Check for sys/sysctl.h.
92529         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
92530         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
92531         of checking for ssize_t ourselves.
92532
92533         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
92534         Require every macro that gnulib/modules/* suggests for us.
92535         (jm_PREREQ_ADDEXT): New macro.
92536         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
92537         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
92538
92539         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
92540         (gl_PHYSMEM): Use it.
92541         Also check for `table' function.
92542         Check for new headers and functions.
92543         Add check for sys/sysmp.h.
92544         With suggestions from Kaveh Ghazi.
92545         Ignore headers that are present but cannot be compiled.  This
92546         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
92547         C 5.4.
92548
92549 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92550
92551         Document merge from coreutils.
92552         * modules/userspec: Depend on posixver.
92553         * modules/strftime: Depend on tzset.
92554
92555 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92556
92557         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
92558         rather than tab, after '#' in shell-script copyright notices.
92559         Suggested by Bruno Haible.
92560
92561 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92562
92563         * config/srclist-update: Use three spaces, rather than tab, after '#'
92564         in shell-script copyright notices.  Suggested by Bruno Haible.
92565         Remove unnecessary parenthesization in regular expression.
92566
92567 2003-08-15  Jim Meyering  <jim@meyering.net>
92568
92569         Merge from coreutils.
92570         * lib/xgethostname.c: Include <stdlib.h>.
92571         (xghostname): Don't exit for anything other than memory-related
92572         failure; just return NULL.
92573         * lib/userspec.c: Include "posixver.h".
92574         (parse_user_spec): Accept `.' as a separator only
92575         in pre-POSIX-200112 mode.
92576         * lib/strtoimax.c: Use #elif rather than #else #if.
92577         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
92578         Remove function, now that we can rely on a working tzset function.
92579         [!_LIBC]: Ensure that the required autoconf test has been run.
92580         [!defined _NL_CURRENT && HAVE_STRFTIME]:
92581         Use underlying_strftime for %r.
92582         * lib/sha.c: Merge in some clean-up and optimization changes from
92583         glibc.
92584         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
92585         Ensure that it is a multiple of 64.
92586         Rearrange loop exit tests so as to avoid performing an
92587         additional fread after encountering an error or EOF.
92588         * lib/realloc.c: Update copyright date.
92589
92590 2003-08-15  Jim Meyering  <jim@meyering.net>
92591         and Paul Eggert  <eggert@twinsun.com>
92592
92593         Merge from coreutils.
92594         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
92595         member but strut utmpx does not.  Needed for AIX 4.3.3.
92596         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
92597
92598 2003-08-15  Jim Meyering  <jim@meyering.net>
92599         and Paul Eggert  <eggert@cs.ucla.edu>
92600
92601         Merges from coreutils, etc.
92602         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
92603         Require gl_FUNC_TZSET_CLOBBER.
92604         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
92605         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
92606         members.
92607
92608 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92609
92610         Help the merge from coreutils.
92611         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
92612         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
92613         * m4/tzset.m4: Use it too.
92614
92615 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92616
92617         * modules/tzset: New file.
92618
92619 2003-08-14  Jim Meyering  <jim@meyering.net>
92620
92621         Merges from coreutils.
92622         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
92623         variable names, rather than @FNMATCH_H@.
92624         * modules/alloca: Likewise for $(ALLOCA_H).
92625
92626         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
92627         the three copies of the literal target, `fnmatch.h'.
92628         * modules/alloca (alloca.h): Likewise.
92629
92630 2003-08-14  Jim Meyering  <jim@meyering.net>
92631
92632         Merge from coreutils.
92633         * m4/tzset.m4: New file.
92634         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
92635         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
92636         otherwise, AIX 5.1 systems would end up using the latter.
92637         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
92638         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
92639         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
92640         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
92641
92642 2003-08-14  Jim Meyering  <jim@meyering.net>
92643
92644         Merge from coreutils.
92645         * lib/obstack.h: Whitespace changes.
92646         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
92647         and xcalloc return values.
92648         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
92649         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
92650         hang on OSF/1 5.1 for DIR on both local and remote file systems.
92651         Reported by (and fix confirmed by) Nelson H. F. Beebe.
92652         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
92653         error from mntctl.
92654         Use mntctl's return value to drive the entry-processing loop, since
92655         we can't rely on the value of the vmt_length member in the last
92656         entry.  On some systems doing so could result in exhausting
92657         virtual memory.  Based in part on a patch from Mike Jetzer.
92658
92659 2003-08-14  Jim Meyering  <jim@meyering.net>
92660         and Paul Eggert  <eggert@twinsun.com>
92661
92662         Merges from coreutils, plus other fixes.
92663         * lib/physmem.c: Merge in portability changes from gcc/libiberty
92664         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
92665         for credits and details.  Thanks to Kaveh Ghazi for helping
92666         to keep these files in sync.
92667         (ARRAY_SIZE): Define it.
92668         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
92669         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
92670         (memcasecmp): Don't assume size_t fits in unsigned int.
92671         Remove casts and duplicate code.
92672         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
92673         (memcpy): Remove definition.
92674         Merge in some clean-up and optimization changes from glibc.
92675         [BLOCKSIZE]: Move definition to top of file.
92676         Ensure that it is a multiple of 64.
92677         Rearrange loop exit tests so as to avoid performing an
92678         additional fread after encountering an error or EOF.
92679         * lib/md5.h (md5_uintptr): Define.
92680         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
92681         return to the initial working directory.  Preserve errno
92682         for caller.
92683         * lib/idcache.c: Include "xalloc.h".
92684         (xmalloc, xrealloc): Remove decls.
92685         (getuser): Remove casts no longer required in C89.
92686         * lib/human.c: Include stdio.h, for sprintf.
92687         * lib/group-member.c: Include "xalloc.h".
92688         (xmalloc, xrealloc): Remove decls.
92689         (get_group_info): Remove casts no longer required in C89.
92690         * lib/getusershell.c (readname): Remove casts no longer required in
92691         C89.
92692         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
92693         * lib/getline.c: Whitespace fix, from coreutils.
92694
92695 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92696
92697         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
92698         Check for isascii.
92699
92700         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
92701         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
92702         Undo previous (whitespace-only) change.
92703
92704 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92705
92706         * lib/exclude.c: Include <ctype.h>
92707         (IN_CTYPE_DOMAIN): New macro.
92708         (is_space): New fn.
92709         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
92710         and empty lines.
92711
92712         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
92713         Undo previous (whitespace-only) change.
92714
92715 2003-08-13  Paul Eggert  <eggert@twinsun.com>
92716
92717         * config/srclist-update: Change update back to the old behavior,
92718         leaving whitespace alone.  Use one 'sed' command rather than a
92719         pipeline.
92720         (fixlicense): Now a variable, not a function.
92721         (remove_trailing_blanks): Remove.
92722         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
92723         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
92724         Undo previous (whitespace-only) change.
92725
92726 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92727
92728         Merge from coreutils.
92729         * modules/euidaccess: Add lib_SOURCES, include for new
92730         file euidaccess.h
92731
92732 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92733
92734         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
92735         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
92736         Normalize leading white space and remove trailing white space.
92737
92738         Merge from coreutils
92739         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
92740
92741         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
92742         0.12.1.  These files are now being upgraded automatically by
92743         ../config/srclist-update.
92744
92745 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92746
92747         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
92748         Normalize leading white space and remove trailing white space.
92749         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
92750         notice, as per ../config/srclist-update.
92751
92752         Merge from coreutils.
92753         * lib/euidaccess.h: New file.
92754         * lib/euidaccess.c: Include it.
92755         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
92756         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
92757         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
92758
92759 2003-08-12  Paul Eggert  <eggert@twinsun.com>
92760
92761         * config/srclist-update: Add copyright notice.
92762         (remove_id_lines, remove_trailing_blanks): New constants.
92763         (fixfile): Use them to normalize spacing a bit in copied files.
92764         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
92765         Normalize leading white space and remove trailing white space.
92766
92767         * config/texinfo.tex: Sync with texinfo.
92768
92769         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
92770         strtoul.c from libc, to merge coreutils whitespace changes.
92771
92772         * config/srclist.txt: Get the following m4 files from gettext:
92773         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
92774         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
92775         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
92776         wint_t.m4.
92777
92778 2003-08-12  Karl Berry  <karl@gnu.org>
92779
92780         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
92781         been made.
92782
92783 2003-08-11  Paul Eggert  <eggert@twinsun.com>
92784
92785         * modules/gnu-source, m4/gnu-source.m4:
92786         Remove; we're assuming Autoconf 2.54 or later now.
92787         Suggested by Bruno Haible.
92788         * MODULES.html.sh (func_all_modules): Remove gnu-source.
92789
92790 2003-08-11  Bruno Haible  <bruno@clisp.org>
92791
92792         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
92793
92794 2003-08-11  Bruno Haible  <bruno@clisp.org>
92795
92796         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
92797         (vasnprintf): Use it instead of wcslen.
92798
92799 2003-08-11  Bruno Haible  <bruno@clisp.org>
92800
92801         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
92802         value to ensure that _Bool promotes to int. Use #define for _Bool when
92803         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
92804
92805 2003-08-10  Karl Berry  <karl@gnu.org>
92806
92807         * lib/regex.h: update from libc (whitespace fix).
92808
92809 2003-08-09  Paul Eggert  <eggert@twinsun.com>
92810
92811         Merge some files from coreutils.  These changes were
92812         originally made by Jim Meyering.
92813         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
92814         many older Unixes require this.
92815         * lib/alloca.c (alloca): Remove cast to argument of free;
92816         no longer needed in C89.
92817         * lib/alloca_.h, regex.h: Fix white space to match
92818         what GNU indent does.
92819
92820 2003-08-09  Paul Eggert  <eggert@twinsun.com>
92821
92822         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
92823         apparently Emacs's Unicode mode got confused before my 2003-08-05
92824         checkin.
92825
92826 2003-08-08  Paul Eggert  <eggert@twinsun.com>
92827
92828         * m4/extensions.m4: New file.
92829         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
92830         Require gl_USE_SYSTEM_EXTENSIONS.
92831         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
92832         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
92833
92834 2003-08-08  Paul Eggert  <eggert@twinsun.com>
92835
92836         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
92837         * modules/extensions, modules/gnu-source: New files.
92838         * modules/timespec, modules/unlocked-io: Depend on extensions.
92839
92840 2003-08-07  Paul Eggert  <eggert@twinsun.com>
92841
92842         * modules/restrict: New file.
92843         * MODULES.html.sh (func_all_modules): Add restrict.
92844         * modules/regex: Depend on restrict.
92845
92846 2003-08-07  Paul Eggert  <eggert@twinsun.com>
92847
92848         * m4/restrict.m4: New file.
92849         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
92850
92851 2003-08-07  Bruno Haible  <bruno@clisp.org>
92852
92853         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
92854         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
92855
92856 2003-08-07  Bruno Haible  <bruno@clisp.org>
92857
92858         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
92859         makes the module 'getndelim2' compatible with the module 'getline'.
92860
92861 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92862
92863         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
92864         byte with "\201" to avoid glitches when editing that source file
92865         with multi-gnome-terminal.
92866
92867 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92868
92869         * lib/bumpalloc.h: Remove.
92870
92871 2003-08-05  Paul Eggert  <eggert@twinsun.com>
92872
92873         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
92874         * modules/bumpalloc: Remove.
92875
92876 2003-08-04  Paul Eggert  <eggert@twinsun.com>
92877
92878         * lib/getloadavg.c: Change copyright notice and spacing to conform to
92879         GNU coding style.
92880
92881         Merge from coreutils.
92882         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
92883         1. From glibc.
92884         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
92885         from Karl Berry, implemented by Jim Meyering.
92886         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
92887         from Dmitry V. Levin.
92888         Remove anachronistic cast of xrealloc.
92889         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
92890         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
92891         type. Otherwise, it wouldn't compile with at least /bin/cc on
92892         ymp-cray-unicos9.0.2.X.
92893         Combine two mostly-identical uses of alloca into one.
92894         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
92895
92896 2003-08-04  Dave Love  <d.love@dl.ac.uk>
92897
92898         [From Emacs.]
92899
92900         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
92901         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
92902         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
92903         obsolete NLIST_NAME_UNION.
92904         [__GNU__]: Undef BSD and FSCALE.
92905         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
92906
92907 2003-08-03  Paul Eggert  <eggert@twinsun.com>
92908
92909         * lib/stdbool_.h (_Bool): Make it signed char, instead of
92910         an enum type, so that it's guaranteed to promote to int.  See:
92911         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
92912
92913 2003-08-03  Karl Berry  <karl@gnu.org>
92914
92915         * config/depcomp: update from automake.
92916
92917 2003-07-31  Paul Eggert  <eggert@twinsun.com>
92918
92919         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
92920         (strerror): Don't assume that a printable int fits in 14 bytes.
92921
92922 2003-07-31  Bruno Haible  <bruno@clisp.org>
92923
92924         * modules/getpass-gnu: New file.
92925         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
92926
92927 2003-07-31  Bruno Haible  <bruno@clisp.org>
92928
92929         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
92930
92931 2003-07-24  Karl Berry  <karl@gnu.org>
92932
92933         * config/missing: update from automake.
92934
92935 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
92936             Bruno Haible  <bruno@clisp.org>
92937
92938         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
92939         * lib/getline.c (getline, getdelim): Likewise.
92940         Remove _GNU_SOURCE define; now it's defined in config.h through
92941         m4/getline.m4.
92942
92943 2003-07-23  Karl Berry  <karl@gnu.org>
92944
92945         * config/config.sub: update from prep.
92946
92947 2003-07-22  Paul Eggert  <eggert@twinsun.com>
92948
92949         * modules/xalloc (Depends-on): Add exitfail.
92950         * modules/xmemcoll: Likewise.
92951
92952 2003-07-22  Paul Eggert  <eggert@twinsun.com>
92953
92954         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
92955         over-parenthesization in macros.
92956
92957         Sync with coreutils.
92958
92959         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
92960         required by C99.
92961
92962         Use `exit_failure' for xalloc and xmemcoll instead of their own
92963         private exit-failure variables.
92964         * lib/xalloc.h (xalloc_exit_failure): Remove.
92965         * lib/xmalloc.c: Likewise.  Include exitfail.h.
92966         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
92967         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
92968         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
92969         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
92970
92971 2003-07-20  Jim Meyering  <jim@meyering.net>
92972
92973         * modules/closeout (Depends-on): Add exitfail.
92974         Suggestion from Bruno Haible.
92975
92976 2003-07-19  Karl Berry  <karl@gnu.org>
92977
92978         * config/config.sub: update from prep.
92979
92980 2003-07-18  Paul Eggert  <eggert@twinsun.com>
92981
92982         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
92983         Remove.
92984         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
92985         to test that it can stand by itself.  Include "exitfail.h".
92986         Clients should set exit_failure instead.
92987         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
92988
92989 2003-07-18  Bruno Haible  <bruno@clisp.org>
92990
92991         * modules/getndelim2: New file.
92992         * modules/getline: Share files with module getndelim2.
92993         * modules/getnline: Depend on getndelim2 instead of sharing files with
92994         it. Add getnline.c to lib_SOURCES.
92995         * MODULES.html.sh (func_all_modules): Add getndelim2.
92996
92997 2003-07-18  Bruno Haible  <bruno@clisp.org>
92998
92999         * m4/getndelim2.m4: New file.
93000         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
93001         invoke gl_PREREQ_GETNDELIM2.
93002         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
93003         gl_PREREQ_GETNDELIM2.
93004         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
93005         gl_GETNDELIM2.
93006
93007 2003-07-18  Bruno Haible  <bruno@clisp.org>
93008
93009         * lib/getndelim2.h: New file.
93010         * lib/getndelim2.c: Make into a module of its own. Include config.h,
93011         getndelim2.h.
93012         (getndelim2): Make non-static. Change return type to ssize_t.
93013         * lib/getline.h: Change argument names.
93014         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
93015         * lib/getnline.c: Include getndelim2.h.
93016
93017 2003-07-18  Andreas Schwab  <schwab@suse.de>
93018
93019         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
93020
93021 2003-07-17  Karl Berry  <karl@gnu.org>
93022
93023         * config/config.sub: update from prep.
93024
93025 2003-07-17  Bruno Haible  <bruno@clisp.org>
93026
93027         * modules/getnline: New file.
93028         * modules/getline: Add lib/getndelim2.c to source file list.
93029         * MODULES.html.sh (func_all_modules): Add getnline.
93030
93031 2003-07-17  Bruno Haible  <bruno@clisp.org>
93032
93033         * m4/getnline.m4: New file.
93034
93035 2003-07-17  Bruno Haible  <bruno@clisp.org>
93036
93037         * m4/Makefile.am.in: Remove file.
93038         * m4/Makefile.am: Remove file.
93039         * m4/Makefile.in: Remove file.
93040
93041 2003-07-17  Bruno Haible  <bruno@clisp.org>
93042
93043         * lib/getnline.h: New file.
93044         * lib/getnline.c: New file.
93045         * lib/getndelim2.c: New file, extracted from getline.c.
93046         (getndelim2): Renamed from getdelim2, with added nmax argument.
93047         * lib/getline.c: Include getndelim2.c.
93048         (getdelim2): Moved out to getndelim2.c.
93049         (getline, getdelim): Update.
93050
93051 2003-07-17  Bruno Haible  <bruno@clisp.org>
93052
93053         * lib/Makefile.am: Remove file.
93054         * lib/Makefile.in: Remove file.
93055
93056 2003-07-17  Bruno Haible  <bruno@clisp.org>
93057
93058         * configure.in: Remove file.
93059         * Makefile.in: Remove file.
93060
93061 2003-07-17  Bruno Haible  <bruno@clisp.org>
93062
93063         * MODULES.html.sh: Put the </BODY> right before </HTML>.
93064
93065 2003-07-16  Karl Berry  <karl@gnu.org>
93066
93067         * config/srclist-update: was running fixlicense twice, which caused
93068                 texinfo.tex to be nullified for some reason.  Simplify,
93069                 $gplsrc is no longer needed as far as I can see?
93070
93071 2003-07-16  Jim Meyering  <jim@meyering.net>
93072
93073         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
93074
93075 2003-07-15  Paul Eggert  <eggert@twinsun.com>
93076
93077         * config/srclist.txt: Get the following files from gettext-runtime/intl
93078         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
93079         ref-del.sin.  From Bruno Haible.
93080         * config/srclist-update (fixfile): Change grep pattern again, since the
93081         previous fix didn't work (there was another trailing $).  Use
93082         '[$]' to escape the $s.
93083
93084 2003-07-15  Karl Berry  <karl@gnu.org>
93085
93086         * lib/vasnprintf.c: update from gettext.
93087
93088 2003-07-15  Karl Berry  <karl@gnu.org>
93089
93090         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
93091         gets expanded when surrounded by '$'.
93092
93093 2003-07-15  Jim Meyering  <jim@meyering.net>
93094
93095         * modules/save-cwd: Don't depend on error.  From Derek Price.
93096
93097 2003-07-15  Jim Meyering  <jim@meyering.net>
93098
93099         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
93100
93101 2003-07-14  Simon Josefsson  <jas@extundo.com>
93102
93103         * modules/mempcpy: New file.
93104         * MODULES.html.sh (func_all_modules): Add mempcpy.
93105
93106 2003-07-14  Simon Josefsson  <jas@extundo.com>
93107
93108         * m4/mempcpy.m4: New file.
93109
93110 2003-07-14  Simon Josefsson  <jas@extundo.com>
93111
93112         * lib/mempcpy.h: New file.
93113         * lib/mempcpy.c: New file.
93114
93115 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93116
93117         * modules/getdate, modules/posixtm: Depend on mktime.
93118
93119 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93120
93121         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
93122         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
93123         unicodeio.c, unicodeio.h, unlocked-io.h:
93124         Switch from LGPL to GPL.
93125
93126 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93127
93128         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
93129         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
93130         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
93131         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
93132         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
93133         updated automatically by ../config/srclist-update.  This changes
93134         their license from LPGL to GPL.
93135
93136 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93137
93138         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
93139         assumed to refer to the root of the most recent stable gettext version.
93140         * config/srclistvars.sh: Add defaults for eggert.
93141         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
93142         Match "This program" as well as "The program".  This is needed
93143         for gettext.
93144
93145 2003-07-14  Jim Meyering  <jim@meyering.net>
93146
93147         Don't emit diagnostics.  Let callers do that.
93148         * lib/save-cwd.c: Don't include "error.h".
93149         (save_cwd): Don't call error.  Ensure that errno is valid
93150         when returning nonzero.
93151
93152         * lib/save-cwd.h (restore_cwd): Update prototype.
93153         * lib/save-cwd.c (restore_cwd): Remove two parameters.
93154         Simplify.  Don't call error upon failure.  Let callers do that.
93155         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
93156         when auditing is enabled.  But don't bother updating the #if.
93157
93158 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
93159
93160         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
93161         it breaks C++ compilation.
93162         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
93163
93164 2003-07-10  Simon Josefsson  <jas@extundo.com>
93165
93166         * modules/strchrnul (Makefile.am): Add strchrnul.h.
93167
93168 2003-07-10  Jim Meyering  <jim@meyering.net>
93169
93170         * m4/clock_time.m4: Remove trailing blank.
93171         * m4/intmax_t.m4: Likewise.
93172
93173 2003-07-10  Jim Meyering  <jim@meyering.net>
93174
93175         * lib/vasnprintf.c: Remove trailing blanks.
93176         Make cpp indentation consistent.
93177
93178 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93179
93180         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
93181         posixver.c, strftime.c, strnlen.c, strverscmp.c:
93182         Switch from LGPL to GPL.
93183
93184 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93185
93186         * config/srclist.txt: Sort sublists.  Add
93187         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
93188         that differ from gnulib for one reason or another; we'd like this list
93189         to be smaller but for now let's document what we have.
93190
93191 2003-07-08  Paul Eggert  <eggert@twinsun.com>
93192
93193         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
93194         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
93195         and sweeter "eval x=$x".
93196         * config/srclist.txt: Get lib/argp* from glibc.
93197
93198 2003-07-07  Paul Eggert  <eggert@twinsun.com>
93199
93200         * lib/mktime.c: Fix some boundary cases and remove need for floating
93201         point.
93202
93203         Issue a compile-time diagnostic if time_t is floating point, or if
93204         two's complement arithmetic is not in effect, or if arithmetic
93205         right shift does not propagate the sign.  These assumptions were
93206         all in the original code but they weren't checked.
93207
93208         (TIME_T_MIDPOINT, verify): New macros.
93209         (__isleap): Remove; it has integer overflow problems.
93210         (leapyear): New function, without those problems.
93211         (ydhms_tm_diff): Remove; splitting into two parts.
93212         (ydhms_diff): New function, containing the arithmetic part of
93213         the old ydhms_tm_diff function.  Issue a compile-time
93214         diagnostic if we are not using C99 integer division.
93215         Avoid casts when possible.
93216         (guess_time_tm): New function, containing the checking part of
93217         the old ydhms_tm_diff function.  Return the new value, rather than
93218         the difference between it and the old.  Accept a new argument T
93219         so that *T specifies the old value.  Check for overflow in the result.
93220
93221         (__mktime_internal): Use a time_t offset, not a long int offset.
93222         This undoes the 2003-06-04 change, which is no longer needed now
93223         that we have better overflow checking.
93224         (localtime_offset): Likewise.
93225
93226         (__mktime_internal): Avoid harmful overflow on hosts where time_t
93227         and long are 64-bit but int is only 32-bit.
93228         (ydhms_diff): Use long int to store year1 and yday1.
93229         Issue a compile-time diagnostic if long int is not wide enough.
93230
93231         (__mktime_internal): Use long int to store adjusted year and yday.
93232         Use plain C rather than preprocessor commands, if that doesn't
93233         affect efficiency.
93234         Check for overflow (and try to repair) after each probe
93235         rather than checking only at the very end.  This avoids some bugs
93236         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
93237         does not equal GMT offset at maximum time).
93238         Use integer to check for overflow rather than floating point; this
93239         is more portable to non-IEEE hosts, and is a tad faster.
93240         When we detect that we are oscillating between two values,
93241         don't check whether tm_isdst has the requested value, since
93242         we already know the answer.  When tm_isdst has the wrong value,
93243         use a different heuristic to find the right one, based on the
93244         extreme values actually observed in practice in tz2003a,
93245         rather than the (overly optimistic) "previous 3 calendar quarters".
93246
93247         (not_equal_tm, print_tm, check_result): Use "const T" rather than
93248         "T const" to accommodate glibc style.
93249         (check_result): Use less-confusing report format.  "long" -> "long int.
93250         (main): Likewise.
93251         Don't loop if the iteration overflows time_t.
93252         Allow a negative step in the iteration.
93253
93254 2003-07-06  Karl Berry  <karl@gnu.org>
93255
93256         * config/depcomp: update from automake.
93257         * config/config.sub: update from prep.
93258
93259 2003-07-03  Karl Berry  <karl@gnu.org>
93260
93261         * config/config.guess: update from prep.
93262
93263 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93264
93265         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
93266         xreadlink.c now includes it unconditionally.
93267
93268 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93269
93270         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
93271         having it depend on HAVE_SYS_TYPES_H.
93272
93273 2003-07-01  Bruno Haible  <bruno@clisp.org>
93274
93275         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
93276         <sys/types.h> should be sufficient.
93277         Reported by Paul Eggert.
93278
93279 2003-06-26  Karl Berry  <karl@gnu.org>
93280
93281         * config/depcomp: update from automake.
93282
93283 2003-06-26  Bruno Haible  <bruno@clisp.org>
93284
93285         * modules/human: Depend on module stdbool.
93286
93287 2003-06-25  Bruno Haible  <bruno@clisp.org>
93288
93289         * modules/readlink: New file.
93290         * modules/xreadlink: Depend on it.
93291         * MODULES.html.sh (func_all_modules): Add readlink.
93292
93293 2003-06-25  Bruno Haible  <bruno@clisp.org>
93294
93295         * m4/readlink.m4: New file.
93296
93297 2003-06-25  Bruno Haible  <bruno@clisp.org>
93298
93299         * lib/readlink.c: New file.
93300
93301 2003-06-22  Karl Berry  <karl@gnu.org>
93302
93303         * config/srclist.txt: update mkinstalldirs from automake.
93304         * config/mkinstalldirs: update.
93305
93306 2003-06-22  Bruno Haible  <bruno@clisp.org>
93307
93308         Portability to mingw32.
93309         * m4/ssize_t.m4: New file, from GNU gettext.
93310         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
93311         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
93312
93313 2003-06-22  Bruno Haible  <bruno@clisp.org>
93314
93315         * modules/safe-read: Add m4/ssize_t.m4.
93316         * modules/xreadlink: Add m4/ssize_t.m4.
93317
93318 2003-06-20  Bruno Haible  <bruno@clisp.org>
93319
93320         Assume C89, so PARAMS isn't needed.
93321         * lib/unicodeio.h (PARAMS): Remove.
93322         * lib/unicodeio.c: Don't use PARAMS.
93323
93324 2003-06-18  Karl Berry  <karl@gnu.org>
93325
93326         * config/config.{guess,sub}: update from prep.
93327
93328 2003-06-18  Jim Meyering  <jim@meyering.net>
93329
93330         Merge changes from coreutils.
93331         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
93332         Remove explicit declarations of xmalloc and realloc.
93333         Include xalloc.h.
93334         (read_utmp): Remove anachronistic cast of xmalloc.
93335
93336 2003-06-17  Paul Eggert  <eggert@twinsun.com>
93337
93338         Assume C89, so PARAMS isn't needed.
93339         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
93340         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
93341         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
93342         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
93343         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
93344         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
93345         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
93346         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
93347         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
93348         lib/xstrtod.h, lib/xstrtol.h: Likewise.
93349         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
93350         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
93351         no longer needed. Anyway, config.h should always be included before any
93352         other file.
93353
93354 2003-06-11  Simon Josefsson  <jas@extundo.com>
93355
93356         * modules/sysexits: New file.
93357         * MODULES.html.sh (func_all_modules): Add sysexits.
93358
93359 2003-06-11  Simon Josefsson  <jas@extundo.com>
93360
93361         * lib/sysexit_.h: New file.
93362
93363 2003-06-11  Derek Price  <derek@ximbiot.com>
93364
93365         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
93366         necessary.
93367
93368 2003-06-11  Bruno Haible  <bruno@clisp.org>
93369
93370         * m4/sysexits.m4: New file.
93371
93372 2003-06-10  Simon Josefsson  <jas@extundo.com>
93373
93374         * lib/argp.h: New file, from glibc.
93375         * lib/argp-ba.c: New file, from glibc.
93376         * lib/argp-eexst.c: New file, from glibc.
93377         * lib/argp-fmtstream.c: New file, from glibc.
93378         * lib/argp-fmtstream.h: New file, from glibc.
93379         * lib/argp-fs-xinl.c: New file, from glibc.
93380         * lib/argp-help.c: New file, from glibc.
93381         * lib/argp-namefrob.h: New file, from glibc.
93382         * lib/argp-parse.c: New file, from glibc.
93383         * lib/argp-pv.c: New file, from glibc.
93384         * lib/argp-pvh.c: New file, from glibc.
93385         * lib/argp-xinl.c: New file, from glibc.
93386
93387 2003-06-10  Simon Josefsson  <jas@extundo.com>
93388
93389         * modules/strchrnul: New file.
93390
93391 2003-06-10  Simon Josefsson  <jas@extundo.com>
93392
93393         * modules/argp: New file.
93394
93395 2003-06-10  Simon Josefsson  <jas@extundo.com>
93396
93397         * m4/strchrnul.m4: New file.
93398
93399 2003-06-10  Simon Josefsson  <jas@extundo.com>
93400
93401         * lib/strchrnul.h: New file.
93402         * lib/strchrnul.c: New file.
93403
93404 2003-06-10  Bruno Haible  <bruno@clisp.org>
93405
93406         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
93407
93408 2003-06-07  Karl Berry  <karl@gnu.org>
93409
93410         * config/config.{guess,sub}: update from prep.
93411
93412 2003-06-07  Jim Meyering  <jim@meyering.net>
93413
93414         * modules/strtod: Use $(...) notation, not @...@ for
93415         AC_REPLACE'd variables.
93416         * modules/localcharset: Likewise.
93417
93418 2003-06-07  Jim Meyering  <jim@meyering.net>
93419
93420         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
93421         in place of my name in the copyright comment.
93422         Remove definition and uses of __P.
93423
93424         From coreutils.
93425         * lib/stat.c: Don't declare xmalloc explicitly.
93426         Instead, include "xalloc.h".
93427         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
93428         xrealloc, and xcalloc return values.
93429         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
93430         Improve comment.
93431         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
93432
93433 2003-06-07  Bruno Haible  <bruno@clisp.org>
93434
93435         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
93436         avoid AC_CONFIG_LINKS.
93437         * modules/fnmatch (Makefile.am): Use explicit creation rule for
93438         fnmatch.h, to avoid AC_CONFIG_LINKS.
93439         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
93440
93441 2003-06-07  Bruno Haible  <bruno@clisp.org>
93442
93443         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
93444         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
93445         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93446         directory.
93447         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
93448         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93449         directory.
93450
93451 2003-06-06  Jim Meyering  <jim@meyering.net>
93452
93453         Merge from coreutils.
93454         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
93455         Consolidate declarations and initializations of *_base* locals.
93456
93457         Merge from coreutils.
93458         This avoids a core dump on systems without GNU putenv,
93459         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
93460         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
93461         (unsetenv): New static function, from GNU libc.
93462         (rpl_putenv): Use it.
93463
93464         * lib/modechange.c: Remove trailing blanks.
93465
93466         Merge from coreutils.
93467         * lib/fsusage.c: Remove declaration of statfs.
93468         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
93469
93470         * lib/posixtm.c: Include <stdbool.h> unconditionally.
93471
93472 2003-06-06  Jim Meyering  <jim@meyering.net>
93473
93474         * lib/stdbool_.h: Renamed from stdbool.h.in.
93475
93476 2003-06-06  Jim Meyering  <jim@meyering.net>
93477             Bruno Haible  <bruno@clisp.org>
93478
93479         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
93480         Adjust Makefile.am snippet not to redirect directly to target.
93481         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
93482
93483 2003-06-05  Paul Eggert  <eggert@twinsun.com>
93484
93485         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
93486         mismatch, look in future quarters as well as past.  This fixes a
93487         bug when processing fall-backwards gaps immediately after a long
93488         period of daylight-saving time.
93489
93490         * lib/mktime.c: Assume freestanding C89 or better.
93491         (HAVE_LIMITS_H): Remove.  Assume it's 1.
93492         (__P): Remove; not used.
93493         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
93494         (mktime, not_equal_tm, print_tm, check_result,
93495         main): Use prototypes.  Use const * where appropriate.
93496         (main): Fix typo in testing code that uncovered by above changes.
93497         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
93498
93499 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93500
93501         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
93502         locale.h, localeconv.  This merges changes from coreutils.
93503
93504         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
93505         It can be removed after the next Autoconf is released.
93506         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
93507         needed.
93508
93509 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93510
93511         * lib/mktime.c: Fix Debian bug 177940
93512         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
93513         (localtime_offset): Now long int, not time_t, because we want it
93514         to be guaranteed to be signed.  All uses changed.
93515         (__mktime_internal): If overflow would occur when adding offset,
93516         don't add it.
93517
93518         Merge 'human' changes from coreutils.  Rewrite to support
93519         locale-specific notations like thousands separators.
93520         * lib/human.c: Simplify authorship notice.
93521         Include human.h immediately after config.h.
93522         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
93523         <limits.h>: Do not include, since human.h does.
93524         (SIZE_MAX, UINTMAX_MAX): New macros.
93525         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
93526         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
93527         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
93528         (power_letter): Renamed from suffixes.
93529         (generate_suffix_backwards): Remove.
93530         (adjust_value): Now takes int style (because of human.h changes)
93531         and long double value (for greater precision on some platforms).
93532         (group_number): New function.
93533         (human_readable): Use it.  Use integer options, not enum.
93534         Put the options before the sizes in the arg list.
93535         Support all the new options.
93536         The old human_readable function has been removed;
93537         use inttostr.h instead.
93538         (human_readable, default_block_size, humblock):
93539         Use uintmax_t, not int, for block sizes.
93540         (human_readable_inexact, block_size_types): Remove.
93541         (block_size_opts): New constant.
93542         (human_options): Renamed from human_block_size, with new signature
93543         that allows block sizes up to UINTMAX_MAX.  All callers changed.
93544         * lib/human.h: Add copyright and authorship notice.
93545         Include <limits.h> and <stdbool.h> unconditionally.
93546         (PARAMS): Remove.  All uses removed.
93547         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
93548         (enum human_inexact_style): Remove tag; now a nameless enum.
93549         (human_floor, human_ceiling, human_round_to_even): Now have
93550         values 2, 0, 1 rather than -1, 1, 0.
93551         (human_group_digits, human_suppress_point_zero, human_autoscale,
93552         human_base_1024, human_SI, human_B): New constants.
93553         (human_readable_inexact, human_block_size): Remove.
93554         (human_readable): Size args are now uintmax_t, not int.
93555         (human_options): New decl.
93556
93557         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
93558         unnecessary now that we assume C89 or better.  This change
93559         imported from coreutils.
93560
93561         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93562         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
93563         in the 2003-05-30 sync from glibc.
93564
93565         .h files should stand alone, but we shouldn't include <sys/types.h>
93566         if we can get away with just <stddef.h>.
93567
93568         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
93569         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
93570         rather than <sys/types.h>, as we merely need size_t.
93571         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
93572         to get size_t.
93573         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
93574         Include <stdio.h>, to get FILE.
93575         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
93576         memcasecmp.h has included <stddef.h> and all we need is size_t.
93577         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
93578         our interface, instead of including <sys/types.h>
93579
93580 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93581
93582         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
93583         now, as glibc mktime is buggy on non-glibc systems.
93584
93585 2003-06-03  Karl Berry  <karl@gnu.org>
93586
93587         * config/config.sub: update from prep.
93588
93589 2003-06-02  Paul Eggert  <eggert@twinsun.com>
93590
93591         [from coreutils]
93592         Fix some minor time-related bugs with POSIX time arguments.
93593         Some valid time stamps were being rejected (notably -1, and
93594         time stamps before 1900 on 64-bit hosts).  And some invalid
93595         time stamps were being accepted, e.g. September 31.
93596
93597         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
93598         that we can return (time_t) -1 successfully.
93599         * lib/posixtm.c: Likewise.
93600         [HAVE_STDBOOL_H]: Include <stdbool.h>.
93601         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
93602         (t): Remove static var.
93603         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
93604         of static var.  All uses changed.
93605         (year): Do not reject years before 1900; they can occur with
93606         64-bit time_t.
93607         (posix_time_parse): Do not check for out-of-range components;
93608         that is now the caller's responsibility, since our checks were
93609         only approximations.
93610         (posixtime): Use mktime to check for out-of-range components,
93611         since it knows them exactly.
93612         If mktime returns (time_t) -1, check whether an error actually occurred
93613         by invoking localtime on -1.
93614         (main) [TEST_POSIXTIME]: Check for input data errors, and report
93615         posixtime failures better.
93616         Improve the test data (in comments only).
93617
93618 2003-06-02  Karl Berry  <karl@gnu.org>
93619
93620         * config/mkinstalldirs (version): new variable.
93621         (--version): new option.
93622         (usage): improve message.
93623
93624 2003-05-30  Karl Berry  <karl@gnu.org>
93625
93626         * lib/mktime.c: update from libc.
93627
93628 2003-05-30  Bruno Haible  <bruno@clisp.org>
93629
93630         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
93631         * config/config.rpath: Upgrade to gettext-0.12.1.
93632
93633 2003-05-30  Bruno Haible  <bruno@clisp.org>
93634
93635         * m4/gettext.m4: Upgrade to gettext-0.12.1.
93636         * m4/nls.m4: New file, from gettext-0.12.1.
93637         * m4/po.m4: New file, from gettext-0.12.1.
93638         * m4/progtest.m4: Upgrade to gettext-0.12.1.
93639
93640 2003-05-30  Bruno Haible  <bruno@clisp.org>
93641
93642         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
93643         * lib/localcharset.h: Likewise.
93644         * lib/localcharset.c: Likewise.
93645
93646 2003-05-29  Karl Berry  <karl@gnu.org>
93647
93648         * config/config.rpath: update from gettext.
93649
93650 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93651
93652         Assume the headers required for C89 freestanding compilers.
93653         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
93654         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
93655         * m4/human.m4 (gl_HUMAN): Likewise.
93656         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
93657         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
93658         * m4/userspec.m4 (gl_USERSPEC): Likewise.
93659         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
93660         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
93661         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
93662
93663 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93664
93665         Assume the headers required for C89 freestanding compilers.
93666         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
93667         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
93668         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
93669         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
93670         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
93671         define, since <limits.h> is guaranteed to do that.
93672         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
93673         * lib/exclude.c: Include <stdbool.h> unconditionally.
93674         * lib/tempname.c: Include <stddef.h> unconditionally.
93675         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
93676         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
93677         <stddef.h> does that.
93678         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
93679         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
93680         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
93681         needed.
93682         * lib/xstrtol.c: Likewise.
93683         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
93684         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
93685
93686         * lib/addext.c (addext): Use assignment rather than cast, to avoid
93687         warnings on some platforms.
93688
93689         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93690         arbitrarily.
93691
93692 2003-05-26  Jim Meyering  <jim@meyering.net>
93693
93694         Merge in a change from coreutils:
93695         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
93696         that is guaranteed to be `no'.  Use `no_such_member' to indicate
93697         that condition, rather than `-1' which is slightly misleading.
93698         Change the name of the cache variable to have the gl_ prefix.
93699         Prompted by a patch from Richard Dawe for DJGPP.
93700
93701 2003-05-24  Karl Berry  <karl@gnu.org>
93702
93703         * config/config.guess: update from prep.
93704
93705 2003-05-22  Karl Berry  <karl@gnu.org>
93706
93707         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
93708
93709 2003-05-20  Karl Berry  <karl@gnu.org>
93710
93711         * config/config.guess: update from prep.
93712
93713 2003-05-18  Karl Berry  <karl@gnu.org>
93714
93715         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
93716         might actually be set by the user.
93717
93718         * config/depcomp, install-sh, mdate-sh: update from automake.
93719
93720 2003-05-17  Bruno Haible  <bruno@clisp.org>
93721
93722         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
93723         invalid expansion for AC_EGREP_CPP.
93724         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
93725         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
93726         Suggested by Akim Demaille <akim@epita.fr> in
93727         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
93728
93729 2003-05-12  Jim Meyering  <jim@meyering.net>
93730
93731         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
93732         the space-padded-by-default conversion specifiers, %e, %k, %l.
93733
93734 2003-05-12  Bruno Haible  <bruno@clisp.org>
93735
93736         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
93737         the string is longer than 4 KB.
93738
93739 2003-05-11  Karl Berry  <karl@gnu.org>
93740
93741         * config/config.{guess,sub}: update from prep.
93742
93743 2003-05-09  Bruno Haible  <bruno@clisp.org>
93744
93745         * modules/error: Add m4/strerror_r.m4 to file list.
93746
93747 2003-05-03  Bruno Haible  <bruno@clisp.org>
93748
93749         Upgrade to Unicode-4.0.
93750         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
93751         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
93752         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
93753         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
93754         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
93755         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
93756         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
93757         Change width of U+E0100..U+E01EF from 1 to 0.
93758
93759 2003-04-25  Jim Meyering  <jim@meyering.net>
93760
93761         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
93762         of type size_t, not int.
93763
93764 2003-04-25  Bruno Haible  <bruno@clisp.org>
93765
93766         * lib/copy-file.c: Include <stddef.h>, for size_t.
93767
93768 2003-04-21  Paul Eggert  <eggert@twinsun.com>
93769
93770         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
93771         code which expansion is under static control.  Patch imported from
93772         Akim Demaille's patch to Bison; see
93773         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
93774
93775 2003-04-14  Bruno Haible  <bruno@clisp.org>
93776
93777         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
93778
93779 2003-04-11  Jim Meyering  <jim@meyering.net>
93780
93781         Merge changes from Coreutils.
93782
93783         2003-03-22  Jim Meyering  <jim@meyering.net>
93784
93785         * lib/strftime.c (widen): Cast alloca return value to proper type.
93786
93787         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
93788
93789         From GNU libc.
93790         * lib/strftime.c (my_strftime): Handle very large width
93791         specifications for numeric values correctly.  Improve checks for
93792         overflow.
93793
93794         2003-01-19  Jim Meyering  <jim@meyering.net>
93795
93796         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
93797         definitions.
93798         (nl_get_alt_digit) [! defined my_strftime]: Define.
93799         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
93800         _nl_get_alt_digit and _nl_get_walt_digit.
93801
93802         * lib/strftime.c (my_strftime): Merge in locale-related changes from
93803         libc. These changes have no effect outside of _LIBC.
93804
93805 2003-04-10  Bruno Haible  <bruno@clisp.org>
93806
93807         * modules/findprog: New file.
93808         * MODULES.html.sh (func_all_modules): Add it.
93809
93810 2003-04-10  Bruno Haible  <bruno@clisp.org>
93811
93812         * m4/findprog.m4: New file.
93813         * m4/eaccess.m4: New file.
93814
93815 2003-04-10  Bruno Haible  <bruno@clisp.org>
93816
93817         * lib/findprog.h: New file, from GNU gettext.
93818         * lib/findprog.c: New file, from GNU gettext.
93819
93820 2003-04-05  Jim Meyering  <jim@meyering.net>
93821
93822         Merge changes from Coreutils.
93823
93824         * lib/exclude.h (PARAMS): Remove definition and uses.
93825         * lib/exclude.c: Remove uses of `PARAMS'.
93826
93827         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
93828         Add test-cases for DOS filenames. Declare program_name.
93829         (main): Set up program_name.  Patch by Rich Dawe.
93830
93831         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
93832         error from mntctl.
93833         Use mntctl's return value to drive the entry-processing loop, since
93834         we can't rely on the value of the vmt_length member in the last
93835         entry.  On some systems doing so could result in exhausting
93836         virtual memory.  Based in part on a patch from Mike Jetzer.
93837
93838 2003-04-04  Bruno Haible  <bruno@clisp.org>
93839
93840         * modules/linebreak: New file.
93841         * MODULES.html.sh (func_all_modules): Add it.
93842
93843 2003-04-04  Bruno Haible  <bruno@clisp.org>
93844
93845         * m4/linebreak.m4: New file.
93846
93847 2003-04-04  Bruno Haible  <bruno@clisp.org>
93848
93849         * lib/linebreak.h: New file, from GNU gettext.
93850         * lib/linebreak.c: New file, from GNU gettext with slight
93851         modifications.
93852         * lib/lbrkprop.h: New file, from GNU gettext.
93853
93854 2003-04-03  Bruno Haible  <bruno@clisp.org>
93855
93856         * modules/utf8-ucs4: New file.
93857         * modules/utf16-ucs4: New file.
93858         * modules/ucs4-utf8: New file.
93859         * modules/ucs4-utf16: New file.
93860         * MODULES.html.sh (func_all_modules): Add them.
93861
93862 2003-04-03  Bruno Haible  <bruno@clisp.org>
93863
93864         * m4/utf-ucs4.m4: New file.
93865         * m4/ucs4-utf.m4: New file.
93866
93867 2003-04-03  Bruno Haible  <bruno@clisp.org>
93868
93869         * lib/utf8-ucs4.h: New file, from GNU gettext.
93870         * lib/utf16-ucs4.h: New file, from GNU gettext.
93871         * lib/ucs4-utf8.h: New file, from GNU gettext.
93872         * lib/ucs4-utf16.h: New file, from GNU gettext.
93873
93874 2003-04-02  Bruno Haible  <bruno@clisp.org>
93875
93876         * modules/binary-io: New file.
93877         * MODULES.html.sh (func_all_modules): Add it.
93878
93879 2003-04-02  Bruno Haible  <bruno@clisp.org>
93880
93881         * lib/binary-io.h: New file, from GNU gettext.
93882
93883 2003-04-01  Bruno Haible  <bruno@clisp.org>
93884
93885         * modules/pathname: New file.
93886         * MODULES.html.sh (func_all_modules): Add it.
93887
93888 2003-04-01  Bruno Haible  <bruno@clisp.org>
93889
93890         * lib/pathname.h: New file, from GNU gettext.
93891         * lib/concatpath.c: New file, from GNU gettext.
93892
93893 2003-03-30  Bruno Haible  <bruno@clisp.org>
93894
93895         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
93896
93897 2003-03-30  Bruno Haible  <bruno@clisp.org>
93898
93899         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
93900         function chown() doesn't exist.
93901
93902 2003-03-28  Bruno Haible  <bruno@clisp.org>
93903
93904         * modules/copy-file: New file.
93905         * MODULES.html.sh (func_all_modules): Add it.
93906
93907 2003-03-28  Bruno Haible  <bruno@clisp.org>
93908
93909         * m4/copy-file.m4: New file.
93910
93911 2003-03-28  Bruno Haible  <bruno@clisp.org>
93912
93913         * lib/copy-file.h: New file, from GNU gettext.
93914         * lib/copy-file.c: New file, from GNU gettext.
93915
93916 2003-03-18  Jim Meyering  <jim@meyering.net>
93917
93918         * lib/quote.c (quote_n): Fix typo in comment.
93919
93920 2003-03-18  Bruno Haible  <bruno@clisp.org>
93921
93922         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
93923         checking.
93924         * m4/onceonly_2_57.m4: Likewise.
93925
93926 2003-03-17  Bruno Haible  <bruno@clisp.org>
93927
93928         * m4/onceonly.m4: Require autoconf 2.54 or newer.
93929         (m4_quote): Remove macro.
93930         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
93931
93932 2003-03-14  Jim Meyering  <jim@meyering.net>
93933
93934         Merge changes from Coreutils.
93935         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
93936         to be const, in order to avoid warnings.
93937         (obstack_room): Likewise.
93938         (obstack_empty_p): Likewise.
93939
93940 2003-03-14  Bruno Haible  <bruno@clisp.org>
93941
93942         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
93943         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
93944
93945 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93946
93947         Merge changes from Bison.
93948         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
93949         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
93950         when compiling Bison 1.875's `bitset bset = obstack_alloc
93951         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
93952         * lib/hash.c: Include <stdbool.h> unconditionally.
93953
93954 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93955
93956         * m4/onceonly.m4 (m4_quote): New macro.
93957         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
93958         Quote AC_FOREACH variable-expansions properly.
93959
93960 2003-03-13  Paul Eggert  <eggert@twinsun.com>
93961
93962         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
93963
93964 2003-03-09  Paul Eggert  <eggert@twinsun.com>
93965
93966         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
93967         Reported by Bruce Becker; see:
93968         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
93969
93970 2003-03-03  Paul Eggert  <eggert@twinsun.com>
93971             Bruno Haible  <bruno@clisp.org>
93972
93973         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
93974         Reported by John Hughes, see
93975         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
93976
93977 2003-02-20  Bruno Haible  <bruno@clisp.org>
93978
93979         * MODULES.html.sh (func_all_modules): Add poll.
93980
93981 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93982
93983         * modules/poll: New file.
93984
93985 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93986
93987         * lib/poll_.h: New file.
93988         * lib/poll.c: New file.
93989
93990 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
93991
93992         * m4/poll.m4: New file.
93993
93994 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
93995
93996         * modules/mathl: New file.
93997
93998 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
93999
94000         * lib/mathl.h: New file.
94001         * lib/acosl.c: New file.
94002         * lib/asinl.c: New file.
94003         * lib/atanl.c: New file.
94004         * lib/ceill.c: New file.
94005         * lib/cosl.c: New file.
94006         * lib/expl.c: New file.
94007         * lib/floorl.c: New file.
94008         * lib/frexpl.c: New file.
94009         * lib/ldexpl.c: New file.
94010         * lib/logl.c: New file.
94011         * lib/sincosl.c: New file.
94012         * lib/sinl.c: New file.
94013         * lib/sqrtl.c: New file.
94014         * lib/tanl.c: New file.
94015         * lib/trigl.c: New file.
94016         * lib/trigl.h: New file.
94017
94018 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94019
94020         * m4/mathl.m4: New file.
94021
94022 2003-02-18  Bruno Haible  <bruno@clisp.org>
94023
94024         * MODULES.html.sh (func_all_modules): Add mathl.
94025
94026 2003-02-17  Bruno Haible  <bruno@clisp.org>
94027
94028         * modules/mkdtemp: New module.
94029         * MODULES.html.sh (func_all_modules): Add it.
94030
94031 2003-02-17  Bruno Haible  <bruno@clisp.org>
94032
94033         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
94034
94035 2003-02-17  Bruno Haible  <bruno@clisp.org>
94036
94037         * lib/mkdtemp.h: New file, from GNU gettext.
94038         * lib/mkdtemp.c: New file, from GNU gettext.
94039
94040 2003-02-02  Jim Meyering  <jim@meyering.net>
94041
94042         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
94043         e.g. glibc-2.2.93.
94044
94045 2003-01-31  Bruno Haible  <bruno@clisp.org>
94046
94047         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
94048         'rpl_rename'.
94049         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
94050         'rpl_strnlen'.
94051         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
94052         'rpl_strtod'.
94053         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
94054         'rpl_utime'.
94055
94056 2003-01-31  Bruno Haible  <bruno@clisp.org>
94057
94058         * lib/rename.c: #undef rename before defining rpl_rename.
94059         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
94060
94061 2003-01-30  Bruno Haible  <bruno@clisp.org>
94062
94063         * modules/vasnprintf, modules/vasprintf: New modules.
94064         * MODULES.html.sh (func_all_modules): Add them.
94065
94066 2003-01-30  Bruno Haible  <bruno@clisp.org>
94067
94068         * m4/signed.m4: New file, from GNU gettext.
94069         * m4/longdouble.m4: New file, from GNU gettext.
94070         * m4/wchar_t.m4: New file, from GNU gettext.
94071         * m4/wint_t.m4: New file, from GNU gettext.
94072         * m4/vasnprintf.m4: New file.
94073         * m4/vasprintf.m4: New file.
94074
94075 2003-01-30  Bruno Haible  <bruno@clisp.org>
94076
94077         * lib/printf-args.h: New file, from GNU gettext.
94078         * lib/printf-args.c: New file, from GNU gettext.
94079         * lib/printf-parse.h: New file, from GNU gettext.
94080         * lib/printf-parse.c: New file, from GNU gettext.
94081         * lib/vasnprintf.h: New file, from GNU gettext.
94082         * lib/vasnprintf.c: New file, from GNU gettext.
94083         * lib/asnprintf.c: New file, from GNU gettext.
94084         * lib/vasprintf.h: New file, from GNU gettext with modifications.
94085         * lib/vasprintf.c: New file, from GNU gettext.
94086         * lib/asprintf.c: New file, from GNU gettext.
94087
94088 2003-01-29  Bruno Haible  <bruno@clisp.org>
94089
94090         * modules/stpncpy: New module.
94091         * MODULES.html.sh (func_all_modules): Add it.
94092
94093 2003-01-29  Bruno Haible  <bruno@clisp.org>
94094
94095         * m4/stpncpy.m4: New file.
94096
94097 2003-01-29  Bruno Haible  <bruno@clisp.org>
94098
94099         * lib/stpncpy.h: New file, from GNU gettext with modifications.
94100         * lib/stpncpy.c: New file, from GNU gettext with modifications.
94101
94102 2003-01-28  Bruno Haible  <bruno@clisp.org>
94103
94104         * modules/c-ctype: New module.
94105         * MODULES.html.sh (func_all_modules): Add it.
94106
94107 2003-01-28  Bruno Haible  <bruno@clisp.org>
94108
94109         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
94110         Paul Eggert.
94111         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
94112         Paul Eggert.
94113
94114 2003-01-27  Bruno Haible  <bruno@clisp.org>
94115
94116         * modules/xsetenv: New module.
94117         * MODULES.html.sh (func_all_modules): Add it.
94118
94119 2003-01-27  Bruno Haible  <bruno@clisp.org>
94120
94121         * lib/xsetenv.h: New file, from GNU gettext.
94122         * lib/xsetenv.c: New file, from GNU gettext.
94123
94124 2003-01-23  Jim Meyering  <jim@meyering.net>
94125
94126         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
94127         from working on systems without dirfd (at least Irix and OSF1/Tru64).
94128
94129 2003-01-23  Bruno Haible  <bruno@clisp.org>
94130
94131         * modules/minmax: New module.
94132         * MODULES.html.sh (func_all_modules): Add it.
94133
94134 2003-01-23  Bruno Haible  <bruno@clisp.org>
94135
94136         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
94137         Eggert.
94138
94139 2003-01-22  Bruno Haible  <bruno@clisp.org>
94140
94141         * modules/exit: New module.
94142         * MODULES.html.sh (func_all_modules): Add it.
94143
94144 2003-01-22  Bruno Haible  <bruno@clisp.org>
94145
94146         * lib/exit.h: New file, from GNU gettext.
94147
94148 2003-01-19  Bruno Haible  <bruno@clisp.org>
94149
94150         * gnulib-tool: Recognize option --extract-maintainer.
94151         (func_get_maintainer): New function.
94152         * modules/*: Add Maintainer entry.
94153
94154 2003-01-16  Jim Meyering  <jim@meyering.net>
94155
94156         * m4/regex.m4: The `regex' struct is both input and output.
94157         Initialize it before each use.  Patch by Tim Waugh.
94158
94159 2003-01-16  Bruno Haible  <bruno@clisp.org>
94160
94161         * MODULES.html.sh: Add a table of contents. Add the module name as
94162         leftmost column. Add hyperlinks.
94163
94164 2003-01-15  Bruno Haible  <bruno@clisp.org>
94165
94166         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
94167
94168 2003-01-15  Bruno Haible  <bruno@clisp.org>
94169
94170         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
94171         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
94172         suffix.
94173
94174 2003-01-15  Bruno Haible  <bruno@clisp.org>
94175
94176         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
94177
94178 2003-01-15  Bruno Haible  <bruno@clisp.org>
94179
94180         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
94181         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
94182
94183 2003-01-14  Jim Meyering  <jim@meyering.net>
94184
94185         * lib/same.c (same_name): Tweak a comment.
94186
94187 2003-01-14  Bruno Haible  <bruno@clisp.org>
94188
94189         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
94190         when a string comparison is sufficient.
94191
94192 2003-01-14  Bruno Haible  <bruno@clisp.org>
94193
94194         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
94195         'unsigned int'.
94196
94197 2003-01-14  Bruno Haible  <bruno@clisp.org>
94198
94199         * lib/hash-pjw.c: Add comment about low quality of this function.
94200
94201 2003-01-13  Bruno Haible  <bruno@clisp.org>
94202
94203         * modules/stpcpy: Distribute lib/stpcpy.h.
94204         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
94205
94206 2003-01-13  Bruno Haible  <bruno@clisp.org>
94207
94208         * modules/*: Add a description.
94209         * modules/strpbrk: Fix Makefile.am snippet.
94210         * modules/strtoimax: Fix dependencies.
94211         * modules/strtoumax: Likewise.
94212
94213 2003-01-13  Bruno Haible  <bruno@clisp.org>
94214
94215         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
94216         * modules/alloca (Makefile.am): All object files depend on alloca.h.
94217         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
94218
94219 2003-01-13  Bruno Haible  <bruno@clisp.org>
94220
94221         * gnulib-tool (func_create_testdir): Store config/* files in the main
94222         directory.
94223         * config.rpath: Move to ...
94224         * config/config.rpath: ... here.
94225         * modules/gettext: Contains config/config.rpath, not config.rpath.
94226         * modules/iconv: Likewise.
94227
94228 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94229
94230         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94231         to avoid collisions with libcurses and libreadline.
94232
94233         * m4/getstr.m4: Remove.
94234         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
94235
94236 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94237
94238         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94239         to avoid collisions with libcurses and libreadline.
94240
94241         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
94242         * lib/getstr.h, getstr.c: Remove.
94243         * lib/getline.c: Include "getline.h", to check interface.
94244         Move body of old getstr.c here: this defines MIN_CHUNK and
94245         declares getdelim2, which is renamed from getstr.
94246         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
94247
94248         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
94249         All uses changed.
94250         * lib/linebuffer.h: Likewise.
94251         (readline): Remove backward-compatibility macro.
94252
94253 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94254
94255         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94256         to avoid collisions with libcurses and libreadline.
94257         * getstr: Remove.
94258         * MODULES.html.sh: Remove getstr.
94259         * modules/getline: Depend on unlocked-io, not getstr.
94260
94261 2003-01-12  Jim Meyering  <jim@meyering.net>
94262
94263         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
94264
94265 2003-01-10  Bruno Haible  <bruno@clisp.org>
94266
94267         * modules/alloca: Change Makefile.am requirements. Simplify Include
94268         requirements. Add lib/alloca_.h to file list.
94269
94270 2003-01-10  Bruno Haible  <bruno@clisp.org>
94271
94272         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
94273
94274 2003-01-10  Bruno Haible  <bruno@clisp.org>
94275
94276         * lib/alloca_.h: New file.
94277         * lib/getdate.y: Unconditionally include alloca.h.
94278         * lib/makepath.c: Likewise.
94279         * lib/setenv.c: Likewise.
94280         * lib/userspec.c: Likewise.
94281
94282 2003-01-09  Karl Berry  <karl@gnu.org>
94283
94284         * MODULES.html.sh: include `dirname $0` in PATH, to find
94285         gnulib-tool.
94286
94287 2003-01-09  Bruno Haible  <bruno@clisp.org>
94288
94289         * modules/stdbool: Change configure.ac, Makefile.am requirements.
94290         Simplify Include requirements. Add lib/stdbool.h.in to file list.
94291
94292 2003-01-09  Bruno Haible  <bruno@clisp.org>
94293
94294         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
94295
94296 2003-01-09  Bruno Haible  <bruno@clisp.org>
94297
94298         * lib/stdbool.h.in: New file.
94299
94300 2003-01-09  Bruno Haible  <bruno@clisp.org>
94301
94302         * gnulib-tool (func_all_modules): Ignore files ending in ~.
94303         * MODULES.html.sh: Likewise.
94304
94305 2003-01-08  Jim Meyering  <jim@meyering.net>
94306
94307         * lib/full-write.c: Undefine and define-away `const' after inclusion
94308         of errno.h, not before.  Suggestion from Bruno Haible.
94309
94310 2003-01-08  Bruno Haible  <bruno@clisp.org>
94311
94312         * modules/full-read: Depend on full-write.
94313
94314 2003-01-08  Bruno Haible  <bruno@clisp.org>
94315
94316         * lib/safe-read.c: Include specification header first, to ensure its
94317         selfcontainedness.
94318         * lib/full-write.c: Likewise.
94319
94320 2003-01-07  Jim Meyering  <jim@meyering.net>
94321
94322         * lib/full-write.c: Rework so that it may serve to define full_read,
94323         too.
94324         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
94325
94326 2003-01-07  Bruno Haible  <bruno@clisp.org>
94327
94328         * lib/strtoimax.c: Include <stdint.h> as an alternative to
94329         <inttypes.h>.
94330         * lib/xstrtol.h: Likewise.
94331         * lib/xstrtoimax.c: Likewise.
94332         * lib/xstrtoumax.c: Likewise.
94333         * lib/human.h: Likewise.
94334
94335         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
94336         on systems that have <inttypes.h> but not <stdint.h>.
94337
94338 2003-01-07  Bruno Haible  <bruno@clisp.org>
94339
94340         * MODULES.html.sh: Add copyright notice.
94341         (missed_files): Omit CVS directory entries.
94342         (func_module): Make it work with sed-3.02.
94343         * MODULES.txt: Remove file.
94344
94345 2003-01-06  Jim Meyering  <jim@meyering.net>
94346
94347         * lib/version-etc.c: Update year in translatable copyright string.
94348
94349 2003-01-03  Karl Berry  <karl@gnu.org>
94350
94351         * config/config.{guess,sub}: update from prep.
94352
94353 2003-01-02  Karl Berry  <karl@gnu.org>
94354
94355         * doc/COPYING.DOC: belatedly updated to 1.2.
94356
94357 2003-01-01  Karl Berry  <karl@gnu.org>
94358
94359         * gnulib-tool (func_verify_module): report module name $module in
94360         error message, not $1.
94361         * gnulib-tool (create-testdir): don't complain if destdir couldn't
94362         be created, only if it doesn't exist.
94363         * gnulib-tool (last_checkin_date): don't expand the $Date here.
94364
94365 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94366
94367         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
94368
94369 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94370
94371         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
94372         memcmp if strcoll doesn't work.
94373
94374 2002-12-31  Bruno Haible  <bruno@clisp.org>
94375
94376         * lib/utime.c (utime_null): No need to call ftruncate if the file was
94377         nonempty.
94378
94379 2002-12-31  Bruno Haible  <bruno@clisp.org>
94380
94381         * lib/memcoll.c (STRCOLL): New macro.
94382         (memcoll): Use it.
94383
94384 2002-12-31  Bruno Haible  <bruno@clisp.org>
94385
94386         * lib/localcharset.h: New file.
94387         * lib/localcharset.c: Include it.
94388         * lib/unicodeio.c: Likewise.
94389
94390 2002-12-31  Bruno Haible  <bruno@clisp.org>
94391
94392         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
94393         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
94394
94395 2002-12-31  Bruno Haible  <bruno@clisp.org>
94396
94397         * lib/getline.h: Include <stddef.h>, for size_t.
94398
94399         * lib/unicodeio.h: Include <stddef.h>, for size_t.
94400         * lib/unicodeio.c: Don't include <stddef.h>.
94401
94402 2002-12-31  Bruno Haible  <bruno@clisp.org>
94403
94404         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
94405         HAVE_TM_ZONE.
94406
94407 2002-12-24  Karl Berry  <karl@gnu.org>
94408
94409         * config/config.guess: update from prep.
94410
94411 2002-12-24  Bruno Haible  <bruno@clisp.org>
94412
94413         General infrasructure.
94414         * m4/README: Rewritten.
94415         * m4/onceonly.m4: New file.
94416         * m4/onceonly_2_57.m4: New file.
94417
94418         Module atexit.
94419         * m4/atexit.m4: New file.
94420
94421         Module strtod.
94422         * m4/strtod.m4: New file.
94423
94424         Module strtol.
94425         * m4/strtol.m4: New file.
94426
94427         Module strtoul.
94428         * m4/strtoul.m4: New file.
94429
94430         Module memchr.
94431         * m4/memchr.m4: New file.
94432
94433         Module memcmp.
94434         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
94435         (jm_FUNC_MEMCMP): Invoke it.
94436
94437         Module memcpy.
94438         * m4/memcpy.m4: New file.
94439
94440         Module memmove.
94441         * m4/memmove.m4: New file.
94442
94443         Module memset.
94444         * m4/memset.m4: New file.
94445
94446         Module strcspn.
94447         * m4/strcspn.m4: New file.
94448
94449         Module strpbrk.
94450         * m4/strpbrk.m4: New file.
94451
94452         Module strstr.
94453         * m4/strstr.m4: New file.
94454
94455         Module strerror.
94456         * m4/strerror.m4: New file.
94457
94458         Module mktime.
94459         * m4/mktime.m4: Renamed from jm-mktime.m4.
94460         (gl_PREREQ_MKTIME): New macro.
94461         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
94462
94463         Module malloc.
94464         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
94465         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
94466         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
94467
94468         Module realloc.
94469         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
94470         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
94471         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
94472
94473         Module strftime.
94474         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
94475         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
94476         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
94477         gl_TM_GMTOFF.
94478         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
94479
94480         Module xalloc.
94481         * m4/xalloc.m4: New file.
94482
94483         Module alloca.
94484         * m4/alloca.m4: New file.
94485
94486         Module putenv.
94487         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
94488         (jm_FUNC_PUTENV): Invoke it.
94489
94490         Module setenv.
94491         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
94492         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
94493         when invoked twice.
94494         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
94495         gt_FUNC_SETENV.
94496
94497         Module memrchr.
94498         * m4/memrchr.m4: New file.
94499
94500         Module stpcpy.
94501         * m4/stpcpy.m4: New file.
94502
94503         Module strcase.
94504         * m4/strcase.m4: New file.
94505
94506         Module strdup.
94507         * m4/strdup.m4: New file.
94508
94509         Module strnlen.
94510         * m4/strnlen.m4: New file.
94511
94512         Module strndup.
94513         * m4/strndup.m4: New file.
94514
94515         Module xstrtod.
94516         * m4/xstrtod.m4: New file.
94517
94518         Module xstrtol.
94519         * m4/xstrtol.m4: New file.
94520
94521         Module getdate.
94522         * m4/getdate.m4: New file.
94523
94524         Module unlocked-io.
94525         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
94526         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
94527         * m4/jm-glibc-io.m4n: Remove file.
94528
94529         Module long-options.
94530         * m4/long-options.m4: New file.
94531
94532         Module md5.
94533         * m4/md5.m4: New file.
94534
94535         Module sha.
94536         * m4/sha.m4: New file.
94537
94538         Module getstr.
94539         * m4/getstr.m4: New file.
94540
94541         Module getline.
94542         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
94543         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
94544         <sys/types.h>, for size_t. Use the function name gnu_getline, not
94545         simply getline. Infoke gl_PREREQ_GETLINE.
94546
94547         Module obstack.
94548         * m4/obstack.m4: New file.
94549
94550         Module hash.
94551         * m4/hash.m4: New file.
94552
94553         Module readtokens.
94554         * m4/readtokens.m4: New file.
94555
94556         Module strverscmp.
94557         * m4/strverscmp.m4: New file.
94558
94559         Module stdbool.
94560         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
94561         OSF/1.
94562
94563         Module strtoll.
94564         * m4/strtoll.m4: New file.
94565
94566         Module strtoull.
94567         * m4/strtoull.m4: New file.
94568
94569         Module strtoimax.
94570         * m4/strtoimax.m4: New file.
94571
94572         Module strtoumax.
94573         * m4/strtoumax.m4: New file.
94574
94575         Module xstrtoimax.
94576         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
94577         jm_AC_PREREQ_XSTRTOIMAX.
94578         Moved the strtol prerequisites to strtol.m4.
94579         Moved the strtoll prerequisites to strtoll.m4.
94580         Moved the strtoimax prerequisites to strtoimax.m4.
94581
94582         Module xstrtoumax.
94583         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
94584         jm_AC_PREREQ_XSTRTOUMAX.
94585         Moved the strtoul prerequisites to strtoul.m4.
94586         Moved the strtoull prerequisites to strtoull.m4.
94587         Moved the strtoumax prerequisites to strtoumax.m4.
94588
94589         Module chown.
94590         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
94591         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
94592
94593         Module dup2.
94594         * m4/dup2.m4: New file.
94595
94596         Module ftruncate.
94597         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
94598         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
94599
94600         Module getgroups.
94601         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
94602         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
94603
94604         Module gettimeofday.
94605         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
94606         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
94607         gl_PREREQ_GETTIMEOFDAY.
94608
94609         Module mkdir.
94610         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
94611         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
94612
94613         Module mkstemp.
94614         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
94615         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
94616         jm_AC_TYPE_UINTMAX_T.
94617         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
94618
94619         Module stat.
94620         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
94621         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
94622
94623         Module lstat.
94624         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
94625         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
94626
94627         Module timespec.
94628         * m4/timespec.m4 (gl_TIMESPEC): New macro.
94629         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
94630         * m4/st_mtim.m4: Indentation.
94631
94632         Module nanosleep.
94633         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
94634         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
94635         gl_PREREQ_NANOSLEEP.
94636
94637         Module regex.
94638         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
94639         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
94640         (gl_REGEX): New macro.
94641
94642         Module rename.
94643         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
94644         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
94645
94646         Module rmdir.
94647         * m4/rmdir.m4: New file.
94648
94649         Module utime.
94650         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
94651         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
94652         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
94653
94654         Module dirname.
94655         * m4/dirname.m4: New file.
94656
94657         Module getopt.
94658         * m4/getopt.m4: New file.
94659
94660         Module unistd-safer.
94661         * m4/unistd-safer.m4: New file.
94662
94663         Module fnmatch.
94664         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
94665         declaration.
94666         (gl_PREREQ_FNMATCH_EXTRA): New macro.
94667         (gl_FUNC_FNMATCH_POSIX): New macro.
94668         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
94669         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
94670         simply fnmatch.
94671
94672         Module exclude.
94673         * m4/exclude.m4: New file.
94674
94675         Module human.
94676         * m4/human.m4: New file.
94677
94678         Module acl.
94679         * m4/acl.m4: Nop.
94680
94681         Module backupfile.
94682         * m4/backupfile.m4: New file.
94683         * m4/d-ino.m4: Indentation.
94684
94685         Module fsusage.
94686         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
94687         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
94688         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
94689
94690         Module dirfd.
94691         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
94692         requirements.
94693
94694         Module euidaccess.
94695         * m4/euidaccess.m4: New file.
94696
94697         Module file-type.
94698         * m4/file-type.m4: New file.
94699
94700         Module fileblocks.
94701         * m4/fileblocks.m4: New file.
94702
94703         Module filemode.
94704         * m4/filemode.m4: New file.
94705
94706         Module isdir.
94707         * m4/isdir.m4: New file.
94708
94709         Module lchown.
94710         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
94711         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
94712
94713         Module makepath.
94714         * m4/makepath.m4: New file.
94715
94716         Module modechange.
94717         * m4/modechange.m4: New file.
94718
94719         Module mountlist.
94720         * m4/mountlist.m4: New file.
94721         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
94722         Indentation.
94723
94724         Module path-concat.
94725         * m4/path-concat.m4: New file.
94726
94727         Module pathmax.
94728         * m4/pathmax.m4: New file.
94729
94730         Module same.
94731         * m4/same.m4: New file.
94732
94733         Module save-cwd.
94734         * m4/save-cwd.m4: New file.
94735
94736         Module savedir.
94737         * m4/savedir.m4: New file.
94738
94739         Module xgetcwd.
94740         * m4/xgetcwd.m4: New file.
94741         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
94742
94743         Module xreadlink.
94744         * m4/xreadlink.m4: New file.
94745
94746         Module safe-read.
94747         * m4/safe-read.m4: New file.
94748
94749         Module safe-write.
94750         * m4/safe-write.m4: New file.
94751
94752         Module closeout.
94753         * m4/closeout.m4: New file.
94754
94755         Module stdio-safer.
94756         * m4/stdio-safer.m4: New file.
94757
94758         Module getpass.
94759         * m4/getpass.m4: New file.
94760
94761         Module getugroups.
94762         * m4/getugroups.m4: New file.
94763
94764         Module group-member.
94765         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
94766         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
94767
94768         Module idcache.
94769         * m4/idcache.m4: New file.
94770
94771         Module userspec.
94772         * m4/userspec.m4: New file.
94773
94774         Module gettime.
94775         * m4/clock_time.m4: New file.
94776         * m4/gettime.m4: New file.
94777
94778         Module settime.
94779         * m4/settime.m4: New file.
94780
94781         Module posixtm.
94782         * m4/posixtm.m4: New file.
94783
94784         Module gethostname.
94785         * m4/gethostname.m4: New file.
94786
94787         Module canon-host.
94788         * m4/canon-host.m4: New file.
94789
94790         Module gettext.
94791         * m4/codeset.m4: New file, from gettext-0.11.5.
94792         * m4/gettext.m4: New file, from gettext-0.11.5.
94793         * m4/glibc21.m4: New file, from gettext-0.11.5.
94794         * m4/iconv.m4: New file, from gettext-0.11.5.
94795         * m4/intdiv0.m4: New file, from gettext-0.11.5.
94796         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
94797         * m4/inttypes.m4: New file, from gettext-0.11.5.
94798         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
94799         * m4/isc-posix.m4: New file, from gettext-0.11.5.
94800         * m4/lcmessage.m4: New file, from gettext-0.11.5.
94801         * m4/lib-ld.m4: New file, from gettext-0.11.5.
94802         * m4/lib-link.m4: New file, from gettext-0.11.5.
94803         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
94804         * m4/progtest.m4: New file, from gettext-0.11.5.
94805         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
94806         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
94807         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
94808
94809         Module localcharset.
94810         * m4/localcharset.m4: New file.
94811
94812         Module hard-locale.
94813         * m4/hard-locale.m4: New file.
94814
94815         Module mbswidth.
94816         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
94817         onceonly macros.
94818         * m4/mbrtowc.m4: Add comment.
94819
94820         Module memcasecmp.
94821         * m4/memcasecmp.m4: New file.
94822
94823         Module memcoll.
94824         * m4/memcoll.m4: New file.
94825
94826         Module unicodeio.
94827         * m4/unicodeio.m4: New file.
94828
94829         Module rpmatch.
94830         * m4/rpmatch.m4: New file.
94831
94832         Module yesno.
94833         * m4/yesno.m4: New file.
94834
94835         Module exitfail.
94836         * m4/exitfail.m4: New file.
94837
94838         Module c-stack.
94839         * m4/c-stack.m4 (gl_C_STACK): New macro.
94840         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
94841
94842         Module error.
94843         * m4/error.m4 (gl_ERROR): New macro.
94844         (jm_PREREQ_ERROR): Use onceonly macros.
94845
94846         Module fatal.
94847         * m4/fatal.m4: New file.
94848
94849         Module getloadavg.
94850         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
94851         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
94852
94853         Module getpagesize.
94854         * m4/getpagesize.m4: New file.
94855
94856         Module getusershell.
94857         * m4/getusershell.m4: New file.
94858
94859         Module physmem.
94860         * m4/physmem.m4: New file.
94861
94862         Module posixver.
94863         * m4/posixver.m4: New file.
94864
94865         Module quotearg.
94866         * m4/quotearg.m4: New file.
94867
94868         Module quote.
94869         * m4/quote.m4: New file.
94870
94871         Module readutmp.
94872         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
94873
94874         Module sig2str.
94875         * m4/sig2str.m4: New file.
94876
94877         Other.
94878         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
94879         ulonglong.m4.
94880         * m4/intmax_t.m4: New file.
94881         * m4/d-type.m4: Indentation.
94882         * m4/jm-macros.m4: Update.
94883         * m4/prereq.m4 (jm_PREREQ): Update.
94884         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
94885         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
94886         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
94887         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
94888         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
94889         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
94890         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
94891         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
94892         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
94893         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
94894         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
94895         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
94896         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
94897         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
94898         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
94899         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
94900         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
94901         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
94902         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
94903
94904 2002-12-24  Bruno Haible  <bruno@clisp.org>
94905
94906         * MODULES.txt: Update according to m4/ changes.
94907
94908         Module gettext.
94909         * config.rpath: New file, from gettext-0.11.5.
94910
94911         * modules/*: New module descriptions.
94912         * gnulib-tool: New file.
94913         * MODULES.html.sh: New file.
94914
94915 2002-12-21  Karl Berry  <karl@gnu.org>
94916
94917         * doc/fdl.texi: update to version 1.2.
94918
94919 2002-12-19  Karl Berry  <karl@gnu.org>
94920
94921         * config/config.guess: update from prep.
94922
94923 2002-12-18  Bruno Haible  <bruno@clisp.org>
94924
94925         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
94926         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
94927
94928 2002-12-17  Bruno Haible  <bruno@clisp.org>
94929
94930         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
94931         stdlib.h, string.h.
94932
94933 2002-12-17  Bruno Haible  <bruno@clisp.org>
94934
94935         * lib/canon-host.c (strdup): Remove unused declaration.
94936
94937         * lib/fsusage.c: Include full_read.h.
94938         (get_fs_usage): Use full_read instead of safe_read.
94939
94940         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
94941
94942 2002-12-12  Karl Berry  <karl@gnu.org>
94943
94944         * config/config.guess: update from prep.
94945
94946 2002-12-11  Bruno Haible  <bruno@clisp.org>
94947
94948         * m4/setenv.m4: New file, from gettext-0.11.5.
94949
94950 2002-12-11  Bruno Haible  <bruno@clisp.org>
94951
94952         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
94953         not unsetenv().
94954         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
94955         modifications:
94956
94957         2002-12-11  Bruno Haible  <bruno@clisp.org>
94958
94959                 * setenv.c (alloca): Fall back to malloc.
94960                 (freea): New macro.
94961                 (setenv): Use freea() to free memory allocated with alloca().
94962
94963         2002-11-13  Bruno Haible  <bruno@clisp.org>
94964
94965                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
94966                 function declarations.
94967                 * unsetenv.c (unsetenv): Likewise.
94968
94969         2002-03-04  Bruno Haible  <bruno@clisp.org>
94970
94971                 Portability to AIX 4.3.3.
94972                 * unsetenv.c: New file, extracted from setenv.c.
94973                 * setenv.c: Move the unsetenv() function to unsetenv.c.
94974
94975         2001-12-20  Bruno Haible  <bruno@clisp.org>
94976
94977                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
94978                 use malloc instead. For SunOS 4.
94979
94980         2001-12-11  Bruno Haible  <bruno@clisp.org>
94981
94982                 * setenv.c: Declare alloca.
94983                 (compar_fn_t): New typedef.
94984                 (KNOWN_VALUE, STORE_VALUE): Use it.
94985
94986         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
94987         setenv.h.
94988
94989 2002-12-10  Paul Eggert  <eggert@twinsun.com>
94990
94991         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
94992         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
94993         Choose values that are less likely to collide with system fnmatch
94994         options.
94995         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
94996         defined (e.g., a pure POSIX system).
94997         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
94998         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
94999
95000 2002-12-06  Paul Eggert  <eggert@twinsun.com>
95001
95002         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
95003         a pain in practice to deal with generated m4 files.  This change
95004         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
95005
95006         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
95007         and jm-glibc-io.m4, as they are no longer a special case.
95008         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
95009         kludge and the auto-generation stuff.  Check only whether the
95010         functions are declared, not whether they exist, since older hosts
95011         that don't declare the functions can't use the optimization anyway.
95012
95013 2002-12-06  Jim Meyering  <jim@meyering.net>
95014
95015         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
95016
95017         Merge in changes from libc's misc/error.c, in preparation
95018         for the merge of gnulib's changes back into libc.
95019
95020         * lib/error.c (_): Define only if not already defined.
95021         Move definition to follow all #include directives.
95022         Include unlocked-io.h only if !_LIBC.
95023         [_LIBC]: Include <libio/libioP.h>.
95024         [USE_IN_LIBIO]: Include <libio/iolibio.h>
95025         (fflush): Tweak definition to use INTUSE.
95026         (putc): Define.
95027
95028 2002-12-05  Paul Eggert  <eggert@twinsun.com>
95029
95030         * lib/alloca.c [defined emacs]: Include "lisp.h".
95031         (xalloc_die) [defined emacs]: New macro.
95032         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
95033         [! defined emacs]: Include <xalloc.h>.
95034         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
95035         (pointer): Typedef to POINTER_TYPE *.
95036         (malloc): Remove decl; we now always use xmalloc.
95037         (alloca): Use old-style definition, since Emacs needs this.
95038         Check for arithmetic overflow when computing combined size.
95039
95040 2002-12-04  Paul Eggert  <eggert@twinsun.com>
95041
95042         Do not generate unlocked-io.h automatically, since it's easier to
95043         maintain it by hand.
95044
95045         * lib/unlocked-io.h: New file, from GNU diffutils,
95046         but with proper copyright notice and attribution.
95047         * lib/gen-uio: Remove.
95048         * lib/Makefile.am: Add copyright notice.
95049         (libfetish_a_SOURCES): Add unlocked-io.h.
95050         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
95051         (DISTCLEANFILES, io_functions): Remove macros.
95052         (EXTRA_DIST): Remove gen_uio.
95053         (unlocked-io.h): Remove rule.
95054
95055 2002-12-04  Jim Meyering  <jim@meyering.net>
95056
95057         Reflect the fact that stat.c and lstat.c are no longer generated.
95058         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
95059         (DISTCLEANFILES): Likewise.
95060         (EXTRA_DIST): Likewise.
95061         (all_local): Don't depend on stat.c or lstat.c.
95062         (stat.c, lstat.c): Remove rules.
95063         (EXTRA_DIST): Remove xstat.in.
95064
95065         * lib/xstat.in: Remove file.  Contents moved into stat.c.
95066         * lib/stat.c: New file.  Contents mostly from xstat.in.
95067         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
95068         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
95069
95070         * lib/safe-read.c: Rework so that it may serve to define safe_write,
95071         too.
95072         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
95073
95074 2002-12-03  Jim Meyering  <jim@meyering.net>
95075
95076         * lib/safe-read.c, safe-write.c: Change variable names and comments,
95077         but not semantics, to minimize the differences between these two files.
95078         (safe_read): Change comment to mention SAFE_READ_ERROR.
95079
95080         * lib/safe-read.c (IS_EINTR): Define.
95081         (safe_read): Use IS_EINTR in place of in-function cpp directives.
95082
95083 2002-12-02  Jim Meyering  <jim@meyering.net>
95084
95085         * lib/safe-read.c (EINTR): Define.
95086         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
95087         (INT_MAX): Provide fallback.
95088         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
95089
95090         * lib/safe-read.h (SAFE_READ_ERROR): Define.
95091
95092 2002-12-02  Bruno Haible  <bruno@clisp.org>
95093
95094         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
95095         Define, taken from safe-read.c.
95096         (INT_MAX): Provide fallback.
95097         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
95098         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
95099
95100         * lib/safe-read.c (EINTR): Remove definition.
95101         (safe_read): Don't use EINTR if it is absent.
95102
95103 2002-12-01  Jim Meyering  <jim@meyering.net>
95104
95105         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
95106         zero.
95107         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
95108
95109 2002-11-27  Paul Eggert  <eggert@twinsun.com>
95110
95111         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
95112         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
95113         with `if (! (value < limit)) abort ();', for readability.
95114
95115 2002-11-26  Karl Berry  <karl@gnu.org>
95116
95117         * lib/strdup.c: copy from libc again, with jim's ok.
95118         * lib/.cppi-disable: re-add strdup.c
95119
95120 2002-11-25  Karl Berry  <karl@gnu.org>
95121
95122         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
95123         instead of "strtol.c".
95124
95125 2002-11-25  Karl Berry  <karl@gnu.org>
95126
95127         * config/install-sh: update from automake for variable quoting, $0 in
95128         error msgs, etc.
95129
95130         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
95131         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
95132         entry.
95133
95134 2002-11-25  Jim Meyering  <jim@meyering.net>
95135
95136         * lib/mktime.c: Sync from libc, now that it has the latest fix.
95137
95138 2002-11-24  Karl Berry  <karl@gnu.org>
95139
95140         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
95141         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
95142
95143 2002-11-24  Jim Meyering  <jim@meyering.net>
95144
95145         Update from coreutils:
95146
95147         * lib/mktime.c: Merge in changes from libc.
95148
95149         Avoid a link-time failure on some Linux systems.
95150         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
95151         (otherwise).
95152         (__mon_yday): Declare with the STATIC attribute.
95153         (__mktime_internal): Likewise.
95154         Based on a report from Greg Schafer.
95155
95156 2002-11-23  Jim Meyering  <jim@meyering.net>
95157
95158         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
95159         Use `unsigned', not `int', as type of index.
95160
95161         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
95162
95163         * lib/fsusage.c: Remove unneeded parentheses around operands of
95164         `defined'.
95165
95166 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95167
95168         * lib/quotearg.h: Allow multiple inclusion by surrounding with
95169         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
95170         so that we can be included first.
95171         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
95172         * lib/quotearg.c: Include quotearg.h immediately after config.h.
95173         No need to include stddef.h or sys/types.h any more.
95174         Surround local include files with "", not "<>".
95175         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
95176         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
95177         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
95178         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
95179         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
95180         (ISPRINT): Remove; no longer needed now that we assume C89.
95181
95182         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
95183         Preserve errno.
95184
95185         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
95186         quotearg_char): Use SIZE_MAX rather than
95187         (size_t) -1 when we are talking about "infinity".
95188
95189         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
95190
95191 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95192
95193         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
95194         hint that one should use `if (! x) abort ();' rather than `assert
95195         (x);', and anyway it's one less thing to worry about configuring.
95196         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
95197         hash_rehash, hash_insert): Use abort rather than assert.
95198
95199 2002-11-22  Bruno Haible  <bruno@clisp.org>
95200
95201         * lib/safe-read.h: Assume C89. Add comments.
95202         (safe_read): Change return type to size_t.
95203         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
95204         byte counts > SSIZE_MAX correctly.
95205         * lib/safe-write.h: New file.
95206         * lib/safe-write.c: New file.
95207         * lib/full-read.h: New file.
95208         * lib/full-read.c: New file.
95209         * lib/full-write.h: Assume C89. Add comments.
95210         * lib/full-write.c: Include safe-write.h.
95211         (full_write): Rewritten to use safe_write.
95212         Suggested by Jim Meyering and Paul Eggert.
95213
95214 2002-11-21  Jim Meyering  <jim@meyering.net>
95215
95216         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
95217
95218         Merge in changes from the coreutils.
95219
95220         2002-09-25  Paul Eggert  <eggert@twinsun.com>
95221         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
95222         <stdint.h>.
95223         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
95224         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
95225         int.  Work more efficiently if X is the same width as uintmax_t.
95226         Do not compare X to -1, to avoid bogus compiler warning.
95227         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
95228         Don't assume that f_frsize and f_bsize are the same type.
95229
95230         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
95231         warning on FreeBSD.
95232
95233         * lib/makepath.c (make_path): Restore umask *before* creating the final
95234         component.
95235         (make_path): Minor reformatting.
95236
95237         * lib/xmalloc.c: Adjust to work with new autoconf macros,
95238         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
95239         HAVE_MALLOC/HAVE_REALLOC.
95240
95241         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
95242         dummy ones.  At least on GNU/Linux systems, `auto' means something
95243         else.
95244         From Michael Stone.
95245
95246 2002-11-21  Bruno Haible  <bruno@clisp.org>
95247
95248         Remove case insensitive option matching.
95249         * lib/argmatch.h (argcasematch): Remove declaration.
95250         (ARGCASEMATCH): Remove macro.
95251         (__xargmatch_internal): Remove case_sensitive argument.
95252         (XARGMATCH): Update.
95253         (XARGCASEMATCH): Remove macro.
95254         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
95255         case_sensitive argument.
95256         (argcasematch): Remove function.
95257         (__xargmatch_internal): Remove case_sensitive argument.
95258         (main): Use XARGMATCH instead of XARGCASEMATCH.
95259
95260         * lib/xmalloc.c: Change compile-time error message. Add comment about
95261         required autoconf version.
95262
95263 2002-11-20  Paul Eggert  <eggert@twinsun.com>
95264
95265         Merge argmatch cleanups from Bison.  Assume C89.
95266
95267         * lib/argmatch.c: Include config.h here, not in argmatch.h.
95268         Include stdlib.h, for EXIT_FAILURE.
95269         Always include <string.h>, since we assume C89.
95270         (EXIT_FAILURE): Remove pre-C89 bug workaround.
95271         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
95272         Include <stddef.h> instead, since it's all we need for size_t.
95273         (PARAMS): Remove.  All uses removed.
95274         (ARRAY_CARDINALITY): Do not bother to #undef.
95275         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
95276         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95277         Remove unnecessary parentheses.
95278         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95279         Insert necessary parentheses.
95280         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
95281         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
95282
95283 2002-11-19  Bruno Haible  <bruno@clisp.org>
95284
95285         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
95286         * lib/mbswidth.h: Include <stddef.h>, for size_t.
95287
95288         * lib/mbswidth.h (PARAMS): Remove macro.
95289         (mbswidth, mbsnwidth): Use ANSI C function declarations.
95290         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
95291
95292         * lib/gcd.h (PARAMS): Remove macro.
95293         (gcd): Use ANSI C function declarations.
95294         * lib/gcd.c (gcd): Likewise.
95295
95296 2002-11-15  Bruno Haible  <bruno@clisp.org>
95297
95298         * lib/strcspn.c: Include <stddef.h>.
95299         (strcspn): Use ANSI C function declaration. Change return type to
95300         size_t. Use NULL.
95301         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
95302         (strpbrk): Use NULL.
95303         * lib/strpbrk.h (PARAMS): Remove macro.
95304         (strpbrk): Use ANSI C function declaration.
95305         * lib/strstr.c: Don't include <sys/types.h>.
95306         * lib/strstr.h (PARAMS): Remove macro.
95307         (strstr): Use ANSI C function declarations.
95308
95309 2002-11-14  Karl Berry  <karl@gnu.org>
95310
95311         * config/mkinstalldirs: `do' on separate line, instead of
95312         `for var; do'.
95313
95314 2002-11-06  Bruno Haible  <bruno@clisp.org>
95315
95316         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
95317         * lib/gcd.c (gcd): Likewise.
95318
95319 2002-11-05  Bruno Haible  <bruno@clisp.org>
95320
95321         * lib/gcd.h: New file, from gettext-0.11.5.
95322         * lib/gcd.c: New file, from gettext-0.11.5.
95323
95324 2002-11-05  Bruno Haible  <bruno@clisp.org>
95325
95326         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95327         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95328         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95329         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95330
95331         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
95332         <libintl.h>.
95333         * lib/makepath.c: Include gettext.h instead of <locale.h> and
95334         <libintl.h>.
95335
95336         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
95337         * lib/human.c: Include gettext.h instead of <libintl.h>.
95338         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
95339         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
95340         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
95341         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
95342         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
95343         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
95344         (textdomain): Remove definition.
95345         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
95346
95347         * lib/long-options.c: Remove include of <libintl.h> and definition of
95348         _.
95349         * lib/same.c: Remove include of <libintl.h> and definition of _.
95350
95351 2002-11-04  Owen Taylor  <otaylor@redhat.com>
95352
95353         * lib/config.charset: A few additions for Solaris.
95354
95355 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95356
95357         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
95358         * lib/localcharset.c (locale_charset): Declare as extern "C".
95359
95360 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95361
95362         * lib/config.charset: msdos in uk_UA uses CP1125.
95363
95364 2002-11-04  Bruno Haible  <bruno@clisp.org>
95365
95366         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
95367         * lib/strcase.h: New file, from GNU gettext-0.11.5.
95368         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
95369         * lib/strstr.h: New file, from GNU gettext-0.11.5.
95370         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
95371
95372 2002-11-04  Bruno Haible  <bruno@clisp.org>
95373
95374         * lib/localcharset.c (locale_charset): Don't return an empty string.
95375
95376 2002-11-04  Bruno Haible  <bruno@clisp.org>
95377
95378         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
95379         aliases.
95380
95381 2002-11-04  Bruno Haible  <bruno@clisp.org>
95382
95383         * lib/config.charset: Update for newest glibc. Add canonical names
95384         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
95385
95386 2002-11-04  Bruno Haible  <bruno@clisp.org>
95387
95388         * lib/config.charset: Add support for NetBSD.
95389
95390 2002-11-04  Bruno Haible  <bruno@clisp.org>
95391
95392         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
95393
95394 2002-11-01  Bruno Haible  <bruno@clisp.org>
95395
95396         * configure.in: Add AC_CONFIG_AUX_DIR call.
95397         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
95398         test/Makefile.
95399         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
95400
95401 2002-09-28  Karl Berry  <karl@gnu.org>
95402
95403         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
95404         installed automake until the next release, since changes have been
95405         made.
95406
95407 2002-09-25  Karl Berry  <karl@gnu.org>
95408
95409         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
95410         * lib/getopt*: copy from libc/posix.
95411         * lib/gettext.h: copy from gettext.
95412         * lib/.cppi-disable: add strdup.c, gettext.h.
95413
95414 2002-09-25  Karl Berry  <karl@gnu.org>
95415
95416         * config/srclist.txt: enable gettext.h check.
95417         * config/config.{guess,sub}: update from prep.
95418         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
95419                 from automake 1.6.3.
95420         See srclist*.
95421
95422 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
95423
95424         * regex.c (PATFETCH): Remove the translating fetch.
95425         (PATFETCH_RAW): Rename to PATFETCH.
95426         (set_image_of_range): New fun.
95427         (SET_RANGE_TABLE_WORK_AREA): Use it.
95428         (regex_compile): Don't translate the pattern chars so eagerly.
95429         Only do it when inserting an `exactn' bytecode or when handling
95430         a char-range.
95431         (mutually_exclusive_p): Avoid empty statement.
95432
95433 2002-07-06  Jim Meyering  <meyering@lucent.com>
95434
95435         * m4/README: Don't mention Makefile.am.in.
95436         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
95437
95438 2002-07-01  Jim Meyering  <meyering@lucent.com>
95439
95440         * lib/c-stack.c: Include sys/time.h.
95441         From Volker Borchert.
95442
95443 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95444
95445         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
95446
95447 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95448
95449         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
95450         New macro.  Use it uniformly instead of
95451         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
95452         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
95453         reported by Vin Shelton.
95454
95455 2002-06-22  Paul Eggert  <eggert@twinsun.com>
95456
95457         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
95458         Do not assume SA_SIGINFO behavior.
95459         Bug reported by Jim Meyering on NetBSD 1.5.2.
95460
95461 2002-06-22  Jim Meyering  <meyering@lucent.com>
95462
95463         * m4/c-stack.m4: New file, from diffutils-2.8.2.
95464         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
95465
95466         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
95467         now that configure.ac uses AC_GNU_SOURCE.
95468         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
95469         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
95470
95471         Update to latest tools.  Suggestions from Paul Eggert.
95472         * m4/stdbool.m4: New file, from diffutils-2.8.2.
95473         * m4/gnu-source.m4: Update from diffutils-2.8.2.
95474         * m4/fnmatch.m4: Likewise.
95475         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
95476         to AC_HEADER_STDBOOL
95477
95478 2002-06-22  Jim Meyering  <meyering@lucent.com>
95479
95480         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
95481         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
95482
95483 2002-06-22  Jim Meyering  <meyering@lucent.com>
95484
95485         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
95486
95487         * lib/exitfail.c, exitfail.h: Likewise.
95488         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
95489
95490         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
95491         of fnmatch.h.
95492         (EXTRA_DIST): Add fnmatch_loop.c.
95493         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
95494
95495         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
95496         * lib/fnmatch.c: Update from diffutils-2.8.2.
95497         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
95498         * lib/fnmatch.h: Remove file.
95499
95500 2002-06-21  Jim Meyering  <meyering@lucent.com>
95501
95502         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
95503         * m4/mbrtowc.m4: Likewise.
95504
95505         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
95506         * m4/mbswidth.m4: Reflect name change:
95507         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
95508         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
95509
95510         * m4/lib-link.m4: Update from gettext-0.11.2.
95511         * m4/gettext.m4: Likewise.
95512
95513         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
95514         From Alfred M. Szmidt.
95515
95516 2002-06-18  Paul Eggert  <eggert@twinsun.com>
95517
95518         * lib/file-type.h: Report an error if neither S_ISREG nor
95519         S_IFREG is defined, instead of using a test specific to glibc
95520         2.2.  This should be safe, since POSIX requires S_ISREG and
95521         Unix Version 7 had S_IFREG.  We don't need to check for
95522         <sys/types.h> since we don't use any symbols that it defines.
95523
95524 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
95525
95526         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
95527         $@-t, so that each temporary file name is unique and valid in the first
95528         8 characters, for operation under DOS.
95529
95530 2002-06-15  Paul Eggert  <eggert@twinsun.com>
95531
95532         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
95533
95534 2002-06-15  Jim Meyering  <meyering@lucent.com>
95535
95536         Work even with DJGPP 2.03, which lacks support for symlinks.
95537         From Richard Dawe.
95538         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
95539         is defined.
95540         * lib/lchown.c (S_ISLNK): Likewise.
95541
95542 2002-06-15  Jim Meyering  <meyering@lucent.com>
95543
95544         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
95545         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
95546         have been included before this file.
95547
95548 2002-06-14  Jim Meyering  <meyering@lucent.com>
95549
95550         * lib/file-type.h: Use the version from diffutils-2.8.2.
95551         * lib/file-type.c: Likewise.
95552
95553 2002-06-07  Jim Meyering  <meyering@lucent.com>
95554
95555         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
95556         They're needed at least for NetBSD 1.5.2.
95557         ($statxfs_includes): Include those same headers.
95558         ($statxfs_includes): Include sys/vfs.h if available.
95559         ($statxfs_includes): Likewise for sys/statvfs.h.
95560         Check for the following members in both structs statfs and statvfs:
95561         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
95562
95563 2002-06-01  Jim Meyering  <meyering@lucent.com>
95564
95565         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
95566         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
95567
95568 2002-05-28  Jim Meyering  <meyering@lucent.com>
95569
95570         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
95571         Reported by Volker Borchert.
95572
95573 2002-05-27  Jim Meyering  <meyering@lucent.com>
95574
95575         Fix a problem seen only on nonconforming systems whereby ls.c's
95576         use of localtime, and then of gettimeofday would cause trouble:
95577         the localtime call used to initialize rpl_gettimeofday's save
95578         mechanism would clobber ls's current local time information so
95579         that in any long listing the first file would always be listed
95580         with date 1970-01-01.  Analysis by Volker Borchert.
95581
95582         * lib/gettimeofday.c (localtime): Undefine.
95583         (rpl_localtime): New function.
95584
95585 2002-05-27  Jim Meyering  <meyering@lucent.com>
95586
95587         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
95588         localtime.
95589
95590         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
95591         use the replacement function; it wouldn't resolve at link time.
95592         Reported by Volker Borchert.
95593
95594 2002-05-22  Jim Meyering  <meyering@lucent.com>
95595
95596         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
95597         file-type.h.
95598         * lib/file-type.h: New file.
95599         * lib/file-type.c (file_type): New file/function.  Extracted from
95600         diffutils.
95601
95602 2002-04-30  Jim Meyering  <meyering@lucent.com>
95603
95604         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
95605
95606 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95607
95608         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
95609
95610 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95611
95612         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
95613         Do not check for alloca.h (no longer used) or stdbool.h (was never
95614         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
95615
95616 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95617
95618         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
95619
95620 2002-04-29  Jim Meyering  <meyering@lucent.com>
95621
95622         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
95623         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
95624         Use AC_FUNC_STRNLEN here instead.
95625
95626         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
95627         With autoconf-2.53a, it's part of AC_PROG_CC.
95628
95629 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95630
95631         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
95632         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
95633
95634 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95635
95636         * lib/sig2str.h, lib/sig2str.c: New files.
95637         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
95638
95639 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95640
95641         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
95642         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
95643         of 127, since 64 is the largest conceivable number for ancient
95644         nonstandard hosts.
95645         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
95646
95647 2002-04-28  Jim Meyering  <meyering@lucent.com>
95648
95649         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
95650
95651 2002-04-24  Jim Meyering  <meyering@lucent.com>
95652
95653         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
95654         (jm_PREREQ): Use it.
95655
95656         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
95657         mach/mach.h fcntl.h.
95658         Check for this function: setlocale.
95659
95660 2002-04-24  Jim Meyering  <meyering@lucent.com>
95661
95662         * lib/gettext.h: New file, from Gettext.
95663         * lib/Makefile.am (INCLUDES): Remove -I../intl.
95664         (libfetish_a_SOURCES): Add gettext.h.
95665
95666 2002-04-16  Jim Meyering  <meyering@lucent.com>
95667
95668         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
95669         ut_pid, ut_id, ut_exit.
95670
95671 2002-04-16  Jim Meyering  <meyering@lucent.com>
95672
95673         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
95674         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
95675         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
95676
95677 2002-04-12  Jim Meyering  <meyering@lucent.com>
95678
95679         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
95680         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
95681         existence of the getmntinfo function.  Needed for Darwin 5.3.
95682
95683         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
95684         This is necessary at least on Darwin 5.3.
95685
95686         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
95687         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
95688         strnlen.o in the library, and that makes some versions of ranlib
95689         object.
95690
95691 2002-04-12  Jim Meyering  <meyering@lucent.com>
95692
95693         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
95694
95695 2002-04-09  Jim Meyering  <meyering@lucent.com>
95696
95697         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
95698         to be more precise.  Rather than saying we're checking whether the
95699         function `works', say what we're testing.
95700         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
95701         Reported by Bruno Haible.
95702
95703 2002-03-10  Jim Meyering  <meyering@lucent.com>
95704
95705         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
95706         Suggestion from Santiago Vila.
95707
95708 2002-03-08  Jim Meyering  <meyering@lucent.com>
95709
95710         * lib/rename.c: Mention that this wrapper is needed also on
95711         mips-dec-ultrix4.4 systems.
95712
95713 2002-03-02  Jim Meyering  <meyering@lucent.com>
95714
95715         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
95716         not HAVE_CLOCK_SETTIME.
95717
95718 2002-02-27  Paul Eggert  <eggert@twinsun.com>
95719
95720         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
95721         Check for clock_settime.
95722
95723 2002-02-27  Paul Eggert  <eggert@twinsun.com>
95724
95725         * lib/nanosleep.h: Rename to....
95726         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
95727
95728         * lib/gettime.c: New file.
95729         * lib/settime.c: New file.
95730         * lib/stime.c: Remove.
95731
95732         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
95733         timespec.h.  Remove nanosleep.h.
95734
95735 2002-02-25  Paul Eggert  <eggert@twinsun.com>
95736
95737         * m4/acl.m4: New file.
95738         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
95739         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
95740
95741 2002-02-25  Paul Eggert  <eggert@twinsun.com>
95742
95743         * lib/acl.c, lib/acl.h: New files.
95744         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
95745
95746 2002-02-24  Jim Meyering  <meyering@lucent.com>
95747
95748         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
95749         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
95750         cause trouble.  Reported by Nelson Beebe.
95751
95752 2002-02-23  Paul Eggert  <eggert@twinsun.com>
95753
95754         * lib/path-concat.c (xpath_concat): Reorder code to pacify
95755         compilers that don't know that xalloc_die never returns.
95756
95757 2002-02-20  Jim Meyering  <meyering@lucent.com>
95758
95759         * lib/getdate.c: Regenerate using bison-1.33.
95760
95761 2002-02-17  Jim Meyering  <meyering@lucent.com>
95762
95763         * config/config.guess (main): Don't use `head -1'; it's no longer
95764         portable. Use `sed 1q' instead.
95765
95766 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
95767
95768         * m4/codeset.m4: Upgrade to gettext-0.11.
95769         * m4/gettext.m4: Upgrade to gettext-0.11.
95770         * m4/glibc21.m4: Upgrade to gettext-0.11.
95771         * m4/iconv.m4: Upgrade to gettext-0.11.
95772         * m4/isc-posix.m4: Upgrade to gettext-0.11.
95773         * m4/lcmessage.m4: Upgrade to gettext-0.11.
95774         * m4/lib-ld.m4: New file, from gettext-0.11.
95775         * m4/lib-link.m4: New file, from gettext-0.11.
95776         * m4/lib-prefix.m4: New file, from gettext-0.11.
95777         * m4/progtest.m4: Upgrade to gettext-0.11.
95778
95779 2002-02-15  Paul Eggert  <eggert@twinsun.com>
95780
95781         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
95782         (jm_PREREQ): Use it.
95783
95784 2002-02-15  Paul Eggert  <eggert@twinsun.com>
95785
95786         * lib/posixver.c, lib/posixver.h: New files.
95787         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
95788
95789 2002-02-02  Paul Eggert  <eggert@twinsun.com>
95790             Bruno Haible  <bruno@clisp.org>
95791
95792         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
95793         (fwrite_success_callback): New declaration.
95794         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
95795         print_unicode_char. Call failure callback instead of error.
95796         (fwrite_success_callback): New function.
95797         (exit_failure_callback): New function.
95798         (fallback_failure_callback): New function.
95799         (print_unicode_char): Call unicode_to_mb.
95800
95801 2002-01-26  Jim Meyering  <meyering@lucent.com>
95802
95803         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
95804         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
95805
95806 2002-01-26  Jim Meyering  <meyering@lucent.com>
95807
95808         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
95809
95810 2002-01-22  Paul Eggert  <eggert@twinsun.com>
95811
95812         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
95813
95814 2002-01-22  Jim Meyering  <meyering@lucent.com>
95815
95816         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
95817         Otherwise, some versions of automake would omit the rule that makes
95818         Makefile from Makefile.in.
95819
95820 2002-01-21  Paul Eggert  <eggert@twinsun.com>
95821
95822         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
95823         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
95824         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
95825         (memcoll): Set errno to zero if there is no error.
95826
95827         * lib/quotearg.c (quotearg_buffer_restyled):
95828         Fix bug with quoting buffers containing NUL when backslashing escapes.
95829         This bug was exposed by the other changes in this patch.
95830         (quotearg_n_options): New arg ARGSIZE.
95831         All callers changed.
95832         (quoting_options_from_style): New function.
95833         (quotearg_n_style): Use it.
95834         (quotearg_n_style_mem): New function.
95835
95836         * lib/quotearg.h (quotearg_n_style_mem): New function.
95837
95838 2002-01-19  Jim Meyering  <meyering@lucent.com>
95839
95840         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
95841         Remove useless quotes: DF_PROG="df".
95842         * m4/strnlen.m4: New file.
95843
95844 2002-01-16  Paul Eggert  <eggert@twinsun.com>
95845
95846         * lib/backupfile.c (ISDIGIT): Comment fix.
95847         * lib/getdate.y (ISDIGIT): Likewise.
95848         * lib/posixtm.c (ISDIGIT, year): Likewise.
95849         * lib/strverscmp.c (ISDIGIT): Likewise.
95850         * lib/userspec.c (ISDIGIT): Likewise.
95851
95852 2002-01-16  Jim Meyering  <meyering@lucent.com>
95853
95854         * lib/getdate.y: Add three semicolons, each just before a closing
95855         brace. Bison (as of version 1.31) no longer papers over that mistake.
95856
95857 2002-01-05  Jim Meyering  <meyering@lucent.com>
95858
95859         * lib/version-etc.c (version_etc_copyright): Update copyright year.
95860
95861 2001-12-19  Paul Eggert  <eggert@twinsun.com>
95862
95863         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
95864         not silently exit merely because the output buffer happens to
95865         have nothing pending.
95866
95867 2001-12-18  Paul Eggert  <eggert@twinsun.com>
95868
95869         See the big note in ../ChangeLog.
95870         * lib/human.c (suffixes): Prefer K to k for 1024.
95871         (generate_suffix_backwards): New function.
95872         (human_readable_inexact): Use it.
95873         * lib/xstrtol.c (__xstrtol): If there is no number but there
95874         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
95875         Accept 'K' as well as 'k'.
95876
95877 2001-12-15  Jim Meyering  <meyering@lucent.com>
95878
95879         * lib/regex.h (__restrict_arr): Update from libc.
95880
95881         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
95882         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
95883         (STREQ): Define.
95884
95885 2001-12-14  Jim Meyering  <meyering@lucent.com>
95886
95887         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
95888         Suggestion from Bruno Haible.
95889
95890 2001-12-10  Jim Meyering  <meyering@lucent.com>
95891
95892         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
95893         xrealloc, Instead, include "xalloc.h".
95894         (initbuffer): Don't cast xmalloc return value to char*.
95895         (readline): Reword comment.
95896         Don't cast xrealloc return value to char*
95897         Return NULL, not 0.
95898
95899 2001-12-09  Jim Meyering  <meyering@lucent.com>
95900
95901         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
95902         about `signed and unsigned type in conditional expression'.
95903         * lib/posixtm.c (posix_time_parse): Likewise.
95904
95905         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
95906
95907         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
95908         to avoid a pedantic warning.
95909
95910         * lib/getstr.c: Don't include assert.h.
95911         (getstr): Remove warning-evoking assertions.
95912         Return -1 if offset parameter is out of bounds.
95913         Change the type of a local from int to size_t.
95914
95915         * lib/strftime.c (my_strftime_localtime_r): Include this function
95916         definition in the `#if ! HAVE_TM_GMTOFF' block.
95917
95918         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
95919         Include xalloc.h instead.
95920
95921 2001-12-02  Jim Meyering  <meyering@lucent.com>
95922
95923         * lib/tempname.c: Don't declare getenv, thus reverting the change of
95924         2001-11-18.  It's no longer necessary, now that stdlib.h is always
95925         included.
95926
95927         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
95928         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
95929
95930 2001-11-30  Akim Demaille  <akim@epita.fr>
95931
95932         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
95933         before being defined.
95934
95935 2001-11-27  Paul Eggert  <eggert@twinsun.com>
95936
95937         * lib/quotearg.h (quotearg_n, quotearg_n_style):
95938         First arg is int, not unsigned.
95939         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
95940         (SIZE_MAX, UINT_MAX): New macros.
95941         (quotearg_n_options): Abort if N is negative.
95942         Avoid overflow check on hosts where size_t is 64 bits and int
95943         is 32 bits, as overflow is impossible there.
95944         Fix off-by-one typo that caused unnecessary reallocation.
95945
95946 2001-11-27  Jim Meyering  <meyering@lucent.com>
95947
95948         * lib/tempname.c: Merge with version from libc.
95949         * lib/regex.c: Likewise.
95950
95951         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
95952         systems for which STDC_HEADERS is 0, it was not included, resulting in
95953         a warning about an integer-to-pointer conversion problem with getenv.
95954         Reported by Volker Borchert.
95955
95956 2001-11-26  Jim Meyering  <meyering@lucent.com>
95957
95958         * lib/gtod.h: Remove file.
95959         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
95960         * lib/gettimeofday.c: Don't include gtod.h.
95961         (GTOD_init): Remove function.
95962         (rpl_gettimeofday): Do its job here instead, rather than aborting.
95963         Suggestion from Volker Borchert.
95964
95965 2001-11-23  Jim Meyering  <meyering@lucent.com>
95966
95967         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
95968         it.
95969         * lib/hash.c (struct hash_table): Define it here instead.
95970
95971 2001-11-22  Jim Meyering  <meyering@lucent.com>
95972
95973         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
95974
95975 2001-11-20  Jim Meyering  <meyering@lucent.com>
95976
95977         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
95978         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
95979
95980 2001-11-19  Jim Meyering  <meyering@lucent.com>
95981
95982         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
95983         directory.  Use "conftestXXXXXX" as the template.
95984         Suggestion from Paul Eggert.
95985
95986         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
95987         immediately, so the test doesn't mistakenly hit the max-open-files
95988         limit.
95989
95990 2001-11-18  Paul Eggert  <eggert@twinsun.com>
95991
95992         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
95993         (TEMPORARIES): New macro.
95994         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
95995         removes an artificial limitation (e.g. HP-UX 10.20, where
95996         TMP_MAX is 17576).
95997
95998 2001-11-18  Jim Meyering  <meyering@lucent.com>
95999
96000         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
96001
96002 2001-11-18  Jim Meyering  <meyering@lucent.com>
96003
96004         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
96005         on SunOS 4.
96006
96007         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
96008         files will be created before anything else.
96009
96010 2001-11-17  Paul Eggert  <eggert@twinsun.com>
96011
96012         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
96013         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
96014
96015 2001-11-17  Jim Meyering  <meyering@lucent.com>
96016
96017         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
96018         Prompted by a report from Bob Proulx.
96019
96020         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
96021         Instead, require UTILS_FUNC_MKSTEMP.
96022
96023 2001-11-17  Jim Meyering  <meyering@lucent.com>
96024
96025         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
96026         Now, that's done as part of AC_FUNC_STRTOD.
96027
96028 2001-11-17  Jim Meyering  <meyering@lucent.com>
96029
96030         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
96031         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
96032         rather than group writable.  Patch by Juan F. Codagnone.
96033
96034         * lib/readtokens.c: Remove explicit declarations of xmalloc and
96035         xrealloc, Instead, include "xalloc.h".
96036
96037         * lib/mountlist.c: Include unlocked-io.h after all system headers.
96038         Remove explicit declarations of xmalloc, xrealloc,
96039         and xstrdup.  Instead, include "xalloc.h".
96040
96041         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
96042         unlocked-io.h.
96043         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
96044         Likewise.
96045         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
96046
96047         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
96048         Reported by Padraig Brady.
96049
96050         * lib/mkstemp.c: #undef mkstemp.
96051         Include config.h.
96052         (rpl_mkstemp): Rename from mkstemp.
96053         Protoize.
96054
96055 2001-11-16  Jim Meyering  <meyering@lucent.com>
96056
96057         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
96058         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
96059         determine the amount of total physical memory, use pstat_getstatic.
96060         HPUX-11 doesn't define _SC_PHYS_PAGES.
96061         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
96062         If sysconf couldn't be used to determine the amount of available
96063         physical memory, use both pstat_getstatic and pstat_getdynamic.
96064         Based on a patch from Bob Proulx.
96065
96066 2001-11-10  Jim Meyering  <meyering@lucent.com>
96067
96068         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
96069         (jm_PREREQ): Use it.
96070
96071 2001-11-09  Jim Meyering  <meyering@lucent.com>
96072
96073         * m4/jm-macros.m4: Require autoconf-2.52f.
96074         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
96075         Use these AC_-prefixed names, not the AM_-prefixed ones.
96076
96077         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
96078
96079 2001-11-05  Jim Meyering  <meyering@lucent.com>
96080
96081         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
96082
96083 2001-11-04  Jim Meyering  <meyering@lucent.com>
96084
96085         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
96086         $DEFS.
96087
96088 2001-11-03  Jim Meyering  <meyering@lucent.com>
96089
96090         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
96091         of AC_DEFUN.
96092
96093         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
96094         know the name of the variable in the macro definition.
96095
96096 2001-11-03  Jim Meyering  <meyering@lucent.com>
96097
96098         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
96099         in argmatch_to_argument call.
96100
96101         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
96102         argument.
96103
96104         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
96105         e.g., a fault due to an attempt to free a NULL pointer.
96106
96107 2001-11-01  Jim Meyering  <meyering@lucent.com>
96108
96109         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
96110         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
96111
96112 2001-11-01  Jim Meyering  <meyering@lucent.com>
96113
96114         * lib/dirfd.c, lib/dirfd.h: New files.
96115         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
96116
96117         * lib/hash.c (hash_print) [TESTING]: Clean up.
96118
96119 2001-10-22  Paul Eggert  <eggert@twinsun.com>
96120
96121         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
96122         to avoid a warning if -Wall.
96123
96124 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
96125
96126         * README: New file
96127         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
96128         (per RMS's instructions, this is now the canonical source)
96129         * lgpl/, gpl/: New directories.
96130
96131 2001-10-21  Paul Eggert  <eggert@twinsun.com>
96132
96133         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
96134
96135 2001-10-21  Jim Meyering  <meyering@lucent.com>
96136
96137         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
96138         this code would end up calling gettext even in packages built
96139         with --disable-nls.
96140         * lib/getopt.c (_): Likewise.
96141         * lib/regex.c (_): Likewise.
96142
96143 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96144
96145         * m4/error.m4 (jm_PREREQ_ERROR):
96146         Do not invoke AC_CHECK_FUNCS with strerror_r, as
96147         AC_FUNC_STRERROR_R does that.
96148         Check for strerror declaration.
96149
96150         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
96151         are supposed to have them these days.
96152         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
96153         Merge changes from latest Autoconf CVS.
96154         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
96155         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
96156         POSIX decided to standardize on the int flavor of strerror_r.
96157
96158 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96159
96160         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
96161         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
96162         Use strerror_r that is only a macro, even if it is not a function.
96163         (strerror): Check for HAVE_DECL_STRERROR before declaring.
96164         (private_strerror): Use prototypes, not old-style function definition.
96165         (print_errno_message): New function.
96166         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
96167         char*-flavored one.
96168         (error_tail, error, error_at_line): Use it.
96169
96170 2001-10-11  Jim Meyering  <meyering@lucent.com>
96171
96172         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
96173         and quote_n (1, ... to avoid clobbering a buffer.
96174
96175 2001-10-05  Jim Meyering  <meyering@lucent.com>
96176
96177         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
96178         hash-pjw.h.
96179         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
96180         * lib/hash-pjw.h: New file.
96181
96182 2001-09-30  Jim Meyering  <meyering@lucent.com>
96183
96184         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
96185         `struct fsstat' has the `f_fstypename' member.
96186         Use that to define FS_TYPE, which is now used to make
96187         the getfsstat link test tighter.
96188
96189 2001-09-30  Jim Meyering  <meyering@lucent.com>
96190
96191         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
96192         Include <sys/ucred.h>, for Apple Darwin.
96193         Include sys/mount.h and sys/fs_types.h only if available.
96194         (FS_TYPE): Define.
96195         (read_filesystem_list): Use FS_TYPE.
96196
96197 2001-09-29  Paul Eggert  <eggert@twinsun.com>
96198
96199         * lib/exclude.c (excluded_filename): 0 -> false, since it's
96200         a boolean context.
96201
96202 2001-09-29  Jim Meyering  <meyering@lucent.com>
96203
96204         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96205         [one-argument getmntent function]): Include stdio.h before mntent.h.
96206         SunOS 4.1.x needs it for the declaration of `FILE'.
96207         Patch by Volker Borchert.
96208
96209         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96210         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
96211         sys/fs_types.h, and make the link-test for getfsstat guard #include
96212         directives with appropriate #if HAVE_*_H tests so that we can
96213         detect getfsstat on Apple Darwin1.3.7 systems.
96214         Reported by Nelson Beebe.
96215         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
96216
96217 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96218
96219         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96220         #defines strtoimax.  Also treat the other strto* functions
96221         like strtoimax.
96222
96223         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96224         Check for strtoul and strtoumax,
96225         as those declarations are made even in the signed case.
96226         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
96227         Likewise, for strtol and strtoimax.
96228
96229 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96230
96231         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96232         #defines strtoimax.  Also treat the other strto* functions
96233         like strtoimax.
96234
96235         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
96236         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
96237         (strtoimax, strtoumax): Do not declare if already defined as a macro.
96238
96239 2001-09-26  Jim Meyering  <meyering@lucent.com>
96240
96241         Most macros in unlocked-io.h had the wrong number of arguments.
96242         * lib/gen-uio: New script.
96243         (USE_UNLOCKED_IO): Define to 1 if not already defined.
96244         * lib/unlocked-io.hin: Remove file.
96245         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
96246         rather than trying to embed it here.
96247         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
96248         Reported by Padraig Brady.
96249
96250 2001-09-25  Volker Borchert  <bt@teknon.de>
96251
96252         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
96253         `result'.
96254
96255 2001-09-24  Jim Meyering  <meyering@lucent.com>
96256
96257         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
96258
96259 2001-09-23  Jim Meyering  <meyering@lucent.com>
96260
96261         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
96262         instead of the mere test for existence of mntent.h.  The latter
96263         would get a false-positive on AIX 3.4 systems.
96264         In the outer getmntent if-block, don't die if neither of the getmntent
96265         tests succeeds.  Instead, just fall through and continue with the
96266         remaining tests.
96267
96268 2001-09-23  Jim Meyering  <meyering@lucent.com>
96269
96270         * lib/mountlist.c: Remove useless parentheses in #if directives.
96271         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
96272         the deprecated MOUNTED symbol is no longer defined in mntent.h.
96273
96274 2001-09-22  Jim Meyering  <meyering@lucent.com>
96275
96276         * m4/gettext.m4: New file.  From gettext.
96277         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
96278         * m4/progtest.m4: Likewise
96279         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
96280         * m4/glibc21.m4: Likewise.
96281
96282         * m4/libintl.m4: Remove.  No longer used.
96283
96284 2001-09-22  Jim Meyering  <meyering@lucent.com>
96285
96286         * lib/localcharset.c: Update from latest gettext.
96287         * lib/config.charset: Likewise.
96288
96289 2001-09-20  Jim Meyering  <meyering@lucent.com>
96290
96291         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
96292         strtoimax.
96293         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
96294         strtoumax.
96295
96296 2001-09-20  Jim Meyering  <meyering@lucent.com>
96297
96298         * lib/xstrtol.c (strtoimax): Guard declaration with
96299         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
96300         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
96301         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
96302         (strtoumax): Likewise, for completeness (it wasn't necessary).
96303
96304 2001-09-17  Paul Eggert  <eggert@twinsun.com>
96305
96306         * lib/strtoimax.c (HAVE_LONG_LONG):
96307         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
96308         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
96309         to work around bug in IBM C compiler.
96310
96311 2001-09-17  Jim Meyering  <meyering@lucent.com>
96312
96313         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
96314         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
96315         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
96316         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
96317         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
96318         whenever the right hand side need not be expanded by the shell.
96319
96320 2001-09-16  Paul Eggert  <eggert@twinsun.com>
96321
96322         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
96323         library.  It's not correct, as some older glibcs are buggy.
96324         fnmatch wasn't fixed until glibc 2.2.
96325
96326         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
96327         special shell magic here.
96328
96329 2001-09-16  Jim Meyering  <meyering@lucent.com>
96330
96331         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
96332         * m4/jm-macros.m4: Require it.
96333
96334 2001-09-16  Jim Meyering  <meyering@lucent.com>
96335
96336         * lib/mkdir.c: New file.
96337
96338 2001-09-15  Jim Meyering  <meyering@lucent.com>
96339
96340         * m4/jm-macros.m4: Check for help2man.
96341
96342 2001-09-11  Jim Meyering  <meyering@lucent.com>
96343
96344         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
96345         The body, by Paul Eggert, was moved here from configure.in.
96346         * m4/jm-macros.m4: Require UTILS_HOST_OS.
96347
96348 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96349
96350         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
96351         (jm_PREREQ): Use it.
96352
96353 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96354
96355         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
96356         Use ssize_t, not int, to store result of readlink.
96357         Check for ssize_t overflow as well as size_t overflow,
96358         as POSIX says the result of readlink is implementation-defined
96359         when ssize_t overflows.
96360         Remove unnecessary cast to char*.
96361         Use free+malloc instead of realloc, as the storage doesn't need
96362         to be preserved and it's clearer and can be more efficient that way.
96363         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
96364         * lib/xreadlink.h (xreadlink): Update prototype.
96365
96366 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96367
96368         * lib/xgetcwd.c: Revert some of the previous change; intead,
96369         fix the HAVE_GETCWD_NULL code to behave more like the
96370         !HAVE_GETCWD_NULL code used to.
96371
96372         Include "xalloc.h".
96373         (xgetcwd): Do not return NULL when memory is exhausted; instead,
96374         invoke xalloc_die.
96375
96376 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96377
96378         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
96379         sys/param.h, as pathmax.h includes them.
96380
96381 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96382
96383         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
96384         (jm_PREREQ_XGETCWD): New macro.
96385
96386         * m4/getcwd.m4: New file.
96387
96388 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96389
96390         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
96391         like the HAVE_GETCWD_NULL code.
96392         Include pathmax.h if not HAVE_GETCWD.
96393         Do not include xalloc.h.
96394         (INITIAL_BUFFER_SIZE): New symbol.
96395         Do not use xmalloc / xrealloc, since the caller is responsible for
96396         handling errors.  Preserve errno around `free' during failure.
96397         Do not overrun buffer when using getwd.
96398
96399 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96400
96401         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
96402         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
96403         getcwd (NULL, 0).
96404
96405 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96406
96407         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
96408         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
96409         spotted by Jim Meyering.
96410
96411 2001-09-03  Jim Meyering  <meyering@lucent.com>
96412
96413         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
96414         failure.
96415
96416 2001-09-02  Jim Meyering  <meyering@lucent.com>
96417
96418         * lib/error.c: Update from GNU libc.
96419
96420 2001-09-01  Jim Meyering  <meyering@lucent.com>
96421
96422         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
96423         Used by df.
96424
96425 2001-09-01  Jim Meyering  <meyering@lucent.com>
96426
96427         * lib/xreadlink.c: New file.
96428         * lib/xreadlink.h: New file.
96429         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
96430         xreadlink.h.
96431
96432         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
96433         doesn't conflict with sparc Solaris 7's definition in
96434         /usr/include/sys/int_types.h.
96435
96436         * lib/exclude.c: Use `""', not `<>' to #include non-system header
96437         files.
96438         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
96439         and strncasecmp as r-values.  Unixware didn't have declarations.
96440
96441 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96442
96443         * lib/xstrtol.h: Add copyright notice.
96444         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
96445         LONGINT_INVALID_SUFFIX_CHAR.
96446
96447 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96448
96449         * lib/xstrtol.c (strtoimax): New decl.
96450
96451 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96452
96453         * lib/xgetcwd.c: Don't include pathmax.h.
96454         Include stdlib.h and unistd.h if available.
96455         Include xalloc.h.
96456         (xmalloc, xstrdup, free): Remove decls.
96457         (xgetcwd): Don't assume sizes fit in unsigned.
96458         Check for overflow when computing sizes.
96459         Simplify reallocation code.
96460
96461 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96462
96463         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
96464         a directory's st_size can have an arbitrary value, so the old
96465         usage could waste an arbitrary amount of memory.  All uses
96466         changed.
96467         * lib/savedir.h: Update prototype.
96468
96469 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96470
96471         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
96472
96473         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
96474         old strtoimax.c.
96475
96476         Also, make the following further changes to make this file's
96477         configuration more similar to that of strtol.c:
96478         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
96479         (strtoumax, uintmax_t, strtoull, strtol): Remove.
96480         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
96481         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
96482         changed to signed values.
96483
96484         And make the following changes as well:
96485         Fix copyright notice, as 1999 was missing.
96486         (verify): New macro.
96487         (strtoimax): Check sizes at compile-time, not run-time.
96488         Prefer strtol to strtoll if both work.
96489         (main): Remove; it was not that useful and was a pain to maintain.
96490
96491         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
96492
96493 2001-08-31  Jim Meyering  <meyering@lucent.com>
96494
96495         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
96496         Use an initial, malloc'd, buffer of length 128 rather than
96497         a statically allocated one of length 1024.
96498
96499 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96500
96501         Simplify code, partly by assuming autoconf 2.52 semantics.
96502
96503         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
96504
96505         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
96506         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
96507         All uses removed.
96508         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
96509         Move AC_REQUIRE to next-to-top level, to avoid confusion.
96510         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
96511         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
96512         jm_AC_HEADER_INTTYPES_H.
96513         * m4/jm-macros.m4 (jm_MACROS): Likewise.
96514
96515         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
96516
96517         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96518         Quote first arg of AC_DEFUN.
96519         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
96520         since they are needed to parse the include file even if we need
96521         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
96522         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
96523         but with opposite signedness.
96524
96525 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96526
96527         Merge 'exclude' changes from tar 1.13.22.
96528         This fixes one or two unlikely storage allocation overflow bugs,
96529         but doesn't change user-visible behavior otherwise.
96530
96531 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96532
96533         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
96534         (jm_PREREQ_EXCLUDE): New macro.
96535
96536 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96537
96538         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
96539         tm to be declared.
96540
96541 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96542
96543         * lib/hash.c: Remove '2001' from copyright notice.
96544
96545 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96546
96547         * lib/full-write.h: New file.
96548         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
96549         * lib/full-write.c: Correct credits, as cccp.c no longer
96550         exists and anyway it was so heavily changed from the old cccp
96551         code as to be unrecognizable.  Include full-write.h.
96552         (full_write): Return size_t, with short writes meaning failure.
96553         All callers changed.  This fixes a bug with large buffers
96554         on 64-bit hosts.
96555         * lib/utime.c: Include full-write.h.
96556
96557 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96558
96559         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
96560         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
96561         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
96562         Include if available.
96563         (<xalloc.h>): Include
96564         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
96565         (verify): New macro.  Use it to verify that EXCLUDE macros do not
96566         collide with FNM macros.
96567         (struct patopts): New struct.
96568         (struct exclude): Use it, as exclude patterns now come with options.
96569         (new_exclude): Support above changes.
96570         (new_exclude, add_exclude_file):
96571         Initial size must now be a power of two to simplify overflow checking.
96572         (free_exclude, fnmatch_no_wildcards): New function.
96573         (excluded_filename): No longer requires options arg, as the options
96574         are determined by add_exclude.  Now returns bool, not int.
96575         (excluded_filename, add_exclude):
96576         Add support for the fancy new exclusion options.
96577         (add_exclude, add_exclude_file): Now takes int options arg.
96578         Check for arithmetic overflow when computing sizes.
96579         (add_exclude_file): xrealloc might modify errno, so don't
96580         realloc until after errno might be used.
96581
96582         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
96583         New macros.
96584         (free_exclude): New decl.
96585         (add_exclude, add_exclude_file): Now takes int options arg.
96586         (excluded_filename): No longer requires options arg, as the options
96587         are determined by add_exclude.  Now returns bool, not int.
96588
96589 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96590
96591         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
96592
96593 2001-08-27  Jim Meyering  <meyering@lucent.com>
96594
96595         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
96596
96597         * lib/version-etc.c (N_): Remove definition.
96598         Revert most of last change.
96599         Instead, simply don't mark the `Copyright...' string for translation.
96600         Based on advice from Paul Eggert.
96601
96602         * lib/strtoxmax.c: Tweak comment.
96603
96604 2001-08-26  Jim Meyering  <meyering@lucent.com>
96605
96606         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
96607
96608         * m4/xstrtoimax.m4: New file.
96609         * m4/xstrtoumax.m4: Add comments explaining why we
96610         AC_REPLACE_FUNCS(strtol).
96611
96612 2001-08-26  Jim Meyering  <meyering@lucent.com>
96613
96614         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
96615         of copyright with `%s' so translators don't get an untranslated
96616         message in 2002.
96617         (COPYRIGHT_YEAR): Define.
96618         (version_etc): Use fprintf rather than fputs.
96619         Suggestion from Ulrich Drepper.
96620
96621         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
96622
96623         * lib/strtoll.c: New file, from GNU libc.
96624         * lib/xstrtoimax.c: New file.
96625
96626         * lib/xstrtol.h: Add xstrtoimax.
96627         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
96628         * lib/strtoimax.c: New file.  Likewise, but first define
96629         STRTOUXMAX_SIGNED.
96630
96631         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
96632         ...
96633         * lib/strtoxmax.c: ... then renamed to this.
96634
96635 2001-08-18  Paul Eggert  <eggert@twinsun.com>
96636
96637         * m4/inttypes.m4: Add AC_PREREQ(2.13).
96638         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
96639         (jm_AC_TYPE_INTMAX_T): New macro.
96640         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
96641
96642         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
96643
96644         * m4/longlong.m4: Renamed from ulonglong.m4.
96645         * m4/inttypes.m4: Renamed from inttypes_h.m4.
96646         * m4/uintmax_t.m4: Removed.
96647
96648 2001-08-13  Paul Eggert  <eggert@twinsun.com>
96649
96650         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
96651         Port to Solaris 8, where 'sed' requires a space after the 'r'
96652         command, and where sh dislikes "$/".  Clean up the spacing a bit.
96653         Redirect output to $tmp just once.
96654
96655 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
96656
96657         * lib/addext.c (<errno.h>): Include.
96658         (errno): Declare if not defined.
96659         (addext): Work correctly when pathconf returns -1 and leaves
96660         errno alone because there is no limit.  Also, work even if
96661         pathconf returns a value greater than SIZE_MAX.
96662
96663 2001-08-12  Jim Meyering  <meyering@lucent.com>
96664
96665         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
96666         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
96667         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
96668         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
96669         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
96670         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
96671         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
96672         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
96673         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
96674         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
96675         utime.m4, utimes.m4, xstrtoumax.m4:
96676         Quote the first argument in each use of AC_DEFUN.
96677
96678 2001-08-12  Jim Meyering  <meyering@lucent.com>
96679
96680         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
96681         Simply `return getcwd (NULL, 0);'.
96682         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
96683         Use 1300 as initial value for length, not PATH_MAX.
96684
96685         * lib/pathmax.h: Clean up cpp syntax.
96686
96687 2001-08-12  Jim Meyering  <meyering@lucent.com>
96688
96689         * lib/gettimeofday.c: New file.
96690         * lib/gtod.h: New file.
96691         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
96692
96693 2001-08-05  Jim Meyering  <meyering@lucent.com>
96694
96695         * m4/jm-macros.m4: Require autoconf-2.52.
96696
96697 2001-08-04  Jim Meyering  <meyering@lucent.com>
96698
96699         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
96700         stmt, to get in sync with glibc.
96701
96702 2001-08-03  Paul Eggert  <eggert@twinsun.com>
96703
96704         The following changes are from gettext 0.10.39 as maintained by
96705         Bruno Haible.
96706
96707         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
96708         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
96709         with inverted sense.  All uses changed.
96710
96711         * lib/mbswidth.c: Don't include <limits.h>.
96712         Include <stdlib.h> and <string.h> unconditionally.
96713         (iswcntrl, mbsinit, ISCNTRL): New macros.
96714         (mbsnwidth): Use K&R style function declarations.
96715         Don't bother checking for MB_LEN_MAX == 1, since the compiler
96716         can optimize it when MB_CUR_MAX == 1.
96717         The width of control characters is zero, not 1.
96718
96719 2001-08-03  Paul Eggert  <eggert@twinsun.com>
96720
96721         The following changes are from gettext 0.10.39 as maintained by
96722         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
96723
96724         * m4/codeset.m4: Upgrade to serial AM1.
96725         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
96726         all uses changed.  Quote first arg of AC_DEFUN.
96727         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
96728
96729         * m4/iconv.m4: Upgrade to serial AM2.
96730         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
96731         Add --with-libconv-prefix.
96732         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
96733         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
96734         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
96735         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
96736         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
96737
96738         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
96739         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
96740         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
96741         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
96742         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
96743         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
96744         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
96745         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
96746         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
96747
96748         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
96749         string.h any more.
96750
96751         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
96752         not the default value.
96753
96754         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
96755         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
96756         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
96757         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
96758         Also check for iswcntrl, used for wcwidth fallback.
96759         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
96760         to Autoconf 2.13.
96761
96762 2001-08-03  Jim Meyering  <meyering@lucent.com>
96763
96764         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
96765         as it was in the original.  Reported by Paul Eggert.
96766
96767 2001-07-16  Jim Meyering  <meyering@lucent.com>
96768
96769         * m4/gettimeofday.m4: New file.
96770         Prompted by a report from Bernhard Baehr.
96771
96772 2001-07-15  Jim Meyering  <meyering@lucent.com>
96773
96774         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
96775         stuff. Now it's in ../Makefile.cfg.
96776
96777 2001-07-15  Jim Meyering  <meyering@lucent.com>
96778
96779         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
96780         (BUILT_SOURCES): Add unlocked-io.h.
96781         (io_functions): Define.
96782         (unlocked-io.h): New rule.
96783         (DISTCLEANFILES): Add unlocked-io.h.
96784         (all-local): Depend on unlocked-io.h, to ensure it is created.
96785
96786         * lib/unlocked-io.hin: New file
96787
96788         * lib/regex.c: Update from glibc.
96789
96790 2001-07-05  Jim Meyering  <meyering@lucent.com>
96791
96792         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
96793         recommendation.
96794         (libfetish_a_SOURCES): Put all .h files here instead.
96795         Remove a thus-exposed (better checks in automake) duplicate and
96796         two unnecessary .h files.
96797
96798 2001-07-04  Jim Meyering  <meyering@lucent.com>
96799
96800         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
96801         that generates jm-glibc-io.m4 so that it doesn't trigger any make
96802         distcheck failure.
96803
96804 2001-07-02  Jim Meyering  <meyering@lucent.com>
96805
96806         The following changes were prompted by suggestions from Bruno Haible.
96807
96808         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
96809         is now generated.
96810         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
96811         definition of EXTRA_DIST.
96812         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
96813         ensure that the generated file is created/updated whenever the list
96814         of $(unlocked_functions) is changed.
96815         (jm-glibc-io.m4): New rule.
96816         (unlocked-io.h): New rule -- currently unused.
96817
96818 2001-06-24  Jim Meyering  <meyering@lucent.com>
96819
96820         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
96821         unmatched right bracket, rather than kludging it with an extra,
96822         falsely-matching quote in a comment.  Patch by Akim Demaille.
96823
96824 2001-06-11  Jim Meyering  <meyering@lucent.com>
96825
96826         * lib/regex.c: Update from GNU libc.
96827
96828 2001-05-27  Jim Meyering  <meyering@lucent.com>
96829
96830         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
96831         Check for ut_type in struct utmp.
96832
96833 2001-05-27  Jim Meyering  <meyering@lucent.com>
96834
96835         * lib/readutmp.h (UT_TYPE): Define.
96836
96837 2001-05-24  Jim Meyering  <meyering@lucent.com>
96838
96839         * lib/argmatch.c: Include "quote.h".
96840         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
96841         quote function.  Reported by Göran Uddeborg.
96842
96843 2001-05-22  Jim Meyering  <meyering@lucent.com>
96844
96845         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
96846         now that we use the package-supplied version unconditionally.
96847         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
96848
96849 2001-05-21  Jim Meyering  <meyering@lucent.com>
96850
96851         * m4/regex.m4: Change a couple backticks to single quotes to avoid
96852         shell syntax errors.
96853
96854 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
96855
96856         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
96857
96858 2001-05-20  Paul Eggert  <eggert@twinsun.com>
96859
96860         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
96861         Don't bother to check library strftime, since
96862         we'll be using our own my_strftime function anyway.
96863         Define my_strftime instead of strftime.
96864
96865 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
96866
96867         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
96868         which is not yet declared.
96869
96870 2001-05-15  Jim Meyering  <meyering@lucent.com>
96871
96872         * m4/regex.m4: Use proper quoting so brackets appear in the test
96873         program.
96874         Reported by, and with help from, Bruno Haible.
96875
96876 2001-05-13  Jim Meyering  <meyering@lucent.com>
96877
96878         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
96879         undefined.
96880
96881 2001-05-11  Paul Eggert  <eggert@twinsun.com>
96882
96883         dirname code cleanup.  base_name now behaves more compatibly
96884         with POSIX basename when given file names that have trailing
96885         slashes, and similarly for dir_name.  Add new primitives
96886         base_len and dir_len.  Put the directory-name-related decls
96887         into dirname.h.
96888
96889         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
96890         * lib/backupfile.c (base_name): Likewise.
96891         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
96892         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
96893         * lib/makepath.c (strip_trailing_slashes): Likewise.
96894         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
96895         ISSLASH): Likewise.
96896         * lib/rename.c (strip_trailing_slashes): Likewise.
96897         * lib/same.c (base_name): Likewise.
96898         * lib/stripslash.c (ISSLASH): Likewise.
96899
96900         * lib/addext.c: Include <dirname.h> after size_t is defined.
96901         * lib/backupfile.c: Likewise.
96902
96903         * lib/addext.c (addext): Use base_len to trim redundant
96904         trailing slashes instead of doing it ourselves.
96905         But do not trim the last slash if it is not redundant.
96906
96907         * lib/backupfile.c (find_backup_file_name,
96908         max_backup_version): Use base_len instead of rolling it ourselves.
96909         Handle the case of "" and (on DOS) "C:" correctly.
96910
96911         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
96912         needed. Include <string.h>, <dirname.h>.
96913         (base_name): Allow file names ending in slashes, other than names
96914         that are all slashes.  In this case, return the basename followed
96915         by the slashes.  This is more general, and can be used in places
96916         where the original base_name purposely had an assertion failure.
96917         (base_len): New function.
96918
96919         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
96920         Do not include <assert.h>; no longer needed.
96921         Include xalloc.h.
96922         (memrchr): Remove decl.
96923         (dir_name_r): Remove.
96924         (dir_len): Renamed from dirlen.  All callers changed.
96925         Rewrite in terms of base_name, for simplicity and consistency.
96926         (dir_name): Never return NULL.  All callers changed.
96927         Do not include <stdlib.h> in test program; no longer needed.
96928         return 0; is fine for test program.
96929
96930         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
96931         New macros.
96932         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
96933
96934         * lib/path-concat.c (path_concat): Use base_len to compute
96935         base length, not strlen; this means we cannot rely on memcpy
96936         to null-terminate.
96937
96938         * lib/same.c (STREQ): Remove.
96939         (same_name): Handle the case where the basename ends in trailing '/'.
96940
96941         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
96942         a slash was stripped.  Do not strip the last slash after a
96943         file system prefix.
96944
96945 2001-05-11  Paul Eggert  <eggert@twinsun.com>
96946
96947         * lib/Makefile.am (libfetish_a_SOURCES):
96948         Add strftime.c, since we now compile it on all hosts.
96949
96950         * lib/strftime.c (my_strftime):
96951         Define to nstrftime if emacs, but only if my_strftime is not defined.
96952         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
96953         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
96954         Add one more extra argument: a nanoseconds value.
96955         All uses changed.
96956         (ns): New macro.
96957         (my_strftime function): Add %N format.
96958         (emacs_strftimeu): Renamed from emacs_strftime,
96959         with extra ut argument.
96960
96961 2001-05-09  Paul Eggert  <eggert@twinsun.com>
96962
96963         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
96964
96965 2001-04-21  Jim Meyering  <meyering@lucent.com>
96966
96967         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
96968         doesn't interfere.
96969
96970 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
96971
96972         * m4/ftruncate.m4: Check for chsize.
96973         Link with ftruncate.o unconditionally if ftruncate is missing.
96974         This was required when cross-compiling to i586-mingw32msvc.
96975
96976 2001-04-08  Jim Meyering  <meyering@lucent.com>
96977
96978         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
96979         recomputed; that's necessary when the offset spans a DST transition.
96980         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
96981
96982 2001-04-02  Jim Meyering  <meyering@lucent.com>
96983
96984         * lib/regex.h, regex.c: Update from GNU libc.
96985
96986 2001-03-24  Jim Meyering  <meyering@lucent.com>
96987
96988         * m4/jm-macros.m4: Require autoconf-2.49d.
96989
96990 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
96991
96992         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
96993
96994 2001-03-19  Paul Eggert  <eggert@twinsun.com>
96995
96996         * lib/version-etc.c (version_etc_copyright): Update to 2001.
96997
96998 2001-03-17  Jim Meyering  <meyering@lucent.com>
96999
97000         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
97001         now that the version in autoconf is equivalent.
97002         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
97003
97004         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
97005         Suggestion from Akim Demaille.
97006
97007         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
97008         (jm_PREREQ_TEMPNAME): New function.
97009
97010 2001-03-16  Paul Eggert  <eggert@twinsun.com>
97011
97012         * lib/tempname.c (uint64_t): Define to uintmax_t if
97013         not defined, and if UINT64_MAX is not defined.
97014         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
97015         Reported by John David Anglin.
97016
97017 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
97018
97019         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
97020         resolve alias if codeset is empty.
97021         * lib/config.charset (BeOS): Use wildcard syntax.
97022
97023 2001-03-13  Jim Meyering  <meyering@lucent.com>
97024
97025         * lib/path-concat.c (path_concat)
97026         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
97027         concatenating e.g., `C:' and `foo'.
97028         From Bruno Haible.
97029
97030 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
97031
97032         * lib/localcharset.c (locale_charset): Don't use
97033         setlocale(LC_CTYPE,NULL). Don't return NULL.
97034         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
97035
97036 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
97037
97038         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
97039         support for DOS/DJGPP.
97040
97041 2001-03-01  Paul Eggert  <eggert@twinsun.com>
97042
97043         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
97044         lacks mkstemp.  Compile our own tempname.c if we compile our own
97045         mkstemp.c, as mkstemp relies on tempname.
97046
97047 2001-03-01  Jim Meyering  <meyering@lucent.com>
97048
97049         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
97050         AH_VERBATIM really does output its argument verbatim.
97051
97052 2001-02-28  Paul Eggert  <eggert@twinsun.com>
97053
97054         * lib/Makefile.am (libfetish_a_SOURCES):
97055         Add dup-safer.c, fopen-safer.c.
97056         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
97057
97058         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
97059         * lib/unistd-safer.h: New files.
97060
97061 2001-02-25  Paul Eggert  <eggert@twinsun.com>
97062
97063         The mkstemp replacement is taken from glibc 2.2.2, with some
97064         portability fixes for use outside glibc, as follows:
97065
97066         * lib/tempname.c (struct_stat64): New macro.
97067         (direxists, __gen_tempname): Use it.
97068         This avoids a portability problem with Solaris 8.
97069
97070         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
97071         (<stddef.h>, <stdint.h>, <string.h>):
97072         Include only if STDC_HEADERS || _LIBC.
97073         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
97074         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
97075         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
97076         (__set_errno): Define this macro if <errno.h> doesn't.
97077         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
97078         Define these macros if <stdio.h> doesn't.
97079         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
97080         Define these macros if <sys/stat.h>
97081         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
97082         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
97083         __xstat64): Define if not _LIBC.
97084         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
97085         (__gen_tempname): Invoke gettimeofday only if
97086         HAVE_GETTIMEOFDAY || _LIBC;
97087         otherwise, fall back on plain "time".
97088         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
97089
97090         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
97091
97092         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
97093
97094 2001-02-18  Paul Eggert  <eggert@twinsun.com>
97095
97096         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
97097
97098 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97099
97100         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
97101         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
97102         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
97103         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
97104
97105 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97106
97107         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
97108         Remove workaround macros for hosts that have mbrtowc but not
97109         mbstate_t, as we now insist on proper declarations for both
97110         before using mbrtowc.
97111
97112 2001-02-17  Jim Meyering  <meyering@lucent.com>
97113
97114         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
97115         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
97116         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
97117         UnixWare 7.1.1.
97118
97119         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
97120         rather than AC_CACHE_VAL.
97121
97122 2001-02-17  Jim Meyering  <meyering@lucent.com>
97123
97124         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
97125         around included file name.
97126
97127         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
97128
97129         * lib/strftime.c: Update from GNU libc (the only changes were to
97130         comments).
97131
97132 2001-02-17  Jim Meyering  <meyering@lucent.com>
97133
97134         * lib/regex.c: Update from libc.
97135
97136 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
97137
97138         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
97139         clash.
97140
97141 2001-02-16  Paul Eggert  <eggert@twinsun.com>
97142
97143         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
97144         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
97145         Reported by Mark Hounschell via Paul Eggert.
97146
97147 2001-02-07  Jim Meyering  <meyering@lucent.com>
97148
97149         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
97150
97151 2001-02-05  Jim Meyering  <meyering@lucent.com>
97152
97153         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
97154         it includes the patch required for `large file' support with at least
97155         HP-UX's 10.20 /bin/cc.
97156
97157 2001-02-03  Jim Meyering  <meyering@lucent.com>
97158
97159         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
97160         AS_IF, now that it works once again (mysteriously).
97161         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97162
97163 2001-01-30  Jim Meyering  <meyering@lucent.com>
97164
97165         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
97166         * m4/chown.m4: Rename conftestchown to conftest.chown.
97167         * m4/rename.m4: s/conftestdir/conftest.d1/ and
97168         s/conftestdir2/conftest.d2/.
97169         * m4/utimes.m4: s/conftestdata/conftest.data/
97170         Inspired by Pavel Roskin's change in autoconf.
97171
97172 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
97173
97174         * lib/config.charset: Update for FreeBSD 4.2.
97175
97176 2001-01-27  Jim Meyering  <meyering@lucent.com>
97177
97178         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
97179         a use of AS_IF.
97180         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97181
97182 2001-01-26  Jim Meyering  <meyering@lucent.com>
97183
97184         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
97185         quotearg.c includes it.
97186
97187 2001-01-26  Jim Meyering  <meyering@lucent.com>
97188
97189         * lib/quotearg.c: Include stddef.h.
97190         * lib/quote.c: Include stddef.h.
97191         Reported by Axel Kittenberger.
97192
97193         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
97194         line in double quotes so that it evokes a better diagnostic.
97195         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
97196         Reported by Axel Kittenberger.
97197
97198 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
97199
97200         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
97201         as if it was a `charset'.
97202
97203 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97204
97205         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
97206         has const.
97207
97208 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97209
97210         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
97211         to avoid a warning.  Add back 'const' to inptr.
97212
97213 2001-01-20  Jim Meyering  <meyering@lucent.com>
97214
97215         Be sure that headers are checked before used in code compiled
97216         for the type checks.
97217         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
97218         In place of that, invoke jm_CHECK_ALL_TYPES.
97219         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
97220         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
97221         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
97222         The check for ssize_t was mistakenly run before the test for unistd.h.
97223
97224         The configure-time check for stdbool.h was missing.
97225         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
97226         (jm_PREREQ_HASH): New function.
97227
97228 2001-01-17  Jim Meyering  <meyering@lucent.com>
97229
97230         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
97231         for autoconf-2.49c.
97232         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
97233
97234 2001-01-16  Jim Meyering  <meyering@lucent.com>
97235
97236         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
97237         From Bruno Haible.
97238
97239 2001-01-14  Jim Meyering  <meyering@lucent.com>
97240
97241         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
97242         foo and bar.  Create conftestdir/ in the script, not in the C code.
97243         Remove directories in the script, not in the C code.
97244         Remove conftestdir{,2} before trying to create the directory.
97245         Make the entire configure script fail if the mkdir fails.
97246
97247 2001-01-14  Jim Meyering  <meyering@lucent.com>
97248
97249         * lib/rename.c: New file.  From Volker Borchert.
97250         Include stdlib.h, string.h or strings.h, and xalloc.h.
97251         Use strip_trailing_slashes rather than open-coding it.
97252
97253 2001-01-03  Paul Eggert  <eggert@twinsun.com>
97254
97255         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
97256
97257 2001-01-03  Jim Meyering  <meyering@lucent.com>
97258
97259         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
97260         of local `inptr' to avoid warning with some system declarations of
97261         iconv.
97262
97263 2001-01-02  Volker Borchert  <bt@teknon.de>
97264
97265         * m4/rename.m4: New file.
97266         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
97267
97268 2001-01-01  Jim Meyering  <meyering@lucent.com>
97269
97270         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
97271         even on systems with utmpx.h.  It's necessary for the declaration of
97272         utmp's ut_user member.  Reported by Andreas Jaeger.
97273
97274         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
97275         available. They are required for the declarations of getgrgid and
97276         getpwuid resp.
97277         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
97278         Reported by Andreas Jaeger.
97279
97280 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
97281
97282         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
97283         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
97284         so `make install' also works in VPATH builds.
97285
97286 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
97287
97288         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
97289         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
97290         can be used in subdirectories.
97291
97292 2000-12-29  Paul Eggert  <eggert@twinsun.com>
97293
97294         * lib/modechange.c: Do not assume that mode_t uses the
97295         traditional octal encoding.  E.g. "chmod 1 FOO" should set
97296         the other-execute bit of FOO even if S_IXOTH != 1.
97297
97298         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
97299         WOTH, XOTH, ALLM): New macros.
97300         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
97301          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
97302         Use them.
97303         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
97304         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
97305         (mode_compile):
97306         No need to use uintmax_t; unsigned long is long enough.
97307         Don't bother to get suffix since we don't use it.
97308
97309 2000-12-26  Jim Meyering  <meyering@lucent.com>
97310
97311         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
97312         better with autoheader.
97313
97314 2000-12-24  Jim Meyering  <meyering@lucent.com>
97315
97316         * lib/hash.c (is_prime): Return explicit boolean values.
97317         (hash_get_first): Return NULL to appease Irix5.6's 89.
97318         Reported by Nelson Beebe.
97319
97320 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
97321
97322         * lib/localcharset.c (locale_charset): Add support for Win32.
97323
97324 2000-12-18  Paul Eggert  <eggert@twinsun.com>
97325
97326         * lib/physmem.h, lib/physmem.c: New files.
97327
97328         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
97329         (noinst_HEADERS): Add physmem.h.
97330
97331         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
97332         't' for compatibility with Solaris 8 sort.
97333
97334 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
97335
97336         * lib/config.charset: Add support for BeOS.
97337
97338 2000-12-17  Jim Meyering  <meyering@lucent.com>
97339
97340         * m4/dos.m4 (jm_AC_DOS): New file and macro.
97341         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
97342
97343 2000-12-16  Jim Meyering  <meyering@lucent.com>
97344
97345         This bug had a serious impact on chown: `chown N:M FILE' (for integer
97346         N and M) would have treated it like `chown N:N FILE'.
97347
97348         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
97349
97350 2000-12-16  Jim Meyering  <meyering@lucent.com>
97351
97352         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
97353         SHELLS_FILE to a file name that's useful on djgpp systems.
97354         Include stdlib.h.
97355         (ADDITIONAL_DEFAULT_SHELLS): Define.
97356         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
97357         Based mostly on a patch from Prashant TR.
97358
97359 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
97360
97361         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
97362         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
97363         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
97364
97365 2000-12-08  Andreas Schwab  <schwab@suse.de>
97366
97367         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
97368         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
97369
97370 2000-12-07  Jim Meyering  <meyering@lucent.com>
97371
97372         * lib/stripslash.c (ISSLASH): Define.
97373         (strip_trailing_slashes): Use ISSLASH rather than comparing against
97374         `/'.
97375         From Prashant TR.
97376
97377         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
97378         (dir_name_r): Declare this function as static.
97379         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
97380         manifest itself on a name containing a mix of slashes and
97381         backslashes.
97382         Make this function work with names starting with a DOS-style
97383         drive letter and colon prefix.
97384         (dir_name): Append `.' if necessary.
97385         Based mostly on patches from Prashant TR and Eli Zaretskii.
97386
97387         * lib/dirname.h (dir_name_r): Remove prototype.
97388
97389 2000-12-06  Paul Eggert  <eggert@twinsun.com>
97390
97391         * m4/off_t-format.m4: Remove this file.
97392         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
97393
97394 2000-12-06  Jim Meyering  <meyering@lucent.com>
97395
97396         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
97397         replacement strtoull, we may well need the replacement strtoul, too.
97398         Check for declarations of strtoul and strtoull.
97399         Check for strtol.  Mainly as a cue to cause automake to include
97400         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
97401         Check for limits.h -- strtol.c needs it.
97402
97403 2000-12-05  Jim Meyering  <meyering@lucent.com>
97404
97405         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
97406
97407 2000-12-04  Jim Meyering  <meyering@lucent.com>
97408
97409         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
97410         Also include memory.h, stdlib.h, unistd.h if appropriate.
97411         Reported by Andreas Jaeger (conflicting declaration of malloc).
97412
97413 2000-12-02  Jim Meyering  <meyering@lucent.com>
97414
97415         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
97416         * m4/jm-macros.m4 (jm_MACROS): require it.
97417
97418 2000-12-02  Jim Meyering  <meyering@lucent.com>
97419
97420         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
97421
97422 2000-12-01  Paul Eggert  <eggert@twinsun.com>
97423
97424         * lib/memrchr.c: Include <config.h> before any system include file.
97425
97426 2000-11-30  Jim Meyering  <meyering@lucent.com>
97427
97428         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
97429
97430 2000-11-30  Jim Meyering  <meyering@lucent.com>
97431
97432         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
97433
97434 2000-11-29  Paul Eggert  <eggert@twinsun.com>
97435
97436         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
97437
97438 2000-11-26  Jim Meyering  <meyering@lucent.com>
97439
97440         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
97441
97442 2000-11-22  Paul Eggert  <eggert@twinsun.com>
97443
97444         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
97445         size of (size_t) -1; it's not portable.
97446
97447 2000-11-17  Jim Meyering  <meyering@lucent.com>
97448
97449         * lib/strstr.c: Update from GNU libc.
97450
97451 2000-11-17  Akim Demaille  <akim@epita.fr>
97452
97453         * lib/obstack.h: Formatting changes.
97454         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
97455         prevent type checking.
97456         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
97457         cast the value to (void *): assigning a `foo *' to a `void *'
97458         variable is valid.
97459         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
97460
97461 2000-11-16  Jim Meyering  <meyering@lucent.com>
97462
97463         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
97464
97465 2000-11-11  Jim Meyering  <meyering@lucent.com>
97466
97467         * lib/error.c: Add a couple #includes, merging from GNU libc version.
97468
97469 2000-11-10  Jim Meyering  <meyering@lucent.com>
97470
97471         * lib/obstack.h: Update from GNU libc.
97472         * lib/obstack.c: Likewise.
97473
97474 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
97475
97476         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
97477
97478 2000-11-06  Paul Eggert  <eggert@twinsun.com>
97479
97480         * lib/getusershell.c (setusershell): Use rewind rather than
97481         fseek/fseeko, to avoid configuration hassles with fseeko.
97482         Don't bother opening SHELLS_FILE if shellstream is NULL;
97483         it's not necessary.
97484
97485 2000-11-05  Jim Meyering  <meyering@lucent.com>
97486
97487         * lib/makepath.h (make_dir): Declare.
97488         * lib/makepath.c (make_dir): Remove `static' attribute.
97489         Tweak a comment.
97490
97491 2000-11-04  Jim Meyering  <meyering@lucent.com>
97492
97493         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
97494
97495 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
97496
97497         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
97498         last one in a bucket, advance to the next bucket.
97499
97500 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
97501
97502         * lib/fnmatch.c: Do not comment out all the code if we are using
97503         the GNU C library, because in some cases we are replacing buggy
97504         code in the GNU C library itself.
97505
97506 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
97507
97508         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
97509         (regex_compile): Catch bogus \(\1\).
97510
97511 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97512
97513         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
97514         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
97515         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
97516
97517 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97518
97519         * lib/error.h, getline.h, modechange.h:
97520         Remove "2000" from Copyright line, as the file hasn't been
97521         changed this year other than in the copyright notice.
97522
97523         * lib/xalloc.h: Add "2000" to Copyright line, as this file
97524         was changed this year.
97525
97526 2000-10-29  Jim Meyering  <meyering@lucent.com>
97527
97528         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
97529         renaming.
97530         * m4/ls-mntd-fs.m4: Likewise
97531
97532 2000-10-29  Jim Meyering  <meyering@lucent.com>
97533
97534         * lib/xstat.in: Fix grammar in comment.
97535
97536 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
97537
97538         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
97539         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
97540         doesn't define __restrict_arr.
97541
97542 2000-10-28  Jim Meyering  <meyering@lucent.com>
97543
97544         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
97545         (jm_PREREQ_MEMCHR): New function.
97546
97547 2000-10-28  Jim Meyering  <meyering@lucent.com>
97548
97549         * lib/memchr.c: Update from libc.
97550         Adjust for portability:
97551         [HAVE_STDLIB_H]: Include stdlib.h.
97552         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
97553         Undef __memchr, too.
97554         [!weak_alias]: Define __memchr to memchr.
97555
97556         * lib/regex.c: Update from libc.
97557         * lib/regex.h: Likewise.
97558         * lib/getopt1.c: Likewise.
97559         * lib/memcmp.c: Likewise.
97560
97561         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
97562         Avoid using fseek, when possible -- it's broken by design.
97563         Patch by Ulrich Drepper.
97564
97565 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
97566
97567         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
97568         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
97569         Giving in to popular pressure to shut up the compiler with casts.
97570
97571 2000-10-26  Jim Meyering  <meyering@lucent.com>
97572
97573         * lib/strftime.c: Update from libc.
97574
97575 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
97576
97577         * regex.c: More `unsigned char' -> `re_char' changes.
97578         Also change several `int' into `re_wchar_t'.
97579         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
97580         (PUSH_FAILURE_POINTER): Don't cast any more.
97581         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
97582         We want GCC to complain, since this piece of code makes
97583         re_match non-reentrant, which *should* be fixed.
97584         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
97585         (EXTEND_BUFFER): Use RETALLOC.
97586         (SET_LIST_BIT): Don't cast.
97587         (re_wchar_t): New type.
97588         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
97589         that those two functions will always properly return.
97590         (IMMEDIATE_QUIT_CHECK): Cast to void.
97591         (analyse_first): Use recursion rather than an explicit stack.
97592         (re_compile_fastmap): Can't fail anymore.
97593         (re_search_2): Don't check re_compile_fastmap for failure.
97594         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
97595         Now also sets the new value (passed in a new argument).
97596         (re_match_2_internal): Use it.
97597         Also, use a new var `reg' of type size_t when looping through regs
97598         rather than reuse the inappropriate `mcnt'.
97599
97600 2000-10-25  Jim Meyering  <meyering@lucent.com>
97601
97602         * lib/obstack.c: Update from libc.
97603
97604 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
97605
97606         * regex.c (regex_compile): Change the way of handling a range from
97607         a char less than 256 to a char not less than 256.
97608
97609 2000-10-24  Andrew Innes  <andrewi@gnu.org>
97610
97611         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
97612         NT-Emacs only.
97613         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
97614         so that re_search functions only quit when callers expect them to.
97615
97616 2000-10-23  Jim Meyering  <meyering@lucent.com>
97617
97618         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
97619         wrong.  That set_locale call must not have any side effects.
97620         From Paul Eggert.
97621
97622 2000-10-22  Jim Meyering  <meyering@lucent.com>
97623
97624         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
97625         [CYCLIC]: Remove now-unused definition.
97626
97627         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
97628         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
97629         Suggestion from Ulrich Drepper.
97630
97631 2000-10-21  Jim Meyering  <meyering@lucent.com>
97632
97633         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
97634         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
97635         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
97636
97637 2000-10-21  Jim Meyering  <meyering@lucent.com>
97638
97639         * lib/dirname.c (memrchr): Declare if necessary.
97640         (dir_name): Remove the restriction that there be no
97641         trailing slashes.  Now, this code skips past them, effectively
97642         ignoring them.
97643         [TEST_DIRNAME] (main): New unit tests.
97644
97645         * lib/memrchr.c: New file from GNU libc.
97646         Undef __memrchr, too.
97647         [!weak_alias]: Define __memrchr to memrchr.
97648         Guard weak_alias use with `#ifdef weak_alias'.
97649
97650 2000-10-21  Jim Meyering  <meyering@lucent.com>
97651
97652         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
97653         (dir_name): Use dir_name_r.
97654         * lib/dirname.h (dir_name_r): Declare it.
97655
97656 2000-10-17  Jim Meyering  <meyering@lucent.com>
97657
97658         * lib/quote.h (PARAMS): Define and use.
97659         Reported by Akim Demaille.
97660
97661         * lib/getopt.c: Update from libc.
97662
97663 2000-10-16  Jim Meyering  <meyering@lucent.com>
97664
97665         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
97666         setlocale.
97667         From Jan Fedak.
97668
97669 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
97670
97671         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
97672
97673 2000-09-25  Jim Meyering  <meyering@lucent.com>
97674
97675         * lib/md5.h (rol): Define (from GnuPG).
97676
97677         * lib/sha.c: Give credit (GnuPG) where due.
97678         (M): Use rol rather than open-coding it.
97679         Add a FIXME comment.
97680
97681 2000-09-21  Jim Meyering  <meyering@lucent.com>
97682
97683         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
97684         Reported by Michael Stone.
97685
97686 2000-09-20  Jim Meyering  <meyering@lucent.com>
97687
97688         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
97689         (noinst_HEADERS): Add sha.h.
97690         Based on code from Scott G. Miller and from GnuPG.
97691
97692 2000-09-18  Jim Meyering  <meyering@lucent.com>
97693
97694         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
97695         LIBS. Otherwise, everyone ends up linking with -lelf for some
97696         configurations.
97697         Reported by Mike Stone.
97698
97699 2000-09-15  Jim Meyering  <meyering@lucent.com>
97700
97701         * lib/regex.c: Update from libc.
97702
97703 2000-09-10  Jim Meyering  <meyering@lucent.com>
97704
97705         * lib/getopt.c (_getopt_internal): Update from glibc.
97706
97707 2000-09-09  Jim Meyering  <meyering@lucent.com>
97708
97709         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
97710         think it should be used as a general replacement for isascii.
97711         * lib/fnmatch.c: Likewise.
97712         * lib/mbswidth.c: Likewise
97713         * lib/regex.c: Likewise.
97714
97715         Don't use atoi.
97716         * lib/userspec.c: Include sys/param.h and limits.h.
97717         Include xstrtol.h.
97718         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
97719         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
97720         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
97721         UID, GID.  Check range.
97722
97723 2000-09-06  Jim Meyering  <meyering@lucent.com>
97724
97725         * lib/getopt.c (_getopt_internal): Update from glibc.
97726
97727 2000-08-30  Jim Meyering  <meyering@lucent.com>
97728
97729         * lib/strftime.c: Merge in changes from GNU libc.
97730
97731 2000-08-26  Jim Meyering  <meyering@lucent.com>
97732
97733         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
97734         * m4/fpending.m4: New file.
97735
97736 2000-08-26  Jim Meyering  <meyering@lucent.com>
97737
97738         * lib/closeout.c: Include "__fpending.h".
97739         (close_stdout_status): Return right away if there's nothing to flush.
97740
97741         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
97742         * lib/__fpending.c: New file.
97743         * lib/__fpending.h: New file.
97744
97745 2000-08-20  Jim Meyering  <meyering@lucent.com>
97746
97747         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
97748         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
97749         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
97750
97751 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
97752
97753         Improve fileutils installation on systems where running
97754         programs (like install) can't be unlinked.
97755         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
97756         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
97757
97758 2000-08-07  Paul Eggert  <eggert@twinsun.com>
97759
97760         Standardize on "memory exhausted" instead of "Memory exhausted"
97761         or "virtual memory exhausted".
97762         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
97763         "virtual memory exhausted".
97764         * lib/same.c (same_name): Invoke xalloc_die instead of printing
97765         our own message.
97766         * lib/userspec.c (parse_user_spec): Likewise.
97767         * lib/bumpalloc.h: comment fix
97768         * lib/same.c, userspec.c: Include xalloc.h.
97769
97770         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
97771         not char *const and pointing to a constant array.
97772         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
97773         (xrealloc): Comment fix.
97774
97775         * lib/userspec.c (parse_user_spec):
97776         Don't translate a message until just before returning,
97777         to avoid unnecessary translation.
97778
97779 2000-08-07  Jim Meyering  <meyering@lucent.com>
97780
97781         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
97782         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
97783         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
97784         getgroups.c, gethostname.c, getopt.h, group-member.c,
97785         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
97786         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
97787         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
97788         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
97789         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
97790         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
97791         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
97792         yesno.c: Back out Copyright date changes for each file with no change
97793         this year.  This eases coordination with other programs using the same
97794         source code modules.  From Paul Eggert.
97795
97796 2000-08-06  Paul Eggert  <eggert@twinsun.com>
97797
97798         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
97799         not char, for compatibility with glibc 2.1.3 strftime.c.
97800
97801 2000-08-03  Greg McGary  <greg@mcgary.org>
97802
97803         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
97804         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
97805         (EXTEND_BUFFER): Use them.
97806
97807 2000-08-01  Jim Meyering  <meyering@lucent.com>
97808
97809         * lib/dirname.c (ISSLASH): Define.
97810         (BACKSLASH_IS_PATH_SEPARATOR): Define.
97811         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
97812         both `\' and `/' may be use as path separators.
97813         Based on a patch from Prashant TR.
97814
97815 2000-07-31  Paul Eggert  <eggert@twinsun.com>
97816
97817         * lib/quotearg.c (quotearg_n_options): Don't make the initial
97818         slot vector a constant, since it might get modified.
97819
97820 2000-07-31  Jim Meyering  <meyering@lucent.com>
97821
97822         * lib/xmalloc.c: Use `virtual memory exhausted', not
97823         `Memory exhausted'.
97824         * lib/obstack.c (print_and_abort): Likewise.
97825
97826 2000-07-30  Paul Eggert  <eggert@twinsun.com>
97827
97828         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
97829         buffer, so that the caller can always quote one small
97830         component of a "memory exhausted" message in slot 0.
97831         From a suggestion by Jim Meyering.
97832
97833 2000-07-30  Jim Meyering  <meyering@lucent.com>
97834
97835         * lib/makepath.c (make_path): Quote the other instance, too.
97836
97837         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
97838         (STATIC_BUF_SIZE): Define.
97839         (quotearg_n_options): Use only statically allocated storage when
97840         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
97841         than STATIC_BUF_SIZE.
97842
97843 2000-07-29  Jim Meyering  <meyering@lucent.com>
97844
97845         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
97846         * lib/dirname.c (dir_name): Likewise.
97847
97848         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
97849         `/'.
97850
97851         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
97852         (dir_name): Assert that there are no trailing slashes.
97853
97854 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
97855
97856         * lib/mbswidth.h (mbswidth): Add a flags argument.
97857         (mbswidth): New declaration.
97858         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
97859         * lib/mbswidth.c (mbswidth): Add a flags argument.
97860         (mbsnwidth): New function.
97861
97862 2000-07-24  Jim Meyering  <meyering@lucent.com>
97863
97864         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
97865
97866 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97867
97868         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
97869
97870 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97871
97872         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
97873         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
97874         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
97875         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
97876         invoke multibyte primitives.
97877
97878 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97879
97880         * lib/quotearg.c:
97881         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
97882         so that mbstate_t is always defined.
97883
97884         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
97885         be 1 in at least one GCC installation, and this configuration
97886         error is likely to be common.  Ignoring MB_LEN_MAX hurts
97887         performance on hosts that have mbrtowc but have only unibyte
97888         locales, but I assume these hosts are rare.
97889
97890 2000-07-23  Paul Eggert  <eggert@twinsun.com>
97891
97892         * lib/mbswidth.c (_XOPEN_SOURCE):
97893         Don't define; this causes problems on Solaris 7.
97894         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
97895
97896 2000-07-23  Jim Meyering  <meyering@lucent.com>
97897
97898         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
97899         too: getgrgid, getpwuid, getuid.
97900
97901 2000-07-23  Jim Meyering  <meyering@lucent.com>
97902
97903         * lib/basename.c (base_name): Add an assertion.
97904
97905 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
97906
97907         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
97908         shadow its mbsinit function.
97909
97910 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
97911
97912         * lib/mbswidth.h: New file.
97913         * lib/mbswidth.c: New file.
97914         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
97915         (noinst_HEADERS): Add mbswidth.h.
97916
97917 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
97918
97919         * lib/config.charset: Add support for FreeBSD. Improve support for
97920         HP-UX and IRIX 6.
97921
97922 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
97923
97924         * m4/mbswidth.m4: New file.
97925         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
97926
97927 2000-07-15  Jim Meyering  <meyering@lucent.com>
97928
97929         * lib/makepath.c: Include quote.h.
97930         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
97931         corresponding argument in a `quote (...)' call.
97932         Give better diagnostics.
97933
97934         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
97935         (noinst_HEADERS): Add quote.h.
97936
97937         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
97938         from tar's src/misc.c.
97939         * lib/quote.h: New file.  Prototypes for same.
97940
97941 2000-07-14  Paul Eggert  <eggert@twinsun.com>
97942
97943         From a suggestion by Bruno Haible.
97944         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
97945         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
97946         to decide whether to define the BeOS workaround macro;
97947         this adjusts to the change to AC_MBSTATE_T.
97948
97949 2000-07-14  Jim Meyering  <meyering@lucent.com>
97950
97951         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
97952         jm_AC_TYPE_UINTMAX_T.
97953
97954 2000-07-13  Paul Eggert  <eggert@twinsun.com>
97955
97956         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
97957
97958         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
97959         quotearg_buffer_restyled): Add support for
97960         clocale_quoting_style.  Undo previous change to
97961         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
97962         and "{RIGHT QUOTATION MARK}" msgids.
97963
97964 2000-07-10  Paul Eggert  <eggert@twinsun.com>
97965
97966         From a suggestion by Bruno Haible.
97967         * m4/mbstate_t.m4 (AC_MBSTATE_T):
97968         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
97969         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
97970         and mbstate_t, to a single-part test that simply defines mbstate_t.
97971         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
97972         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
97973
97974 2000-07-10  Jim Meyering  <meyering@lucent.com>
97975
97976         * m4/strerror_r.m4: Mirror the correction made in autoconf.
97977
97978         * m4/gnu-source.m4: Output to confdefs.h directly.
97979         Suggestion from Akim Demaille.
97980
97981 2000-07-09  Paul Eggert  <eggert@twinsun.com>
97982
97983         The old behavior of quoting `like this' doesn't look good with
97984         newer, ISO-style fonts.  See:
97985         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
97986
97987         Instead, quote "like this" by default.  Let the translator
97988         tailor the locale-specific quoting behavior by providing
97989         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
97990
97991         * lib/quotearg.c (N_): New macro.
97992         (gettext_default): New function.
97993         (quotearg_buffer_restyled): Use
97994         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
97995         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
97996
97997 2000-07-09  Jim Meyering  <meyering@lucent.com>
97998
97999         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
98000         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
98001
98002         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
98003         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
98004
98005 2000-07-09  Jim Meyering  <meyering@lucent.com>
98006
98007         * lib/Most files: Update copyright dates to include 2000.
98008
98009 2000-07-08  Jim Meyering  <meyering@lucent.com>
98010
98011         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
98012         if not defined.
98013         (xgethostname): Remove now-unnecessary #ifdef.
98014         Move declaration of `err' into loop where it's used.
98015
98016 2000-07-05  Paul Eggert  <eggert@twinsun.com>
98017         and Bruno Haible  <haible@clisp.cons.org>
98018
98019         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
98020         only if the test for an object-type mbstate_t fails.  This
98021         prevents us from mistakenly reporting that mbstate_t is a
98022         system object type after we "#define mbstate_t int" to work
98023         around its lack.
98024
98025 2000-07-05  Paul Eggert  <eggert@twinsun.com>
98026         and Bruno Haible  <haible@clisp.cons.org>
98027
98028         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
98029
98030 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98031
98032         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
98033         to strerror_r.
98034         Include <ctype.h> for use of isalpha.
98035
98036 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98037
98038         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
98039         by allocating a larger buffer. Test the gethostname return value for
98040         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
98041         returns an error and ENAMETOOLONG isn't defined.
98042
98043 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98044
98045         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
98046         dimension.
98047
98048 2000-07-04  Jim Meyering  <meyering@lucent.com>
98049
98050         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
98051         of the deprecated AC_CHECKING.
98052
98053 2000-07-04  Jim Meyering  <meyering@lucent.com>
98054
98055         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
98056         Reported by Bruno Haible.
98057
98058 2000-07-04  Jim Meyering  <meyering@lucent.com>
98059
98060         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
98061         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
98062         lacks mbrtowc.
98063
98064 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98065
98066         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
98067         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
98068
98069 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98070         and Bruno Haible  <haible@clisp.cons.org>
98071
98072         * lib/quotearg.c (mbrtowc):
98073         Assign to *pwc, and return 1 only if result is nonzero.
98074         (iswprint): Use ISPRINT when substituting our own mbrtowc.
98075
98076 2000-07-03  Jim Meyering  <meyering@lucent.com>
98077
98078         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
98079
98080 2000-07-03  Jim Meyering  <meyering@lucent.com>
98081
98082         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
98083         This is necessary to get a definition of e.g., UTMP_FILE on
98084         HP-UX 10.20.
98085         From Bob Proulx.
98086
98087 2000-07-02  Jim Meyering  <meyering@lucent.com>
98088
98089         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
98090
98091         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
98092         AC_LIBOBJ(function_name).
98093         * m4/chown.m4: Likewise.
98094         * m4/fnmatch.m4: Likewise.
98095         * m4/ftruncate.m4: Likewise.
98096         * m4/getgroups.m4: Likewise.
98097         * m4/getline.m4: Likewise.
98098         * m4/group-member.m4: Likewise.
98099         * m4/jm-macros.m4: Likewise.
98100         * m4/lstat.m4: Likewise.
98101         * m4/malloc.m4: Likewise.
98102         * m4/memcmp.m4: Likewise.
98103         * m4/nanosleep.m4: Likewise.
98104         * m4/putenv.m4: Likewise.
98105         * m4/realloc.m4: Likewise.
98106         * m4/regex.m4: Likewise.
98107         * m4/stat.m4: Likewise.
98108         * m4/strftime.m4: Likewise.
98109
98110 2000-07-02  Jim Meyering  <meyering@lucent.com>
98111
98112         * lib/quotearg.c (mbstate_t): Don't define here.
98113
98114 2000-07-02  Jim Meyering  <meyering@lucent.com>
98115
98116         * lib/nanosleep.c (SIGCONT): Define if not already defined.
98117
98118 2000-07-01  Jim Meyering  <meyering@lucent.com>
98119
98120         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
98121
98122 2000-07-01  Jim Meyering  <meyering@lucent.com>
98123
98124         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
98125         problem.
98126
98127 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98128
98129         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
98130         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
98131
98132 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98133
98134         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
98135         per change in ../m4/ls-mntd-fs.m4.
98136         (read_filesystem_list): Ignore symbolic links.
98137
98138 2000-06-29  Jim Meyering  <meyering@lucent.com>
98139
98140         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
98141         for declaration of strcmp.
98142
98143         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
98144
98145         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
98146         Avoid warning by casting result to `char *' to remove `const'.
98147
98148 2000-06-28  Jim Meyering  <meyering@lucent.com>
98149
98150         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
98151         included by quotearg.c, for which we perform this test.  From
98152         Bruno Haible.
98153
98154 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98155
98156         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
98157         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
98158         <utmpx.h> exists, put readutmp.o into LIBOBJS.
98159
98160 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98161
98162         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
98163
98164 2000-06-26  Paul Eggert  <eggert@twinsun.com>
98165
98166         savedir now sets errno on failure and invokes xmalloc to get memory.
98167         Fix a couple of other minor bugs while we're at it.
98168
98169         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
98170         (NAMLEN): Remove macro.
98171         (malloc, realloc): Remove decls.
98172         (stpcpy): Likewise.
98173         ("xalloc.h"): Include.
98174         (NAME_SIZE_DEFAULT): New macro.
98175         (savedir): Use xmalloc / xrealloc to allocate memory.
98176         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
98177         Skip "" directory entries.
98178         Use strlen to calculate directory entry length, since the old method
98179         is rarely used these days and isn't worth supporting.
98180         Don't use a pointer after freeing it.
98181         Check for integer overflow when calculating allocation size.
98182         Use memcpy to copy entries, instead of stpcpy.
98183         Set errno properly when returning NULL.
98184         Check for readdir error.
98185
98186 2000-06-26  Jim Meyering  <meyering@lucent.com>
98187
98188         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
98189
98190 2000-06-25  Jim Meyering  <meyering@lucent.com>
98191
98192         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
98193         Linux header bug when _XOPEN_SOURCE is defined to 500.
98194
98195 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98196
98197         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
98198         deficiency.
98199
98200 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98201
98202         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
98203         Include xalloc.h.
98204         Don't include <stdlib.h>.  Don't declare malloc, realloc.
98205
98206 2000-06-24  Jim Meyering  <meyering@lucent.com>
98207
98208         * m4/strerror_r.m4: Revive this file -- to try out an experimental
98209         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
98210         for which strerror does return char*, but which lacks a conveniently
98211         accessible declaration of the function.  If the compile-test says
98212         strerror_r doesn't work, then resort to a `run'-test that works on
98213         BeOS and segfaults on DEC Unix.
98214
98215 2000-06-24  Jim Meyering  <meyering@lucent.com>
98216
98217         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
98218
98219 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98220
98221         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
98222         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
98223
98224 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98225
98226         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
98227         (mbrtowc, mbstate_t): Define substitutes if
98228         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
98229         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
98230         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
98231
98232 2000-06-23  Jim Meyering  <meyering@lucent.com>
98233
98234         * m4/afs.m4: Add missing AC_MSG_RESULT.
98235         Reported by Bruno Haible.
98236
98237         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
98238         Suggestion from Bruno Haible.
98239
98240 2000-06-23  Jim Meyering  <meyering@lucent.com>
98241
98242         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
98243
98244 2000-06-21  Jim Meyering  <meyering@lucent.com>
98245
98246         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
98247
98248 2000-06-21  Jim Meyering  <meyering@lucent.com>
98249
98250         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
98251         (noinst_HEADERS): Add getstr.h.
98252
98253         * lib/getline.c (getstr): Move into a separate file.
98254         * lib/getstr.c (getstr): New file, extracted from getline.c, with
98255         the following changes: new parameter, delim2; both delim[12]
98256         parameters have type `int', not `char'.  The latter would lose
98257         with 8-bit delimiters.
98258         * lib/getstr.h: New file.
98259
98260 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98261
98262         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
98263         than 1024, return a memory chunk of least possible size, instead
98264         of size PATH_MAX + 2. In the loop, increment the size proportionally.
98265         Use free/xmalloc instead of xrealloc to avoid copying for very long
98266         paths.
98267
98268 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98269
98270         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
98271         the empty string.
98272
98273 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98274
98275         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
98276         address, not strdup.  Include <stdlib.h> and don't declare free().
98277
98278 2000-06-19  Jim Meyering  <meyering@lucent.com>
98279
98280         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
98281
98282 2000-06-18  Jim Meyering  <meyering@lucent.com>
98283
98284         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
98285
98286         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
98287         `checking whether...' message to be consistent with that of the
98288         lstat test.
98289
98290 2000-06-18  Jim Meyering  <meyering@lucent.com>
98291
98292         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
98293         Besides, these days every porting target provides a mkdir function.
98294
98295         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
98296         needed. (this snippet comes from src/system.h).
98297
98298 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
98299
98300         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
98301
98302 2000-06-15  Paul Eggert  <eggert@twinsun.com>
98303
98304         * lib/human.c (adjust_value): New function.
98305         (human_readable_inexact): Apply rounding style even when
98306         printing approximate values.
98307
98308 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98309
98310         * lib/human.c (human_readable_inexact): Allow an input block
98311         size that is not a multiple of the output block size, and vice versa.
98312         Reported by Piergiorgio Sartor.
98313
98314 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98315
98316         * lib/getdate.y (get_date): Apply relative times after time
98317         zone indicator, not before.  Reported by Todd A. Jacobs.
98318
98319 2000-06-13  Jim Meyering  <meyering@lucent.com>
98320
98321         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
98322
98323         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
98324
98325 2000-06-12  Paul Eggert  <eggert@twinsun.com>
98326
98327         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
98328
98329 2000-06-12  Jim Meyering  <meyering@lucent.com>
98330
98331         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
98332         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
98333         optional argument.
98334         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
98335         the optional argument, `lib'.
98336
98337 2000-06-08  Jim Meyering  <meyering@lucent.com>
98338
98339         * m4/largefile.m4: Remove file (now that it's part of autoconf).
98340
98341 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98342
98343         Rewrite largefile configuration so that we don't need to run
98344         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
98345         AC_CANONICAL_HOST in configure.in -- jmm]
98346
98347         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
98348         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
98349         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
98350         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
98351         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
98352         All uses changed.
98353         Instead of inspecting the output of getconf, try to compile the
98354         test program without and with the macro definition.
98355         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
98356         for getconf.  Instead, check for the needed flags by compiling
98357         test programs.
98358
98359 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98360
98361         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
98362
98363 2000-06-04  Jim Meyering  <meyering@lucent.com>
98364
98365         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
98366         SunOS 4.1.4 for which gid_t is an unsigned type.
98367
98368 2000-06-03  Jim Meyering  <meyering@lucent.com>
98369
98370         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
98371         now that autoconf requires that.
98372
98373         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
98374         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
98375         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
98376
98377 2000-06-03  Jim Meyering  <meyering@lucent.com>
98378
98379         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
98380
98381 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98382
98383         * m4/glibc21.m4: New file.
98384         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
98385
98386 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98387
98388         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
98389         newer, don't install charset.alias.
98390         * lib/config.charset: Change the Linux/glibc rules so they become empty
98391         on glibc-2.1 or newer.
98392
98393 2000-06-02  Jim Meyering  <meyering@lucent.com>
98394
98395         * lib/mountlist.c: Back out last change.  Instead, do this...
98396         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
98397         me_dummy member using the same `ignore'-testing code.
98398         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
98399         fs_type strings.
98400         From Mark D. Roth.
98401
98402 2000-05-29  Jim Meyering  <meyering@lucent.com>
98403
98404         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
98405         mounts with the `ignore' attribute.  Based on a patch from
98406         Mark D. Roth.
98407
98408 2000-05-28  Jim Meyering  <meyering@lucent.com>
98409
98410         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
98411         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98412         * m4/stat.m4: Likewise.
98413         * m4/lstat.m4: Likewise.
98414         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
98415
98416         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
98417         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
98418
98419 2000-05-26  Jim Meyering  <meyering@lucent.com>
98420
98421         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
98422
98423 2000-05-24  Jim Meyering  <meyering@lucent.com>
98424
98425         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
98426         autoconf requires that.
98427         * m4/lib-check.m4: Likewise.
98428         * m4/jm-macros.m4: Likewise.
98429         * m4/strftime.m4: Likewise.
98430
98431         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
98432         AC_CHECK_DECLS, now that autoconf requires that.
98433
98434 2000-05-22  Jim Meyering  <meyering@lucent.com>
98435
98436         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98437         * m4/lstat.m4: Likewise.
98438
98439 2000-05-22  Jim Meyering  <meyering@lucent.com>
98440
98441         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
98442
98443 2000-05-20  Jim Meyering  <meyering@lucent.com>
98444
98445         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
98446         (jm_PREREQ): Use it.
98447
98448 2000-05-18  Jim Meyering  <meyering@lucent.com>
98449
98450         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
98451         back, too, since it may have been modified by allocate_entry.
98452         (hash_delete): Rewrite to use neither the assignment operator
98453         nor the comma operator in an if-expression.
98454
98455 2000-05-15  Paul Eggert  <eggert@twinsun.com>
98456
98457         * lib/closeout.c:
98458         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
98459         Remove; no longer needed.
98460         "quotearg.h": Add include.
98461         (file_name): Do not bother to explicitly initialize to NULL; it's less
98462         efficient on some hosts.
98463         (close_stdout_status): Remove test as to whether stdout was already
98464         closed; it breaks for the case "echo x | sort >&-".
98465         Quote file name colons.
98466         Do not assume that _("write error") lacks format strings.
98467
98468 2000-05-15  Jim Meyering  <meyering@lucent.com>
98469
98470         * lib/version-etc.c (version_etc_copyright): Update the copyright
98471         string used in all --version output.
98472
98473 2000-05-14  Jim Meyering  <meyering@lucent.com>
98474
98475         * lib/closeout.c (close_stdout_set_file_name): New function.
98476         (close_stdout_status): Use new file-scoped global.
98477         Return right away if fstat says the stdout file descriptor is invalid.
98478         * lib/closeout.h (close_stdout_set_file_name): Declare.
98479
98480 2000-05-10  Jim Meyering  <meyering@lucent.com>
98481
98482         * lib/closeout.c [default_exit_status]: New file-scoped variable.
98483         (close_stdout_set_status): New function.
98484         * lib/closeout.h (close_stdout_set_status): Declare.
98485
98486 2000-05-09  Jim Meyering  <meyering@lucent.com>
98487
98488         * m4/gettext.m4: Rename this...
98489         * m4/libintl.m4: ...to this.
98490
98491 2000-05-08  Jim Meyering  <meyering@lucent.com>
98492
98493         * lib/long-options.c: Don't include closeout.h.
98494         (parse_long_options): Don't call close_stdout for --version.
98495
98496 2000-05-06  Paul Eggert  <eggert@twinsun.com>
98497
98498         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
98499         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
98500         2.1.3 bug.  This avoids a clash when files like regex.c define
98501         _GNU_SOURCE.
98502
98503 2000-05-06  Jim Meyering  <meyering@lucent.com>
98504
98505         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
98506         (AC_REPLACE_FUNCS): Add strnlen.
98507
98508         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
98509         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
98510
98511         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
98512         AC_SEARCH_LIBS call for nanosleep.
98513         (LIB_NANOSLEEP): Set and AC_SUBST.
98514
98515 2000-05-06  Jim Meyering  <meyering@lucent.com>
98516
98517         * lib/strnlen.c: Undefine __strnlen and strnlen.
98518         [!weak_alias]: Define __strnlen to strnlen.
98519
98520         * lib/atexit.c: New file, from libiberty.
98521
98522 2000-05-06  Jim Meyering  <meyering@lucent.com>
98523
98524         * lib/closeout.c (close_stdout_status): Also check for errors on the
98525         stderr stream.
98526
98527 2000-05-05  Jim Meyering  <meyering@lucent.com>
98528
98529         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
98530         AC_SEARCH_LIBS call for clock_gettime.
98531         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
98532
98533         * m4/search-libs.m4: Update from autoconf.
98534
98535         su doesn't work on Solaris 2.6.
98536         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
98537         <shadow.h>.  Reported by Dragos Harabor.
98538
98539 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
98540
98541         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
98542         memcpy instead of xmalloc, xrealloc, path_concat.
98543         (locale_charset): Treat empty environment variables as absent.
98544         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
98545
98546 2000-05-04  Jim Meyering  <meyering@lucent.com>
98547
98548         * lib/getopt.c: Update from glibc.
98549         * lib/obstack.c: Likewise.
98550         * lib/obstack.h: Likewise.
98551         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
98552         file
98553
98554         * lib/regex.h: Likewise.
98555         * lib/strndup.c: Likewise.
98556         * lib/strnlen.c: New file, from glibc.
98557
98558 2000-05-03  Jim Meyering  <meyering@lucent.com>
98559
98560         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
98561
98562 2000-05-02  Paul Eggert  <eggert@twinsun.com>
98563
98564         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
98565         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
98566         compile-time test, rather than inspecting host and OS, to
98567         decide whether to define _LARGEFILE_SOURCE.
98568
98569 2000-05-01  Jim Meyering  <meyering@lucent.com>
98570
98571         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
98572
98573         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
98574         Based on a patch from Bruno Haible.
98575
98576 2000-05-01  Jim Meyering  <meyering@lucent.com>
98577
98578         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
98579
98580 2000-04-29  Jim Meyering  <meyering@lucent.com>
98581
98582         * lib/path-concat.c: Declare strdup only if it's not defined.
98583         * lib/canon-host.c: Likewise.
98584
98585 2000-04-28  Jim Meyering  <meyering@lucent.com>
98586
98587         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
98588         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
98589         is included first, then limits.h is included by locale.h by libintl.h.
98590         From John David Anglin.
98591
98592 2000-04-25  Jim Meyering  <meyering@lucent.com>
98593
98594         * lib/makepath.c (S_IRWXUGO): Define.
98595         (make_path): Always perform explicit chmod if MODE specifies any
98596         of the `special' permission bits.  Prompted by a bug report against
98597         install from Mate Wierdl and Joost van Baal.
98598
98599 2000-04-18  Jim Meyering  <meyering@lucent.com>
98600
98601         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
98602         (jm_PREREQ): Use it.
98603
98604 2000-04-18  Jim Meyering  <meyering@lucent.com>
98605
98606         * lib/README: New file.
98607
98608         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
98609         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
98610
98611 2000-04-17  Jim Meyering  <meyering@lucent.com>
98612
98613         Get it right :-)
98614         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
98615         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
98616         Suggestion from Akim Demaille.
98617
98618 2000-04-17  Jim Meyering  <meyering@lucent.com>
98619
98620         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
98621         the definition of it to rpl_strftime also defined-away the system's
98622         declaration.
98623
98624 2000-04-15  Jim Meyering  <meyering@lucent.com>
98625
98626         Use `C' to denote so-called `contiguous' files, the same way
98627         that tar does.
98628         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
98629         (ftypelet): Use S_ISCTG.
98630         From Michael Deutschmann.
98631
98632 2000-04-14  Jim Meyering  <meyering@lucent.com>
98633
98634         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
98635         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
98636         clobbered.
98637
98638 2000-04-14  Jim Meyering  <meyering@lucent.com>
98639
98640         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
98641
98642 2000-04-13  Jim Meyering  <meyering@lucent.com>
98643
98644         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
98645         AH_VERBATIM to insert required #ifndef into config.h.in.
98646         Suggestion from Akim Demaille.
98647
98648 2000-04-12  Jim Meyering  <meyering@lucent.com>
98649
98650         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
98651         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
98652         Christian Krackowizer.
98653
98654         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
98655         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
98656         (AC_SYS_LARGEFILE): Require.
98657         (AM_C_PROTOTYPES): Require.
98658
98659 2000-04-08  Jim Meyering  <meyering@lucent.com>
98660
98661         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
98662         names don't conflict.  Reported by Eli Zaretskii.
98663
98664 2000-04-07  Jim Meyering  <meyering@lucent.com>
98665
98666         * lib/putenv.c: Move inclusion of errno.h so it follows that of
98667         sys/types.h, to work around system header problems on AIX 3.2.5.
98668         From Bruno Haible.
98669
98670 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
98671
98672         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
98673         bug.  Deal with the different error behavior of Irix iconv.
98674
98675 2000-04-05  Paul Eggert  <eggert@twinsun.com>
98676
98677         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
98678         IRIX if the installer said otherwise.
98679
98680 2000-04-05  Jim Meyering  <meyering@lucent.com>
98681
98682         Portability tweaks required for ultrix4.3.
98683         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
98684         (jm_CHECK_DECLS): Add getutent to the list of functions.
98685         (_jm_DECL_HEADERS): Add utmpx.h.
98686         From John David Anglin.
98687
98688         * m4/strftime.m4: Back out the 2000-04-02 change.
98689         Instead of that change, simply undefine putenv in the test program.
98690
98691 2000-04-05  Jim Meyering  <meyering@lucent.com>
98692
98693         Portability tweaks required for ultrix4.3.
98694         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
98695         getutent.
98696         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
98697         * lib/canon-host.c: Declare strdup.
98698         * lib/path-concat.c: Likewise.
98699         From John David Anglin.
98700
98701 2000-04-04  Jim Meyering  <meyering@lucent.com>
98702
98703         Be more DOS 8.3-friendly.
98704         * lib/ref-add.sin: Renamed from ref-add.sed.in.
98705         * lib/ref-del.sin: Renamed from ref-del.sed.in.
98706         * lib/Makefile.am: Reflect renaming.
98707         Reported by Eli Zaretskii.
98708
98709         Use a temporary file name that won't clash with `charset.alias'
98710         in the DOS 8.3 name space.
98711         * lib/Makefile.am (charset_tmp): Define.
98712         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
98713         (uninstall-local): Likewise.
98714         Reported by Eli Zaretskii.
98715
98716 2000-04-03  Jim Meyering  <meyering@lucent.com>
98717
98718         * m4/gettext.m4: Fix typo in comment.
98719
98720         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
98721         textutils/configure.in).  Suggestion from Paul Eggert.
98722         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
98723
98724 2000-04-02  Paul Eggert  <eggert@twinsun.com>
98725
98726         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
98727         variable in the shell rather than using putenv, which isn't
98728         portable.  This avoids the configure-time inter-test dependency
98729         on the potentially-renamed putenv function.
98730
98731 2000-03-30  Paul Eggert  <eggert@twinsun.com>
98732
98733         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
98734         before checking struct stat.st_blksize, so that
98735         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
98736
98737 2000-03-29  Paul Eggert  <eggert@twinsun.com>
98738
98739         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
98740         since strftime.c uses HAVE_STRFTIME to decide whether to use
98741         the underlying strftime.
98742
98743 2000-03-29  Paul Eggert  <eggert@twinsun.com>
98744
98745         * lib/time/strftime.c (my_strftime): Make sure we call the system
98746         strftime, not ourselves, when invoking the underlying strftime.
98747
98748 2000-03-24  Jim Meyering  <meyering@lucent.com>
98749
98750         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
98751         (charset_alias): Define.
98752         (install-exec-local): Factor out common code.
98753         (uninstall-local): Split lines longer than 80.
98754         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
98755         (SUFFIXES): Define.
98756         (.sed.in.sed): New rule.  Don't redirect directly to $@.
98757         (CLEANFILES): Add ref-add.sed and ref-del.sed.
98758
98759 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
98760
98761         * lib/config.charset: Output a line containing "Packages using this
98762         file".
98763         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
98764         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
98765         ref-del.sed): New rules.
98766
98767 2000-03-17  Jim Meyering  <meyering@lucent.com>
98768
98769         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
98770         Otherwise, include <strings.h>
98771
98772 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
98773
98774         * lib/unicodeio.c (utf8_wctomb): New function.
98775         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
98776         format instead of in UCS-4 with platform dependent endianness.
98777
98778 2000-03-10  Jim Meyering  <meyering@lucent.com>
98779
98780         * m4/lib-check.m4: Look for getspnam in -lgen, too.
98781         From Marco Franzen.
98782
98783 2000-03-07  Paul Eggert  <eggert@twinsun.com>
98784
98785         * lib/savedir.c (savedir): Work even if directory size is
98786         negative; this can happen with some screwy NFS configurations.
98787
98788 2000-03-06  Jim Meyering  <meyering@lucent.com>
98789
98790         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
98791         if it's NULL (because we ran out of memory).  From Bruno Haible.
98792
98793 2000-03-05  Jim Meyering  <meyering@lucent.com>
98794
98795         * lib/localcharset.c ("path-concat.h"): Include.
98796         (get_charset_aliases): Use path_concat instead of ANSI string
98797         concatenation.
98798
98799         * lib/unicodeio.h (PARAMS): Define.
98800         Use it to guard prototype.
98801
98802 2000-03-04  Jim Meyering  <meyering@lucent.com>
98803
98804         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
98805         for lib/localcharset.c.
98806
98807 2000-03-04  Jim Meyering  <meyering@lucent.com>
98808
98809         * lib/Makefile.am (install-exec-local): Create $(libdir) before
98810         installing into it.
98811         (uninstall-local): Uncomment this rule so `make distcheck' works
98812         once again.
98813
98814         * lib/unicodeio.c (<errno.h>): Include it.
98815         (errno): Declare if not defined.
98816
98817         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
98818
98819         * lib/config.charset: New version, incorporating remarks from a linux
98820         i18n mailing list.  From Bruno Haible.
98821
98822 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
98823
98824         * m4/codeset.m4: New file.
98825         * m4/iconv.m4: New file.
98826         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
98827
98828 2000-03-03  Jim Meyering  <meyering@lucent.com>
98829
98830         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
98831
98832 2000-03-02  Jim Meyering  <meyering@lucent.com>
98833
98834         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
98835         the messages come out on separate lines.
98836
98837         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
98838         rather than jm_CHECK_DECLARATIONS.
98839         * m4/decl.m4: Remove now-unused file.
98840
98841         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
98842         geteuid.
98843
98844 2000-03-02  Jim Meyering  <meyering@lucent.com>
98845
98846         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
98847
98848 2000-03-01  Jim Meyering  <meyering@lucent.com>
98849
98850         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
98851         * lib/unicodeio.c: Likewise.
98852
98853 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
98854
98855         * lib/config.charset: New file.
98856         * lib/localcharset.c: New file.
98857         * lib/unicodeio.h, lib/unicodeio.c: New files.
98858         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
98859         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
98860         (noinst_HEADERS): Add unicodeio.h.
98861         (all-local, install-exec-local, charset.alias): New targets.
98862
98863 2000-02-28  Paul Eggert  <eggert@twinsun.com>
98864
98865         * lib/quotearg.c (ALERT_CHAR): New macro.
98866         (quotearg_buffer_restyled): Use it.
98867
98868 2000-02-27  Jim Meyering  <meyering@lucent.com>
98869
98870         * m4/check-decl.m4: Add getenv to the list.
98871
98872 2000-02-27  Jim Meyering  <meyering@lucent.com>
98873
98874         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
98875         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
98876
98877         * lib/backupfile.c: Guard inclusion of stdlib.h with
98878         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
98879         Declare malloc if needed.
98880
98881         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
98882         `#ifndef HAVE_DECL..'
98883         now that autoconf always defines the HAVE_DECL_ symbols.
98884         * lib/human.c: Likewise.
98885         * lib/same.c: Likewise.
98886         * lib/strtoumax.c: Likewise.
98887
98888         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
98889         declaration check was not run.
98890         * lib/hash.c: Likewise.
98891         * lib/human.c: Likewise.
98892         * lib/same.c: Likewise.
98893         * lib/strtoumax.c: Likewise.
98894
98895         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
98896         `.', then first look up the entire `.'-containing string as a login
98897         name.
98898
98899 2000-02-23  Jim Meyering  <meyering@lucent.com>
98900
98901         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
98902         in place of my hack.
98903
98904 2000-02-18  Paul Eggert  <eggert@twinsun.com>
98905
98906         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
98907         (textint): New typedef.
98908         (parser_control): Member year changed from int to textint.
98909         All uses changed.
98910         (YYSTYPE): Removed; replaced by %union with int and textint members.
98911         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
98912         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
98913         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
98914         (tSNUMBER, tUNUMBER): Now of type <textintval>.
98915         (date, number, to_year): Use width of number in digits, not its value,
98916         to determine whether it's a 2-digit year, or a 2-digit time.
98917         (yylex): Store number of digits of numeric tokens.
98918         Reported by John Kendall.
98919
98920         (parser_control): Changed from struct parser_control to typedef (for
98921         consistency).  All uses changed.
98922
98923         (tID): Removed; not used.
98924         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
98925
98926 2000-02-14  Paul Eggert  <eggert@twinsun.com>
98927
98928         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
98929         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
98930
98931 2000-02-12  Jim Meyering  <meyering@lucent.com>
98932
98933         * lib/userspec.c (ISDIGIT): Define it.
98934         (isdigit): Remove definition.
98935         (is_number): Use ISDIGIT, not isdigit.
98936         <libintl.h>: Include.
98937         (_ and N_): Define.
98938         (parse_user_spec): Mark translatable strings.
98939
98940 2000-02-10  Jim Meyering  <meyering@lucent.com>
98941
98942         With these changes, nanosleep.[ch] are finally enough like the other
98943         lib/* replacement files to compile on a few more losing systems.
98944
98945         * lib/nanosleep.h: Don't include config.h.
98946         Remove prototype from declaration of nanosleep.
98947         (PARAMS): Remove now-unneeded definition.
98948         * lib/nanosleep.c: #undef nanosleep.
98949         (rpl_nanosleep): Rename from nanosleep.
98950
98951 2000-02-10  Jim Meyering  <meyering@lucent.com>
98952
98953         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
98954         gnu_nanosleep to rpl_nanosleep.
98955
98956 2000-02-09  Jim Meyering  <meyering@lucent.com>
98957
98958         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
98959         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
98960
98961 2000-02-08  Akim Demaille  <akim@epita.fr>
98962
98963         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
98964         `[' and `]' and remove uses of `changequote'.
98965         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
98966         (AC_SYS_LARGEFILE): Likewise.
98967         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
98968         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
98969         of changequote.
98970         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
98971         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
98972         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
98973         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
98974
98975 2000-02-05  Jim Meyering  <meyering@lucent.com>
98976
98977         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
98978         Remove explicit use of AC_HEADER_TIME.  It is required by
98979         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
98980         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
98981         in autoconf whereby the expansion of the latter ended up preceding
98982         the expansion of its prerequisite, AC_HEADER_TIME.
98983         Reported by Volker Borchert.
98984
98985 2000-02-03  Jim Meyering  <meyering@lucent.com>
98986
98987         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
98988
98989 2000-02-03  Jim Meyering  <meyering@lucent.com>
98990
98991         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
98992         rather than with `#if HAVE_UTMPNAME'.
98993
98994 2000-02-02  Jim Meyering  <meyering@lucent.com>
98995
98996         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
98997         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
98998         Reported by Eli Zaretskii.
98999
99000 2000-02-01  Jim Meyering  <meyering@lucent.com>
99001
99002         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
99003
99004 2000-01-31  Jim Meyering  <meyering@lucent.com>
99005
99006         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
99007         functions.  Add the time.h and sys/time.h headers along with the
99008         AC_REQUIRE'ment of AC_HEADER_TIME.
99009
99010 2000-01-31  Jim Meyering  <meyering@lucent.com>
99011
99012         * lib/nanosleep.h (nanosleep): Guard declaration with
99013         `#if ! HAVE_DECL_NANOSLEEP'.
99014         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
99015         the declaration in that vendor's sys/timers.h.
99016         Reported by Christian Krackowizer.
99017
99018         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
99019         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
99020         (ISPRINT): Likewise.
99021         Reported by Tom Tromey.
99022
99023 2000-01-30  Jim Meyering  <meyering@lucent.com>
99024
99025         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
99026
99027         * m4/prereq.m4 (utmp_includes): Define.
99028         Check for ut_user and ut_name members in both struct utmpx
99029         and struct utmp.
99030
99031 2000-01-30  Jim Meyering  <meyering@lucent.com>
99032
99033         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
99034         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
99035         header files where only utmpx.ut_user is declared.
99036
99037         * lib/readutmp.h (UT_USER): Define.
99038
99039 2000-01-29  Jim Meyering  <meyering@lucent.com>
99040
99041         * m4/lib-check.m4: New file containing library-related checks from
99042         fileutils and sh-utils (textutils had none).
99043
99044 2000-01-28  Jim Meyering  <meyering@lucent.com>
99045
99046         * m4/perl.m4: Change format of warning message to look more like that
99047         from the missing script.  Suggestion from François Pinard.
99048
99049 2000-01-25  Jim Meyering  <meyering@lucent.com>
99050
99051         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
99052         well as time.h in the compile check.
99053         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
99054         Fix typo in cross-compiling case: s/yes/no/.
99055
99056 2000-01-23  Jim Meyering  <meyering@lucent.com>
99057
99058         * m4/jm-macros.m4: Move df-related tests here from
99059         fileutils/configure.in
99060
99061         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
99062         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
99063
99064         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
99065         s/space/ac_fsusage_space/.
99066         (jm_FILE_SYSTEM_USAGE): Take two parameters.
99067
99068         * m4/ftruncate.m4: New file (derived from part of
99069         fileutils/configure.in).
99070         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
99071         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
99072
99073         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
99074         AC_SUBST these here, rather than just in sh-util/configure.in, so
99075         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
99076         all the same.
99077         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
99078         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
99079         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
99080         (AC_SUBST(POW_LIBM)): Likewise.
99081         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
99082
99083 2000-01-23  Jim Meyering  <meyering@lucent.com>
99084
99085         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
99086         obstack.c.
99087
99088 2000-01-22  Jim Meyering  <meyering@lucent.com>
99089
99090         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
99091
99092         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
99093
99094         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
99095         configure.in
99096         (AC_CHECK_HEADERS): Likewise for sh-utils.
99097         (AC_CHECK_HEADERS): Likewise for textutils.
99098         Merge the three lists of headers.
99099
99100         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
99101         from fileutils' configure.in.
99102
99103         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
99104         code. Moved tests into their own function (_jm_DECL_HEADERS) in
99105         check-decl.m4.
99106
99107         * m4/check-decl.m4: Use #if rather than #ifdef.
99108         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
99109         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
99110         (_jm_DECL_HEADERS): Define new function.
99111         (jm_CHECK_DECLARATIONS): Require it.
99112
99113 2000-01-22  Jim Meyering  <meyering@lucent.com>
99114
99115         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
99116         [! HAVE_DECL_STRTOULL]: Declare strtoull.
99117         Required for some AIX systems.  Reported by Christian Krackowizer.
99118         [TESTING] (main): New function.
99119
99120         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
99121         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
99122         letters.
99123
99124         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
99125         iswprint.
99126
99127         * lib/strverscmp.c (ISDIGIT): Define.
99128         (strverscmp): Use ISDIGIT, not isdigit.
99129
99130 2000-01-19  Jim Meyering  <meyering@lucent.com>
99131
99132         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
99133         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
99134         defines `struct timespec' in <sys/time.h>
99135
99136         * m4/c-bs-a.m4: Remove uses of changequote altogether.
99137         Thanks to Akim for explaining.
99138
99139 2000-01-17  Paul Eggert  <eggert@twinsun.com>
99140
99141         * lib/nanosleep.c (nanosleep):
99142         Don't use SA_INTERRUPT to decide whether to call sigaction, as
99143         POSIX.1 doesn't require SA_INTERRUPT and some systems
99144         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
99145         it's been part of POSIX.1 since day 1 (in 1988).
99146
99147 2000-01-17  Jim Meyering  <meyering@lucent.com>
99148
99149         * lib/interlock: Remove unused file.  Reported by François Pinard.
99150
99151 2000-01-16  Paul Eggert  <eggert@twinsun.com>
99152
99153         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
99154         alert, backslash, formfeed, and vertical tab unnecessarily in
99155         shell quoting style.
99156
99157 2000-01-16  Jim Meyering  <meyering@lucent.com>
99158
99159         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
99160         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
99161         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
99162         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
99163
99164 2000-01-16  Jim Meyering  <meyering@lucent.com>
99165
99166         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
99167         because the latter didn't work.
99168
99169 2000-01-15  Jim Meyering  <meyering@lucent.com>
99170
99171         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
99172         (AC_REPLACE_FUNCS): Add memcpy and memset.
99173         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
99174         Add strpbrk.
99175         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
99176
99177 2000-01-12  Jim Meyering  <meyering@lucent.com>
99178
99179         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
99180         (jm_PREREQ): Use it.
99181         (jm_PREREQ_READUTMP): New macro.
99182         (jm_PREREQ): Use it.
99183
99184 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99185
99186         Quote multibyte characters correctly.
99187         * m4/c-bs-a.m4: New file.
99188         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
99189         (jm_PREREQ): Use it.
99190
99191 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99192
99193         * m4/uintmax_t.m4: Port to autoconf 2.13.
99194
99195 2000-01-08  Jim Meyering  <meyering@ascend.com>
99196
99197         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
99198         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
99199
99200 2000-01-04  Jim Meyering  <meyering@ascend.com>
99201
99202         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
99203         jm_STRUCT_DIRENT_D_TYPE.
99204         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
99205         jm_STRUCT_DIRENT_D_INO.
99206         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
99207         jm_STRUCT_UTIMBUF.
99208         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
99209         renamings.
99210         * m4/utime.m4: Likewise.
99211
99212         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
99213         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
99214
99215 2000-01-03  Paul Eggert  <eggert@twinsun.com>
99216
99217         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
99218         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
99219
99220 2000-01-02  Jim Meyering  <meyering@ascend.com>
99221
99222         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
99223         remember if this is necessary.
99224
99225 1999-12-26  Jim Meyering  <meyering@ascend.com>
99226
99227         * m4/jm-macros.m4: Use it here.
99228         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
99229
99230 1999-12-23  Jim Meyering  <meyering@ascend.com>
99231
99232         * m4/jm-macros.m4: Check for clock_gettime (moved from
99233         fileutils/configure.in)
99234         Check for gettimeofday.
99235
99236 1999-12-20  Jim Meyering  <meyering@ascend.com>
99237
99238         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
99239         autoconf-2.14a-1999-12-20.
99240
99241 1999-12-19  Jim Meyering  <meyering@ascend.com>
99242
99243         * m4/lstat-slash.m4: New file.
99244         * m4/jm-macros.m4: Use the new macro:
99245         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
99246
99247 1999-12-07  Jim Meyering  <meyering@ascend.com>
99248
99249         * m4/perl.m4: Require that File::Compare be available, too.
99250         Too many systems seem to lack it.
99251
99252         * m4/strftime.m4: Add checks for most of the cpp macros tested in
99253         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
99254
99255 1999-11-18  Paul Eggert  <eggert@twinsun.com>
99256
99257         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
99258         problem with the QNX 4.25 shell, which doesn't propagate exit
99259         status of failed commands inside shell assignments.
99260
99261 1999-11-17  Jim Meyering  <meyering@ascend.com>
99262
99263         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
99264
99265 1999-11-07  Jim Meyering  <meyering@ascend.com>
99266
99267         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
99268
99269 1999-11-06  Jim Meyering  <meyering@ascend.com>
99270
99271         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
99272         * m4/jm-macros.m4 (jm_MACROS): Use it here.
99273
99274 1999-11-05  Jim Meyering  <meyering@ascend.com>
99275
99276         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
99277         configure.in of textutils, fileutils, and sh-utils into this one
99278         (shared between those packages) file.
99279         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
99280         AC_STRUCT_ST_BLKSIZE.
99281
99282 1999-11-03  Jim Meyering  <meyering@ascend.com>
99283
99284         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
99285         of AC_CHECK_TYPE checks includes unistd.h.
99286         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
99287         Suggestion from Akim Demaille.
99288
99289 1999-10-30  Jim Meyering  <meyering@ascend.com>
99290
99291         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
99292         m4-quoted string.
99293         * m4/ls-mntd-fs.m4: Likewise.
99294         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
99295         * m4/jm-winsz1.m4: Likewise.
99296
99297         * m4/const.m4: Remove file, since the fix made it into the experimental
99298         version of autoconf.
99299         * m4/mktime.m4: Likewise.
99300
99301         * m4/check-type.m4: Remove file, now that the latest version of
99302         AC_CHECK_TYPE takes a third arg to specify additional #includes.
99303
99304         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
99305         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
99306         AC_CHECK_TYPE.
99307
99308 1999-10-04  Jim Meyering  <meyering@ascend.com>
99309
99310         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
99311
99312 1999-09-22  Paul Eggert  <eggert@twinsun.com>
99313
99314         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
99315         2.95.1 bug with HP-UX 10.20.
99316
99317 1999-09-17  Jim Meyering  <meyering@ascend.com>
99318
99319         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
99320         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
99321         due to missing strdup (against sh-utils-2.0).
99322
99323 1999-08-29  Jim Meyering  <meyering@ascend.com>
99324
99325         * m4/jm-macros.m4: Require jm_BISON.
99326         * m4/bison.m4: New file.
99327
99328 1999-08-17  Paul Eggert  <eggert@twinsun.com>
99329
99330         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
99331         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
99332
99333 1999-08-05  Jim Meyering  <meyering@ascend.com>
99334
99335         * m4/getline.m4: Rename test file from conftestdata to conftest.data
99336         to avoid conflicts with `conftest' on 8+3 filesystems.
99337         Suggestion from Eli Zaretskii.
99338
99339 1999-08-04  Jim Meyering  <meyering@ascend.com>
99340
99341         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
99342         fileutils and sh-utils (textutils's getline test was inadequate).
99343         (AM_FUNC_GETLINE): Run this test.
99344         (AC_CHECK_FUNCS): Check for getdelim.
99345         Reported by Bob Proulx.
99346
99347 1999-08-02  Jim Meyering  <meyering@ascend.com>
99348
99349         * m4/jm-macros.m4: Add a comment.
99350
99351 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99352
99353         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
99354         <inttypes.h> defines strtoumax as a macro (and not as a
99355         function).
99356
99357 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99358
99359         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
99360         that we can shift, multiply and divide unsigned long long
99361         values; Ultrix cc can't do it.
99362
99363 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99364
99365         * m4/mktime.m4: New file, which is a preview of what should appear
99366         in the next public autoconf release.
99367
99368 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99369
99370         * m4/lfs.m4: Remove this file.
99371         * m4/largefile.m4: New file.  It contains the old contents of
99372         lfs.m4, except that all names with prefix AC_LFS have been
99373         changed to use the prefix AC_SYS_LARGEFILE instead, to be
99374         compatible with future autoconf versions.  Also, some minor m4
99375         quoting problems have been fixed.
99376
99377 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99378
99379         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
99380         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
99381         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
99382         and simplify the shell code.
99383
99384 1999-08-01  Jim Meyering  <meyering@ascend.com>
99385
99386         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
99387         m4.
99388
99389 1999-07-20  Jim Meyering  <meyering@ascend.com>
99390
99391         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
99392
99393 1999-07-15  Jim Meyering  <meyering@ascend.com>
99394
99395         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
99396
99397 1999-05-22  Jim Meyering  <meyering@ascend.com>
99398
99399         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
99400
99401 1999-05-20  Jim Meyering  <meyering@ascend.com>
99402
99403         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
99404         Add a colon after each `then' in case $4 is empty.
99405
99406 1999-05-16  Jim Meyering  <meyering@ascend.com>
99407
99408         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
99409
99410 1999-05-10  Jim Meyering  <meyering@ascend.com>
99411
99412         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
99413
99414         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
99415         AC_FUNC_MKTIME.
99416
99417 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
99418
99419         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
99420
99421 1999-05-04  Paul Eggert  <eggert@twinsun.com>
99422
99423         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
99424         not CPPFLAGS, so that linking works correctly in IRIX.
99425
99426 1999-04-30  Paul Eggert  <eggert@twinsun.com>
99427
99428         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
99429
99430 1999-04-20  Paul Eggert  <eggert@twinsun.com>
99431
99432         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
99433         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
99434         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
99435         jm_AC_TYPE_UNSIGNED_LONG_LONG.
99436         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
99437
99438         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
99439
99440 1999-04-20  Jim Meyering  <meyering@ascend.com>
99441
99442         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
99443         AC_REPLACE xstroull if necessary.  From Paul Eggert.
99444         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
99445
99446 1999-04-18  Jim Meyering  <meyering@ascend.com>
99447
99448         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
99449         * m4/jm-macros.m4: Use it.
99450
99451 1999-04-06  Jim Meyering  <meyering@ascend.com>
99452
99453         * m4/strftime.m4: Remove test for %f.
99454
99455 1999-03-29  Jim Meyering  <meyering@ascend.com>
99456
99457         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
99458         superset of the AC_TYPE_* checks in the textutils, fileutils,
99459         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
99460         AC_TYPE_PID_T.
99461
99462 1999-03-28  Jim Meyering  <meyering@ascend.com>
99463
99464         * m4/jm-macros.m4: Define GNU_PACKAGE here.
99465         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
99466         replaced e.g., in the *.sh files of the sh-utils.
99467
99468 1999-03-20  Jim Meyering  <meyering@ascend.com>
99469
99470         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
99471         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
99472         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
99473
99474 1999-03-19  Jim Meyering  <meyering@ascend.com>
99475
99476         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
99477
99478 1999-03-12  Jim Meyering  <meyering@ascend.com>
99479
99480         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
99481
99482 1999-03-07  Jim Meyering  <meyering@ascend.com>
99483
99484         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
99485         declared.
99486
99487 1999-02-17  Jim Meyering  <meyering@ascend.com>
99488
99489         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
99490         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
99491
99492 1999-02-07  Jim Meyering  <meyering@ascend.com>
99493
99494         * m4/group-member.m4: New file -- extracted from sh-utils'
99495         configure.in.
99496
99497         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
99498         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
99499
99500 1999-02-06  Jim Meyering  <meyering@ascend.com>
99501
99502         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
99503         * m4/fnmatch.m4: Likewise.
99504         * m4/getgroups.m4: Likewise.
99505         * m4/lstat.m4: Likewise.
99506         * m4/malloc.m4: Likewise.
99507         * m4/putenv.m4: Likewise.
99508         * m4/realloc.m4: Likewise.
99509         * m4/regex.m4: Likewise.
99510         * m4/stat.m4: Likewise.
99511         * m4/strftime.m4: Likewise.
99512         Suggestion from Alain Magloire.
99513
99514         * m4/chown.m4: Use `.$ac_objext', not `.o'.
99515         * m4/fnmatch.m4: Likewise.
99516         * m4/getgroups.m4: Likewise.
99517         * m4/getline.m4: Likewise.
99518         * m4/lstat.m4: Likewise.
99519         * m4/malloc.m4: Likewise.
99520         * m4/memcmp.m4: Likewise.
99521         * m4/putenv.m4: Likewise.
99522         * m4/realloc.m4: Likewise.
99523         * m4/regex.m4: Likewise.
99524         * m4/stat.m4: Likewise.
99525         * m4/strftime.m4: Likewise.
99526         Suggestion from Alain Magloire.
99527
99528         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
99529         an argument.
99530
99531         * m4/regex.m4: Add a run-time Test for proper operation of
99532         re_compile_pattern.
99533
99534 1999-01-31  Jim Meyering  <meyering@ascend.com>
99535
99536         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
99537
99538 1999-01-30  Jim Meyering  <meyering@ascend.com>
99539
99540         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
99541
99542         * m4/jm-mktime.m4: Make this a wrapper around the official
99543         AM_FUNC_MKTIME rather than my private copy, now that the official one
99544         is up to date.
99545         * m4/mktime.m4: Remove file.
99546
99547         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
99548         * m4/uptime.m4: Likewise.
99549         * m4/uintmax_t.m4: Likewise.
99550
99551 1999-01-28  Jim Meyering  <meyering@ascend.com>
99552
99553         * m4/jm-macros.m4: Use jm_AFS.
99554         * m4/afs.m4: New file (from fileutils' configure.in).
99555
99556         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
99557         * m4/chown.m4: Likewise.
99558         * m4/d-ino.m4: Likewise.
99559         * m4/d-type.m4: Likewise.
99560         * m4/fnmatch.m4: Likewise.
99561         * m4/getgroups.m4: Likewise.
99562         * m4/gettext.m4: Likewise.
99563         * m4/jm-mktime.m4: Likewise.
99564         * m4/jm-winsz2.m4: Likewise.
99565         * m4/lcmessage.m4: Likewise.
99566         * m4/ls-mntd-fs.m4: Likewise.
99567         * m4/malloc.m4: Likewise.
99568         * m4/memcmp.m4: Likewise.
99569         * m4/putenv.m4: Likewise.
99570         * m4/realloc.m4: Likewise.
99571         * m4/st_mtim.m4: Likewise.
99572         * m4/strftime.m4: Likewise.
99573
99574 1999-01-16  Jim Meyering  <meyering@ascend.com>
99575
99576         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
99577         (ARGMATCH_DIE_DECL): Define.
99578
99579 1999-01-12  Jim Meyering  <meyering@ascend.com>
99580
99581         * m4/Makefile.am.in: Rewrite to avoid using fmt.
99582         Reported by Lars Hecking.
99583
99584 1999-01-10  Jim Meyering  <meyering@ascend.com>
99585
99586         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
99587         gross kludge.
99588         * m4/inttypes_h.m4: Likewise.
99589         * m4/lstat.m4: Likewise.
99590         * m4/malloc.m4: Likewise.
99591         * m4/readdir.m4: Likewise.
99592         * m4/realloc.m4: Likewise.
99593         * m4/st_dm_mode.m4: Likewise.
99594         * m4/stat.m4: Likewise.
99595         * m4/utimbuf.m4: Likewise.
99596         * m4/utimes.m4: Likewise.
99597
99598         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
99599         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
99600         comments in config.h.in are meaningful.
99601
99602         * m4/jm-macros.m4: Require autoconf-2.13 here.
99603
99604         * m4/regex.m4: By default, don't use the included regex.c on systems
99605         with glibc 2.  Suggestion from Uli Drepper.
99606
99607 1999-01-02  Jim Meyering  <meyering@ascend.com>
99608
99609         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
99610
99611 1998-12-18  Jim Meyering  <meyering@ascend.com>
99612
99613         * m4/Makefile.am.in (Makefile.am): Simplify rule.
99614         Based on a suggestion from Lars Hecking.
99615
99616 1998-11-16  Paul Eggert  <eggert@twinsun.com>
99617
99618         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
99619
99620 1998-11-16  Jim Meyering  <meyering@ascend.com>
99621
99622         * m4/lfs.m4: Double-quote the `uname...` expression.
99623
99624 1998-11-14  Jim Meyering  <meyering@ascend.com>
99625
99626         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
99627         * m4/stat.m4: Likewise.
99628
99629 1998-11-03  Jim Meyering  <meyering@ascend.com>
99630
99631         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
99632         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
99633
99634 1998-10-18  Jim Meyering  <meyering@ascend.com>
99635
99636         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
99637
99638 1998-10-17  Jim Meyering  <meyering@ascend.com>
99639
99640         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
99641         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
99642         calls for those previously hard-coded headers.  Instead, take a new
99643         parameter.
99644         (jm_CHECK_DECLARATIONS): Reflect interface change.
99645         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
99646         (jm_CHECK_DECL_LOCALTIME_R): New macro.
99647
99648         * m4/mktime.m4: Test for spring-forward gap before long-running test.
99649
99650 1998-10-14  Jim Meyering  <meyering@ascend.com>
99651
99652         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
99653         instead of "TZ=America/Vancouver".  From Paul Eggert.
99654
99655 1998-10-11  Jim Meyering  <meyering@ascend.com>
99656
99657         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
99658         This adds a test for a recently added compatibility fix for mktime.c.
99659         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
99660
99661 1998-09-27  Jim Meyering  <meyering@ascend.com>
99662
99663         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
99664
99665         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
99666         ../configure.in, including a change from Gordon Matzigkeit to allow
99667         cross-compiling for the Hurd.
99668
99669         * m4/glibc.m4: New file/macro to test for the GNU C Library
99670         versions 1 and 2.  From Gordon Matzigkeit.
99671         Indent.
99672
99673 1998-09-21  Jim Meyering  <meyering@ascend.com>
99674
99675         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
99676
99677 1998-08-18  Paul Eggert  <eggert@twinsun.com>
99678
99679         Port nanosecond-resolution times to UnixWare 2.1.2 and
99680         pedantic Solaris 2.6.
99681
99682         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
99683         AC_STRUCT_ST_MTIM.
99684         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
99685         Generate name of ns member, instead of just 1 or undef.
99686         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
99687
99688 1998-08-15  Jim Meyering  <meyering@ascend.com>
99689
99690         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
99691         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
99692         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
99693         instead of jm_TYPE_SSIZE_T.
99694
99695 1998-08-12  Jim Meyering  <meyering@ascend.com>
99696
99697         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
99698
99699 1998-08-02  Jim Meyering  <meyering@ascend.com>
99700
99701         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
99702         in acconfig.h manually.
99703
99704 1998-07-31  Paul Eggert  <eggert@twinsun.com>
99705
99706         * m4/st_mtim.m4: New file.
99707
99708 1998-07-28  Jim Meyering  <meyering@ascend.com>
99709
99710         * m4/utimes.m4: Undef stat.
99711
99712 1998-07-25  Jim Meyering  <meyering@ascend.com>
99713
99714         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
99715         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
99716
99717 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
99718
99719         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
99720         uid and gid actually remain unchanged.
99721
99722 1998-07-07  Jim Meyering  <meyering@ascend.com>
99723
99724         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
99725
99726 1998-07-04  Jim Meyering  <meyering@ascend.com>
99727
99728         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
99729         to prove that this macro can be used in packages without regex.c.
99730
99731 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
99732
99733         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
99734         is to be used.
99735
99736 1998-07-03  Jim Meyering  <meyering@ascend.com>
99737
99738         * m4/gettext.m4: Add -lintl if it's found to be necessary.
99739
99740         * m4/gettext.m4: New file -- from gettext-0.10.35.
99741         * m4/lcmessage.m4: Likewise.
99742         * m4/progtest.m4: Likewise.
99743
99744         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
99745         * m4/jm-macros.m4: Require the new macro.
99746
99747 1998-06-29  Jim Meyering  <meyering@ascend.com>
99748
99749         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
99750         for the definition of NGROUPS (used in a system header included
99751         by sys/mount.h).
99752
99753 1998-06-28  Jim Meyering  <meyering@ascend.com>
99754
99755         * m4/ls-mntd-fs.m4: New file.
99756         * m4/fstypename.m4: New file.
99757
99758         * m4/jm-macros.m4: Require the new macro.
99759         * m4/jm-glibc-io.m4: New file.
99760
99761 1998-05-19  Jim Meyering  <meyering@ascend.com>
99762
99763         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
99764         * m4/lchown.m4: New file.
99765
99766         * m4/Makefile.am.in: New file.
99767         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
99768
99769 1998-05-14  Jim Meyering  <meyering@ascend.com>
99770
99771         * m4/Makefile.am (EXTRA_DIST): Add them.
99772         * m4/jm-macros.m4: New file.
99773         * m4/utimbuf.m4: New file.
99774
99775 1998-05-12  Jim Meyering  <meyering@ascend.com>
99776
99777         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
99778
99779 1998-05-11  Jim Meyering  <meyering@ascend.com>
99780
99781         * m4/isc-posix.m4: New file.
99782
99783 1998-05-10  Jim Meyering  <meyering@ascend.com>
99784
99785         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
99786
99787 1998-05-09  Jim Meyering  <meyering@ascend.com>
99788
99789         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
99790         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
99791         with automake.
99792
99793         * m4/ssize_t.m4: New file.
99794         * m4/mktime.m4: Remove file -- the new automake has this now.
99795
99796 1998-04-26  Jim Meyering  <meyering@ascend.com>
99797
99798         * m4/assert.m4: New file.
99799         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
99800
99801 1998-04-05  Jim Meyering  <meyering@ascend.com>
99802
99803         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
99804         (jm_PREREQ): Use it here.
99805
99806 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
99807
99808         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
99809         in acconfig.h.
99810
99811 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
99812
99813         * m4/prereq.m4: New file.
99814         * m4/error.m4: New file.
99815         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
99816
99817 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
99818
99819         * m4/getline.m4: Don't set am_cv_func_working_getline before the
99820         cache-check for the same variable -- that defeated the purpose of
99821         the test; the test program was never run.  This was a problem only
99822         on systems with losing getline functions -- HP-UX 10.20 is one.
99823         Reported by Bjorn Helgaas.
99824
99825 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
99826
99827         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
99828
99829 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
99830
99831         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
99832
99833         * m4/const.m4: New file.  Use an initializer in this declaration
99834         typedef int charset[2]; const charset x;
99835         Reported by Bob Glickstein.
99836
99837 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
99838
99839         * m4/chown.m4: Fix reversed types on -1 args to chown.
99840         From Kaveh Ghazi.
99841
99842 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
99843
99844         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
99845         Add lseek and memchr.
99846
99847         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
99848         T.E.Dickey <dickey@clark.net> said that some older preprocessors
99849         have a 20-character limit on names.
99850
99851 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
99852
99853         * m4/inttypes_h.m4: New file.
99854         * m4/uintmax_t.m4: New file.
99855         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
99856
99857
99858         -----
99859
99860         Local Variables:
99861         coding: utf-8
99862         End:
99863
99864         Copyright (C) 1997-2013 Free Software Foundation, Inc.
99865
99866         Copying and distribution of this file, with or without
99867         modification, are permitted provided the copyright notice
99868         and this notice are preserved.